(x_setup_relief_colors): Don't compute an image's
[bpt/emacs.git] / src / ChangeLog
CommitLineData
6637c996
JR
12002-01-05 Jason Rumney <jasonr@gnu.org>
2
3 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
4 to the left or to the right of the pointer, put it against
5 the left screen edge.
6 (x_frame_parms): Add missing braces around initializer.
7
8 * w32term.c (x_setup_relief_colors): Don't compute an image's
9 background color if it doesn't have a Pixmap.
10 (notice_overwritten_cursor): Don't depend on
11 output_cursor and updated_area. Compare pixel coordinates with
12 window's cursor pixel coordinates.
13 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
14 notice_overwritten_cursor with new arg list.
15 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
16 unconditionally.
17 (x_draw_image_relief): Use predefined macro instead of
18 constant when the value of `tool_bar_button_relief' is negative.
19
20 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
21
453c5510
RS
222002-01-04 Richard M. Stallman <rms@gnu.org>
23
24 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
25
d1d070e3
RS
262002-01-03 Richard M. Stallman <rms@gnu.org>
27
28 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
29 (Fkey_binding): Try the `keymap' property map first.
30 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
31 minor mode bindings.
32
9ec1bdb6
KS
332002-01-03 Kim F. Storm <storm@cua.dk>
34
35 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
36
308dd672
RS
372002-01-02 Richard M. Stallman <rms@gnu.org>
38
edde72f6
RS
39 * keyboard.c (read_key_sequence): Handle the keymap property
40 before minor mode maps.
41
308dd672
RS
42 * editfns.c (Fformat): Update thissize from field_width
43 based on the actual width, in the string case.
44
3c1e6b46
PJ
452002-01-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
46
03950b5b
PJ
47 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
48 when used as truth value to prevent gcc warnings.
49
3c1e6b46
PJ
50 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
51 * w32proc.c: Include <config.h>.
52
c1e11810
AS
532002-01-01 Andreas Schwab <schwab@suse.de>
54
55 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
56 not EMACS_INT, to make them compatible with DEFVAR_INT.
57 * lisp.h (max_specpdl_size): Adjust declaration.
58
1996baee
RS
592002-01-01 Richard M. Stallman <rms@gnu.org>
60
61 * print.c (print_object): Test print_escape_nonascii only for
62 unibyte strings.
63 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
64 when outputting to a multibyte buffer.
65
0065bb74
RS
662001-12-29 Richard M. Stallman <rms@gnu.org>
67
68 * print.c (print_object): In multibyte string, use hex escapes.
69 Use octal only for unibyte strings.
70 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
71
72 * lread.c (read_escape): New arg BYTEREP for reporting whether
73 escape forces unibyte or multibyte.
74 (read1): When reading a string, take note of that info.
75
b5cb6072
KR
762001-12-29 Ken Raeburn <raeburn@gnu.org>
77
78 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
79 comparison to test lisp value returned by Fget.
80
15fff01d
RS
812001-12-29 Richard M. Stallman <rms@gnu.org>
82
0065bb74
RS
83 * lisp.h (max_specpdl_size): Add declaration.
84
0d8466cc
RS
85 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
86
15fff01d
RS
87 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
88 Handle modifier bits. Correct typo in error message.
89
2fae9111
RS
902001-12-28 Richard M. Stallman <rms@gnu.org>
91
2d6c1fc0
RS
92 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
93 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
94 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
95 Update calls to Fdefine_abbrev.
96 (write_abbrev): Update for changed data format.
97 Don't list "system" abbrevs.
98 (Fexpand_abbrev): Update use count with new data format.
99 (describe_abbrev): Update for changed data format.
100 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
101
07025a55
RS
102 * config.in (HAVE_MBSINIT): Add #undef.
103
104 * strftime.c (mbsinit): Define as no-op if not available.
105
106 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
107 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
108
ce6eef6e
RS
109 * keymap.c (Flookup_key): Error message if key has wrong data type.
110 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
ade19cac
RS
111 (exclude_key): New variable.
112
539e92ad
GM
1132001-12-28 Gerd Moellmann <gerd@gnu.org>
114
0cb8bb48
GM
115 * xterm.c (x_setup_relief_colors): Don't compute an image's
116 background color if it doesn't have a Pixmap.
117
60626bab
GM
118 * xterm.c (notice_overwritten_cursor): Don't depend on
119 output_cursor and updated_area. Compare pixel coordinates with
120 window's cursor pixel coordinates.
121 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
122 notice_overwritten_cursor with new arg list.
123 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
124 unconditionally.
0cb8bb48 125
539e92ad
GM
126 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
127 height of the cursor line to the amount to scroll.
128
4e02881b
RS
1292001-12-27 Richard M. Stallman <rms@gnu.org>
130
131 * intervals.c (set_point_both): The position after an invisible,
132 intangible character is not an acceptable stopping point.
133
1ab964d7
KR
1342001-12-27 Ken Raeburn <raeburn@gnu.org>
135
136 * window.c (enlarge_window): In new preserve_before code, convert
137 CURBEG from lisp object to integer before doing arithmetic.
138
749f499f
RS
1392001-12-27 Richard M. Stallman <rms@gnu.org>
140
141 * bytecode.c (Fbyte_code): Undo previous change.
142
b5d9aaba
KS
1432001-12-26 Kim F. Storm <storm@cua.dk>
144
145 * keyboard.c (record_char): Ignore duplicate help-echo events only
146 separated by mouse-movement. When tracking mouse, only record
147 first and last mouse-movement event in same window.
148 Don't record mouse-movement events in keyboard macros.
149
d0fd26dd
RS
1502001-12-25 Richard M. Stallman <rms@gnu.org>
151
b4c45162
RS
152 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
153 (Fenlarge_window): New arg PRESERVE_BEFORE.
154
d0fd26dd
RS
155 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
156 instead of Fstring_as_unibyte.
157
c95eaa61
PJ
1582001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
159
160 The following changes remove mocklisp support:
161
162 * mocklisp.h, mocklisp.c: Files removed.
163
164 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
165 `Qmocklisp' and `Qmocklisp_arguments'.
166 Remove prototype of syms_of_mocklisp.
167
168 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
169 files.
170
171 * callint.c: Do not include mocklisp.h.
172 (Fcall_interactively): Do not test for mocklisp case.
173
174 * eval.c: Remove variables `Qmocklisp_arguments',
175 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
176 ml_apply.
177 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
178 not test for mocklisp case.
179 (Fwhile): Remove unused variable `tem'.
180 (syms_of_eval): Remove variable `moclisp-arguments'.
181
182 * data.c (wrong_type_argument): Remove mocklisp case.
183
184 * doc.c (Fdocumentation): Remove mocklisp case.
185
186 * emacs.c (main): Do not call syms_of_mocklisp.
187
31877e0a
RS
1882001-12-21 Richard M. Stallman <rms@gnu.org>
189
190 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
191 to the left or to the right of the pointer, put it against
192 the left screen edge.
193
e2c3786a
EZ
1942001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
195
196 * Makefile.in (distclean): Remove .gdbinit if we are building
197 outside the source tree.
198
c513fc03
EZ
1992001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
200
bf794306
EZ
201 * w32.c (emacs_root_dir): New function.
202
203 * msdos.c (emacs_root_dir): New function.
204
205 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
206 of the current drive as the fallback for default_directory.
207
62582985
EZ
208 * dired.c (file_name_completion): Run the elements of
209 completion-ignored-extensions through ENCODE_FILE.
210
c513fc03
EZ
211 * lisp.h (scmp): Remove prototype, since it's now a static
212 function private to dired.c.
213
3509a04c
RS
2142001-12-18 Richard M. Stallman <rms@gnu.org>
215
216 * dired.c (scmp): Function moved from minibuf.c.
217 Delete multibyte handling--used only on encoded strings.
218
219 * minibuf.c (scmp): Function moved to dired.c.
220
221 * fns.c (merge): Add QUIT call.
222
1e9a6186
DL
2232001-12-18 Dave Love <fx@gnu.org>
224
225 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
226 language/georgian.el.
227
e4e34e31
EZ
2282001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
229
230 * Makefile.in (lisp, shortlisp): Synchronize with changes to
231 lisp/Makefile.in:DONTCOMPILE.
232
4521d1fc
PJ
2332001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
234
7c75be36
PJ
235 * xdisp.c (window_box_height): Do not return negative values.
236 From Gerd Moellmann <gerd@gnu.org>.
237
4521d1fc
PJ
238 * keyboard.c (head_table): Add missing braces around initializer.
239
240 * term.c (keys): Likewise.
241
242 * xfns.c (x_frame_parms, visual_classes): Likewise.
243
93dec019
SS
2442001-12-17 Sam Steingold <sds@gnu.org>
245
246 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
247 patch (COMPOSING_P, not COMPOSING).
248
905cc05a
RS
2492001-12-17 Richard M. Stallman <rms@gnu.org>
250
2ed06289
RS
251 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
252
0e79d667
RS
253 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
254 before calling decode_coding.
255
256 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
257
258 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
259 instead of only for COMPOSITION_DISABLED.
260
82a7ab23
RS
2612001-12-16 Richard M. Stallman <rms@gnu.org>
262
d75bec6a
RS
263 * alloc.c (pure_alloc): After overflow, allocate just a small block.
264
52dcb476
RS
265 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
266
82a7ab23
RS
267 * buffer.h (struct buffer): New field `display_error_modiff'.
268 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
269
270 * window.c (Frecenter): Clear display_error_modiff field.
271
272 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
273 Call redisplay_window, but not if display_error_modiff field says no.
274 (redisplay_window_error): New function.
275 (displayed_buffer): New variable.
276 (redisplay_internal, redisplay_windows): Call the new functions
277 instead of redisplay_window directly.
278
4d0fa4f3
RS
2792001-12-15 Richard M. Stallman <rms@gnu.org>
280
281 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
282
493faf20
AI
2832001-12-14 Andrew Innes <andrewi@gnu.org>
284
325111e9
AI
285 * makefile.w32-in (EMACSLOADPATH): Define.
286 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
287 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 288
4971e491
EZ
2892001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
290
397b3b50 291 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
292 parameter have a numeric value all the time.
293
294 * w32fns.c (x_report_frame_params): Likewise.
295
d911a0fa
RS
2962001-12-12 Richard M. Stallman <rms@gnu.org>
297
298 * fileio.c (Fwrite_region): Doc fix.
299
300 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
301 (redisplay_internal): Call clear_image_cache only for window terminals.
302
201c831a
GM
3032001-12-12 Gerd Moellmann <gerd@gnu.org>
304
305 * xdisp.c (move_it_vertically_backward): Change heuristic
306 for the case that we didn't move far enough initially.
307
308 * window.c (Frecenter): Simplify computation in the case of window
309 system frames and ARG < 0; use window_box_height.
310
34e39c95
RS
3112001-12-11 Richard M. Stallman <rms@gnu.org>
312
313 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
314 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
315
d77fbc16
AI
3162001-12-11 Andrew Innes <andrewi@gnu.org>
317
318 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
319 arg is negative.
320
61e3b944
RS
3212001-12-11 Richard M. Stallman <rms@gnu.org>
322
323 * m/hp800.h: Split the __hpux conditional into the parts
324 that are right for GNU/Linux too and the parts that are not.
325 Use the former if GNU_LINUX.
326 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
327
328 * s/gnu-linux.h (GNU_LINUX): Defined.
329
70da46c3
PJ
3302001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
331
332 * macros.c, msdos.c, w16select.c: Change doc-string comments to
333 `new style' [w/`doc:' keyword].
334
8af01033
JR
3352001-12-10 Jason Rumney <jasonr@gnu.org>
336
337 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
338 before using.
339
7363986a
PJ
3402001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
341
342 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
343 keyword].
344
d9e6c4b1
EZ
3452001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
346
d20fc48a
EZ
347 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
348
d9e6c4b1
EZ
349 * s/hpux10.h (srand48): Don't undefine.
350
f1a85b89
JR
3512001-12-09 Jason Rumney <jasonr@gnu.org>
352
353 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
354 comment to explain where the struct came from.
355 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
356 (add_menu_item): Process pop-up menus first to avoid memory leak.
357 (add_menu_item, w32_menu_display_help): Use `help' field as
358 Lisp_Object.
359 (w32_free_submenu_strings): Only free owner-drawn strings.
360
3a62677f
PJ
3612001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
362
72244db2
PJ
363 * COPYING: Moved back.
364
3a62677f
PJ
365 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
366 Add parentheses around && within ||.
367
368 * indent.c (compute_motion): Likewise.
369
370 * intervals.c (merge_properties_sticky): Likewise.
371
372 * coding.c (setup_coding_system, shrink_encoding_region)
373 (Fdecode_sjis_char): Likewise.
374
9d113d9d
AS
3752001-12-07 Andreas Schwab <schwab@suse.de>
376
b8523839
AS
377 * xdisp.c (display_mode_element): Don't read past end of string if
378 it ends with '%'.
379
9464dea4
AS
380 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
381 can hold.
382
9d113d9d
AS
383 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
384 from most_positive_fixnum and most_negative_fixnum, resp., and
385 type changed to Lisp_Object.
386 (syms_of_data): DEFVAR_LISP them.
387
70ec1377
RS
3882001-12-07 Richard M. Stallman <rms@gnu.org>
389
390 * callproc.c (init_callproc): Set Vdata_directory based on the source
391 location whenever Emacs was run uninstalled.
392
92f7dd37
PE
3932001-12-06 Paul Eggert <eggert@twinsun.com>
394
395 * config.in (HAVE_WORKING_VFORK): New #undefs.
396 * process.c (create_process):
397 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
398 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
399 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
400 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
401 * m/intel386.h (HAVE_VFORK): Likewise.
402 * m/mips-siemens.h (HAVE_VFORK): Likewise.
403 * m/mips.h (HAVE_VFORK): Likewise.
404 * s/freebsd.h (vfork): Remove #define.
405 * s/lynxos.h (HAVE_VFORK): Remove #undef.
406 * s/usg5-4-2.h: Fix comment about vfork.
407
c93674bb
RS
4082001-12-06 Richard M. Stallman <rms@gnu.org>
409
410 * s/hpux10.h (random): Add undef.
411 (HAVE_RANDOM): Define it just once.
412
59b59892
SM
4132001-12-06 Stefan Monnier <monnier@cs.yale.edu>
414
415 * eval.c: Undo last change: the standard syntax is not wanted.
416
c6ea2775
EZ
4172001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
418
419 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
420 scroll bars of the frame before deleting the frame itself. If the
421 frame has a widget, delete the frame with XtDestroyWidget, and do
422 not call XDestroyWindow before that.
423
91175673
KS
4242001-12-06 Kim F. Storm <storm@cua.dk>
425
426 * xfns.c (x_report_frame_params): Return actual fringe widths.
427
428 * w32fns.c (x_report_frame_params): Return actual fringe widths.
429
e0fead5d
AI
4302001-12-05 Andrew Innes <andrewi@gnu.org>
431
432 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
433 excessively large.
434
435 * insdel.c (make_gap_larger): New function.
436 (make_gap_smaller): New function.
437 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
438 make_gap_smaller if arg is negative.
439
c186cdb3
SM
4402001-12-04 Stefan Monnier <monnier@cs.yale.edu>
441
442 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
443 Pass a dummy argument when calling interrupt_signal.
444 (parse_menu_item): Mark disabled items before checking for empty def.
445 (read_char_minibuf_menu_prompt): Make safety more visible.
446 (read_key_sequence): Add a `first_unbound' variable.
447 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
448 unbound prefix as soon as we can detect it.
449
450 * doc.c (Fsnarf_documentation): Add prototype.
451 (get_doc_string): Handle negative arguments.
452 (Fdocumentation): Use AREF and ASIZE.
453 Move the calls to get_doc_string to a single place.
454 Don't confuse an interactive-spec for a docstring reference.
455 (Fdocumentation_property): Take advantage of the fact that
456 get_doc_string now ignores the sign of the docstring position.
457
458 * eval.c: Use standard syntax for usage in docstrings.
459
58cfce98
PJ
4602001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
461
c186cdb3 462 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 463
62854fe2
PJ
4642001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
465
466 * xterm.c (x_draw_image_relief): Use predefined macro instead of
467 constant when the value of `tool_bar_button_relief' is negative.
468
656f46bb
RS
4692001-12-02 Richard M. Stallman <rms@gnu.org>
470
471 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
472 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
473
474 * fileio.c (read_non_regular): Delete Fsignal call.
475
036e218d
SM
4762001-12-01 Stefan Monnier <monnier@cs.yale.edu>
477
478 * lisp.h (run_hook_list_with_args): Undo last change.
479
7ddb2c16
GM
4802001-12-01 Gerd Moellmann <gerd@gnu.org>
481
482 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
483
ace9b298
JR
4842001-12-01 Jason Rumney <jasonr@gnu.org>
485
90647b07
JR
486 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
487
488 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
489 [!WM_MOUSELEAVE]: Define.
490
ace9b298
JR
491 * w32menu.c (current_popup_menu, get_menu_item_info):
492 (set_menu_item_info): New vars.
493 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
494 (w32_menu_show): Set current_popup_menu.
495 (add_menu_item): Allocate new strings for owner-drawn menu items
496 and help strings.
497 Use owner-draw for disabled menu items again.
498 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
499 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
500
501 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
502 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
503 <WM_EXITMENULOOP>: Free menu strings.
504 <WM_MOUSELEAVE>: Stop tracking mouse.
505 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
506
507 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
508 and mouse face.
509
a9549909 5102001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
511
512 The following changes add left-fringe and right-fringe
513 frame parameters to adjust fringe widths, or remove one or
514 both fringes.
036e218d 515
9fbc32aa
KS
516 * frame.h (struct frame): Remove trunc_area_pixel_width and
517 trunc_area_cols fields.
518 (Qleft_fringe, Qright_fringe): Declare.
519 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
520
521 * frame.c (Qleft_fringe, Qright_fringe): New vars.
522 (syms_of_frame): Initialize them.
523
524 * window.c (coordinates_in_window): Handle separate left and right
525 fringe widths.
526
527 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
528 and fringe_cols fields.
529 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
530 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
531 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
532 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
533 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
534 (x_compute_fringe_widths): Add prototype.
535
536 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
537 fill fringe evenly with small dashes.
538 (x_draw_fringe_bitmap): Clear background if necessary. Align and
539 clip the new ZV bitmap to avoid jitter between rows.
540 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
541 background. Don't draw fringe bitmaps if fringe width is zero.
542 (x_compute_fringe_widths): New function.
543 (x_new_font, x_set_window_size_1): Use it.
544
545 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
546 (x_set_frame_parameters): Process Process `font' parameter before other
547 parameters as fringe widths depend on it.
548 (x_set_fringe_width): New function.
549 (x_figure_window_size): Use x_compute_fringe_widths.
550 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
551 parameters.
552
553 * widget.c (set_frame_size): Use x_compute_fringe_widths.
554 (EmacsFrameSetCharSize): Ditto.
555
556 * w32term.h: Merged changes from xterm.h.
557 * w32term.c: Merged changes from xterm.c.
558 * w32fns.c: Merged changes from xfns.c.
559
0142178a
PJ
5602001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
561
562 * COPYING: Removed.
563
d4824a5d
DL
5642001-11-29 Dave Love <fx@gnu.org>
565
566 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
567 extra extra slot.
568 (detect_coding_mask): Fix call of detect_coding_iso2022.
569
b1356234
PJ
5702001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
571
572 * fileio.c (file-name-coding-system)
573 (default-file-name-coding-system): Doc fix (links to referenced
574 variables added).
575
3ce081f5
SM
5762001-11-28 Stefan Monnier <monnier@cs.yale.edu>
577
99e380ee
SM
578 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
579 Add dummy uses of gcproN variables.
580
3ce081f5 581 * category.c (describe_category, describe_category_1)
2ad56c09 582 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
583 (syms_of_category): Don't defsubr Sdescribe_categories.
584
66458f32
RS
5852001-11-28 Richard M. Stallman <rms@gnu.org>
586
587 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
588
589 * Makefile.in (lispdir): New variable, referring to build dir.
590 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
591
59a86c99
AI
5922001-11-28 Andrew Innes <andrewi@gnu.org>
593
594 * w32menu.c (w32_menu_display_help): Actually add the new argument
595 OWNER.
596
eb77a5f4
JR
5972001-11-28 Jason Rumney <jasonr@gnu.org>
598
599 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
600 menu items. From David Ponce <dponce@wanadoo.fr>.
601 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
602 conditionally.
603 (w32_menu_display_help): New argument OWNER. Rewritten to store a
604 help event in the owner frame's keyboard buffer.
605
606 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
607 (Fx_show_tip): Don't subtract last width from row width.
608
609 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
610 (w32_read_socket): Use EQ to compare frames.
611
bb313871
GM
6122001-11-28 Gerd Moellmann <gerd@gnu.org>
613
614 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
615 OVERLAPS_P.
616
55b43a63
PJ
6172001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
618
6052529b
PJ
619 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
620 `gcpro3' and `gcpro4'.
621
3ce081f5
SM
622 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
623
6242001-11-28 Stefan Monnier <monnier@cs.yale.edu>
625
626 * ccl.c: Use AREF and ASIZE.
627
6282001-11-27 Stefan Monnier <monnier@cs.yale.edu>
629
630 * lisp.h (run_hook_list_with_args): Remove.
631 (LIST_END_P): Fix call to wrong_type_argument.
632 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 633
111ed14e
SM
6342001-11-26 Stefan Monnier <monnier@cs.yale.edu>
635
9fabb2f5
SM
636 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
637 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
638
639 * eval.c: Use AREF and ASIZE.
640 (Ffetch_bytecode): Add the file name to the error message.
641
642 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
643 which match the end of the file-name.
644 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
645 is not a valid env var, but leave it as is instead.
646
111ed14e
SM
647 * keymap.c (access_keymap): Handle t bindings like nil bindings.
648 Make nil bindings in char-tables transparent.
649 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
650
2fa0eedf
RS
6512001-11-26 Richard M. Stallman <rms@gnu.org>
652
d1420435
RS
653 * textprop.c (set_text_properties_1): Allow START, END in either order.
654 Do nothing if range is empty.
655
2fa0eedf
RS
656 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
657
ebcbef4e
RS
658 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
659 (clean): Not here.
660
5c131048
SM
6612001-11-25 Stefan Monnier <monnier@cs.yale.edu>
662
663 * textprop.c (set_text_properties_1): Clearly mark that the
664 interval should not be empty.
665
666 * intervals.c (graft_intervals_into_buffer):
667 Don't call set_text_properties_1 on an empty interval.
668
96d276c3
RS
6692001-11-25 Richard M. Stallman <rms@gnu.org>
670
6108b49c
RS
671 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
672
96d276c3
RS
673 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
674 don't lose the data in it.
675
5eea19a4
RS
6762001-11-25 Juanma Barranquero <lektu@terra.es>
677
678 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
679
680 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
681
682 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
683
438e57dd
SM
6842001-11-25 Stefan Monnier <monnier@cs.yale.edu>
685
686 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
687
c88e5347
EZ
6882001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
689
690 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
691 Niemitalo <kon@iki.fi>.
692
59ce1461
JR
6932001-11-25 Jason Rumney <jasonr@gnu.org>
694
695 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
696
697 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
698 (Fx_show_tip): Block input during frame creation.
699 (Fx_show_tip, Fx_hide_tip): Enable.
700
8727d588
RS
7012001-11-24 Richard M. Stallman <rms@gnu.org>
702
703 * lread.c (Fload): Detect recursive load error for more than 3
704 nestings of the same file.
705 (Vrecursive_load_depth_limit): Variable deleted.
706 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
707
cc63037e
JR
7082001-11-24 Jason Rumney <jasonr@gnu.org>
709
710 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
711 mouse position if either left or top is not specified.
712
713 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
714 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
715 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
716 (my_create_tip_window): Assign tip_window.
717 (x_create_tip_frame): Use same defaults as X.
718 (compute_tip_xy): Remove unused variable. Use full screen width.
719 (Fx_show_tip): Do not double height. Call ShowWindow directly.
720
721 * w32term.c (x_after_update_window_line): Doc fix.
722 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
723 frames.
724 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
725
726 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
727 for all Windowed systems.
728
deece6f5
EZ
7292001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
730
731 * msdos.c (IT_clear_screen): If the frame's faces are not yet
732 realized, use the initial screen colors to clear the screen.
733
1b944d9c
PJ
7342001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
735
28ff4293
PJ
736 * textprop.c (Fset_text_properties): Remove unused variables
737 `unchanged', `prev_changed', `s' and `len'.
738
56167cc5
PJ
739 * search.c (Freplace_match): Remove unused variable `inslen'.
740
1b944d9c
PJ
741 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
742
ca56d953
JR
7432001-11-22 Jason Rumney <jasonr@gnu.org>
744
745 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
746 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
747 (my_create_tip_window): New function.
748 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 749 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 750
33399dce
JR
7512001-11-20 Jason Rumney <jasonr@gnu.org>
752
753 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
754 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
755
756 * w32fns.c (Vw32_system_coding_system): Remove.
757 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
758
9b46de40
SM
7592001-11-19 Stefan Monnier <monnier@cs.yale.edu>
760
6710ea06
SM
761 * fileio.c (Fwrite_region): Move choose_write_coding_system to
762 after build_annotations.
763
a395ef6a
SM
764 * syntax.c (describe_syntax): Add dummy arg.
765 (describe_syntax_1): Update call to describe_vector.
766
767 * category.c (describe_category): Add dummy arg.
768 (describe_category_1): Update call to describe_vector.
769
770 * keymap.c (Fdescribe_vector): Add `describer' parameter.
771 (describe_command, describe_translation): Add dummy second param.
772 (describe_map): Call elt_describer with two arguments.
773 (describe_vector_princ): Add `fun' parameter.
774 Call it instead of the hardcoded `princ'.
775 (describe_vector): Add arg `args'.
776 Pass it as a new second argument to elt_describer.
777
778 * keymap.h (describe_vector): Update prototype.
779
9b46de40
SM
780 * frame.c: Don't include keymap.h any more.
781 (keys_of_frame): Remove.
782
783 * lisp.h (keys_of_frame): Remove declaration.
784
785 * emacs.c (main): Don't call `keys_of_frame' any more.
786
aff37336
SS
7872001-11-14 Andreas Schwab <schwab@suse.de>
788
789 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
790 if defined, 0 otherwise.
9b46de40 791 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
792 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
793
b9937f07
RS
7942001-11-19 Richard M. Stallman <rms@gnu.org>
795
796 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
797
2cd23960
JR
7982001-11-18 Jason Rumney <jasonr@gnu.org>
799
800 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
801 (x_draw_bar_cursor): If the background color of the glyph under
802 the cursor equals the frame's cursor color, use the glyph's
803 foreground color for drawing the bar cursor.
804 (x_after_update_window_line): Clear internal border in different
805 circumstances.
806 (w32_set_vertical_scroll_bar): Check for width and height > 0.
807 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
808 (x_set_glyph_string_background_width):
809 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
810 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
811 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
812 if cursor_in_non_selected_windows is false.
9b46de40 813 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
814 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
815 Notice if cursor gets overwritten.
816 (notice_overwritten_cursor): Renamed from
817 note_overwritten_text_cursor. Rewritten to take glyph widths
818 into account, and to take X positions as parameters.
819 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
820 around call to x_draw_glyphs.
821 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
822 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
823 color to use for image glyph reliefs.
824 (x_draw_image_relief): Accept zero tool_bar_button_relief.
825 (glyph_rect): Remove unused variable `area'.
826
827 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
828 some items.
829 (x_set_internal_border_width): Set frame garbaged when window
830 doesn't exist yet.
831 (Fx_create_frame): Accept zero tool_bar_button_relief.
832 (x_clear_image_1, four_corners_best, image_background)
833 (image_background_transparent): New functions.
834 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
835 (gs_format): Add `:background' entry.
836 (lookup_image): Set IMG's background color if specified.
837 (pbm_load, xbm_load_image, png_load): Set IMG's background field
838 when appropriate.
839 (x_clear_image_1): Reset `background_valid' and
840 `background_transparent_valid' fields.
841 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
842 calculating it here. Set IMG's background_transparent field.
843 (enum xpm_keyword_index): Add XPM_BACKGROUND.
844 (enum png_keyword_index): Add PNG_BACKGROUND.
845 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
846 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
847 (enum gif_keyword_index): Add GIF_BACKGROUND.
848 (enum gs_keyword_index): Add GS_BACKGROUND.
849 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
850 Pre-calculate image background color where necessary.
9b46de40
SM
851 (x_create_x_image_and_pixmap, xbm_load, gs_load):
852 Use display info's n_cbits entry for screen depth.
2cd23960
JR
853 (Fx_show_tip): Remove unused variables `buffer', `top',
854 `left', `max_width' and `max_height'.
855
856 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
857
a4184c1c
GM
8582001-11-18 Gerd Moellmann <gerd@gnu.org>
859
860 * puresize.h (BASE_PURESIZE): Increase to 750000.
861
f6fa0866
PJ
8622001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
863
864 * frame.c (Fframe_live_p): Doc fix.
865
f4ca4b00
RS
8662001-11-18 Richard M. Stallman <rms@gnu.org>
867
868 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
869 (message_dolog_marker3): New static variables hold three markers.
870 (syms_of_xdisp): Initialize and staticpro them.
871 (message_dolog): Use message_dolog_marker1..3 instead of
872 allocating markers each time. Unchain them when done.
873
f4e25f94
RS
8742001-11-17 Richard M. Stallman <rms@gnu.org>
875
876 * doc.c (Fsnarf_documentation): Doc fix.
877
91c153e2
AS
8782001-11-17 Andreas Schwab <schwab@suse.de>
879
880 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
881
65b7d3e7
RS
8822001-11-17 Richard M. Stallman <rms@gnu.org>
883
884 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
885
6b5f6311
JR
8862001-11-17 Jason Rumney <jasonr@gnu.org>
887
888 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
889
be676094
GM
8902001-11-17 Gerd Moellmann <gerd@gnu.org>
891
892 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
893 with invalid position.
894
032a857d
RS
8952001-11-16 Richard M. Stallman <rms@gnu.org>
896
897 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
898
899 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
900 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
901 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
902
903 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
904
b6270150
SM
9052001-11-16 Stefan Monnier <monnier@cs.yale.edu>
906
907 * fileio.c (build_annotations): Split off the tail.
908 (build_annotations_2): New fun. Extracted from build_annotations.
909 (Fwrite_region): Split the call to build_annotations into two
910 calls to build_annotations and build_annotations_2.
911
792e5cbd
PJ
9122001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
913
98cbb9fa
PJ
914 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
915 clear_waiting_for_input with argument.
916
917 * xterm.h (x_update_cursor): Remove duplicated prototype.
918
b6270150 919 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 920
ea904403 921 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 922
ea904403 923 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 924
fa336b91
SM
9252001-11-16 Stefan Monnier <monnier@cs.yale.edu>
926
927 * fileio.c (choose_write_coding_system): New fun, extracted
928 from Fwrite_region.
929 (Fwrite_region): Use it.
930
931 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
932 (funcall_lambda, run_hook_with_args): Make static and add prototype.
933 (ml_apply, find_handler_clause): Add prototype.
934
077907d4
EZ
9352001-11-16 Eli Zaretskii <eliz@gnu.org>
936
aa2af83a
EZ
937 * config.in: Add #undef HAVE_COFF_H.
938
077907d4
EZ
939 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
940 Required for ISC 4.1.
941
1756e2fb
EZ
9422001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
943
944 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
945 Andrew Wiseman <a.wiseman@btclick.com>.
946
06e8f738
KS
9472001-11-16 Kim F. Storm <storm@cua.dk>
948
949 The following changes are made to clean up the various internal
950 references to the fringes to actually use the term `fringe' for
951 them. Previously, they were called `flags areas', `bitmap areas',
952 `left/right side of windows', or implicitly as `flags' or
953 `bitmaps':
954
955 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
956 Comments fixed. Use renamed symbols.
fa336b91 957
06e8f738 958 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 959
06e8f738
KS
960 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
961 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
962 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 963
06e8f738 964 * msdos.c: Comment fix.
fa336b91 965
06e8f738 966 * w32fns.c: Use renamed symbols.
fa336b91 967
06e8f738
KS
968 * w32term.c: Comment fixes. Use renamed symbols.
969 (fringe_bitmap_type): Renamed from bitmap_type.
970 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
971 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
972 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 973
06e8f738
KS
974 * w32term.h: Comment fixes. Use renamed symbols.
975 (fringes_extra): Renamed from flags_areas_extra.
976 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
977 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
978 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
979 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
980 (FRAME_X_LEFT_FRINGE_WIDTH):
981 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
982 (FRAME_X_RIGHT_FRINGE_WIDTH):
983 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
984
06e8f738 985 * widget.c: Use renamed symbols.
fa336b91 986
06e8f738
KS
987 * window.c: Comment fixes. Use renamed symbols.
988 (coordinates-in-window-p): Doc fix.
fa336b91 989
06e8f738 990 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 991
06e8f738 992 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 993
06e8f738 994 * xfns.c: Use renamed symbols.
fa336b91 995
06e8f738
KS
996 * xterm.c: Comment fixes. Use renamed symbols.
997 (fringe_bitmap_type): Renamed from bitmap_type.
998 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
999 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
1000 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
1001
1002 * xterm.h: Comment fixes. Use renamed symbols.
1003 (fringes_extra): Renamed from flags_areas_extra.
1004 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1005 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1006 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1007 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
1008 (FRAME_X_LEFT_FRINGE_WIDTH):
1009 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1010 (FRAME_X_RIGHT_FRINGE_WIDTH):
1011 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 1012
9ce647f4
JR
10132001-11-15 Jason Rumney <jasonr@gnu.org>
1014
1015 * w32menu.c (add-menu-item): Make help_echo and radio buttons
1016 work for most menu items. From David Ponce
1017 <david.ponce@wanadoo.fr>.
1018
9b784ab8
GM
10192001-11-15 Gerd Moellmann <gerd@gnu.org>
1020
9f7e52b4
GM
1021 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
1022 Some x_set_* function expect to be called even if old and new
1023 value are equal.
1024
1025 * xdisp.c (build_desired_tool_bar_string): Accept zero
1026 tool_bar_button_relief.
1027
1028 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
1029
1030 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 1031
34e5d0af
GM
1032 * xterm.c (x_draw_bar_cursor): If the background color of the
1033 glyph under the cursor equals the frame's cursor color, use
1034 the glyph's foreground color for drawing the bar cursor.
1035
9b784ab8
GM
1036 * dispnew.c (direct_output_forward_char): Fix character/byte
1037 position comparison.
1038
89512fcd
MB
10392001-11-15 Miles Bader <miles@gnu.org>
1040
1041 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
1042 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
1043 Update arguments to find_field.
1044 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
1045 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
1046 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
1047 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
1048
7d18891d
RS
10492001-11-14 Richard M. Stallman <rms@gnu.org>
1050
d2936d21
RS
1051 * editfns.c (Fpropertize): Allow call with 1 arg.
1052
7d18891d
RS
1053 * dispextern.h (image_background, image_background_transparent):
1054 Conditionalize on HAVE_X_WINDOWS.
1055
10562001-11-13 Richard M. Stallman <rms@gnu.org>
1057
1058 * print.c (Fprin1_to_string): Doc fix.
1059
1060 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
1061
1062 * floatfns.c (Fceiling, Ffloor): Doc fixes.
1063
1064 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
1065
1066 * fileio.c (Ffile_accessible_directory_p): Doc fix.
1067
1068 * eval.c (syms_of_eval): Doc fix.
1069
1070 * coding.c (syms_of_coding): Doc fix.
1071
1072 * doc.c (Fsnarf_documentation): Doc fix.
1073
1074 * dispnew.c (syms_of_display): Doc fix.
1075
1076 * category.c (Fget_unused_category): Doc fix.
1077
1078 * buffer.c (syms_of_buffer): Doc fixes.
1079
9474c847
EZ
10802001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
1081
1082 * print.c (prin1, print): Doc fix.
1083
e3059a5d
PJ
10842001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1085
2b6f3c2b 1086 * fontset.h: Remove declarations of variables
e3059a5d
PJ
1087 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
1088
1089 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
1090 `Vclip_large_size_font'.
1091
b3700ae7
JR
10922001-11-13 Jason Rumney <jasonr@gnu.org>
1093
1094 * w32fns.c: Doc fix.
1095
eae936e2
PJ
10962001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1097
4bb962be
PJ
1098 * xfaces.c (Fface_attributes_as_vector): Doc fix.
1099
0a332240
PJ
1100 * w32fns.c (Fx_synchronize): Reindent.
1101
ddb67bdc
PJ
1102 * fns.c: Doc fix.
1103
3467c402
PJ
1104 * emacs.c: Doc fix.
1105
1106 * coding.c: Doc fix.
1107
6e1b91d7
PJ
1108 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
1109 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
1110 `new style' [w/`doc:' keyword].
1111
f6e34773
PJ
1112 * xmenu.c (x-popup-menu): Reindent.
1113 (x-popup-dialog): Likewise.
1114
fa336b91 1115 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 1116
c2552f79
PJ
1117 * xdisp.c (Fdump_tool_bar_row): Reindent.
1118
94c7167b
PJ
1119 * minibuf.c (Fminibuffer_complete_word): Reindent.
1120 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 1121 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
1122 (Fminibuffer_message): Likewise.
1123
462a5e3a
PJ
1124 * fns.c (Freverse): Reindent.
1125
b8de5714
PJ
1126 * eval.c (Fif): Reindent.
1127 (Fand): Likewise.
1128
deb8e082
PJ
1129 * editfns.c (Fuser_real_login_name): Reindent.
1130 (Finsert_buffer_substring): Likewise.
1131 (Fcompare_buffer_substrings): Likewise.
1132 (Fsubst_char_in_region): Likewise.
1133
bacf09b4
PJ
1134 * dispnew.c (Fsit_for): Reindent.
1135 (Fframe_or_buffer_changed_p): Likewise.
1136 (Finternal_show_cursor_p): Likewise.
1137 (syms_of_display): Likewise.
1138
eae936e2
PJ
1139 * alloc.c (Flist): Reindent.
1140 (Fvector): Likewise.
1141
1c1d3d69
RS
11422001-11-12 Richard M. Stallman <rms@gnu.org>
1143
1144 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1145 LeaveNotify events. Only FocusIn and FocusOut do that now.
1146 (x_display_and_set_cursor): Do display hollow cursors in active
1147 minibuffer windows when they are not selected.
1148
b6f4c7ba
JR
11492001-11-12 Jason Rumney <jasonr@gnu.org>
1150
1151 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1152 * w32term.c: Change doc-string comments to `new style'.
1153 [w/`doc:' keyword]. Doc fixes.
1154
1155 * w32fns.c: Don't define max.
1156 (Fx_open_connection): Only execute once.
1157
a89f435d
PJ
11582001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1159
1160 * ccl.c: Change macros to use do-while block instead of if-else.
1161 Use braces to follow GNU Coding Standards.
1162
a4cd0cd7
RS
11632001-11-11 Richard M. Stallman <rms@gnu.org>
1164
eafb659a
RS
1165 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1166
1167 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1168
a4cd0cd7
RS
1169 * insdel.c (replace_range): Use adjust_markers_for_replace
1170 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1171
1172 * intervals.h: Declare set_text_properties and set_text_properties_1.
1173
1174 * textprop.c (set_text_properties_1): New subroutine
1175 broken out of set_text_properties.
1176 (set_text_properties): Use set_text_properties_1.
1177
1178 * intervals.c (graft_intervals_into_buffer):
1179 Use set_text_properties_1 to clear out properties.
1180
1181 * search.c (Freplace_match): Use replace_range to insert
1182 and delete. Don't request property inheritance from
1183 surrounding text.
1184
91823618
JR
11852001-11-10 Jason Rumney <jasonr@gnu.org>
1186
1187 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1188 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1189 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1190
86928dfb
GM
11912001-11-10 Gerd Moellmann <gerd@gnu.org>
1192
fa336b91 1193 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1194 instead of malloc/free.
1195
40ef1eda
PJ
11962001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1197
ab8469eb
PJ
1198 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1199 Coding Standards.
1200 (Finternal_set_lisp_face_attribute): Likewise.
1201
a78e0303
PJ
1202 * buffer.c (Fbury_buffer): Likewise.
1203
40ef1eda
PJ
1204 * indent.c (current_column_1): Remove unused variable `prev_col'.
1205
fabf4a91
PJ
1206 * coding.c (encode_coding): Use precomputed value of `src'.
1207 (encode_coding): Remove unused variable `src_end'.
1208 (code_convert_region): Remove unused variables `count'.
1209
0c99b139
JR
12102001-11-07 Jason Rumney <jasonr@gnu.org>
1211
1212 * w32term.c (x_display_and_set_cursor): Do not move system caret
1213 if cursor_glyph is NULL.
1214
830ddd77
PJ
12152001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1216
1217 * keymap.c (access_keymap): Fix compilation error.
1218
55c6d645
MB
12192001-11-07 Miles Bader <miles@gnu.org>
1220
1221 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1222
5de38842
PJ
12232001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1224
7a4564a4
PJ
1225 * intervals.c (graft_intervals_into_buffer):
1226 Remove #ifdef'd-out code.
1227 (graft_intervals_into_buffer): Remove unused variable `middle'.
1228
5de38842
PJ
1229 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1230 code (eval-current-buffer).
1231 Change doc-string comments to `new style' [w/`doc:' keyword].
1232
4fa23df5
RS
12332001-11-06 Richard M. Stallman <rms@gnu.org>
1234
1235 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1236
7a6a97d7
SM
12372001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1238
c191d13c
SM
1239 * lread.c (read1): Fix behavior with nested backquoting.
1240
7a6a97d7
SM
1241 * keyboard.c (make_lispy_event): Check integerness and fix
1242 Lisp_Object/int mixup.
1243
44dc78e0
PJ
12442001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1245
1246 * fns.c (copy_hash_table): Remove unused variable `v'.
1247
17893c65
PJ
1248 * fontset.c (fontset_font_pattern): Remove unused variable
1249 `family_registry'.
1250
4d994a79
PJ
1251 * indent.c (current_column_1): Remove unused variable `prev_col'.
1252
d5360cc7
RS
12532001-11-05 Richard M. Stallman <rms@gnu.org>
1254
1255 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1256
1257 * buffer.c (Fkill_buffer): Don't delete auto save file
1258 if buffer is modified.
1259
96238a5a
AI
12602001-11-05 Andrew Innes <andrewi@gnu.org>
1261
1262 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1263 CHECK_NUMBER_CDR.
1264
d9d54213
RS
12652001-11-05 Richard M. Stallman <rms@gnu.org>
1266
1267 * unexelf.c (unexec): Minor changes; clean up comments.
1268
b116830b
SS
12692001-11-05 Sam Steingold <sds@gnu.org>
1270
1271 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1272
3297e2a1
AS
12732001-11-05 Andreas Schwab <schwab@suse.de>
1274
1275 * sound.c (sound_perror): Save errno from being clobbered.
1276
9212319f 12772001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1278
1279 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1280 the program image directly.
1281
7dd73b78
PJ
12822001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1283
1284 * buffer.h (Fbuffer_local_value): Add prototype.
1285
982f6c7e
RS
12862001-11-04 Richard M. Stallman <rms@gnu.org>
1287
d31053f9
RS
1288 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1289 and CHECK_BUFFER.
1290
1291 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1292 (record_char): Likewise.
1293
1294 * keyboard.c (make_lispy_event): Don't insist a drag event must
1295 move to a different buffer position. Instead, check for moving at
1296 least double_click_fuzz.
1297
1298 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1299
1300 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1301
982f6c7e
RS
1302 * indent.c (current_column_1, Fmove_to_column): Separate the code
1303 for display-table glyphs from the code buffer text, to fix
1304 bugs in the former.
1305
830047fd
RS
13062001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1307
1308 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1309 (syms_of_buffer): Defsubr it.
b116830b 1310
830047fd
RS
1311 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1312 value of `cursor-in-non-selected-windows'.
1313
1314 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1315 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1316 (syms_of_xdisp): Initialize it.
b116830b 1317
2df5238c
PJ
13182001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1319
4e397688
PJ
1320 * xfns.c (Fx_create_frame): Doc fix.
1321
48b0f3ae
PJ
1322 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1323 keyword].
1324
2df5238c
PJ
1325 * eval.c (top_level_value, top_level_set): Remove commented and
1326 #ifdef'd-out code.
1327 (Fdefvar): Fix usage in doc-string.
1328
3ecaf7e5
RS
13292001-11-03 Richard M. Stallman <rms@gnu.org>
1330
1331 * xfns.c: Include unistd.h, if it exists.
1332
1333 * editfns.c: Move the include of ctype.h after unistd.h.
1334
1335 * gmalloc.c: Test BROKEN_PROTOTYPES.
1336
8db2e33b
KR
13372001-11-03 Ken Raeburn <raeburn@gnu.org>
1338
1339 * lisp.h (CHECK_STRING_CAR): New macro.
1340 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1341 treating XCAR and XCDR as lvalues.
1342 (openp): Use CHECK_STRING_CAR.
1343 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1344
aed29b97
EZ
13452001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1346
1347 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1348 (SIGMASKTYPE): Define.
aed29b97
EZ
1349
1350 * syssignal.h (sigunblock): Don't define if already defined.
1351
6cb16f95
PJ
13522001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1353
16b45be4
EZ
1354 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1355 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1356 Fix typos in comments.
1357
020f9b38
PJ
1358 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1359 and #ifdef'd-out code.
1360 Fix and reindent comments.
1361
c191d13c 1362 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1363
6cb16f95
PJ
1364 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1365 argument `i' in macros.
1366
1367 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1368 `i' in macros.
1369
16b45be4
EZ
1370 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1371 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1372 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1373 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1374 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1375 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1376 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1377 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1378 in macros.
1379
1380 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
1381 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1382 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1383 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1384 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1385 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1386 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1387 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1388 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
1389 (remove unused second argument).
1390
7e9d3c2f
SM
13912001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1392
1393 * syntax.c (describe_syntax): New wrapper.
1394 (Finternal_describe_syntax_value): Rename from describe_syntax.
1395 Don't insert space at front and \n at the end.
1396 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1397
1398 * regex.c (re_wctype): Try to fix some warnings.
1399 (regcomp, regexec): Don't forget the __restrict.
1400
e6bff182
RS
14012001-11-02 Richard M. Stallman <rms@gnu.org>
1402
1403 * textprop.c (Fget_char_property): Doc fix.
1404
9ba48103
PJ
14052001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1406
1407 * process.c (Fstart_process): Add usage to doc-string.
1408
1409 * data.c (Fsetq_default): Ditto.
1410
1411 * callint.c (Finteractive): Ditto.
1412
c22e59e1
SM
14132001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1414
1415 * macros.c: Don't include keymap.h any more.
1416
9271ed2c
RS
14172001-11-01 Richard M. Stallman <rms@gnu.org>
1418
e6bff182
RS
1419 * data.c (Fmake_local_variable): Doc fix.
1420
1421 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1422 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1423
9271ed2c
RS
1424 * keymap.c (Fdescribe_buffer_bindings): Print character property
1425 bindings along with or instead of the buffer local map.
1426 Make the overriding maps override what they should.
1427
8b8bd9c6
PJ
14282001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1429
1430 * window.c (grow_mini_window): Fix typo in comment.
1431
27188d11
GM
14322001-11-01 Gerd Moellmann <gerd@gnu.org>
1433
7b49b9d2
GM
1434 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1435 (XTset_vertical_scroll_bar): Likewise.
1436
43f7c3ea
GM
1437 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1438 instead of IMAGE_BACKGROUND.
c22e59e1 1439
b350c2e5
GM
1440 * xfns.c (four_corners_best): Reindent.
1441
c22e59e1 1442 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1443 Handle :box so that it is possible to specify sexprs.
1444
d576358b
PJ
14452001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1446
1447 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1448 (Fface_font): Ditto.
1449 (Finternal_set_alternative_font_registry_alist): Ditto.
1450 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1451
1452 * xfns.c (x-get-resource): Reindent.
1453
bf00d461
EZ
14542001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1455
1456 * s/hpux11.h: New file.
1457
4e10df59
PJ
14582001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1459
2b209b97
PJ
1460 * emacs.c (USAGE1): Show command line option --no-window-system
1461 instead of --no-windows in usage.
1462 (standard_args): Rename --no-windows to --no-window-system.
1463 (bug_reporting_address): Follow Emacs coding conventions.
1464
9dbc9081
PJ
1465 * eval.c (Fcommandp): Doc fix.
1466 Change doc-string comments to `new style' [w/`doc:' keyword].
1467
4e10df59
PJ
1468 * frame.c (Fframe_live_p): Doc fix.
1469
1470 * buffer.c (selective-display-ellipses): Doc fix.
1471
dd387b25
GM
14722001-10-31 Gerd Moellmann <gerd@gnu.org>
1473
fe957e65
GM
1474 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1475
dd387b25
GM
1476 * xfaces.c (realize_x_face): If C is not a single-byte character,
1477 set the face's colors_copied_bitwise_p instead of the defaulted_p
1478 members which have a different meaning.
1479 (free_face_colors): Do nothing for a face whose colors have been
1480 copied bitwise.
1481
c22e59e1 1482 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1483
2e1280f8
PJ
14842001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1485
687784e8
PJ
1486 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1487 [w/`doc:' keyword].
2e1280f8 1488
b9d9a9b9
GM
14892001-10-31 Gerd Moellmann <gerd@gnu.org>
1490
1491 * fns.c (require_unwind): Return Lisp_Object.
1492
48400103
PJ
14932001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1494
fa1361cb
PJ
1495 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1496 (last-input-char): Revert doc-string to be the same as the
1497 doc-string of `last-input-event'.
1498
48400103
PJ
1499 * xdisp.c: Fix typos in comments.
1500
eafa3196
GM
15012001-10-31 Gerd Moellmann <gerd@gnu.org>
1502
1503 * window.c (grow_mini_window): Handle case that the root
1504 window is already smaller than the nominal mininum height.
1505
747d3f2a
SM
15062001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1507
bf9bb76f
SM
1508 * emacs.c (main): Don't call keys_of_macros any more.
1509
1510 * lisp.h (keys_of_macros): Remove.
1511
1512 * macros.c (keys_of_macros): Remove.
1513
747d3f2a
SM
1514 * xfaces.c (Fface_attribute_relative_p): Declare args.
1515
5e905a57
JR
15162001-10-30 Jason Rumney <jasonr@gnu.org>
1517
1518 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1519 (enum_font_cb2): Ignore fonts with vertical orientation.
1520
3a426197
RS
15212001-10-30 Richard M. Stallman <rms@gnu.org>
1522
1523 * keyboard.c (Finput_pending_p): Doc fix.
1524
a742d646
GM
15252001-10-30 Gerd Moellmann <gerd@gnu.org>
1526
259cf6bc
GM
1527 * xterm.c (x_after_update_window_line): Don't run the code
1528 clearing in borders for rows whose visible height is 0.
1529
3f99f948
GM
1530 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1531 resized_p flag is set. If not set, use the much less flickering
1532 method previously used.
1533
1534 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1535
1536 * frame.h (struct frame) <resized_p>: New member.
1537
b4a3be43
GM
1538 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1539 as large as the number of bytes to convert.
747d3f2a 1540
a742d646
GM
1541 * lread.c (to_multibyte): New function.
1542 (read1): Use it.
1543
cacbb9e9
EZ
15442001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1545
1546 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1547
99cb6b2f
GM
15482001-10-30 Gerd Moellmann <gerd@gnu.org>
1549
327f42ee 1550 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1551 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1552 if the row's fill_line_p is set and drawing the last glyph with
1553 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1554
99cb6b2f
GM
1555 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1556
8e8223e2
SM
15572001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1558
1559 * xmenu.c: Include coding.h and charset.h.
1560 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1561 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1562 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1563 Explicitly set wv->help. Use `TRUE' rather than `True'.
1564 (menu_help_callback): Use empty_string.
1565
1566 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1567 (Fx_popup_dialog): Explicitly init f.
1568 (w32_menu_display_help): Use empty_string.
1569
4d083a8f
RS
15702001-10-29 Richard M. Stallman <rms@gnu.org>
1571
b2304472
RS
1572 * fns.c (Frequire): Detect recursive try to require the same
1573 feature 3 or more levels deep, and get error.
1574 (require_unwind): New subroutine.
1575 (require_nesting_list): New variable.
1576 (syms_of_fns): Init and staticpro it.
1577
4d083a8f
RS
1578 * print.c (print_object): Clarify indication of insertion type.
1579
2fe41216
EZ
15802001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1581
90480000
EZ
1582 * coding.c (syms_of_coding): Document that locale-coding-system is
1583 used for decoding input on X.
1584
2fe41216
EZ
1585 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1586
74e79967
PJ
15872001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1588
1589 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1590 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1591
60ebcfe8
GM
15922001-10-29 Gerd Moellmann <gerd@gnu.org>
1593
9a7bdceb
GM
1594 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1595 use NO_CURSOR if cursor_in_non_selected_windows is false.
1596
3f08fcd2
GM
1597 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1598 the slant attribute if FRAME is t.
1599
0ccfdad2
GM
1600 * xfns.c (x_set_internal_border_width): Set frame garbaged
1601 when X window doesn't exist yet.
1602
ef253080
GM
1603 * xterm.c (x_after_update_window_line): Clear internal border
1604 in different circumstances.
b116830b 1605
60ebcfe8
GM
1606 * xterm.c (XTread_socket) <KeyPress>: Don't use
1607 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1608 <handa@etl.go.jp>.
1609
73d25f9c
EZ
16102001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1611
1612 * m/ibms390.h: New file. From Adam Thornton
1613 <athornton@sinenomine.net>.
1614
cac1daf0
GM
16152001-10-28 Gerd Moellmann <gerd@gnu.org>
1616
053b3256 1617 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1618
cac1daf0
GM
1619 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1620 a loop counter.
1621
13b1a09c
PJ
16222001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1623
186486eb
PJ
1624 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1625
4707d2d0
PJ
1626 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1627 keyword].
1628 Fix typos in comments.
b116830b 1629
d883731c
PJ
1630 * emacs.c (bug_reporting_address): New function.
1631 Use it when displaying usage message.
1632
04012254
PJ
1633 * minibuf.c (read_minibuf): Remove unused external declaration of
1634 variable `Qread_only'.
1635
13b1a09c
PJ
1636 * keymap.c (access_keymap): Remove unused variable `charset'.
1637
5bbf4378
MB
16382001-10-28 Miles Bader <miles@gnu.org>
1639
1640 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1641 Remove #ifdef'd-out code.
1642 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1643 (syms_of_xfaces): Initialize them.
1644
1ce1e4ee
JR
16452001-10-27 Jason Rumney <jasonr@gnu.org>
1646
1647 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1648 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1649 position using the system caret.
1650
1651 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1652 (w32_system_caret_height, w32_system_caret_x)
1653 (w32_system_caret_y): New variables for tracking system caret.
1654 (w32_initialize): Initialize them.
c2d53558 1655 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1656
c2d53558
SM
1657 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1658 New messages types.
1ce1e4ee
JR
1659
1660 * w32term.c (note_mouse_highlight): Clear old help_echo.
1661
4e30ce42
PJ
16622001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1663
bb4600a4
PJ
1664 * xterm.c: Fix typo in a comment.
1665
7db35a48
PJ
1666 * emacs.c: Fix typos in comments.
1667 Remove unnecessary spaces.
1668 Change doc-string comments to `new style' [w/`doc:' keyword].
1669 (USAGE2): Fix typos in usage string.
1670
a7248e4f
PJ
1671 * xterm.c: Fix typo in a comment.
1672
4e30ce42
PJ
1673 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1674 emacs.c.
1675
62725a92
GM
16762001-10-27 Gerd Moellmann <gerd@gnu.org>
1677
798dbe1f 1678 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1679 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1680 farther backward when target_y was not reached.
1681
62725a92
GM
1682 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1683 Display errno only if non-zero.
1684 (sound_warning): New function.
1685 (vox_configure): Don't treat failing to set sample rate as error.
1686 (various places): Improve error messages.
1687
d4e34d24
EZ
16882001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1689
944e6f60
EZ
1690 * fileio.c (Faccess_file): Run the argument filename through
1691 Fexpand_file_name, before using it.
1692
d4e34d24
EZ
1693 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1694 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1695
38d2af0c
GM
16962001-10-26 Gerd Moellmann <gerd@gnu.org>
1697
da80a8d5
GM
1698 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1699
38d2af0c
GM
1700 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1701 Fix clearing in the case of scroll bars on the right.
c2d53558 1702
56f508dd
EZ
17032001-10-26 Juanma Barranquero <lektu@terra.es>
1704
1705 * w32gui.h (XImage): Add a dummy typedef.
1706
fbd5ceb2
GM
17072001-10-26 Gerd Moellmann <gerd@gnu.org>
1708
c2d53558 1709 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1710
b23236fb
EZ
17112001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1712
1713 * frame.c (Fframe_parameter): Fix last change.
1714
5d991fc4
EZ
1715 * fileio.c: Revert last change (which removed old commented-out
1716 version of expand-file-name). Add a comment that explains why
1717 this old version should not be removed.
1718
879eadc3
GM
17192001-10-25 Gerd Moellmann <gerd@gnu.org>
1720
75700ff2
GM
1721 * frame.c (Fframe_parameter): Fix a bug whereby some
1722 ``artificial'' frame parameters, like `minibuffer' were not
1723 obtained by calling Fframe_parameters.
1724
dfe92a6a
GM
1725 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1726 cursor differently.
1727
879eadc3
GM
1728 * xdisp.c (move_it_vertically_backward): Compute line height
1729 differently. Add heuristic to try to be more compatible to 20.x.
1730
e1010ebe
SM
17312001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1732
d73a471b
SM
1733 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1734
d6da5a06
GM
1735 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1736 boolean.
e1010ebe 1737
f66bd220
MB
17382001-10-25 Miles Bader <miles@gnu.org>
1739
1740 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1741 BG is a pointer to a structure, not a structure.
1742 (gif_format, png_format): Add missing commas.
1743
d436d538
RS
17442001-10-24 Richard M. Stallman <rms@gnu.org>
1745
1746 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1747 (syms_of_xfaces): Defsubr it.
d436d538 1748
075c507b
PJ
17492001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1750
1751 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1752 variable `area'.
1753
d492b584
PJ
17542001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1755
c2d53558 1756 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1757
e2a57b34
MB
17582001-10-25 Miles Bader <miles@gnu.org>
1759
1760 * dispextern.h (struct image): Add `background',
1761 `background_valid', and `background_transparent' fields.
1762 (image_background, image_background_transparent): New declarations.
1763 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1764 * xfns.c (image_background, image_background_transparent)
1765 (four_corners_best): New functions.
c2d53558 1766 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1767 (gs_format): Add `:background' entry.
1768 (lookup_image): Set IMG's background color if specified.
1769 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1770 when appropriate.
1771 (x_clear_image_1): Reset `background_valid' and
1772 `background_transparent_valid' fields.
1773 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1774 calculating it here. Set IMG's background_transparent field.
1775 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1776 (enum png_keyword_index): Add PNG_BACKGROUND.
1777 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1778 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1779 (enum gif_keyword_index): Add GIF_BACKGROUND.
1780 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1781 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1782 Pre-calculate image background color where necessary.
1783 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1784 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1785 color to use for image glyph reliefs.
1786
b547b6e8
GM
17872001-10-24 Gerd Moellmann <gerd@gnu.org>
1788
d9e3b8c6
GM
1789 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1790 in full-width rows.
c2d53558 1791
b547b6e8
GM
1792 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1793 Fix clearing of area not covered by scroll bar.
1794
2beb36f9
PJ
17952001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1796
1797 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1798 and `real_start'.
c2d53558 1799 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1800 (glyph_rect): Remove unused variable `area'.
1801
76cb5e06
GM
18022001-10-24 Gerd Moellmann <gerd@gnu.org>
1803
bdbdebff 1804 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1805
1806 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1807 (row_containing_pos): Take additional argument DY.
1808 Treat rows ending in middle of char differently.
62e33982
GM
1809 (display_line): Handle tabs on window systems differently.
1810
1811 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1812 with additional argument.
1813
1814 * dispextern.h (row_containing_pos): Adjust prototype.
1815
76cb5e06
GM
1816 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1817 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1818 (try_window_id, try_window_reusing_current_matrix)
1819 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1820 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1821
996fee11
PJ
18222001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1823
c9e60620
PJ
1824 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1825 gnuemacs).
1826 (HAVE_BOXES): Fix typo in comment.
1827 (push_menu_pane): Fix typo in comment.
1828
3b552d56
PJ
1829 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1830 of `Qwhen'.
1831 (single_display_prop_string_p): Remove unused local declarations
1832 of `Qwhen' and `Qmargin'.
1833 (string_buffer_position): Remove unused variable `around'.
1834 (store_frame_title): Remove unused variable `width'.
1835
15c565ac
PJ
1836 * window.c: Don't define max.
1837 (coordinates_in_window): Remove unused variable `uy'.
1838
a8818eb9
PJ
1839 * widget.c: Don't define max.
1840
996fee11
PJ
1841 * process.c: Don't define max.
1842 (create_process): Remove unused variable `buffer'.
1843
496e1a5b
GM
18442001-10-23 Gerd Moellmann <gerd@gnu.org>
1845
c2d53558 1846 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1847
5905ae8b
EZ
18482001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1849
1850 * xfaces.c (Finternal_set_lisp_face_attribute)
1851 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1852 frame is on a windowed display.
1853
24db49fb
GM
18542001-10-23 Gerd Moellmann <gerd@gnu.org>
1855
c2d53558
SM
1856 * dispnew.c (sync_window_with_frame_matrix_rows):
1857 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1858 of marginal areas.
1859
c2d53558 1860 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1861
f0487f05
EZ
18622001-10-23 Andreas Schwab <schwab@suse.de>
1863
1864 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1865 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1866
f0a48a01
GM
18672001-10-23 Gerd Moellmann <gerd@gnu.org>
1868
c2d53558 1869 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1870 REAL_END. Notice if cursor gets overwritten.
1871 (notice_overwritten_cursor): Take X positions as parameters.
1872 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1873 around call to x_draw_glyphs.
1874
a50a10a0
PJ
18752001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1876
fc11dff0
PJ
1877 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1878 instead of C) and usage.
a50a10a0 1879
fc11dff0
PJ
1880 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1881 of C) and usage.
a50a10a0
PJ
1882
1883 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1884 `left', `max_width' and `max_height'.
1885
8738febd
GM
18862001-10-23 Gerd Moellmann <gerd@gnu.org>
1887
1888 * xdisp.c (display_line): For a tab continued to the next line,
1889 set row's ends_in_middle_of_char_p.
1890
653c329b
GM
18912001-10-22 Gerd Moellmann <gerd@gnu.org>
1892
1893 * xdisp.c (display_line): Fix computation of continuation lines
1894 width for TABs.
1895
f958c5ac
PJ
18962001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1897
7ba51063
PJ
1898 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1899 `Qlaplace'.
1900
f958c5ac
PJ
1901 * fileio.c: Remove unused code.
1902
eb360291
MB
19032001-10-22 Miles Bader <miles@gnu.org>
1904
1905 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1906 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1907 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1908
98515cf0
JR
19092001-10-21 Jason Rumney <jasonr@gnu.org>
1910
1911 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1912
93026d88
EZ
19132001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1914
1915 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1916 (Finsert_string): Avoid the multi-line string literals warning.
1917
c9a95b79
MB
19182001-10-22 Miles Bader <miles@gnu.org>
1919
1920 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1921 (Fdocumentation): Don't use it.
1922 (syms_of_doc): Don't initialize it.
1923
1924 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1925 * print.c (Fwith_output_to_temp_buffer): Likewise.
1926 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1927 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1928 (Fsave_restriction): Likewise.
c2d53558
SM
1929 * eval.c (Frun_hooks, Frun_hook_with_args)
1930 (Frun_hook_with_args_until_failure)
1931 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1932 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1933 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1934 (Funwind_protect, Fcondition_case): Likewise.
1935 * coding.c (Ffind_operation_coding_system): Likewise.
1936 * keyboard.c (Ftrack_mouse): Likewise.
1937
a3b10252
MB
19382001-10-21 Miles Bader <miles@gnu.org>
1939
c2d53558 1940 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1941 (Fmake_hash_table): Add usage: string to doc string.
1942 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1943 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1944 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1945 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1946 (Fml_prefix_argument_loop): Likewise.
1947
c6f73eec
PJ
19482001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1949
c2d53558 1950 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1951
c6f73eec
PJ
1952 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1953 style' [w/`doc:' keyword].
1954
1955 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1956 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1957 comments to `new style' [w/`doc:' keyword].
1958
3cf3436e
JR
19592001-10-21 Jason Rumney <jasonr@gnu.org>
1960
1961 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1962
c169b8f1
JR
1963 * w32term.c (remember_mouse_glyph): New function.
1964 (w32_mouse_position): Use it.
1965 (note_mouse_movement): If the mouse moved off the glyph, remember
1966 its new position.
c2d53558 1967
4fdd691b
JR
1968 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1969 (w32_display_info): Add mouse_face_overlay.
1970
c169b8f1
JR
1971 * w32term.c (notice_overwritten_cursor): Renamed from
1972 note_overwritten_text_cursor. Rewritten to take glyph widths into
1973 account.
1974 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1975 (fast_find_string_pos): New function.
1976 (fast_find_position): Return the correct vpos. Add parameter
1977 STOP. In the final row, stop before glyphs having STOP as object.
1978 Don't consider glyphs that are not from a buffer.
1979 (fast_find_position) [0]: Add a presumably more correct version
1980 for after 21.1.
1981 (expose_window_tree, expose_frame): Don't compute intersections here.
1982 (expose_window): Do it here instead.
1983 (expose_window_tree, expose_window, expose_line): Return 1 when
1984 overwriting mouse-face.
1985 (expose_window): If W is the window currently being updated, mark
1986 the frame garbaged.
1987 (expose_frame): If mouse-face was overwritten, redo it.
1988 (x_use_underline_position_properties): New variable.
1989 (syms_of_xterm): DEFVAR_BOOL it.
1990 (x_draw_glyph_string): Add comment to use it in future.
1991 (x_draw_glyph_string): Restore clipping after drawing box.
1992 Fix a computation of the underline position.
1993 (w32_get_glyph_string_clip_rect): Minor cleanup.
1994 (x_fill_stretch_glyph_string): Remove an assertion.
1995 (x_produce_glyphs): Don't convert multibyte characters
1996 to unibyte characters in unibyte buffers.
1997 (cursor_in_mouse_face_p): New function.
1998 (x_draw_stretch_glyph_string): Use it to choose a different GC
1999 when drawing a cursor within highlighted text. Don't draw
2000 background again if it has already been drawn.
2001 (x_draw_glyph_string_box): Don't draw a full-width
2002 box just because the glyph row's full_width_p flag is set.
2003 (x_draw_glyphs): Fix computation of rightmost x for
2004 full-width rows.
2005 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2006 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
2007 change bottom shadow accordingly. Some cleanup.
2008 (x_update_window_end): Handle overwritten mouse face
2009 also for tool bar windows.
2010 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2011 DRAW is DRAW_IMAGE_RAISED.
2012 (clear_mouse_face): Return 1 if text with mouse face was
2013 actually redrawn. Make the function static. Reset
2014 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
2015 optimize away highlighting if we pass over that same overlay again.
2016 (note_mouse_highlight): Call mouse_face_overlay_overlaps
2017 to detect a case where we have to highlight a different region
2018 despite not having left the currently highlighted region.
2019 Set mouse_face_overlay in the x_display_info. Avoid changing the
2020 mouse pointer shape when show_mouse_face has already done it, or
2021 there is no need. Handle mouse-face and help-echo in strings.
2022 (glyph_rect): New function.
2023 (w32_mouse_position): Use it to raise the threshold for mouse
2024 movement event generation.
2025 (w32_initialize_display_info): Initialize the x_display_info's
2026 mouse_face_overlay.
2027 (w32_set_vertical_scroll_bar): Don't clear a zero height
2028 or width area.
2029 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2030 a widget to zero height.
2031
3cf3436e 2032 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 2033 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
2034 equivalents in menu_items.
2035 (w32_menu_show): Don't overwrite an item's name with its key
2036 description in case the description is a multibyte string.
2037 (single_submenu): Some cleanup.
2038
2039 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
2040 (postprocess_image): New function.
2041 (lookup_image): Call it for all image types except PostScript.
2042 (x_kill_gs_process): Call postprocess_image.
2043 (tiff_error_handler, tiff_warning_handler): New functions.
2044 (tiff_load): Install them as handlers.
2045 (x_kill_gs_process): Recognize if someone has cleared the image
2046 cache under us.
2047 (valid_image_p): Protect better against invalid image
2048 specifications. Previous code could signal an error.
2049 (Fx_hide_tip, Fshow_tip): Doc fix.
2050 (Fv_max_tooltip_size): New variable.
2051 (syns_of_xfns): DEFVAR_LISP it.
2052 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
2053 window buffer to *tip* right after creating the frame. Set frame's
2054 window_width. Use a maximum tooltip size specified by
2055 Vx_max_tooltip_size, if that has valid contents.
2056 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2057 Make sure the tooltip is completely visible.
2058 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2059 (Fx_create_frame): Adjust the frame's height for presence
2060 of the tool bar before calling x_figure_window_size.
2061 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
2062 when the window gets smaller.
2063 (x_set_foreground_color): Set frame's cursor_pixel.
2064 (x_set_foreground_color, x_set_background_color): Cleaned up.
2065 (x_set_font): Handle case of x_new_fontset returning the same name
2066 as before, although there was a change in fontsets.
2067
386ca361
MB
20682001-10-21 Miles Bader <miles@gnu.org>
2069
c2d53558 2070 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
2071 (Flogxor): Add usage: string to doc string.
2072 * charset.c (Fstring): Likewise.
2073 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
2074 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
2075
14ff1ee0
PJ
20762001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2077
03be2694
PJ
2078 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2079
2080 * alloc.c: Reindent DEFUNs with doc: keywords.
2081
2082 * abbrev.c (Finsert_abbrev_table_description): Reindent.
2083
14ff1ee0
PJ
2084 * frame.c: Change doc-string comments to `new style' [w/`doc:'
2085 keyword].
2086
71431a0e
GM
20872001-10-20 Gerd Moellmann <gerd@gnu.org>
2088
6aa97356 2089 * (Version 21.1 released.)
71431a0e 2090
39f624fa
PJ
20912001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2092
c2d53558 2093 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
2094
2095 * xdisp.c (invisible_text_between_p): Put prototype inside #if
2096 0 because unused.
2097
2098 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
2099 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
2100 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 2101
abcce93a
MB
21022001-10-20 Miles Bader <miles@gnu.org>
2103
2104 The following changes remove the glyph_row `inverse_p' field,
2105 which is never set anymore, due to other changes:
2106
2107 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
2108 (reassert_line_highlight, change_line_highlight): Declarations removed.
2109 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
2110 (line_hash_code, row_equal_p, fake_current_matrices)
2111 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
2112 (update_frame_line, update_frame_line, update_frame_line):
2113 Don't use `inverse_p' field.
2114 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2115 change_line_highlight_hook.
2116 (XTreassert_line_highlight, x_change_line_highlight):
2117 Functions removed.
c2d53558 2118 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2119 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2120 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2121 `inverse_p' field.
c2d53558 2122 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2123 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2124 (w32_reassert_line_highlight, x_change_line_highlight):
2125 Functions removed.
2126 * w32console.c (reassert_line_highlight, change_line_highlight):
2127 Functions removed.
2128 (initialize_w32_display): Don't set reassert_line_highlight_hook
2129 or change_line_highlight_hook.
2130 (hl_mode): Function removed.
c2d53558
SM
2131 (reset_terminal_modes, set_terminal_modes, update_begin)
2132 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2133 (clear_frame, ins_del_lines): Don't call it.
2134 * termhooks.h (reassert_line_highlight_hook)
2135 (change_line_highlight_hook): Declarations removed.
2136 * term.c (reassert_line_highlight_hook)
2137 (change_line_highlight_hook): Variables removed.
2138 (reassert_line_highlight, change_line_highlight): Functions removed.
2139 * msdos.c (IT_reassert_line_highlight)
2140 (IT_change_line_highlight): Functions removed.
2141 (internal_terminal_init): Don't set reassert_line_highlight_hook
2142 or change_line_highlight_hook.
2143 (highlight): Variable removed.
c2d53558 2144 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2145 (IT_set_terminal_modes): Don't set or use it.
2146
2147 The following changes remove inverse-video support for terminals
2148 that use a `magic cookie' standout mode. Due to changes in the
2149 way mode-lines are displayed, such support no longer works
2150 anyway, and it's probable that almost no one uses such terminals
2151 anymore:
2152
2153 * term.c (standout_requested): Variable removed.
2154 (update_end, highlight_if_desired): Don't use it.
2155 (chars_wasted, copybuf): Variables removed.
2156 (write_standout_marker): Function removed.
c2d53558 2157 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2158 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2159 Don't use `chars_wasted' or `copybuf'.
2160 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2161 Set `costs_set' to true.
2162 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2163 `chars_wasted'.
2164 (clear_end_of_line): Function removed.
2165 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2166 (clear_to_end): Call `clear_end_of_line' instead of
2167 `clear_end_of_line_raw'.
54800acb
MB
2168 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2169 (term_init): Don't set them.
2170 Turn off any standout/underline modes that require magic cookies.
c2d53558 2171 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2172 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2173 Remove special processing for magic-cookie standout modes.
2174 (turn_off_face, turn_on_face): Remove special processing for
2175 underline magic-cookie glitch.
abcce93a 2176
0b5f679f
RS
21772001-10-19 Richard M. Stallman <rms@gnu.org>
2178
2179 * eval.c (syms_of_eval): Doc fixes.
2180
5a4a5bd4
GM
21812001-10-19 Gerd Moellmann <gerd@gnu.org>
2182
2183 * xdisp.c (redisplay_internal): Don't clear echo area if the
2184 mini-window is selected.
2185
79f1f96c
MB
21862001-10-19 Miles Bader <miles@gnu.org>
2187
b57c2708
MB
2188 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2189 doesn't take precedence if the affected property's value is nil.
2190
2191 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2192
79f1f96c
MB
2193 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2194 with fields and suggest using `forward-line' to avoid them.
2195 * editfns.c (Fline_beginning_position, Fline_end_position):
2196 Clarify documentation.
2197
ef879104
SM
21982001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2199
2200 * keymap.c (current_minor_maps): `override' only shadows its
2201 correspondent in minor-mode-map-alist, not the whole tail.
2202
97f4db8c
AI
22032001-10-18 Andrew Innes <andrewi@gnu.org>
2204
2205 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2206 optimization. The fontp->encoding array was not being initialized
2207 correctly when compiled with optimizations by MSVC.
2208
e6b70fd8
GM
22092001-10-18 Gerd Moellmann <gerd@gnu.org>
2210
30903479 2211 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2212
0e804d38
AI
22132001-10-17 Andrew Innes <andrewi@gnu.org>
2214
2215 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2216
2217 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2218 font_info.charset field.
2219
2220 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2221 rather than working it out by calling w32_codepage_for_font for
2222 every glyph.
2223
66e5868a
AI
22242001-10-17 Andrew Innes <andrewi@gnu.org>
2225
2226 * w32term.c (w32_read_socket): Determine clipping rectangle for
2227 the entire frame, including areas covered by scrollbars and the
2228 menubar. This avoids internal arguments about whether a frame is
2229 fully obscured or not.
2230
15b00083
GM
22312001-10-17 Gerd Moellmann <gerd@gnu.org>
2232
23e8bd86
GM
2233 * xdisp.c (try_window_id): Undo last change. Give up if
2234 window ends in strings.
30903479 2235
9c6ba6d1 2236 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2237 end if the rest of the window after the window end was already blank.
23e8bd86 2238
30903479 2239 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2240 for the release of 21.1.
2241
30903479 2242 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2243
945220bd
MB
22442001-10-17 Miles Bader <miles@gnu.org>
2245
2246 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2247 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2248 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2249 Change doc-string comments to `new style' [w/`doc:' keyword].
2250 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2251 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2252 out make-docfile.
2253
14242528
MB
22542001-10-16 Miles Bader <miles@gnu.org>
2255
2256 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2257
3ddf952f
GM
22582001-10-16 Gerd Moellmann <gerd@gnu.org>
2259
2260 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2261 *scratch*.
2262
f3fbd155
KR
22632001-10-16 Ken Raeburn <raeburn@gnu.org>
2264
2265 Avoid the assumption that car and cdr slots of cons cells are
2266 addressable lvalues; this allows for easier experimentation with
2267 other lisp implementations that may not permit such accesses for
2268 various reasons. Not quite complete -- buffer.c still needs some
2269 work, and w32/mac files need rechecking -- so compile-time
2270 enforcement is left disabled for now.
2271
2272 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2273 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2274 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2275 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2276 (XSETCAR, XSETCDR): New macros.
2277 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2278 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2279 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2280 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2281 XSETCDR.
2282 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2283 * buffer.c (record_buffer, Fbury_buffer)
2284 (swap_out_buffer_local_variables, recenter_overlay_lists)
2285 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2286 fields of a cons cell respectively.
2287 * callint.c (quotify_args, Fcall_interactively): Likewise.
2288 * ccl.c (Fregister_code_conversion_map): Likewise.
2289 * coding.c (detect_coding_system): Likewise.
2290 * composite.c (get_composition_id, make_composition_value_copy):
2291 Likewise.
30903479
SM
2292 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2293 (swap_in_symval_forwarding, set_internal, Fset_default)
2294 (Fmake_variable_buffer_local, Fmake_local_variable)
2295 (Fmake_variable_frame_local): Likewise.
f3fbd155 2296 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2297 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2298 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2299 * minibuf.c (get_minibuffer): Likewise.
2300 * search.c (Fmatch_data): Likewise.
2301 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2302 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2303 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2304 Likewise.
2305 * w32term.c (x_delete_display): Likewise.
2306 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2307 Likewise.
c2d53558 2308 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2309 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2310 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2311 (Fread_file_name): Use XSETCAR.
2312 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2313 CHECK_NUMBER_CDR.
2314 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2315 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2316 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2317 CHECK_NUMBER_CDR.
2318 * keyboard.c (read_char): Alter list traversal to avoid taking the
2319 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2320 (parse_menu_item): Use XSETCAR and XSETCDR.
2321 (reach_char_x_menu_prompt): Use XSETCAR.
2322 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2323 (Fcommand_execute): Use XSETCDR.
2324 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2325 (openp): Change list traversal to avoid using XCAR as lvalue.
2326 (read_list): Use XSETCDR.
2327 * process.c (wait_reading_process_input): Change wait_for_cell
2328 handling to avoid taking addresses of cons cell slots.
30903479
SM
2329 * xselect.c (x_own_selection, x_handle_selection_clear)
2330 (x_clear_frame_selections): Use XSETCDR.
2331 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2332 (x_handle_property_notify, x_get_foreign_selection)
2333 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2334
502150e5
PJ
23352001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2336
018ba359
PJ
2337 * buffer.c: Put doc strings in comments.
2338
30903479 2339 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2340
b56ba8de
SS
23412001-10-15 Sam Steingold <sds@gnu.org>
2342
2343 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2344
6a0b793a
PJ
23452001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2346
30903479
SM
2347 * process.c (process-inherit-coding-system-flag)
2348 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2349 in comment.
2350
a1f17501 2351 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2352 arguments. Put doc strings in comments.
a65da641
PJ
2353
2354 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2355
aa601ad0
GM
23562001-10-15 Gerd Moellmann <gerd@gnu.org>
2357
30903479 2358 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2359
aa601ad0
GM
2360 * window.c (select_window_1): Unfreeze window start. Remove a
2361 doubled test for WINDOW being live.
2362
288148a1
PJ
23632001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2364
dd8d1e71
PJ
2365 * fns.c (Fmapconcat): Fix typo in a doc string.
2366
288148a1
PJ
2367 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2368
9f5eb4a3
GM
23692001-10-15 Gerd Moellmann <gerd@gnu.org>
2370
2371 * xterm.c (x_draw_glyph_string): Restore clipping after
2372 drawing box.
2373
dbae44c8
PJ
23742001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2375
30903479 2376 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2377
0c88c937
SM
23782001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2379
56378db4
GM
2380 * indent.c (skip_invisible): Use new retval of
2381 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2382
845e4cf4
SM
2383 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2384 If a parent is reached and noinherit is set, exit immediately.
2385 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2386
0c88c937
SM
2387 * s/ms-w32.h (EXEC_SUFFIXES):
2388 * s/msdos.h (EXEC_SUFFIXES):
2389 * process.h (EXEC_SUFFIXES): Remove.
2390
2391 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2392 (decode_suffixes): Remove.
2393
2394 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2395 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2396 (invisible_ellipsis_p): Remove.
0c88c937
SM
2397
2398 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2399 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2400 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2401 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2402 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2403
d19be8a9
PJ
24042001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2405
04d7d066
PJ
2406 * lisp.h (Ftop_level): Add prototype.
2407
d624284c
PJ
2408 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2409 (XTread_socket): Improve style of comments to follow other
2410 comments.
2411
a87414f9
PJ
2412 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2413 is already prototyped in included lisp.h).
2414
d19be8a9
PJ
2415 * frame.c (Fset_mouse_position): Improve style of comment to
2416 follow other comments.
2417 (Fset_mouse_pixel_position): Improve style of comment to follow
2418 other comments.
2419 (Fmake_frame_visible): Doc fix and typo in comment.
2420 (Fmake_frame_invisible): Doc fix and typo in comment.
2421 (Ficonify_frame): Fix typo in comment.
2422
c061c855
GM
24232001-10-14 Gerd Moellmann <gerd@gnu.org>
2424
37f6b5b6 2425 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2426 * term.c, alloc.c: Put doc strings in comments.
c061c855 2427
e641b454
GM
24282001-10-13 Gerd Moellmann <gerd@gnu.org>
2429
2430 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2431 Provide definitions for doc strings in comments.
2432
2433 * fns.c: Put doc strings in comments.
2434
51724e26
EZ
24352001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2436
2437 * dired.c (file_name_completion): Ignore a candidate directory if
2438 it matches an element in completion-ignored-extensions that ends
2439 in a slash.
2440 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2441 feature in the doc string.
2442 (Ffile_name_completion): Ditto.
2443
be5fc59b
SM
24442001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2445
5a1373f3
SM
2446 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2447
2448 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2449
2450 * lisp.h (Fprovide): Update prototype.
2451 (Ffeaturep, invisible_p): Remove.
2452
bbc4a3d3 2453 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2454 (DOLIST, LOOP_PROPVAL): New macros.
2455 (invisible_p, invisible_ellipsis_p): Use them.
2456 (invisible_noellipsis_p): New function.
2457 (syms_of_xdisp): Use empty_string.
2458
2459 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2460
2461 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2462 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2463
2464 * print.c (Fwith_output_to_temp_buffer): Align with
2465 internal_with_output_to_temp_buffer.
2466 (print_preprocess): Use traverse_intervals_noorder.
2467 (print_object): Update call to traverse_intervals.
2468
2469 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2470 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2471
2472 * intervals.c (traverse_intervals_noorder): New function.
2473 (search_for_interval, count_intervals): Use it.
2474 (traverse_intervals): Use less stack space and drop `depth' arg.
2475
2476 * fns.c (Ffeaturep): Add new `subfeature' arg.
2477 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2478 (Qsubfeatures): New var.
2479 (syms_of_fns): Initialize it.
2480
026f408d
SM
2481 * keymap.c (Fkey_description): Use empty_string.
2482 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2483 (syms_of_keymap): Setup inheritance between maps.
2484 Don't export Sdescribe_bindings_internal any more.
2485
be5fc59b
SM
2486 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2487
3365175e
GM
24882001-10-12 Gerd Moellmann <gerd@gnu.org>
2489
2490 * xterm.c (notice_overwritten_cursor): Renamed from
2491 note_overwritten_text_cursor. Rewritten to take glyph widths into
2492 account.
2493
2ab7765c
EZ
24942001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2495
2496 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2497 multi-line strings without a trailing "\n\".
2498
311346bb
PJ
24992001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2500
2501 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2502 defined.
2503
2168e04d
SM
25042001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2505
026f408d
SM
2506 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2507
c0ec53ad
SM
2508 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2509 * w32proc.c (sys_spawnve):
2510 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2511 * w32.c (check_windows_init_file):
2512 * sound.c (Fplay_sound):
026f408d 2513 * emacs.c (init_cmdargs):
c0ec53ad
SM
2514 * process.c (Fstart_process): Update calls to openp.
2515
2516 * callproc.c (Vexec_suffixes): New var.
2517 (Fcall_process): Update call to openp.
2518 (decode_suffixes): New function.
2519 (syms_of_callproc): Init exec-suffixes.
2520
2521 * lread.c (Vload_suffixes, default_suffixes): New vars.
2522 (openp): Take a lisp list of suffixes.
2523 Check for file-name-handlers even if the file was absolute already.
2524 (syms_of_lread): Declare load-suffixes.
2525 (Fload): Fix up call to openp.
2526 Don't bother checking for file-name-handler at the very beginning.
2527
f6333468
SM
2528 * keymap.h (Fcopy_keymap): Don't export.
2529
2530 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2531 (Vload_suffixes, Vexec_suffixes): Declare.
2532 (openp): Update prototype.
f6333468
SM
2533
2534 * emacs.c (empty_string): New var.
2535 (syms_of_emacs): Initialize it.
2536
2537 * search.c (wordify): Use it.
2538
2539 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2540 selected window if it's not displayed there. Handle the case
2541 when the window is dedicated.
2542 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2543
2544 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2545
2168e04d
SM
2546 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2547 Remove left_ok and right_ok.
2548 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2549 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2550 new meaning of b_property.
2551
2552 * syntax.c (update_syntax_table): Simplify.
2553 (Fforward_comment): Don't skip quoted chars when going backward.
2554
13d95cc0
GM
25552001-10-11 Gerd Moellmann <gerd@gnu.org>
2556
beb0990f
GM
2557 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2558 in case I is of some unsigned type, in which case
2559 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2560 comparison becomes bogus.
2561
cb938d46
GM
2562 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2563 (Fuser_full_name): Fix bug treating a float as a fixnum.
2564
2565 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2566
2567 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2568
13d95cc0
GM
2569 * lisp.h (circular_list_error): Add prototype.
2570
2571 * data.c (Qcircular_list): New variable.
2572 (circular_list_error): New function.
2573 (syms_of_data): Initialize it Qcircular_list.
2574
e35f6ff7
SM
25752001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2576
2577 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2578 casefiddle.c, buffer.c: Include keymap.h.
2579
619632ac
GM
25802001-10-10 Gerd Moellmann <gerd@gnu.org>
2581
2582 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2583 options. From Dave Love <d.love@dl.ac.uk>.
2584
5e5388f6
GM
25852001-10-09 Gerd Moellmann <gerd@gnu.org>
2586
2587 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2588 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2589
14a3dff7
GM
2590 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2591 unsigned char.
2592 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2593
76ba8daf
AI
25942001-10-08 Andrew Innes <andrewi@gnu.org>
2595
2596 * lisp.h [max]: Undef min and max before redefining them.
2597
2598 * w32gui.h: Do not undef min and max.
2599
2600 * w32heap.h: Do not undef min and max.
2601
2602 * s/ms-w32.h: Do not undef min and max.
2603
166253cb
SM
26042001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2605
2606 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2607
0c4d9527
SS
26082001-10-08 Sam Steingold <sds@gnu.org>
2609
2610 * keymap.c (current-active-maps): Quote newlines (compilation error).
2611
14bfa771
EZ
26122001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2613
2614 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2615 bindings.elc, since otherwise doc strings in bindings.el get wrong
2616 offsets in etc/DOC.
2617
bdb7aa47
SM
26182001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2619
9985827f
SM
2620 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2621
2622 * keyboard.h (map_prompt): Remove.
2623
2624 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2625 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2626
bdb7aa47
SM
2627 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2628
2629 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2630
2631 * keyboard.c (map_prompt): Remove.
2632 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2633 Use Fkeymap_prompt.
2634
2635 * keymap.h: New file. Extracted from lisp.h.
2636
9985827f
SM
2637 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2638 (accessible_keymaps_1): New function.
2639 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2640 (Fwhere_is_internal): Use Fcurrent_active_maps.
2641 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2642 Insert in current buffer rather than standard-output.
2643 Don't call `help-mode'. Export to elisp.
2644 (describe_buffer_bindings): New wrapper.
2645 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2646 and Sdescribe_buffer_bindings.
2647
402c9a51
GM
26482001-10-08 Gerd Moellmann <gerd@gnu.org>
2649
9985827f 2650 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2651 Remove code setting signal handler.
2652
9985827f 2653 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2654 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2655
3fe81fdf
PJ
26562001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2657
2658 * keyboard.c: Don't define min/max.
2659
55fa7820
GM
26602001-10-08 Gerd Moellmann <gerd@gnu.org>
2661
9985827f 2662 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2663 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2664 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2665 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2666 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2667 Don't define min/max.
2668
2669 * lisp.h (min, max): New macros.
2670
55fa7820
GM
2671 * puresize.h (BASE_PURESIZE): Increase to 725000.
2672
1aad31e4
PJ
26732001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2674
9180dc8c
PJ
2675 * xfaces.c (free_frame_menubar): Add prototype.
2676
01f67d2c
PJ
2677 * lisp.h (init_window): Add prototype.
2678
2679 * editfns.c: Include ctype.h.
2680
2681 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2682 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2683 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2684 variable `sb'.
2685
5f351ff1
PJ
2686 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2687 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2688 `popup_activated_flag' and `title'.
2689
479dfe87
PJ
2690 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2691
dff49fc8
PJ
2692 * emacs.c (main): Remove extra `;'.
2693
248ac615
PJ
2694 * atimer.h (struct atimer): Fix typos in a comment.
2695
2696 * atimer.c: Fix typo.
2697
af232c7d
PJ
2698 * Makefile.in: Fix typo.
2699
2700 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2701
d876f455
MB
27022001-10-07 Miles Bader <miles@gnu.org>
2703
2704 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2705
0037e2f2
KR
27062001-10-07 Ken Raeburn <raeburn@gnu.org>
2707
b056f36d
KR
2708 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2709 Lisp_Object.
2710
0037e2f2
KR
2711 * lisp.h (Ffield_end): Declare.
2712
1a4372ef
GM
27132001-10-07 Gerd Moellmann <gerd@gnu.org>
2714
a4a74e8c
GM
2715 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2716
2717 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2718
2719 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2720
2721 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2722
1a4372ef
GM
2723 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2724 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2725
2726 * alloc.c (inhibit_garbage_collection): Simplify.
2727 (Fmemory_use_counts): Ditto.
2728
9985827f 2729 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2730 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2731 most-negative-fixnum.
2732
9985827f 2733 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2734 (FIXNUM_OVERFLOW_P): New macros.
2735
4650e362
MB
27362001-10-06 Miles Bader <miles@gnu.org>
2737
2738 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2739 scroll_bar_bottom_shadow_pixel fields.
2740 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2741 for the shadows, and tell the toolkit about them if we succeed.
2742 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2743 Free scroll-bar shadow colors.
2744 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2745 Free scroll-bar shadow colors when the background color changes.
2746 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2747 Initialize scroll-bar shadow-color fields.
2748
ace64e0a
GM
27492001-10-05 Gerd Moellmann <gerd@gnu.org>
2750
2751 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2752
ec66bdc7
MB
27532001-10-05 Miles Bader <miles@gnu.org>
2754
9985827f
SM
2755 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2756 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2757 New functions (were in simple.el).
9985827f 2758 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2759 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2760 (syms_of_minibuf): Initialize them.
2761
a0fb4492
GM
27622001-10-05 Gerd Moellmann <gerd@gnu.org>
2763
2764 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2765 (tiff_load): Install them as error and warning handler.
2766
0bcf87c1
AI
27672001-10-04 Andrew Innes <andrewi@gnu.org>
2768
2769 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2770 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2771 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2772 (x_to_w32_charset): Handle private format for unknown charsets.
2773 Handle wildcards in charset spec, by ignoring them.
2774 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2775 "*-" prefix from charset.
2776 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2777 handle the truncated font spec form constructed by font_list_1, so
2778 that we correctly identify the charset fields. Don't remove "*-"
2779 prefix from charset.
2780 (w32_list_synthesized_fonts): Fix argument to alloca.
2781
c89e4bc5
GM
27822001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2783
2784 * window.h (MINI_WINDOW_P): Use NILP.
2785
2786 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2787
2788 * termhooks.h (struct input_event): Use proper type for `kind'.
2789
27902001-10-04 Gerd Moellmann <gerd@gnu.org>
2791
2792 This handles unknown keysyms better than before. For example,
2793 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2794 Emacs formerly completely ignored F5. With the change, it derives
2795 a key symbol from the name of the X keysym, `ccaron' in this case.
2796 Reported by Martin Buchholz.
2797
2798 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2799 unknown keysyms.
2800
2801 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2802 that EVENT->code isn't a function key, use the keysym's name.
2803
28042001-10-04 Gerd Moellmann <gerd@gnu.org>
2805
2806 FOREACH is a macro that should make it easier to loop over Lisp
2807 lists with checks for cycles and proper lists.
2808
2809 * lisp.h (LIST_END_P, FOREACH): New macros.
2810
28112001-10-04 Gerd Moellmann <gerd@gnu.org>
2812
2813 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2814 called for a lost connection. Prevent dumping core in this case.
2815 Instead print the X error, and exit. On user request.
2816
2817 * xterm.c (error_msg): New variable.
2818 (x_fatal_error_signal): New function.
2819 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2820 as fatal_error_signal_hook around the call to XtCloseDisplay.
2821
2822 * emacs.c (fatal_error_signal_hook): New variable.
2823 (fatal_error_signal): Call that function.
2824
28252001-10-04 Gerd Moellmann <gerd@gnu.org>
2826
2827 With this, Emacs prints how much pure storage it will
2828 approximately need in case pure storage overflows while dumping.
2829
2830 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2831 New variables.
2832 (init_alloc_once): Initialize new variables.
2833 (PURE_POINTER_P): Use new variables.
2834 (pure_alloc): If pure storage overflows, allocate from the heap.
2835 (check_pure_size): New function.
2836 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2837
2838 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2839 (check_pure_size): Add prototype.
2840
2841 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2842
28432001-10-04 Gerd Moellmann <gerd@gnu.org>
2844
2845 This adds a post-gc-hook that's run with GC inhibited.
2846 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2847
2848 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2849 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2850 (Fgarbage_collect): Run post-gc-hook.
2851
28522001-10-04 Gerd Moellmann <gerd@gnu.org>
2853
2854 This adds `defvaralias' and `indirect-variable'. Changes not
2855 directly related to this feature are there to gain the same
2856 performance again as before variable aliases.
2857
2858 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2859 code to get and set symbol values, to take defvaralias into account.
2860
2861 (Note: the new `constant' bit-flag in symbols would make it
2862 possible to define arbitrary read-only variables, e.g. with
2863 `defconst'.)
2864
2865 Documentation is in lispref/variables.texi. Added to NEWS.
2866
2867 * lisp.h (enum symbol_interned): New enumeration.
2868 (struct Lisp_Symbol): Remove member `obarray', add
2869 `indirect_variable', `constant', and `interned'.
2870 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2871 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2872 (indirect_variable): Add prototype.
2873
2874 * print.c (print_preprocess, print_object): Test internedness of
2875 symbols differently.
2876
2877 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2878 bit-fields.
2879 (init_obarray): Likewise for t and nil.
2880
2881 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2882 (Fdefvaralias): New function.
2883 (specbind): Simplify the test if symbol is a constant.
2884 (syms_of_eval): Defsubr Fdefvaralias.
2885
2886 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2887 (Qcyclic_variable_indirection): New variable.
2888 (Fkeywordp): Check for internedness differently.
2889 (Fmakunbound): Simplify the test if symbol is a constant.
2890 (indirect_variable, Findirect_variable): New functions.
2891 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2892 aliased symbol.
2893 (let_shadows_buffer_binding_p): Check for variable aliases.
2894 (set_internal): Simplify the test if SYMBOL is a constant.
2895 If SYMBOL has a buffer-local value and is an alias, use the aliased
2896 symbol instead.
2897 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2898 Sindirect_variable.
2899
2900 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2901 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2902 set directly.
2903
2904 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2905
2906 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2907 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2908 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2909
ab952a4f
GM
29102001-10-04 Gerd Moellmann <gerd@gnu.org>
2911
2912 * Branch for 21.1.
b56ba8de 2913
ba88ff28
MB
29142001-10-03 Miles Bader <miles@gnu.org>
2915
2916 * callproc.c (syms_of_callproc): Explicitly state in the
2917 documentation for `process-environment' that earlier entries take
2918 precedence over later ones.
2919
ae1a9581
MB
29202001-10-02 Miles Bader <miles@gnu.org>
2921
2922 * textprop.c (Fnext_char_property_change)
2923 (Fprevious_char_property_change): Remove reference to non-existant
2924 argument OBJECT from doc-string.
2925
257e3f57
GM
29262001-10-01 Gerd Moellmann <gerd@gnu.org>
2927
2928 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2929 (try_window_id): Skip back over lines ending in a newline from a
2930 string.
2931
2932 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2933 New bit flag
2934
c1f29759
RS
29352001-10-01 Richard M. Stallman <rms@gnu.org>
2936
2937 * search.c (Freplace_match): Doc fix.
2938
c30dce3d
AI
29392001-09-28 Andrew Innes <andrewi@gnu.org>
2940
2941 * w32menu.c (set_frame_menubar): Take into account that
2942 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2943 <raeburn@gnu.org>.
2944
03be5931
EZ
29452001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2946
2947 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2948
75bec752
PJ
29492001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2950
2951 * s/gnu-linux.h: Fix a typo in comment.
2952
83100e0a
AS
29532001-09-28 Andreas Schwab <schwab@suse.de>
2954
2955 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2956 nocombreloc, in case -z combreloc is the default.
2957
a74b48cf
GM
29582001-09-28 Gerd Moellmann <gerd@gnu.org>
2959
2960 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2961 really going on here.
2962
09c4719e
SM
29632001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2964
2965 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2966
f7d5d963
EZ
29672001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2968
2969 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2970 utf-8, menu-bar, and latin-N.
2971 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2972 unconditionally now.
2973 (lisp): Add latin-N, since they are preloaded.
2974
9240e746
GM
29752001-09-27 Gerd Moellmann <gerd@gnu.org>
2976
14531065
GM
2977 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2978 to the left. Some cleanup.
2979
9240e746
GM
2980 * xdisp.c (display_mode_element): One more case where a string's
2981 multibyteness should be used for display.
2982
edd1e654
GM
29832001-09-26 Gerd Moellmann <gerd@gnu.org>
2984
b02439c8
GM
2985 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2986 reading at EOF.
2987
032906b1 2988 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2989 of the only temporarily set echoing flag for deciding when
032906b1
GM
2990 the cancel echoing.
2991
2992 * keyboard.c (echo_kboard): Make externally visible.
2993
2994 * lisp.h (echo_kboard): Declare extern.
2995
cb617e7c 2996 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2997 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2998 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2999 this round of redisplay if make_cursor_line_fully_visible fails.
3000 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 3001 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
3002
3003 * dispextern.h (required_matrix_width, required_matrix_height):
3004 Add prototypes.
3005
09c4719e
SM
3006 * dispnew.c (required_matrix_width, required_matrix_height):
3007 New functions.
cb617e7c 3008 (allocate_matrices_for_window_redisplay)
09c4719e
SM
3009 (allocate_matrices_for_frame_redisplay: Use them.
3010 Remove parameters CH_DIM.
cb617e7c 3011
edd1e654
GM
3012 * xdisp.c (display_mode_lines): Temporarily set selected_frame
3013 and selected_window to the frame of the window whose mode-lines
3014 are displayed, and to the window itself.
3015 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 3016 here.
edd1e654 3017
924b604c
GM
30182001-09-25 Gerd Moellmann <gerd@gnu.org>
3019
daba7643
GM
3020 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
3021 the image cache under us.
3022
b7a22712 3023 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 3024 with a string value, use that string's multibyteness for displaying.
b7a22712 3025
ad648212
GM
3026 * keyboard.c (read_char): Don't clear a message for a switch-frame
3027 event. From Stefan Monnier <monnier@cs.yale.edu>.
3028
9f8531e5
GM
3029 * xterm.c (fast_find_position) [0]: Add a presumably more correct
3030 version for after 21.1.
3031
3032 * xdisp.c (row_containing_pos): Make externally visible.
3033
3034 * dispextern.h (row_containing_pos): Add prototype.
3035
924b604c
GM
3036 * process.c (send_process): Disable composition if from_byte < 0.
3037 From Kenichi Handa <handa@etl.go.jp>.
3038
6f3f0db4
GM
30392001-09-24 Gerd Moellmann <gerd@gnu.org>
3040
c69c0ebc
GM
3041 * xterm.c (refreshicon): Function removed.
3042
d1182bc4
GM
3043 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
3044
3045 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
3046
3047 * xterm.c (toplevel): Remove includes in #if 0.
3048
6f3f0db4
GM
3049 * process.c (sigchld_handler) [LINUX]: Don't return from
3050 the signal handler at the end of the loop.
3051
59957f85
GM
30522001-09-21 Gerd Moellmann <gerd@gnu.org>
3053
09c4719e
SM
3054 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
3055 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 3056
a0528984
EZ
30572001-09-21 Markus Rost <rost@math.ohio-state.edu>
3058
3059 * Makefile.in (shortlisp): Add ../lisp/env.elc.
3060
db92b288
GM
30612001-09-20 Gerd Moellmann <gerd@gnu.org>
3062
3fed8ad5
GM
3063 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
3064 since this function can be called during GC.
3065
db92b288
GM
3066 * callproc.c (Fcall_process): Handle errors from pipe(2).
3067 (child_setup): Delete code in #ifdef vipc.
3068
7121b85a
GM
30692001-09-19 Gerd Moellmann <gerd@gnu.org>
3070
72f62cb5
GM
3071 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
3072 (display_mode_element): Display the string from decode_mode_spec
3073 depending on its multibyteness.
3074
a2697022
GM
3075 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
3076
7121b85a
GM
3077 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
3078
bfc97351
GM
30792001-09-18 Gerd Moellmann <gerd@gnu.org>
3080
c9063433
GM
3081 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
3082 recursive_edit_unwind.
3083 (recursive_edit_unwind): Set kboard state according to
3084 SINGLE-KBOARD.
3085
3fbdba3e
GM
3086 * buffer.c (modify_overlay): Don't do nothing if START == END;
3087 This can still be a modification, for example when an overlay has
3088 a before-string or after-string.
3089 (Fdelete_overlay): Prevent redisplay optimizations when deleting
3090 an overlay with before-string or after-string.
3091
1270031d
GM
3092 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
3093 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
3094
bfc97351
GM
3095 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
3096 first_unchanged_at_end_row is in front of
3097 last_unchanged_at_beg_row. This code should be removed after the
3098 release of 21.1.
3099
d8a973aa
GM
31002001-09-17 Gerd Moellmann <gerd@gnu.org>
3101
e18c8b8d
GM
3102 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
3103 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
3104
d8a973aa
GM
3105 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
3106 versions >= 2.95.
3107
ed7d6ba4
EZ
31082001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
3109
3110 * dired.c (Ffile_attributes): Doc fix.
3111
551629f9
GM
31122001-09-14 Gerd Moellmann <gerd@gnu.org>
3113
3114 * fileio.c (Ffile_symlink_p): Fix last change.
3115
3116 * filelock.c (current_lock_owner): Fix last change.
3117
4c8c7926
GM
31182001-09-13 Gerd Moellmann <gerd@gnu.org>
3119
620c4704
GM
3120 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3121 take that to mean that the buffer is too small.
3122
81c3310d
GM
3123 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3124 that to mean that the buffer is too small.
3125
06fd3792
GM
3126 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3127 current buffer's multibyteness when discarding the iterator's
3128 stack.
3129
4c8c7926
GM
3130 * xfns.c (Fx_window_property): Handle case that property gets
3131 deleted between the two calls to XGetWindowProperty.
3132
9a72e4c1
GM
31332001-09-11 Gerd Moellmann <gerd@gnu.org>
3134
bd819d14 3135 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3136
a41edd99
GM
3137 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3138 in addition to read-only.
3139
3140 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3141 to t in addition to read-only.
3142
3143 * lisp.h (Qinhibit_modification_hooks): Declare.
3144
3145 * insdel.c (Qinhibit_modification_hooks): New variable.
3146 (syms_of_insdel): Initialize and staticpro it.
3147
d4881c6a
GM
3148 * textprop.c (verify_interval_modification): Don't run
3149 modification-hooks if inhibit_modification_hooks.
3150
3151 * dispnew.c (set_window_cursor_after_update): Fix code
3152 finding glyph row containing cursor when cursor_in_echo_area
3153 is >= 0.
3154
9a72e4c1
GM
3155 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3156 (add_to_log): Use bcopy instead of strcpy.
3157 (init_from_display_pos): Use an explicit loop over bytes in
3158 overlay strings instead of calling index.
3159
f4a374a1
GM
31602001-09-10 Gerd Moellmann <gerd@gnu.org>
3161
300e57bd
GM
3162 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3163
3164 * dispnew.c (direct_output_for_insert): Don't change IT's
3165 stop_charpos to something in front of its current position.
3166
f4a374a1
GM
3167 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3168 `format'.
3169
7e4cbc91
RS
31702001-09-10 Richard M. Stallman <rms@gnu.org>
3171
3172 * frame.c (Fmouse_position): Doc fix.
3173
6afad91e
GM
31742001-09-07 Gerd Moellmann <gerd@gnu.org>
3175
3176 * xdisp.c (init_from_display_pos): Don't compare the result
3177 of calling index with NULL.
3178
f76e0368
GM
31792001-09-06 Gerd Moellmann <gerd@gnu.org>
3180
3181 * xfns.c (x_set_background_color): Don't change the colors
3182 of the X window of scroll bar widgets.
3183
9ead1b60
AI
31842001-09-05 Andrew Innes <andrewi@gnu.org>
3185
3186 * w32fns.c (w32_createwindow): Undo last change.
3187
c3b497b3
GM
31882001-09-05 Gerd Moellmann <gerd@gnu.org>
3189
08e1d6df
GM
3190 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3191
c3b497b3
GM
3192 * xdisp.c (string_buffer_position): Use *single_char_property*
3193 functions instead of the *single_property* functions.
b56ba8de 3194
8f860180
AI
31952001-09-04 Andrew Innes <andrewi@gnu.org>
3196
9a72e4c1
GM
3197 * w32term.c (w32_read_socket): Add more information to debugging
3198 output.
8f860180
AI
3199
3200 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3201 from Emacs frames, so that calls to GetClipBox in w32term.c
3202 correctly report when part of a frame is visible (including
3203 scrollbars, etc). This prevents repeated redrawing of frames when
3204 only a scrollbar is visible.
3205 (w32_wnd_proc): Add more frame information to debugging output.
3206
2ee1aa00
SM
32072001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3208
3209 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3210
e3b22517
GM
32112001-09-03 Gerd Moellmann <gerd@gnu.org>
3212
7e376260
GM
3213 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3214 help-echo for a string which doesn't have help-echo itself, use
3215 get-char-property to obtain the help-echo from the string's buffer
3216 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3217 have mouse-face, look ``under'' the string for mouse-face from an
3218 overlay.
3219 (fast_find_position): Add parameter STOP. In the final row, stop
3220 before glyphs having STOP as object. Don't consider glyphs that
3221 are not from a buffer.
3222
e3b22517
GM
3223 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3224
9a249bba
EZ
32252001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3226
3227 * fns.c (Fmd5): Doc fix.
3228
c9979669
GM
32292001-08-31 Gerd Moellmann <gerd@gnu.org>
3230
3231 * composite.c (update_compositions): Do nothing if
3232 inhibit-modification-hooks is set.
3233
9584e63a
GM
32342001-08-30 Gerd Moellmann <gerd@gnu.org>
3235
986ec8f2 3236 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3237 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3238 glyph matrices etc. in a core dump.
3239
92a25631
GM
3240 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3241 (syms_of_xdisp): Initialize them.
3242 (handle_single_display_prop): Don't change point, bind `object',
3243 `position', and `buffer-position' instead to the object having the
2ee1aa00 3244 `display' property, position in the object and position in the buffer.
92a25631 3245
9584e63a
GM
3246 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3247 of the buffer if REPLACE is non-nil.
3248
d38633a3
GM
32492001-08-29 Gerd Moellmann <gerd@gnu.org>
3250
3251 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3252
f4fccc1e
EZ
32532001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3254
3255 * w32term.c (x_set_glyph_string_background_width)
3256 (show_mouse_face): Track the last changes in xterm.c.
3257
eaaa65b0
GM
32582001-08-28 Gerd Moellmann <gerd@gnu.org>
3259
7b0870b2
GM
3260 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3261 string's background width so that multi-line mouse-face is drawn
3262 to the right edge of the window.
3263 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3264 glyphs.
3265
6b6e2422 3266 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3267 before inserting/writing glyphs.
6b6e2422 3268
eaaa65b0
GM
3269 * xdisp.c (display_mode_element): Use string_byte_to_char to
3270 determine character positions in strings, use chars_in_text
3271 instead of strwidth.
3272 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3273 a matrix as parameter; this is easier to use from GDB.
3274
9ad62cf8
MB
32752001-08-28 Miles Bader <miles@gnu.org>
3276
2ee1aa00
SM
3277 * textprop.c (Fprevious_single_char_property_change)
3278 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3279
32171635
GM
32802001-08-27 Gerd Moellmann <gerd@gnu.org>
3281
47d57b22
GM
3282 * fileio.c (Finsert_file_contents): Allocate, restore, and
3283 free composition data in the case of REPLACE not being nil.
3284
3285 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3286 there exist overlay strings with newlines at POS.
3287 (text_outside_line_unchanged_p): Return 0 if changes start at
3288 START and overlays exist at START. Likewise for END.
3289 (try_window_id): Give up if init_to_row_end returns 0.
3290
32171635
GM
3291 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3292 unconditionally.
3293
e1249666
GM
32942001-08-24 Gerd Moellmann <gerd@gnu.org>
3295
33954c45
GM
3296 * keymap.c (access_keymap): Return the cdr of the binding of
3297 a generic character instead of its definition (KEY . BINDING).
3298
e1249666
GM
3299 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3300 to 0 also in the REPLACE case.
3301
fb4c6c96
AC
33022001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3303
3304 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3305 open to determine whether file is readable (as for DOS_NT).
3306
59ecf80b
GM
33072001-08-23 Gerd Moellmann <gerd@gnu.org>
3308
3309 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3310 coding.type is coding_type_no_conversion or coding_type_raw_text,
3311 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3312 non-nil instead of just setting enable_multibyte_characters in the
3313 buffer to nil.
3314
40e33037
GM
33152001-08-22 Gerd Moellmann <gerd@gnu.org>
3316
374388c3
GM
3317 * dispextern.h (struct face_cache): Add member
3318 menu_face_changed_p.
3319
3320 * xfaces.c (menu_face_changed_default): New variable.
3321 (menu_face_changed_count): Variable removed.
3322 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3323 the menu_face_changed_default flag, otherwise set the FRAME's
3324 menu_face_changed_p flag if the `menu' face has been changed.
3325 Prevent calling set_font_frame_param if FRAME is t.
3326 (make_face_cache): Initialize cache's menu_face_changed_p
3327 from menu_face_changed_default.
3328 (realize_basic_faces): Look into the frame's face cache to
3329 determine if the menu appearance needs updating.
3330
40e33037
GM
3331 * keymap.c (access_keymap): Fix last change to not consider
3332 IDX when it has modifiers.
3333
859ea4b8
GM
33342001-08-21 Gerd Moellmann <gerd@gnu.org>
3335
3336 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3337 . BINDING) exists, where GENERIC-CHAR is the generic character of
3338 the charset of IDX, return BINDING unless there exists a binding
3339 for IDX itself.
3340
e8660d73
GM
33412001-08-16 Gerd Moellmann <gerd@gnu.org>
3342
cca1b1d7
GM
3343 * xrdb.c (SYSV): Don't define on Solaris 2.
3344 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3345
e8660d73 3346 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3347 of the screen line, not text line, containing IT's current position.
e8660d73 3348
93aba6fc
GM
33492001-08-15 Gerd Moellmann <gerd@gnu.org>
3350
288d4e06
GM
3351 * window.c (window_scroll_pixel_based): Don't recenter if
3352 PT is partially visible in the window.
3353
3452efc2
SM
3354 * xterm.c (expose_window_tree, expose_window, expose_line):
3355 Return 1 when overwriting mouse-face.
82f053ab
GM
3356 (expose_frame): If mouse-face was overwritten, redo it.
3357
93aba6fc
GM
3358 * xfaces.c (x_update_menu_appearance): Don't call
3359 set_frame_menubar, let the next redisplay do it.
3360
858a55c1
AI
33612001-08-14 Andrew Innes <andrewi@gnu.org>
3362
3363 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3364 drawing glyph string.
3365
3a990b67
EZ
33662001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3367
3368 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3369 running HI-UX/MPP.
3370
04386463
GM
33712001-08-14 Gerd Moellmann <gerd@gnu.org>
3372
3373 * xfaces.c (x_update_menu_appearance): Save and restore value of
3374 interrupt_input_blocked.
3375
3e6385a4
GM
33762001-08-13 Gerd Moellmann <gerd@gnu.org>
3377
b0e619b4
GM
3378 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3379 a line start, move back to the line start.
3452efc2 3380
0de73d5a
GM
3381 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3382 exactly when a mini-buffer is active.
3383
3e6385a4
GM
3384 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3385 in units of 1/8 character on non window-system frames.
3386 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3387
d1b5f629
EZ
33882001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3389
3390 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3391 a doc string.
3392
eaa2319f
GM
33932001-08-09 Gerd Moellmann <gerd@gnu.org>
3394
8e3189f0
GM
3395 * keyboard.c (Vpre_help_message): New variable.
3396 (syms_of_keyboard): Initialize and staticpro it.
3397 (show_help_echo): Record current message before displaying a
3398 help-echo, and restore that message when clearing the help.
3399
eaa2319f
GM
3400 * xfns.c (x_create_im): Remove prototype.
3401
3402 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3403
3404 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3405
eaa2319f
GM
34062001-08-08 Gerd Moellmann <gerd@gnu.org>
3407
3408 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3409 windows whose height has changed, disable partially visible lines.
eaa2319f 3410
17fdcfc8
GM
34112001-08-07 Gerd Moellmann <gerd@gnu.org>
3412
22d01aed 3413 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3414 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3415
17fdcfc8
GM
3416 * xdisp.c (start_display): Don't try to determine the continuation
3417 lines width if lines are truncated. It's superfluous and leads to
3418 incorrect results if POS is not visible in the window after
3419 reseating the iterator at the previous line start.
3420
8e3fe78e
GM
34212001-08-06 Gerd Moellmann <gerd@gnu.org>
3422
3423 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3424
98a8938c
GM
34252001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3426
3427 * alloc.c (init_stack): Remove declaration.
3428
18f9986a
GM
34292001-08-03 Gerd Moellmann <gerd@gnu.org>
3430
5e1f85e0
GM
3431 * keyboard.c (read_key_sequence): Check that key is an integer
3432 before comparing it with quit_char.
3433 (add_command_key): Use larger_vector.
3434 (read_char_x_menu_prompt): Instead of converting symbol and
3435 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3436 which cannot be confused with valid events.
5e1f85e0
GM
3437 (read_char): When reading from Vunread_command_events, check for
3438 events of the form (EVENT . disabled) instead of
3439 (EVENT . nil).
3440
18f9986a
GM
3441 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3442 a float, determine the max height from the frame's height.
3443
fbc7f2a6
GM
34442001-08-02 Gerd Moellmann <gerd@gnu.org>
3445
3446 * xdisp.c (redisplay_internal): Take message_cleared_p into
3447 account only if minibuf_level == 0.
3448
81b1a79d
GM
34492001-08-01 Gerd Moellmann <gerd@gnu.org>
3450
e5c60873
GM
3451 * xdisp.c (redisplay_internal): Add a check for the last
3452 displayed message.
3452efc2 3453
6e019995
GM
3454 * xdisp.c (message_cleared_p): New variable.
3455 (clear_message): Set message_cleared_p when clearing the current
3456 message.
3457 (redisplay_internal): Look at message_cleared_p to capture
3458 the case that the echo area should be cleared.
3459
308a74d8
GM
3460 * keyboard.c (command_loop_1): Fix spelling of
3461 resize_echo_area_exactly.
3462
3452efc2 3463 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3464
3465 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3466
81b1a79d
GM
3467 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3468 current matrix when the window gets smaller.
3469
ada329e6
EZ
34702001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3471
3472 * print.c (strout): Cast the character passed to insert_char to
3473 unsigned char, to avoid sign extension when it is promoted to int.
3474
ed86208c
GM
34752001-07-31 Gerd Moellmann <gerd@gnu.org>
3476
3477 * fileio.c (Finsert_file_contents): Don't treat a return value
3478 of 0 from emacs_read as an IO error.
3479
6594ac22
GM
34802001-07-30 Gerd Moellmann <gerd@gnu.org>
3481
cef68af5
GM
3482 * keyboard.c (abs): New macro.
3483 (double_click_fuzz): New variable.
3484 (make_lispy_event): Use it to determine what makes a double-click.
3485 (syms_of_keyboard): DEFVAR_INT it.
3486
6594ac22
GM
3487 * xmenu.c (set_frame_menubar): Take into account that
3488 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3489 <raeburn@gnu.org>.
3490
75c5350a
GM
34912001-07-27 Gerd Moellmann <gerd@gnu.org>
3492
3493 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3494
3495 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3496 of row's visible height.
3497
3498 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3499 deal with the first overlay string having an image `display' property.
3500 (try_window_reusing_current_matrix, compute_line_metrics):
3501 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3502 row is invisible above and part of the row is at the same time
3503 invisible below the window.
3504
ac49effe
GM
35052001-07-26 Gerd Moellmann <gerd@gnu.org>
3506
3507 * xfns.c (x-show-tip): Doc fix.
3452efc2 3508
ac49effe
GM
3509 * xfns.c (Vx_max_tooltip_size): New variable.
3510 (syms_of_xfns): DEFVAR_LISP it.
3511 (Fx_show_tip): Set frame's window_width to the width of the
3512 window. Use a maximum tooltip size specified by
3513 Vx_max_tooltip_size, if that has valid contents.
3514 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3515
8c3b00cb
AI
35162001-07-26 Andrew Innes <andrewi@gnu.org>
3517
3518 * w32term.c (x_display_list): New variable.
3519 (w32_term_init): Set it.
3520
3521 * w32term.h (x_display_list): New extern.
3522
16098288
GM
35232001-07-26 Gerd Moellmann <gerd@gnu.org>
3524
3525 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3526 is non-nil, instead of when redisplaying_p is non-zero.
3527 See comment there.
16098288
GM
3528 (mark_window_display_accurate_1): Add an assertion.
3529
64c5be50
GM
35302001-07-25 Gerd Moellmann <gerd@gnu.org>
3531
e743f599
GM
3532 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3533
563b384d
GM
3534 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3535 events so that we get a chance of processing expose events.
3536
64c5be50
GM
3537 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3538
296808a5
GM
35392001-07-24 Gerd Moellmann <gerd@gnu.org>
3540
3541 * xfns.c (valid_image_p): Protect better against invalid image
3542 specifications. Previous code could signal an error.
3543
5247262a
GM
35442001-07-23 Gerd Moellmann <gerd@gnu.org>
3545
3452efc2 3546 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3547 presence of display table entries.
3548 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3549
dd42b31a
GM
3550 * dispnew.c (adjust_glyph_matrix): In the optimization for
3551 windows whose height has changed, use the new window height
3552 to compute which rows to invalidate.
3553
9e5a7f2a
GM
3554 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3555 (MAX_10_EXP): New macro.
3556 (Fformat): Use it.
3557
5247262a
GM
3558 * coding.c (code_convert_region): Handle the multibyte case if
3559 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3560
177ab8ce
GM
35612001-07-20 Gerd Moellmann <gerd@gnu.org>
3562
6e07c0a5
GM
3563 * dispextern.h (struct face): Change type of `stipple' to
3564 int; it's an ID.
3565
177ab8ce
GM
3566 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3567
b5b80599
GM
35682001-07-19 Gerd Moellmann <gerd@gnu.org>
3569
4e2a256b
GM
3570 * dispnew.c (update_window): Don't set the cursor at the end
3571 of the update if display update has been paused.
3572
3452efc2 3573 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3574
c1fd9232
KR
35752001-07-18 Ken Raeburn <raeburn@gnu.org>
3576
3577 * fns.c (Fset_char_table_default): Check that a charset is defined
3578 before checking its dimension.
3579
928a85c1
KR
35802001-07-17 Ken Raeburn <raeburn@gnu.org>
3581
3582 * coding.c (setup_coding_system): Don't do any designation based
3583 on reg_bits if charset is not yet defined.
3584
fb4c6c96 3585 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3586 pointer, using eassert.
3587
de11c1ea
GM
35882001-07-17 Gerd Moellmann <gerd@gnu.org>
3589
3452efc2
SM
3590 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3591 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3592
467f1209
GM
35932001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3594
3595 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3596
c3d6be34
GM
35972001-07-16 Gerd Moellmann <gerd@gnu.org>
3598
c1d61a7d
GM
3599 * fileio.c (unwind_read): Function removed.
3600 (read_non_regular, read_non_regular_quit): New functions.
3601 (Finsert_file_contents): When reading from non-regular files,
3602 arrange to catch a `quit' and terminate the loop. Rearrange
3603 code so that a `quit' when reading from a regular file doesn't
3604 insert text in the buffer.
3605
c3d6be34
GM
3606 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3607 Clear faces afterwards.
3608 (clear_font_table): Take a x_display_info parameter. Don't free
3609 fonts being the default font of any frame on the given display.
3610
e06aa1f9
GM
36112001-07-13 Gerd Moellmann <gerd@gnu.org>
3612
3613 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3614 instead of CHAR_STRING which can signal an error.
3615
3616 * charset.c (char_to_string_1): Extracted from char_to_string.
3617 Return -1 instead of signaling an error.
3618 (char_to_string): Use it.
3619
3620 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3621
176c92e6
SM
36222001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3623
3624 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3625 is t, don't try to append anything to it.
3626
1c56232f
EZ
36272001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3628
3629 * dired.c (file_name_completion): Pass dp->d_name to
3630 Fstring_match, not elt, which is always nil here.
3631
1d2b2268
GM
36322001-07-12 Gerd Moellmann <gerd@gnu.org>
3633
3634 * xselect.c (x_decline_selection_request): Handle errors
3635 caused by receivers that have vanished.
3636
3637 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3638 ignoring events on foreign windows in #if 0. Always dispatch
3639 the event after checking it with x_handle_property_notify.
3640
3641 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3642 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3643 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3644 (toplevel): Add prototypes for file-local functions.
3645 (x_atom_to_symbol): Remove DPYINFO parameter.
3646
fe5a0162
SM
36472001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3648
3649 * w32menu.c (menubar_selection_callback, w32_menu_show):
3650 Initialize `entry' to nil.
3651 (w32_dialog_show): Remove unused `save_wv' variable.
3652 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3653
a777242c
GM
36542001-07-11 Gerd Moellmann <gerd@gnu.org>
3655
8ee5b6a3
GM
3656 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3657
d0e2444e
GM
3658 * fileio.c (unwind_read): Print a message when discarding inserted
3659 text or switching the buffer to unibyte. Change parameter.
3660 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3661
a777242c
GM
3662 * fileio.c (unwind_read): New function.
3663 (Finsert_file_contents): Record it as unwind-function for
3664 the case that reading is interrupted by C-g.
3665
ae794295
GM
36662001-07-10 Gerd Moellmann <gerd@gnu.org>
3667
fe5a0162 3668 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3669 update when scrolling_window returns 0.
3670
6b05fae3
GM
3671 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3672
3673 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3674 for the case that x_decode_color signals an error.
6b05fae3 3675
ae794295
GM
3676 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3677
bb6e8cee
GM
36782001-07-09 Gerd Moellmann <gerd@gnu.org>
3679
3680 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3681 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3682 around ioctls.
3683
36b40a8a
EZ
36842001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3685
24b97d4b
EZ
3686 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3687 doc string line for dos-timezone-offset.
3688
36b40a8a
EZ
3689 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3690 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3691 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3692 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3693
3694 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3695
0967b4b0
GM
36962001-07-05 Gerd Moellmann <gerd@gnu.org>
3697
f25cfe53
GM
3698 * sound.c: Include Emacs' header files with #include "...".
3699
0967b4b0
GM
3700 * eval.c (specbind): Additionally record the buffer that was
3701 current when a buffer-local or frame-local variable was bound.
3702
c347a1c3
GM
37032001-07-04 Gerd Moellmann <gerd@gnu.org>
3704
3705 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3706 to unibyte characters in unibyte buffers.
3707
6332ca8a
GM
37082001-07-03 Gerd Moellmann <gerd@gnu.org>
3709
38472d44
GM
3710 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3711 the frame on the binding stack. Change format of entries for
3712 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3713 (unbind_to): Handle unbinding a frame-local variable.
3714
6332ca8a 3715 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3716 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3717 (dump_glyph_row): Print row's continuation_lines_width.
3718 (try_window_id): Take the shortcut if ZV is visible in the
3719 window, but there are actually no changes at ZV.
3720
63d1b174
GM
37212001-07-02 Gerd Moellmann <gerd@gnu.org>
3722
4c175203
GM
3723 * xterm.h (x_free_dpy_colors): Add prototype.
3724
3725 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3726 right number of arguments.
3727
0b54ce28
GM
3728 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3729 ($(lwlibdir)TAGS): New target.
4c175203 3730 (TAGS): Fix dependency list.
0b54ce28 3731
63d1b174
GM
3732 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3733 with input blocked.
3734
d827466c
GM
37352001-06-30 Gerd Moellmann <gerd@gnu.org>
3736
3737 * emacs.c (main): Remove extern declaration for sys_nerr, which
3738 isn't used and causes a compilation error with GCC 3.0 on
3739 FreeBSD 4.3.
3740
b5cb1ada
GM
37412001-06-27 Gerd Moellmann <gerd@gnu.org>
3742
a5d3ec3f 3743 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3744 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3745 (toplevel): Include <signal.h> and syssignal.h.
3746
b5cb1ada
GM
3747 * sound.c (vox_configure, vox_close): Turn off atimers
3748 around ioctls.
3749
d9bad487
GM
37502001-06-26 Gerd Moellmann <gerd@gnu.org>
3751
fdbb67fe
GM
3752 * keyboard.c (read_char) <non_reread>: Record the previous idle
3753 start time before calling timer_stop_idle.
3754 (read_char) <reread_first>: After processing a help-echo event,
3755 restore the previous idle start time.
3756
d9bad487
GM
3757 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3758 the start of invisible text.
3759 (setup_for_ellipsis): New function.
3760 (next_overlay_string): After all overlay strings have been
3761 processed, display an ellipsis if necessary.
3762 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3763 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3764
3765 * dispextern.h (struct iterator_stack_entry): Add member
3766 display_ellipsis_p.
3767
2b9c25e0
GM
37682001-06-25 Gerd Moellmann <gerd@gnu.org>
3769
80de57df
GM
3770 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3771 on the value of the wait-for-wm frame parameter.
3772
3773 * xterm.h (struct x_output): Add member wait_for_wm.
3774
3775 * xfns.c (Qwait_for_wm): New variable.
3776 (x_frame_parms): Add entry for `wait-for-wm".
3777 (x_set_wait_for_wm): New function.
3778 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3779 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3780
2b9c25e0
GM
3781 * xdisp.c (try_window_id) <all changes below window end>: Don't
3782 take this shortcut if ZV is visible in the window.
3783 (try_window_id): When checking for window start being in changed
3784 text, don't check that the buffer's size has changed.
3785
f772775c
RS
37862001-06-23 Richard M. Stallman <rms@gnu.org>
3787
3788 * minibuf.c (Fcompleting_read): Doc fix.
3789
fa9090b8
GM
37902001-06-19 Gerd Moellmann <gerd@gnu.org>
3791
3792 * composite.c (Ffind_composition_internal): Accept ZV
3793 and a string's end position as POS.
3794
f6f1beba
GM
37952001-06-18 Gerd Moellmann <gerd@gnu.org>
3796
3797 * composite.c (Ffind_composition_internal): Check POS
3798 for validity.
3799
0ae83348
EZ
38002001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3801
3802 * editfns.c (Fmessage_box): If the frame is not under a window
3803 system, output the message in the echo area.
3804
e4cdc335
RS
38052001-06-14 Richard M. Stallman <rms@gnu.org>
3806
3807 * xdisp.c (try_window_id): When EOB is visible, don't treat
3808 insertion at EOB as if it were "off the bottom of the screen."
3809
a55a5f3c
AI
38102001-06-11 Andrew Innes <andrewi@gnu.org>
3811
3812 * w32proc.c (create_child): Add new parameter is_gui_app.
3813 (w32_executable_type): Add new parameter is_gui_app.
3814 (sys_spawnve): Use it.
3815 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3816 SIGQUIT. This matches better how the signals are interpreted by
3817 MSVC compiled programs.
3818 (syms_of_ntproc): Update docstring.
3819
1b85dc1c
SM
38202001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3821
3822 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3823 well otherwise note_mouse_highlight might optimize away highlighting
3824 if we pass over that same overlay again.
3825
b75f8eab
EZ
38262001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3827
3828 * lread.c (Fload): Document that the argument is run via
3829 substitute-in-file-name.
3830
94843cc1
GM
38312001-05-31 Gerd Moellmann <gerd@gnu.org>
3832
b14659e6
GM
3833 * Makefile.in (bootstrap-doc): New target.
3834 (bootstrap-emacs): Depend on it.
3835
0894672f
GM
3836 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3837 auto-save-list-file-name when shutting down Emacs, because
3838 creating the directory might signal an error, and leaves
3839 Emacs in a strange state.
3840
94843cc1
GM
3841 * term.c: (tty_cursor_hidden): New variable.
3842 (update_begin): Don't call tty_hide_cursor. Clean up.
3843 (update_end, set_terminal_window, set_scroll_region): Clean up.
3844 (ring_bell, reset_terminal_modes): Clean up.
3845 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3846 on tty_cursor_hidden.
3847 (write_glyphs): Call tty_hide_cursor.
3848
db3a49a6
SM
38492001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3850
3851 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3852
8bd189fb
GM
38532001-05-30 Gerd Moellmann <gerd@gnu.org>
3854
6f1be3b9
GM
3855 * xfns.c (enum image_value_type): New enumerator
3856 IMAGE_STRING_OR_NIL_VALUE.
3857 (parse_image_spec): Handle it.
3858 (xbm_format, pbm_format): Use it for :foreground and :background.
3859 (xbm_load, pbm_load): Check for nil color names.
3860
8bd189fb
GM
3861 * xterm.c (note_mouse_highlight): If an overlapping overlay
3862 exists, but we find that we highlight the same overlay as before,
3863 don't do the highlighting again.
3864
7bdba03c
GM
38652001-05-29 Gerd Moellmann <gerd@gnu.org>
3866
4c329aa8
GM
3867 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3868 Protect unibyte strings created by replacing their multibyte
3869 equivalents in menu_items.
3870
e15e2828
GM
3871 * keymap.c (Fsingle_key_description): NUL-terminate the string
3872 buffer before calling build_string.
3873
7bdba03c
GM
3874 * callproc.c (Fcall_process): Deal with decode_coding returning
3875 CODING_FINISH_INCONSISTENT_EOL.
3876
89c8dc6c
GM
38772001-05-28 Gerd Moellmann <gerd@gnu.org>
3878
db3a49a6 3879 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3880 an item's name with its key description in case the description
3881 is a multibyte string.
3882
3883 * keymap.c (Fsingle_key_description): Create a multibyte string
3884 only if necessary.
3885
eb04d6cd
GM
3886 * macros.c (Fstart_kbd_macro): Doc fix.
3887
8bd6307f
GM
3888 * xterm.c (cursor_in_mouse_face_p): New function.
3889 (x_draw_stretch_glyph_string): Use it to choose a different GC
3890 when drawing a cursor within highlighted text.
3891
e26c4089
GM
3892 * editfns.c (char_property_eq): Put in #if 0.
3893
3894 * indent.c (string_display_width): Put in #if 0.
3895
3896 * lread.c (Fload): Remove unused label.
3897
89c8dc6c
GM
3898 * termcap.c (speeds): Put in #if 0.
3899
9a1211f2
GM
39002001-05-18 Gerd Moellmann <gerd@gnu.org>
3901
29148a3f
GM
3902 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3903
9a1211f2
GM
3904 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3905 transformation matrix by 10.
3906
09393d07
GM
39072001-05-16 Gerd Moellmann <gerd@gnu.org>
3908
3909 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3910 only if it's equal to the former foreground pixel color.
db3a49a6 3911 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3912 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3913
460e6bae
GM
39142001-05-16 Dave Love <fx@gnu.org>
3915
3916 * insdel.c (signal_before_change, signal_after_change): Consider a
3917 local change hook which changes the buffer.
99c78ce8
GM
3918
3919 * process.c (read_process_output): Don't call signal_after_change
3920 and update_compositions after insert_from_string_before_markers.
3921
dbcf3c03
GM
39222001-05-16 Gerd Moellmann <gerd@gnu.org>
3923
a90b3d3c
GM
3924 * xfaces.c (split_font_name): Use the right field when
3925 checking for `[...]' syntax.
3926
1b7818b4
GM
3927 * buffer.c (copy_overlays): New function.
3928 (clone_per_buffer_values): Use it.
3929
3930 * buffer.h (OVERLAY_PLIST): New macro.
3931
9bae8781
GM
3932 * keymap.c (Fsingle_key_description): Replace a build_string with
3933 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3934
dbcf3c03
GM
3935 * fontset.c (Ffontset_info): Check that face is non-null
3936 before accessing its fields.
3937
8a1ae4dd
GM
39382001-05-15 Gerd Moellmann <gerd@gnu.org>
3939
18a0a39e
GM
3940 * keyboard.c (read_key_sequence): Prevent generating a fake
3941 prefix key twice.
3942
e335b66a
GM
3943 * xfaces.c (split_font_name): Handle `[...]' for the right
3944 font name fields.
3945
8a1ae4dd
GM
3946 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3947 of CCL_STAT_INVALID_CMD.
3948
3cf80731
SM
39492001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3950
33568849
SM
3951 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3952 in <var> has no default value yet.
3953
3cf80731
SM
3954 * xfaces.c (try_alternative_families): First try the FAMILY.
3955 And if nothing is found in the end, try again with scalable fonts.
3956 (try_font_list): Let try_alternative_families do a bit more of
3957 the work. Only use FAMILY if it is not nil.
3958 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3959
933b0249
GM
39602001-05-14 Gerd Moellmann <gerd@gnu.org>
3961
58e5af83
GM
3962 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3963 pointer shape when show_mouse_face has already done it.
33568849 3964
58e5af83 3965 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3966 full-width rows.
3967
7b16a6bf
GM
3968 * xfaces.c (split_font_name): Make sure to leave the loop
3969 with the right value of `i'.
3cf80731 3970
933b0249
GM
3971 * xfaces.c (split_font_name): Handle matrix transformations
3972 in the pixel and point size fields of XLFD font names.
3973 (xlfd_point_size): Likewise.
3974
dddcbf00
EZ
39752001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3976
3cf80731 3977 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3978 (x_to_w32_font): Add prototype.
3979
7689ef0b
EZ
3980 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3981 redefining, to avoid compiler warnings.
3982
e7c15bba
EZ
3983 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3984
dddcbf00
EZ
3985 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3986 (w32_get_bdf_glyph): Cast between unsigned char and char when
3987 passing arguments to subroutines, to shut up compiler warnings.
3988 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3989 GET_HEX_VAL.
3990
3991 * xfaces.c: Include keyboard.h before frame.h, not after it.
3992
3993 * widget.c: Include keyboard.h before frame.h.
3994
3995 * w32term.h (struct image, struct face): Forward declaration, to
3996 avoid compiler warnings.
3997
7bd2d083
GM
39982001-05-11 Gerd Moellmann <gerd@gnu.org>
3999
47e72862
GM
4000 * keyboard.c (read_key_sequence): Don't modify events when
4001 generating fake prefix keys (mode-line, scroll-bar, ...) since
4002 this prevents proper processing of such events when pushed back
4003 into unread-command-events.
4004
dd5f324b
GM
4005 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
4006 actually redrawn. Make the function static.
4007 (note_mouse_highlight): Fix a case where the mouse cursor
4008 was changed back to the text cursor.
4009
4010 * xterm.h (clear_mouse_face): Remove prototype.
4011
d88a79d4
GM
4012 * xdisp.c (try_window_id): Fix the fix and set the right
4013 window_end_vpos.
4014
4015 * xdisp.c (try_window_id): Fix computation of window end in the
4016 case that lines were deleted at the end of the window. Add some
4017 more debug_method_adds.
0416532f 4018
7bd2d083
GM
4019 * xfaces.c (try_alternative_families): New function.
4020 (try_font_list): Use it. If ATTRS specifies a family, check
4021 fonts from that family first.
4022 (choose_face_font): Remove code setting the family part of
4023 the pattern to nil.
4024
23fca891
GM
40252001-05-10 Gerd Moellmann <gerd@gnu.org>
4026
ff9aa2ca
GM
4027 * xdisp.c (try_window_id): Fix case of all changes before
4028 the window start.
7b2654b5 4029
23fca891
GM
4030 * xdisp.c (try_window_id): Add some xasserts.
4031
e9726794
GM
40322001-05-09 Gerd Moellmann <gerd@gnu.org>
4033
4034 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
4035
9e53a675
GM
40362001-05-09 Dave Love <fx@gnu.org>
4037
4038 * xdisp.c (GIVE_UP): Fix for K&R C.
4039
0d487c52
GM
40402001-05-09 Gerd Moellmann <gerd@gnu.org>
4041
fe88d421
GM
4042 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
4043
0d487c52
GM
4044 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
4045 back to the text cursor shape without need.
4046
1e9fc92e
GM
40472001-05-07 Gerd Moellmann <gerd@gnu.org>
4048
a2a6232e
GM
4049 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
4050
4051 * dispextern.h (inverse_video): Declare extern.
4052
1e9fc92e
GM
4053 * keyboard.c (delete_kboard): Handle the case that selected_frame
4054 has been deleted in the course of x_connection_closed.
4055
12949a7f
EZ
40562001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
4057
7b2654b5
SM
4058 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
4059 Fix the change from 2001-04-30.
12949a7f 4060
2fa2f461
GM
40612001-05-03 Gerd Moellmann <gerd@gnu.org>
4062
a779d213
GM
4063 * xfns.c (file_dialog_unmap_cb): New function.
4064 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
4065 where a dialog is closed via the window manager.
4066
7b2654b5 4067 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
4068 the window start or all below the window end mostly rewritten.
4069 (redisplay_window): Move the tests if try_window_id is
4070 applicable to try_window_id.
4071 (GIVE_UP): New macro.
4072
3356df63
GM
40732001-05-02 Gerd Moellmann <gerd@gnu.org>
4074
a39202f6 4075 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
4076 currently being updated, mark the frame garbaged.
4077 Fix computation of rows intersecting the exposed rectangle.
a39202f6 4078 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 4079
3356df63
GM
4080 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
4081 again if it has already been drawn.
4082
a9d2fd1d
SM
40832001-05-01 Stefan Monnier <monnier@cs.yale.edu>
4084
4085 * syntax.c (update_syntax_table): Check that oldi has the same
4086 properties as old_prop before deciding not to invalidate.
4087
c95fc5f1
GM
40882001-04-30 Gerd Moellmann <gerd@gnu.org>
4089
a9793e45
GM
4090 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
4091 read-only text that is so because of text properties.
4092
c95fc5f1 4093 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 4094 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
4095 windows that are components of a Lucid menu bar.
4096
5a5d9185
GM
40972001-04-27 Gerd Moellmann <gerd@gnu.org>
4098
4099 * term.c (turn_on_face): Fix reverse video handling on terminals
4100 that don't support colors.
4101
ba973f7a
GM
41022001-04-26 Gerd Moellmann <gerd@gnu.org>
4103
4104 * editfns.c (save_excursion_restore): Don't use XBUFFER on
4105 a non-buffer.
4106
8c56a983
GM
41072001-04-25 Gerd Moellmann <gerd@gnu.org>
4108
a728644c
GM
4109 * term.c (toggle_highlight): New function.
4110 (turn_on_face): Change handling of reverse video.
4111
7b2654b5
SM
4112 * process.c (wait_reading_process_input):
4113 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 4114
bfd8410f
GM
4115 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4116 of the number of overlays to check.
4117
be2488ca
GM
4118 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4119
8c56a983
GM
4120 * xdisp.c (try_window_id): Fix a case where window_end_pos
4121 and window_end_bytepos were not adjusted.
4122
522d42f7
GM
41232001-04-23 Gerd Moellmann <gerd@gnu.org>
4124
4125 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4126 zero instead of -1.
4127
78c1afb6
EZ
41282001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4129
a9d2fd1d
SM
4130 * process.c (wait_reading_process_input) [!subprocesses]:
4131 Don't reference waiting_for_user_input_p, it's not defined in the
4132 branch without async subprocesses support.
78c1afb6 4133
a2fab450
GM
41342001-04-19 Gerd Moellmann <gerd@gnu.org>
4135
a122a38e
GM
4136 * keyboard.c (delete_kboard): Prevent a dangling reference
4137 from current_kboard to KB, which is freed.
4138
a9d2fd1d
SM
4139 * process.c (wait_reading_process_input):
4140 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4141 read_key_sequence aware of buffer changes from under it.
4142
0f8d6dc7
GM
41432001-04-18 Gerd Moellmann <gerd@gnu.org>
4144
eeffb293
GM
4145 * xfaces.c (Qscalable_fonts_allowed): New variable.
4146 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4147 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4148 removed.
eeffb293 4149 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4150 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4151 for scalable-fonts-allowed to t.
eeffb293 4152
0f8d6dc7
GM
4153 * fileio.c (Finsert_file_contents): If the file size returned from
4154 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4155 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4156
eec2d1de
EZ
41572001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4158
4159 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4160 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4161 (__memalign_hook): Make the two prototypes consistent.
4162
f4f480bd
GM
41632001-04-17 Gerd Moellmann <gerd@gnu.org>
4164
4165 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4166 matrix of mini-windows.
4167
52283633
SM
41682001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4169
4170 * intervals.c (find_interval): Don't rebalance during signal handling.
4171
ec2423c9
GM
41722001-04-11 Gerd Moellmann <gerd@gnu.org>
4173
30cb0001 4174 * fns.c: Include blockinput.h.
52283633 4175
ec2423c9
GM
4176 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4177
719d83ad
GM
41782001-04-10 Gerd Moellmann <gerd@gnu.org>
4179
60f8d735
GM
4180 * fns.c (Fcompare_strings): Fix return values.
4181
afffeb57
GM
4182 * window.c (window_scroll): Change the meaning of N to mean
4183 N screen-fulls or N lines.
4184 (window_scroll_pixel_based, window_scroll_line_based)
4185 (scroll_command, Fscroll_other_window): Change accordingly.
4186
52283633
SM
4187 * window.c (window_scroll_pixel_based, Frecenter):
4188 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4189 height of the window.
4190
4191 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4192 instead of using it.last_visible_y for the height of the window.
52283633 4193
719d83ad 4194 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4195 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4196
4197 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4198 able to write to hidden and system files. From Dan Holmsand
4199 <dan@eyebee.com>.
719d83ad 4200
8ddf3ee1
GM
4201 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4202 Holmsand <dan@eyebee.com>.
719d83ad 4203
522ed7fb
GM
42042001-04-09 Gerd Moellmann <gerd@gnu.org>
4205
9170e5d4
GM
4206 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4207
522ed7fb
GM
4208 * window.c (window_internal_height): Return 1 less if the
4209 window has a header line.
4210
4211 * xdisp.c (try_window_id): When scrolling on a terminal, take
4212 the change of window_internal_height into account.
4213
ceeb3d7d
EZ
42142001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4215
4216 * gmalloc.c (align): If the argument SIZE would overflow
4217 __malloc_ptrdiff_t, fail right away.
4218
63685b9d
GM
42192001-04-06 Gerd Moellmann <gerd@gnu.org>
4220
4221 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4222 Make sure the tooltip is completely visible.
4223 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4224
4225 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4226
4227 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4228
3ffb33bb
DL
42292001-04-06 Dave Love <fx@gnu.org>
4230
52283633
SM
4231 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4232 Fix test of `from'.
3ffb33bb 4233
869fb12c
GM
42342001-04-06 Gerd Moellmann <gerd@gnu.org>
4235
52283633 4236 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4237
869fb12c
GM
4238 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4239
441bf856
GM
42402001-04-05 Gerd Moellmann <gerd@gnu.org>
4241
4d664b04
GM
4242 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4243
52283633 4244 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4245
30ca89f5
GM
4246 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4247 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4248
4249 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4250 shell widget's position only if it is non-null.
4251
52283633
SM
4252 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4253 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4254
81a81c0f
GM
4255 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4256 FILENAME to bring it in synch with the documentation.
4257
441bf856
GM
4258 * xfaces.c (realizing_basic_faces_p): Renamed from
4259 realize_default_face_p.
4260 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4261 (realize_default_face): Don't set the flag.
4262
702a1e8e
GM
42632001-04-04 Gerd Moellmann <gerd@gnu.org>
4264
1013f4e3
GM
4265 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4266
52283633
SM
4267 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4268
1013f4e3
GM
4269 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4270 the buffer that was used for echoing.
4271
702a1e8e
GM
4272 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4273 (first_font_matching): Removed unused function.
4274 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4275 (may_use_scalable_font_p): Remove parameter FONT; rename
4276 parameter NAME to FONT.
4277 (x_face_list_fonts): Fix missing bounds check.
4278 (realizing_default_face_p): New variable.
4279 (realize_default_face): Set and clear that flag.
4280 (x_face_list_fonts): When called during the realization of the
4281 default face, and no matching fonts are found when ignoring
4282 scalable fonts and fonts matching a regexp from
4283 face-ignored-fonts, try without ignoring fonts.
4284
f9dbcda4
GM
42852001-04-03 Gerd Moellmann <gerd@gnu.org>
4286
ad18ffb1
GM
4287 * xfns.c (postprocess_image): New function.
4288 (lookup_image): Call it for all image types except PostScript.
4289 (x_kill_gs_process): Call postprocess_image.
4290
f9dbcda4
GM
4291 * xterm.c (x_use_underline_position_properties): New variable.
4292 (x_draw_glyph_string): Use it.
4293 (syms_of_xterm): DEFVAR_BOOL it.
4294
651f03b6
GM
42952001-04-02 Gerd Moellmann <gerd@gnu.org>
4296
4297 * xterm.c (x_alloc_nearest_color_1): New function.
4298 (x_alloc_nearest_color): Use it.
4299 (x_color_cells): Take a Display as argument, instead of a frame.
4300 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4301 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4302 (x_initialize): Register cvt_string_to_pixel as resource converter
4303 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4304
73d75a62
GM
43052001-03-30 Gerd Moellmann <gerd@gnu.org>
4306
b2046df8
GM
4307 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4308 (set_iterator_to_next): If a string from a display property ends,
4309 consider the case that this might also be the end of an
4310 overlay string having the display property.
4311
52283633 4312 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4313
87d8eba4
GM
4314 * xdisp.c (reseat_to_string): Undo last change.
4315
73d75a62
GM
4316 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4317 matrix of a window when the header line changes, when
4318 new rows are allocated, or when the width changes.
4319
911a2406
EZ
43202001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4321
52283633 4322 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4323
aea51abe
EZ
43242001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4325
4326 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4327 deprecated.
4328
176bc847
GM
43292001-03-29 Gerd Moellmann <gerd@gnu.org>
4330
ed31fabf
GM
4331 * data.c (Fsubr_interactive_form): New function.
4332 (syms_of_data): Defsubr it.
4333
176bc847
GM
4334 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4335 (live_float_p, live_misc_p): Return 1 only if the offset of the
4336 pointer in its block is >= 0.
4337
e59d0e9d
GM
43382001-03-28 Paul Eggert <eggert@twinsun.com>
4339
4340 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4341 microseconds calcuation. Avoid double-rounding problem.
4342 In doc string, warn that the result is approximate.
4343
f827b862
GM
43442001-03-28 Gerd Moellmann <gerd@gnu.org>
4345
30a3f61c
GM
4346 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4347 bind `inhibit-eval-during-redisplay' to t.
4348
4349 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4350
4351 * xdisp.c (inhibit_eval_during_redisplay)
4352 (Qinhibit_eval_during_redisplay): New variables.
4353 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4354 don't eval, return nil instead.
4355 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4356 Initialize Qinhibit_eval_during_redisplay.
4357
e719f5ae
GM
4358 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4359 the iterator's multibyte_p flag.
4360
deb2613a
GM
4361 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4362 instead of setting it to zero; it's incremented for each frame
4363 where the menu face is changed.
4364
52283633
SM
4365 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4366 change bottom shadow accordingly.
4367
4368 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4369 intersections here.
4370 (expose_window): Do it here instead.
52283633 4371 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4372
f827b862
GM
4373 * bytecode.c (BYTE_CODE_QUIT): New macro.
4374 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4375
4bde0ebb
GM
43762001-03-27 Gerd Moellmann <gerd@gnu.org>
4377
607ec83c
GM
4378 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4379 Give up if matrix starts in an ellipsis.
4380 (init_from_display_pos): Do nothing if POS doesn't specify
4381 a dpvec_index but the iterator has such a position.
4382
0245398f
GM
4383 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4384
aba25348
GM
4385 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4386 x/y position is (0, 0) after destroying the menu bar, restore
4387 its original position.
4388
4bde0ebb
GM
4389 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4390 (init_from_display_pos): Use it.
4391 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4392
8cdb267e
GM
43932001-03-26 Gerd Moellmann <gerd@gnu.org>
4394
4395 * xdisp.c (try_window_id): Undo last change.
4396
9948db79
EZ
43972001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4398
4399 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4400
4401 * buffer.c (syms_of_buffer): Doc fix.
4402
2eddf899
GM
44032001-03-26 Gerd Moellmann <gerd@gnu.org>
4404
4405 * xfaces.c (x_update_menu_appearance): Use local variable
4406 popup_path for setting font resources.
4407
6c145d35
EZ
44082001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4409
6a65b1b5
EZ
4410 * frame.c (Fframe_list): Don't reference tip_frame if
4411 HAVE_WINDOW_SYSTEM is not defined.
4412
6c145d35
EZ
4413 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4414 <wl@gnu.org>.
4415
d74c1900
GM
44162001-03-25 Gerd Moellmann <gerd@gnu.org>
4417
20fbd925
GM
4418 * xdisp.c (init_from_display_pos): Test invisible property
4419 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4420
927c5b3b
GM
4421 * xdisp.c (redisplay_internal) <update one window>: Make sure
4422 last_arrow_position and last_arrow_string are set.
4423
d74c1900
GM
4424 * frame.c (Fframe_list): Don't return a tooltip frame.
4425
091f8878
GM
44262001-03-23 Gerd Moellmann <gerd@gnu.org>
4427
52283633
SM
4428 * xdisp.c (mark_window_display_accurate_1): New function,
4429 extracted from mark_window_display_accurate.
4430 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4431 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4432 (mark_window_display_accurate): Use it.
4433 (redisplay_internal): Use it for the selected window.
4434 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4435 for the selected frame.
4436
ac90c44f
GM
4437 * xdisp.c Use make_number, for readability.
4438 (try_window_id): Disable rows below the window end.
4439 (try_window_reusing_current_matrix): Use cursor_row_p.
4440 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4441 of rows.
4442 (init_from_display_pos): If POS specifies a position in a display
4443 vector, maybe get the iterator set up for that ellipsis.
43c09969 4444
091f8878
GM
4445 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4446
991786dd
EZ
44472001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4448
4449 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4450
6c29b43c
GM
44512001-03-23 Gerd Moellmann <gerd@gnu.org>
4452
4453 * xfaces.c (x_update_menu_appearance): Use a different path
4454 for Lucid popup menus.
4455
d8731202
SM
44562001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4457
4458 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4459
4460 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4461 (string_buffer_position): Use `make_number'.
4462
f61a541b
GM
44632001-03-22 Gerd Moellmann <gerd@gnu.org>
4464
3c9e997b
GM
4465 * xfaces.c (x_update_menu_appearance): Renamed from
4466 x_set_menu_face_resources. Use different resources for popups.
4467
4468 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4469 (GC_CHECK_STRING_BYTES): Don't define.
4470
364cd450
GM
4471 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4472 Removed, together with subroutines.
4473 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4474 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4475
d8731202
SM
4476 * dispextern.h (x_set_menu_resources_from_menu_face):
4477 Remove prototype.
364cd450 4478
d8731202 4479 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4480 Remove calls to x_set_menu_resources_from_menu_face.
4481
d8731202
SM
4482 * xfaces.c (xm_set_menu_resources_from_menu_face):
4483 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4484
4485 * xmenu.c: Include widget.h.
4486 (single_submenu): Return int. Some cleanup.
4487 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4488
140330de
GM
44892001-03-21 Gerd Moellmann <gerd@gnu.org>
4490
4491 * xterm.c (x_update_window_end): Handle overwritten mouse face
4492 also for tool bar windows.
4493 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4494 DRAW is DRAW_IMAGE_RAISED.
4495
1741905c
GM
44962001-03-20 Gerd Moellmann <gerd@gnu.org>
4497
fa88947e
GM
4498 * print.c (syms_of_print): Doc fixes.
4499
1741905c
GM
4500 * fns.c (Fmd5): Doc fix.
4501
ade0bee1
GM
45022001-03-19 Gerd Moellmann <gerd@gnu.org>
4503
357e7376
GM
4504 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4505 Clear area of the frame not occupied by the scroll bar.
4506
c2c097cc
GM
4507 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4508 tip frame's root window buffer to *tip* right after creating
4509 the frame.
4510
ade0bee1
GM
4511 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4512 is an integer don't have to be for space characters.
4513
88c6e37e
GM
45142001-03-16 Gerd Moellmann <gerd@gnu.org>
4515
52283633
SM
4516 * indent.c (current_column, current_column_1, Fmove_to_column)
4517 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4518
c62eed76
KH
45192001-03-15 Kenichi Handa <handa@etl.go.jp>
4520
4521 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4522 drawing glyph string.
4523
c899e7e6
GM
45242001-03-15 Gerd Moellmann <gerd@gnu.org>
4525
d0bbfc99
GM
4526 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4527 (command_loop_1): Undo last change.
4528
03d1a189
GM
4529 * xterm.c (fast_find_position): Return the correct vpos.
4530
c899e7e6 4531 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4532 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4533 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4534 Call store_symval_forwarding with BUF null.
4535 (set_internal): Call store_symval_forwarding with the BUF
4536 parameter passed to set_internal. Formerly, the value was always
4537 set in the current buffer; the buffer recorded in specbind for
4538 this case wasn't used.
4539 (arith_driver): Reindent.
4540
52283633
SM
4541 * buffer.c (swap_out_buffer_local_variables):
4542 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4543
4544 * lisp.h (store_symval_forwarding): Change prototype.
4545
4546 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4547
57ac7c81
GM
45482001-03-14 Gerd Moellmann <gerd@gnu.org>
4549
697617d9
GM
4550 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4551 FOR_DELETION. Avoid resizing the mini-window of the selected
4552 frame if FOR_DELETION is set.
4553 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4554 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4555 signature.
4556
4557 * window.c (Fset_window_configuration): Change call to
4558 do_switch_frame to new format.
4559
4560 * keyboard.c (quit_throw_to_read_char): Change call to
4561 do_switch_frame to new format.
4562
4563 * lisp.h (do_switch_frame): Change prototype.
4564
819dce0f
GM
4565 * frame.c (Fframe_parameters): In the `buffer-list' frame
4566 parameter, store the buffer list of FRAME, not the list of the
4567 selected frame.
4568
57ac7c81
GM
4569 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4570 box just because the glyph row's full_width_p flag is set.
4571
65008712
GM
45722001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4573
4574 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4575 skip the padding blanks inserted in extend_face_to_end_of_line,
4576 before checking for trailing whitespace.
4577
159cf431
GM
45782001-03-13 Gerd Moellmann <gerd@gnu.org>
4579
52283633 4580 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4581 Remove special handling for LessTif/Motif.
4582 (toplevel): Don't include Xm/Xm.h.
4583
52283633
SM
4584 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4585 Remove workaround code for LessTif; it doesn't work anymore.
4586
2564ea1b 4587 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4588 Xm/ScrollBarP.h.
afcdc0a1 4589
52283633
SM
4590 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4591 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4592 contemporary LessTif.
4593
52283633
SM
4594 * xfaces.c (xm_set_menu_resources_from_menu_face):
4595 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4596
159cf431
GM
4597 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4598 removing button grabs.
4599
c6f7429a
KH
46002001-03-13 Kenichi Handa <handa@etl.go.jp>
4601
cb82d767
KH
4602 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4603 and clip-large-size-font as obsolete.
4604
c6f7429a
KH
4605 * lread.c (read_multibyte): Check the validity of multibyte
4606 sequence. If invalid, return the first byte.
4607
760cefb5
GM
46082001-03-12 Gerd Moellmann <gerd@gnu.org>
4609
4610 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4611 before running the command; timer functions or process
4612 filters may have set it.
4613
5141f9d0
EZ
46142001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4615
4616 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4617 Doc fix.
4618
b6a15240
GM
46192001-03-12 Gerd Moellmann <gerd@gnu.org>
4620
4621 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4622 to sprintf.
4623
95522746
GM
46242001-03-09 Gerd Moellmann <gerd@gnu.org>
4625
db14cfc5
GM
4626 * dispextern.h (string_buffer_position): Add prototype.
4627
52283633 4628 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4629 (single_display_prop_string_p): New functions.
4630
4631 * xterm.c (note_mouse_highlight): If there's no help-echo on
4632 a string, look at the buffer text ``under'' it.
4633
4634 * keyboard.c (make_lispy_event): Add string info to the event,
4635 analogous to what's done on mode lines.
4636 (read_key_sequence): For a click on a string, consider `local-map'
4637 and `keymap' of that string.
4638
52283633
SM
4639 * keyboard.c (make_lispy_event, make_lispy_movement):
4640 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4641
4642 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4643
4644 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4645 POS; return void.
4646
95522746
GM
4647 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4648 flags argument to emacs_open; it seems to conflict with O_EXCL.
4649
898a399d
KH
46502001-03-09 Kenichi Handa <handa@etl.go.jp>
4651
28cd4910
KH
4652 * composite.h (struct composition): Change types of members;
4653 glyph_len to unsigned, width to unsigned short.
898a399d 4654
4cdf6a6c
AI
46552001-03-08 Andrew Innes <andrewi@gnu.org>
4656
4657 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4658 menu titles.
4659
129004d3
GM
46602001-03-08 Gerd Moellmann <gerd@gnu.org>
4661
221dd3e7
GM
4662 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4663 instead of nil.
4664
52283633 4665 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4666 help-echo in strings.
4667 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4668 (fast_find_string_pos): New function.
4669
52283633
SM
4670 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4671 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4672
4673 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4674 Handle `mouse-face'.
4675
4676 * dispextern.h (face_at_string_position): Change prototype.
4677
52283633 4678 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4679
129004d3
GM
4680 * keyboard.c (make_lispy_event): Avoid generating drag events
4681 if the mouse hasn't actually moved to another buffer position.
52283633 4682
80c8ab8c
DL
46832001-03-08 Dave Love <fx@gnu.org>
4684
129004d3 4685 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4686
989521fd
GM
46872001-03-08 Gerd Moellmann <gerd@gnu.org>
4688
4689 * process.c (Fset_process_window_size): Fix a typo.
4690
bb5c338d
KH
46912001-03-08 Kenichi Handa <handa@etl.go.jp>
4692
4693 * coding.c (detect_coding_sjis): Do more rigid check.
4694 (detect_coding_big5): Likewise.
4695 (decode_coding_sjis_big5): Likewise.
4696 (Fdetect_coding_region): Call detect_coding_system with tailing
4697 anchor byte `\0' for more rigid detection.
52283633 4698 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4699 (Fdetect_coding_string): Likewise.
4700
8b8f9197
SM
47012001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4702
4703 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4704 a string before extracting its data.
4705
3bdf2660
GM
47062001-03-07 Gerd Moellmann <gerd@gnu.org>
4707
4708 * window.c (Frecenter): Rewrite code handling negative values
4709 of ARG on graphical frames.
4710
47112001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4712
4713 * window.c (displayed_window_lines): If W->start is outside the
4714 accessible portion of the buffer, call start_display with BEGV or
4715 ZV instead of W->start.
4716
471f86b9
GM
47172001-03-07 Gerd Moellmann <gerd@gnu.org>
4718
2ab62c6c
GM
4719 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4720
471f86b9
GM
4721 * process.c (Fset_process_filter): Don't crash if the input
4722 file descriptor of PROCESS is closed.
4723 (Fset_process_window_size): Likewise.
4724
101922c3
GM
47252001-03-06 Kenichi Handa <handa@etl.go.jp>
4726
4727 * xterm.c (XTflash): Make the timeout of select shorter, and call
4728 select repeatedly until the desired time expires.
4729
45d051a7
GM
47302001-03-06 Gerd Moellmann <gerd@gnu.org>
4731
4732 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4733
4734 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4735
4736 * lisp.h (Vwindow_list): Declare extern.
4737
8f372c46
EZ
47382001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4739
4740 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4741
f16a7aa5
GM
47422001-03-06 Gerd Moellmann <gerd@gnu.org>
4743
157ae273
GM
4744 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4745 to detect a case where we have to highlight a different region
4746 despite not having left the currently highlighted region.
4747 Set mouse_face_overlay in the x_display_info.
45d051a7 4748 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4749
4750 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4751
4752 * buffer.c (mouse_face_overlay_overlaps): New function.
4753
4754 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4755 (Qmouse_face): Declare extern.
4756
f16a7aa5
GM
4757 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4758 if face_change_count is non-zero.
4759
827afcac
KH
47602001-03-06 Kenichi Handa <handa@etl.go.jp>
4761
4762 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4763 that the source is unibyte.
4764
14c7242e
DL
47652001-03-05 Dave Love <fx@gnu.org>
4766
827afcac 4767 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4768
c28b847b
GM
47692001-03-05 Gerd Moellmann <gerd@gnu.org>
4770
4771 * minibuf.c (read_minibuf): Clean up the binding stack if
4772 called noninteractively.
4773
b86644f2
KH
47742001-03-05 Kenichi Handa <handa@etl.go.jp>
4775
4776 * coding.c (syms_of_coding): Docstring modified.
4777
203682cc 47782001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4779
4780 * charset.c (char_to_string): If a single byte char has modifier
4781 bits that can't be reflected to the character code, ignore them
45d051a7 4782 instead of signaling an error.
b86644f2 4783
e30bd7b7
EZ
47842001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4785
4786 * s/msdos.h: Update copyright notice.
4787
4788 * dosfns.h: Update copyright notice.
4789
4790 * dosfns.c: Update copyright notice.
4791
4792 * msdos.c: Update copyright notice.
4793
b52b65bd
GM
47942001-03-02 Gerd Moellmann <gerd@gnu.org>
4795
4796 * xterm.c (glyph_rect): New function.
4797 (XTmouse_position): Use it to raise the threshold for mouse
4798 movement event generation.
4799
53c4b1e6
EZ
48002001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4801
4802 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4803 specifies (reverse . t), reverse the initial screen colors.
4804 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4805 but we are reversing the colors, set bg_set, not fg_set.
4806 Likewise for setting background-color and reversing: set fg_set.
4807 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4808 in effect.
4809
4810 * xfaces.c (Finternal_set_lisp_face_attribute)
4811 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4812 parameters alist.
4813
f964b4d7
GM
48142001-03-02 Gerd Moellmann <gerd@gnu.org>
4815
ef53d75e
GM
4816 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4817 to a single slash in the middle of file names.
4818
52283633 4819 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4820 Accept only alphanumeric time zone names.
4821
f964b4d7
GM
4822 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4823 or width area.
4824 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4825 a widget to zero height.
52283633 4826
c3c45f65
GM
48272001-03-01 Gerd Moellmann <gerd@gnu.org>
4828
4829 * window.c (Fwindow_end): Call move_it_past_eol only if
4830 ending up on a partially visible line.
4831
028d739a
DL
48322001-03-01 Dave Love <fx@gnu.org>
4833
4834 * ccl.c (Fccl_execute): Doc fix.
4835
57c5889c
GM
48362001-03-01 Gerd Moellmann <gerd@gnu.org>
4837
35f59f6b
GM
4838 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4839 of the tool bar before calling x_figure_window_size.
4840
f84ff02c
GM
4841 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4842 NULL after destroying it, otherwise XTread_socket can access a
4843 destroyed widget when input is unblocked.
4844
8b8f9197 4845 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4846
57c5889c
GM
4847 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4848 same name as before, although there was a change in fontsets.
4849
224227d1
KR
48502001-02-28 Ken Raeburn <raeburn@gnu.org>
4851
4560730a
KR
4852 * lisp.h (Fframe_parameter): Declare.
4853
224227d1 4854 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4855 Lisp_Object.
224227d1 4856
ece93c02
GM
48572001-02-28 Gerd Moellmann <gerd@gnu.org>
4858
11ef99b9
GM
4859 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4860 NULL instead.
4861
4862 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4863 NULL instead.
4864
ece93c02
GM
4865 * alloc.c (toplevel): Include process.h.
4866 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4867 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4868 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4869 (allocate_vector, allocate_hash_table, allocate_window)
4870 (allocate_frame, allocate_process, allocate_other_vector):
4871 New functions.
ece93c02
GM
4872 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4873 (mark_maybe_pointer): New function.
52283633 4874 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4875 remain and not Lisp_Objects.
4876 (min_heap_address, max_heap_address): New variables.
4877 (mem_find): Return MEM_NIL if START is below min_heap_address or
4878 above max_heap_address.
4879 (mem_insert): Compute min_heap_address and max_heap_address.
4880
4881 * process.c (make_process): Use allocate_process.
4882
4883 * frame.c (make_frame): Use allocate_frame.
4884
4885 * window.c (make_window, make_dummy_parent): Use allocate_window.
4886 (Fcurrent_window_configuration): Use allocate_other_vector.
4887
4888 * lisp.h (allocate_vectorlike): Remove prototype.
4889 (allocate_vector, allocate_other_vector, allocate_frame)
4890 (allocate_window, allocate_process, allocate_hash_table):
4891 Add prototypes.
4892
4893 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4894 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4895
063af457
KH
48962001-02-27 Kenichi Handa <handa@etl.go.jp>
4897
4898 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4899 treat the produced bytes as a valid multibyte sequence.
4900
4901 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4902 (ccl_driver) <CCL_WriteMultibyteChar2>:
4903 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4904 <ccl_finish>: Set ccl->eight_bit_control properly.
4905
4906 * ccl.h (struct ccl_program): New member eight_bit_control.
4907
f58c6494
SM
49082001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4909
4910 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4911 accessible_keymaps_char_table.
4912 (accessible_keymaps_char_table): Obey `is_metized'.
4913 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4914 Lisp_Object.
4915
c596c392
GM
49162001-02-26 Gerd Moellmann <gerd@gnu.org>
4917
4918 * dispnew.c: Check HAVE_TERM_H before including term.h.
4919
425de386
AI
49202001-02-24 Andrew Innes <andrewi@gnu.org>
4921
4922 * makefile.w32-in: Update copyright notice.
4923
2ba11bbd
SM
49242001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4925
4926 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4927
66c56ed1
KH
49282001-02-24 Kenichi Handa <handa@etl.go.jp>
4929
4c1593ce
KH
4930 * Makefile.in (lisp): Add international/utf-8.elc.
4931
66c56ed1
KH
4932 * fontset.c (Fnew_fontset): Fix handling of the case that an
4933 element of FONTLIST is a cons of family and registry.
4934
796ead7e
JR
49352001-02-23 Jason Rumney <jasonr@gnu.org>
4936
4937 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4938 to height unconditionally.
4939
4940 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4941 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4942 (x_insert_glyphs): Call window_box_left to obtain the left
4943 x-coordinate of the area to shift.
4944
4945 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4946 safe_run_hooks.
4947
f6839838
AI
49482001-02-22 Andrew Innes <andrewi@gnu.org>
4949
52283633 4950 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4951 ($(BLD)\dispnew.obj):
4952 ($(BLD)\editfns.obj):
4953 ($(BLD)\fileio.obj):
4954 ($(BLD)\filelock.obj):
4955 ($(BLD)\keyboard.obj):
4956 ($(BLD)\w32proc.obj):
4957 ($(BLD)\process.obj):
4958 ($(BLD)\sysdep.obj): Ditto.
4959
4960 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4961 header files.
52283633
SM
4962 ($(BLD)/dispnew.$(O)):
4963 ($(BLD)/editfns.$(O)):
4964 ($(BLD)/fileio.$(O)):
4965 ($(BLD)/filelock.$(O)):
4966 ($(BLD)/keyboard.$(O)):
4967 ($(BLD)/w32proc.$(O)):
4968 ($(BLD)/process.$(O)):
f6839838
AI
4969 ($(BLD)/sysdep.$(O)): Ditto.
4970
c224f70b
GM
49712001-02-22 Gerd Moellmann <gerd@gnu.org>
4972
51695746
GM
4973 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4974 at the start of the function, check that the \n in it->c is
4975 from the iterator's current position.
52283633 4976
a61b7058
GM
4977 * xdisp.c (handle_single_display_prop): Add parameter
4978 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4979 properties which replace the display of text with something else.
4980 (handle_display_prop): Call handle_single_display_prop with
4981 additional argument saying if we already replaced text display
4982 with something else. Use AREF.
52283633 4983 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4984 (decode_mode_spec_coding): Use AREF and ASIZE.
4985
3473f362
GM
4986 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4987 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4988 * vmstime.h: Files removed.
52283633 4989
2bb58df3
GM
4990 * unexencap.c, unexfx2800.c: Files removed.
4991
c224f70b
GM
4992 * dispnew.c (direct_output_for_insert): Give up if we are showing
4993 a message or just cleared the message because we might need to
4994 resize the echo area window or display an empty echo area.
4995
ffc9ff0c
GM
49962001-02-21 Gerd Moellmann <gerd@gnu.org>
4997
0528abe1
GM
4998 * xdisp.c (redisplay_internal): Do the
4999 mark_window_display_accurate after all windows have been
5000 redisplayed because this call resets flags in buffers which are
5001 needed for proper redisplay.
5002
52283633
SM
5003 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
5004 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
5005 the old names.
5006
52283633
SM
5007 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5008 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
5009
5010 * msdos.h (struct x_output): Rename busy_window to
5011 hourglass_window, busy_p to hourglass_p.
5012
52283633
SM
5013 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5014 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
5015
5016 * xfns.c: Rename everything containing *busy_cursor* and similar
5017 to *hourglass*.
5018 (syms_of_w32fns): Rename x-busy-pointer-shape to
5019 x-hourglass-pointer-shape, display-busy-cursor to
5020 display-hourglass, busy-cursor-delay to hourglass-delay.
5021
5022 * w32fns.c: Rename everything containing *busy_cursor* and similar
5023 to *hourglass*.
5024 (syms_of_w32fns): Rename x-busy-pointer-shape to
5025 x-hourglass-pointer-shape, display-busy-cursor to
5026 display-hourglass, busy-cursor-delay to hourglass-delay.
5027
5028 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
5029 of its busy_p flag.
5030
5031 * dispextern.h (start_hourglass, cancel_hourglass)
5032 (display_hourglass_p): Renamed from *busy_cursor*.
5033
ab2c5f0a
GM
50342001-02-20 Gerd Moellmann <gerd@gnu.org>
5035
d17e49a8
GM
5036 * keyboard.c (read_char): When an event from unread-command-events
5037 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
5038
fa97adf6
GM
5039 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
5040 equal to the current buffer.
5041
ab2c5f0a
GM
5042 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
5043 nil, otherwise we're left with truncate_lines t when a message
5044 is printed with message-truncate-lines bound to t.
5045
aeac019e
GM
50462001-02-19 Gerd Moellmann <gerd@gnu.org>
5047
c8bc6f65
GM
5048 * window.c (Fmove_to_window_line): Undo last change.
5049 (displayed_window_lines): Call line_bottom_y to determine
5050 the line's bottom position.
5051
5052 * dispextern.h (line_bottom_y): Add prototype.
5053
52283633 5054 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
5055 (pos_visible_p): Use it.
5056
980a2d69
GM
5057 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
5058 set redisplaying_p to 0 here instead of in Frecursive_edit.
5059 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
5060 set redisplaying_p.
5061
52283633 5062 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
5063 New variables.
5064 (syms_of_xdisp): Initialize new variables.
5065 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
5066 Specbind `inhibit-menubar-update' when updating the menu bar.
5067
65048e97
GM
5068 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
5069 safe_run_hooks.
5070
5071 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
5072 safe_run_hooks.
5073
a57c4026
GM
5074 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
5075 is null.
5076
aeac019e
GM
5077 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
5078 to the start of the file.
5079
76846b31
GM
50802001-02-16 Gerd Moellmann <gerd@gnu.org>
5081
f3f053f3 5082 * window.c (set_window_buffer): Fix last change.
52283633 5083
f3f053f3
GM
5084 * window.c (set_window_buffer): Set window's vscroll to 0.
5085
dad75588
GM
5086 * window.c (coordinates_in_window): Increase width of area
5087 where the vertical line can be dragged.
5088
c220b753
GM
5089 * xterm.c (x_set_glyph_string_background_width): Extend the
5090 background face to the end of the drawing area in the text
5091 area, only.
5092
c56b1c1b
GM
5093 * xdisp.c (handle_single_display_prop): Set iterator's position
5094 to where the `display' property starts, like for images.
5095 (dump_glyph): New function.
5096 (dump_glyph_row): Use it. Dump info about marginal areas.
5097
5098 * dispnew.c (direct_output_for_insert): Recognize more cases where
5099 glyphs can be written instead of being inserted.
5100
5101 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
5102 the left x-coordinate of the area to shift.
5103
76846b31
GM
5104 * dired.c (directory_files_internal): Set result list to nil
5105 before retrying.
5106
0fc71a77
KH
51072001-02-15 Kenichi Handa <handa@etl.go.jp>
5108
5109 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
5110 invalid multibyte sequence, treat *SRC as a character of
5111 eight-bit-graphic.
5112
25078b54
EZ
51132001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5114
5115 * textprop.c (Fset_text_properties): Doc fix.
5116
8399f8a0
GM
51172001-02-15 Gerd Moellmann <gerd@gnu.org>
5118
5119 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5120
9a2a6f73
DL
51212001-02-14 Dave Love <fx@gnu.org>
5122
5123 * coding.c: Doc and message fixes.
5124
bf853fee
AI
51252001-02-14 Andrew Innes <andrewi@gnu.org>
5126
5127 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5128 Emacs frame above the screen size.
5129
78c663d8
GM
51302001-02-14 Gerd Moellmann <gerd@gnu.org>
5131
5132 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5133
7cc9f69f
GM
51342001-02-13 Gerd Moellmann <gerd@gnu.org>
5135
0a411995
GM
5136 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5137 case that TO ends up beyond ZV after running before-change-functions.
5138
5ddc1b75
GM
5139 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5140 the selected window if it is showing the buffer in question.
5141
7cc9f69f
GM
5142 * dired.c (directory_files_internal): Initialize errno.
5143 (toplevel): Include errno.h.
5144
2e6621ca
GM
51452001-02-13 Kenichi Handa <handa@etl.go.jp>
5146
5147 * xfaces.c (best_matching_font): New parameter width_ratio.
5148 Multiply avgwidth by width_ratio.
5149 (choose_face_font): Call best_matching_font with width_ratio
5150 calculated from the column width of C.
5151
60222d69
AI
51522001-02-12 Andrew Innes <andrewi@gnu.org>
5153
5154 The following changes are to draw box lines inside characters area
5155 if line-width is negative.
52283633 5156
60222d69
AI
5157 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5158 face->box_line_width is negative.
5159 (x_produce_stretch_glyph): Likewise.
5160 (x_produce_glyphs): Likewise.
5161 (x_estimate_mode_line_height): Likewise.
5162 (x_draw_glyph_string_background): Likewise.
5163 (x_draw_glyph_string_foreground): Likewise.
5164 (x_draw_composite_glyph_string_foreground): Likewise.
5165 (x_draw_glyph_string_box): Likewise.
5166 (x_draw_image_foreground): Likewise.
5167 (x_draw_image_relief): Likewise.
5168 (x_draw_image_foreground_1): Likewise.
5169 (x_draw_image_glyph_string): Likewise.
5170
9804b846
KH
51712001-02-09 Kenichi Handa <handa@etl.go.jp>
5172
5173 The following changes are to draw box lines inside characters area
5174 if line-width is negative.
52283633 5175
9804b846
KH
5176 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5177 face->box_line_width is negative.
5178 (x_produce_stretch_glyph): Likewise.
5179 (x_produce_glyphs): Likewise.
5180 (x_estimate_mode_line_height): Likewise.
5181 (x_draw_glyph_string_background): Likewise.
5182 (x_draw_glyph_string_foreground): Likewise.
5183 (x_draw_composite_glyph_string_foreground): Likewise.
5184 (x_draw_glyph_string_box): Likewise.
5185 (x_draw_image_foreground): Likewise.
5186 (x_draw_image_relief): Likewise.
5187 (x_draw_image_foreground_1): Likewise.
5188 (x_draw_image_glyph_string): Likewise.
5189
5190 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5191 and :line-width can be negative.
52283633 5192 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5193
49be9f70
JR
51942001-02-09 Jason Rumney <jasonr@gnu.org>
5195
5196 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5197 characters the same as ASCII and latin-1.
5198 (x_display_and_set_cursor): Check for the focus frame's selected
5199 window instead of selected_window.
5200 (x_after_update_window_line): Don't clear if frame's internal
5201 border width is zero.
5202 (x_new_font): Don't change a tooltip's size.
5203 (w32_initialize): Set char_ins_del_ok to 1.
5204
5205 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5206 (x_set_font): If font hasn't changed, avoid recomputing
5207 faces and other things.
52283633
SM
5208 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5209 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5210 (x_create_tip_frame): Prevent changing the tooltip's
5211 background color by specifying a color for the default font
5212 in .Xdefaults.
5213 (Qcancel_timer): New variable.
5214 (syms_of_w32fns): Initialize and staticpro it.
5215 (Fx_hide_tip, Fx_show_tip): Use it.
5216 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5217 the timer.
5218 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5219
5220 * w32.c (init_environment): Duplicate local string before putenv.
5221
555e35d2
SZ
52222001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5223
5224 * charset.c (Fstring): A typo.
5225
19c92c94
KH
52262001-02-09 Kenichi Handa <handa@etl.go.jp>
5227
e47a1c33
KH
5228 * charset.c (Fstring): If all arguments are less than 256, return
5229 a unibyte string.
5230
5231 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5232 return a unibyte string.
5233
19c92c94
KH
5234 * coding.c (code_convert_region): After detecting a coding, if
5235 nothing found, set coding->composing to COMPOSITION_NO.
5236 (decode_coding_string): Likewise.
5237
d8e675f5
SM
52382001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5239
5240 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5241 to avoid overflow.
5242
bd503487
KH
52432001-02-07 Kenichi Handa <handa@etl.go.jp>
5244
5245 * charset.c (parse_str_to_multibyte): New function.
5246
5247 * charset.h (parse_str_to_multibyte): Extern it.
5248
5249 * print.c (print_string): If we are going to print a unibyte
5250 string into a multibyte buffer, convert the string to multibyte by
5251 str_to_multibyte.
5252
a8370d72
AI
52532001-02-06 Andrew Innes <andrewi@gnu.org>
5254
5255 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5256 been created. It seems we can get sent window messages such as
5257 WM_ERASEBKGND before we properly update a frame.
5258
c363a1d6
GM
52592001-02-06 Gerd Moellmann <gerd@gnu.org>
5260
5261 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5262 Avoid some unnecessary cursor positioning.
5263
a08332c0
GM
52642001-02-05 Gerd Moellmann <gerd@gnu.org>
5265
52283633 5266 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5267 (LFACE_AVGWIDTH): New macro.
5268 (LFACEP): Use AREF.
5269 (check_lface_attrs): Check LFACE_AVGWIDTH.
5270 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5271 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5272 (merge_face_vectors): Check LFACE_AVGWIDTH.
5273 (Finternal_make_lisp_face): Use AREF.
5274 (xm_set_menu_resources_from_menu_face)
5275 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5276 (Finternal_lisp_face_empty_p): Use AREF.
5277 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5278 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5279 Compare average widths..
5280 (best_matching_font): Arrange for comparing average widths.
5281
52283633
SM
5282 * dispextern.h (enum lface_attribute_index):
5283 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5284
5cb3c8d4
DL
52852001-02-05 Dave Love <fx@gnu.org>
5286
5287 * puresize.h: Revert last change following loadup.el change.
5288
193fba87
AI
52892001-02-05 Andrew Innes <andrewi@gnu.org>
5290
5291 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5292 invocation of temacs, to work with Windows 2000.
5293 (bootstrap-emacs): Ditto.
5294
e16f52ce
GM
52952001-02-05 Gerd Moellmann <gerd@gnu.org>
5296
7a58ab59
GM
5297 * xterm.c (x_display_and_set_cursor): Check for the focus
5298 frame's selected window instead of selected_window.
5299
e89aaabd
GM
5300 * xdisp.c (try_scrolling): If point is in the line below the
5301 window, make sure to move the iterator at least a canonical
5302 char height down.
5303
52283633 5304 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5305
789ce875
KH
53062001-02-05 Kenichi Handa <handa@etl.go.jp>
5307
52283633
SM
5308 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5309 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5310 (ccl_driver): If the CCL program is terminated because of
5311 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5312 destination instead of throwing them away.
5313
20b28f82
GM
53142001-02-02 Gerd Moellmann <gerd@gnu.org>
5315
79fb38c0
GM
5316 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5317 faces and other things.
5318
20b28f82
GM
5319 * xdisp.c (get_next_display_element): Fix case of empty
5320 display table entry.
5321
5a72551e
EZ
53222001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5323
eb24d0bf
EZ
5324 * editfns.c (Fconstrain_to_field): Doc fix.
5325
6a3f48c7
EZ
5326 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5327 into `thoroughly', to make it consistent with the doc string.
5328
5a72551e
EZ
5329 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5330
01acdb05
GM
53312001-02-01 Gerd Moellmann <gerd@gnu.org>
5332
0353b28f
GM
5333 * search.c (search_buffer): Call set_search_regs with a byte
5334 position, not a character position.
5335
01acdb05
GM
5336 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5337 minibuffer-only,
5338
e86b5133
EZ
53392001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5340
5341 * frame.c (Fmodify_frame_parameters): Doc fix.
5342
7442878f
GM
53432001-01-31 Gerd Moellmann <gerd@gnu.org>
5344
01acdb05
GM
5345 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5346 identifier which is not reserved by Standard C.
52283633 5347
7442878f
GM
5348 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5349
5350 * window.c (enum window_part): New enumeration.
5351 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5352 Qright_bitmap_area.
5353 (coordinates_in_window): Return an enumerator from enum
5354 window_part. Fix handling of right scroll bar.
5355 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5356 `right-fringe' instead of `left-bitmap-area' and
5357 `right-bitmap-area'. Use enumerators from enum window_part
5358 instead of hard-coded integers.
52283633
SM
5359 (check_window_containing, window_from_coordinates):
5360 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5361 (syms_of_window): Replace Qleft_bitmap_area and
5362 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5363
7c132cba
EZ
53642001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5365
5366 * editfns.c (Fformat_time_string): Doc fix.
5367
c359dd9e
SM
53682001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5369
5370 * keymap.c (Fwhere_is_internal): Use the first valid binding
5371 if no ascii binding is found (when firstonly is t).
5372
ce070307
GM
53732001-01-31 Gerd Moellmann <gerd@gnu.org>
5374
b4f30ec5
GM
5375 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5376 instead of Finteractive_p.
5377
5378 * lisp.h (interactive_p): Add prototype.
5379
5380 * eval.c (interactive_p): New function.
5381 (Finteractive_p): Use it.
5382
ce070307
GM
5383 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5384
f57b6e64
DL
53852001-01-31 Dave Love <fx@gnu.org>
5386
d61c7afe
DL
5387 * .gdbinit (hook-run): Define to run xreload.
5388
f57b6e64
DL
5389 * textprop.c (Fset_text_properties): Fix newline in doc string.
5390
eef93f99
GM
53912001-01-30 Gerd Moellmann <gerd@gnu.org>
5392
52283633
SM
5393 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5394 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5395
5396 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5397 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5398 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5399
5400 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5401 height.
5402
d9c1f6f9
DL
54032001-01-30 Dave Love <fx@gnu.org>
5404
5405 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5406 AFTER_POTENTIAL_GC.
5407
e8f044a0
GM
54082001-01-29 Gerd Moellmann <gerd@gnu.org>
5409
52283633
SM
5410 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5411 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5412
8e1db7b3
EZ
54132001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5414
5415 * textprop.c (Fset_text_properties): Doc fix.
5416
4eefd9d2
GM
54172001-01-29 Gerd Moellmann <gerd@gnu.org>
5418
5419 * xdisp.c (forward_to_next_line_start): Remove xassert.
5420
fccb8288
EZ
54212001-01-29 Jason Rumney <jasonr@gnu.org>
5422
4eefd9d2 5423 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5424 returning without releasing it.
5425
76581eab
KH
54262001-01-29 Kenichi Handa <handa@etl.go.jp>
5427
5428 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5429 for '^', '$', and '\0'.
5430
83a96b4d
AC
54312001-01-28 Andrew Choi <akochoi@i-cable.com>
5432
5604ec34
AC
5433 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5434 regex for '^', '$', and '\0'.
5435
83a96b4d
AC
5436 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5437 only if current_sblock has been initialized.
5438
5439 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5440 terminal frame even if it is the only visible frame.
5441
c09a6440
KH
54422001-01-28 Kenichi Handa <handa@etl.go.jp>
5443
5444 * fontset.c (font_family_registry): Even if FONTNAME conform to
5445 XLFD, if it specifies other fields than family and registry,
52283633 5446 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5447 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5448 a signle byte character. Don't set FAMILY part to nil here.
5449 It is handled by the caller choose_face_font.
c09a6440
KH
5450 (Fnew_fontset): Call font_family_registry with FORCE 0.
5451 (Fset_fontset_font): Likewise.
5452
4dcd74e6
GM
54532001-01-27 Gerd Moellmann <gerd@gnu.org>
5454
5455 * xdisp.c (display_line): Don't treat a newline as fitting
5456 on the line.
5457
d2906bf8
GM
54582001-01-26 Gerd Moellmann <gerd@gnu.org>
5459
0130fe1a
GM
5460 * window.c (size_window): Set the window's orig_top to nil when
5461 changing heights, so that a future shrink_mini_window won't
5462 restore a bogus height.
5463
550f0e6a
GM
5464 * frame.c (do_switch_frame): If selected frame has a mini-window,
5465 resize that to exact size.
5466
b7b20fbd
GM
5467 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5468
a47b7816
GM
5469 * xdisp.c (display_line): Simplify check for glyphs fitting
5470 entirely in the line.
5471
d2906bf8
GM
5472 * xfns.c (xic_style): New variable.
5473 (create_frame_xic): Move static variable to global scope for
550f0e6a 5474 the case that `static' gets defined away.
d2906bf8 5475
73df2b1e
KH
54762001-01-26 Kenichi Handa <handa@etl.go.jp>
5477
5478 * coding.c (decode_coding): Set a flag for inhibiting
5479 inconsistent eol.
5480 (code_convert_region): Always set saved_coding_symbol.
5481 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5482 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5483
6613cfc4
GM
54842001-01-25 Gerd Moellmann <gerd@gnu.org>
5485
c5e6e06b
GM
5486 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5487 XClearArea.
5488
5489 * xterm.c (x_after_update_window_line): Don't clear if frame's
5490 internal border width is zero.
5491 (x_clear_area): New function.
5492 (x_after_update_window_line, x_clear_end_of_line)
5493 (x_scroll_bar_create, x_scroll_bar_set_handle)
5494 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5495 instead of XClearArea.
5496
5497 * xterm.h (x_clear_area): Add prototype.
5498
6613cfc4
GM
5499 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5500 which doesn't seem necessary anymore with Lesstif 0.92.
5501
650cc6cc
DL
55022001-01-25 Dave Love <fx@gnu.org>
5503
34ac3367
DL
5504 * puresize.h (BASE_PURESIZE): Up to 720000.
5505
650cc6cc
DL
5506 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5507
5e37dc22
GM
55082001-01-25 Gerd Moellmann <gerd@gnu.org>
5509
e1e441f9
GM
5510 * xdisp.c (echo_area_display): Don't call redisplay_internal
5511 when Emacs is shutting down. We can't run hooks etc. that
5512 would be necessary to do a redisplay.
5513
5e37dc22
GM
5514 * lread.c (read_integer): Use type EMACS_INT instead of int.
5515
0fb94c7f
EZ
55162001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5517
5518 * ccl.c (ccl_driver): Fix last change.
5519
e3778624
KH
55202001-01-25 Kenichi Handa <handa@etl.go.jp>
5521
5522 * ccl.h (sturct ccl_program): New member suppress_error.
5523
bb264518 5524 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5525 insert error message to the output.
5526 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5527
5528 * coding.h (struct coding_system): New member suppress_error.
5529
5530 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5531 (Fset_terminal_coding_system_internal): Set the member
5532 suppress_error to 1.
5533 (Fset_safe_terminal_coding_system_internal): Likewise.
5534
245ed2b1
SM
55352001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5536
5537 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5538 as if it was a `charset'.
5539
f9aaedb6
GM
55402001-01-24 Gerd Moellmann <gerd@gnu.org>
5541
5542 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5543 value in where_is_cache; the next lookup in the cache returns
5544 something bogus if we do.
5545
c3902c3e
EZ
55462001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5547
5548 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5549 if HAVE_WINDOW_SYSTEM isn't defined.
5550
3497f73e
GM
55512001-01-24 Gerd Moellmann <gerd@gnu.org>
5552
e7e41584
GM
5553 * fns.c (sweep_weak_table): Fix code taking items out of
5554 the hash collision chain. Some cleanup.
5555
3497f73e
GM
5556 * xterm.c (x_new_font): Don't change a tooltip's size.
5557
5558 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5559 background color by specifying a color for the default font
5560 in .Xdefaults.
5561
3d48e687
KH
55622001-01-24 Kenichi Handa <handa@etl.go.jp>
5563
96531b20
KH
5564 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5565 a workaround for SunOS 4's cc.
5566 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5567 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5568 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5569 statement.
3d48e687 5570
a30629d2
GM
55712001-01-23 Gerd Moellmann <gerd@gnu.org>
5572
5573 * xterm.c (x_set_window_size_1): New function extracted from
5574 x_set_window_size.
5575 (x_set_window_size): Use it.
5576 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5577 doesn't have a widget, like tooltips.
5578
5a43decf
EZ
55792001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5580
52283633 5581 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5582
b0e98867
KH
55832001-01-23 Kenichi Handa <handa@etl.go.jp>
5584
5585 * fns.c (Fset_char_table_default): Fix to make sub char-table
5586 correctly.
5587
50606b4c
GM
55882001-01-22 Gerd Moellmann <gerd@gnu.org>
5589
cb2ddc53 5590 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5591 a desired tool bar string, even if there are no tool bar items.
5592
57c28064
GM
5593 * xdisp.c (Ftool_bar_lines_needed): New function.
5594 (syms_of_xdisp): Defsubr it.
5595
50606b4c
GM
5596 * editfns.c (Fformat): Don't extend text properties from arguments
5597 to padding chars in the result.
5598
2f169c38
EZ
55992001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5600
5601 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5602
0f32f023
AI
56032001-01-20 Andrew Innes <andrewi@gnu.org>
5604
52283633 5605 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5606 (w32_initialize): Don't set term hooks that aren't actually needed
5607 in windowed mode.
5608
5609 * xfaces.c (realize_default_face):
5610 (realize_face):
5611 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5612
5613 * xdisp.c (handle_single_display_prop): Remove references to
5614 FRAME_W32_CONSOLE_P.
5615
52283633 5616 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5617
5618 * frame.h (output_method): Remove output_w32_console method.
5619 (FRAME_W32_CONSOLE_P): Remove macro.
5620
5621 * frame.c (Qw32_console): Remove variable.
5622 (Fframep): Remove references to it.
5623 (syms_of_frame): Ditto.
5624 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5625
5626 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5627 redefinition.
5628
7173eada
KH
56292001-01-20 Kenichi Handa <handa@etl.go.jp>
5630
5631 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5632
755b45ce
AI
56332001-01-19 Andrew Innes <andrewi@gnu.org>
5634
5635 * w32.c (init_environment): Add a version-independent site-lisp
5636 directory to EMACSLOADPATH, after the version dependent one.
5637
0a949811
GM
56382001-01-19 Gerd Moellmann <gerd@gnu.org>
5639
8501998a
GM
5640 * editfns.c (Fbuffer_substring): Doc fix.
5641
52283633
SM
5642 * xdisp.c (message_dolog, message2, message2_nolog):
5643 Rename parameter LEN to NBYTES.
0a949811 5644
e6ebcbbe
KH
56452001-01-19 Kenichi Handa <handa@etl.go.jp>
5646
200ecca2
KH
5647 * charset.c (strwidth): Use c_string_width.
5648 (c_string_width): New function.
5649 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5650 Caller changed.
5651
5652 * charset.h (c_string_width, lisp_string_width): Extern them.
5653
52283633 5654 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5655
e6ebcbbe
KH
5656 * indent.c (check_composition): Check validity of composition.
5657
200ecca2
KH
5658 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5659 characters by calling c_string_width.
5660 (x_consider_frame_title): Get byte length of frame tile string
5661 correctly.
5662 (display_mode_element): Pay attention to width of non-ASCII
5663 characters by calling strwidth.
5664
8692ca92
GM
56652001-01-18 Gerd Moellmann <gerd@gnu.org>
5666
8962e303
GM
5667 * xfns.c (Qcancel_timer): New variable.
5668 (syms_of_xfns): Initialize and staticpro it.
5669 (Fx_hide_tip, Fx_show_tip): Use it.
5670 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5671 the timer.
5672 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5673
91523be9
GM
5674 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5675
5676 * window.h (WINDOW_LIVE_P): New macro.
5677
b0b7ed0e
GM
5678 * window.c (window_size_fixed): New variable.
5679 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5680 the doc string.
5681
06bccf8e
GM
5682 * eval.c (specbind): If binding a per-buffer variable which
5683 doesn't have a buffer-local value in the current buffer, change
5684 the global value by changing the value of the symbol bound in all
5685 buffers not having their own value, to make it consistent with
5686 what happens with other buffer-local variables.
5687
8692ca92
GM
5688 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5689
5690 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5691 when searching for a newline.
5692
bb3a3b50
KH
56932001-01-18 Kenichi Handa <handa@etl.go.jp>
5694
5695 * xdisp.c (display_string): Fix previous change.
5696
c2cc16fa
JR
56972001-01-18 Jason Rumney <jasonr@gnu.org>
5698
5699 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5700 GLYPH_DEBUG is defined.
5701 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5702 true for images with `:ascent 100'.
5703 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5704 meantime, use face MOUSE_FACE_ID.
5705 If first glyph isn't a character glyph, use the ASCII NUL
5706 character to determine the face.
5707 (expose_area): Do not treat left margin specially.
5708 (note_mode_line_highlight): If no local_map, check global keymap.
5709 (note_mouse_highlight): Initialize overlay.
52283633 5710 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5711 (show_scroll_bars): Remove unused function.
5712 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5713 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5714 Clip to row.
52283633 5715 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5716 (x_free_frame_resources): Unload relief colors.
5717
9c11f79e
GM
57182001-01-17 Gerd Moellmann <gerd@gnu.org>
5719
3aec8722 5720 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5721 get_next_display_element when the newline is already found.
5722 This may change the iterator's position, when its current position is
3aec8722
GM
5723 equal to the iterator's stop_charpos.
5724
f3ffc2c3
GM
5725 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5726 zero, use this method only at the end of a line.
5727
52283633 5728 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5729 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5730 if SCALABLE_FONTS_P is set.
52283633 5731
d26d6fd9
GM
5732 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5733 so that scalable fonts are included.
5734
9c11f79e
GM
5735 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5736 In the cache, use a key containing the information if scalable
5737 fonts are included.
5738 (x_load_font): Adapt to change of keys in the font cache.
5739
57402001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5741
d26d6fd9
GM
5742 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5743 XListFonts to take advantage of font caching.
5744
9c11f79e
GM
5745 * xterm.c (x_list_fonts): Ensure caching font information when
5746 called for a null frame, which is the case frequently when Emacs
5747 starts.
5748
51446987
GM
57492001-01-17 Gerd Moellmann <gerd@gnu.org>
5750
f864120f
GM
5751 * xfns.c (QCconversion): Replaces QCalgorithm.
5752
5753 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5754
5755 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5756 of :algorithm.
52283633 5757
e37d1417
GM
5758 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5759 not everything could be displayed.
5760
51446987
GM
5761 * line.h, x-list-font.c: Files removed because unused.
5762
9ad4f3e5
AI
57632001-01-17 Andrew Innes <andrewi@gnu.org>
5764
5765 * dired.c (directory_files_internal): Convert result from readdir
5766 to a unibyte string initially, to avoid possible misinterpretation
5767 of some bytes as the internal form of Emacs characters.
5768
2eda09b5
KH
57692001-01-17 Kenichi Handa <handa@etl.go.jp>
5770
5771 * fns.c (concat): Be sure to avoid putting the same `composition'
5772 property on the adjacent regions.
5773
826f3788
GM
57742001-01-16 Gerd Moellmann <gerd@gnu.org>
5775
52283633 5776 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5777 (Fscroll_right, Fscroll_left): Set it here instead, if called
5778 interactively.
5779
d57b83b3
GM
5780 * buffer.c (Fset_buffer_modified_p): Set buffer's
5781 prevent_redisplay_optimizations_p flag.
5782
826f3788 5783 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5784 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5785 with additional arg.
5786
5787 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5788 Change prototype.
826f3788 5789
826f3788
GM
5790 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5791 FROM_WHERE, for debugging.
5792
261d788b
KH
57932001-01-16 Kenichi Handa <handa@etl.go.jp>
5794
5795 * ccl.c (Fregister_ccl_program): Handle the return value of
5796 resolve_symbol_ccl_program correctly.
52283633 5797 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5798
bccee4f2
GM
57992001-01-15 Gerd Moellmann <gerd@gnu.org>
5800
e4ded23c
GM
5801 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5802 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5803
5804 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5805 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5806 the display; we didn't open it.
5807
bccee4f2
GM
5808 * dispnew.c (save_or_restore_current_matrices): Function removed.
5809 (save_current_matrix, restore_current_matrix): New functions.
5810 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5811 restore the frame's current matrix. Due to the glyph pointer
5812 setup done in adjust_glyph_matrix, there is no easy way to make
5813 saving the current matrix in the desired matrix generally correct,
5814 so don't try it.
5815
ebeccffa
KH
58162001-01-15 Kenichi Handa <handa@etl.go.jp>
5817
5818 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5819 truncation glyphs.
5820 (display_line): Optimize for wide characters.
e4ded23c 5821 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5822 partially. On ttys, produce more than one truncation glyph for
5823 multi-column characters that don't fit on the line.
5824
64388126
KH
58252001-01-13 Kenichi Handa <handa@etl.go.jp>
5826
52283633
SM
5827 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5828 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5829
8edb0a6f
JR
58302001-01-13 Jason Rumney <jasonr@gnu.org>
5831
5832 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5833 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5834 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5835 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5836
52283633
SM
5837 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5838 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5839 (x_draw_image_glyph_string): Adapt to change of image margins.
5840
5841 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5842 variables.
5843
5844 * w32bdf.c (search_file_line, get_cached_font_char)
5845 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5846
5847 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5848
5849 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5850 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5851 (Fw32_send_sys_command): Remove unused variables.
5852 (w32_msg_pump): Add parentheses.
5853
5854 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5855 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5856 Add parentheses.
5857
4956d1ef
GM
58582001-01-12 Gerd Moellmann <gerd@gnu.org>
5859
b30623be
GM
5860 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5861 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5862 being a pair of margins.
5863 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5864 to DEFVAR_LISP. Extend doc.
5865
5866 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5867 margins.
5868 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5869 pair of integers `(X . Y)', use X for the horizontal and Y for the
5870 vertical margin.
5871 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5872 (parse_image_spec): Check it.
52283633
SM
5873 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5874 (tiff_format, gif_format, gs_format):
5875 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5876
52283633
SM
5877 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5878 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5879 (x_draw_image_glyph_string): Adapt to the change of image margins.
5880
5881 * dispextern.h (struct image): Replace member `margin' with
5882 `hmargin' and `vmargin'.
5883
4554cc79
GM
5884 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5885 and GLYPHS.
5886
5887 * dispnew.c (update_text_area): Put code which decrements the
5888 stop position when the row's face extends to the end of the
3bffc665 5889 line in #if 0.
4554cc79 5890
3cccce8d
GM
5891 * xfns.c (x_set_mouse_color): Fix color allocation.
5892
4956d1ef
GM
5893 * keyboard.c: Call get_local_map with new argument list.
5894
5895 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5896
5897 * intervals.h (enum map_property): Removed.
5898 (get_local_map): Change prototype.
5899
5900 * keymap.c: Call get_local_map with new argument list.
5901 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5902
2c2ff7f2
GM
59032001-01-11 Gerd Moellmann <gerd@gnu.org>
5904
a23887b9
GM
5905 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5906 of the size needed for the tool bar string. For the last image,
5907 use a `display' property that reaches to the end of the string.
5908
a7ee2d2e
GM
5909 * xselect.c (selection_request_dpyinfo): New variable.
5910 (x_handle_selection_request): Set it.
5911 (x_selection_request_lisp_error): Don't call
5912 x_decline_selection_request if selection request's display has
5913 been closed.
5914
52283633
SM
5915 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5916 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5917
457b792c
GM
59182001-01-10 Dave Love <fx@gnu.org>
5919
5920 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5921 ${SOME_MACHINE_LISP}, not ${lisp}.
5922
c1efd260
GM
59232001-01-10 Gerd Moellmann <gerd@gnu.org>
5924
52283633
SM
5925 * xdisp.c (display_line): On ttys, produce more than one truncation
5926 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5927
ac95a621
GM
5928 * xselect.c (x_reply_selection_request): Add a comment.
5929
c1efd260
GM
5930 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5931 XkbGetNames instead of XkbGetKeyboard.
5932
1bfb1345
DL
59332001-01-10 Dave Love <fx@gnu.org>
5934
5935 * sysdep.c (random): Revert the declaration.
5936
38119822
GM
59372001-01-09 Gerd Moellmann <gerd@gnu.org>
5938
52283633
SM
5939 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5940 Call function string_bytes.
35f464a7
GM
5941 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5942
5943 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5944 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5945 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5946 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5947 the current sblock.
5948 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5949 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5950 after sweeping strings, and at the end.
5951 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5952
38119822
GM
5953 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5954 ensure that pop_message is called.
5955
5956 * keyboard.c (Fexecute_extended_command): Use a
5957 record_unwind_protect to ensure that pop_message is called.
5958
5959 * lisp.h (push_message_unwind): Add prototype.
5960
5961 * xdisp.c (push_message_unwind): New function.
5962
5963 * fileio.c (do_auto_save_unwind): Do the pop_message here
5964 instead of in Fdo_auto_save.
5965 (Fdo_auto_save): Don't call pop_message.
5966
f47a9ec4
KR
59672001-01-08 Ken Raeburn <raeburn@gnu.org>
5968
5969 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5970 in inner block.
5971
a758f97d
GM
59722001-01-08 Gerd Moellmann <gerd@gnu.org>
5973
6d0afc03
GM
5974 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5975 when increasing window's vscroll.
5976
a758f97d
GM
5977 * macros.c (Qkbd_macro_termination_hook): New variable.
5978 (syms_of_macros): Initialize and staticpro it.
5979 (pop_kbd_macro): Run kbd-macro-termination-hook.
5980
5981 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5982
1bfb1345 59832001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5984
5985 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5986 arglist, for documentation's sake.
5987
0dac6924
AI
59882001-01-06 Andrew Innes <andrewi@gnu.org>
5989
5990 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5991 of *.pdb.
5992
8182406a
AI
59932001-01-05 Andrew Innes <andrewi@gnu.org>
5994
5995 * term.c (update_end): Don't check updating_frame; for some reason
5996 this can be 0 sometimes, such as after dismissing a popup menu,
5997 and isn't necessary given the explicit frame argument.
5998
3828218c
GM
59992001-01-05 Gerd Moellmann <gerd@gnu.org>
6000
6001 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
6002 on some systems, and an unsigned long on others, like FreeBSD 4.1.
6003
2f5ded21
GM
60042001-01-04 Gerd Moellmann <gerd@gnu.org>
6005
52283633 6006 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
6007
6008 * xfns.c (x_create_tip_frame): Preserve the value of
6009 face_change_count around the creation of the tip frame.
52283633 6010
2f5ded21
GM
6011 * xfns.c (last_show_tip_args): New variable.
6012 (compute_tip_xy): New function.
6013 (Fx_show_tip): Reuse an existing tip frame, if possible.
6014 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
6015
dfad65fa
DL
60162001-01-04 Dave Love <fx@gnu.org>
6017
64d4ec0f
DL
6018 * editfns.c (Fformat): Doc fix.
6019
dfad65fa
DL
6020 * systime.h (set_file_times): Prototype.
6021
6022 * widget.h (EmacsFrameSetCharSize_): Prototype.
6023
6024 * sysdep.c (random, srandom): Declare explicitly.
6025
6026 * dispextern.h (move_it_vertically_backward): Declare.
6027
85fe3b5e
GM
60282001-01-04 Gerd Moellmann <gerd@gnu.org>
6029
0f2ac578
GM
6030 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
6031 like in Fx_create_frame.
6032
482cca61
GM
6033 * xfaces.c (set_font_frame_param): Don't do anything for
6034 non-graphical frames.
6035
85fe3b5e
GM
6036 * window.c (Fdelete_other_windows): Set window's window_end_valid
6037 to nil when changing the window's start. Don't change the
6038 window's start when its top position hasn't changed. If we do,
6039 this will set the window's optional_new_start, which act's like a
6040 force_start during redisplay with C-x 1 M-> under particular
6041 circumstances (see report from Per Starback to emacs-pretest-bug
6042 from 2000-12-13.).
6043
3e99d3b4
GM
60442001-01-03 Gerd Moellmann <gerd@gnu.org>
6045
a77dc1ec
GM
6046 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
6047 short cut at the start of the function. Add an assertion.
6048 (reseat_at_next_visible_line_start): Add an assertion.
6049
2f3cad6c
GM
6050 * window.c (Frecenter): When changing the window start, set the
6051 window's window_end_valid to nil.
6052 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
6053
6054 * dispextern.h (move_it_past_eol): Add prototype.
6055
6056 * xdisp.c (move_it_past_eol): New function.
6057
3e99d3b4
GM
6058 * window.c (Fwindow_end): Doc fix.
6059
60602001-01-03 Dave Love <fx@gnu.org>
6061
52283633 6062 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 6063
bafb434c
GM
60642001-01-03 Gerd Moellmann <gerd@gnu.org>
6065
6066 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
6067 the enabled_p flag of the glyph row at window_end_vpos to 0.
6068 (handle_single_display_prop): Fix last change.
6069
5297fb00
RS
60702001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6071
6072 * window.c (Frecenter): Doc fix.
6073
13d6a61c
AI
60742001-01-02 Andrew Innes <andrewi@gnu.org>
6075
6076 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
6077
6078 * frame.h (output_method): Add output_w32_console method.
6079 (FRAME_W32_CONSOLE_P): New macro.
6080
6081 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
6082 use output_w32_console method.
6083 (Qw32_console): New Lisp_Object.
6084 (Fframep): Return it.
6085 (syms_of_frame): Init it.
52283633 6086 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
6087
6088 * xfaces.c (realize_default_face): Set face foreground and
6089 background to unspecified for w32_console frames.
6090 (realize_face): Realize face cache for w32_console frames.
6091 (realize_tty_face): Accept w32_console frames.
6092
52283633 6093 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
6094 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
6095 necessary, even if running interactively.
6096
6097 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
6098 w32_console frames.
6099
52283633
SM
6100 * w32term.c (x_update_begin):
6101 (x_update_end):
6102 (x_clear_frame):
6103 (x_ins_del_lines):
6104 (x_change_line_highlight):
6105 (x_delete_glyphs):
6106 (w32_ring_bell):
6107 (x_update_begin):
6108 (x_update_end):
6109 (w32_reassert_line_highlight):
6110 (w32_frame_rehighlight):
13d6a61c
AI
6111 (w32_frame_raise_lower): Do nothing if not w32 frame.
6112
6113 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6114
6115 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6116 system doesn't tell us directly.
6117 (Fx_display_visual_class): Implement properly.
6118
d6bb0c0d
GM
61192001-01-02 Gerd Moellmann <gerd@gnu.org>
6120
6121 * window.c (Frecenter): Handle centering in graphical frames
6122 specially. Centering on the basis of line counts doesn't work
6123 reliably with variable-height lines.
52283633 6124
315f5865
EZ
61252001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6126
6127 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6128 and al[].
6129
52283633 6130 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
6131 (update_compositions): Remove unused variable `hook'.
6132
6133 * intervals.c (get_local_map): Remove unused variable `tem'.
6134
6135 * doprnt.c (doprnt1): Remove unused variable `size'.
6136
6137 * fns.c (Flength): Remove unused variable `tail'.
6138 (Fdelete): Remove unused variable `size'.
6139
6140 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6141 and `gcpro2'.
6142
52283633 6143 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6144
6145 * data.c (find_symbol_value): Remove extra 3rd argument in the
6146 call to swap_in_symval_forwarding.
6147
52283633 6148 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6149
6150 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6151 (trivial_regexp_p): Remove unused variable `c'.
6152 (boyer_moore): Remove unused variable `k'.
6153
6154 * indent.c (current_column): Remove unused variable `stopchar'.
6155 (Fcompute_motion): Remove unused variable `contin'.
6156
6157 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6158
6159 * dired.c (directory_files_internal): Fix a typo in a comment.
6160 Remove an unused variable `handler'.
52283633 6161 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6162 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6163 on BSD4_2.
6164
52283633 6165 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6166
6167 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6168 and `buf'.
6169 (Fmarker_insertion_type): Remove unused variable `buf'.
6170
6171 * insdel.c (make_gap): Remove unused variable `result'.
6172
52283633 6173 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6174 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6175 (menu_bar_items): Remove unused function-scope variable `tem'.
6176
6177 * fontset.c (fontset_ref): Remove unused variable `i'.
6178 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6179 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6180 (make_fontset_for_ascii_face): Remove unused variable `name'.
6181 (fs_load_font): Remove unused variable `font_idx'.
52283633 6182 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6183 (list_fontsets): Remove unused variable `tail'.
6184 (Fnew_fontset): Remove unused variables `family' and `registry'.
6185 (accumulate_font_info): Remove unused variable `tmp'.
6186 (Ffontset_font): Remove unused variable `id'.
6187 (syms_of_fontset): Remove unused variable `i'.
6188
6189 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6190 to x_term_init.
6191 (lookup_image): Remove unused variable `file'.
6192 (xbm_load): Remove unused variables `bitmap_data', `height', and
6193 `width'. Remove function-local variable `i', leave the
6194 block-local one.
6195 (gif_load): Remove unused variable `inc'.
6196
52283633 6197 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6198 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6199 leave only the one in the inner block.
6200
6201 * xfaces.c (face_fontset, realize_default_face): Remove unused
6202 variable `fontset'.
6203 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6204
6205 * term.c (encode_terminal_code): Remove unused variable `c'.
6206
6207 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6208 char *' instead of `char *'.
6209
6210 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6211 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6212 (Fchar_category_set): Remove unused variables `val', `charset',
6213 `c1' and `c2'.
6214
52283633
SM
6215 * coding.c (detect_coding_iso2022, setup_coding_system):
6216 Remove unused variable `i'.
315f5865
EZ
6217 (detect_coding_mask): Remove unused variable `idx'.
6218 (detect_coding): Remove unused variable `i'.
6219 (ccl_coding_driver): Remove unused variable `result'.
6220 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6221 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6222 (encode_coding_string): Remove unused variables `gcpro1' and
6223 `saved_coding_symbol'.
6224 (Ffind_coding_systems_region_internal): Remove function-local
6225 variable args[], leave only the block-local one.
6226 (code_convert_region1): Remove unused variable `len'.
6227
6228 * charset.c (char_printable_p): Remove unused variable `chars'.
6229 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6230 (str_to_multibyte): Remove unused variable `c'.
6231
6232 * window.c (size_window): Remove block-local variable `min_size'.
6233
6234 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6235 `header_line_height'.
6236 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6237 enum display_element_type.
6238
1a8a9daf
GM
62392001-01-02 Gerd Moellmann <gerd@gnu.org>
6240
6dde6abc 6241 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6242 statements that call X. Save away the error message in a local copy.
6243
1883b2c6
GM
6244 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6245 the start.
6246
a13be207
GM
6247 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6248 in or at the start of invisible text.
6249
1a8a9daf
GM
6250 * dispnew.c (update_window): Don't check_current_matrix_flags.
6251
3608c0f9
JR
62522001-01-01 Jason Rumney <jasonr@gnu.org>
6253
6254 * w32fns.c (x_figure_window_size): Do not allow new_height and
6255 new_width of frame to override specified values.
6256
abb1acc4
KH
62572000-12-30 Kenichi Handa <handa@etl.go.jp>
6258
52283633 6259 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6260
762a68ec
GM
62612000-12-29 Gerd Moellmann <gerd@gnu.org>
6262
52283633 6263 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6264 (update_window) [GLYPH_DEBUG]: Call it.
6265 (scrolling_window): Prevent including current rows which are below
6266 what's displayed in the window.
6267
6268 * xdisp.c (try_window_reusing_current_matrix)
6269 <new start <= old start>: Disable rows in the current matrix
6270 which are below the window after scrolling.
52283633 6271
762a68ec
GM
6272 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6273 is zero. It's not worth the complexity.
6274 (invisible_text_between_p): Put in #if 0 because unused.
6275
2d5912c1
GM
62762000-12-28 Gerd Moellmann <gerd@gnu.org>
6277
46f6a258
GM
6278 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6279 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6280
89f93679
GM
6281 * keyboard.c (echo_char): If C is an integer, always call
6282 push_key_description. Former code could signal an invalid
6283 character error.
6284
6285 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6286 If set, print multibyte text.
6287 (Fsingle_key_description): Call push_key_description with
6288 FORCE_MULTIBYTE set.
6289 (describe_buffer_bindings): Likewise.
6290
6291 * lisp.h (push_key_description): Add prototype.
6292
c06017fb
GM
6293 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6294 around the call to redisplay_internal.
6295
f1d2ce7f
GM
6296 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6297
2d5912c1
GM
6298 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6299
9371f831
KH
63002000-12-28 Kenichi Handa <handa@etl.go.jp>
6301
6302 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6303 (ccl_driver): New local variable `extra_bytes'.
6304
6305 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6306
52283633
SM
6307 * coding.c (setup_coding_system):
6308 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6309 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6310
0c80628a
KH
63112000-12-28 Kenichi Handa <handa@etl.go.jp>
6312
6313 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6314 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6315 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6316 (decode_composition_emacs_mule): New function.
6317 (decode_coding_emacs_mule): Decode composition sequence by calling
6318 decode_composition_emacs_mule.
6319 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6320 (encode_coding_emacs_mule): Changed from macro to function.
6321 If a text contains compositions, encode them correctly.
0c80628a
KH
6322 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6323 that decoding and encoding are required.
6324
3e32cc27
GM
63252000-12-27 Gerd Moellmann <gerd@gnu.org>
6326
5e25feee
GM
6327 * xfaces.c (PT_PER_INCH): New macro.
6328 (xlfd_point_size): Compute real point size from font's pixel size.
6329 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6330 instead of 72.
6331
892d8fcd
GM
6332 * .gdbinit: Comment out the line pointing to the Lesstif source
6333 directory.
6334
12c8b416
GM
6335 * window.c (Frecenter): Use displayed_window_lines instead
6336 of window_internal_height.
6337
6061fbf0
GM
6338 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6339 instead of x-toolkit-scroll-bars-p.
6340 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6341
6342 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6343 instead of x-toolkit-scroll-bars-p.
6344 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6345
3e32cc27
GM
6346 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6347 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6348 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6349 New variables.
6350 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6351 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6352 (build_frame_matrix_from_leaf_window): Remove unused code.
6353 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6354 redisplay history.
6355 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6356 (update_window) [GLYPH_DEBUG]: Likewise.
6357 (syms_of_display): Defsubr dump-redisplay-history.
6358
31798cfe
GM
63592000-12-23 Gerd Moellmann <gerd@gnu.org>
6360
f717c2ba
GM
6361 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6362 the end of the prompt. Set echo_after_prompt to the offset
6363 of echoptr in echobuf.
6364
aeb2b8fc
GM
6365 * xdisp.c (init_from_display_pos): Pop until the iterator's
6366 stack is empty; there may be frames for stretch or images
6367 on the stack.
6368
31798cfe
GM
6369 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6370 (save_or_restore_current_matrix): New function for the same
6371 purpose, but more efficient.
6372 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6373
f8156156
EZ
63742000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6375
6376 * xdisp.c (syms_of_xdisp): Fix last change.
6377
bdd6d4e8
GM
63782000-12-23 Gerd Moellmann <gerd@gnu.org>
6379
6380 * xdisp.c (syms_of_xdisp): Doc fix.
6381
6382 * xdisp.c (redisplay_window): Remove label restore_buffers;
6383 use finish_scroll_bars instead to make sure that scroll bars
6384 are redeemed. If we don't do this, flickering can result from
6385 scroll bars being destroyed and recreated.
6386
9436cdf9
JR
63872000-12-22 Jason Rumney <jasonr@gnu.org>
6388
6389 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6390 in the wrong colors when the foreground is not black.
6391 (expose_window): Don't redraw the window that's currently being
6392 updated.
6393
951f9df5
GM
63942000-12-22 Gerd Moellmann <gerd@gnu.org>
6395
856ff7a7
GM
6396 * window.c (size_window): When setting the window's too_small_ok
6397 flag, compare old size with minimum size depending on WIDTH_P,
6398 don't compare with window_min_width.
52283633 6399
951f9df5
GM
6400 * window.c (delete_window): Simplify somewhat.
6401 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6402 freeing window matrices. The flag windows_or_buffers_changed is
6403 set, so the next redisplay will consider all windows; this should
6404 suffice.
6405
886bc933
KH
64062000-12-22 Kenichi Handa <handa@etl.go.jp>
6407
6408 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6409
6410 * ccl.h (struct ccl_program): New member cr_consumed.
6411
6412 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6413 (CCL_READ_CHAR): Handle EOL conversion here.
6414 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6415
177f4e88
GM
64162000-12-21 Gerd Moellmann <gerd@gnu.org>
6417
52283633 6418 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6419
6420 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6421 otherwise tabs of different size compare equal.
6422
6423 * callint.c (Fcall_interactively): Prevent a compiler warning.
6424
6425 * print.c (print_unwind): Return nil.
6426 (PRINTDECLARE): Initialize all local variables.
6427 (print_preprocess): Add a default case.
6428
8e15274f
GM
6429 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6430
6431 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6432
52283633 6433 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6434 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6435
6436 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6437
6438 * dispnew.c (ensure_frame_matrix): Removed.
6439 (save_frame_matrix, restore_frame_matrix): New functions.
6440 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6441
6442 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6443 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6444
99012074
AI
64452000-12-21 Andrew Innes <andrewi@gnu.org>
6446
6447 * w32term.c (x_update_begin): Regenerate the palette here, rather
6448 than for each window.
6449
6450 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6451 palette is NULL, since this corrupts memory! Also get
6452 display_info reference from frame.
6453
29ef7d2d
JR
64542000-12-21 Jason Rumney <jasonr@gnu.org>
6455
6456 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6457
6458 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6459 to avoid returning without releasing it.
3e27fa1f 6460
3f9d67a6
KH
64612000-12-21 Kenichi Handa <handa@etl.go.jp>
6462
587fc3f9
KH
6463 * keymap.c (push_key_description): Don't convert eight-bit-control
6464 and eight-bit-graphic to multibyte character.
6465
3f9d67a6
KH
6466 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6467 generic character and CODE1 is nil, return the smallest character
6468 in CHARSET.
6469
774ba8c9
DL
64702000-12-20 Dave Love <fx@gnu.org>
6471
6472 * s/osf5-0.h (NSIG): Don't redefine.
6473
88416888
SM
64742000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6475
6476 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6477 excluding menu-bar and tool-bar.
6478 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6479 (menu_item_p): Remove.
6480 (where_is_internal_1): Don't ignore menu-items.
6481
a6426c6f
GM
64822000-12-20 Gerd Moellmann <gerd@gnu.org>
6483
03ff8aab
GM
6484 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6485 into account.
6486
6487 * window.c (make_window): Initialize window's min_hscroll.
6488 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6489 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6490 to zero.
6491 (struct saved_window): New member min_hscroll.
6492 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6493 (Fset_window_configuration): Set window's min_hscroll.
6494 (save_window_save): Save window's min_hscroll.
6495 (compare_window_configurations): Compare min_hscroll values.
6496
6497 * window.h (struct window): New member min_hscroll.
6498
6499 * keyboard.c (echo_prompt): Prevent a compiler warning.
6500
8de4aaf8
GM
6501 * xdisp.c (try_cursor_movement): Fix last change. The real
6502 condition is that PT is at the end of the row, and should
6503 be displayed at the start of the next row.
52283633 6504
3f7e3031
GM
6505 * xdisp.c (try_cursor_movement): If we end on a partially
6506 visible line, end we already decided to scroll, return -1.
6507
a6426c6f
GM
6508 * dispextern.h (ensure_frame_matrix): Add prototype.
6509
6510 * window.c (delete_window, Fsplit_window)
6511 (Fset_window_configuration): Call ensure_frame_matrix.
6512
52283633
SM
6513 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6514 New functions.
a6426c6f
GM
6515 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6516 completed, call fake_current_matrices instead of marking frame
6517 garbaged.
6518
57fa2774
JR
65192000-12-20 Jason Rumney <jasonr@gnu.org>
6520
6521 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6522
d925df90
EZ
65232000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6524
6525 * fns.c (Frequire): Doc fix.
6526
7b93a85b
GM
65272000-12-19 Gerd Moellmann <gerd@gnu.org>
6528
52283633 6529 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6530
c74e645b
GM
6531 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6532 currently displaying a message.
6533
7b93a85b
GM
6534 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6535 xterm.h.
6536 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6537
90d97e64
AI
65382000-12-18 Andrew Innes <andrewi@gnu.org>
6539
6540 * w32.c (w32_strerror): New function.
6541
6542 * w32.h (w32_strerror): New extern.
6543
6544 * w32fns.c (Fw32_shell_execute): Use it.
6545
91c9e6ce
GM
65462000-12-18 Gerd Moellmann <gerd@gnu.org>
6547
6548 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6549
6f4745e2
EZ
65502000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6551
6552 * msdos.c (IT_set_face): Obey inverse_video.
6553
c9e088ce
KH
65542000-12-18 Kenichi Handa <handa@etl.go.jp>
6555
6556 * dired.c (directory_files_internal): Always return decoded filenames.
6557
c3695f5f
GM
65582000-12-18 Gerd Moellmann <gerd@gnu.org>
6559
52d8e4ff
GM
6560 * xterm.c (x_connection_closed): Prevent being called recursively
6561 because of an error condition in XtCloseDisplay.
52283633 6562
62be9979
GM
6563 * xdisp.c (init_iterator): If noninteractive, and the frame's
6564 face cache is null, make one.
6565
52283633 6566 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6567
c3695f5f
GM
6568 * process.c (wait_reading_process_input): Check for pending
6569 input when running timers.
6570
78555fbe
EZ
65712000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6572
52283633 6573 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6574
b2b36264
KH
65752000-12-18 Kenichi Handa <handa@etl.go.jp>
6576
6577 * process.c (read_process_output): Don't run a filter if the code
6578 decoder produces nothing but carryover.
6579
9c543fbf
AI
65802000-12-17 Andrew Innes <andrewi@gnu.org>
6581
6582 * w32.c (sys_rename): Only check errno against EEXIST, and not
6583 EACCES, when determining whether rename failed because the target
6584 exists. This was resulting in indefinite looping on Windows 9x if
6585 the source file was locked by another process.
6586
6587 * w32fns.c (Ffile_system_info): New function.
6588 (syms_of_w32fns): Defsubr it.
6589
10c2b5a8
GM
65902000-12-17 Gerd Moellmann <gerd@gnu.org>
6591
b0228ace
GM
6592 * window.c (coordinates_in_window): Fix computation for
6593 position on vertical line between mode lines.
6594
10c2b5a8
GM
6595 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6596 Don't alter tip_frame or tip_window.
6597 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6598 was deleted.
6599
c844a81a
GM
6600 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6601 Don't alter tip_frame or tip_window.
6602 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6603 was deleted.
6604
6c825f8e
EZ
66052000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6606
6607 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6608 be consistent with the doc string. Reported by NAKAJIMA Mikio
6609 <minakaji@osaka.email.ne.jp>.
6610
af4bb4c8
KH
66112000-12-16 Kenichi Handa <handa@etl.go.jp>
6612
6613 * xfaces.c (Vface_ignored_fonts): New variable.
6614 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6615 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6616
8062e53a
GM
66172000-12-15 Gerd Moellmann <gerd@gnu.org>
6618
e87b8809
GM
6619 * dispnew.c (update_window): Detect pending input every nth line
6620 updated, i.e. do it depending on real work done, and not on the
6621 vpos of the line.
6622
6623 * xterm.c (expose_window): Don't redraw the window that's
6624 currently being updated.
6625
a6768cc5
GM
6626 * window.c (Fset_window_point): Remove test for
6627 cursor_in_non_selected_windows.
6628
4ea7fdca
GM
6629 * lread.c (read1): Recognize end of file after `\\'.
6630
8062e53a
GM
6631 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6632 not unwind_create_frame.
6633
bb7959c1
GM
66342000-12-15 Dave Love <fx@gnu.org>
6635
6636 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6637 bcopy & al.
6638
6639 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6640
ced04c42
KH
66412000-12-15 Kenichi Handa <handa@etl.go.jp>
6642
c5443913
KH
6643 * coding.c (setup_coding_system): Clear all members of the struct
6644 coding_system at first.
bc137305
KH
6645 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6646 argument.
6647 (code_convert_region): Don't override coding->src_multibyte and
6648 coding->dst_multibyte.
c5443913 6649
ced04c42
KH
6650 * fns.c (Fmd5): Docstring improved.
6651
c2d7f289
MB
66522000-12-15 Miles Bader <miles@gnu.org>
6653
6654 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6655 are actually marked as mode-lines; otherwise use
6656 estimate_mode_line_height.
6657
9d7d9263
GM
66582000-12-14 Gerd Moellmann <gerd@gnu.org>
6659
6660 * editfns.c (Fformat): Prevent a buffer overrun when the format
6661 specifies a precision.
6662
7cf0153a
EZ
66632000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6664
6665 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6666 argument is outside the range [2..3].
6667
1de0f662
AI
66682000-12-14 Andrew Innes <andrewi@gnu.org>
6669
6670 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6671 nothing to do. Bind inhibit-quit.
6672 (tip_frame): Make it a Lisp_Object.
6673 (x_create_tip_frame): Set tip_frame after it has been added to
6674 Vframe_list.
6675 (Fx_show_tip): Don't set tip_frame here.
52283633 6676 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6677 (unwind_create_frame, unwind_create_tip_frame): New functions.
6678 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6679 while a frame is only partially constructed.
6680
6681 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6682 (x_free_frame_resources): New function.
6683 (x_destroy_window): Use it.
6684
02387dcc
GM
66852000-12-14 Gerd Moellmann <gerd@gnu.org>
6686
6687 * xfns.c (Fx_backspace_delete_keys_p): New function.
6688 (syms_of_xfns): Defsubr it.
6689
6690 * config.in (HAVE_XKBGETKEYBOARD): Add.
6691
0544ef49
KH
66922000-12-14 Kenichi Handa <handa@etl.go.jp>
6693
98d62747
KH
6694 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6695 Always store string in multibyte representation in echobuf.
6696 (echo_char): Always store string in multibyte representation in
6697 echobuf.
6698 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6699 (read_key_sequence): Adjusted for the change of echo_prompt.
6700
a20193cd
KH
6701 * fns.c (Fmd5): Docstring improved.
6702
191b83b6
KH
6703 * lisp.h (detect_coding_system): Prototype adjusted.
6704
0544ef49
KH
6705 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6706 (detect_coding_emacs_mule, detect_coding_iso2022,)
6707 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6708 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6709 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6710 (detect_coding_mask, detect_coding_system): New argument
6711 MULTIBYTEP. Callers changed.
1da1bb05
KH
6712 (decode_coding_string): Set coding->src_multibyte and
6713 coding->dst_multibyte before calling detect_coding and detect_eol.
6714 Update them after some coding system is detected.
52283633 6715
d5b3eb1b
SM
67162000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6717
6718 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6719
6720 * keyboard.c (menu_bar_items, tool_bar_items):
6721 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6722
f7f8bb69
GM
67232000-12-13 Gerd Moellmann <gerd@gnu.org>
6724
52283633 6725 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6726 New variables.
6727 (unwind_create_frame, unwind_create_tip_frame): New functions.
6728 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6729 while a frame is only partially constructed.
6730
6731 * xterm.h (x_free_frame_resources): Declare.
6732
6733 * xterm.c (x_free_frame_resources): New function.
6734 (x_destroy_window): Use it.
6735
e10da507
GM
6736 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6737 don't interrupt the update for pending input initially, i.e.
6738 update at least some lines.
6739
6740 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6741
d5b3eb1b 6742 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6743
6744 * xfns.c (gray_bitmap_bits): Declare `char *'.
6745
90aa2856
GM
67462000-12-12 Gerd Moellmann <gerd@gnu.org>
6747
6748 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6749 lines start with a relief line.
6750
a308c9cd
DL
67512000-12-12 Dave Love <fx@gnu.org>
6752
6753 * window.c (Fdisplay_buffer): Doc fix.
6754 (Fwindow_list): Remove unused var.
6755
6756 * buffer.h (mmap_set_vars): Declare.
6757
6758 * window.h (Fset_window_point): Declare.
6759
d575011f
EZ
67602000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6761
bf6282d2 6762 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6763 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6764 variable `area'. When looking for a row under (X,Y), give up if some
6765 of the previous rows is not enabled.
d575011f 6766
ecf4d726
GM
67672000-12-12 Gerd Moellmann <gerd@gnu.org>
6768
2ebf6139
GM
6769 * window.c (Fset_window_point): If displaying cursors in windows
6770 other than the selected window, make sure redisplay updates
6771 other windows to show the new value of point in the window.
6772
6773 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6774
bfdb75ee
GM
6775 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6776 the buffer is the sole visible buffer when in the mini-buffer.
6777
52283633 6778 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6779 Bind `inhibit-read-only' to t.
6780 (unwind_with_echo_area_buffer): Use AREF.
6781
c0006262
GM
6782 * xfns.c (Fx_hide_tip): Simplified.
6783
52283633
SM
6784 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6785 instead of `1'.
e9a59cad 6786
ecf4d726
GM
6787 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6788
e5959a9a
GM
67892000-12-11 Gerd Moellmann <gerd@gnu.org>
6790
a3642e49 6791 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6792
44b5a125
GM
6793 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6794 nothing to do. Bind inhibit-quit.
6795 (tip_frame): Make it a Lisp_Object.
6796 (x_create_tip_frame): Set tip_frame after it has been added to
6797 Vframe_list.
6798 (Fx_show_tip): Don't set tip_frame here.
6799
6800 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6801
6802 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6803 Lisp_Object.
6804
6805 * dispextern.h: Change external declaration of tip_frame.
6806
d990421f
GM
6807 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6808 return an empty string.
6809
4db87380
GM
6810 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6811 of the window's update_mode_line flag, since the former is set by
6812 force-mode-line-update, not the latter. This makes
6813 column-number-mode slightly faster.
52283633 6814
e5959a9a
GM
6815 * xdisp.c (try_window_id) <all changes above window start>:
6816 Set the cursor.
6817
169fe44e
GM
68182000-12-11 Paul Eggert <eggert@twinsun.com>
6819
6820 * config.in (HAVE_FTELLO): Remove.
6821 (HAVE_FSEEKO): Add.
6822 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6823 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6824 HAVE_FTELLO.
6825 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6826 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6827
59ec59ae
MB
68282000-12-11 Miles Bader <miles@gnu.org>
6829
6830 * window.c (displayed_window_lines): Don't round up when
6831 converting empty space at bottom to lines.
ff904dd6
MB
6832 Handle non-newline-terminated final lines properly.
6833 (Fwindow_text_height): New function (used to be in lisp).
6834 (syms_of_window): Initialize it.
59ec59ae 6835
42ebfa31
SM
68362000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6837
6838 * syntax.c (scan_lists): Check that the right quote char has the
6839 right Sstring syntax when jumping over strings.
6840 (init_syntax_once): Use Smax rather than 13.
6841
5cdb3cf3
MB
68422000-12-09 Miles Bader <miles@gnu.org>
6843
6844 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6845 with PARTIALLY, inverting the sense.
6846 (window_scroll_pixel_based): Scroll partially visible lines into
6847 place if we hit the beginning or end of the buffer.
a12167c5
MB
6848 (displayed_window_lines): Don't include partially visible lines.
6849 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6850
842b2a94
GM
68512000-12-08 Gerd Moellmann <gerd@gnu.org>
6852
6853 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6854
6855 * tparam.c (tparam1): Change the way buffers are reallocated to be
6856 portable and less obfuscated.
6857
6858 * termcap.c (tgetent): Change the way buffers are reallocated to
6859 be portable and less obfuscated.
6860
6861 * macros.c (store_kbd_macro_char): Change the way buffers are
6862 reallocated to be portable and less obfuscated.
6863
6864 * lread.c (read1): Change the way buffers are reallocated to be
6865 portable and less obfuscated.
6866
6867 * doc.c (Fsubstitute_command_keys): Change the way buffers
6868 are reallocated so that it is portable.
6869
137cad7c
EZ
68702000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6871
6872 * dosfns.c (Ffile_system_info): New function.
6873 (syms_of_dosfns): Defsubr it.
6874
5c7f629c
SM
68752000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6876
6877 * alloc.c (gc_sweep): Add comment.
6878
959e647d
GM
68792000-12-07 Gerd Moellmann <gerd@gnu.org>
6880
52283633
SM
6881 * sound.c (vox_configure): Change order of ioctls.
6882 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6883 Ignore errors when changing volume.
6884 (vox_close): Don't reset the device.
6885
926b7e5e
GM
6886 * process.c (read_process_output): Make sure the process marker's
6887 position is valid when the process buffer is changed in
6888 after-change functions. W3 does that.
52283633 6889
959e647d
GM
6890 * xfns.c (x_free_gcs): New function.
6891
6892 * xterm.h (x_free_gcs): Add prototype.
6893
6894 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6895 freeing GCs here.
6896
6897 * xterm.c (x_destroy_window): Call x_free_gcs so that
6898 resources of non-toolkit X windows will be freed.
6899
478ea067
AI
69002000-12-07 Andrew Innes <andrewi@gnu.org>
6901
6902 * w32fns.c (xlfd_charset_of_font): Fix last change.
6903
fbee3231
DL
69042000-12-06 Dave Love <fx@gnu.org>
6905
67292061
DL
6906 * md5.h (__P): Don't define -- it comes from config.h.
6907
fbee3231
DL
6908 * strftime.c: Change some #if foo to #ifdef foo.
6909
4ee87dbb
AI
69102000-12-06 Andrew Innes <andrewi@gnu.org>
6911
6912 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6913
52283633 6914 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6915 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6916 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6917
9765b4a4
GM
69182000-12-06 Gerd Moellmann <gerd@gnu.org>
6919
d285b373
GM
6920 * alloc.c (gc_sweep): Prevent symbols read during loadup
6921 from being freed.
6922
384333ee
GM
6923 * xdisp.c (underlying_face_id): New function.
6924 (handle_face_prop, face_before_or_after_it_pos): Use it
6925 to determine the face ``under'' a string. Let strings inherit
6926 the face of the buffer under them.
6927
6928 * xfaces.c (face_at_string_position): Update function comment.
52283633 6929
d4b72d58
GM
6930 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6931 matrix if the window's left position has changed; we need to
6932 redraw it in this case.
6933
6934 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6935
e1d05387
GM
6936 * window.c (coordinates_in_window): Check mouse on mode-line or
6937 header-line first.
6938
eb1b0c74
GM
6939 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6940 advertized by the function documentation.
6941
d94d636f
GM
6942 * window.c (syms_of_window): Doc fix.
6943
3887b449
GM
6944 * sound.c (vox_configure): Set volume for left and right channel.
6945 (sound_cleanup): Return nil.
6946
efc8f57a
GM
6947 * xdisp.c (move_it_by_lines): Fix paren typo.
6948
9765b4a4
GM
6949 * xterm.c (x_load_font): Don't use the font's max_bounds for
6950 computing the height of the font. If max_bounds' ascent or
6951 descent are greater than the font's ascent or descent, this means
6952 glyphs overlap, which should be handled now by redisplay.
6953
6529ed87
GM
6954 * window.c (Veven_window_heights): New variable.
6955 (syms_of_window): DEFVAR_LISP it.
6956 (Fdisplay_buffer): Check Veven_window_heights before evening the
6957 window heights.
52283633 6958
0eb2ecde
MB
69592000-12-06 Miles Bader <miles@gnu.org>
6960
6961 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6962 update `default-frame-alist' instead of setting no frame parameters.
6963
03d7a167
KH
69642000-12-06 Kenichi Handa <handa@etl.go.jp>
6965
6966 * composite.c (update_compositions): Fix typo (use the correct
6967 variable).
6968
5f8803c2
JR
69692000-12-05 Jason Rumney <jasonr@gnu.org>
6970
6971 * md5.h: Remove underscores from function declarations.
6972 (__attribute__, __alignof__) [!__GNUC__]: Define.
6973
6974 * md5.c: Delay include of md5.h until after namespace cleaning.
6975
c28a075b
JR
6976 * makefile.w32-in (fns.o): Depend on md5.h
6977 (md5.o): New target.
6978 (sunfns.o): Remove.
6979
6980 * makefile.nt: Likewise.
6981
ff3c7056
JR
69822000-12-05 Jason Rumney <jasonr@altavista.net>
6983
6984 * w32term.c (expose_area): Complete last change.
6985
0c21eeeb
KR
69862000-12-05 Ken Raeburn <raeburn@gnu.org>
6987
6988 * minibuf.c: Include intervals.h.
6989
f201d732
JR
69902000-12-05 Jason Rumney <jasonr@gnu.org>
6991
6992 * w32term.c (x_produce_glyphs): If a font for a component of
6993 a composition is not found, use 1 pixel dot ascent and 0 dot
6994 descent value to avoid displaying terribly tall empty boxes.
6995 (expose_area): Pass x-coordinate relative to the exposed
6996 area to x_draw_glyphs instead of a window-relative coordinate.
6997
21999ab9
GM
69982000-12-05 Gerd Moellmann <gerd@gnu.org>
6999
4d2036e4
GM
7000 * xdisp.c (next_element_from_ellipsis): Save face before selective
7001 display in saved_face_id, and set face_before_selective_p.
7002 (reseat_1): Reset face_before_selective_p.
7003 (append_space, extend_face_to_end_of_line): If iterator's
7004 face_before_selective_p is set, use the face from saved_face_id.
7005 (extend_face_to_end_of_line): For tty frames, make sure to
7006 use the right face id when producing spaces at the end of
7007 the line.
7008
7009 * dispextern.h (struct it): Add face_before_selective_p.
7010
52be17cc
GM
7011 * keyboard.c (record_char): Don't record identical help-echo
7012 events in recent_keys.
7013
8a4f36cc
GM
7014 * xterm.c [USE_X_TOOLKIT]: Close the display.
7015 (xim_close_dpy): Handle case that the display has been closed.
7016
57d6e381
GM
7017 * xterm.c (x_destroy_window): Reset the frame's X window after
7018 destroying it.
7019
21999ab9
GM
7020 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
7021 variable window_width.
7022 (line_draw_cost): Fix code skipping over spaces at the end of the
7023 line when must_write_spaces is not set.
7024 (scrolling_window): Fix code inserting runs in list of all runs.
7025
91372bb7
KH
70262000-12-05 Kenichi Handa <handa@etl.go.jp>
7027
7028 * coding.c (setup_coding_system): Be sure to initialize
7029 coding->category_idx.
7030
6c083b4c
GM
70312000-12-04 Gerd Moellmann <gerd@gnu.org>
7032
0c68ce6f 7033 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 7034
6452929e
GM
7035 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
7036 area to x_draw_glyphs instead of a window-relative coordinate.
7037
d7f31e22
GM
7038 * fileio.c (auto_save_error): Add parameter ERROR. Show the
7039 error in the message.
7040
ae18aa3b
GM
7041 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
7042 timer after having read a key. It's not good for code reading
7043 several keys in a loop, like an input method.
7044
caa15ef7
GM
7045 * fileio.c (Finsert_file_contents): When VISIT is t, don't
7046 record undo information for format-decode.
7047
7048 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
7049 current buffer is read-only, not if it isn't.
7050
6c083b4c
GM
7051 * keyboard.c (record_char): Record `help-echo' input events
7052 in recent_keys only if they display some help. Don't record
7053 `help-echo' events as macro char.
7054
caa15ef7
GM
70552000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7056
7057 * editfns.c (save_excursion_restore): Don't move point
7058 in another window if it is showing the wrong buffer.
7059 Avoid the call to Fwindow_live_p, for speed.
7060
5a13529b
KH
70612000-12-04 Kenichi Handa <handa@etl.go.jp>
7062
e225faa7
KH
7063 * xfaces.c (struct font_name): New member registry_priority.
7064 (split_font_name): Initialize the above member to zero.
7065 (concat_font_list): New function.
7066 (font_list): Include fonts of all alternative registries.
7067 (FONT_POINT_SIZE_QUANTUM): New macro.
7068 (better_font_p): Ignore point size difference less than
7069 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
7070
e89648b4
KH
7071 * xterm.c (x_produce_glyphs): If a font for a component of
7072 a composition is not found, use 1 pixel dot ascent and 0 dot
7073 descent value to avoid displaying terribly tall empty boxes.
7074
5a13529b
KH
7075 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
7076
d7935eb6
KR
70772000-12-03 Ken Raeburn <raeburn@gnu.org>
7078
7079 * coding.h (code_convert_string1): Declare.
7080
7081 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
7082
52283633 7083 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 7084
0dd5e255
JR
70852000-12-02 Jason Rumney <jasonr@gnu.org>
7086
7087 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
7088 correctly for single byte character case.
7089 (w32_per_char_metric): Do not try to make any assumptions about
7090 the metrics of BDF fonts.
250cfece 7091 (x_estimate_mode_line_height): If `mode-line' face
52283633 7092 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
7093 (note_mouse_highlight): Change the cursor shape on the vertical
7094 border between windows [not enabled].
7095
7096 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
7097
7098 * w32fns.c (Fx_create_frame): Reintroduce the call to
7099 face-set-after-frame-defaults.
7100 (Vx_window_horizontal_drag_shape): New variable.
7101 (syms_of_xfns): DEFVAR_LISP it.
7102 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
7103 enabled].
0dd5e255 7104
b5d8d2ca
GM
71052000-12-02 Simon Josefsson <simon@josefsson.org>
7106
7107 * fns.c (Fmd5): Use a different logic to decide the coding system
7108 to use.
7109
7110 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
7111
fbb87147
EZ
71122000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7113
52283633 7114 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 7115
447e9da0
GM
71162000-12-01 Gerd Moellmann <gerd@gnu.org>
7117
7708ced0
GM
7118 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7119 height for YNegative.
7120 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7121 height; also see comment there.
7122
447e9da0
GM
7123 * window.c (coordinates_in_window): Handle computations for
7124 positions on the vertical bar and fringes differently for
7125 window-system frames. Consider some pixels near the vertical bar
7126 as on the bar if the frame doesn't have vertical scroll bars.
7127 Associate positions between mode or header lines with the
7128 right window, the left one.
7129
86d1db20
JR
71302000-12-01 Jason Rumney <jasonr@gnu.org>
7131
7132 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7133
7134 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7135 invalid frame.
7136
a1d58e5b
GM
71372000-12-01 Gerd Moellmann <gerd@gnu.org>
7138
52283633 7139 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7140 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7141 (save_window_save, Fset_window_configuration): Save/restore
7142 window's orig_top and orig_height.
7143
89c609af
JR
71442000-12-01 Jason Rumney <jasonr@gnu.org>
7145
4d177746 7146 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7147
89c609af
JR
7148 * w32fns.c (x_set_cursor_color): Fix last change.
7149
eccc05db
GM
71502000-11-30 Gerd Moellmann <gerd@gnu.org>
7151
31b6671b
GM
7152 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7153 sure that the next redisplay displays the minibuffer, so that
7154 the cursor will be replaced with what the minibuffer wants.
7155
eccc05db
GM
7156 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7157 #ifndef instead of using #if.
7158 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7159 USE_TOOLKIT_SCROLL_BARS is defined.
7160
162de750
JR
71612000-11-30 Jason Rumney <jasonr@gnu.org>
7162
7163 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7164 x_display_cursor.
7165
693c4692
GM
71662000-11-30 Gerd Moellmann <gerd@gnu.org>
7167
7168 * fns.c (Fmd5): Doc fix.
7169
b5d8d2ca 71702000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7171
7172 * fns.c (Fmd5): New function.
7173 (syms_of_fns): Defsubr md5.
7174
7175 * Makefile.in (obj): Add md5.o
7176
b02cd40b
GM
71772000-11-30 Gerd Moellmann <gerd@gnu.org>
7178
edfb795e
GM
7179 * md5.h, md5.c: New files, taken from glibc.
7180
df3aedcf
GM
7181 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7182
b02cd40b 7183 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7184 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7185
8b5176cd
SM
71862000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7187
7188 * eval.c (Frun_hooks): Allow 0 arguments.
7189
346598f1
GM
71902000-11-29 Gerd Moellmann <gerd@gnu.org>
7191
f9396e03
GM
7192 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7193 is over the menu bar widget, say it's not on the frame.
7194
4a967a9b
GM
7195 * xfns.c (Fx_create_frame): Reintroduce the call to
7196 face-set-after-frame-defaults.
7197
346598f1
GM
7198 * eval.c (Fsignal): Reset handling_signal.
7199
222456a1
JR
72002000-11-28 Jason Rumney <jasonr@gnu.org>
7201
7202 * w32menu.c (add_menu_item): Reset menu item text when changing
7203 type to radio button.
7204
8049ddc0
GM
72052000-11-28 Gerd Moellmann <gerd@gnu.org>
7206
346598f1 7207 * xselect.c: Update copyright.
f4f4ee4d 7208
bebe4a2c
GM
7209 * window.c (coordinates_in_window): If on a mode or header line,
7210 but sufficiently close to its start, return ``on vertical
7211 border''. This gives us a way to drag windows horizontally when
7212 using toolkit scroll bars.
7213
7214 * xterm.c (note_mouse_highlight): Change the cursor shape
7215 on the vertical border between windows.
7216
7217 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7218
7219 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7220 (syms_of_xfns): DEFVAR_LISP it.
7221 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7222
8d2c2642
GM
7223 * textprop.c (text_read_only): New function.
7224 (verify_interval_modification): Use it instead of signaling
7225 `text-read-only'. This makes it easier to catch this error
52283633 7226 with a breakpoint.:
8d2c2642 7227
52283633 7228 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7229 not end of line, which includes CR.
7230
5a2bae6c
KH
72312000-11-28 Kenichi Handa <handa@etl.go.jp>
7232
7233 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7234 include no-conversion.
7235
ae31f84d
JR
72362000-11-27 Jason Rumney <jasonr@gnu.org>
7237
7238 * w32fns.c (w32_load_system_font): Always mark font as double byte
7239 if codepage is unicode.
7240
67f1cf4c
GM
72412000-11-27 Gerd Moellmann <gerd@gnu.org>
7242
4a74d071 7243 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7244 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7245
902ae620
GM
7246 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7247 `vertical-line', `mode-line' and `header-line' events.
7248
7249 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7250 of a character, a TAB for instance. This is easier than to set
7251 up the iterator exactly, and it's not a frequent case, so the
7252 additional effort wouldn't really pay off.
7253
c1e279c2
AC
72542000-11-26 Andrew Choi <akochoi@i-cable.com>
7255
67f1cf4c 7256 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7257 init_window_once.
7258
a609568a
JR
72592000-11-25 Jason Rumney <jasonr@gnu.org>
7260
52283633
SM
7261 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7262 Args to window_from_coordinates should be pixel coordinates.
48b21762 7263
a609568a
JR
7264 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7265 redisplay handles them properly.
7266
a658d039
MB
72672000-11-25 Miles Bader <miles@gnu.org>
7268
7269 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7270
d3416cca
JR
72712000-11-24 Jason Rumney <jasonr@gnu.org>
7272
7273 * w32.c (init_environment): Set LANG environment variable based on
7274 locale settings, if not set.
7275
7276 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7277 making tool bar smaller. When clearing the frame, also
7278 clear current matrices. Clear frame when tool bar disappears.
7279 Don't use more lines for the tool-bar than is available.
7280 (x_change_window_heights): New function.
7281
ba193890
GM
72822000-11-24 Gerd Moellmann <gerd@gnu.org>
7283
2be8f184
GM
7284 * xdisp.c (init_from_display_pos): If POS says we're already after
7285 an overlay string ending at POS, make sure to pop the iterator
7286 because it will be in front of that overlay string. When POS is
7287 ZV, we've thereby also ``processed'' overlay strings at ZV.
7288
ba193890
GM
7289 * xfaces.c (lface_from_face_name): Function comment fix.
7290
1862a24e
MB
72912000-11-24 Miles Bader <miles@gnu.org>
7292
7293 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7294 apply `mode-line-inverse-video' -- zero means force display using
7295 the default face, non-zero means display using the specialized face.
7296 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7297
f07fa1b8
KH
72982000-11-23 Kenichi Handa <handa@etl.go.jp>
7299
7300 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7301 hard coded `4'.
7302
2bcdf662
EZ
73032000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7304
7305 * coding.c (decode_coding_emacs_mule): Fix the case of
7306 CODING_EOL_LF, which used uninitialized value of c.
7307
ba8299ff
SM
73082000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7309
7310 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7311
f4117c4d
GM
73122000-11-22 Gerd Moellmann <gerd@gnu.org>
7313
03e757c1
GM
7314 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7315 buffer object.
7316
f4117c4d
GM
7317 * frame.h (struct frame): Replace desired_tool_bar_items,
7318 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7319 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7320
7321 * frame.c (make_frame): Change initialization of tool bar
7322 items accordingly.
7323
7324 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7325 Change references to members deleted from struct frame to use the
f4117c4d
GM
7326 new ones.
7327
7328 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7329 references to members deleted from struct frame to use the new ones.
f4117c4d 7330
52283633 7331 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7332
7333 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7334
7335 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7336 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7337 from struct frame to use the new ones.
7338
f8e2f3f2
MB
73392000-11-23 Miles Bader <miles@gnu.org>
7340
7341 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7342 the face's inverse-video attribute, rather than overriding it.
7343
60e8e0a5
GM
73442000-11-22 Gerd Moellmann <gerd@gnu.org>
7345
7346 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7347 making tool bar smaller.
7348
92dd1b29
DL
73492000-11-22 Dave Love <fx@gnu.org>
7350
7351 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7352
e672fdce
MB
73532000-11-22 Miles Bader <miles@gnu.org>
7354
3a17d6cc
MB
7355 * keyboard.c (Vminibuffer_message_timeout): New variable.
7356 (command_loop_1): Use it to determine message timeout.
7357 (syms_of_keyboard): Initialize it.
7358
60e8e0a5 7359 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7360
e9655d81
KH
73612000-11-22 Kenichi Handa <handa@etl.go.jp>
7362
7363 * sysdep.c: Move the code for declaring h_errno after #include
7364 <netdb.h>.
7365
77270fac
GM
73662000-11-21 Gerd Moellmann <gerd@gnu.org>
7367
cd913aae
GM
7368 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7369 the menu bar when the tooltip is unmapped.
7370
77270fac
GM
7371 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7372 sole visible buffer when we're currently in the mini-buffer, and
7373 give up if so.
52283633 7374
556635d6
JR
73752000-11-21 Jason Rumney <jasonr@gnu.org>
7376
7377 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7378 put on the clipboard.
7379 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7380 copy of what Emacs last put there. If they are the same, do not
52283633 7381 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7382
5b7bde64
MB
73832000-11-22 Miles Bader <miles@gnu.org>
7384
7385 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7386 (syms_of_minibuf): Initialize it.
7387 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7388 to prompt, don't make read-only.
7389
ff23e1dd
GM
73902000-11-21 Gerd Moellmann <gerd@gnu.org>
7391
52283633
SM
7392 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7393 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7394
7aaf4388
GM
7395 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7396
f5f47add 7397 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7398
ff23e1dd
GM
7399 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7400
37c35586
KH
74012000-11-21 Kenichi Handa <handa@etl.go.jp>
7402
7403 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7404 ... #endif scope.
7405
ff9ab414
GM
74062000-11-20 Gerd Moellmann <gerd@gnu.org>
7407
52283633 7408 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7409 screen supports it.
7410
29a01b72
GM
7411 * s/gnu-linux.h: Don't use `#cpu'.
7412
09dfdf85
GM
7413 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7414 not defined in mman.h.
7415
52283633 7416 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7417 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7418 and store an index in the XClientMessageEvent. Storing a
7419 Lisp_Object or pointer can fail on a 64 bit system, since X only
7420 transfers 32 bits.
52283633
SM
7421 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7422
81459ac9
DL
74232000-11-20 Dave Love <fx@gnu.org>
7424
7425 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7426
56c13ae6
GM
74272000-11-20 Gerd Moellmann <gerd@gnu.org>
7428
7429 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7430
495a6df3
KH
74312000-11-20 Kenichi Handa <handa@etl.go.jp>
7432
2bcf3714
KH
7433 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7434 by WIDTH.
7435
495a6df3
KH
7436 * alloc.c (make_string): Fix previous change. Be sure to make
7437 unibyte string correctly.
7438
6d950f4c
GM
74392000-11-19 Gerd Moellmann <gerd@gnu.org>
7440
39b39373
GM
7441 * window.c (Fwindow_list): Change parameter list to be XEmacs
7442 compatible.
7443 (window_list_1): New function.
7444 (window_loop): Use it instead of Fwindow_list.
7445
b95b34e5
GM
7446 * sysdep.c (emacs_ospeed): New variable.
7447 (toplevel): Don't declare ospeed extern.
7448 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7449
7450 * termcap.c (ospeed): Remove.
7451 (tputs) [!emacs]: Remove unused code.
7452 (tgetent): Avoid a compiler warning.
7453
e83dc917
GM
7454 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7455 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7456 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7457
7458 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7459 removed.
7460 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7461 Take the X display as additional argument.
7462 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7463 `Widget' is a pointer type that's not easily stored in Lisp_Object
7464 form in a portable way.
52283633 7465
6d950f4c
GM
7466 * dispnew.c (update_text_area): Fix last change.
7467
e47306e6
GM
74682000-11-18 Gerd Moellmann <gerd@gnu.org>
7469
fb3cd89b
GM
7470 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7471
7472 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7473 clear current matrices.
7474
edaa9aed
GM
7475 * buffer.c (mmap_enlarge): Don't print a message on stderr
7476 if mapping new memory at the end of the existing region fails.
7477
e47306e6
GM
7478 * dispnew.c (update_text_area): Don't skip over equal glyphs
7479 when the last current glyph overlaps the glyph to its right.
7480
509633e3
MB
74812000-11-18 Miles Bader <miles@gnu.org>
7482
7483 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7484 lines that *end* with "..." too (that's the most common case!).
7485
d392e9c5
GM
74862000-11-18 Gerd Moellmann <gerd@gnu.org>
7487
67988445
GM
7488 * xdisp.c (resize_mini_window): Temporarily change to the
7489 mini-window's buffer if necessary.
1bfdbe43 7490
d392e9c5
GM
7491 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7492 the tooltip obscures less text under it.
7493
74942000-11-17 Gerd Moellmann <gerd@gnu.org>
7495
7496 * puresize.h (BASE_PURESIZE): Increase to 700000.
7497
92bb977f
JR
74982000-11-18 Jason Rumney <jasonr@gnu.org>
7499
7500 * w32term.c (w32_draw_bitmap): Use face to set colors.
7501
26fbf20b
DL
75022000-11-17 Dave Love <fx@gnu.org>
7503
7504 * lread.c (Fload): Fix #ifdef for pcc.
7505
100b593b
GM
75062000-11-17 Gerd Moellmann <gerd@gnu.org>
7507
7508 * xdisp.c (pos_visible_p): Compute the default character height
7509 differently.
7510
a288d0d1
GM
75112000-11-16 Gerd Moellmann <gerd@gnu.org>
7512
cac94de6 7513 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7514 knowing the line's height; use the default font's height in that case.
cac94de6 7515
a288d0d1
GM
7516 * xfaces.c (weight_table): Add `demi' with the same meaning as
7517 `demibold'.
7518
981fb6f6
KH
75192000-11-16 Kenichi Handa <handa@etl.go.jp>
7520
2cca872d 7521 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7522 (clear_glyph_row): Delete local static variable null_row.
7523
e5fa381b
JR
75242000-11-15 Jason Rumney <jasonr@gnu.org>
7525
7526 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7527 (w32_alloc_lighter_color): Use new brightness calculations from
7528 xterm.c. Scale delta to be in the range expected by W32.
7529 (w32_draw_relief_rect): Use frame relief colors.
7530
8e42f043
GM
75312000-11-15 Gerd Moellmann <gerd@gnu.org>
7532
6d133d1f
GM
7533 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7534 (Qinhibit_default_face_x_resources): New variable.
7535 (syms_of_frame): Initialize it.
7536 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7537
7538 * xdisp.c (pos_visible_p): Improve function comment.
7539
7540 * lisp.h (BINDING_STACK_SIZE): New macro.
7541
8e42f043
GM
7542 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7543 reading the directory if readdir returns null and errno is EAGAIN
7544 or EINTR.
7545
e8c87124
SM
75462000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7547
7548 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7549 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7550 Set amount_to_scroll to max of dx and scroll_step so that
7551 scroll-conservatively doesn't defeat scroll-step>1.
7552 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7553 scroll-conservatively for line-at-a-time scrolling.
7554
5f0c971d
GM
75552000-11-14 Gerd Moellmann <gerd@gnu.org>
7556
7557 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7558 extra argument.
7559
7560 * xdisp.c (current_mode_line_height, current_header_line_height):
7561 New variables.
7562 (init_xdisp): Initialize them.
7563 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7564 and use exact mode line heights if it is set.
7565
7566 * lisp.h (pos_visible_p): Change prototype.
7567
7568 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7569 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7570 and current_header_line_height first.
52283633
SM
7571 (current_mode_line_height, current_header_line_height):
7572 Declare extern.
5f0c971d 7573
d7361edf
MB
75742000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7575
7576 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7577 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7578 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7579
ee5e440a
MB
75802000-11-14 Miles Bader <miles@gnu.org>
7581
7582 * xterm.c (x_alloc_lighter_color): Include an additive component
7583 too for dark colors, because FACTOR isn't enough.
7584 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7585 New macros.
7586
5ca020fc
GM
75872000-11-13 Gerd Moellmann <gerd@gnu.org>
7588
7589 * keyboard.c (show_help_echo): Call message3_nolog with number of
7590 bytes in the help string as 2nd parameter, instead of the number
7591 of characters.
7592
9d348294
MB
75932000-11-13 Miles Bader <miles@gnu.org>
7594
7595 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7596 (Fload): Use new openp return protocol.
7597 Don't try to use Vload_source_file_function to load .elc files.
7598 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7599 openp return protocol.
7600 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7601
1729bb9a
KH
76022000-11-11 Kenichi Handa <handa@etl.go.jp>
7603
4e677396
KH
7604 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7605
7606 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7607 Defined these macros.
7608 (NLIST_STRUCT): Avoid re-defining it.
7609
1729bb9a
KH
7610 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7611 -I/usr/contrib/X11R6/include.
7612 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7613
a82fe213
JR
76142000-11-10 Jason Rumney <jasonr@gnu.org>
7615
7616 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7617
7618 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7619 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7620
7621 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7622 (Qw32_charset_vietnamese): New symbol.
7623 (xlfd_charset_of_font): New function.
7624 (w32_load_system_font): Use it.
7625 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7626 when Vw32_charset_info_alist is nil to ensure default face always
7627 has font. Use Fcar and Fcdr for safety.
7628 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7629 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7630 pseudo-codepages for special cases.
7631 (w32_to_x_font): New parameter to allow charset portion to be
7632 specified where there is many to one mapping. Callers changed.
7633 (w32_list_fonts): Avoid listing fonts that won't display.
7634
52d89894
GM
76352000-11-10 Gerd Moellmann <gerd@gnu.org>
7636
7637 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7638 (font_list_1): Renamed from font_list.
7639 (font_list): New function, trying alternative registries from
7640 Vface_alternative_font_registry_alist.
7641 (Finternal_set_alternative_font_registry_alist): New function.
7642 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7643 Vface_alternative_font_registry_alist.
7644 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7645
651cd3da
KR
76462000-11-09 Ken Raeburn <raeburn@gnu.org>
7647
7648 * lisp.h (Flooking_at): Declare.
7649
388ac098
GM
76502000-11-09 Gerd Moellmann <gerd@gnu.org>
7651
778fbc46 7652 * dired.c (directory_files_internal): Fix a braino.
52283633 7653
388ac098
GM
7654 * dired.c (directory_files_internal): Add missing GCPRO's.
7655 Some cleanup.
7656
ecaedde1
GM
76572000-11-08 Gerd Moellmann <gerd@gnu.org>
7658
f7eb32aa
GM
7659 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7660 (resize_mini_window): Return quickly if Vresize_mini_window is
7661 nil. Don't return if Vmax_mini_window_height is nil.
7662
7663 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7664 (syms_of_xdisp): Initialize them.
7665 (resize_mini_window): Act according to the setting of
7666 Vresize_mini_window.
7667 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7668
ecaedde1
GM
7669 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7670 scroll bar widget after configuring it, so that it will appear at
7671 the right position from the start.
7672 (XTredeem_scroll_bar): Cleaned up.
7673
3747ef2c
KH
76742000-11-08 Kenichi Handa <handa@etl.go.jp>
7675
7676 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7677 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7678 division by two.
7679
7680 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7681
03391420
DL
76822000-11-07 Dave Love <fx@gnu.org>
7683
7758f1c1 7684 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7685
7686 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7687
b5de343d
GM
76882000-11-07 Gerd Moellmann <gerd@gnu.org>
7689
acad3c0b
GM
7690 * window.c (Fset_window_configuration): Don't try to preserve
7691 point in the current buffer, if that buffer is displayed in more
7692 than one window.
7693
b5de343d
GM
7694 * xfaces.c (lookup_named_face): If default face isn't realized,
7695 try to realize it. Return -1 if not successful.
7696 (Fx_list_fonts): Handle case that face cannot be determined.
7697 (Fface_font): Likewise.
7698
cdb1fe49
GM
76992000-11-06 Gerd Moellmann <gerd@gnu.org>
7700
7701 * window.c (displayed_window_lines): Detect partially
7702 visible lines at the bottom correctly.
7703
d3a67486
SM
77042000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7705
7706 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7707 when ensuring we don't do visit in indirect buffer.
7708
ff8dd5d5
KH
77092000-11-06 Kenichi Handa <handa@etl.go.jp>
7710
7711 * composite.h (compose_chars_in_text): Add prototype.
7712
7713 * composite.c (Vcomposition_function_table): New variable.
7714 (Qcomposition_function_table): New variable.
7715 (run_composition_function): Call
7716 Vcompose_chars_after_function with three arguments.
7717 (compose_chars_in_text): New function.
7718 (syms_of_composite): Modified the doc-string of
7719 Vcompose_chars_after_function. Declare composition-function-table
7720 as a lisp variable, and initialize it.
7721
7722 * xfns.c (x_encode_text): Suppress producing escape sequences for
7723 composition.
7724
7725 * xselect.c: Include composite.h.
7726 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7727
d1145f85
AI
77282000-11-05 Andrew Innes <andrewi@gnu.org>
7729
7730 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7731
7732 * sysdep.c (read_input_waiting): Remove extraneous argument to
7733 read_socket_hook.
7734
7735 * w32fns.c (Fx_server_version): Include w32_build_number in the
7736 return list.
7737
7738 * w32heap.c (w32_build_number): New variable.
7739 (cache_system_info): Set it.
7740
7741 * w32heap.h (w32_build_number): Add extern.
7742
7743 * emacs.c (syms_of_emacs): Update docstring for
7744 system-configuration, to reflect the actual usage on MS-Windows.
7745
e85ee976
GM
77462000-10-31 Gerd Moellmann <gerd@gnu.org>
7747
26dcb81b
GM
7748 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7749 process idle timers while waiting for another event.
7750
52283633 7751 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7752 the default face are colored.
7753
e85ee976
GM
7754 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7755 window height hasn't changed.
7756
01b220b6
JR
77572000-10-31 Jason Rumney <jasonr@gnu.org>
7758
7759 * w32term.c (x_produce_glyphs): Handle composite characters.
7760 (x_draw_glyph_string_foreground)
7761 (x_draw_composite_glyph_string_foreground): Restore old font.
7762
4e6b7204
MB
77632000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7764
7765 * minibuf.c (read_minibuf): Reset the undo history just before
7766 starting the recursive-edit.
7767
d4358b37
GM
77682000-10-30 Gerd Moellmann <gerd@gnu.org>
7769
563f68f1
GM
7770 * xfaces.c (menu_face_change_count): New variable.
7771 (Finternal_set_lisp_face_attribute): Increment it for changes
7772 of the `menu' face.
7773 (realize_basic_faces): Reflect changes in the `menu' faces
7774 in menu bars.
7775
82e274d1
GM
7776 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7777 dy obtained from the iterator's y-position after moving from
7778 scroll_margin_pos to PT; see comment there.
52283633 7779
0dbf9fd2
GM
7780 * xdisp.c (safe_eval_handler): Call add_to_log.
7781
906b3b14
GM
7782 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7783 is not a symbol or string.
7784
d4358b37
GM
7785 * xdisp.c (echo_area_display): Don't perform a display update from
7786 inside redisplay. The update will happen anyway at the end of
7787 redisplay, and it can confuse redisplay (GC messages while
7788 redisplaying, for instance.)
7789
70c825df
SM
77902000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7791
cf9b4b0b
SM
7792 * xrdb.c (x_load_resources): Use the class name in the defaults.
7793
70c825df
SM
7794 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7795 (regex_compile): Catch bogus \(\1\).
7796
a1d34b1e
GM
77972000-10-30 Gerd Moellmann <gerd@gnu.org>
7798
cae71efe
GM
7799 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7800 RGB values.
52283633 7801
35efe0a1
GM
7802 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7803 we have a color cache, check that the cached color equals the
7804 allocated color. If not, clear the color cache.
7805
1d3baf74
GM
7806 * window.c (displayed_window_lines): Change buffers if necessary.
7807 Fix computation of displayed lines.
7808
a1d34b1e
GM
7809 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7810 update_menu_bindings to DEFVAR_BOOL.
7811
70737ea9
KH
78122000-10-30 Kenichi Handa <handa@etl.go.jp>
7813
70c825df 7814 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7815
fa0cb51d
KH
7816 * puresize.h (BASE_PURESIZE): Increase to 680000.
7817
70737ea9
KH
7818 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7819
0e4c08e8
JR
78202000-10-29 Jason Rumney <jasonr@gnu.org>
7821
7822 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7823
7824 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7825 (w32_cache_char_metrics): Handle possibility that 'x' does not
7826 exist in a BDF font.
7827 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7828
7829 * w32bdf.h (bdffont): Add nchars.
7830
7831 * w32bdf.c (set_bdf_font_info): Set it.
7832 (w32_BDF_TextOut): Swap byte order of double byte characters.
7833 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7834
45b84006
EZ
78352000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7836
7837 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7838 don't override the colors in frame's param_alist, unless they are
7839 unspecified.
7840
7841 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7842 reverse the effect of the highlight flag.
7843
caf9deee
KR
78442000-10-27 Ken Raeburn <raeburn@gnu.org>
7845
7846 * window.h (Fwindow_live_p): Declare.
7847
ae0b9b46
KR
7848 * undo.c (record_delete): Check that last_undo_buffer is really a
7849 buffer before applying XBUFFER to it.
7850
7851 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7852 Faref.
7853
02067692
SM
78542000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7855
7856 * lisp.h (KEYMAPP): New macro.
7857 (get_keymap): Remove.
7858 (get_keymap_1): Rename get_keymap.
7859
7860 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7861
7862 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7863
7864 * xmenu.c (single_submenu): Use KEYMAPP.
7865 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7866 Use KEYMAPP rather than Fkeymapp.
7867
7868 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7869
7870 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7871 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7872 Use KEYMAPP rather than Fkeymapp.
7873 (single_submenu): Use KEYMAPP.
7874 (w32_menu_show, w32_dialog_show): Use TRUE.
7875
7876 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7877
7878 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7879 (Fkeymapp): Use KEYMAPP.
7880 (get_keymap): Rename from get_keymap_1. Remove old def.
7881 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7882 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7883 (Fminor_mode_key_binding): Don't raise an error if the binding
7884 is not a keymap.
7885 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7886 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7887
7888 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7889 Allow Vspecial_event_map to be autoloaded.
7890 (menu_bar_items): Fetch the keymap rather than using keymapp.
7891 (menu_bar_one_keymap): No need to follow func-indirect any more.
7892 (parse_menu_item): get_keymap_1 -> get_keymap.
7893 (tool_bar_items): Fetch the keymap rather than using keymapp.
7894 (read_key_sequence): Use KEYMAPP.
7895
7896 * intervals.c (get_local_map): Use get_keymap rather than following
7897 function-indirections explicitly.
7898
7899 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7900
f9d80af3
JR
79012000-10-27 Jason Rumney <jasonr@gnu.org>
7902
7903 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7904 point, as Windows has oversized fonts.
7905
7906 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7907
a3ba27da
GM
79082000-10-27 Gerd Moellmann <gerd@gnu.org>
7909
7910 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7911 (freehook, reallochook): Handle null pointer arguments.
7912 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7913
aa3b80cc
SM
79142000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7915
7916 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7917 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7918 Giving in to popular pressure to shut up the compiler with casts.
7919
e24e84cc
GM
79202000-10-27 Gerd Moellmann <gerd@gnu.org>
7921
7922 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7923 signed value, and use a default value computed from the font's
7924 maximum descent.
7925
05ea7ef2
MB
79262000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7927
7928 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7929 that specify a negative underline position can still use underlines.
7930
7931 * window.c (Fpos_visible_in_window_p): Make POS default to
7932 WINDOW's point, not the current buffer's point.
7933
0b95284b
DL
79342000-10-26 Dave Love <fx@gnu.org>
7935
7936 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7937 when it's necessary.
7938
6c5b90af
GM
79392000-10-26 Gerd Moellmann <gerd@gnu.org>
7940
8b6d9dc9
GM
7941 * window.c (size_window): Compute size difference from sum of old
7942 child window sizes instead of from parent's size.
7943
6bc92b2e
GM
7944 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7945 Handle obscured lines at the top of the window.
7946
7947 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7948 down after the last error condition check.
7949
6c5b90af
GM
7950 * frame.c (Fdelete_frame): Run delete-frame-hook.
7951
42f92d4d
KH
79522000-10-26 Kenichi Handa <handa@etl.go.jp>
7953
7954 * coding.c (decode_coding): Fix previous change (check also
7955 CODING_MODE_LAST_BLOCK).
7956
d97151cb
SM
79572000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7958
e7efc503
SM
7959 * regex.c: More `unsigned char' -> `re_char' changes.
7960 Also change several `int' into `re_wchar_t'.
7961 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7962 (PUSH_FAILURE_POINTER): Don't cast any more.
7963 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7964 We want GCC to complain, since this piece of code makes
7965 re_match non-reentrant, which *should* be fixed.
7966 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7967 (EXTEND_BUFFER): Use RETALLOC.
7968 (SET_LIST_BIT): Don't cast.
7969 (re_wchar_t): New type.
7970 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7971 that those two functions will always properly return.
7972 (IMMEDIATE_QUIT_CHECK): Cast to void.
7973 (analyse_first): Use recursion rather than an explicit stack.
7974 (re_compile_fastmap): Can't fail anymore.
7975 (re_search_2): Don't check re_compile_fastmap for failure.
7976 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7977 Now also sets the new value (passed in a new argument).
7978 (re_match_2_internal): Use it.
7979 Also, use a new var `reg' of type size_t when looping through regs
7980 rather than reuse the inappropriate `mcnt'.
7981
d97151cb
SM
7982 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7983 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7984 (where_is_internal): Renamed from Fwhere_is_internal.
7985 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7986 (Fwhere_is_internal): New function wrapping where_is_internal.
7987 (where_is_internal_1): Handle the case where we're filling the cache.
7988 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7989
d5789b65
MB
79902000-10-25 Miles Bader <miles@gnu.org>
7991
7992 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7993
4ecda532
GM
79942000-10-25 Gerd Moellmann <gerd@gnu.org>
7995
7996 * window.c (pos_fully_visible_p): Removed.
7997 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7998 if position is visible and/or fully visible.
7999
8000 * lisp.h (pos_visible_p): Add prototype.
8001
8002 * xdisp.c (pos_visible_p): New function.
8003
68c3a137
KH
80042000-10-25 Kenichi Handa <handa@etl.go.jp>
8005
8006 * process.c (send_process): If OBJECT is t, it means that the data
8007 is from C string, but we should encode it. Before calling
8008 setup_raw_text_coding_system, be sure to flush out data by the
8009 previous coding system.
8010
7ae1c032
MB
80112000-10-25 Miles Bader <miles@lsi.nec.co.jp>
8012
ff4dcd4b
MB
8013 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
8014 assignment of startpos to prev when startpos == pos.
8015
7ae1c032
MB
8016 * editfns.c (find_field): Set the field stickiness correctly from
8017 overlay fields. Use renamed `text_property_stickiness'.
8018 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 8019 Only check text properties, not overlays.
7ae1c032
MB
8020 * textprop.c (get_char_property_and_overlay): New function.
8021 (Fget_char_property): Use it.
8022 * intervals.h (get_char_property_and_overlay): Add declaration.
8023
49801145
SM
80242000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8025
8026 * keymap.c: Use AREF, ASET and ASIZE macros.
8027 (Fmake_sparse_keymap): Docstring fix.
8028 (synkey): Remove.
8029 (shadow_lookup): Move up.
8030 Handle the case where lookup-key returns an integer.
8031 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
8032 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
8033 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
8034 Simplify/rewrite the keymap-finding code.
8035 Add check for command shadowing, using shadow_lookup.
8036
39e776cd
SM
80372000-10-24 Stefan Monnier <monnier@cs.yale.edu>
8038
8039 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
8040 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
8041 a symbol.
8042
2488aba5
AI
80432000-10-24 Andrew Innes <andrewi@gnu.org>
8044
8045 * dired.c (directory_files_internal_unwind): New function.
8046 (directory_files_internal): Use it to ensure closedir is called
8047 even if expand-file-name or file-attributes throw, eg. because of
8048 a user interrupt. Also enable immediate_quit while calling
8049 re_search, so that matching can be interrupted as well.
8050
b94fdf61
AI
80512000-10-24 Andrew Innes <andrewi@gnu.org>
8052
8053 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
8054 NT-Emacs only.
8055 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
8056 so that re_search functions only quit when callers expect them to.
8057
80582000-10-24 Kenichi Handa <handa@etl.go.jp>
8059
8060 * regex.c (regex_compile): Change the way of handling a range from
8061 a char less than 256 to a char not less than 256.
8062
1946f901
GM
80632000-10-24 Gerd Moellmann <gerd@gnu.org>
8064
7ae2f10f
GM
8065 * window.c (size_window): Prevent setting window's width or
8066 height to a negative value (esp. with XSETFASTINT).
8067
5dcab13e
GM
8068 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
8069 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
8070 (protect_malloc_state) [GC_MALLOC_CHECK &&
8071 GC_PROTECT_MALLOC_STATE]: New function.
8072 (PROTECT_MALLOC_STATE): New macro.
8073 (__malloc_initialize, morecore, _malloc_internal)
8074 (_free_internal) _realloc_internal): Use it to make _heapinfo
8075 read-only outside of gmalloc.
8076
63e1b552
GM
8077 * keymap.c: Update copyright.
8078
1946f901
GM
8079 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
8080 a symbol.
8081
4fa09beb
GM
80822000-10-24 Colin Walters <walters@cis.ohio-state.edu>
8083
8084 * filelock.c (unlock_all_files): Use unlock_file to expand each
8085 buffer's file_truename before trying remove its lock file.
8086
23afac01
EZ
80872000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
8088
8089 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
8090 or CRLF, decode EOLs.
8091
04448b95
KH
80922000-10-24 Kenichi Handa <handa@etl.go.jp>
8093
8094 * window.c (Fdisplay_buffer): Fix doc.
8095
3090a5a5
JR
80962000-10-23 Jason Rumney <jasonr@gnu.org>
8097
8098 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
8099 ASCII font of default fontset on Windows.
8100
8101 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
8102 xterm.c comment below).
8103
8104 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
8105
a83fee2c
GM
81062000-10-23 Gerd Moellmann <gerd@gnu.org>
8107
8108 * xterm.c (x_connection_closed): Reset handling_signal.
8109
52283633 8110 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 8111
6ffdb539
MB
81122000-10-23 Miles Bader <miles@gnu.org>
8113
8114 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8115 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8116 maintain old behavior.
8117 * minibuf.c (Fminibuffer_complete): Likewise.
8118
7f1c969b
MB
81192000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8120
8121 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8122 that when a font can't be exactly centered, it errs up rather than
8123 down.
8124
23afac01 81252000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 8126
52283633 8127 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 8128
1a578e9b
AC
81292000-10-23 Andrew Choi <akochoi@i-cable.com>
8130
8131 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8132
8133 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8134 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8135
8136 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8137 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8138 syms_of_search, x_term_init, and init_keyboard before calling
8139 init_window_once. Also, call syms_of_xmenu.
8140
8141 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8142 default fontset to Monaco.
8143
8144 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8145 NewMacWindow and DisposeMacWindow.
8146 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8147 instead of calling NewMacWindow and setting fields of
8148 f->output_data.mac directly. Call init_frame_faces.
8149 (Fdelete_frame) [macintosh]: Remove unused code.
8150 (Fmodify_frame_parameters) [macintosh]: Call
8151 x_set_frame_parameters instead of mac_set_frame_parameters.
8152
8153 * frame.h [macintosh]: Define menu_bar_lines field in struct
8154 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8155
8156 * keyboard.c [macintosh]: Include macterm.h.
8157 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8158 and menu_bar_activate_event type events as for X and NT.
8159 (make_lispy_event) [macintosh]: Construct lisp events of type
8160 MENU_BAR_EVENT as for X and NT.
8161
8162 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8163 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8164 (sys_subshell) [macintosh]: Remove definition entirely.
8165 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8166 Vwindow_system_version here. Remove initialization of
8167 Vx_bitmap_file_path.
8168 (read_input_waiting): Correct the number of parameters passed to
8169 read_socket_hook.
8170 Move all Macintosh functions to mac/mac.c.
8171
8172 * term.c [macintosh]: Include macterm.h.
8173
8174 * window.c [macintosh]: Include macterm.h.
8175
8176 * xdisp.c [macintosh]: Include macterm.h. Declare
8177 set_frame_menubar and pending_menu_activation.
8178 (echo_area_display) [macintosh]: Do not return if terminal frame
8179 is the selected frame.
8180 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8181 Allow only the selected frame to set menu bar.
8182 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8183 calling FRAME_EXTERNAL_MENU_BAR (f).
8184 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8185
8186 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8187 and check_x. Declare XCreateGC. Define x_create_gc and
8188 x_free_gc. Initialize font_sort_order.
8189 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8190 but call x_list_fonts instead of w32_list_fonts.
8191 (Finternal_face_x_get_resource) [macintosh]: Do not call
8192 display_x_get_resource.
8193 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8194 (realize_x_face) [macintosh]: Load the font if it is specified in
8195 ATTRS.
52283633 8196 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8197
1ffbabe3
SM
81982000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8199
8200 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8201 is nil: since we go to the end of submap anyway, we'd end up
8202 setting nil to nil.
8203 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8204 doesn't obey autoload.
8205
bed43f1d
EZ
82062000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8207
1ffbabe3 8208 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8209
ea4233a7
JR
82102000-10-21 Jason Rumney <jasonr@gnu.org>
8211
8212 * w32term.c (w32_cache_char_metrics): Double check that font is
8213 really fixed pitch before trusting tmPitchAndFamily.
8214
f3d3c491
AI
82152000-10-21 Andrew Innes <andrewi@gnu.org>
8216
8217 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8218
8219 * w32term.h: Extern decl for w32_cache_char_metrics.
8220
8221 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8222
8223 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8224 (w32_unload_font): Free per_char array if present.
8225
8226 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8227 cached information in emulated XFontStruct to handle common cases
8228 quickly. Do not allocate XCharStruct for return.
8229 (w32_native_per_char_metric): New function.
8230 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8231 allocating one.
8232 (x_produce_glyphs): Don't get an HDC. Change calls to
8233 w32_per_char_metric to match arg change above. Remove calls to
8234 free results.
8235 (w32_get_glyph_overhangs): Ditto.
8236 (w32_cache_char_metrics): New function.
8237
8238 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8239 ($(BLD)/casefiddle.$(O)): Remove compile command.
8240 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8241 ($(BLD)/dispnew.obj):
8242 ($(BLD)/keyboard.obj):
8243 ($(BLD)/w32inevt.obj):
8244 ($(BLD)/w32bdf.obj):
8245 ($(BLD)/alloc.obj):
8246 ($(BLD)/buffer.obj):
8247 ($(BLD)/editfns.obj):
8248 ($(BLD)/emacs.obj):
8249 ($(BLD)/fileio.obj):
8250 ($(BLD)/fns.obj):
8251 ($(BLD)/indent.obj):
8252 ($(BLD)/insdel.obj):
8253 ($(BLD)/intervals.obj):
8254 ($(BLD)/minibuf.obj):
8255 ($(BLD)/print.obj):
8256 ($(BLD)/scroll.obj):
8257 ($(BLD)/sysdep.obj):
8258 ($(BLD)/textprop.obj):
8259 ($(BLD)/widget.obj):
f3d3c491
AI
8260 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8261 ($(BLD)/term.obj): Add dependency on dispextern.h.
8262
52283633
SM
8263 * makefile.nt ($(BLD)\dispnew.obj):
8264 ($(BLD)\keyboard.obj):
8265 ($(BLD)\w32inevt.obj):
8266 ($(BLD)\w32bdf.obj):
8267 ($(BLD)\alloc.obj):
8268 ($(BLD)\buffer.obj):
8269 ($(BLD)\editfns.obj):
8270 ($(BLD)\emacs.obj):
8271 ($(BLD)\fileio.obj):
8272 ($(BLD)\fns.obj):
8273 ($(BLD)\indent.obj):
8274 ($(BLD)\insdel.obj):
8275 ($(BLD)\intervals.obj):
8276 ($(BLD)\minibuf.obj):
8277 ($(BLD)\print.obj):
8278 ($(BLD)\scroll.obj):
8279 ($(BLD)\sysdep.obj):
8280 ($(BLD)\textprop.obj):
8281 ($(BLD)\widget.obj):
f3d3c491
AI
8282 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8283 ($(BLD)\term.obj): Add dependency on dispextern.h
8284
18ad4821
EZ
82852000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8286
8287 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8288 with an additional argument of Qt.
8289
de54681a
MB
82902000-10-21 Miles Bader <miles@gnu.org>
8291
8292 * window.c (pos_fully_visible_in_window_p): New function.
8293 (Fpos_visible_in_window_p): Add FULLY argument.
8294 Use pos_fully_visible_in_window_p.
8295 (window_scroll_pixel_based, window_scroll_line_based): Update
8296 calls to Fpos_visible_in_window_p.
8297 * lisp.h (Fpos_visible_in_window_p): Update prototype
8298
13c844fb
GM
82992000-10-20 Gerd Moellmann <gerd@gnu.org>
8300
8301 * alloc.c (toplevel): Conditionalize compilation of mem_*
8302 functions differently.
52283633 8303
d9506268
JR
83042000-10-20 Jason Rumney <jasonr@gnu.org>
8305
8306 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8307 mem_init where it used to be. mem_z etc not defined otherwise.
8308
8094989b
GM
83092000-10-20 Gerd Moellmann <gerd@gnu.org>
8310
8311 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8312 GC_MALLOC_CHECK.
8313 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8314 structure definition and related variabled to the top of the file.
8315 Include this code when GC_MALLOC_CHECK is defined.
8316 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8317 register/unregister allocated region.
8318 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8319 which isn't allocated.
8320 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8321 something which is already in use.
8322 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8323 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8324 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8325 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8326
8327 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8328 _malloc_internal instead of malloc.
8329 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8330 of free.
8331
ea456eb4
AI
83322000-10-20 Andrew Innes <andrewi@gnu.org>
8333
8334 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8335 Windows.
8336 (my_strftime) <macro>: Don't use macro arg list when redefining as
8337 _strftime_copytm.
8338 (my_strftime) <function>: Supply 0 as ut argument.
8339
e64c3a75
JR
83402000-10-19 Jason Rumney <jasonr@altavista.net>
8341
8342 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8343 including dispextern.h, as it stops faces from working.
8344
8345 * w32fns.c (Fx_create_frame): Don't bother calling
8346 face-set-after-frame-default since the caller does it for us
8347 anyway. Clean up calls to x_get_arg to be consistent with X.
8348
8349 * w32term.c (x_produce_glyphs): Handle
8350 unibyte_display_via_language_environment correctly.
8351 (w32_draw_box_rect): Fix the calculation of width and height.
8352
8353 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8354 as it has stopped working.
8355 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8356 menu-bar.
8357
17401c97
GM
83582000-10-19 Gerd Moellmann <gerd@gnu.org>
8359
8360 * eval.c (skip_debugger): Prevent a compiler warning.
8361 (Fcondition_case): Likewise.
8362 (Fbacktrace_frame): Use a null interactive spec.
8363
773272d8
KH
83642000-10-19 Kenichi Handa <handa@etl.go.jp>
8365
8366 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8367
a42943e9
GM
83682000-10-18 Gerd Moellmann <gerd@gnu.org>
8369
e50517d9
GM
8370 * strftime.c: Sync with glibc, file version 1.78.
8371 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8372 should no longer be used according to ISO 8601.
8373
9035a35a
GM
8374 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8375 no map for meta_prefix_char, don't try to use it as a keymap.
8376 Instead, if T_OK is non-zero, look up a default binding, if any,
8377 otherwise, if T_OK is zero, return nil.
8378
a42943e9
GM
8379 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8380 (x_to_xcolors, png_load): Use x_query_color.
8381
52283633
SM
8382 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8383 New functions.
a42943e9
GM
8384 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8385 which can be slow.
8386 (x_copy_color, x_alloc_lighter_color): Likewise.
8387
8388 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8389 (x_query_color, x_query_colors): Add prototype.
8390
8391 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8392 check_string_bytes only if not noninteractive, increase count to 50.
8393
00de2987
MB
83942000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8395
8396 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8397 markers correctly.
8398
54918e2b
GM
83992000-10-17 Gerd Moellmann <gerd@gnu.org>
8400
1f0b3fd2
GM
8401 * alloc.c (pure_bytes_used): Renamed from pureptr.
8402 (ALIGN): New macro.
8403 (pure_alloc): New function.
8404 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8405 Use it.
8406 (Fpurecopy): Use PURE_POINTER_P.
8407
68c5d1db
GM
8408 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8409 PT has moved backward.
52283633 8410
9a038881
GM
8411 * xdisp.c (cursor_row_p): Take continued lines into account.
8412
361b097f
GM
8413 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8414 string's size_byte.
8415 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8416 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8417 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8418 string allocated.
8419
54918e2b
GM
8420 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8421 of selective display off while searching for the next line start.
8422
03ed0806
KH
84232000-10-17 Kenichi Handa <handa@etl.go.jp>
8424
8425 * Makefile.in (term.o): Depend on dispextern.h.
8426
7e05cdaf
SM
84272000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8428
8429 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8430
a6801fd1
GM
84312000-10-16 Gerd Moellmann <gerd@gnu.org>
8432
483de32b
GM
8433 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8434 the iterator at the beginning, so that they can be set later on,
8435 for instance in reseat_at_next_visible_line_start, without being
8436 overwritten.
8437
a6801fd1
GM
8438 * xfns.c (pbm_format): Add :foreground and :background keywords.
8439 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8440 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8441
dbf1fcc1
EZ
84422000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8443
8444 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8445
52283633 8446 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8447
8448 * msdos.c (IT_set_face): Compare highlighted face with the default
8449 face, and invert colors if these faces' colors are identical.
8450 (Fmsdos_remember_default_colors): Don't swap foreground and
8451 background colors in initial_colors[].
8452 (IT_set_frame_parameters): Don't swap frame's foreground and
8453 background pixels. If ALIST includes "(reverse . t)", swap
8454 foreground-color and background-color properties in frame's
8455 param_alist. If the original frame's param_alist doesn't specify
8456 the colors, store unspecified-fg and unspecified-bg, reversed if
8457 required.
8458
8459 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8460 the colors are unspecified and reversed, reverse fore- and back-
8461 ground in the returned value.
8462 (Fframe_parameter): Ditto.
8463
b41fe2c3 84642000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8465
3a6b59d9
GM
8466 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8467 get_last_unchanged_at_beg_row.
8468 (find_first_unchanged_at_end_row): Renamed from
8469 get_first_unchanged_at_end_row.
8470 (find_first_unchanged_at_end_row): Convert assertions to
8471 unconditional tests which abort. When looking for a row in
8472 unchanged text, don't go further back than first_text_row.
8473
b41fe2c3
GM
8474 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8475 Don't add in the last line's height when deciding if the new
8476 position is below the scroll margin.
9d1af64f 8477
b41fe2c3 84782000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8479
8480 * editfns.c (Fconstrain_to_field): Check carefully for field
8481 boundaries if either OLD_POS or NEW_POS has a non-nil field
8482 property, even if they're the same.
8483
c412cb7b
KH
84842000-10-16 Kenichi Handa <handa@etl.go.jp>
8485
8486 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8487 height for XFillRectangle.
8488
5586f3eb
SM
84892000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8490
8491 * syntax.c (Fstring_to_syntax): New function extracted from
8492 Fmodify_syntax_entry.
8493 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8494 (skip_chars, Fforward_comment): Remove unused variables.
8495 (syms_of_syntax): Add defsubr for string-to-syntax.
8496 (describe_syntax): Add code for comment and string fences.
8497
db785038
SM
84982000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8499
8500 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8501 Do the meta->esc mapping. Call get_keyelt before returning.
8502 Start scanning from the second element (the first is always `keymap')
8503 to make it easier to detect when we reach a parent map.
8504 Handle the case of inheriting from a symbol whose function is a map.
8505 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8506 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8507 (get_keyelt, Flookup_key): Update call to access_keymap.
8508 Remove the meta->esc mappings.
8509 (define_as_prefix): Delete old disabled code.
8510 (menu_item_p): New function.
8511 (where_is_internal_1): Skip over the few remaining menu items.
8512 * lisp.h (access_keymap): Update prototype.
8513 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8514 Update call to access_keymap.
8515 (follow_key, read_key_sequence): Update calls to access_keymap.
8516 Remove the meta->esc mappings.
8517
cafafe0b
GM
85182000-10-13 Gerd Moellmann <gerd@gnu.org>
8519
a2e2a7f6
GM
8520 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8521 with additional argument.
8522
cafafe0b
GM
8523 * xdisp.c (cursor_row_p): New function.
8524 (try_cursor_movement, display_line): Use it.
52283633 8525
cafafe0b
GM
8526 * xdisp.c (append_space): Also save/restore iterator's current
8527 character and its length.
8528
8529 * xdisp.c (init_from_display_pos): Add an assertion.
8530 (handle_stop): Don't set iterator's add_overlay_start.
8531 (handle_invisible_prop): Likewise.
8532 (load_overlay_strings): If text under an overlay is invisible,
8533 take both before- and after-strings into account when the iterator
8534 is positioned either at the start or at the end of the overlay.
8535 (forward_to_next_line_start): Rewritten.
8536 (reseat_at_next_visible_line_start): Rewritten.
8537 (set_iterator_to_next): Add parameter RESEAT_P.
8538
8539 * dispextern.h (struct it): Remove member add_overlay_start.
8540 (set_iterator_to_next): Change prototype.
8541
c744452b
KH
85422000-10-13 Kenichi Handa <handa@etl.go.jp>
8543
8544 * coding.c (code_convert_region): Be sure to initialize
8545 coding->category_idx.
e4a3f4e1
KH
8546 (decode_coding_string): Set coding->src_multibyte and
8547 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8548 (encode_coding_string): Set coding->src_multibyte and
8549 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8550
321fd26f
SM
85512000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8552
8553 * xfns.c (Fx_create_frame): Don't bother calling
8554 face-set-after-frame-default since the caller does it for us anyway.
8555
76832439
EZ
85562000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8557
8558 * window.c (coordinates_in_window): Fix detection of vertical line
8559 on character terminals.
8560
2483cf58
GM
85612000-10-12 Gerd Moellmann <gerd@gnu.org>
8562
8563 * editfns.c (save_excursion_save): Additionally record the
8564 selected window.
8565 (save_excursion_restore): If buffer was visible in a window, and a
8566 different window was selected, and the old selected window is
8567 still live, restore point in that window.
8568
eb991b25
KH
85692000-10-12 Kenichi Handa <handa@etl.go.jp>
8570
8a0eba09
KH
8571 * xterm.c (x_produce_glyphs): Handle
8572 unibyte_display_via_language_environment correctly.
8573
20401fcc
KH
8574 * regex.c (regex_compile): Change the way of handling a range from
8575 unibyte char to multibyte char.
8576
8577 * syntax.c (skip_chars): Change the way of handling a range from
8578 unibyte char to multibyte char.
8579
eb991b25
KH
8580 * process.c (read_process_output): Cancel previous change.
8581
365dd325
EZ
85822000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8583
c1b096cb
EZ
8584 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8585
365dd325
EZ
8586 * charset.c (Ffind_charset_string): Doc fix.
8587 (Ffind_charset_region): Doc fix.
8588
eb483c2b
KH
85892000-10-11 Kenichi Handa <handa@mule.m17n.org>
8590
8591 * process.c (read_process_output): Fix previous change. Adjust
8592 multibyteness of text to insert in a buffer by
52283633 8593 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8594
b40bfb99
AS
85952000-10-10 Andreas Schwab <schwab@suse.de>
8596
8597 * alloc.c (mark_object): Remove all workarounds installed on
8598 1993-08-08.
8599
caff31d4
KH
86002000-10-10 Kenichi Handa <handa@etl.go.jp>
8601
52283633 8602 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8603 (base64_encode_1): Make it work for a text of multibyte form.
8604 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8605 case. Don't call str_to_multibyte because base64_decode_1
8606 produces correct multibyte form for eight-bit codes.
52283633 8607 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8608 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8609 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8610 codes.
8611
8612 * charset.h (CHAR_STRING): Optimized for single byte characters.
8613
cba026ef
AS
86142000-10-09 Andreas Schwab <schwab@suse.de>
8615
8616 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8617 -1 after socket is closed, to fall through to error processing.
8618
1e21fe48
EZ
86192000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8620
8621 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8622 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8623 background-color, change also the colors of the default face for
8624 this frame.
8625
a640322e
EZ
86262000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8627
8628 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8629 them extern (they are defined on xfaces.c).
8630 (syms_of_msdos): Don't intern and don't staticpro
8631 Qbackground_color and Qforeground_color.
8632
a115794c
EZ
86332000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8634
8635 * frame.c (Fframe_parameter): For non-windowed frames, if
8636 f->param_alist says foreground or background color is unspecified,
8637 call tty_color_name to return the color name computed from the
8638 frame's current colors.
8639
f5533b63
DL
86402000-10-06 Dave Love <fx@gnu.org>
8641
8642 * terminfo.c (ospeed): Don't declare.
8643
8644 * sysdep.c: Don't include string.h.
8645 (h_errno): Declare conditional also on TRY_AGAIN.
8646
8647 * charset.c (Ffind_charset_string): Doc fix.
8648
52283633 8649 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8650 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8651 error messages.
8652
2b06561a
DL
86532000-10-05 Dave Love <fx@gnu.org>
8654
8655 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8656 position like menu-bar.
8657
ca839c85
GM
86582000-10-05 Gerd Moellmann <gerd@gnu.org>
8659
8660 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8661
8662 * xdisp.c (handle_single_display_prop): Use safe_call1.
8663 (safe_call): Renamed from call_function.
8664 (safe_call1): New function.
8665 (handle_fontified_prop): Use safe_call1 instead of call1.
8666 (safe_eval): Renamed from eval_form.
8667 (safe_eval_handler): Renamed from eval_handler.
8668 (handle_single_display_prop, display_mode_element): Use safe_eval
8669 instead of eval_form.
8670
8671 * xfaces.c (merge_face_heights): Use safe_call instead of
8672 call_function.
8673
8674 * keyboard.c (show_help_echo): Use safe_call instead of
8675 call_function; use safe_eval instead of eval_form.
8676
8677 * lisp.h (safe_call): Renamed from call_function.
8678 (safe_eval): Renamed from eval_form.
8679 (safe_call1): Add prototype.
8680
a3489ece
MB
86812000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8682
8683 * xfns.c (image_ascent): Rearrange ascent calculation for the
8684 has-a-font case.
8685
35810b6f
SM
86862000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8687
8688 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8689 (where_is_internal_1): Don't bother ignoring menu-items any more.
8690
3dc78168
GM
86912000-10-04 Gerd Moellmann <gerd@gnu.org>
8692
8693 * keyboard.c (update_menu_bindings): New variable.
8694 (parse_menu_item): Use AREF. If update_menu_bindings
8695 is 0, don't update menu bindings.
8696 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8697
1efc2bb9
EZ
86982000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8699
8700 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8701 to `mark_object'.
8702
3f679f55
SM
87032000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8704
8705 * syntax.c (forw_comment): Match nestedness of ender/starter.
8706 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8707 (prev_char_comstart_first): Remove.
8708 (back_comment): Check two-char comment markers more carefully
8709 to better handle overlapping cases like *//* or /* */* */ ...
8710 Match nestedness of ender/starter.
8711
2021ab61
DL
87122000-10-02 Dave Love <fx@gnu.org>
8713
8714 * config.in (HAVE_GAI_STRERROR): Add undef.
8715
8716 * process.c (Fopen_network_stream): Use it.
8717
8718 * m/alpha.h (NO_REMAP): Don't define.
8719
64e6cc18
GM
87202000-10-02 Gerd Moellmann <gerd@gnu.org>
8721
8722 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8723 return with a string converted to an integer or vice versa when
8724 Vmocklisp_arguments is t.
8725 (Fsignal): Likewise. The function can return for `quit'.
8726 (struct gcpro): Declare member `var' to point to a volatile
8727 Lisp_Object.
8728
8729 * eval.c (error): Prevent compiler warning.
8730
b1904cd9
SM
87312000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8732
8733 * keymap.c (keymap_memberp): New function.
8734 (Fset_keymap_parent): Use it.
8735 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8736 Use keymap_memberp to avoid creating cycles.
8737 (access_keymap): Use KEYMAPP.
8738
71c9ec51
GM
87392000-09-30 Gerd Moellmann <gerd@gnu.org>
8740
8741 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8742 gai_strerror. Make sure xerrno is set if connect fails. Improve
8743 error recovery.
71c9ec51 8744
c70c6b58
JR
87452000-09-29 Jason Rumney <jasonr@gnu.org>
8746
8747 * w32term.c (w32_char_font_type, w32_encode_char)
8748 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8749 (w32_bdf_per_char_metric): New function.
8750 (w32_per_char_metric): Use it.
8751 (x_draw_glyph_string_background): Always draw background for BDF
8752 glyphs.
8753
8754 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8755 GDI object which is a scarce resource.
8756
8757 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8758 (get_quoted_string): Fix limit on memchr search.
8759 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8760 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8761 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8762 (get_cached_font_char, cache_char_offset): Use macro
8763 BDF_CODEPOINT_RANGE_COVER_P.
8764 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8765 (clear_cached_bitmap_slots): New function.
8766 (GET_HEX_VALUE): G-Z, g-z are not hex.
8767 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8768 (get_bitmap_with_cache): Use new cache implementation.
8769 (create_offscreen_bitmap): New function.
8770 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8771
8772 * w32term.c (x_produce_glyphs): If the distance from the current
8773 position to the next tab stop is less than a canonical character
8774 width, use the tab stop after that.
8775 (x_draw_glyphs): Handle case START and END are out of bounds more
8776 carefully.
8777 (x_clear_mouse_face): Block/unblock input.
8778 (x_display_and_set_cursor): Don't show a hollow box cursor for
8779 buffers whose cursor_type is nil.
8780
fe01239f
GM
87812000-09-29 Gerd Moellmann <gerd@gnu.org>
8782
52283633 8783 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8784
8785 * dispextern.h (updating_frame): Declare extern.
8786
e7c52f1f
AS
87872000-09-29 Andreas Schwab <schwab@suse.de>
8788
8789 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8790
de6e1f7c
GM
87912000-09-29 Gerd Moellmann <gerd@gnu.org>
8792
25126faa
GM
8793 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8794 use its function definition.
8795 (tool_bar_items): Likewise.
8796
de6e1f7c 8797 * lisp.h (fatal): Declare NO_RETURN.
52283633 8798
454ee39b
KH
87992000-09-29 Kenichi Handa <handa@etl.go.jp>
8800
8801 * keymap.c: Remove the line "#undef NULL".
8802
96301c5f
GM
88032000-09-28 Gerd Moellmann <gerd@gnu.org>
8804
52283633 8805 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8806
efffeeb4
DL
88072000-09-28 Dave Love <fx@gnu.org>
8808
ecb8b666
DL
8809 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8810
dc3cd20f
DL
8811 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8812
8813 * .gdbinit (xreload): Note its need on GNU/Linux.
8814
efffeeb4
DL
8815 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8816 r_alloc, r_alloc_free.
8817
8610d903
KH
88182000-09-28 Kenichi Handa <handa@etl.go.jp>
8819
8820 * syntax.c (skip_chars): Handle negation correctly.
8821
8901d1ac
GM
88222000-09-27 Gerd Moellmann <gerd@gnu.org>
8823
6f22f1ad
GM
8824 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8825 with non-zero FORCE_P argument.
8826
52283633 8827 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8828 Add assertions.
8829
8830 * xdisp.c (window_box_height): Add an assertion.
8831
8832 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8833 tool-bar than is available.
8834 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8835
36f1966f
DL
88362000-09-27 Dave Love <fx@gnu.org>
8837
efffeeb4 8838 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8839
31d929e5
GM
88402000-09-26 Gerd Moellmann <gerd@gnu.org>
8841
c98863bf
GM
8842 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8843 instead of BITS_PER_INT.
8844 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8845 EMACS_UINT, respectively.
8846 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8847
8848 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8849
8850 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8851
77072ab1
GM
8852 * window.c (freeze_window_starts): Construct last argument for
8853 foreach_window differently.
8854
8855 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8856
8857 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8858 EMACS_UINT instead of `int' and `unsigned int'.
8859 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8860
8861 * frame.h (struct frame): Make the `nothing' member of union
8862 output_data an EMACS_INT.
8863
52283633 8864 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8865 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8866 size in the sdata structure.
8867 (SDATA_NBYTES, SDATA_DATA): New macros.
8868 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8869 differently for the different layout of the sdata structure.
8870 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8871 in sdata.
8872 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8873 Check that size recorded in the string size and size recorded in
8874 the sdata structure agree.
8875
3e60b029
DL
88762000-09-25 Dave Love <fx@gnu.org>
8877
8878 * buffer.c: Include stdio.h.
8879
8880 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8881
3e60b029
DL
8882 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8883
8884 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8885 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8886 (__malloc_extra_blocks): Declare as __malloc_size_t.
8887
8ff16b4e
GM
88882000-09-25 Gerd Moellmann <gerd@gnu.org>
8889
755a2ccd
GM
8890 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8891
d8b4516f
GM
8892 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8893 (read_char): If help-echo is showing, preserve the echo area
8894 when redisplaying.
8895
8896 * xdisp.c (help_echo_showing_p): New variable.
8897 (set_message): Reset it to 0.
8898 (init_xdisp): Initialize help_echo_showing_p.
8899
8900 * dispextern.h (help_echo_showing_p): Declare extern.
8901
8902 * config.in: Fix typo in __GNUC_MINOR__.
8903
8904 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8905
b11af2dd
GM
8906 * s/freebsd.h (POSIX_SIGNALS): Define.
8907
8ff16b4e
GM
8908 * xterm.c (x_clear_mouse_face): Block/unblock input.
8909
844eb643
DL
89102000-09-24 Dave Love <fx@gnu.org>
8911
8912 * fns.c (base64_encode_1): Fix last change.
8913
b30ab1b3
GM
89142000-09-22 Gerd Moellmann <gerd@gnu.org>
8915
8916 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8917
8918 * xdisp.c (try_window_reusing_current_matrix): More fixes
8919 for the case window has a header-line.
8920
c6cbe5f0
DL
89212000-09-22 Dave Love <fx@gnu.org>
8922
4c7c1f3f
DL
8923 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8924 a doc string.
8925
8926 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8927
c6cbe5f0
DL
8928 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8929
550a625e
GM
89302000-09-21 Gerd Moellmann <gerd@gnu.org>
8931
4c7c1f3f 8932 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8933 for GCC >= 2.5.
8934
52283633
SM
8935 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8936 Declare NO_RETURN.
fca99116 8937
80d26f99
GM
8938 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8939 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8940 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8941 warnings.
52283633 8942
80d26f99
GM
8943 * marker.c (byte_char_debug_check): Return void.
8944
623a0aae
GM
8945 * xfns.c (Fx_create_frame): Set default frame parameter value
8946 for tool-bar-lines to 1.
8947
8948 * dispnew.c (scrolling_window): Compare y-positions of rows
8949 equal at the start. Some simplification.
8950
8951 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8952 reused rows' y-position in the case window has a header-line, and
8953 new window start is greater than old window start.
8954
42ac0ae5
GM
8955 * process.c (process_sent_to): New variable.
8956 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8957 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8958 Declare more parameters volatile.
8959
550a625e
GM
8960 * lread.c (Vrecursive_load_depth_limit): New variable.
8961 (Fload): Check recursive loads whose recursion depth exceeds
8962 Vrecursive_load_depth_limit.
8963 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8964
8320414c
GM
89652000-09-20 Gerd Moellmann <gerd@gnu.org>
8966
f46c275e
GM
8967 * fileio.c (Fread_file_name): Doc fix.
8968
8969 * editfns.c (Fmessage_or_box): Doc fix.
8970
8971 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8972
b7e11c5b 8973 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8974
8320414c
GM
8975 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8976 symbols are specified, add color translations to the cache.
52283633 8977 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8978 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8979 xpm_cache_color.
8980 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8981 structures to xpm_init_color_cache.
8982
da1608d9
GM
89832000-09-19 Gerd Moellmann <gerd@gnu.org>
8984
52283633 8985 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8986
6badfa25
AI
89872000-09-19 Andrew Innes <andrewi@gnu.org>
8988
8989 * makefile.nt (bootstrap-emacs): Don't change directory.
8990
3a5f42bb
KH
89912000-09-19 Kenichi Handa <handa@etl.go.jp>
8992
1b7649bd
KH
8993 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8994
3a5f42bb
KH
8995 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8996 If output buffer is too small, signal an appropriated error.
8997
9f83cf0b
DL
89982000-09-18 Dave Love <fx@gnu.org>
8999
52283633 9000 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
9001 (current_active_maps): Remove redundant get_local_map call.
9002
28c7826c
GM
90032000-09-18 Gerd Moellmann <gerd@gnu.org>
9004
5cefa566
GM
9005 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
9006 cursor for buffers whose cursor_type is nil.
52283633 9007
6fed3546
GM
9008 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
9009 a feature to implement that is already implemented.
9010 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
9011 warnings.
9012
9013 * xfns.c (x_clear_image_1): New function.
9014 (x_clear_image): Use it.
52283633 9015 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 9016
05b1f851
GM
9017 * dispnew.c (update_window): Move test for invisible lines
9018 at the top to update_window_line.
9019 (update_window_line): Handle invisible lines here.
9020
f4779de9
GM
9021 * xfns.c (clear_image_cache): Clear current matrices of all
9022 frames sharing an image cache. Block input while freeing
9023 images. Fix timestamp comparison.
9024 (x_clear_image): Also free the mask.
9025
28c7826c
GM
9026 * xfns.c (lookup_image): Block input while loading the image so
9027 that we won't get interrupted in a state where the image isn't yet
9028 set up completely.
9029 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
9030 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
9031 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 9032 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 9033
b7412313
GM
90342000-09-16 Gerd Moellmann <gerd@gnu.org>
9035
9036 * dispnew.c (update_window): Make sure to make desired rows
9037 current even if they are completely invisible at the top
9038 of a window.
9039
47e351a3
GM
90402000-09-15 Gerd Moellmann <gerd@gnu.org>
9041
7f8f1edc
GM
9042 * xfns.c (lookup_image): Build mask before applying an algorithm.
9043 Recognize algorithm `disabled'.
9044 (cross_disabled_images): New variable.
9045 (COLOR_INTENSITY): New macro.
9046 (x_detect_edges): Use COLOR_INTENSITY.
9047 (x_disable_image): New function.
9048 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
9049
9050 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
9051 disabled state, don't apply an image transformation algorithm if
9052 the user specified an image for the disabled state. Use
28c7826c 9053 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
9054 user hasn't specified an image.
9055
ebb8f116
GM
9056 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
9057 allocation functions with the XPM lib.
9058 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
9059 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
9060 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
9061 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 9062 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
9063 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
9064 functions, if possible, because these handle color allocation
9065 failure more gracefully.
9066 (Fimage_mask_p): New function.
9067
47e351a3
GM
9068 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
9069 (Qedge_detection, Qheuristic): New symbols.
9070 (syms_of_xfns): Initialize new symbols.
9071 (lookup_image): Handle `:mask X', `:algorithm emboss', and
9072 `algorithm (edge-detection ...)'.
9073 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
9074 (tiff_format, gif_format, gs_format): Add `:mask'.
9075 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
9076 (GIF_MASK, GS_MASK): New enumerators.
9077 (x_laplace_read_row, x_laplace_write_row): Functions removed.
9078 (emboss_matrix, laplace_matrix): New variables.
9079 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
9080 (x_edge_detection): New functions.
9081 (x_laplace): Rewritten in terms of x_detect_edges.
9082 (x_build_heuristic_mask): If image has a mask, free it.
9083
fe83b953
AI
90842000-09-14 Andrew Innes <andrewi@gnu.org>
9085
9086 * makefile.w32-in: Revert to Unix line endings.
9087
3021e816
AI
90882000-09-14 Andrew Innes <andrewi@gnu.org>
9089
9090 * makefile.w32-in: Standardize indentation somewhat.
9091 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
9092 cater for differences between shells.
9093
9094 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
9095
2a32b5ea
GM
90962000-09-14 Gerd Moellmann <gerd@gnu.org>
9097
9098 * xterm.c (x_produce_glyphs): If the distance from the current
9099 position to the next tab stop is less than a canonical character
9100 width, use the tab stop after that.
9101
b4331e96
DL
91022000-09-14 Dave Love <fx@gnu.org>
9103
9104 * buffer.c (alloc_buffer_text): Fix xmalloc call.
9105
ef9e4345
GM
91062000-09-14 Gerd Moellmann <gerd@gnu.org>
9107
085536c2
GM
9108 * xdisp.c (handle_fontified_prop): While running fontification
9109 functions, bind `fontification-functions' and
9110 `after-change-functions' to nil.
9111
ef9e4345
GM
9112 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9113 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9114
9115 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9116
9117 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9118 USE_MMAP_FOR_BUFFERS.
9119
9120 * insdel.c (make_gap): Use enlarge_buffer_text.
9121
9122 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9123 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9124 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9125 from former r_alloc_* functions in ralloc.c.
52283633 9126 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
9127 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9128 (mmap_init) [REL_ALLOC_MMAP]: New function.
9129 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9130 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9131 BUFFER_FREE.
9132
9133 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9134 (enlarge_buffer_text): Add prototype.
9135
9136 * ralloc.c: Remove everything having to do with the use of mmap.
9137
f8608968
GM
91382000-09-13 Gerd Moellmann <gerd@gnu.org>
9139
2a494b2d
GM
9140 * sound.c (Fplay_sound): Doc fix.
9141
8c907a56
GM
9142 * keyboard.c: Avoid some more compiler warnings.
9143 (parse_tool_bar_item): Ignore cached key bindings.
9144
f8608968
GM
9145 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9146 and allocation of Lisp data.
9147
6ab70e9a
GM
91482000-09-12 Gerd Moellmann <gerd@gnu.org>
9149
d12d0a9b
GM
9150 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9151 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9152 defaults first.
9153
6ab70e9a
GM
9154 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9155
63c36c3c
KH
91562000-09-12 Miyashita Hisashi <himi@meadowy.org>
9157
9158 * ccl.c: Comment fixed.
9159 (MAX_MAP_SET_LEVEL): Increased to 30.
9160 (PUSH_MAPPING_STACK): Enclose with do-while block.
9161 (POP_MAPPING_STACK): Likewise.
9162 (stack_idx_of_map_multiple): New variable.
9163 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9164 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9165 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9166 (ccl_driver) <CCL_MapSingle>: Likewise.
9167 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9168 with the case where looking up process reaches to the end of
9169 map-set, and call CCL programs as the above change.
9170
7ee3bd7b
GM
91712000-09-11 Gerd Moellmann <gerd@gnu.org>
9172
8ec8a5ec
GM
9173 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9174 that might be clobbered by longjmp.
9175 (check_x_display_info, x_decode_color, create_frame_xic)
9176 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9177 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9178
f74b0705
GM
9179 * lread.c (init_lread): Set Vloads_in_progress to nil.
9180 (Fload): Show list of recursively loaded files, when signaling an
9181 error.
9182
7ee3bd7b
GM
9183 * lread.c (Vloads_in_progress): New variable.
9184 (record_load_unwind): New function.
9185 (Fload): Check for recursive loads.
9186 (syms_of_lread): Initialize Vloads_in_progress.
9187 (read_integer, read1): Avoid some compiler warnings.
9188
9189 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9190 compiler warnings.
9191
974e1e5b
MB
91922000-09-11 Miles Bader <miles@gnu.org>
9193
9194 * editfns.c (Fbuffer_string): Doc fix.
9195
9824c4e3
GM
91962000-09-10 Gerd Moellmann <gerd@gnu.org>
9197
9198 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9199
6a72fdd1
KR
92002000-09-09 Ken Raeburn <raeburn@gnu.org>
9201
9202 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9203 whether to include other header files.
9204
28e6fb66
GM
92052000-09-09 Gerd Moellmann <gerd@gnu.org>
9206
52283633 9207 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9208 by Fmemq as a boolean.
28e6fb66 9209
7f8b6551
SM
92102000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9211
9212 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9213
a8710abf
GM
92142000-09-08 Gerd Moellmann <gerd@gnu.org>
9215
d1a02881
GM
9216 * ralloc.c (mmap_fd): Remove initializer which can make it
9217 read-only in a dumped Emacs.
9218 (mmap_fd_1): New variable.
9219 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9220 restore it from there.
9221 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9222 unconditionally so that mmap_fd can be initialized there.
9223 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9224 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9225 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9226
c454aac1
GM
9227 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9228
9229 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9230 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9231
fc653ef2
GM
9232 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9233
3015eec0
GM
9234 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9235 inheritance.
9236
bfe0ee88
GM
9237 * xdisp.c (try_window_id): When trying to locate cursor in
9238 unchanged rows at the top, handle the case that we can't find it.
9239
a8710abf
GM
9240 * xterm.c (x_draw_glyphs): Handle case START and END are out
9241 of bounds more carefully.
9242
6b7d4ae4
DL
92432000-09-08 Dave Love <fx@gnu.org>
9244
423193c5
DL
9245 * s/sol2.h (REL_ALLOC_MMAP): Define.
9246 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9247
9248 * ralloc.c: Don't include string.h (redundant).
9249 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9250 [!MAP_ANON]: Include fcntl.h.
9251 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9252 (r_alloc, r_re_alloc, r_alloc_free)
9253 (mmap_enlarge, mmap_set_vars): Use it.
9254 (r_alloc_init_fd): New function.
9255 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9256 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9257 malloc type.
9258
9259 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9260 Remove vm-limit.o.
9261
6b7d4ae4
DL
9262 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9263 change to __NetBSD__.
9264
44d31981
KH
92652000-09-08 Kenichi Handa <handa@etl.go.jp>
9266
9267 * search.c (compile_pattern): Check the multibyteness of cached
9268 string and PATTERN.
9269
aad40737
MB
92702000-09-08 Miles Bader <miles@gnu.org>
9271
9272 * xfaces.c (default_face_vector): Function removed.
9273 (Finternal_merge_in_global_face): Restore old global/local
9274 attribute override order. Use inline loop instead of calling
9275 default_face_vector.
9276
91a211b5
GM
92772000-09-07 Gerd Moellmann <gerd@gnu.org>
9278
9279 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9280 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9281 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9282 where necessary, in case POINTER_TYPE is `void'.
9283
03419440
EZ
92842000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9285
9286 * frame.c (make_terminal_frame): Initialize frame foreground and
9287 background colors to unspecified, for the initial instance of an
9288 MSDOS frame.
9289
f46f845b
GM
92902000-09-07 Gerd Moellmann <gerd@gnu.org>
9291
24f76fbf
GM
9292 * ralloc.c (mmap_find): Fix overlap computation.
9293 (mmap_enlarge): Compute nbytes before trying to find an
9294 overlapping region.
9295
f46f845b
GM
9296 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9297 instead of `!='.
9298
9299 * lread.c (syms_of_lread): Change value of regexp
9300 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9301
9302 * xmenu.c (xdialog_show): When looking up the selection in
9303 menu_items, take `quote' boundaries into account; this corresponds
9304 to a nil ITEM in x-popup-dialog.
9305
3c014385
KH
93062000-09-07 Kenichi Handa <handa@etl.go.jp>
9307
fd6f711b
KH
9308 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9309 not 0x81.
9310 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9311
3c014385 9312 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9313 encoding, not decoding. Fix the handling of latin-jisx0201.
9314 Check for the charset katakana-jisx0201 too.
3c014385 9315 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9316 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9317
0da3ecef
GM
93182000-09-07 Gerd Moellmann <gerd@gnu.org>
9319
ab0ee409
GM
9320 * xfaces.c (Vparam_value_alist): New variable.
9321 (syms_of_xfaces): Initialize it.
9322 (Finternal_set_lisp_face_attribute): Avoid more consing.
9323
9324 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9325 specially.
9326 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9327 (Qbackground_mode): New variable.
9328 (syms_of_frame_1): Initialize Qbackground_mode.
9329
9330 * lisp.h (Qdisplay): Declare extern.
1091dd67 9331
0da3ecef
GM
9332 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9333 change face on all frames, and change the default for new frames.
9334
b14654b9
DL
93352000-09-07 Dave Love <fx@gnu.org>
9336
9337 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9338
d24fd56f
KH
93392000-09-07 Kenichi Handa <handa@etl.go.jp>
9340
794f3670
KH
9341 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9342
0fddd0dc
KH
9343 * charset.c: Include composite.h
9344 (lisp_string_width): New function.
9345 (Fstring_width): Call lisp_string_width instead of strwidth.
9346
9347 * Makefile.in (charset.o): Depends on composite.h.
9348
d24fd56f
KH
9349 * process.c (read_process_output): Before inserting the decoded
9350 text in the buffer, adjust the multibyteness.
9351
fa0b693c
GM
93522000-09-06 Gerd Moellmann <gerd@gnu.org>
9353
52283633 9354 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9355 buffer's text buffer is null, map new memory.
9356
0a58f946
GM
9357 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9358 POINTER_TYPE and size_t.
9359 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9360 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9361 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9362 [REL_ALLOC_MMAP]: New macros.
9363 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9364 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9365 [REL_ALLOC_MMAP]: New functions.
9366
9367 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9368 before and after unexec.
9369
9370 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9371 text buffers if necessary.
9372
9373 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9374 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9375 in prototypes.
9376
fa0b693c
GM
9377 * config.in (HAVE_MMAP): Add #undef.
9378
877055f6
GM
93792000-09-05 Gerd Moellmann <gerd@gnu.org>
9380
08ba3862
GM
9381 * frame.c (Qdisplay_type): New variable.
9382 (syms_of_frame_1): Initialize it.
9383 (Fframe_parameter): New function that avoids consing.
9384 (syms_of_frame): Defsubr it.
9385
66ffe51c
GM
9386 * buffer.c (Fother_buffer): Consider buffers as invisible when
9387 they are displayed in a window on an invisible frame.
9388
877055f6
GM
9389 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9390 get-largest-window always return nil.
9391
bb970e67
GM
93922000-09-04 Gerd Moellmann <gerd@gnu.org>
9393
9394 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9395 variable; recognize Emacs 19 elc files.
9396
7a3d0e0e
MB
93972000-09-04 Miles Bader <miles@gnu.org>
9398
9399 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9400 before initially popping up the menu, so the menu doesn't flash
52283633 9401 when the face settings are significantly different from the defaults.
7a3d0e0e 9402
14473664
SM
94032000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9404
9405 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9406 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9407 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9408 (BIT_UNIBYTE): Remove.
9409 (re_match_2_internal): Delete corresponding code and streamline the
9410 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9411 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9412 (re_wctype_t): New type.
9413 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9414 (regex_compile): Use them and fix handling of overly long char classes.
9415
c1174479
AI
94162000-09-03 Andrew Innes <andrewi@gnu.org>
9417
f8803e97
AI
9418 * makefile.w32-in: Change to DOS line endings.
9419
c1174479
AI
9420 * s/ms-w32.h (ORDINARY_LINK): New define.
9421
9422 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9423 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9424
9425 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9426 (distclean): Delete them here instead.
9427
44ef7cf6
AI
9428 * w32proc.c (compare_env): Convert to uppercase for comparison,
9429 not lowercase, to match how the native Windows shell works.
9430
49b3bd82
JR
94312000-09-03 Jason Rumney <jasonr@gnu.org>
9432
9433 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9434 CVS changes the line-ends when checking in/out on DOS/Windows.
9435
9436 * makefile.nt (emacs): Do not change directory to run temacs, as
9437 the load-path is set relative to current directory.
9438
a3d35a39
MB
94392000-09-03 Miles Bader <miles@gnu.org>
9440
9441 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9442
d276b0cf
GM
94432000-09-02 Gerd Moellmann <gerd@gnu.org>
9444
715e84c9
GM
9445 * xdisp.c (redisplay_mode_lines): New function.
9446 (display_mode_lines): Return number of mode lines displayed.
9447 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9448 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9449
8892f40b
GM
9450 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9451 string.h and strings.h.
9452 (index) [HAVE_INDEX]: Add prototype.
9453
d276b0cf
GM
9454 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9455 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9456
9457 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9458 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9459
38404229
GM
94602000-09-01 Gerd Moellmann <gerd@gnu.org>
9461
9462 * lread.c (read1): Accept `?' as symbol constituent, for
9463 compatiblity with XEmacs.
9464
c0f9ea08
SM
94652000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9466
9467 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9468 (struct re_pattern_buffer): Remove newline_anchor.
9469 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9470 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9471 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9472 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9473 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9474 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9475 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9476 Get rid of references to newline_anchor.
9477 (regcomp): Allocate and precompute a fastmap.
9478
8c0f83fe
GM
94792000-08-31 Gerd Moellmann <gerd@gnu.org>
9480
9481 * lread.c (openp): GCPRO local variable `filename'.
9482
4bb91c68
SM
94832000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9484
9485 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9486
9487 * regex.c: Merge some changes from GNU libc. Add prototypes.
9488 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9489 Use memcmp and memcpy instead of bcopy and bcmp.
9490 (init_syntax_once): Use ISALNUM.
9491 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9492 (REG_UNSET_VALUE): Remove. Use NULL instead.
9493 (REG_UNSET, re_match_2_internal): Use NULL.
9494 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9495 New macros.
9496 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9497 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9498 (regex_compile): In handle_interval, return an error rather than try to
9499 unfetch the interval if we can't find the closing brace.
9500 Obey the RE_NO_GNU_OPS syntax bit.
9501 (TOLOWER): New macro.
9502 (regcomp): Use it.
9503 (regexec): Allocate regs.start and regs.end as one block.
9504
5226a931
GM
95052000-08-30 Gerd Moellmann <gerd@gnu.org>
9506
868dd24b
GM
9507 * xdisp.c (echo_area_display): Check display_completed instead
9508 of calling detect_input_pending.
9509
9510 * dispnew.c (update_frame): Only set display_completed here; move
9511 the update_begin and update_end calls here from update_frame_1.
9512 (update_frame_1): Don't set display_completed here, don't call
9513 update_begin/update_end.
9514
5226a931
GM
9515 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9516 instead of store_frame_param.
9517
2a8bd25f
GM
95182000-08-29 Gerd Moellmann <gerd@gnu.org>
9519
9520 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9521 desired window matrix hasn't been displayed, use the current row
9522 instead. Make sure that only those frame rows are updated for
9523 which there exists a corresponding enabled desired row.
52283633 9524
ba3478d9
MB
95252000-08-29 Miles Bader <miles@gnu.org>
9526
9527 * xfaces.c (default_face_vector): New function.
9528 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9529
87d0f685
GM
95302000-08-29 Gerd Moellmann <gerd@gnu.org>
9531
9532 * lread.c (openp): Prevent temporary string passed to
9533 Ffile_readable_p from being garbage collected.
9534
6fa86045
DL
95352000-08-28 Dave Love <fx@gnu.org>
9536
9537 * keymap.c (store_in_keymap): Add `static' to declaration.
9538
bb17930d
GM
95392000-08-28 Gerd Moellmann <gerd@gnu.org>
9540
9541 * emacs.c, callint.c, doc.c, editfns.c
9542 (toplevel) [HAVE_STRING_H]: Include string.h.
9543 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9544 (index): Remove prototypes which might conflict with non-standard
9545 definitions of index/strchr.
9546
9547 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9548 (rindex): Define only if !HAVE_RINDEX.
9549
9550 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9551
9552 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9553
87188200
MB
95542000-08-28 Miles Bader <miles@gnu.org>
9555
9556 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9557 made inconsistent by a font-related attribute in FROM.
9558 (merge_face_inheritance): Add function comment.
9559
41a68aef
KH
95602000-08-28 Kenichi Handa <handa@etl.go.jp>
9561
9562 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9563 the 4th arg (PREV_EVENT) Qt to suppress input method.
9564
f7c436c1
SM
95652000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9566
0b32bf0e
SM
9567 * regex.c: Indent cpp directives and remove parens after `defined'.
9568 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9569 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9570 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9571 (re_compile_pattern): Use size_t for length.
9572 (init_syntax_once): Move to a better place.
9573 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9574 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9575
f7c436c1
SM
9576 * syntax.c (back_comment): Detect cases where a comment-starter is
9577 actually inside another comment as in: /* a // b */ c // d \n.
9578 Make it clear that `comstart_pos' is unused for nested comments.
9579
9580 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9581 (KEYMAPP): New macro.
9582 (Fkeymap_parent, Fset_keymap_parent): Use it.
9583 (fix_submap_inheritance): Mark it static.
9584 (define_as_prefix, describe_buffer_bindings, describe_command)
9585 (describe_translation, describe_map): Complete prototypes.
9586
9587 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9588
9589 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9590 to better match the key-lookup behavior.
9591
6288c62f
GM
95922000-08-27 Gerd Moellmann <gerd@gnu.org>
9593
9594 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9595 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9596
e931344e
EZ
95972000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9598
9599 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9600 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9601 (xterm.o): Depend on coding.h
9602
d10dfeef
KH
96032000-08-26 Kenichi Handa <handa@etl.go.jp>
9604
9605 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9606 the corresponding '#endif'.
9607
2d73e8d3
MB
96082000-08-26 Miles Bader <miles@gnu.org>
9609
9610 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9611 * xfaces.c (QCinherit): New variable.
9612 (syms_of_xfaces): Initialize it.
9613 (LFACE_INHERIT): New macro.
9614 (Finternal_get_lisp_face_attribute)
52283633 9615 (merge_face_vector_with_property)
2d73e8d3
MB
9616 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9617 (check_lface_attrs): Allow new types of face height. Check
9618 inherit attribute.
9619 (CYCLE_CHECK): New macro.
9620 (merge_face_inheritance): New function.
9621 (merge_face_vectors): Merge inherited faces too. Add F and
9622 CYCLE_CHECK arguments.
9623 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9624 (lookup_named_face, lookup_derived_face, realize_named_face)
9625 (face_at_string_position, face_at_buffer_position): Supply
9626 new F and CYCLE_CHECK arguments to merge_face_vectors.
9627 (merge_face_heights): New function.
52283633 9628 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9629 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9630 handle relative face heights.
9631 (lface_same_font_attributes_p): Compare heights using EQ.
9632
6ce974d4
KH
96332000-08-26 Kenichi Handa <handa@etl.go.jp>
9634
9635 * charset.c (char_to_string): Check the character validity.
52283633 9636 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9637
dc1e502d
SM
96382000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9639
9640 * regex.c (PUSH_FAILURE_COUNT): New macro.
9641 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9642 Handle popping of a register's or a counter's data.
9643 (POP_FAILURE_POINT): Use the new name.
9644 (re_match_2_internal): Push counter data on the stack for succeed_n,
9645 jump_n and set_number_at and remove misleading dead code in succeed_n.
9646
bd9d0f3f
GM
96472000-08-25 Gerd Moellmann <gerd@gnu.org>
9648
9649 * xdisp.c (redisplay_internal): If considering all windows on all
9650 frames, update the display for each frame as soon as possible,
9651 instead of first building all desired matrices for all frames, and
9652 then updating them all.
9653 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9654
aa5b8e15
GM
96552000-08-24 Gerd Moellmann <gerd@gnu.org>
9656
17494071
GM
9657 * bytecode.c (mark_byte_stack): Add a comment.
9658
52283633
SM
9659 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9660 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9661 a graphical frame.
9662
c543db81
KH
96632000-08-24 Kenichi Handa <handa@etl.go.jp>
9664
d246d5f5
KH
9665 * minibuf.c (do_completion): Always use compare-string, not
9666 string-equal because the latter doesn't pay attention to
9667 multibyteness of strings.
9668
c543db81
KH
9669 * process.c (create_process): Don't setup raw-text coding here.
9670 (Fopen_network_stream): Don't set coding->src_multibyte and
9671 coding->dst_multibyte here.
9672 (read_process_output): For process filter, return unibyte string
9673 if default-enable-multibyte-characters is nil.
9674 (send_process): If OBJECT is multibyte text, be sure to encoded it
9675 by the specified coding system for the process. Otherwise, setup
9676 raw-text coding.
52283633 9677 (init_process): Don't initialize default-process-coding-system here.
c543db81 9678
9b47cfe0
EZ
96792000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9680
9681 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9682 <scroll-down-aggressively>: Likewise.
9683
f5a36960
KH
96842000-08-23 Kenichi Handa <handa@etl.go.jp>
9685
9686 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9687 zero. Set coding->produced_char correctly.
9688
69a7ffa7
AI
96892000-08-22 Andrew Innes <andrewi@gnu.org>
9690
9691 * makefile.w32-in: New file.
9692
9693 * unexw32.c (unexec): Ignore old_name, and use the actual location
9694 of the current executable instead. Base new_name on this.
9695
9696 * w32proc.c (create_child): Remove reference to security
9697 descriptor, which isn't needed and doesn't compile with mingw32.
9698
9699 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9700 up dllimport attributes.
9701 (x_update_window_end): Update prototype.
9702
9703 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9704 extern, which screws up dllimport attributes.
9705
9706 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9707 up dllimport attributes.
9708
9709 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9710 screws up dllimport attributes.
9711
9712 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9713 up dllimport attributes.
9714 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9715 screws up dllimport attributes.
9716
9717 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9718 up dllimport attributes.
9719
9720 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9721 screws up dllimport attributes.
9722
9723 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9724 screws up dllimport attributes.
9725
9726 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9727 up dllimport attributes.
9728
9729 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9730 unnecessary extern, which screws up dllimport attributes.
9731 (main): Ditto.
9732
9733 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9734 up dllimport attributes.
9735
9736 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9737 unnecessary extern, which screws up dllimport attributes.
9738
9739 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9740 screws up dllimport attributes.
9741
9742 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9743 up dllimport attributes.
9744
9745 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9746
52283633
SM
9747 * w32bdf.c (search_file_line):
9748 (set_bdf_font_info):
9749 (seek_char):
9750 (w32_get_bdf_glyph):
69a7ffa7
AI
9751 (w32_BDF_to_x_font): Fix compile warnings.
9752
52283633 9753 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9754
9755 * w32select.c: Include keyboard.h before frame.h.
9756
9757 * w32fns.c (max): Define macro.
9758 (JOHAB_CHARSET): Define if not known.
9759 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9760 (Fx_show_tip): Synch with X version.
9761
9762 * w32xfns.c: Include keyboard.h before frame.h.
9763
9764 * w32fns.c: Include keyboard.h before frame.h.
9765
9766 * w32term.c: Include keyboard.h before frame.h.
9767
9768 * fontset.c: Include keyboard.h before frame.h.
9769
9770 * w32inevt.c: Include keyboard.h before frame.h.
9771 (MOUSE_MOVED): Define if not known.
9772
9773 * minibuf.c: Include keyboard.h before frame.h.
9774
9775 * keyboard.c: Include keyboard.h before frame.h.
9776
9777 * indent.c: Include keyboard.h before frame.h.
9778
9779 * dispnew.c: Include keyboard.h before frame.h.
9780
9781 * buffer.c: Include keyboard.h before frame.h.
9782
9783 * alloc.c: Include keyboard.h before frame.h.
9784
9785 * print.c: Include keyboard.h before frame.h.
9786
9787 * process.c: Include keyboard.h before frame.h.
9788
9789 * scroll.c: Include keyboard.h before frame.h.
9790
9791 * sysdep.c: Include keyboard.h before frame.h.
9792
9793 * term.c: Include keyboard.h before frame.h.
9794
9795 * window.c: Include keyboard.h before frame.h.
9796
9797 * xdisp.c: Include keyboard.h before frame.h.
9798 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9799
9800 * frame.c: Include keyboard.h before frame.h.
9801
9802 * w32heap.h: Undefine min, max.
9803
9804 * w32gui.h: Undefine min, max.
9805
9806 * unexw32.c: Change PUCHAR to PCHAR.
9807 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9808 (relocate_offset):
9809 (get_section_info):
69a7ffa7
AI
9810 (copy_executable_and_dump_data): Remove unnecessary static defs.
9811 (copy_executable_and_dump_data): Fix compile warnings.
9812
9813 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9814
9815 * w32console.c (min): Define macro.
9816 (clear_frame, write_glyphs): Fix compile warning.
9817
52283633 9818 * w32proc.c (compare_env):
69a7ffa7
AI
9819 (find_child_console): Fix compile warning.
9820
9821 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9822 sys_errlist instead of _sys_errlist.
9823 (get_emacs_configuration_options): New function.
9824
9825 * s/ms-w32.h (sys_nerr): Provide default definition.
9826 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9827 name with _ prepended.
9828 (NSIG): Define if not known.
9829 (get_emacs_configuration): Provide extern declaration.
9830 (get_emacs_configuration_options): Provide extern declaration.
9831 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9832
9833 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9834 (map_w32_filename):
69a7ffa7
AI
9835 (read_unc_volume): Fix compile warning.
9836
9837 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9838 definitions from being used.
9839
9840 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9841
52283633 9842 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9843 (open_unc_volume): Make arg const.
9844
9845 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9846 (read_input_waiting): Remove excess parameter.
9847
9848 * w32.c (init_environment): Call _access.
9849 (check_windows_init_file): Call _close.
9850 (init_user_info): Call _putenv.
9851 (init_environment): Call _putenv and _strdup.
9852 (init_ntproc): Reset volume info cache on startup.
9853
9854 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9855 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9856 cannot override the CRT malloc.
9857
9858 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9859 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9860
9861 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9862 unless we are linking with a static CRT.
9863 (RVA_TO_PTR): Cast result to unsigned char*.
9864
9865 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9866 (add_volume_info): Use xstrdup.
9867
25060080
SM
98682000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9869
9870 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9871 (do_completion, Fminibuffer_complete_word): Use it.
9872 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9873 var so it can take non-boolean values.
9874
6917e6bb
GM
98752000-08-21 Gerd Moellmann <gerd@gnu.org>
9876
acb7cc89 9877 * editfns.c (find_field): Formatting changes.
52283633 9878 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9879 changed to prototypes, some new protypes added, some functions
9880 made static.
9881
9882 * lisp.h (set_time_zone_rule): Add prototype.
9883 (use_dialog_box): External declaration.
9884
0bbfdc25
GM
9885 * keyboard.c (gen_help_event): Add parameter SIZE.
9886 (kbd_buffer_events_waiting): Slightly rewritten.
9887 (clear_event): New function.
9888 (kbd_buffer_get_event): Use it, and clear the input_events of
9889 HELP_EVENTs.
9890 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9891 don't fill the newly created array with nils.
9892 (toplevel): Convert some old-style function forward declarations
9893 to prototypes.
9894
9895 * keyboard.h (gen_help_event): Change prototype.
9896
9897 * xterm.c (XTread_socket): Change calls to gen_help_event.
9898
9899 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9900
6917e6bb
GM
9901 * eval.c (Fmacroexpand): Doc fix.
9902
e5cd3d11
JR
99032000-08-20 Jason Rumney <jasonr@gnu.org>
9904
9905 * w32term.h (x_display_info_for_display): Remove as this function
9906 does not exist on W32.
9907
9908 * w32term.c (help_echo_window): New variable.
9909 (syms_of_w32term): staticpro it.
9910 (note_mode_line_highlight): Set it.
9911 (XTextExtents16): Removed as there is no equivalent on W32.
9912 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9913 the X way of doing this will not work for W32.
9914 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9915 (x_draw_image_foreground): Avoid drawing outside of the clip area
9916 when image doesn't have a mask.
9917 (note_mouse_highlight): Process overlays in the right order of
9918 priority. Set help_echo_window.
9919 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9920 because that's more visible for large images.
9921
9922 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9923 name to single_keymap_panes.
9924 (w32_menu_show): Set wv->title when dealing with titles.
9925 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9926
6e69ab8c
MB
99272000-08-21 Miles Bader <miles@gnu.org>
9928
9929 * minibuf.c (do_completion): Try again if we rewrite the input
9930 string, but no completion was done, so that any completion message
9931 will be correct.
9932
511bd4eb
GM
99332000-08-20 Gerd Moellmann <gerd@gnu.org>
9934
9935 * xfaces.c (lface_equal_p): Compare strings differently.
9936 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9937 (realize_tty_face): Use them.
9938 (syms_of_xfaces): Initialize new variables.
9939 (map_tty_color): New function, extracted from realize_tty_face.
9940 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9941 foreground or background color, store the new color name in the
9942 realized face; previous code trying to do this had no effect.
9943 (realize_tty_face): Use map_tty_color.
9944 (Fclear_face_cache): Set face_change_count and ensure thorough
9945 redisplay.
9946
1433385f
GM
99472000-08-19 Gerd Moellmann <gerd@gnu.org>
9948
511bd4eb
GM
9949 * undo.c (record_first_change, record_marker_adjustment): Don't
9950 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9951
419ac0a2
KH
99522000-08-18 Kenichi Handa <handa@etl.go.jp>
9953
9954 * coding.c (decode_coding_string): Set members consumed,
9955 consumed_char, produced, produced_char of *coding correctly. If
9956 decode_coding doesn't consume any byte, don't try anymore.
9957 (encode_coding_string): Likewise.
9958
7eb9e30d
GM
99592000-08-18 Gerd Moellmann <gerd@gnu.org>
9960
511bd4eb
GM
9961 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9962 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9963
9964 * xdisp.c (redisplay_internal): Compare windows for equality with
9965 EQ, instead of applying XWINDOW to something that might not
9966 be a window.
52283633 9967
dd34a735
KH
99682000-08-18 Kenichi Handa <handa@etl.go.jp>
9969
9970 * fontset.c (Finternal_char_font): Search only the selected frame
9971 for a window of the current buffer.
9972
385ff9e3
GM
99732000-08-18 Gerd Moellmann <gerd@gnu.org>
9974
511bd4eb 9975 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9976 Lisp_Objects.
9977
385ff9e3
GM
9978 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9979 second half of a HELP_EVENT is found at the start of kbd_buffer.
9980
d6abb4c7
MB
99812000-08-18 Miles Bader <miles@gnu.org>
9982
4618074a
MB
9983 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9984
d6abb4c7
MB
9985 * editfns.c (save_restriction_save): Rewrite to use markers.
9986 (save_restriction_restore): Rewrite to understand new form of data
9987 saved by save_restriction_save.
9988 (Fsave_restriction): Remove cautionary note in doc-string.
9989
a7b28523
GM
99902000-08-17 Gerd Moellmann <gerd@gnu.org>
9991
9992 * fileio.c (build_annotations): Add a comment explaining the
9993 return value of format-annotate-function. Replace a spurious call
9994 to Flength with a CONSP test. Call format-annotate-function with
9995 a fifth arg specifying how many times the function is been called
9996 in a row, to let it choose temporary buffers appropriately.
9997
03c9ed77
DL
99982000-08-17 Dave Love <fx@gnu.org>
9999
10000 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
10001 declare make_temp_name twice.
10002
52283633 10003 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
10004 (unreadpure): Give it an arg.
10005
10006 * unexalpha.c: Prototype fatal_unexec, mark_x,
10007 update_dynamic_symbols. Declare unexec as void.
10008
10009 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
10010 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
10011
10012 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 10013 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
10014
10015 * alloca.c: Use #error.
10016 [POINTER_TYPE]: Use it.
10017
10018 * eval.c (Fdefvar): Doc fix.
10019
10020 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
10021 INITIALIZE_INTERVAL.
10022
10023 * buffer.h: Avoid DECLARE_INTERVALS.
10024
10025 * config.in: Add size_t.
10026
aae41d97
EZ
100272000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
10028
10029 * w16select.c (set_clipboard_data): If there's not enough memory
10030 to put text into clipboard, return 1, as Fw16_set_clipboard_data
10031 expects. In case of other failures, return 3.
10032 (system_error_msg): New error message.
10033 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
10034 system_error_msg.
10035
65aa5e85
GM
100362000-08-16 Gerd Moellmann <gerd@gnu.org>
10037
10038 * term.c (write_glyphs): Also turn off inverse video after turning
10039 off other appearances in case TS_exit_attribute_mode is not equal
10040 to TS_end_standout_mode.
10041 (insert_glyphs): Turn inverse video on/off for each run of glyphs
10042 with the same face.
10043 (turn_off_face): Reset standout_mode only if
10044 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
10045 is equal to TS_end_standout_mode.
10046
ece23901
KH
100472000-08-16 Kenichi Handa <handa@etl.go.jp>
10048
9d7bcb2e
KH
10049 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
10050 sequence at the end of the source block.
10051
ece23901
KH
10052 * ccl.c (Fccl_program_p): Docstring modified.
10053 (Fccl_execute): Likewise.
10054 (Fccl_execute_on_string): Likewise.
10055
5e30eaa2
EZ
100562000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
10057
10058 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
10059
290602fd
KH
100602000-08-16 Kenichi Handa <handa@etl.go.jp>
10061
10062 The following changes are mainly to fix bugs of
10063 encode/decode-coding-string failing if encoding/decoding return
10064 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
10065 variable conversion_buffer.
10066
10067 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
10068 decrement dst_end to avoid buffer overflow in the later call of
10069 string_as_multibyte
10070
10071 * coding.h (conversion_buffer_size, conversion_buffer)
10072 (get_conversion_buffer): Extern deleted.
10073
10074 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
10075 (conversion_buffer, conversion_buffer_size): Variables deleted.
10076 (get_conversion_buffer): Function deleted.
10077 (struct conversion_buffer): New structure.
10078 (MAX_ALLOCA): New macro.
10079 (allocate_conversion_buffer): New macro.
10080 (extend_conversion_buffer, free_conversion_buffer): New functions.
10081 (ccl_coding_driver): Set coding->result.
10082 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
10083 this is the last block of source.
10084 (encode_coding): Likewise. Handle the source block as the last
10085 one only when the whole source text is consumed.
10086 (decode_coding_string): Handle the case that the output buffer is
10087 too small to decode the whole source text. Use
10088 allocate_conversion_buffer, extend_conversion_buffer and
10089 free_conversion_buffer, not get_conversion_buffer.
10090 (encode_coding_string): Likewise.
10091 (init_coding): Function deleted.
52283633 10092 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
10093
10094 * emacs.c (main): Don't call init_coding.
10095
52283633 10096 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
10097
10098 * term.c (write_glyphs): Use a locally declared conversion_buffer.
10099 (insert_glyphs): Likewise.
10100
10101 * w32console.c (write_glyphs): Use a locally declared
10102 conversion_buffer.
10103
b9f80d41
EZ
101042000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
10105
10106 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
10107 member of display_info is NULL.
10108
32dc52f7
GM
101092000-08-15 Gerd Moellmann <gerd@gnu.org>
10110
52283633 10111 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 10112
32dc52f7 10113 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 10114 appearances with capability `me'.
32dc52f7
GM
10115 (write_glyphs): Switch on inverse video before each face change.
10116
4eb22d33
DL
101172000-08-14 Dave Love <fx@gnu.org>
10118
10119 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10120 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10121 (lisp_free): Declare and make static.
10122
10123 * window.c: Fix embedded comment.
10124 (syms_of_window): Fix doc string.
10125
90cbf47e
GM
101262000-08-14 Gerd Moellmann <gerd@gnu.org>
10127
52283633 10128 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
10129 make sure to print `C-' before `M-', like in the manual.
10130
440fc135
GM
101312000-08-11 Gerd Moellmann <gerd@gnu.org>
10132
10133 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10134 since they aren't relocated anymore.
52283633 10135 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10136
10137 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10138 partially visible line which is smaller than the window's height.
440fc135 10139
6e264fad
KH
101402000-08-11 Kenichi Handa <handa@etl.go.jp>
10141
10142 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10143 the multibyte form of eight-bit-control characters.
6e264fad
KH
10144 (Fccl_execute_on_string): Initialize ccl->multibyte.
10145
10146 * ccl.h (struct ccl_program): New member multibyte.
10147
10148 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10149
c371f69a
KH
101502000-08-11 Kenichi Handa <handa@etl.go.jp>
10151
10152 * regex.c (regex_compile) <normal_char>: Pay attention to
10153 multibyteness.
10154 (analyse_first) <exactn>: Setup fastmap correctly for
10155 eight-bit-control characters.
10156
101572000-08-11 Kenichi Handa <handa@etl.go.jp>
10158
52283633 10159 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10160
10161 * keyboard.c (make_lispy_event): Handle the new event type
10162 multibyte_char_keystroke.
10163
10164 * xterm.c: Include coding.h.
10165 (XTread_socket): Work around a bug of XmbLookupString. If the
10166 input is from XIM, decode it according to the current locale. In
10167 that case, generate multibyte_char_keystroke events.
10168
b8ddbe71
KH
101692000-08-11 Kenichi Handa <handa@etl.go.jp>
10170
10171 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10172 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10173
47589c8c
GM
101742000-08-10 Gerd Moellmann <gerd@gnu.org>
10175
10176 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10177 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10178 (move_it_in_display_line_to): Record iterator's ascent and descent
10179 before producing glyphs, and restore them when we know the glyph
10180 doesn't fit on the line.
10181 (move_it_to): Restructured so that it's easier to debug. If
10182 moving to a vpos, and not moving to an x or character position,
10183 stop as soon as the specified vpos is reached; don't move further
10184 into that line because that might change the computed line height.
10185 (try_cursor_movement): New function, extracted from the cursor
10186 movement branch of redisplay_window. If ending on a partially
10187 visible line, don't try to scroll if the cursor line is taller
10188 than the window.
10189 (redisplay_window): Use try_cursor_movement.
10190
10191 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10192 because that function doesn't cope with variable-height lines.
10193
10194 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10195 box cursor because that's better visible for large images.
52283633 10196
c51bacd6
MB
101972000-08-10 Miles Bader <miles@gnu.org>
10198
10199 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10200
bea56df7
GM
102012000-08-10 Gerd Moellmann <gerd@gnu.org>
10202
10203 * xdisp.c (Vmessages_buffer_name): New variable.
10204 (message_dolog): Use it.
10205 (syms_of_xdisp): Initialize it.
10206
99cd7364
EZ
102072000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10208
52283633 10209 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10210 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10211 redundant now that keyboard.h is included.
10212
7d093d56
EZ
102132000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10214
10215 * keyboard.c (kbd_buffer_events_waiting): New function.
10216
10217 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10218
10219 * msdos.c: Include keyboard.h.
10220 (XMenuActivate): Empty no_event events from the event buffer. If
10221 no events are left after that, call clear_input_pending.
10222 (mouse_clear_clicks): New function, code moved from mouse_init.
10223 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10224 mouse driver to ``forget'' any past clicks.
10225
10226 * Makefile.in (msdos.o): Depend on keyboard.h.
10227
41e757a6
GM
102282000-08-09 Gerd Moellmann <gerd@gnu.org>
10229
8e7bd231
GM
10230 * lisp.h (input_pending): External declaration.
10231
10232 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10233
8e7bd231
GM
10234 * xdisp.c (echo_area_display): Display thoroughly if input is
10235 pending. Bind redisplay-dont-pause to t during the redisplay.
10236 in case input is pending.
10237
10238 * dispnew.c (Qredisplay_dont_pause): New variable.
10239 (syms_of_display): Initialize and staticpro it.
10240 (update_frame_1): Don't interrupt the display for pending input if
10241 redisplay_dont_pause is set.
52283633 10242
43028b7e
GM
10243 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10244
41e757a6
GM
10245 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10246
2f2174fa
KH
102472000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10248
10249 * callproc.c (Fcall_process): Terminate the unwind-protect around
10250 the post-read-conversion of coding system.
10251
0a6fd67e
MB
10252 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10253 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10254 * buffer.h (overlays_at): Update prototype.
10255 * xdisp.c (next_overlay_change): Update call to overlays_at.
10256 * xfaces.c (face_at_buffer_position): Likewise.
10257 * textprop.c (Fget_char_property): Likewise.
10258 * xterm.c (note_mouse_highlight): Likewise.
10259
0c80756e
MB
10260 * minibuf.c (do_completion): Don't consider a simple change of
10261 case as `completion'.
10262
975f250a
KR
102632000-08-08 Ken Raeburn <raeburn@gnu.org>
10264
52283633 10265 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10266 * undo.c (record_delete): Make sure last_point_position_buffer is
10267 a buffer before comparing pointers.
10268
10269 * coding.h (decode_coding_string): Declare.
10270
10271 * intervals.h (Fprevious_single_char_property_change): Declare.
10272
10273 * textprop.c (Fprevious_single_char_property_change): Don't do
10274 arithmetic directly on lisp objects.
10275
52283633 10276 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10277
10278 * keyboard.h (menu_item_eval_property): Declare.
10279
10280 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10281 reuse as buffer name, instead of recreating (and discarding) every
10282 time a message is logged.
10283 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10284 (current_message_1, truncate_message_1, set_message_1)
10285 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10286 (current_message, truncate_echo_area, display_echo_area)
10287 (resize_echo_area_axactly): Changed calls.
b347b3fd 10288
975f250a 10289 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10290 Lisp object.
975f250a 10291 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10292 must be an integer, not a Lisp object.
975f250a 10293
46dc9912
KH
102942000-08-08 Kenichi Handa <handa@etl.go.jp>
10295
10296 * charset.c (Fchar_width): Doc fix.
10297
9f6d1a6c
GM
102982000-08-08 Gerd Moellmann <gerd@gnu.org>
10299
10300 * charset.c (Fstring_width): Doc fix.
10301
ff3d9573
GM
103022000-08-07 Gerd Moellmann <gerd@gnu.org>
10303
41e757a6 10304 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10305 line, clear ascent and descent members of the iterator structure;
10306 the height of the continued line does not affect the height of the
10307 continuation line.
10308 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10309 line taller than the window.
10310 (redisplay_window) <forced window start>: Handle case that the
10311 middle of the window is not found in any row.
10312 (dump_glyph_row): Show more information.
10313 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10314 first text line in a glyph matrix.
10315
10316 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10317 of the clip area when image doesn't have a mask.
10318
70fc58b3
GM
10319 * fns.c (sweep_weak_table): Fix survival conditions for
10320 key-or-value and key-and-value weakness.
10321
10322 * .gdbinit (xhashtable): New command.
10323
ac0e96ee
GM
10324 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10325 tables out of the list of all weak hash tables.
10326
ff3d9573
GM
10327 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10328 a new buffer is created, make sure echo_area_buffer[] references
10329 the new buffer.
10330
e0d8827b
EZ
103312000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10332
10333 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10334 the doc string.
10335
c6f35378
KH
103362000-08-07 Kenichi Handa <handa@etl.go.jp>
10337
10338 * syntax.c (skip_chars): Fix previous change. Make the handling
10339 of unibyte string consistent with that of regex search.
10340
1fd4c450
GM
103412000-08-05 Gerd Moellmann <gerd@gnu.org>
10342
e49aa397
GM
10343 * xmenu.c (popup_get_selection): Use xfree instead of free.
10344
10345 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10346
10347 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10348
10349 * callproc.c (child_setup): Use xfree instead of free.
10350
10351 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10352 instead of malloc.
10353 (run_mac_command, closedir): Use `xfree' instead of `free'.
10354
10355 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10356
10357 * eval.c (error): Use xfree instead of free.
10358
1fd4c450
GM
10359 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10360
10361 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10362 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10363
82d497fc
KH
103642000-08-05 Kenichi Handa <handa@etl.go.jp>
10365
10366 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10367 conversion.
10368
59f953a2
NF
103692000-08-04 Noah Friedman <friedman@splode.com>
10370
10371 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10372 docstring.
10373
688351f2
GM
103742000-08-04 Gerd Moellmann <gerd@gnu.org>
10375
10376 * syntax.c (skip_chars): Fix typo in error message.
10377
2dad51cc
AS
103782000-08-04 Andreas Schwab <schwab@suse.de>
10379
10380 * m/ia64.h: Moved from s/ia64.h.
10381
99bb2c60
KH
103822000-08-04 Kenichi Handa <handa@etl.go.jp>
10383
082a1df2
KH
10384 * process.c (read_process_output): Big simplification. Handle
10385 composition and post-read-conversion of coding system correctly.
10386 (send_process): Handle composition correctly.
10387
10388 * callproc.c (Fcall_process): Handle post-read-conversion of
10389 coding system if any.
10390
99bb2c60
KH
10391 * coding.c (decode_coding_iso2022): More strict check for handling
10392 single shifting.
082a1df2
KH
10393 (coding_restore_composition): Pay attention to the case that
10394 cmp_data is not set properly (because of invalid code in the
10395 source text).
10396 (run_pre_post_conversion_on_str): Include text properties in the
10397 resulting string.
10398 (decode_coding_string): Set members of coding correctly.
99bb2c60 10399
f4988be7
GM
104002000-08-03 Gerd Moellmann <gerd@gnu.org>
10401
10402 * s/ia64.h: New file.
10403
10404 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10405 Use NULL instead of 0 at the end of variable argument list of
10406 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10407 sizeof (int) < sizeof (void *).
10408
10409 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10410 of variable argument lists of XtVaGetValues and XtVaSetValues.
10411
10412 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10413 variable argument lists of XtVaGetValues and XtVaSetValues.
10414
ead53494
GM
104152000-08-02 Gerd Moellmann <gerd@gnu.org>
10416
10417 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10418 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10419
10420 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10421 prototype.
10422
10423 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10424 in call to Fsingle_key_description.
10425
10426 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10427 Callers changed.
10428
104292000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10430
10431 * window.c (display_buffer_reuse_frames): New variable.
10432 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10433 frames displaying BUFFER.
52283633 10434 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10435
10b0f752
MB
104362000-08-01 Miles Bader <miles@gnu.org>
10437
10438 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10439 when to constrain NEW_POS (they were pretty screwed up before).
10440
16425c4a
EZ
104412000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10442
10443 * msdos.c (run_msdos_command): Save and restore the master
10444 environment, for the case that child_setup signals an error.
10445 When mirroring slashes in DOS shell commands, don't fail when
10446 argv[2] has embedded blanks.
da288c14
EZ
10447 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10448 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10449 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10450
10451 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10452 using alloca; free it after run_msdos_command returns.
10453
27f73852
DL
104542000-07-27 Dave Love <fx@gnu.org>
10455
52283633
SM
10456 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10457 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10458
10459 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10460
c0261b5e
EZ
104612000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10462
10463 * editfns.c (lisp_time_argument): Fix last change.
10464
b548072f
GM
104652000-07-27 Gerd Moellmann <gerd@gnu.org>
10466
3ab82477
GM
10467 * fns.c (Fdelete): Make it work on vectors and strings in addition
10468 to lists.
10469
b548072f
GM
10470 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10471 (syms_of_fns): Initialize new variables.
52283633 10472 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10473 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10474 weakness, with t meaning the same as `key-and-value'.
10475
91ae8751
KH
104762000-07-27 Kenichi Handa <handa@etl.go.jp>
10477
10478 * coding.h (struct coding_system): Member safe_charset deleted.
10479
10480 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10481 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10482 New variables.
91ae8751
KH
10483 (coding_safe_chars): New function.
10484 (CODING_SAFE_CHAR_P): New macro.
10485 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10486 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10487 (detect_coding_iso2022): New local variable safe_chars.
10488 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10489 safe_charsets member of the coding system.
10490 (decode_coding_iso2022): New local variable safe_chars.
10491 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10492 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10493 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10494 (ENCODE_UNSAFE_CHARACTER): New macro.
10495 (encode_coding_iso2022): New local variable safe_chars. Check
10496 unsafe chars.
10497 (setup_coding_system): Delete the code to initialize
10498 coding->safe_charses
10499 (intersection, find_safe_codings): New functions.
10500 (Ffind_coding_systems_region_internal): New function.
10501 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10502 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10503 variable and initialize it.
10504
10505 * fns.c (char_table_ref_and_index): New function.
10506
10507 * lisp.h (char_table_ref_and_index): Add prototype.
10508
34a7a267
SS
105092000-07-26 Sam Steingold <sds@gnu.org>
10510
10511 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10512 (Ffloat_time): New built-in Lisp function.
34a7a267 10513
a95cb10a
GM
105142000-07-26 Gerd Moellmann <gerd@gnu.org>
10515
3353ef5a
GM
10516 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10517 for the character code.
10518
10519 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10520 GNU/Linux.
10521
a95cb10a
GM
10522 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10523 if called for a popup menu.
10524 (xmenu_show): Store help string in widget values.
10525
b4a12321
DL
105262000-07-26 Dave Love <fx@gnu.org>
10527
10528 * syswait.h: Move some definitions.
10529 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10530 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10531 perspicuous definitions.
10532 (WTERMSIG): Fix bit pattern used.
10533
13f5ad37
KH
105342000-07-26 Kenichi Handa <handa@etl.go.jp>
10535
10536 * print.c (print_object): If vector printing is truncated, print
10537 "..." to indicate it as well as the case of list printing.
10538
070fe99c
GM
105392000-07-25 Gerd Moellmann <gerd@gnu.org>
10540
969065c3
GM
10541 * xdisp.c (next_element_from_display_vector): Improve comments.
10542
10543 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10544 for the character code, and the rest for the face id as in 20.x.
10545 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10546
10547 * window.c (window_display_table): Cleaned up.
10548
070fe99c
GM
10549 * syntax.c (Fforward_word): Add last arg nil in call of
10550 Fconstrain_to_field.
10551
bad77ef7
EZ
105522000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10553
969065c3 10554 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10555 identical but for the letter-case, don't call
10556 barf_or_query_if_file_exists.
bad77ef7 10557
c28da489
MB
105582000-07-25 Miles Bader <miles@gnu.org>
10559
10560 * editfns.c (find_field): Honor special `boundary' fields.
10561 (Qboundary): New variables.
10562 (syms_of_editfns): Initialize Qboundary.
10563 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10564 Use scan_buffer instead of find_before_next_newline, because it
10565 allows us to detect the boundary case where there's a newline at
10566 the search limit.
10567 * lisp.h (Fconstrain_to_field): Update external declaration.
10568
e3c31fd5
GM
105692000-07-24 Gerd Moellmann <gerd@gnu.org>
10570
10571 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10572 if that is nil.
c28da489 10573
c66c29a2
DL
105742000-07-24 Dave Love <fx@gnu.org>
10575
10576 * s/sunos4-0.h, s/sol2.h:
10577 (LIBS_TERMCAP): Move from m/sparc.h.
10578
10579 * m/sparc.h (TERMINFO): Moved to system files (probably only
10580 relevant for sunos4 judging by its vintage).
10581 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10582 __arch64__.
10583
fbe0a958
EZ
105842000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10585
10586 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10587 name to single_keymap_panes.
10588
7d88e5c9
AS
105892000-07-24 Andreas Schwab <schwab@suse.de>
10590
10591 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10592
e024b101
GM
105932000-07-24 Gerd Moellmann <gerd@gnu.org>
10594
10595 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10596 parameters instead of using int parameters. Expect FN to accept
10597 EMACS_INT parameters.
10598 (display_echo_area, resize_echo_area_axactly, current_message)
10599 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10600 with new argument list.
10601 (resize_mini_window_1): New callback function.
10602 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10603 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10604
25c1a9ce
KH
106052000-07-24 Kenichi Handa <handa@etl.go.jp>
10606
10607 * fontset.c (fontset_ref): Remove INLINE declaration.
10608 (fontset_ref_via_base): Likewise.
10609 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10610 to downcase.
10611
7f987ac0
EZ
106122000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10613
10614 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10615 correct order of priority. If help echo was found in an overlay,
10616 use that overlay as the object in which the help echo was found.
10617
e2db3069
MB
106182000-07-22 Miles Bader <miles@gnu.org>
10619
10620 * textprop.c (Fprevious_single_char_property_change): The initial
10621 property value should be from the position preceding POSITION, not
10622 following it.
10623
5e3203e4
EZ
106242000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10625
10626 * coding.c (syms_of_coding): Doc fix for
10627 inhibit-iso-escape-detection.
10628
62145073
GM
106292000-07-21 Gerd Moellmann <gerd@gnu.org>
10630
c20aeb83
GM
10631 * xterm.c (note_mouse_highlight): Process overlays in the right
10632 order of priority.
34a7a267 10633
743934db
GM
10634 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10635
10636 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10637 overlay, use that overlay as the object in which the help was found.
743934db 10638
d1dc7e43 10639 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10640
62145073
GM
10641 * window.c (foreach_window): Instead of a fake variable argument
10642 list, take one USER_DATA argument.
10643 (foreach_window_1): Likewise, and call callback functions with two
10644 args, the window and USER_DATA.
10645 (struct check_window_data): New struct.
10646 (check_window_containing): Use it.
10647 (window_from_coordinates): Set up a struct check_window_data for
10648 foreach_window.
10649 (add_window_to_list, freeze_window_start): Change parameters
10650 according to new calling convention.
10651
10652 * window.h (foreach_window): Change prototype.
10653
10654 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10655
106562000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10657
10658 * xmenu.c (menu_help_callback): Call show_help_echo with
10659 additional arguments OBJECT and POS.
10660
11270583
KH
106612000-07-21 Kenichi Handa <handa@etl.go.jp>
10662
07b14857
KH
10663 * data.c (Faset): Allow storing any multibyte character in a
10664 string. Convert unibyte string to multibyte if necessary.
10665
11270583
KH
10666 * xfns.c (x_encode_text): New function.
10667 (x_set_name): Use x_encode_text.
10668 (x_set_title): Likewise.
10669
10670 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10671
10672 * xterm.h (x_encode_text): Add prototype.
10673
bc75b4fd
DL
106742000-07-20 Dave Love <fx@gnu.org>
10675
10676 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10677 xfree, not free.
10678
48c14970
EZ
106792000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10680
10681 * msdos.c (help_echo_window): New variable.
10682 (syms_of_msdos): Initialize and staticpro it.
10683 (IT_note_mode_line_highlight): Set help_echo_window.
10684 (IT_note_mouse_highlight): Ditto.
10685 (dos_rawgetc): Store help_echo_window in the second event produced
10686 for HELP_EVENTs.
10687
10688 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10689 Record the object that generated the help echo and the position of
10690 that object in help_echo_object and help_echo_pos. Record that
10691 some glyphs in a row are displayed in mouse-face.
10692 (IT_update_begin): Don't clear mouse highlight unless one of the
10693 enabled glyph rows is marked as being displayed in mouse-face.
10694 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10695 and position recorded in help_echo_object and help_echo_pos to the
10696 event queue.
10697 (IT_menu_display): Accept a new argument PN: the pane number of
10698 the current menu pane. Record the pane number and the item
10699 number of the item which has associated help string.
10700 (XMenuActivate): Update the prototype for help_callback in
10701 function declaration. Call IT_menu_display with the current menu
10702 pane number as an additional argument. Call help_callback with
10703 two additional arguments: the pane number and the item number of
10704 the menu item associated with the help text.
10705 (help_echo_object, help_echo_pos): New variables.
10706 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10707
10708 * msdos.h (XMenuActivate): Update prototype.
10709
4279296d
GM
107102000-07-19 Gerd Moellmann <gerd@gnu.org>
10711
47db06aa
GM
10712 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10713 Add some more prototypes.
10714
10715 * xterm.c, xterm.h: Add some more prototypes.
10716
10717 * lisp.h (Fnext_single_char_property_change): Add prototype.
10718
10719 * dispnew.c (direct_output_for_insert): Remove confusing
10720 outer local variable mouse_face_overwritten_p.
10721 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10722
4279296d
GM
10723 * alloc.c (allocate_string_data): Don't copy old string contents.
10724
670acd62
KH
107252000-07-19 Kenichi Handa <handa@etl.go.jp>
10726
10727 * coding.c (code_convert_region): Delete text properties before
10728 shrinking the conversion region.
10729
7cea38bc
GM
107302000-07-18 Gerd Moellmann <gerd@gnu.org>
10731
dc1cac59
GM
10732 * dispnew.c (update_text_area): Write the whole row if it
10733 has mouse-face in it.
10734
85a8aca9
GM
10735 * xfaces.c (face-alternative-font-family-alist): Remove
10736 DEFVAR_LISP; staticpro instead.
10737
34a7a267 10738 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10739 new arguments.
10740
10741 * keyboard.c (show_help_echo): Add parameter WINDOW.
10742 (read_char): Call show_help_echo with window extracted from Lisp
10743 help event.
10744 (gen_help_event): Add parameter WINDOW.
10745
10746 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10747
10748 * xterm.c (help_echo_window): New variable.
52283633 10749 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10750 (XTread_socket): Pass help_echo_window to gen_help_event.
10751 (syms_of_xterm): Initialize and staticpro help_echo_window.
10752
f8276b77
DL
107532000-07-18 Dave Love <fx@gnu.org>
10754
52283633 10755 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10756
088831a6
GM
107572000-07-18 Gerd Moellmann <gerd@gnu.org>
10758
3d6cd763
GM
10759 * alloc.c (allocate_string_data): If string had already data
10760 assigned, copy old contents to new string data.
10761
10762 * coding.c (syms_of_coding): Fix typo in spelling of variable
10763 `inhibit-iso-escape-detection'.
10764
088831a6
GM
10765 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10766
10767 * Makefile.in: Add dependencies on dispextern.h.
10768 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10769 `free'; both can conflict with system header files.
10770
bc8a8d55
KH
107712000-07-18 Kenichi Handa <handa@etl.go.jp>
10772
10773 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10774 undefined.
10775
069f5950
DL
107762000-07-18 Dave Love <fx@gnu.org>
10777
10778 * window.c (Fwindow_list): Declare arg `window'.
10779
aa96c820
KH
107802000-07-18 Kenichi Handa <handa@etl.go.jp>
10781
10782 * coding.c (setup_coding_system): Don't override the explicitly
10783 specified designations.
10784
06be8d32
MB
107852000-07-15 Miles Bader <miles@gnu.org>
10786
10787 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10788 from `text_property_eq' and `text_property_stickiness', respectively.
10789 (find_field, Fconstrain_to_field, char_property_eq)
10790 (char_property_stickiness): Changed to call char-property functions
10791 instead of text-property-only ones.
10792
10793 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10794 `next_single_char_property_change'). Do more error checking, and
10795 cleanup limit behavior.
10796 (Fprevious_single_char_property_change): New function.
10797 (syms_of_textprop): Initialize new subrs.
10798
10799 * xdisp.c (display_prop_end, invisible_text_between_p):
10800 Call Fnext_single_char_property_change instead of
10801 next_single_char_property_change.
10802
3fddcdc3
JR
108032000-07-15 Jason Rumney <jasonr@gnu.org>
10804
10805 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10806 after menu is finished with.
10807 (add_menu_item): Only consider wv->title as a menu title.
10808 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10809
10810 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10811 null title.
10812 (FONT_REGEXP): Remove unused macro, and its sub-components.
10813 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10814
10815 * w32term.c (help_echo_object, help_echo_pos): New variables.
10816 (note_mode_line_highlight): Store additional information about the
10817 help-echo in help_echo_object and help_echo_pos. Check both
10818 `local-map' and `keymap' properties for changing the cursor
10819 (note_mouse_highlight): Store additional information about the
10820 help-echo in help_echo_object and help_echo_pos.
10821 (note_tool_bar_highlight): Set help_echo_object to nil and
10822 help_echo_pos to -1.
10823 (w32_read_socket): Use gen_help_event instead of filling
10824 input_events manually.
10825 (syms_of_w32term): Staticpro help_echo_object.
10826 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10827 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10828 (x_clear_mouse_face): New function.
10829 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10830 (x_update_window_begin): No need to turn off the mouse
10831 highlight here.
10832 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10833 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10834 (x_fill_stretch_glyph_string): Consume runs of stretch
10835 glyphs instead of a single one.
10836 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10837 with new argument list.
10838 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10839 (x_append_glyph, x_append_composite_glyph)
10840 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10841 changes in struct glyph starting 1999-12-27. See comments for
10842 xterm.c on 2000-07-05.
10843
178c5d9c
SS
108442000-07-14 Sam Steingold <sds@gnu.org>
10845
10846 * xfaces.c (realize_x_face): Fix the last patch:
10847 check `default_face' before dereferencing.
10848
6fe533f6
DL
108492000-07-14 Dave Love <fx@gnu.org>
10850
069f5950 10851 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10852
dd7b81cf
KH
108532000-07-14 Kenichi Handa <handa@etl.go.jp>
10854
0693904a 10855 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10856 default_face's fontset, not using the default fontset.
0693904a 10857
dd7b81cf
KH
10858 * coding.c (inhibit_iso_escape_detection): New variable.
10859 (syms_of_coding): Make it a Lisp variable.
10860 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10861 nonzero, ignore ISO2022's escape sequence.
10862
d5aa31d8
GM
108632000-07-14 Gerd Moellmann <gerd@gnu.org>
10864
e5acf0ca
GM
10865 * alloca.c (malloc) [emacs]: Define as xmalloc.
10866
bd23a692
GM
10867 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10868 use that instead of the mouse position. Add parameters DX and DY.
10869
10870 * dispextern.h (Fx_show_tip): Adjust number of parameters
10871 in prototype.
10872
9662da0b
GM
10873 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10874 if HELP is a function, call it with OBJECT and POS as parameters
10875 to get the help to display.
10876 (gen_help_event, kbd_buffer_store_help_event): New functions.
10877 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10878 (read_char): Call show_help_echo with new parameters.
10879
178c5d9c 10880 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10881 Add prototypes.
10882
10883 * xterm.c (help_echo_object, help_echo_pos): New variables.
10884 (note_mode_line_highlight): Store additional information about the
10885 help-echo in help_echo_object and help_echo_pos. Check both
10886 `local-map' and `keymap' properties for changing the cursor
10887 (note_mouse_highlight): Store additional information about the
10888 help-echo in help_echo_object and help_echo_pos.
10889 (note_tool_bar_highlight): Set help_echo_object to nil and
10890 help_echo_pos to -1.
10891 (XTread_socket): Use gen_help_event instead of filling
10892 input_events manually.
10893 (syms_of_xterm): Staticpro help_echo_object.
10894
10895 * xmenu.c (menu_highlight_callback): Use
10896 kbd_buffer_store_help_event instead of setting up and input_event
10897 structure manually.
10898
10899 * xdisp.c (eval_form): GCPRO argument sexpr.
10900 (call_function): New function.
10901 (handle_single_display_prop): Use call_function and FUNCTIONP
10902 instead of checking whether if font_height is a symbol and
10903 using eval_form.
10904
10905 * eval.c (internal_condition_case_2): New function.
10906
10907 * lisp.h (FUNCTIONP): New macro.
10908 (internal_condition_case_2, call_function): Add prototypes.
10909
d5aa31d8
GM
10910 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10911 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10912 Always set `arg' member of input_events.
10913 (construct_menu_click): Unused function removed.
10914
10915 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10916
10917 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10918 (construct_drag_n_drop, x_scroll_bar_handle_click)
10919 (w32_read_socket): Always set `arg' member of input_events.
10920
10921 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10922
10923 * lisp.h (eval_form): Add prototype.
10924
10925 * xdisp.c (eval_form): Make it externally visible.
10926
0f1a9b23
GM
109272000-07-13 Gerd Moellmann <gerd@gnu.org>
10928
10929 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10930 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10931 consing. For prefix events, store the frame in the `arg' slot of
10932 the event, otherwise store the key there.
10933 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10934 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10935
10936 * xmenu.c (menu_highlight_callback): Store help string in the
10937 `arg' member of the input event; don't cons.
10938 (menubar_selection_callback): Use the `arg' slot of input events
10939 to queue additional information, instead of consing.
10940
10941 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10942
10943 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10944 TOOL_BAR_EVENTs.
10945 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10946
10947 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10948 input events to queue additional information, instead of consing.
10949
10950 * keyboard.c (kbd_buffer_gcpro): Renamed from
10951 kbd_buffer_frame_or_window. Now used for all Lisp objects
10952 referenced from the input queue.
10953 (kbd_buffer_store_event): Always use structure assignment for
10954 copying input events. Record all Lisp objects referenced from
10955 events in kbd_buffer_gcpro.
10956 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10957 differently from input events. Test for prefix menu_bar_events
10958 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10959 event in kbd_buffer_gcpro to nil.
10960 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10961 frame_or_window is equal to its arg member as prefix events.
10962 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10963 used by an input event to nil.
10964 (init_keyboard): Use two times the size of the input queue
10965 for kbd_buffer_gcpro.
10966 (syms_of_keyboard): Likewise.
10967
52283633
SM
10968 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10969 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10970
10971 * termhooks.h (struct input_event): Add member `arg'.
10972 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10973 (USER_SIGNAL_EVENT): Renamed from user_signal.
10974
10975 * xfaces.c (ASET): Remove definition.
10976
10977 * lisp.h (AREF, ASET, ASIZE): New macros.
10978
10979 * fontset.c (AREF, ASIZE): Remove definitions.
10980
10981 * fns.c (AREF): Remove definition.
178c5d9c 10982
0f1a9b23
GM
10983 * composite.c (AREF): Remove definition.
10984
712eaef2
GM
109852000-07-12 Gerd Moellmann <gerd@gnu.org>
10986
d8ee7803
GM
10987 * dispnew.c (redraw_overlapped_rows): Add missing local.
10988 (scrolling_window): Remove debug code.
10989
712eaef2
GM
10990 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10991 Before scrolling, turn off a mouse-highlight in the window
10992 being scrolled.
10993
10994 * xterm.c (x_update_window_end): Add parameter
10995 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10996 redisplay in XTframe_up_to_date.
10997 (x_clear_mouse_face): New function.
10998 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10999
11000 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
11001 current glyph row.
11002 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
11003 it when any row is written to that contains glyphs highlighted in
11004 mouse-face.
11005 (update_window): Call the window update end hook with new
11006 parameter MOUSE_FACE_OVERWRITTEN_P.
11007 (direct_output_for_insert): Give up if row contains mouse-face.
11008
11009 * dispextern.h (struct redisplay_interface): Add parameter
11010 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
11011 (clear_mouse_face): New function pointer member.
11012
02010917
SM
110132000-07-11 Stefan Monnier <monnier@cs.yale.edu>
11014
11015 * syntax.c (back_comment): Use one switch rather than a few `if's.
11016 Obey open_paren_in_column_0_is_defun_start.
11017 When reverting to the `slow' method, try to nicely handle the case
11018 of nested comments by checking that the comment-starter we found
11019 does indeed match the comment-ender.
11020 (scan_sexps_forward, scan_sexps_forward):
11021 Ignore excessive opening parenthesis rather than throwing an error.
11022
d76c03ea
GM
110232000-07-11 Gerd Moellmann <gerd@gnu.org>
11024
11025 * doc.c (Fsubstitute_command_keys): Handle case that a GC
11026 in Fwhere_is_internal or get_keymap_1 relocates string contents.
11027
11028 * dispnew.c (direct_output_forward_char): Give up if currently
11029 displaying a message instead of the minibuffer contents.
11030
11031 * xterm.c (x_update_window_begin): No need to turn off the mouse
11032 highlight here.
11033 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 11034 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
11035
11036 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
11037 compare the mouse_face_p flags of both rows.
11038
11039 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
11040
d55ead18
EZ
110412000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
11042
11043 * keyboard.c (show_help_echo): Accept additional parameter
11044 ok_to_overwrite_keystroke_echo.
11045 (read_char): Call show_help_echo with a zero
11046 ok_to_overwrite_keystroke_echo argument.
52283633 11047 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
11048 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
11049 ok_to_overwrite_keystroke_echo argument.
11050 * w32menu.c (w32_menu_display_help): Call show_help_echo with
11051 non-zero ok_to_overwrite_keystroke_echo argument.
11052
df75b1a3
GM
110532000-07-10 Gerd Moellmann <gerd@gnu.org>
11054
4b92c49a
GM
11055 * xdisp.c (try_window_id): If changes are all below what is
11056 displayed in the window, and point is in the window, we still
11057 might have to find point on the display.
11058
11059 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
11060 glyphs instead of a single one.
11061 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11062 with new argument list.
11063 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11064
df75b1a3
GM
11065 * keymap.c (get_keymap_1): Add comment that this function can GC.
11066 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
11067 comment that functions can GC.
11068 (Fset_keymap_parent): GCPRO arg KEYMAP.
11069
4314cf3e
EZ
110702000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
11071
11072 * msdos.c (XMenuActivate): After exiting the menu, restore the
11073 echo area message and erase it.
11074
ab49ce15
KH
110752000-07-10 Kenichi Handa <handa@etl.go.jp>
11076
11077 * fontset.c (Ffontset_info): Make the return value more compatible
11078 with that of Emacs 20.
11079
090a072f
GM
110802000-07-07 Gerd Moellmann <gerd@gnu.org>
11081
11082 * eval.c (Fsignal): Handle case that backtrace_list is null.
11083
f92de4a6
KH
110842000-07-07 Kenichi Handa <handa@etl.go.jp>
11085
11086 * ccl.c (Fccl_execute): Typo fixed.
11087
dd8888a1
GM
110882000-07-06 Gerd Moellmann <gerd@gnu.org>
11089
e5c81191 11090 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 11091
dd8888a1
GM
11092 * window.c (Fwindow_list): Reverse list at the end.
11093 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
11094 means allow windows on OWINDOW's frame, only.
11095 (window_loop): Simplified; use Fwindow_list.
11096
11097 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
11098
485266d0
GM
110992000-07-05 Gerd Moellmann <gerd@gnu.org>
11100
11101 * xterm.c (XTread_socket): Increment handling_signal at the start,
11102 decrement it at the end.
11103
11104 * eval.c (handling_signal): New variable.
11105 (Fsignal): Abort if handling_signal is non-zero.
11106
11107 * lisp.h (handling_signal): External declaration.
178c5d9c 11108
485266d0
GM
11109 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
11110
80fcd514
KR
111112000-07-05 Ken Raeburn <raeburn@gnu.org>
11112
11113 Sound support for NetBSD through "Linux emulation" support:
11114 * config.in (HAVE_SOUNDCARD_H): Undef.
11115 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11116 * Makefile.in (LIBSOUND): New variable.
11117 (LIBES): Include it.
52283633
SM
11118 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11119 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
11120 (vox_open): Use DEFAULT_SOUND_DEVICE.
11121 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11122
d5c5cddd
GM
111232000-07-05 Gerd Moellmann <gerd@gnu.org>
11124
11125 * print.c (print_error_message): If Vsignaling_function is set,
11126 show it in *Messages*.
11127
11128 * lisp.h (Vsignaling_function): External declaration.
11129
11130 * eval.c (Vsignaling_function): New variable.
11131 (Fsignal): Compute it.
11132 (syms_of_eval): Staticpro it.
11133
65171e3a
DL
111342000-07-05 Dave Love <fx@gnu.org>
11135
11136 * syswait.h: Use the autoconf recommended approach. Old code
11137 #if'd out in case we need to revert.
11138
178c5d9c 11139 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11140
e2c46326
AI
111412000-07-05 Andrew Innes <andrewi@gnu.org>
11142
11143 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11144 when non-NULL instead of __morecore, to take account of buffer
11145 memory. This also solves a problem with spurious memory warnings
11146 on Windows.
11147
11148 * ralloc.c: Make real_morecore non-static.
11149
11150 * eval.c (internal_condition_case): Comment out abort if
11151 interrupt_input_blocked is not zero.
11152
11153 * makefile.nt: Add support for `bootstrap' and related targets.
11154 Include minimal debug info in emacs.exe in release build.
11155 Remove all dependencies on lisp.h, and fixup some others.
11156
11157 * w32.c (init_environment): Install code from 20.7 for providing
11158 default values for environment variables, based on the
11159 executable's own location.
52283633 11160 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11161 (sys_socket): Install socket inheritance bug fix from 20.7.
11162
11163 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11164 here via blockinput.h).
11165
a027a91b
SM
111662000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11167
e4b31601
SM
11168 * w32menu.c (w32_menu_display_help):
11169 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11170
11171 * keyboard.h (show_help_echo): Declare.
11172
11173 * keyboard.c (show_help_echo): New function, extracted from read_char.
11174 Feval its `msg' argument if it's a cons cell.
11175 (read_char): Use it.
4cf8d9d5 11176 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11177
178c5d9c 11178 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11179 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11180 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11181 (dos_rawgetc):
11182 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11183 (note_tool_bar_highlight, w32_read_socket):
11184 Do not gratuitously ignore non-string `help-echo' properties.
11185
88d75730
GM
111862000-07-05 Gerd Moellmann <gerd@gnu.org>
11187
969f7e79
GM
11188 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11189
71201b00
GM
11190 * window.c (delete_all_subwindows): Reset Vwindow_list.
11191
88d75730
GM
11192 * xterm.c (x_append_glyph, x_append_composite_glyph)
11193 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11194 changes in struct glyph starting 1999-12-27. Some bit-fields of
11195 struct glyph were not set, which made glyphs unequal when compared
11196 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11197 effects were the result. This also depended on the contents of
11198 memory returned by xmalloc. If flickering happens again, activate
11199 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11200 gone with that, chances are that it is caused by something similar.
88d75730
GM
11201
11202 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11203
88d75730
GM
11204 * dispextern.h: Add some comments.
11205
11206 * window.c (add_window_to_list): Add parameter LIST.
11207 (window_list): Order list so that, for each frame, windows are
11208 in canonical order, and so that frames appear in the list in
11209 the order given by Vframe_list.
11210 (next_window): Reverse the handling of NEXT_P.
11211
53654733
GM
112122000-07-04 Gerd Moellmann <gerd@gnu.org>
11213
87efd256
GM
11214 * window.c (Vwindow_list): New variable.
11215 (make_window, delete_window): Set Vwindow_list to nil.
11216 (check_window_containing): New function.
11217 (window_from_coordinates): Rewritten.
11218 (add_window_to_list, window_list, candidate_window_p)
11219 (decode_next_window_args, next_window): New functions.
52283633 11220 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11221 (Fwindow_list): New function.
11222 (Fother_window): Cleaned up.
11223 (foreach_window): Add a longer "variable argument list". Let
11224 callback function return 0 to indicate that cycling over windows
11225 should stop.
11226 (foreach_window_1): Likewise.
11227 (freeze_window_start): Return int.
11228 (init_window): New function.
11229 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11230
11231 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11232 input_event with bzero.
11233 (main): Call init_window.
11234
53654733
GM
11235 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11236 a menu filter.
11237
4a8c194f
KH
112382000-07-04 Kenichi Handa <handa@etl.go.jp>
11239
11240 * composite.h (make_composition_value_copy): Extern it.
11241
11242 * composite.c (make_composition_value_copy): New function.
11243
11244 * editfns.c (Fformat): While copying text properties, make each
11245 composition property value a copy.
11246
11247 * fns.c (concat): While copying text properties, make each
11248 composition property value a copy.
11249
831a6cb0
GM
112502000-07-03 Gerd Moellmann <gerd@gnu.org>
11251
2f516940
GM
11252 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11253
178c5d9c 11254 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11255 marked already.
11256
831a6cb0
GM
11257 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11258 include those frames as candidates which have their focus
11259 redirected to the minibuffer frame.
11260
d9c4f922
SM
112612000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11262
11263 * fns.c (Fputhash): Return `value' rather than nil.
11264
3780bc22
GM
112652000-06-30 Gerd Moellmann <gerd@gnu.org>
11266
97d176db
GM
11267 * frame.c (next_frame): Don't check focus redirection in case
11268 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11269 unless their focus is redirected, which contradicts the
11270 specification of next-frame, and leads to infinite loops in
11271 certain situations when cycling through windows with next-window.
11272
dca9961d
KH
112732000-06-30 Kenichi Handa <handa@etl.go.jp>
11274
11275 * coding.c (code_convert_region): Even if the length of text is
11276 zero, try to convert it if coding->type is coding_type_ccl.
11277 (decode_coding_string, encode_coding_string): Likewise.
11278
d5483ab1
GM
112792000-06-28 Gerd Moellmann <gerd@gnu.org>
11280
af5c25e1 11281 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11282 the display if windows_or_buffers_changed.
af5c25e1
GM
11283
11284 * dispnew.c (struct row_entry): New structure.
11285 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11286 (row_table_size, old_lines, new_lines, old_lines_size)
11287 (new_lines_size, run_pool, runs_size, runs): New variables.
11288 (add_row_entry): New function.
11289 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11290 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11291 holding them in local variables. Use a larger hash table whose
11292 size depends on glyph matrix sizes. Don't use bzero to clear the
11293 hash table; instead, clear used slots only.
11294
11295 * fns.c (next_almost_prime): Make it externally visible.
11296
11297 * lisp.h (next_almost_prime): Add prototype.
11298
d5483ab1
GM
11299 * s/isc4-0.h (sigunblock): Define.
11300
11301 * s/sco5.h (sigunblock): Define.
11302
93e40f40
DL
113032000-06-27 Dave Love <fx@gnu.org>
11304
11305 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11306 (moved to osf5-0.h).
11307 [!NOT_C_CODE]: Protect string.h stuff.
11308
11309 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11310 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11311
3c4b7685
GM
113122000-06-27 Gerd Moellmann <gerd@gnu.org>
11313
97d176db 11314 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11315 below the last line from the needed window height.
11316
32cad0aa
SM
113172000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11318
11319 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11320 (Fwidget_get): Use it.
11321 (syms_of_fns): Defsubr it.
11322
2c69ced2
GM
113232000-06-26 Gerd Moellmann <gerd@gnu.org>
11324
178c5d9c 11325 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11326 display info for XIM.
11327 (xim_open_dpy): Likewise.
11328 (xim_close_dpy): Don't free the display info's XIM.
11329
11330 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11331
11332 * config.in (USE_XIM): New define.
11333
3fc720e4
GM
11334 * keymap.c (get_keyelt): For menu-items containing a `:filter
11335 FILTER', apply FILTER to the menu-item's definition to get the
11336 real definition to use.
11337
11338 * lisp.h (QCfilter): External declaration.
11339
2c69ced2
GM
11340 * xfns.c (Fimage_size): New function.
11341 (syms_of_xfns): Defsubr it.
11342
f978b2a2
AS
113432000-06-26 Andreas Schwab <schwab@suse.de>
11344
11345 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11346 Fstring_as_unibyte.
11347
94cc7892
DL
113482000-06-25 Dave Love <fx@gnu.org>
11349
52283633 11350 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11351
11352 * Makefile.in (blockinput.h): Depend on atimer.h.
11353 (atimer.h): Depend on systime.h.
11354
52283633 11355 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11356
52283633 11357 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11358
11359 * lisp.h (swap_in_global_binding): Declare.
11360
b8c24556
KR
113612000-06-24 Ken Raeburn <raeburn@gnu.org>
11362
11363 * process.c (Fopen_network_stream): Turn off atimers for duration
11364 of call to connect. (Patch from Gerd.)
11365
8cf8560b
DL
113662000-06-23 Dave Love <fx@gnu.org>
11367
511c7541
DL
11368 * ralloc.c: Maybe include unistd.h
11369
8cf8560b
DL
11370 * emacs.c (setgrp): Undefine before defining.
11371 (malloc_warning, set_time_zone_rule, index): Prototype.
11372
11373 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11374 HAVE_STRUCT_TIMEZONE.
11375
11376 * s/osf1.h: Move string.h hack here from alpha.h and make it
11377 conditional.
11378 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11379 _XOPEN_SOURCE.
11380 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11381 (SOCKLEN_TYPE): Don't define.
11382
11383 * m/alpha.h: Remove string.h hack.
11384
11385 * s/osf5-0.h: New file.
11386
11387 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11388 include time.h, done by systime.h.
11389 [__FreeBSD__]: Remove redundant includes.
11390
3fc720e4 11391 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11392 (delete_temp_file): Return Qnil to avoid warning.
11393
11394 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11395
11396 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11397 HAVE_X_WINDOWS.
11398
11399 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11400
11401 * composite.h (compose_text): Declare.
11402
11403 * xterm.c: Don't include sys/types.h unconditionally. Don't
11404 protect its inclusion with !USG (following xmenu.c).
11405
ea055732
GM
114062000-06-23 Gerd Moellmann <gerd@gnu.org>
11407
11408 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11409 in x_create_frame.
11410
74b01b80
EZ
114112000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11412
11413 * coding.c (decode_eol_post_ccl): Special handling for undecided
11414 and inconsistent EOL types.
11415
64f3a166
GM
114162000-06-22 Gerd Moellmann <gerd@gnu.org>
11417
16cf31f7
GM
11418 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11419 trough color and main window's background color.
11420
52283633 11421 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11422
11423 * xterm.h (Xt_app_con): External declaration.
11424
11425 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11426
486a103d
GM
11427 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11428
64f3a166
GM
11429 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11430 (handle_invisible_prop): Record the start of invisible text in
11431 it->add_overlay_start.
11432 (struct overlay_entry): Add member `overlay'.
11433 (handle_overlay_change): Simplify.
11434 (next_overlay_string): After having processed overlay strings at the
11435 end of the buffer, record that fact in
11436 it->overlay_strings_at_end_processed_p.
11437 (compare_overlay_entries): If before- and after-strings come
11438 from the same overlay, let before-strings come first.
11439 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11440 (load_overlay_strings): Take it->add_overlay_start into account
11441 when adding overlay strings.
11442
11443 * dispextern.h (struct it): Add member add_overlay_start.
11444
bb746ea6
DL
114452000-06-22 Dave Love <fx@gnu.org>
11446
11447 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11448
11449 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11450
a8f573f3
KH
114512000-06-22 Kenichi Handa <handa@etl.go.jp>
11452
11453 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11454 is greater than 0.
11455
9f2bbc92
DL
114562000-06-21 Dave Love <fx@gnu.org>
11457
178c5d9c 11458 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11459
3ee5041c
SM
114602000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11461
11462 * syntax.c (back_comment): Simplify string-parity counting (with
11463 the added benefit of handling multiple string-styles as long as
11464 they are not intertwined).
11465 Jump to the slow code as soon as a comment starter is found in
11466 a "string_lossage" position. Fixes the case: " /* " /* " */.
11467
4c343001
DL
114682000-06-21 Dave Love <fx@gnu.org>
11469
11470 * Makefile.in: Use GETLOADAVG_LIBS.
11471
11472 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11473 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11474
e6365855
SM
114752000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11476
11477 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11478 (Fforward_comment, scan_lists):
11479 Check the comstyle of single-char comment-starters.
11480 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11481 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11482 Check the comstyle of single-char comment-starters.
11483 Clarify control-flow around the Scomment case.
e6365855 11484
5700d2cc
DL
114852000-06-20 Dave Love <fx@gnu.org>
11486
d355bd8a
SM
11487 * fns.c (make_hash_table, maybe_resize_hash_table):
11488 Cast arg of next_almost_prime.
5700d2cc 11489
178c5d9c 11490 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11491
11492 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11493 and unistd.h.
11494
4a27bdfb
GM
114952000-06-20 Gerd Moellmann <gerd@gnu.org>
11496
a61d762c 11497 * keyboard.c (adjust_point_for_property): Check if display
52283633 11498 property should be treated as intangible by looking at its value.
a61d762c 11499
178c5d9c 11500 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11501 (display_prop_intangible_p): New functions.
11502
11503 * dispextern.h (display_prop_intangible_p): Add prototype.
11504
11505 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11506
4a27bdfb
GM
11507 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11508 argument to sigprocmask.
11509
11510 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11511 argument to sigprocmask.
11512
11513 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11514 sigprocmask_set, and pass a pointer to it to sigprocmask.
11515
11516 * sysdep.c (sigprocmask_set): New variable.
11517
11518 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11519 report_file_error.
11520
427ec082
SS
115212000-06-20 Sam Steingold <sds@gnu.org>
11522
11523 * xrdb.c: Don't declare xmalloc, xrealloc.
11524
8972fe79 115252000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11526
11527 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11528 (re_comp): Cast gettext return value to avoid complaints when
11529 !HAVE_LIBINTL.
11530
074b6efe
DL
115312000-06-20 Dave Love <fx@gnu.org>
11532
52283633 11533 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11534
5700d2cc 11535 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11536
d355bd8a 11537 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11538
11539 * m/alpha.h: Don't declare xmalloc, xrealloc.
11540
0af4f205
DL
11541 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11542
11543 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11544
11545 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11546
11547 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11548 HAVE_GETWD.
11549
074b6efe
DL
11550 * keyboard.h (poll_for_input_1): Declare.
11551
11552 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11553
11554 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11555
11556 * doprnt.c: Don't declare xmalloc, xrealloc.
11557
11558 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11559 (getenv, ctime, getwd): Removed.
11560 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11561
11562 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11563 x_set_tool_bar_lines.
11564
11565 * config.in: Add HAVE_GETWD. Move some definitions above
11566 machine/system includes.
11567
68a5e97b
KH
115682000-06-20 Kenichi Handa <handa@etl.go.jp>
11569
95417e1e
KH
11570 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11571
68a5e97b
KH
11572 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11573 contain information about ENCODING.
11574
11575 * fontset.c (FONTSET_ASCII): Use the first element of char table
11576 for an ASCII font, not defalt slot.
11577 (fontset_ref_via_base): If FONTSET doesn't contain information for
11578 C, try the default fontset.
11579 (make_fontset): Don't copy the default fontset.
11580 (fontset_font_pattern): Likewise.
11581 (accumulate_font_info): If ELT is nil, use the corresponding
11582 element in the default fontset.
11583
3b4fa1b2
DL
115842000-06-19 Dave Love <fx@gnu.org>
11585
943e731c
DL
11586 * syntax.c (Fparse_partial_sexp): Doc fix.
11587
11588 * regex.h: Test PROTOTYPES as well as __STDC__.
11589
3b4fa1b2
DL
11590 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11591 errno, strerror. Put text after #endif in comment.
11592
52283633 11593 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11594
11595 * xterm.c (x_frame_of_widget): Likewise.
11596
cdf0357b
GM
115972000-06-19 Gerd Moellmann <gerd@gnu.org>
11598
11599 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11600 to Vfundamental_mode_abbrev_table.
11601
11602 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11603 bogus objects are marked. This slows down GC by ~80 percent, but
11604 it might be worth trying when debugging GC-related problems.
11605 This feature requires conservative stack marking to be enabled.
11606
11607 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11608 returns XLookupChars, reset `modifiers' to zero.
11609
998e9f8c
DL
116102000-06-19 Dave Love <fx@gnu.org>
11611
11612 * mktime.c: Unprotoized.
11613
18e21ce8 116142000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11615
11616 * data.c (set_internal): If variable is frame-local,
11617 store the new value immediately into the frame parameter alist.
11618
140c4ac6
KR
116192000-06-19 Ken Raeburn <raeburn@gnu.org>
11620
14358466
KR
11621 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11622 in the custom handler pointer.
11623
140c4ac6
KR
11624 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11625 value, or checks for CHAR_META can fail when Lisp_Object is a
11626 union type.
11627 * keymap.c (get_keyelt): Likewise.
11628
10d7bf84
KH
116292000-06-19 Kenichi Handa <handa@etl.go.jp>
11630
11631 * ccl.h (struct ccl_program): New member eol_type.
11632 (struct ccl_spec): New member cr_carryover.
11633
11634 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11635 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11636
11637 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11638 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11639 (decode_eol_post_ccl): New function.
11640 (decode_coding): Don't detect EOL format here for CCL based coding
11641 systems.
11642 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11643 decode_eol_post_ccl after running the CCL program.
11644 (code_convert_region): Don't detect EOL format here for CCL based
11645 coding systems.
11646 (decode_coding_string): Likewise.
11647
52e386c2
KR
116482000-06-18 Ken Raeburn <raeburn@gnu.org>
11649
11650 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11651 when treating it as an integer.
11652
11653 * coding.h (encode_coding_string): Declare.
11654
11655 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11656 it as an integer.
11657
11658 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11659 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11660 to be passed to get_local_map.
11661
11662 * sound.c (Fplay_sound): Don't call make_number on
11663 Frun_hook_with_args count argument.
11664
11665 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11666 for lisp objects in X event structure data field, when lisp
11667 objects are represented with unions.
11668 (x_scroll_bar_to_input_event): Ditto.
11669
b357b9d4
KR
116702000-06-16 Ken Raeburn <raeburn@gnu.org>
11671
11672 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11673 termination of string. Fix sense of test whether
11674 Vline_number_display_limit is an integer.
b357b9d4 11675
a871441d
GM
116762000-06-16 Gerd Moellmann <gerd@gnu.org>
11677
a9021acd
GM
11678 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11679 only if HAVE_X_WINDOWS.
11680
6344985d
GM
11681 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11682 of titles.
11683
427ec082 11684 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11685 out of bounds.
11686
228b083e
EZ
116872000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11688
11689 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11690 of its headers.
11691
c25b53a2
KH
116922000-06-15 Kenichi Handa <handa@etl.go.jp>
11693
11694 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11695 start of the while loop.
11696
a6981b11
GM
116972000-06-15 Gerd Moellmann <gerd@gnu.org>
11698
e9924e52
GM
11699 * atimer.c (alarm_signal_handler): Add forward declaration.
11700
a6981b11
GM
11701 * data.c (set_internal): Remove debug code.
11702
25fa6deb
GM
117032000-06-14 Gerd Moellmann <gerd@gnu.org>
11704
dce6b995
GM
11705 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11706
9f817ea4
GM
11707 * unexec.c (toplevel) [COFF]: Include coff.h.
11708
11709 * s/lynxos.h: New file.
11710
11711 * keymap.c (Fsingle_key_description): Enclose function key and
11712 event symbol names in angle brackets.
11713
8a4e3c0c
GM
11714 * xdisp.c (setup_echo_area_for_printing): Call
11715 message_log_maybe_newline if message_buf_print is not set.
11716
11717 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11718 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11719 function does something useful even when message_buf_print is
11720 already set.
11721
52283633
SM
11722 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11723 New variables.
25fa6deb
GM
11724 (ensure_echo_area_buffers): Initialize echo buffer's
11725 truncate lines setting to nil.
11726 (with_echo_area_buffer): Don't set the echo buffer's truncate
11727 lines setting here.
8a4e3c0c 11728 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11729 of message_truncate_lines.
11730 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11731 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11732 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11733
11734 * keyboard.c (read_char): Bind message-truncate-lines to t
11735 while displaying a help-echo.
11736
11737 * lisp.h (Qmessage_truncate_lines): External declaration.
11738
163dcff3
GM
117392000-06-13 Gerd Moellmann <gerd@gnu.org>
11740
1681ead6
GM
11741 * xdisp.c (Vline_number_display_limit): Renamed from
11742 line_number_display_limit.
11743 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11744 Extend documentation string. Initialize
11745 Vline_number_display_limit to nil meaning no limit.
11746 (decode_mode_spec): Use Vline_number_display_limit with its new
11747 meaning.
11748
163dcff3
GM
11749 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11750
18e21ce8 117512000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11752
11753 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11754
163dcff3
GM
11755 * xfns.c (x_set_frame_parameters): Comment fix.
11756
11757 * frame.c (store_frame_param): Call swap_in_global_binding if the
11758 variable's current binding was chosen based on this frame.
11759
11760 * data.c (swap_in_global_binding): New function.
11761
a704139d
EZ
117622000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11763
11764 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11765 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11766
9b6610db
EZ
117672000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11768
11769 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11770
c68833d2
JR
117712000-06-12 Jason Rumney <jasonr@gnu.org>
11772
11773 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11774
11775 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11776
11777 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11778
11779 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11780
ed1056b3
GM
117812000-06-12 Gerd Moellmann <gerd@gnu.org>
11782
11783 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11784 (syms_of_xfaces): Defsubr Sdump_colors.
11785 (x_free_colors): Don't treat b&w specially on default visual.
11786 (x_free_dpy_colors): New function.
11787 (free_face_colors): Don't check visual class; it's done
11788 in x_free_colors.
11789
11790 * xterm.c (x_frame_of_widget): New function.
11791 (x_alloc_nearest_color_for_widget): Use it.
11792 (x_copy_dpy_color): New function.
11793 (x_destroy_window): Free various colors.
11794
5050a2ef
KH
117952000-06-12 Kenichi Handa <handa@etl.go.jp>
11796
11797 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11798
11799 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11800
11801 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11802
11803 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11804
11805 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11806
fb1b041d
DL
118072000-06-11 Dave Love <fx@gnu.org>
11808
11809 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11810
ff96b5f4
EZ
118112000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11812
11813 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11814
db8eeecd
GM
118152000-06-11 Gerd Moellmann <gerd@gnu.org>
11816
ed1056b3 11817 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11818 to `XEvent *'.
11819
49b71c5f
KH
118202000-06-10 Kenichi Handa <handa@etl.go.jp>
11821
c479bd55
KH
11822 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11823 (regex_compile): Fix the code for handling the case of single byte
11824 char and multibyte char being mixed in a range within [...].
11825
ff6a65c2
KH
11826 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11827 and dst_multibyte members of coding.
11828
49b71c5f
KH
11829 * charset.c (update_charset_table): Update the table
11830 bytes_by_char_head.
11831 (init_charset_once): Initialize elements of bytes_by_char_head to
11832 1 except for leading codes for private charases.
11833
11834 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11835 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11836
9e80b57d
KR
118372000-06-09 Ken Raeburn <raeburn@gnu.org>
11838
11839 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11840 access the data it doesn't point to.
11841
f83fe4b4
GM
118422000-06-08 Gerd Moellmann <gerd@gnu.org>
11843
11844 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11845 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11846 event queue. This is necessary because Emacs otherwise won't
11847 perform a switch-frame to a new frame until some other event, for
11848 example a keystroke event, forces it to do so. This has various
11849 effects, one visible being that the cursor of a frame created with
11850 C-x 5 2 or switched to with a window manager key binding like
11851 A-TAB stays hollow because selected_window isn't on the newly
11852 focused frame until the switch-frame is performed.
11853
11854 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11855 generating a switch-frame event if necessary.
11856
11857 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11858
11859 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11860 it's an integer.
11861
0890801b
KH
118622000-06-08 Kenichi Handa <handa@etl.go.jp>
11863
52283633 11864 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11865
173cbca8
GM
118662000-06-07 Gerd Moellmann <gerd@gnu.org>
11867
3091c2a6
GM
11868 * window.c (displayed_window_lines): Take empty lines at
11869 the bottom of a window into account.
427ec082 11870
f38952fe
GM
11871 * window.c (displayed_window_lines): New function.
11872 (Fmove_to_window_line): Use displayed_window_lines to determine
11873 the number of lines to move, instead of using the window's height.
11874
11875 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11876 to stop reading, even if the form read sets point to a different
11877 value when evaluated.
11878
427ec082 11879 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11880 put the cursor.
11881
6ba6c818
KH
118822000-06-07 Kenichi Handa <handa@etl.go.jp>
11883
11884 * fileio.c (e_write): Free composition data if stored in
11885 coding->cmp_data.
11886
5f1aea9a
GM
118872000-06-06 Gerd Moellmann <gerd@gnu.org>
11888
666852af
GM
11889 * xdisp.c (display_line): Set row's and iterator's
11890 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11891 Set cursor even if row ends in the middle of a character.
11892 (dump_glyph_row): Print values of new flags.
11893 (redisplay_window) <cursor movement in unchanged window>: When
11894 point has been moved forward, and PT is at the end of the cursor
11895 row, don't place the cursor in the next row if the cursor row ends
11896 in the middle of a character or at ZV.
11897
11898 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11899 (struct glyph_row): Add starts_in_middle_of_char_p and
11900 ends_in_middle_of_char_p.
11901 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11902 ends_in_middle_of_char_p flag.
11903 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11904
d13f3e2e
GM
11905 * term.c (append_glyph): Revert change of 2000-06-06.
11906
11907 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11908 padding glyph not fitting on line as whole character not
11909 fitting on line.
11910
5f1aea9a
GM
11911 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11912 this isn't true for images with `:ascent 100'.
11913
10cda9b0
KH
119142000-06-06 Kenichi Handa <handa@etl.go.jp>
11915
ed00559d
KH
11916 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11917 as modified if it is originally unmodified.
11918
10cda9b0
KH
11919 * term.c (encode_terminal_code): Change the way to check if
11920 terminal coding does any conversion.
11921 (append_glyph): Set glyph->pixel_width correctly.
11922
11923 * xdisp.c (display_line): While checking line continuation, pay
11924 attention to a padding glyph.
11925
1969fae2
GM
119262000-06-05 Gerd Moellmann <gerd@gnu.org>
11927
11928 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11929
162ccef4
DL
119302000-06-05 Dave Love <fx@gnu.org>
11931
f19f32dd
DL
11932 * xdisp.c: Include fontset.h.
11933
11934 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11935
11936 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11937
11938 * dispnew.c: Conditionally include term.h.
11939
11940 * coding.h: Declare code_convert_string_norecord.
11941
11942 * frame.h (struct frame): Use volatile unconditionally.
11943
11944 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11945
11946 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11947
11948 * systime.h: Protect against multiple inclusion.
11949 (timezone) [USG5_4]: Define as time_t.
11950
11951 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11952 (Foptimize_char_table, make_temp_name): Declare.
11953
11954 * Makefile.in (xdisp.o): Depend on fontset.h.
11955
11956 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11957
11958 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11959 (Foptimize_char_table, make_temp_name): Declare.
11960
427ec082 11961 * s/irix4-0.h:
162ccef4
DL
11962 * s/irix5-0.h:
11963 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11964
2082fe81
DL
119652000-06-02 Dave Love <fx@gnu.org>
11966
11967 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11968
dcf671d2
GM
119692000-06-02 Gerd Moellmann <gerd@gnu.org>
11970
11971 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11972 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11973 be freed.
11974
11975 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11976 glyph, use the ASCII NUL character to determine the face.
11977
d42122a3
DL
119782000-06-02 Dave Love <fx@gnu.org>
11979
11980 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11981 (VFORK_RETURN_TYPE): Remove.
427ec082 11982
d42122a3
DL
11983 * config.in: Add NO_MATHERR.
11984
dd432f16
DL
119852000-06-01 Dave Love <fx@gnu.org>
11986
90aa4ea8
DL
11987 * cmds.c (internal_self_insert): Don't check
11988 Vbefore_change_function, Vafter_change_function.
11989
11990 * insdel.c (signal_before_change, signal_after_change): Likewise.
11991
11992 * buffer.c (Vbefore_change_function, Vafter_change_function):
11993 Variables and their initializations deleted.
11994
2330c9d4
DL
11995 * callint.c (Fcall_interactively): Doc fix.
11996
dd432f16
DL
11997 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11998
bf9e8804
DL
119992000-05-31 Dave Love <fx@gnu.org>
12000
12001 * textprop.c: Revert last change -- duplicated.
12002
3694b4ab
GM
120032000-05-31 Gerd Moellmann <gerd@gnu.org>
12004
12005 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
12006 in #if 0.
12007
12008 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
12009
f14156cd
JR
120102000-05-31 Jason Rumney <jasonr@gnu.org>
12011
8119aab8
JR
12012 * search.c (Fre_search_forward, Fre_search_backward)
12013 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
12014
f14156cd
JR
12015 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
12016
4aab9be3
JR
120172000-05-30 Jason Rumney <jasonr@gnu.org>
12018
12019 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
12020 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
12021
52283633 12022 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
12023
12024 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
12025 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
12026 expand a nil default_filename.
12027
12028 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
12029 pointer to glyph_to_pixel_coords, not a frame.
12030
12031 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
12032 coding.h to dependencies.
12033
12034 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
12035
12036 * w32console.c (glyph_to_pixel_coords): Change first parameter to
12037 window pointer to be consistent with w32term.c and xterm.c.
12038
12039 * w32fns.c: Format and doc changes to bring closer to xfns.c.
12040 (VIETNAMESE_CHARSET): Define if not defined in system headers.
12041 (Qline_spacing, Qcenter): New variables.
12042 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
12043 (x_set_line_spacing): New function.
52283633 12044 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
12045 (x_specified_cursor_type): New function.
12046 (x_set_cursor_type): Use it.
12047 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
12048 and icon strings.
12049 (validate_x_resource_name, x_get_resource_string): Measure lengths
12050 of external strings in bytes.
12051 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
12052 GetTextExtentPoint32 with NULL title.
12053 (Fx_create_frame): Initialize Qline_spacing.
12054 (w32_load_system_font): Initialize font->double_byte_p.
12055 (x_to_w32_charset): Use Vw32_charset_info_alist.
12056 (Image, busy cursor, tooltip functions): Merged changes from
12057 xfns.c. Not yet functional on Windows.
12058
12059 * w32gui.h (W32FontStruct): Add double_byte_p member.
12060
12061 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
12062 (emacs_button_translation): Use it.
12063 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
12064 in `mask' to be set.
12065
12066 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
12067 menu strings.
12068
12069 * w32term.c: Format and doc changes to bring closer to xterm.c.
12070 (w32_char_font_type): New enum.
12071 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
12072 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
12073 (w32_encode_char): New function.
12074 (x_encode_char): Removed.
12075 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
12076 x_encode_char and w32_font_is_double_byte.
12077 (x_produce_image_glyph): Use image_ascent.
12078 (x_produce_glyphs): Use new version of w32_per_char_metric and
12079 handle NULL return value. Allow extra line spacing.
12080 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
12081 (w32_get_glyph_overhangs): Remove unicode_p param. Use
12082 w32_font_type member of glyph instead.
12083 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
12084 (fast_find_position): Make sure not to consider rows not visible
12085 in the window.
12086 (w32_read_socket) [WM_MENUSELECT]: Cannot call
12087 w32_menu_display_help with input blocked, as it can abort.
12088 (x_display_and_set_cursor): Choose cursor depending
12089 on buffer-local value of cursor_type.
12090 (x_draw_bar_cursor): Add parameter WIDTH.
12091
12092 * w32term.h (CP_DEFAULT): Define.
12093 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
12094
10fc3187
GM
120952000-05-30 Gerd Moellmann <gerd@gnu.org>
12096
12097 * search.c (Fre_search_forward, Fre_search_backward)
12098 (Fposix_search_backward, Fposix_search_forward): Doc fix.
12099
d0555360
KH
121002000-05-30 Kenichi Handa <handa@etl.go.jp>
12101
12102 * coding.c (detect_coding_iso2022): Fix code for checking
12103 CODING_CATEGORY_MASK_ISO_8_2.
12104
f1ad044f
SM
121052000-05-29 Stefan Monnier <monnier@cs.yale.edu>
12106
12107 * regex.c (PREFETCH_NOLIMIT): New function.
12108 (re_match_2_internal): Use it and adjust the end_match_2 logic.
12109
84ec3b4b
GM
121102000-05-29 Gerd Moellmann <gerd@gnu.org>
12111
66254a13
GM
12112 * syntax.c (find_defun_start): Move test for
12113 open_paren_in_column_0_is_defun_start outside of the loop.
12114
49e70dec
GM
12115 * xdisp.c (redisplay_window): Really switch buffers when
12116 displaying mode lines, and temporarily set selected_frame to the
12117 frame of the window that's redisplayed.
12118
84ec3b4b
GM
12119 * xfaces.c (free_realized_faces): Block/unblock input.
12120 (free_realized_multibyte_face): Ditto.
12121
869a3a14
DL
121222000-05-29 Dave Love <fx@gnu.org>
12123
12124 * textprop.c (Qkeymap): New variable.
12125 (syms_of_textprop): Intern it.
12126
12127 * keymap.c: Include intervals.h.
12128 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12129
12130 * Makefile.in (keymap.o): Depend on intervals.h.
12131
12132 * keyboard.c (menu_bar_items, tool_bar_items)
12133 (Fexecute_extended_command): Deal with `keymap' property.
12134 (read_key_sequence): Track map from `keymap' property as well as
12135 `local_map'.
12136
12137 * intervals.c (get_local_map): Extra arg to allow looking for
12138 `keymap' too.
12139
12140 * intervals.h (map_property): New enum.
12141 (get_local_map): Extra arg using it.
12142 (Qkeymap): Declare.
12143
84ec3b4b 12144 * lisp.h (get_local_map): Don't declare here.
869a3a14 12145
89d0c844
KH
121462000-05-29 Kenichi Handa <handa@etl.go.jp>
12147
12148 * Makefile.in (callproc.o): Depend on composite.h.
12149
12150 * callproc.c: Include composite.h.
12151 (Fcall_process): Handle composition correctly.
12152
12153 * coding.h (coding_allocate_composition_data): Extern it.
12154 (coding_restore_composition): Likewise.
12155
12156 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12157 yet allocated, finish decoding with result
12158 CODING_FINISH_INSUFFICIENT_CMP.
12159 (coding_allocate_composition_data): Make it non-static.
12160 (coding_restore_composition): Likewise.
12161
797a084a
EZ
121622000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12163
12164 * charset.c (syms_of_charset): Revert last change.
12165
cf872af5
EZ
121662000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12167
12168 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12169 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12170 Handa.
cf872af5 12171
5b1ae051
EZ
121722000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12173
12174 * charset.c (syms_of_charset): Set width of character sets
12175 eight-bit-control and eight-bit-graphic to 1 column.
12176
34ec9ebe
GM
121772000-05-26 Gerd Moellmann <gerd@gnu.org>
12178
12179 * config.in (HAVE_SPEED_T): New define.
12180
12181 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12182 `extern speed_t'.
12183
dd854dc2
DL
121842000-05-26 Dave Love <fx@gnu.org>
12185
12186 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12187
12188 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12189 (Fsubr_arity): New function.
12190 (syms_of_data): Install them.
12191
ba9f8f95
KH
121922000-05-26 Kenichi Handa <handa@etl.go.jp>
12193
0f3e0672
KH
12194 * charset.c (init_charset_once): Set the table bytes_by_char_head
12195 correctly.
12196
cebefb44
KH
12197 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12198 the default fontset to what Emacs uses by default.
0f3e0672
KH
12199 (check_registry_encoding): This function deleted.
12200 (Fset_fontset_font): Remove the adhoc condition for the default
12201 fontset. Allow cons in FONTNAME.
cebefb44 12202
0f3e0672
KH
12203 * fns.c (map_char_table): Ignore char-table entries for
12204 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12205
7a18af49
KR
122062000-05-25 Ken Raeburn <raeburn@gnu.org>
12207
12208 * emacs.c (main): Initialize keyboard syms before initializing
12209 window code, so face names are available.
12210
d2af47df
SM
122112000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12212
12213 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12214 of an anchor at the beginning of a shy-group.
12215
fc6a6a4e
GM
122162000-05-25 Gerd Moellmann <gerd@gnu.org>
12217
12218 * xdisp.c (handle_invisible_prop): Don't try to skip over
12219 invisible text if end of text is already reached.
12220
005f0d35
DL
122212000-05-25 Dave Love <fx@gnu.org>
12222
02513cdd
DL
12223 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12224
005f0d35
DL
12225 * coding.c (encode_eol): Add null statement after label.
12226
89f6ca4e
EZ
122272000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12228
12229 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12230 2000-05-20.
12231
a4e1759e
KH
122322000-05-25 Kenichi Handa <handa@etl.go.jp>
12233
12234 * ccl.c (ccl_driver): Fix previous change.
12235
eacfd7fe
KH
122362000-05-25 Kenichi Handa <handa@etl.go.jp>
12237
46ab33a9
KH
12238 * coding.c (run_pre_post_conversion_on_str): Set point to the
12239 beginning of buffer before calling coding->post_read_conversion.
12240 (decode_coding_string): Give correct args to
12241 run_pre_post_conversion_on_str.
12242 (encode_coding_string): Likewise.
12243
eacfd7fe
KH
12244 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12245 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12246 eight-bit-graphic correctly.
12247
f8569325
DL
122482000-05-24 Kenichi HANDA <handa@etl.go.jp>
12249
12250 * fileio.c (Finsert_file_contents): Even if a file is not found,
12251 execute codes for setting up coding system. Call
12252 after-insert-file-functions unconditionally.
12253
04545643
GM
122542000-05-24 Gerd Moellmann <gerd@gnu.org>
12255
12256 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12257 BSD_PGRPS are not defined.
12258
747d90ea
KH
122592000-05-24 Kenichi Handa <handa@etl.go.jp>
12260
12261 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12262 DESCRIPTION.
12263 (syms_of_charset): Avoid building same strings.
12264
716e3b88
GM
122652000-05-23 Gerd Moellmann <gerd@gnu.org>
12266
12267 * lread.c (Fload): Add a comment about the meaning of
12268 Vuser_init_file being t.
12269
12270 * puresize.h (BASE_PURESIZE): Increase to 675000.
12271
12272 * s/gnu-linux.h (setpgrp): Don't define it here because this
12273 prevents compilation on GNU/Linux systems with glib 2.2.
12274
12275 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12276 as setpgid.
427ec082 12277
9aeb39fa
EZ
122782000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12279
12280 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12281 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12282 version.
12283 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12284
29ced61b
KH
122852000-05-23 Kenichi Handa <handa@etl.go.jp>
12286
52283633 12287 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12288
3d80f24d
KH
12289 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12290
52283633 12291 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12292
29ced61b
KH
12293 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12294
d7e00792
KH
122952000-05-22 Kenichi Handa <handa@etl.go.jp>
12296
c9d80d38
KH
12297 * keyboard.c (read_char): Allow character codes 128..255 to be
12298 handled by input-method-function.
12299
d7e00792
KH
12300 * insdel.c (adjust_markers_for_replace): Fix previous change.
12301 (adjust_after_replace): If PREV_TEXT is nil, call
12302 adjust_markers_for_insert, not adjust_markers_for_replace.
12303
087121cc 123042000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12305
087121cc
GM
12306 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12307 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12308 [HAVE_GRANDPT]: Define.
12309 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12310
12311 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12312 like SYSV_PTYS.
12313
12314 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12315
12316 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12317
c9671f81
KH
123182000-05-20 Kenichi Handa <handa@etl.go.jp>
12319
12320 The following changes are to handle 8-bit characters in a
12321 multibyte buffer/string without facing with byte combining
12322 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12323 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12324
12325 * Makefile.in (fns.o): Depend on charset.h.
12326
12327 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12328 convert it to unibyte.
12329 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12330
12331 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12332 apparent char boundary.
12333 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12334 0x80..0x9F to/from multibyte form.
12335
12336 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12337 to unibyte.
12338
12339 * callproc.c (Fcall_process): Always encode an argument string if
12340 it is multibyte. Setup src_multibyte and dst_multibyte members of
12341 process_coding properly.
ce75fd23 12342
c9671f81
KH
12343 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12344 SPLIT_NON_ASCII_CHAR.
12345
12346 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12347 as is.
12348 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12349
52283633 12350 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12351 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12352 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12353 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12354 and eight-bit-graphic.
12355 (char_to_string): Likewise. Signal an error for too large
12356 character code.
12357 (char_printable_p): Return 0 for 8-bit characters.
12358 (update_charset_table): Update iso_charset_table only when a final
12359 character is non-negative.
12360 (find_charset_in_text): Renamed from find_charset_in_str.
12361 Arguments and return value changed. Callers changed.
12362 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12363 be -1 if CHARSET is used only internally.
12364 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12365 eight-bit-graphic.
12366 (Fcharset_after): Simplified.
12367 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12368 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12369 (multibyte_chars_in_text): Simplified by assuming there's no
12370 invalid multibyte sequence.
52283633
SM
12371 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12372 (str_as_unibyte): New functions.
12373 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12374 (init_charset_once): Initialization for
12375 LEADING_CODE_8_BIT_CONTROL.
12376 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12377 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12378 eight-bit-control and eight-bit-graphic.
12379
52283633
SM
12380 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12381 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12382 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12383 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12384 (CHARSET_REVERSE_CHARSET): Likewise.
12385 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12386 eight-bit-graphic.
12387 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12388 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12389 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12390 encounter an invalid multibyte sequence.
12391 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12392 sequence is always valid.
12393 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12394 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12395 (CHAR_STRING): For 8-bit characters, call char_to_string.
12396 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12397 multibyte sequence is always valid.
12398 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12399 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12400 (str_as_unibyte): Extern them.
c9671f81 12401 (BCOPY_SHORT): Fix a bug.
52283633 12402 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12403 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12404 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12405 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12406
bd4bde7f 12407 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12408 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12409 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12410 (EMIT_BYTES): New macros.
12411 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12412 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12413 macros deleted.
12414 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12415 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12416 check the validity of multibyte sequence.
12417 (decode_coding_emacs_mule): New function.
12418 (encode_coding_emacs_mule): New macro.
12419 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12420 the source.
12421 (DECODE_ISO_CHARACTER): Just return a character code.
12422 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12423 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12424 EMIT_CHAR to produced decoded characters. Exit the loop only by
12425 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12426 block here.
12427 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12428 only position codes for an invalid character.
12429 (encode_designation_at_bol): Return new destination pointer. 5th
12430 arg DSTP is changed to DST.
12431 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12432 from the source by ONE_MORE_CHAR. Don't handle the case of last
12433 block here.
12434 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12435 macros deleted.
52283633
SM
12436 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12437 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12438 TWO_MORE_BYTES to fetch a byte from the source.
12439 (encode_eol): Pay attention to coding->src_multibyte.
12440 (detect_coding, detect_eol): Preserve members src_multibyte and
12441 dst_multibyte.
12442 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12443 (encoding_buffer_size): Set magnification to 3 for all coding
12444 systems that require encoding.
12445 (ccl_coding_driver): For decoding, be sure that the result is
12446 valid multibyte sequence.
12447 (decode_coding): Initialize coding->errors and coding->result.
12448 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12449 and raw-text, always call decode_eol. Handle the case of last
12450 block here. If not coding->dst_multibyte, convert the resulting
12451 sequence to unibyte.
12452 (encode_coding): Initialize coding->errors and coding->result.
12453 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12454 and raw-text, always call encode_eol. Handle the case of last
12455 block here.
12456 (shrink_decoding_region, shrink_encoding_region): Detect cases
12457 that we can't skip data more rigidly.
12458 (code_convert_region): Setup src_multibyte and dst_multibyte
12459 members of coding. For decoding, if the buffer is multibyte,
12460 convert the source sequence to unibyte in advance. For encoding,
12461 if the buffer is multibyte, convert the resulting sequence to
12462 multibyte afterward.
12463 (run_pre_post_conversion_on_str): New function.
12464 (code_convert_string): Deleted and divided into the following two.
12465 (decode_coding_string, encode_coding_string): New functions.
12466 (code_convert_string1, code_convert_string_norecord): Call one of
12467 above.
12468 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12469 MAKE_NON_ASCII_CHAR.
52283633
SM
12470 (Fset_terminal_coding_system_internal)
12471 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12472 and dst_multibyte members.
12473 (init_coding_once): Initialize iso_code_class with new enum
12474 ISO_control_0 and ISO_control_1.
12475
12476 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12477 devided into ISO_control_0 and ISO_control_1.
12478 (struct coding_system): New members src_multibyte, dst_multibyte,
12479 errors, and result. Delete member fake_multibyte.
12480 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12481 nonzero.
12482 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12483 nonzero.
12484
12485 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12486 (Faset): Likewise.
12487
12488 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12489 multibyte form.
12490 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12491 combining occurs.
12492 (Ftranspose_region): Delete codes for handling byte combining.
12493
12494 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12495 dst_multibyte members of coding. On handling REPLACE on unibyte
12496 buffer, convert the result of decode_coding to unibyte. On
12497 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12498 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12499 multibyteness of the source (buffer or string).
12500
12501 * fns.c (concat): Handle 8-bit characters correctly.
12502 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12503 unibyte in the result.
12504 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12505 valid multibyte form in the result.
12506 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12507 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12508 return -1, signal an error.
12509 (base64_encode_1): New arg MULTIBYTE. Get each character by
12510 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12511 character is found, return -1.
12512 (Fbase64_decode_region): Delete codes for handling byte-combining.
12513 Treat each decoded byte as a unibyte character.
12514 (Fbase64_decode_string): Return unibyte string.
12515 (Fcompare_strings, concat, string_byte_to_char): Use
12516 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12517 FETCH_STRING_CHAR_ADVANCE.
12518 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12519 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12520
12521 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12522 SPLIT_NON_ASCII_CHAR.
12523 (fontset_ref_via_base, fontset_set): Likewise
12524
12525 * insdel.c (adjust_markers_for_record_delete): Deleted.
12526 (adjust_markers_for_insert): Argument changed. Caller changed.
12527 (adjust_markers_for_replace): Likewise.
52283633
SM
12528 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12529 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12530 (copy_text): Delete unused local varialbe c_save. For converting
12531 to multibyte, be sure to make all 8-bit characters in valid
12532 multibyte form.
12533 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12534 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12535 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12536 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12537 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12538 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12539 handling byte combining.
12540 (adjust_before_replace): Deleted.
427ec082 12541
c9671f81
KH
12542 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12543 SPLIT_NON_ASCII_CHAR.
12544 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12545 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12546 (Fkey_description): Likewise.
12547
12548 * lread.c (read1): On reading multibyte string, be sure to make
12549 all 8-bit chararacters in valid multibyte form.
12550 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12551
12552 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12553 unconditionally.
12554
12555 * process.c (Fstart_process): GCPRO current_dir before calling
12556 Ffind_operation_coding_system. Encode arguments here.
12557 (create_process): Don't encode arguments here. Setup
12558 src_multibyte and dst_multibyte members of struct coding.
12559 (read_process_output): Setup src_multibyte and dst_multibyte
12560 members of struct coding. If the output is to multibyte buffer,
12561 always decode the output of the process. Adjust the
52283633 12562 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12563 (send_process): Setup coding->src_multibyte according to the
12564 multibyteness of the source.
12565
52283633 12566 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12567 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12568 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12569
52283633 12570 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12571
12572 * w16select.c (Fw16_set_clipboard_data): Setup members
12573 src_multibyte and dst_multibyte of coding. Adjusted for the
12574 change for find_charset_in_str.
12575 (Fw16_get_clipboard_data): Likewise.
12576
12577 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12578 dst_multibyte of coding.
12579 (x_to_w32_font): Likewise.
12580
12581 * w32select.c (Fw32_set_clipboard_data): Setup members
12582 src_multibyte and dst_multibyte of coding. Adjusted for the
12583 change for find_charset_in_str.
12584 (Fw32_get_clipboard_data): Likewise.
12585
12586 * xdisp.c (get_next_display_element): Handle 8-bit characters
12587 correctly.
52283633
SM
12588 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12589 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12590
12591 * xselect.c (selection_data_to_lisp_data): Setup members
12592 src_multibyte and dst_multibyte of coding. Adjusted for the
12593 change for find_charset_in_str.
12594 (lisp_data_to_selection_data): Likewise.
12595
5f64c9e0
GM
125962000-05-19 Gerd Moellmann <gerd@gnu.org>
12597
52283633 12598 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12599
5f64c9e0
GM
12600 * dispextern.h (Vimage_types): Add extern declaration.
12601
12602 * xdisp.c (Vimage_types): Moved here from xfns.c.
12603 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12604
12605 * xfns.c (Vimages_types): Moved to xdisp.c.
12606 (syms_of_xfns): Move `image-types' to xdisp.c.
12607
12608 * w32fns.c (Vimage_types): Removed.
12609 (syms_of_w32fns): Remove `image-types'.
12610
813086ea
KH
126112000-05-18 Kenichi Handa <handa@etl.go.jp>
12612
12613 * fns.c (map_char_table): Pay attention to character number of
12614 charset. Check the validity of charset at the first level. For
12615 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12616 the default value.
12617
12618 * fontset.c: Include "buffer.h".
12619 (fs_load_font): If the face has fontset, record the face ID in
12620 that fontset.
12621 (Finternal_char_font): New function.
12622 (accumulate_font_info): New function.
12623 (Ffontset_info): Rewritten for the new fontset implementation.
12624 (syms_of_fontset): Register Vdefault_fontset in the first element
12625 of Vfontset_table. Include Vdefault_fontset in
12626 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12627 function.
12628
bdaebbf0
DL
126292000-05-16 Dave Love <fx@gnu.org>
12630
12631 * m/iris5d.h: Deleted -- unused.
12632
cb613bb8
GM
126332000-05-16 Gerd Moellmann <gerd@gnu.org>
12634
b15f3b77
GM
12635 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12636 `invalid' instead of `illegal'.
12637
12638 * indent.c (Fmove_to_column): When ending within a tab, insert
12639 spaces first so that markers at the end of the tab get adjusted.
12640
835c1b36
GM
12641 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12642 buffer list that wasn't selected in that frame.
12643
cb613bb8
GM
12644 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12645 is needed on mescaline, use a 2 char prefix, and call
12646 make_temp_name with second arg non-zero.
12647
12648 * fileio.c (make_temp_name): New function, extracted from
12649 Fmake_temp_name.
12650 (Fmake_temp_name): Use it.
12651
f685bea9
EZ
126522000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12653
52283633 12654 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12655
a1b8d58b
GM
126562000-05-15 Gerd Moellmann <gerd@gnu.org>
12657
12658 * Makefile.in (lisp): Add env.elc.
12659
12660 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12661
a265079f
GM
126622000-05-12 Gerd Moellmann <gerd@gnu.org>
12663
12664 * search.c (Freplace_match): Handle case of `\N' in the
12665 replacement when there's no group N.
12666
da4496b6
GM
126672000-05-11 Gerd Moellmann <gerd@gnu.org>
12668
0ace421a
GM
12669 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12670 of the message to message_dolog.
12671
1172eb8d
GM
12672 * keyboard.c (read_char): Don't clear current message for help
12673 events; let the code handling help events handle this. Change
12674 code detecting help events that should be ignored.
12675
da4496b6
GM
12676 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12677 we're interating over a string.
12678
0623e40f
DL
126792000-05-09 Dave Love <fx@gnu.org>
12680
12681 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12682 that offset before writing. Move gcpro region past call of
12683 Ffile_regular_p.
12684
bae2503b
DL
126852000-05-04 Dave Love <fx@gnu.org>
12686
12687 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12688
ec82fb2f
GM
126892000-05-04 Gerd Moellmann <gerd@gnu.org>
12690
12691 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12692 of inserted characters when BUF equals the current buffer, and PT
12693 is in front of or equal to FROM.
12694
cbf18892
GM
126952000-05-03 Gerd Moellmann <gerd@gnu.org>
12696
4ff40dd0
GM
12697 * xdisp.c (handle_single_display_prop): If display property value
12698 is invalid, or something not supported on the frame, restore
12699 iterator's position to what it was initially. Make sure to return
12700 0 for invalid and unsupported property values.
12701
cbf18892
GM
12702 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12703 that x_per_char_metric returns null.
12704
1b0672c3
GM
127052000-05-02 Gerd Moellmann <gerd@gnu.org>
12706
576da55d
GM
12707 * xterm.h (struct face): Add forward declaration.
12708 (struct image): Ditto.
12709 (image_ascent): Add prototype.
12710
12711 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12712 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12713 image_ascent instead of using IMAGE_ASCENT.
12714
12715 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12716 (IMAGE_ASCENT): Removed.
12717
12718 * xfns.c (Qcenter): New variable.
12719 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12720 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12721 (image_ascent): New function.
12722 (lookup_image): Recognize `:ascent center'.
12723 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12724 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12725 (xbm_load): Don't set image's ascent here.
12726 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12727 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12728 check ascent values here.
12729 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12730 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12731 (syms_of_xfns): Initialize Qcenter.
12732
1b0672c3
GM
12733 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12734 to the limits, increase the limits.
12735
0d7811ed
KH
127362000-05-01 Kenichi Handa <handa@etl.go.jp>
12737
12738 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12739 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12740
a943a5ca
GM
127412000-04-28 Gerd Moellmann <gerd@gnu.org>
12742
12743 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12744 taller than the window.
12745
5dba1e29
KH
127462000-04-28 Kenichi Handa <handa@etl.go.jp>
12747
12748 * xfaces.c (realize_x_face): Fix the argument of the second
12749 xassert. BASE_FACE may not be a face for ASCII.
12750
353964e3
GM
127512000-04-27 Gerd Moellmann <gerd@gnu.org>
12752
c76e04a8
GM
12753 * print.c (print_object): Treat print-length < 0 as nil.
12754
12755 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12756
12757 * s/freebsd.h (TERMCAP_OBJ): Removed.
12758 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12759
12760 * lread.c (read1): Don't treat period followed by certain
12761 characters as symbol start.
12762
12763 * xfns.c (slurp_file): New function.
12764 (xbm_image_p): Handle case of in-memory XBM files.
12765 (xbm_scan): Rewritten to work on memory buffers instead of files.
12766 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12767 Work on memory buffers instead of files. If DATA is null test
12768 if buffer looks like an in-memory XBM file.
12769 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12770 memory buffers instead of files.
12771 (xbm_file_p): New function.
12772 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12773
353964e3
GM
12774 * lread.c (end_of_file_error): New function.
12775 (read1): Call it instead of signaling `end-of-file' directly.
12776
427ec082 12777 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12778 with Fprinc instead of Fprin1.
12779
24d744ac
KR
127802000-04-26 Ken Raeburn <raeburn@gnu.org>
12781
12782 * window.c (freeze_window_start): Check that minibuffer scroll
12783 window isn't nil before extracting the window structure pointer
12784 from it.
12785
12786 * undo.c (record_delete): If we hit the end of the undo list, stop
12787 picking elements apart.
12788
7464346d
GM
127892000-04-26 Gerd Moellmann <gerd@gnu.org>
12790
12791 * xdisp.c (display_line): If lines are continued, restore
12792 iterator's ascent/descent information to the values before the
12793 first glyph not fitting on the line.
12794
612839b6
GM
127952000-04-25 Gerd Moellmann <gerd@gnu.org>
12796
12797 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12798 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12799
12800 * dispnew.c (increment_matrix_positions): Renamed from
12801 increment_glyph_matrix_buffer_positions.
12802 (increment_row_positions): Renamed from
12803 increment_glyph_row_buffer_positions.
12804
12805 * dispextern.h: Change names of renamed functions from dispnew.c
12806 in prototypes.
12807
cc181e95
GM
128082000-04-24 Gerd Moellmann <gerd@gnu.org>
12809
abfcc168
GM
12810 * fileio.c (Fdo_auto_save): Create directories for auto-save
12811 list file if necessary.
12812
cc181e95
GM
12813 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12814 from buffer or frame.
12815 (automatic_hscrolling_p): New variable.
12816 (hscroll_windows): Scroll windows horizontally only if automatic
12817 hscrolling is allowed.
12818 (syms_of_xdisp): New variable `automatic-hscrolling'.
12819
12820 * frame.h (struct frame): Add member extra_line_spacing.
12821
12822 * xfns.c (x_set_line_spacing): New function.
12823 (Fx_create_frame): Set line spacing from resources.
12824 (Qline_spacing): New variable.
12825 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12826
cc181e95
GM
12827 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12828
12829 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12830 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12831 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12832 extra_line_spacing from default value.
12833 (init_buffer_once): Initialize default value of extra_line_spacing.
12834
12835 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12836 and extra3.
12837
12838 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12839 prompt_width. Add extra line spacing.
12840
12841 * term.c (produce_glyphs): Remove reference to struct it's
12842 prompt_width.
12843
12844 * dispextern.h (struct it): Remove member prompt_width, add
12845 extra_line_spacing.
12846
58827478
GM
128472000-04-22 Gerd Moellmann <gerd@gnu.org>
12848
12849 * dispnew.c (update_frame_line): When writing a whole line, make
12850 sure cursor is in the right row afterwards, otherwise a use of
12851 capability `ch' in cmgoto might leave the cursor in the row below.
12852
25a87f42
GM
128532000-04-21 Gerd Moellmann <gerd@gnu.org>
12854
12855 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12856
12857 * keyboard.c (timer_check): Fix typo in comment.
12858
54edf5c2
KH
128592000-04-21 Kenichi Handa <handa@etl.go.jp>
12860
12861 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12862 name change: ch -> character.
12863
3a64eef5
GM
128642000-04-20 Gerd Moellmann <gerd@gnu.org>
12865
12866 * keyboard.c (echo_message_buffer): New variable.
12867 (echo_now): Set echo_message_buffer to the echo area buffer used
12868 to display the echo.
12869 (cancel_echoing): Reset echo_message_buffer to nil.
12870 (read_char): Code rewritten that handles canceling an echo or
12871 echoing a dash, respectively.
12872
12873 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12874 directory doesn't exist.
12875
6142fdcb
DL
128762000-04-19 Dave Love <fx@gnu.org>
12877
12878 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12879 (concat): Don't allow numeric args.
12880 (Fconcat): Doc change.
6142fdcb 12881
ac6b5352
SM
128822000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12883
12884 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12885 instead define end_match(1|2) more carefully.
12886 Use GET_CHAR_BEFORE_2 for `begline'.
12887
cb9215e4
GM
128882000-04-19 Gerd Moellmann <gerd@gnu.org>
12889
5e3dac3f
GM
12890 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12891 on 64-bit systems where NULL is defined as `0'.
12892
12893 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12894 the `variable argument list' to make it work on Alpha.
12895
cb9215e4
GM
12896 * m/alpha.h (_LP64) [!_LP64]: Define.
12897 (ORDINARY_LINK): Define for NetBSD.
12898
12899 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12900
f532dca0
DL
129012000-04-19 Dave Love <fx@gnu.org>
12902
c750667e
DL
12903 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12904 change.
12905
12906 * Makefile.in (LIBS): Don't use.
12907 (GETLOADAVG_OBJ): Define again.
12908 (otherobj): Add GETLOADAVG_OBJ.
12909
f532dca0
DL
12910 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12911
1c7e22fd
GM
129122000-04-18 Gerd Moellmann <gerd@gnu.org>
12913
f6d3257b
GM
12914 * lread.c (read_filtered_event): Cancel and start busy cursor.
12915
427ec082 12916 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12917 that the per-character metrics may be null.
12918
e10f64e7
GM
129192000-04-17 Gerd Moellmann <gerd@gnu.org>
12920
0daee095
GM
12921 * buffer.c (clone_per_buffer_values): New function.
12922 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12923 clone_per_buffer_values if CLONE is not nil.
12924
e10f64e7
GM
12925 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12926
38687d43
DL
129272000-04-16 Dave Love <fx@gnu.org>
12928
12929 * Makefile.in: Remove obsolete localcpp stuff.
12930 (GETLOADAVG_OBJ): Don't define.
12931 (obj): Move LIBOBJS...
12932 (otherobj): ... to here.
12933 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12934 whitespace-only lines after the continuation (Irix).
12935
c21c7262
GM
129362000-04-14 Gerd Moellmann <gerd@gnu.org>
12937
12938 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12939
12940 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12941
314767c0
DL
129422000-04-14 Dave Love <fx@gnu.org>
12943
12944 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12945 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12946 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12947 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12948 NLIST_STRUCT.
12949
12950 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12951 autoconfiscated HAVE_GETLOADAVG.
12952
12953 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12954 BROKEN_MKTIME.
12955
a2522dca
GM
129562000-04-14 Gerd Moellmann <gerd@gnu.org>
12957
12958 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12959 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12960
33744b5d
DL
129612000-04-14 Dave Love <fx@gnu.org>
12962
c21c7262 12963 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12964 (INTERVAL_SRC): Convert to make variable.
12965 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12966 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12967 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12968 add LIBOBJS.
12969 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12970 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12971 (shortlisp): Add facemenu, float-sup, frame.
12972 (SOME_MACHINE_LISP): Remove them from here.
12973 (LIBES): Change unused LDLIBS to autoconf LIBS.
12974
12975 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12976
9d3d5916
KH
129772000-04-14 Kenichi Handa <handa@etl.go.jp>
12978
12979 * composite.c (update_compositions): If FROM and TO are not in a
12980 valid range, do nothing.
12981
198e3c7a
GM
129822000-04-13 Gerd Moellmann <gerd@gnu.org>
12983
52283633 12984 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12985
52283633 12986 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12987
12988 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12989 as TERMCAP_OBJ.
12990
055a28c9
EZ
129912000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12992
12993 * fileio.c (a_write): Remove redundant semi-colons.
12994 (e_write): Return -1 if failed to write all the data.
12995 This fixes the changes made at 1999-12-15.
12996
f5c75033
DL
129972000-04-12 Dave Love <fx@gnu.org>
12998
12999 * fns.c (mapcar1): Test for null vals to support mapc.
13000 (Fmapc): New function.
13001
0c3cfc51
EZ
130022000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
13003
13004 * msdos.c (NUM_MOUSE_BUTTONS): Define.
13005 (IT_frame_up_to_date): Support the buffer local value of
13006 cursor-type, if defined.
13007
33465a31
DL
130082000-04-10 Dave Love <fx@gnu.org>
13009
13010 * editfns.c (preceding-char, following-char): Doc fix.
13011
6ed56568
KR
130122000-04-10 Ken Raeburn <raeburn@gnu.org>
13013
13014 * Makefile.in (temacs): Revert 2000-03-12 change.
13015
7cf80d4e
JR
130162000-04-10 Jason Rumney <jasonr@gnu.org>
13017
13018 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
13019
34f3f342
GM
130202000-04-10 Gerd Moellmann <gerd@gnu.org>
13021
1a1b1895
GM
13022 * xdisp.c (setup_echo_area_for_printing): Choose an echo
13023 area buffer, if it's not set up yet.
13024
34f3f342
GM
13025 * indent.c (compute_motion): Set immediate_quit.
13026
be0dbdab
GM
130272000-04-09 Gerd Moellmann <gerd@gnu.org>
13028
52283633 13029 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
13030 (realize_tty_face): Suppress boldness if colors are the inverse of
13031 the default colors, and tty_suppress_bold_inverse_default_colors_p
13032 is set.
13033 (Ftty_suppress_bold_inverse_default_colors): New function.
13034 (syms_of_xfaces): Defsubr it.
13035
be0dbdab
GM
13036 * buffer.c (Frestore_buffer_modified_p): New function.
13037 (syms_of_buffer): Defsubr it.
13038
e8413c3b
KR
130392000-04-08 Ken Raeburn <raeburn@gnu.org>
13040
87f67317
KR
13041 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
13042 charset id (int) argument, not a charset (Lisp_Object).
13043
e8413c3b
KR
13044 * coding.h (code_convert_string): Declare.
13045 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
13046 object, as the fourth argument to code_convert_string.
13047
52283633 13048 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
13049 (Fset_fontset_font): Use EQ to compare lisp objects.
13050
7c752c80
KR
130512000-04-05 Ken Raeburn <raeburn@gnu.org>
13052
c0333abc
KR
13053 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
13054 a pointer that looks like a lisp object.
13055 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
13056 zero, instead see whether it's an integer object, since they can't
13057 have intervals.
13058 (GET_INTERVAL_OBJECT): Simply assign to the destination.
13059
52283633
SM
13060 * dispnew.c (allocate_matrices_for_frame_redisplay)
13061 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
13062 to convert between (unsigned) int values and lisp integers.
13063 * keyboard.c (read_key_sequence): Likewise.
13064 * lread.c (substitute_object_recurse): Likewise.
13065 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
13066 * minibuf.c (do_completion, Fminibuffer_complete_word)
13067 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
13068 * term.c (produce_special_glyphs): Likewise.
13069
13070 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
13071 * print.c (print_preprocess, print_object): Likewise.
13072
13073 * search.c (compile_pattern): Use NILP when checking for nil.
13074
74e49b38
KR
13075 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
13076 __OPTIMIZE__]: Provide a GNU C macro version that handles
13077 lisp-object unions.
13078 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
13079 field, to better cope with ENABLE_CHECKING and calls that modify a
13080 Lisp_Object using its old value.
13081
685e5ed2
GM
130822000-04-04 Gerd Moellmann <gerd@gnu.org>
13083
c407c570
GM
13084 * window.c (compare_window_configurations): Signal an error
13085 if parameters C1 or C2 aren't window configurations.
13086
685e5ed2
GM
13087 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
13088 AFTER_POTENTIAL_GC calls around calls to functions that can
13089 signal an error and thus invoke the debugger.
13090
587a49ab
GM
130912000-04-03 Gerd Moellmann <gerd@gnu.org>
13092
62f20204
GM
13093 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
13094 an error if decoding fails.
13095
587a49ab
GM
13096 * keyboard.c (lispy_mouse_names): Variable removed.
13097 (Vlispy_mouse_stem): New variable.
13098 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
13099 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
13100 for any mouse button number. Increase size of mouse_syms and
13101 button_down_location as needed. Call modify_event_symbol with
13102 different arguments.
13103 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
13104 Call modify_event_symbol with different arguments.
13105 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
13106 for any button number. Call modify_event_symbol with different
13107 arguments.
13108 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
13109 Accept a string for NAME_ALIST_OR_STEM.
13110
13111 * lisp.h (larger_vector): Add prototype.
13112
13113 * fns.c (larger_vector): Make externally visible.
13114
13115 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13116
2d1675e4
SM
131172000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13118
13119 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13120 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13121 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13122 we are between str1 and str2.
13123 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13124 (PATFETCH): Use `TRANSLATE'.
13125 (PATFETCH_RAW): Fetch multibyte char if applicable.
13126 (PATUNFETCH): Remove.
13127 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13128 When writing a char, write it directly into the pattern buffer rather
13129 than going needlessly through a temp char-array.
13130 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13131 multibyte magic and remove the useless `#ifdef emacs'.
13132 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13133 buffer.
13134
13135 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13136 conditional on `emacs'.
13137
13138 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13139
cc2d8c6b
KR
131402000-04-01 Ken Raeburn <raeburn@gnu.org>
13141
13142 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13143 non-union-type versions of XMARK and friends here, because XMARK
13144 and friends won't work on an integer field if NO_UNION_TYPE is not
13145 defined.
52283633 13146 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13147
52283633 13148 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13149 (syms_of_composite): Delete local var NARGS, pass an int as first
13150 argument to Fmake_hash_table.
13151
2387b382
KR
13152 * editfns.c (text_property_stickiness): Use NILP to test
13153 Lisp_Object boolean value.
13154 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13155 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13156 problems reading from and changing the same lisp value in an
13157 XSETSTRING call.
13158
27660e89
GM
131592000-04-01 Gerd Moellmann <gerd@gnu.org>
13160
13161 * term.c (TN_no_color_video): New variable.
13162 (term_init): Intitialize TN_no_color_video.
13163 (enum no_color_bit): New enumeration.
13164 (MAY_USE_WITH_COLORS_P): New macro.
13165 (turn_on_face): Use it to determine if attributes may be used
13166 combined with colors.
13167
3578db3c
KR
131682000-04-01 Ken Raeburn <raeburn@gnu.org>
13169
13170 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13171 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13172 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13173 proper accessor macros.
13174 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13175 (grow_mini_window): Fix typo getting int value of root->height.
13176
6fc556fd
KR
13177 * xdisp.c (compute_string_pos): Fix order of arguments to
13178 string_pos_nchars_ahead.
13179 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13180 count arg to variable-arg routines like Frun_hook_with_args and
13181 Fformat.
587a49ab
GM
13182 (back_to_previous_visible_line_start)
13183 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13184 fixed-arg routines like Fget_char_property and Fmake_string.
13185 (reconsider_clip_changes): Use XINT when comparing integer lisp
13186 objects, or passing them as int arguments.
587a49ab
GM
13187 (mark_window_display_accurate, insert_left_trunc_glyphs)
13188 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13189 storing or passing integer values as lisp objects.
13190 (set_cursor_from_row, highlight_trailing_whitespace): Use
13191 INTEGERP, not implicit test against zero, for glyph object.
13192 (try_window_id): Don't use make_number when we want an int value.
13193
13194 * xfaces.c (xlfd_symbolic_value): Make last argument a
13195 Lisp_Object, to be consistent with callers.
13196 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13197 (lface_hash): Apply XFASTINT to lisp values before folding in.
13198
13199 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13200 fill in window width and height. Pass an int, not a lisp object,
13201 as first arg to Finsert.
13202
6e7b2457
GM
132032000-04-01 Gerd Moellmann <gerd@gnu.org>
13204
610d841e
GM
13205 * xfaces.c (realize_basic_faces): Block input while realizing
13206 the faces.
13207
6e7b2457
GM
13208 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13209
13210 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13211
aa110c0c
GM
132122000-03-31 Gerd Moellmann <gerd@gnu.org>
13213
13214 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13215 or ASCII, handle case that per-char metric is null.
aa110c0c 13216
8801a864
KR
132172000-03-30 Ken Raeburn <raeburn@gnu.org>
13218
c6129d7e
KR
13219 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13220
52283633
SM
13221 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13222 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13223 pointer, using eassert.
13224 * frame.h (XFRAME): Likewise.
13225
52283633
SM
13226 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13227 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13228 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13229 * data.c (set_internal): Likewise.
52283633
SM
13230 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13231 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13232 * fileio.c (auto_save_1): Likewise.
13233 * insdel.c (check_markers): Likewise.
13234 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13235 * undo.c (record_insert): Likewise.
13236 * vmsproc.c (child_sig): Likewise.
13237 * window.c (unshow_buffer, window_loop): Likewise.
13238 * xterm.c (x_erase_phys_cursor): Likewise.
13239
8e7af858
GM
132402000-03-30 Gerd Moellmann <gerd@gnu.org>
13241
13242 * xfns.c (free_image_cache): Free the cache structure itself
13243 last, after all its members have been freed.
13244
13245 * lisp.h (xstrdup): Add prototype.
13246
13247 * alloc.c (xstrdup): Moved here from xfaces.c.
13248 (allocating_for_lisp): Variable removed.
52283633 13249 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13250
13251 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13252 of Fsymbol_value.
13253 (xstrdup): Moved to alloc.c.
13254
e0b8c689
KR
132552000-03-29 Ken Raeburn <raeburn@gnu.org>
13256
b96f9fb7
KR
13257 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13258
13259 * emacs.c (main): Fix sense of no-loadup test.
13260
e0b8c689
KR
13261 * config.in (ENABLE_CHECKING): Undef.
13262
13263 * lisp.h (struct interval): Replace "parent" field with a union of
13264 interval pointer and Lisp_Object; add new bitfield to use as
13265 discriminant. Change other flag fields to bitfields.
13266 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13267 is defined and the supplied test fails, print a message and abort.
13268 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13269
13270 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13271 pointers; abort if the value looks like a lisp object.
52283633
SM
13272 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13273 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13274 Modify for new interval parent definition.
13275
52283633
SM
13276 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13277 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13278 addressable lisp object in the interval structure.
13279 (die): New function.
13280 (suppress_checking): New variable.
13281
13282 * intervals.c (interval_start_pos): Just return 0 if there's no
13283 parent object.
13284
f83c5440
GM
132852000-03-29 Gerd Moellmann <gerd@gnu.org>
13286
13287 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13288 and earlier Emacs versions.
13289
13290 * keyboard.c (Ftop_level): Cancel busy-cursor.
13291
13292 * eval.c (call_debugger): Cancel busy-cursor.
13293
fdce64ff
KH
132942000-03-29 Kenichi Handa <handa@etl.go.jp>
13295
13296 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13297 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13298
f6a3f532
SM
132992000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13300
13301 * regex.c (analyse_first): New function obtained by ripping out most
13302 of re_compile_fastmap and generalizing it a little bit so that it
13303 can also just return whether a given (sub)pattern can match the empty
13304 string or not.
13305 (regex_compile): Use `analyse_first' to decide whether the loop-check
13306 needs to be done or not for *, +, *? and +? (the loop check is costly
13307 for non-greedy repetition).
13308 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13309
e9b309ac
DL
133102000-03-28 Dave Love <fx@gnu.org>
13311
52283633 13312 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13313
e9b309ac
DL
13314 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13315
ed0767d8
SM
133162000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13317
13318 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13319 an expression.
13320 (enum re_opcode_t): Update description of succeed_n.
13321 (PATFETCH): Always define.
13322 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13323 operators, char classes, shy-groups and intervals).
13324 Optimize special cases of intervals so as to only use succeed_n and
13325 jump_n when really needed.
13326 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13327 that we don't have to handle the special cases any more.
13328 Simplify on_failure_jump handling as well.
13329
e11e7e46
JR
133302000-03-28 Jason Rumney <jasonr@gnu.org>
13331
13332 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13333
88faab89
GM
133342000-03-27 Gerd Moellmann <gerd@gnu.org>
13335
182ff242
GM
13336 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13337
13338 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13339
182ff242
GM
13340 * alloc.c (mark_maybe_object): New function.
13341 (mark_memory): Use it.
13342 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13343 (setjmp_tested_p, longjmp_done): New variables.
13344 (test_setjmp): New function.
13345 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13346 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13347
c1005d06
GM
13348 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13349 to DEC_TEXT_POS and INC_TEXT_POS.
13350
13351 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13352 with parameter MULTIBYTE_P.
13353
52283633 13354 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13355
7439e5b9 13356 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13357 buffers because it looks for multibyte character byte sequences
13358 which don't exist in unibyte text.
7439e5b9 13359
d9c545da
GM
13360 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13361
11fd416e 13362 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13363 [DEBUG_X_COLORS]: New functions.
13364 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13365
13366 * xfns.c (x_set_cursor_color): Get color reference counts right.
13367
13368 * xterm.c (x_copy_color): New function.
13369 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13370
13371 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13372 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13373 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13374 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13375 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13376 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13377 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13378 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13379 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13380 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13381
11fd416e
GM
13382 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13383 names for handling per-buffer variables.
d9c545da
GM
13384
13385 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13386 instead of MAX_BUFFER_LOCAL_VARS.
13387 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13388
13389 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13390
88faab89
GM
13391 * xfns.c (x_specified_cursor_type): New function.
13392 (x_set_cursor_type): Use it.
13393
13394 * buffer.h (struct buffer): Add cursor_type.
13395
d80f42b7
SM
133962000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13397
13398 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13399 (print_partial_compiled_pattern, re_compile_fastmap):
13400 Handle new opcode.
d80f42b7
SM
13401 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13402 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13403 executing it as well as when popping it off the stack to find infinite
13404 loops in non-greedy repetition operators.
13405
89e80928
GM
134062000-03-26 Gerd Moellmann <gerd@gnu.org>
13407
3d4ff2dd
GM
13408 * doc.c (Qfunction_documentation): New variable.
13409 (syms_of_doc): Initialize Qfunction_documentation.
13410 (Fdocumentation): If FUNCTION is a symbol with non-nil
13411 `function-documentation' property, return a documentation derived
13412 from that.
13413
bd96bd79
GM
13414 * buffer.c (syms_of_buffer): Add default-cursor-type.
13415 (init_buffer_once): Don't let cursor_type have a local value
13416 in every buffer.
13417
19d1bc27
GM
13418 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13419 on buffer-local value of cursor_type.
13420 (x_draw_bar_cursor): Add parameter WIDTH.
13421
13422 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13423 (init_buffer_once): Set default cursor_type value to t.
13424 Mark cursor_type as local everywhere.
13425 (syms_of_buffer): New per-buffer variable cursor-type.
13426
89e80928
GM
13427 * buffer.h (struct buffer): Remove member local_var_flags,
13428 add local_flags.
13429 (MAX_BUFFER_LOCAL_VARS): New macro.
13430 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13431 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13432 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13433 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13434
52283633 13435 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13436
13437 * category.c (Fset_category_table): Use new macros for per-buffer
13438 variables.
13439
13440 * buffer.c (buffer_permanent_local_flags): Make a char array.
13441 (max_buffer_local_idx): New variable.
13442 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13443 for new handling of per-buffer variables.
13444 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13445 (init_buffer_once): Initialize per-buffer vars differently.
13446 Set max_buffer_local_idx.
13447
13448 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13449 variables.
13450
52283633 13451 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13452
13453 * data.c (do_symval_forwarding, store_symval_forwarding)
13454 (find_symbol_value, set_internal, default_value, Fset_default)
13455 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13456 per-buffer variables.
13457
13458 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13459
9a0dd3dc
GM
134602000-03-24 Gerd Moellmann <gerd@gnu.org>
13461
b68c375f
GM
13462 * xterm.c (x_term_init): Unblock input around call1 of
13463 Qvendor_specific_keysyms.
13464
9a0dd3dc
GM
13465 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13466 (find_defun_start): Consider an open parenthesis in column 0
13467 a defun start only if open_paren_in_column_0_is_defun_start is set.
13468 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13469
7973e637
SM
134702000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13471
13472 * eval.c (Fautoload): Add entry in load-history (if after dump).
13473 * lread.c (load-history): Update docstring.
13474
39210e90
GM
134752000-03-24 Gerd Moellmann <gerd@gnu.org>
13476
13477 * indent.c (Fvertical_motion): Always use the current buffer.
13478 Temporarily change the window's buffer, if necessary.
13479
72db3ab5
GM
134802000-03-23 Gerd Moellmann <gerd@gnu.org>
13481
13482 * xterm.c (fast_find_position): Make sure not to consider rows
13483 not visible in the window.
13484
990b2375
SM
134852000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13486
13487 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13488 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13489
ff4df011
JR
134902000-03-22 Jason Rumney <jasonr@gnu.org>
13491
13492 * w32menu.c (single_submenu): Set help string to NULL if none.
13493 (w32_menu_show): Set help string correctly.
13494 (add-menu-item): Set help string in MIIM_DATA for menu item.
13495 Load SetMenuItemInfoA explicitly.
13496 (w32_menu_display_help): New function.
427ec082 13497
ff4df011
JR
13498 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13499 (QCdata): Moved to xdisp.c.
13500
13501 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13502 (Vw32_charset_to_codepage_alist): Removed.
13503 (Vw32_charset_info_alist): New variable.
52283633
SM
13504 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13505 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13506 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13507 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13508 with TODO comment.
13509 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13510 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13511 Define Vw32_charset_info_alist and w32_charset symbols.
13512
135132000-03-22 Jason Rumney <jasonr@gnu.org>
13514
13515 * makefile.nt (w32bdf.obj): Update dependencies.
13516
13517 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13518
13519 * w32fns.c: Include fontset.h after dispextern.h.
13520 (Fx_create_frame): Do not create fontset.
13521 (w32_load_system_font): Doc fix.
13522 (Fx_close_connection): Free full_name if it is not shared.
13523
13524 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13525 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13526 Callers updated.
ff4df011
JR
13527 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13528 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13529 (w32_font_is_double_byte): New function, needs body.
13530 (x_append_glyph): Set glyph->glyph_not_available_p.
13531 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13532 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13533 character, convert it to a unibyte character.
13534 (struct glyph_string): Delete member `charset'.
13535 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13536 calculating it is found.
13537 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13538 the case that per char metric is not available correctly.
13539 (x_fill_glyph_string): Handle the case that the specific glyph is
13540 not available correctly.
13541 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13542 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13543 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13544 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13545 fontset. Don't call FS_LOAD_FONT.
13546
439d5cb4
KR
135472000-03-22 Ken Raeburn <raeburn@gnu.org>
13548
13549 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13550 (INT_LISPLIKE): New macro.
13551 (NULL_INTERVAL_P): Use it.
52283633
SM
13552 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13553 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13554 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13555
13556 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13557 explicit references to "parent" field of struct interval and
13558 associated unclean type conversions.
52283633
SM
13559 * intervals.c (create_root_interval, root_interval, rotate_right)
13560 (rotate_left, balance_possible_root_interval, split_interval_right)
13561 (split_interval_left, interval_start_pos, find_interval)
13562 (next_interval, previous_interval, update_interval)
13563 (adjust_intervals_for_insertion, delete_node, delete_interval)
13564 (adjust_intervals_for_deletion, merge_interval_right)
13565 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13566 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13567 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13568 Likewise.
13569 * syntax.c (update_syntax_table): Likewise.
13570
13571 * intervals.c (reproduce_tree_obj): New function, like
13572 reproduce_tree but takes a Lisp_Object for the parent. Declare
13573 with prototype.
13574 (graft_intervals_into_buffer): Use it when appropriate.
13575 (reproduce_tree): Declare with prototype.
13576 (balance_possible_root_interval): Check that the parent is a lisp
13577 object before trying to examine its type.
13578
ee1c5b21
GM
135792000-03-22 Gerd Moellmann <gerd@gnu.org>
13580
13581 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13582 as strings only if both are known to be strings.
13583
13584 * s/openbsd.h (LIBS_TERMCAP): Undef.
13585
1fb352e0
SM
135862000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13587
13588 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13589 definitions for non-Emacs compilation.
13590 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13591 outside of `#ifdef emacs'.
13592 (print_partial_compiled_pattern): Update.
13593 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13594 (re_compile_fastmap): Merge handling of charset and charset_not (for
13595 emacs and non-emacs compilation as well).
13596 Similarly for (not)categoryspec and (not)syntaxspec.
13597 Don't use the fastmap when reaching `anychar' since the added
13598 complexity is not justified.
13599 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13600 and (not)syntaxspec. Merge (not)categoryspec.
13601
fdaa1f77
KH
136022000-03-22 Kenichi Handa <handa@etl.go.jp>
13603
52283633
SM
13604 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13605 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13606 --without-x.
fdaa1f77 13607
d152fb46
DL
136082000-03-21 Dave Love <fx@gnu.org>
13609
13610 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13611 doc string.
13612
d2cafc8c
GM
136132000-03-21 Gerd Moellmann <gerd@gnu.org>
13614
13615 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13616 (lface_fully_specified_p): Don't check contents of
13617 LFACE_FONT_INDEX because that attribute is optional.
13618 (realize_x_face): Remove now unwarranted xassert.
13619
9111d4b5
KH
136202000-03-21 Kenichi HANDA <handa@etl.go.jp>
13621
13622 The following changes are to make font selection based on
13623 characters, not charset. In addition, they recover fontset
13624 facilities while utilizing the new font selection mechanism.
13625
6c4bfdc0
KH
13626 * Makefile.in (fontset.o): Depend on dispextern.h.
13627
13628 * alloc.c (mark_face_cache): Don't mark face->registry.
13629
9111d4b5
KH
13630 * dispextern.h (struct glyph): New member glyph_not_available_p.
13631 Use 22 bits for face_id.
13632 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13633 (struct face): Delete member registry, new member ascii_face.
13634 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13635 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13636 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13637 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13638
13639 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13640 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13641 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13642 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13643 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13644 (fs_free_face_fontset, fontset_font_pattern)
13645 (face_suitable_for_char_p, face_for_char)
13646 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13647 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13648 (FS_LOAD_FACE_FONT): New macro.
13649
13650 * fontset.c: All codes rewritten or adjusted for the change of
13651 fontset implementation. Now fontset is represented by char table.
52283633
SM
13652 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13653 Variables removed.
9111d4b5 13654 (my_strcasecmp): Function removed.
52283633 13655 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13656 (AREF, ASIZE): New macros.
52283633
SM
13657 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13658 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13659 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13660 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13661 (fontset_id_valid_p, font_family_registry, fontset_name)
13662 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13663 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13664 New functions.
13665 (fs_load_font): New arg FACE. Caller changed.
13666 (fs_query_fontset): Argument changed. Caller changed.
13667 (Fquery_fontset): call fs_query_fontset.
13668 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13669 Functions removed.
52283633
SM
13670 (clear_fontset_elements, check_registry_encoding)
13671 (check_fontset_name): New functions.
9111d4b5
KH
13672 (syms_of_fontset): Set char-table-extra-slots property of fontset
13673 to 3. Staticpro and initialize Vfontset_table and
13674 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13675
13676 * frame.h (struct frame): Member `fontset_data' removed.
13677 (FRAME_FONTSET_DATA): Macro removed.
13678
13679 * frame.c (make_frame): Don't allocate f->fontset_data.
13680 (Fdelete_frame): Don't free f->fontset_data.
13681
6c4bfdc0
KH
13682 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13683
9111d4b5
KH
13684 * xdisp.c (charset_at_position): Function removed.
13685 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13686 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13687 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13688 Likewise.
13689 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13690 FACE_FOR_CHARSET.
52283633
SM
13691 (get_next_display_element, append_space)
13692 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13693
13694 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13695 Variables removed.
13696 (clear_font_table, frame_update_line_height, load_face_font):
13697 Adjusted for the change of fontset implementation.
13698 (load_face_fontset_font): Function removed.
13699 (pixel_point_size): New function.
13700 (font_list): Argument type changed. Caller changed.
13701 (LFACE_FONT): New macro.
13702 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13703 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13704 Lisp_Object. Determine the font name by actually loading a font
13705 by the specified pattern. Set LFACE_FONT (lface) to the specified
13706 pattern. Even if a font is not found, don't try alternatives.
13707 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13708 (set_font_frame_param): If `font' is specified in lface, use it.
13709 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13710 (lface_same_font_attributes_p): Likewise.
13711 (make_realized_face): Arguent changed. Caller changed. Set
13712 face->ascii_face to face itself.
13713 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13714 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13715 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13716 (free_realized_multibyte_face): New function.
13717 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13718 changed. Caller changed.
13719 (try_font_list): Argument type changed.
13720 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13721 (choose_face_font): Argument changed. Handle fontset properly.
13722 (choose_face_fontset_font): Function removed.
13723 (realize_default_face, realize_named_face): Don't remove the
13724 former face here.
13725 (realize_face): Argument changed. Caller changed. Remove face
52283633 13726 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13727 (realize_x_face): Argument changed. Caller changed. For a
13728 multibyte character, share fontset with base_face. For a single
52283633 13729 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13730 (realize_tty_face): Argument changed. Caller changed.
13731 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13732 (face_at_buffer_position): Don't check multibyte_p for returning
13733 DEFAULT_FACE_ID.
13734 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13735 FACE_SUITABLE_FOR_CHARSET_P.
13736 (syms_of_xfaces): Remove code for Qx_charset_registry and
13737 Vface_default_registry.
13738
6c4bfdc0
KH
13739 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13740 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13741 (x_per_char_metric): Don't try FONT->default_char. Even if
13742 pcm->width is zero, glyph bits may exist.
13743 (x_encode_char): Always initialize char2b->byte1.
13744 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13745 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13746 (x_append_glyph): Set glyph->glyph_not_available_p.
13747 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13748 it->charset. Handle the case that per char metric is not
13749 available. If it->multibyte_p is zero and it->c is a multibyte
13750 character, convert it to a unibyte character.
13751 (struct glyph_string): Delete member `charset'.
13752 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13753 the case that per char metric is not available correctly.
13754 (x_fill_glyph_string): Handle the case that the specific glyph is
13755 not available correctly.
13756 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13757 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13758 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13759 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13760 fontset. Don't call FS_LOAD_FONT.
13761
13762 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13763 (x_create_tip_frame): Likewise.
13764 (Fx_close_connection): Free full_name of font_info.
13765
13766 * fns.c (optimize_sub_char_table): New function.
13767 (Foptimize_char_table): New function.
13768 (syms_of_fns): Defsubr Soptimize_char_table.
13769
b33dd3b0
GM
137702000-03-20 Gerd Moellmann <gerd@gnu.org>
13771
13772 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13773 only if buffer is displayed in some window.
13774
13775 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13776 (try_window_reusing_current_matrix): Don't call scroll run
13777 function if run's current and desired position are the same;
13778 this prevents cursor flickering.
13779
4e8a9132
SM
137802000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13781
13782 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13783
13784 * regex.c (RE_STRING_CHAR): New macro.
13785 (GET_CHAR_AFER_2): Remove.
13786 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13787 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13788 (print_partial_compiled_pattern, re_compile_fastmap)
13789 (re_match_2_internal): Remove on_failure_jump_exclusive.
13790 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13791 optimization only need to work for * (ie. can use of_keep_string_jump).
13792 Remove the special case for .*\n since it is now covered by the general
13793 optimization.
13794 (re_search_2): Don't bother with `room'.
13795 (skip_one_char): New function.
13796 (skip_noops): Simplify since `memory' is not needed any more.
13797 (mutually_exclusive_p): Restructure slightly to use `switch' and
13798 add handling for "all" remaining cases.
13799 (re_match_2_internal): Change on_failure_jump_smart to use
13800 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13801 rather than on_failure_jump_exclusive.
13802
2136fdd4
GM
138032000-03-19 Gerd Moellmann <gerd@gnu.org>
13804
13805 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13806 number of bits per RGB because it's everywhere used as the depth
13807 of the visual.
13808
13809 * term.c (calculate_costs): Remove code dealing with X frames.
13810
18e21ce8 138112000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13812
13813 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13814
d7b511c4
GM
138152000-03-18 Gerd Moellmann <gerd@gnu.org>
13816
13817 * lread.c (read_integer): Unread the last char not consumed.
13818
16b5d424
GM
138192000-03-17 Gerd Moellmann <gerd@gnu.org>
13820
13821 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13822 which are in the process of being deleted.
16b5d424 13823
1fa28578
GM
138242000-03-16 Gerd Moellmann <gerd@gnu.org>
13825
83488cce
GM
13826 * Makefile.in (mostlyclean): Add `*.core'.
13827 (clean): Add `bootstrap-emacs'.
13828
1fa28578
GM
13829 * lread.c (read_integer): New function.
13830 (read1): Support read syntax #o, #x, #b, #r.
13831
99633e97
SM
138322000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13833
1fa28578
GM
13834 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13835 make sure POINTER_TO_OFFSET gives the same value before and after
13836 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13837 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13838 (debug): Now only active if > 0 rather than if != 0.
13839 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13840 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13841 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13842 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13843 (store_op1, store_op2, insert_op1, insert_op2)
13844 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13845 (group_in_compile_stack): Move to after its arg's types are
13846 declared and add a prototype.
99633e97 13847 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13848 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13849 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13850 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13851 indentation of the greedy-op and shy-group code.
99633e97
SM
13852 (at_(beg|end)line_loc_p): Fix argument's types.
13853 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13854 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13855 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13856 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13857 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13858 QUIT unconditionally.
99633e97 13859
699238d9
GM
138602000-03-15 Gerd Moellmann <gerd@gnu.org>
13861
13862 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13863 a sole completion.
13864
13865 * process.c (send_process): Add a hint that the function
13866 can call Lisp code to its comment.
13867
13868 * lread.c (load_dangerous_libraries): New variable.
13869 (Vbytecomp_version_regexp): New variable.
13870 (safe_to_load_p): New function.
13871 (Fload): Handle files not compiled with Emacs specially.
13872 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13873
34e23e5a
GM
138742000-03-14 Gerd Moellmann <gerd@gnu.org>
13875
9c763cca
GM
13876 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13877
13878 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13879 support functions only if HAVE_X11R6_XIM is defined.
13880 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13881
13882 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13883
13884 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13885 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13886 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13887
13888 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13889 (HAVE_X11R6_XIM): Define.
13890
13891 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13892
34e23e5a
GM
13893 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13894 If set, call XSynchronize.
13895
66f0296e
SM
138962000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13897
34e23e5a
GM
13898 * regex.c: Declare a new type `re_char' used throughout the code
13899 for the string char type. It's `const unsigned char' to match the
13900 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13901 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13902 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13903 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13904 code duplication.
66f0296e
SM
13905
13906 * charset.h (GET_CHAR_AFTER_2): Remove.
13907 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13908
854a025c
KR
139092000-03-12 Ken Raeburn <raeburn@gnu.org>
13910
13911 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13912 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13913 of them try to use backquotes.
13914
b9d2c7e2
DL
139152000-03-12 Dave Love <fx@gnu.org>
13916
13917 * unexelf.c: Restore changes of 1999-10-19.
13918 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13919 fix its type and alignment; copy it from current process.
13920
5e5dff44
GM
139212000-03-12 Gerd Moellmann <gerd@gnu.org>
13922
9b2f3c38
GM
13923 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13924 has been found. Fix bug not computing timer's predecessor.
13925
427ec082 13926 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13927 file name.
13928
e1cff360
GM
13929 * window.c (Fsave_window_excursion): Doc fix.
13930
52283633 13931 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13932
e411ce4b
EZ
139332000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13934
13935 * msdos.c (vga_installed): New function, code moved from
13936 dos_set_window_size.
13937 (Qbar, Qcursor_type, outside_cursor): New variables.
13938 (syms_of_msdos): Intern and staticpro them.
13939 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13940 shape used outside Emacs when called for the first time.
13941 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13942 cursor shape used outside Emacs.
13943 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13944 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13945 type has changed.
13946 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13947 parameters specify the cursor. Make qreverse a global
13948 variable (renamed to Qreverse).
13949
80460654
GM
139502000-03-09 Gerd Moellmann <gerd@gnu.org>
13951
13952 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13953
95cd4c40
SM
139542000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13955
13956 This is a big redesign of failure-stack and register handling, prompted
13957 by bugs revealed when trying to add shy-groups. Overall, what happened
13958 is that loops are now structured a little differently, groups can be
13959 shy and the code is a little simpler.
13960
13961 * regex.h: Update the copyright.
13962 (RE_SHY_GROUPS): New value.
13963 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13964 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13965
80460654
GM
13966 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13967 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13968 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13969 for (start|stop)_memory since they now only take one argument (the
13970 second has becomes unnecessary).
52283633 13971 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13972 (print_compiled_pattern): Use %ld to printf long ints and flush to
13973 make debugging a little easier.
95cd4c40
SM
13974 (union fail_stack_elt): Make the integer unsigned.
13975 (struct fail_stack_type): Add a `frame' element.
13976 (INIT_FAIL_STACK): Init `frame' as well.
13977 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13978 (DEBUG_PUSH, DEBUG_POP): Remove.
13979 (NUM_REG_ITEMS): Remove.
13980 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13981 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13982 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13983 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13984 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13985 New macros.
80460654
GM
13986 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13987 address pushed is not the destination of the jump but the source
13988 of it instead.
95cd4c40
SM
13989 (NUM_FAILURE_ITEMS): Remove.
13990 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13991 registers before the actual failure point). Don't hardcode any
13992 meaning for str==NULL anymore.
95cd4c40 13993 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13994 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13995 Remove.
95cd4c40
SM
13996 (REG_UNSET_VALUE): Use NULL (why not?).
13997 (compile_range): Remove declaration since it doesn't exist.
13998 (struct compile_stack_elt_t): Remove inner_group_offset.
13999 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
14000 (regex_grow_registers): Remove dead code.
14001 (FIXUP_ALT_JUMP): New macro.
80460654
GM
14002 (regex_compile): Add shy-groups Change loops to use
14003 on_failure_jump_smart&jump instead of
14004 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
14005 initial (dummy_failure_)jump. Remove c1_base (looks like unused
14006 variable to me). Use `jump' instead of `jump_past_alt' and don't
14007 bother with push_dummy_failure in alternatives since it is now
14008 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
14009 emacs' for (re)allocating the stack.
14010 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
14011 from loop when bufp->can_be_null rather than jumping to `done'.
14012 Avoid jumping backwards so as to ensure termination. Use
14013 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
14014 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 14015 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
14016 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
14017 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
14018 (lowest_active_reg, highest_active_reg)
14019 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
14020 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
14021 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
14022 variables. Push register (in `start_memory') on the stack rather
14023 than storing it in old_reg(start|end). Remove the cycle detection
14024 from `stop_memory', replaced by the use of on_failure_jump_loop
14025 for greedy loops. Add code for the new on_failure_jump_<foo>.
14026 Remove ad-hoc code in `on_failure_jump' to push more registers in
14027 the case of a loop. Take out code from `maybe_pop_jump' into
14028 separate functions and adapt it to the semantics of
14029 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
14030 and push_dummy_failure. Remove dummy_failure handling and
14031 handling of `failures to jump to on_failure_jump' (this last one
14032 was already dead code, it seems).
14033 (group_match_null_string_p, alt_match_null_string_p)
14034 (common_op_match_null_string_p): Remove.
95cd4c40 14035
7397acc4
DL
140362000-03-08 Dave Love <fx@gnu.org>
14037
14038 * config.in: Don't depend on __STDC__ for volatile.
14039 Add POINTER_TYPE, PTR, PROTOTYPES.
14040
14041 * hftctl.c, strftime.c: Use PROTOTYPES.
14042 * eval.c (find_handler_clause): Likewise.
14043
14044 * mem-limits.h: Use POINTER_TYPE.
14045
14046 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
14047 (memory_warnings): Declare using POINTER_TYPE.
14048
5e91ff9e
GM
140492000-03-08 Gerd Moellmann <gerd@gnu.org>
14050
feab4fba
GM
14051 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
14052
52283633 14053 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 14054
5e91ff9e
GM
14055 * xfns.c: Remove obsolete code in #if 0.
14056 (Fx_focus_frame): New function.
14057
a735b7e1
KH
140582000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14059
14060 * coding.c (coding_category_name): Add coding-category-utf-8,
14061 coding-category-utf-16-be, coding-category-utf-16-le.
14062 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
14063 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
14064 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
14065 (detect_coding_utf_8): New function.
14066 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
14067 UTF_16_LOW_SURROGATE_P): New macros.
14068 (detect_coding_utf_16): New function
14069 (detect_coding_mask): When priorities are specified, skip any
14070 categories that have `nil' coding-system. Fix bug of returning
14071 wrong mask when PRIORITIES is specified and detect_coding_XXX()
14072 returns a mask not set in PRIORITIES.
14073 (detect_eol_type_in_2_octet_form): New function.
14074 (detect_eol): selects detect_eol_type_XXX to call according to
14075 cooding->category_idx.
14076 (detect_coding_system): Remove `nil' coding-system in the result.
14077 (Fupdate_coding_systems_internal): Update all coding-categories.
14078
52283633
SM
14079 * coding.h (CODING_CATEGORY_IDX_UTF_8)
14080 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
14081 New macros.
14082 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
14083 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
14084 (CODING_CATEGORY_IDX_UTF_16_LE)
14085 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
14086 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
14087 (CODING_CATEGORY_MASK_ANY): Include the above macros.
14088 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
14089
9994cc69
GM
140902000-03-07 Gerd Moellmann <gerd@gnu.org>
14091
e9b4e5ff
GM
14092 * doc.c (Fdocumentation_property): If value is not a string,
14093 and doesn't refer to etc/DOC, evaluate it to obtain a string.
14094
f7daf1e1
GM
14095 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
14096 close the display with XtCloseDisplay. This caused a bus error
14097 on OpenWindows.
14098
9994cc69
GM
14099 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
14100 complete but not unique.
14101
4336c705
GM
141022000-03-06 Gerd Moellmann <gerd@gnu.org>
14103
18bb0684
GM
14104 * process.c (send_process): Remove local variable `procname' that
14105 might become invalid when a GC happens. Instead, access the
14106 process name slot directly.
14107
4336c705
GM
14108 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
14109 orig_height if set.
14110
14111 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14112 orig_height if set.
14113
515d0d0e
EZ
141142000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14115
14116 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14117 glyph matrices have been freed.
14118
100b3cbb
GM
141192000-03-05 Gerd Moellmann <gerd@gnu.org>
14120
50df5e5a 14121 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 14122 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
14123
14124 * xfns.c (QCdata): Moved to xdisp.c.
14125
14126 * xdisp.c (QCdata): Moved here from xfns.c.
14127 (syms_of_xdisp): Initialize QCdata.
14128
14129 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14130
14131 * window.c (coordinates_in_window): Use
14132 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14133 FRAME_INTERNAL_BORDER_WIDTH.
14134
100b3cbb 14135 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14136 it is obviously invalid.
100b3cbb
GM
14137
14138 * xterm.c (x_term_init): Create a colormap if not using the
14139 default visual.
14140
14141 * xterm.h (select_visual): Change prototype.
14142
14143 * xfns.c (select_visual): Rewritten. Recognize user-specified
14144 visual classes.
14145 (visual_classes): New variable.
14146
64d739c4
GM
141472000-03-04 Gerd Moellmann <gerd@gnu.org>
14148
14149 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14150 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14151 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14152 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14153 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14154 XtNcolormap resources.
14155 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14156 (Fx_create_frame): Initialize color members of x_output structure.
14157 (xpm_load): Pass colormap to XPM lib.
14158
14159 * xfaces.c (x_free_colors): Access colormap of frame using
14160 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14161 when default colormap is used.
14162
14163 * xterm.c (x_term_init): Set Colormap member of x_display_info
14164 structure. Copy colormap if resource `privateColormap' is
14165 specified (PseudoColor only).
14166 (x_setup_relief_color): Access colormap of frame using
14167 FRAME_X_COLORMAP.
14168
14169 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14170 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14171
c3cee013
JR
141722000-03-04 Jason Rumney <jasonr@gnu.org>
14173
14174 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14175 other non-platform-specific equivalents.
64d739c4 14176 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14177 specific functions and macros as their w32 equivalents where
14178 non-platform-specifics are not available.
14179 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14180 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14181 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14182 (frame_update_line_height): Use macros to access f->output_data.
14183 (defined_color): Remove FIXME comments; fixed.
14184 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14185 into #ifdef blocks. Add WINDOWSNT blocks.
14186 (Fx_list_fonts): Use macros for accessing font data.
14187 (set_lface_from_font_name): Different default fonts for X and
14188 WINDOWSNT.
14189 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14190 scalable for backward compatibility.
64d739c4 14191 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14192 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14193
64d739c4 14194 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14195 syms_of_w32faces.
14196
14197 * makefile.nt (w32faces.obj): Remove.
14198 (xfaces.obj): Add.
14199
807cc41c
JR
142002000-03-03 Jason Rumney <jasonr@gnu.org>
14201
14202 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14203 correct parameters.
14204
0007072a
KR
142052000-03-03 Ken Raeburn <raeburn@gnu.org>
14206
14207 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14208 standard ELF definitions here if the system header does not.
14209
71a6ba55
GM
142102000-03-03 Gerd Moellmann <gerd@gnu.org>
14211
14212 * xterm.c (PER_CHAR_METRIC): Removed.
14213 (x_per_char_metric_1, x_default_char): New functions.
14214 (x_per_char_metric): If font's default char is invalid, return
14215 metrics of a suitably chosen usable default char.
14216 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14217 char, replace occurrences of unprintable chars with a suitably
14218 chosen usable default char.
71a6ba55 14219
900fa1f1
GM
142202000-03-02 Gerd Moellmann <gerd@gnu.org>
14221
42f55fe0
GM
14222 * xterm.c (note_mouse_highlight): Return quickly if frame's
14223 glyph matrices have been freed.
14224
14225 * dispnew.c (free_glyphs): Block input while freeing matrices.
14226
900fa1f1
GM
14227 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14228
52283633
SM
14229 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14230 Use x_free_colors.
900fa1f1
GM
14231
14232 * dispextern.h (x_free_colors): Add prototype.
14233
14234 * xfaces.c (x_free_colors): New function.
14235 (unload_color, free_face_colors): Use it.
14236
2f950292
EZ
142372000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14238
14239 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14240
14241 * window.c [MSDOS]: Include msdos.h.
14242
54d04320
DL
142432000-03-02 Dave Love <fx@gnu.org>
14244
14245 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14246
14247 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14248 set C_OPTIMIZE_SWITCH for gcc.
14249
0ba93ac4
KH
142502000-03-02 Kenichi Handa <handa@etl.go.jp>
14251
14252 * coding.c (coding_save_composition): Be sure to allocate
14253 composition data area in coding even if there's no composition in
14254 the current run.
14255
a2bc11d4
JR
142562000-03-01 Jason Rumney <jasonr@gnu.org>
14257
14258 * w32term.c: Equivalent changes to those made to xterm.c on
14259 2000-02-25 and 2000-02-24.
14260
14261 * w32fns.c: Equivalent changes to those made to xfns.c on
14262 2000-02-25 and 2000-02-21.
14263
14264 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14265 correct line-end convention is followed.
14266
14267 * w32menu.c [HAVE_BOXES]: Remove #undef.
14268 (single_keymap_panes): Remove code for simulating checkmarks.
14269 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14270 Remove code for drawing simulated checkmarks.
14271 (w32_menu_show): make unibyte help string correctly.
14272 (add_menu_item): draw standard Windows checkmarks. Draw radio
14273 buttons as radio buttons if possible.
14274
72d19d75
GM
142752000-03-01 Gerd Moellmann <gerd@gnu.org>
14276
2df636f4
GM
14277 * sysdep.c (start_of_text): Don't define this function for NetBSD
14278 with ELF.
14279
427ec082 14280 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14281 Don't define.
14282 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14283 (LINKER): Don't undef if __NetBSD__ is defined.
14284
14285 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14286
14287 * fileio.c [__NetBSD__]: Define `unix'.
14288
72d19d75
GM
14289 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14290
ed4d0512
GM
142912000-02-29 Gerd Moellmann <gerd@gnu.org>
14292
50b1039f
GM
14293 * atimer.c (start_atimer): Don't abort when timers are stopped.
14294 (append_atimer_lists): New function.
14295 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14296 arbitrary lists of stopped and running atimers.
14297
ed4d0512
GM
14298 * atimer.c (cancel_atimer): Handle canceling an atimer when
14299 some timers are stopped.
14300
14301 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14302 after canceling it.
14303
14304 * fns.c (maybe_resize_hash_table): Handle case of new size
14305 coming out as being the same as old size.
14306
387023ee
JR
143072000-02-27 Jason Rumney <jasonr@gnu.org>
14308
14309 * makefile.nt: Add atimer.h to dependencies.
14310 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14311 * w32console.c: Only disable window system features for dispextern.h
14312 (initialize_w32_display): Build a display info for the console.
14313 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14314 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14315 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14316 as 2 button mice.
14317 * w32gui.h (struct W32FontStruct): Revert last change after change
14318 to xdisp.c.
14319 * w32menu.c (single_submenu): Set up help string.
14320 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14321 (w32_dialog_show): Set up help string.
14322 * w32term.c (w32_display_info_for_display): Remove unused function.
14323 (w32_draw_bitmap): Use pre-built bitmaps.
14324 (w32_initialize_display_info): New function to initialize parts of
14325 display info that are common to both GUI and console frames.
14326 (w32_term_init): Use w32_initialize_display_info. Do not set
14327 Vw32_num_mouse_buttons here, as it is not called for console
14328 frames. Build bitmaps for indicating truncated lines etc.
14329 (x_delete_display): Destroy pre-built bitmaps.
14330 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14331 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14332
4516715a
DL
143332000-02-27 Dave Love <fx@gnu.org>
14334
14335 * lisp.h: Add a bunch of prototypes.
14336
171ca836
KH
143372000-02-26 Kenichi Handa <handa@etl.go.jp>
14338
14339 * keyboard.c (read_char): Set `usec' correctly.
14340
4013921d
KH
143412000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14342
14343 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14344 `lambda', set reg[RRR] to the map index.
14345 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14346 reg[RRR] to 0. Otherwise, set it to -1.
14347
9244a058
GM
143482000-02-25 Gerd Moellmann <gerd@gnu.org>
14349
2df636f4 14350 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14351
18e21ce8 143522000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14353
f43d79c1
GM
14354 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14355 and contains a `:', prepend `/:'.
14356
14357 * window.c (select_window_1): If selected_window is nil,
14358 don't "swap out" the buffer's point.
14359 (Fset_window_configuration): Set selected_window to nil
14360 before calling Fselect_window.
14361 (unshow_buffer): Don't set point in buffer from window's point
14362 if another more recently selected window also shows the buffer.
14363
bed0c171
GM
143642000-02-25 Gerd Moellmann <gerd@gnu.org>
14365
449c3c52
GM
14366 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14367
f5b58615
GM
14368 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14369 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14370 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14371 New variables.
f5b58615
GM
14372 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14373 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14374 (hide_busy_cursor): New functions.
14375 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14376
14377 * minibuf.c (read_minibuf): Cancel busy-cursor.
14378
14379 * keyboard.c (command_loop_1): Call start_busy_cursor before
14380 Fcommand_execute and cancel_busy_cursor after it.
14381 (timer_check): Remove busy-cursor code.
14382 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14383 cursor timer.
14384
14385 * process.c (wait_reading_process_input): Remove busy-cursor code.
14386
14387 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14388 Fx_hide_busy_cursor.
14389
14390 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14391 Remove prototyoes.
14392 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14393
14394 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14395
14396 * xterm.c (XTread_socket): Remove busy-cursor code.
14397
4eb8436f
GM
14398 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14399 (build_frame_matrix_from_leaf_window): Put code handling
14400 glyph row's not being a slice of a frame row in #if 0.
14401 (sync_window_with_frame_matrix_rows): New function.
14402 (frame_row_to_window): New function.
14403 (mirror_line_dance): Handle copies between windows.
14404
3cb65b0e
GM
14405 * lread.c (Fload): Use `xfree' instead of `free'.
14406 (init_obarray): Use `xmalloc' instead of `malloc'.
14407
bed0c171
GM
14408 * window.c (Fset_window_buffer): Set WINDOW to the window
14409 after decoding.
2add4349
GM
14410 (coordinates_in_window): Take frame's internal border width
14411 into account.
bed0c171 14412
42088c12
GM
144132000-02-24 Gerd Moellmann <gerd@gnu.org>
14414
14415 * xterm.c (x_display_and_set_cursor): Display cursor of
14416 non-selected windows depending on the setting of
14417 cursor_in_non_selected_windows.
14418
14419 * xdisp.c (cursor_in_non_selected_windows): New variable.
14420 (syms_of_xdisp): DEFVAR_BOOL it.
14421
d1e103b2
GM
144222000-02-23 Gerd Moellmann <gerd@gnu.org>
14423
723e779c
GM
14424 * data.c (Fstring_to_number): If number is greater than what
14425 fits into an integer, return a float.
14426
d1e103b2
GM
14427 * eval.c (specbind): Remove references to
14428 keyword_symbols_constant_flag.
14429
14430 * data.c (keyword_symbols_constant_flag): Removed.
14431 (Fmakunbound, set_internal, syms_of_data): Remove references to
14432 keyword_symbols_constant_flag.
14433
14434 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14435
214f877f
KH
144362000-02-23 Kenichi Handa <handa@etl.go.jp>
14437
14438 * syntax.c (multibyte_syntax_as_symbol): New variable.
14439 (syms_of_syntax): Declare it as a Lisp variable.
14440 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14441 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14442 nonzero, treat all multibyte characters as symbol.
52283633 14443 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14444
130adcb7
EZ
144452000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14446
3cb65b0e 14447 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14448 a deleted frame.
130adcb7 14449
17cbbf95
GM
144502000-02-21 Gerd Moellmann <gerd@gnu.org>
14451
14452 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14453
14454 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14455 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14456
beb0bc36
DL
144572000-02-21 Dave Love <fx@gnu.org>
14458
14459 * frame.c (Vmouse_position_function): New variable.
14460 (Fmouse_position): Use it.
14461 (syms_of_frame): Install it.
14462
14463 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14464
1d92afcd
GM
144652000-02-20 Gerd Moellmann <gerd@gnu.org>
14466
14467 * fileio.c (Finsert_file_contents): Unbind the binding of
14468 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14469
14470 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14471 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14472 (specbind, unbind_to): Handle most common case of non-constant
14473 symbol with trivial value specially.
14474
14475 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14476
18e21ce8 144772000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14478
14479 * data.c (Fmake_variable_buffer_local): Doc fix.
14480 Init found_for_buffer to 0.
14481 (Fmake_variable_frame_local): If the variable has already
14482 been buffer-local, set the check_frame field.
14483
1d4311c3
EZ
144842000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14485
14486 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14487 produced for CODING_MODE_LAST_BLOCK requires.
14488
2dc95ddd
DL
144892000-02-18 Dave Love <fx@gnu.org>
14490
14491 * keyboard.c (echo_keystrokes): Remove declaration.
14492 (Vecho_keystrokes) New variable.
14493 (read_char, record_menu_key, read_key_sequence): Use it to allow
14494 use of float value.
14495 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14496
14497 * lread.c: Undef feature selection macros before defining.
14498
f0930f35
GM
144992000-02-18 Gerd Moellmann <gerd@gnu.org>
14500
14501 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14502 for symbols other than the symbol in question.
14503
e3d4de90
DL
145042000-02-17 Dave Love <fx@gnu.org>
14505
14506 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14507
0b378936
GM
145082000-02-17 Gerd Moellmann <gerd@gnu.org>
14509
d621caf7
GM
14510 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14511
0b378936
GM
14512 * alloc.c (enum mem_type): Compile unconditionally.
14513
3b451f74
EZ
145142000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14515
14516 * xfaces.c (tty_defined_color): Don't return faulire indication
14517 for unspecified-fg and unspecified-bg pseudo-colors.
14518
10689a01
GM
145192000-02-17 Gerd Moellmann <gerd@gnu.org>
14520
1216f5e4
GM
14521 * alloc.c (mark_object): Don't mark symbol names in pure space.
14522 (gc_sweep): Don't unmark symbol names in pure space.
14523
14524 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14525 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14526 [GC_MARK_STACK]: New defines.
427ec082 14527 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14528 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14529
14530 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14531
14532 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14533 allocate_buffer instead of xmalloc.
14534
14535 * alloc.c (toplevel): Include setjmp.h.
14536 (PURE_POINTER_P): New define.
14537 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14538 (Vdead) [GC_MARK_STACK]: New variable.
14539 (lisp_malloc): Add parameter TYPE, call mem_insert if
14540 GC_MARK_STACK is defined.
14541 (allocate_buffer): New function.
427ec082 14542 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14543 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14544 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14545 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14546 (MEM_NIL) [GC_MARK_STACK]: New define.
14547 (struct mem_node) [GC_MARK_STACK]: New structure.
14548 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14549 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14550 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14551 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14552 (mark_stack) [GC_MARK_STACK]: New functions.
14553 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14554 (clear_marks): Removed.
14555 (gc_sweep): Set free conses' car, free floats' type, free
14556 symbols' function to Vdead. Use lisp_free to free buffers.
14557 (init_alloc_once): Initialize Vdead.
14558 (survives_gc_p): Return non-zero for pure objects.
14559
14560 * alloc.c: Add comments throughout the file.
14561
2503c8b1
GM
14562 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14563 that unblocks alarms.
14564
8389e1e2
GM
14565 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14566 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14567 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14568
10689a01 14569 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14570
bfc17d18
KH
145712000-02-17 Kenichi Handa <handa@etl.go.jp>
14572
4a09dee0
KH
14573 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14574 avoid infinite error signaling. Allocate sufficient memory for
14575 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14576
2b927d02
SM
145772000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14578
14579 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14580 depends on the previous behavior.
14581
b49cb764
GM
145822000-02-16 Gerd Moellmann <gerd@gnu.org>
14583
14584 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14585
99e95407
GM
145862000-02-15 Gerd Moellmann <gerd@gnu.org>
14587
14588 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14589
14590 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14591 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14592 write(2).
14593
6ffd3cf7
RS
145942000-02-15 Richard M. Stallman <rms@gnu.org>
14595
14596 * data.c (set_internal): Don't make variable buffer-local
14597 if within a let-binding for the same buffer.
14598 (let_shadows_buffer_binding_p): New function.
14599
14600 * eval.c (specbind): For buffer-local value,
14601 record the current buffer also.
14602 (unbind_to): Cope with that change.
14603
cad53475
GM
146042000-02-15 Gerd Moellmann <gerd@gnu.org>
14605
14606 * window.c (Fsave_window_excursion): Doc fix.
14607
1aa963c8
SM
146082000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14609
14610 * syntax.c (back_comment): Make sure we only consider comment-starters
14611 of the relevant style and return -1 in case of a failure to find the
14612 beginning of the comment.
14613 (Fforward_comment): If back_comment fails, go back to the position just
14614 after the comment-end.
14615 (scan_lists): Add comment describing a very minor bug.
14616
b9b84fd3
SM
146172000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14618
14619 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14620 `completion-regexp-list' in the docstring.
14621
3a28db80
DL
146222000-02-14 Dave Love <fx@gnu.org>
14623
14624 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14625
fb4a568d
SM
146262000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14627
14628 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14629 to Emacs' syntax. Also fix the comment about set/not-set meanings
14630 since Emacs syntax is not the value 0 any more.
14631 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14632 since it's now part of RE_SYNTAX_EMACS.
14633
1063ebb5
DL
146342000-02-12 Dave Love <fx@gnu.org>
14635
52283633 14636 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14637
fb07a302
GM
146382000-02-12 Gerd Moellmann <gerd@gnu.org>
14639
14640 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14641
aaf2320c
DL
146422000-02-12 Dave Love <fx@gnu.org>
14643
14644 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14645
14646 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14647 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14648 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14649
14650 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14651
14652 * s/nextstep.h: Don't define HAVE_ALLOCA.
14653
14654 * config.in: Add vfork bits.
14655
eedf8bde
GM
146562000-02-12 Gerd Moellmann <gerd@gnu.org>
14657
14658 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14659 unwind function to undo the effect of stopping atimers.
14660
52283633 14661 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14662
14663 * atimer.c (stopped_atimers): New variable.
14664 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14665 New functions.
14666
14667 * atimer.h (stop_other_atimers, run_all_atimers)
14668 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14669
eedf8bde
GM
14670 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14671
8476c2f8
KR
146722000-02-11 Ken Raeburn <raeburn@gnu.org>
14673
14674 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14675 library may depend on jpeg.
14676 (atimer.o): Depends on atimer.c.
14677
0e85e4a3
KH
146782000-02-11 Kenichi Handa <handa@etl.go.jp>
14679
14680 * insdel.c (del_range_1): Call update_compositions.
14681 (del_range_both): Call update_compositions just once..
14682
97fa0cc8
DL
146832000-02-10 Dave Love <fx@gnu.org>
14684
14685 * xfns.c (create_frame_xic): Fix initialization of automatic
14686 aggregates for pcc.
14687
25566a3c
KH
146882000-02-09 Kenichi Handa <handa@etl.go.jp>
14689
14690 * ccl.c (CCL_MAKE_CHAR): New macro.
14691 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14692 registers by CCL_MAKE_CHAR before calling translate_char.
14693 <CCL_TranslateCharacterConstTbl> Likewise.
14694
69da54ba
DL
146952000-02-08 Dave Love <fx@gnu.org>
14696
14697 * lread.c (__EXTENSIONS__): Define.
14698
f7136ee8
GM
146992000-02-08 Gerd Moellmann <gerd@gnu.org>
14700
14701 * puresize.h (BASE_PURESIZE): Increase to 650000.
14702
7768790b
EZ
147032000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14704
14705 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14706 the help message.
14707
38fd211b
EZ
147082000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14709
14710 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14711 md, mh, mb, mr, and me to the fake termcap entry.
14712
66e4690f
KR
147132000-02-06 Ken Raeburn <raeburn@gnu.org>
14714
14715 * sound.c (sound_cleanup): Don't call device close routine if the
14716 function pointer is null.
14717
a75dfea0
AI
147182000-02-06 Andrew Innes <andrewi@gnu.org>
14719
14720 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14721 around image definitions and prototypes.
14722 (gamma_correct) [WINDOWSNT]: New prototype.
14723
14724 * w32term.c (x_make_frame_visible): Replace call to
14725 input_poll_signal with poll_for_input.
14726
14727 * window.c [WINDOWSNT]: Include w32term.h.
14728
14729 * xdisp.c [WINDOWSNT]: Include w32term.h.
14730
14731 * makefile.nt: Add dependencies on w32gui.h.
14732 (OBJ1): Include atimer.obj.
14733 ($(BLD)\atimer.obj): New dependency rule.
14734
14735 * w32.c (sigmask): New function (does nothing).
14736 (sigunblock): Ditto.
14737
14738 * frame.c [WINDOWSNT]: Include w32term.h.
14739
14740 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14741
14742 * lread.c (syms_of_lread): Fix literal newlines.
14743
14744 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14745 the string constant limit (2048 bytes) in MSVC.
14746 (main): Ditto.
14747
59ddecde
GM
147482000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14749
52283633 14750 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14751 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14752 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14753 dispatch the event.
14754
07590973
DL
147552000-02-04 Dave Love <fx@gnu.org>
14756
14757 * fileio.c: Remove some unused vars.
14758 (_GNU_SOURCE): Define (for euidaccess).
14759
14760 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14761
14762 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14763 gcpro1, gcpro2.
14764 (read_minibuf): Deal with allow_props correctly.
14765
649351f9
EZ
147662000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14767
14768 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14769
66e4690f 147702000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14771
14772 * search.c (compile_pattern): If a cache entry has a nil regexp,
14773 fill in that entry instead of clobbering a previously cached
14774 string regexp.
14775
66e4690f 147762000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14777
14778 * puresize.h (BASE_PURESIZE): Increase to 610000.
14779
d240a249
GM
147802000-02-02 Gerd Moellmann <gerd@gnu.org>
14781
14782 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14783 can GC.
14784
ca91fb26
KH
147852000-02-02 Kenichi Handa <handa@etl.go.jp>
14786
25660570
KH
14787 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14788 instead of incrementing ic directly.
14789 <CCL_WriteExprConst> Likewise.
14790 <ccl_set_expr>: Set ic to jump_address.
14791
ca91fb26
KH
14792 * fileio.c (e_write): Fix the handling of
14793 CODING_FINISH_INSUFFICIENT_SRC.
14794
2ede9689
DL
147952000-02-01 Dave Love <fx@gnu.org>
14796
14797 * editfns.c (Fpropertize): Doc fix.
14798
14799 * process.c (Fstart_process): Doc fix.
14800
14801 * eval.c: Fix various doc strings not to duplicate information
14802 from help-manyarg-func-alist.
14803
52283633 14804 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14805
14806 * doc.c (Vhelp_manyarg_func_alist): New variable.
14807 (Fdocumentation): Use it.
14808 (syms_of_doc): Define it.
14809
b6680a0e
GM
148102000-01-31 Gerd Moellmann <gerd@gnu.org>
14811
2cb750ba
GM
14812 * xterm.c (xim_open_dpy): Remove unused local variable.
14813
52283633 14814 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14815
14816 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14817 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14818
b6680a0e
GM
14819 * fns.c (sweep_weak_table): New function.
14820 (sweep_weak_hash_tables): Use it. Keep on marking until there
14821 is no more change.
14822
994c5afe
GM
148232000-01-30 Gerd Moellmann <gerd@gnu.org>
14824
14825 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14826 that XTread_socket does not crash by trying to call XNoOp on a
14827 closed display.
427ec082 14828
f00276e3
JR
148292000-01-30 Jason Rumney <jasonr@gnu.org>
14830
14831 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14832 Change selected_frame to SELECTED_FRAME ().
14833 (w32_console_mouse_position): Remove #ifndef MULE from around
14834 `insist' parameter.
14835
14836 * makefile.nt: Remove dosfns.obj.
14837
14838 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14839
14840 * w32fns.c (w32_defined_color): Check for valid frame before
14841 applying gamma correction. Eliminate dependency on frame elsewhere.
14842 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14843 (w32_to_x_font): Use resx and resy not height_in and width_in.
14844 (x_to_w32_font): Doc fix.
14845 (xlfd_strip_height): New function to strip and return font height.
14846 (w32_font_match): Compare height separately from rest of xlfd
14847 spec, using xlfd_strip_height.
14848
14849 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14850 width_in. Use w32_defined_color in place of defined_color.
14851
14852 * w32faces.c: Merge more of DOS and X specifics in preparation for
14853 merge with xfaces.c.
14854 (defined_color): Remove FIXME comment.
14855 (tty_color_name): Provide w32-specific function.
14856 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14857
14858 * w32console.c (turn_on_face, turn_off_face): Removed.
14859 (w32_face_attributes): New function.
14860 (Global_variables): Reduce scope where possible.
14861 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14862 fill attribute.
14863 (hl_mode): Don't modify text attributes.
14864 (write_glyphs): Don't do anything if len <= 0. Use
14865 w32_face_attributes to get attributes for drawing. Write
14866 terminating codes using char_attr_normal.
14867 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14868 (update_begin, update_end): Likewise.
14869 (vga_stdcolor_name): New function.
14870 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14871 (Fset_screen_color): Remove char_attr_reverse.
14872
b08e8bb2
GM
148732000-01-29 Gerd Moellmann <gerd@gnu.org>
14874
14875 * xfns.c (xic_set_preeditarea): Take window parameter and
14876 window-relative pixel-positions.
14877
14878 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14879 is its frame's selected window.
14880 (xim_instantiate_callback): Likewise.
14881
14882 * xfns.c (x_create_im): Removed.
14883 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14884 (supported_xim_styles): Renamed from supported_styles.
14885 (best_xim_style): Renamed from best_style.
14886 (create_frame_xic): Renamed from xic_create_frame.
14887 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14888
b08e8bb2
GM
148892000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14890
14891 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14892 our frames, call XFilterEvent with 2nd parameter `None'.
14893 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14894 returning XBufferOverflow.
52283633 14895 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14896 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14897 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14898 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14899 (xim_initialize, xim_close)
14900 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14901 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14902 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14903 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14904
14905 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14906 and `xim_styles'.
14907 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14908 `xic_style' and `xic_xfs'.
14909 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14910 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14911 (FRAME_XIM): Removed.
14912
14913 * xfns.c (supported_styles): New variable.
14914 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14915 (xic_create_xfontset, best_style, xic_create_frame)
14916 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14917 (xic_set_xfontset): New functions.
14918
142e109c
DL
149192000-01-28 Dave Love <fx@gnu.org>
14920
14921 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14922
14923 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14924
b02786f9
GM
149252000-01-28 Gerd Moellmann <gerd@gnu.org>
14926
d060bc9f
GM
14927 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14928 for *scratch* if it already existed.
14929
b02786f9
GM
14930 * emacs.c (USAGE): New macro.
14931 (main): Use it to display usage information.
14932
2c52d7e4
EZ
149332000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14934
14935 Support for the menu-help feature:
14936
52283633 14937 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14938
14939 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14940 part of the line to the termscript file.
14941 (IT_clear_to_end): Clear the entire line, not just its beginning.
14942 (menu_help_message, prev_menu_help_message): New variables.
14943 (IT_menu_make_room): Make room for the help_text member.
14944 (IT_menu_display): New argument disp_help; all callers changed.
14945 If disp_help is non-zero, store the help text of the active menu
14946 item in menu_help_message.
14947 (XMenuAddPane): Initialize the help_text member to NULL.
14948 (XMenuAddSelection): New argument help_text. Store it in the
14949 XMenu structure.
14950 (XMenuActivate): New argument help_callback. If the value of
14951 menu_help_message has changed since the last time, display the
14952 menu help message text while waiting for the mouse to move. Clear
14953 the echo area before exiting.
14954 (XMenuDestroy): Free the help_text member.
14955
ffe0bcd1
GM
149562000-01-27 Gerd Moellmann <gerd@gnu.org>
14957
14958 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14959 XMenuAddSelection. Pass help callback to XMenuActivate.
14960 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14961
50dbd23f
EZ
149622000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14963
14964 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14965 and EMACS_SET_USECS.
14966
f5941bf8
GM
149672000-01-26 Dave Love <fx@gnu.org>
14968
6c67ddee
DL
14969 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14970
f5941bf8
GM
14971 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14972 an error may be signalled.
14973
9e49c990
GM
149742000-01-26 Gerd Moellmann <gerd@gnu.org>
14975
fc3cb460
GM
14976 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14977 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14978
9e49c990
GM
14979 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14980
d0c037d8
GM
149812000-01-25 Gerd Moellmann <gerd@gnu.org>
14982
14983 * charset.c (Fstring): If there is a multibyte char among
14984 the args, always return a multibyte string.
14985
e12489f9
GM
149862000-01-25 Gerd Moellmann <gerd@gnu.org>
14987
14988 * sysdep.c (sys_select): Turn atimers off and on instead of
14989 recording and restoring old alarm handler
14990
14991 * process.c (toplevel): Include atimer.h.
14992 (create_process_1): Rewritten.
14993 (create_process): Use atimers instead of alarm.
14994 (wait_reading_process_input) [hpux]: Turn atimers off instead
14995 of turning off SIGALRM.
14996 (wait_reading_process_input): Turn off atimers instead off
14997 calling stop_polling.
14998
14999 * emacs.c (main): Call init_atimer.
15000
15001 * keyboard.c (toplevel): Include systime.h and atimer.h.
15002 (polling_for_input): Removed because unused.
15003 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
15004 (poll_timer): New variable.
15005 (poll_for_input, poll_for_input_1): New functions.
15006 (start_polling, stop_polling): Rewritten.
15007
15008 * keyboard.h (polling_for_input): Removed.
427ec082 15009
e12489f9
GM
15010 * atimer.h, atimer.c: New files.
15011
15012 * Makefile.in (obj): Add atimer.o.
15013 (atimer.o): New target.
15014
15015 * blockinput.h (pending_atimers): Add extern declaration.
15016 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
15017
15018 * lisp.h (popup_activated_flag): Add extern declaration.
15019
15020 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 15021 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
15022 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
15023
15024 * xterm.c (toplevel): Include atimer.h.
15025 (toolkit_scroll_bar_interaction): New variable.
15026 (Fxt_process_timeouts): Removed.
15027 (x_process_timeouts): New function.
15028 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
15029 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
15030 (x_make_frame_visible): Call poll_for_input_1 instead of
15031 input_poll_signal. Don't call alarm.
15032 (x_initialize): Install timer calling x_process_timeouts.
427ec082 15033
1e5279b9
DL
150342000-01-24 Dave Love <fx@gnu.org>
15035
6c67ddee 15036 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
15037 Don't use -cckr -- apparently not now necessary.
15038
edf6aeb8
EZ
150392000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
15040
15041 * msdos.c (IT_menu_display): Truncate long menu lines at the right
15042 screen boundary.
15043
9badad41
JR
150442000-01-23 Jason Rumney <jasonr@gnu.org>
15045
15046 * w32fns.c (w32_defined_color): Apply gamma correction before
15047 trying to map to the palette.
15048 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
15049 to w32_clear_rect.
15050
15051 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
15052 here. Callers changed to always pass real device context.
15053 (w32_draw_bitmap): Likewise.
15054 (w32_get_glyph_overhangs): Likewise.
52283633 15055 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
15056 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
15057 pfnSetScrollInfo and SetScrollRange.
15058 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
15059 back into MULE characters after decoding them.
15060 (x_get_glyph_face_and_encoding): Likewise.
15061 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
15062 GetCharABCWidthsW fails, since this is defined on Windows 9x.
15063 (x_produce_glyphs): Calculate per char metrics for a character
15064 that we know exists in default font when font_not_found_p is true.
15065
63bd786b
JR
150662000-01-22 Jason Rumney <jasonr@gnu.org>
15067
15068 * makefile.nt (intervals.obj, composite.obj): New modules.
15069 (composite.h): Added as dependency where appropriate.
15070
15071 * w32gui.h (XGCValue): New struct for emulating X GCs.
15072
15073 * w32term.h (XCharStruct): New struct for emulating X.
15074
15075 * w32console.c (turn_on_face, turn_off_face): New functions.
15076 (change_line_highlight): New prototype for new redisplay.
15077 (write_glyphs): Support multibyte text. Support faces.
15078
52283633 15079 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
15080
15081 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
15082 throughout. struct frame * in place of FRAME_PTR.
15083 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 15084 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
15085 (w32_get_arg): Renamed from x_get_arg.
15086 (Fx_file_dialog): New function.
15087 (w32_list_fonts): Check cache before asking system.
15088 (Vw32_enable_synthesized_fonts): New variable.
15089 (Vw32_enable_italics): Obsolete, removed.
15090
15091 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15092 Use SELECTED_FRAME macro.
15093
15094 * w32menu.c: Add skeleton support for help strings on menus.
15095 (add_menu_item): Native checkbox and radio support added, but not
15096 yet enabled due to bugs.
15097 (push_menu_item): Add parameters type, selection and help.
15098 Callers updated.
15099 Formatting changes to reduce unnecessary diffs with xmenu.c.
15100
15101 * w32select.c (Fw32_set_clipboard_data): Update call to
15102 find_charset_in_str.
15103
15104 * w32term.c: Complete rewrite for new redisplay based on new
15105 xterm.c with necessary sections merged back in from old w32term.c.
15106
6ffd3cf7 151072000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
15108
15109 * data.c (set_internal): Further fix in same criterion.
15110
6ffd3cf7 151112000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
15112
15113 * data.c (set_internal): Fix the criteria for whether
15114 to swap out the old cached binding.
15115
60af03f1
DL
151162000-01-19 Dave Love <fx@gnu.org>
15117
15118 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15119
f9be074f
KH
151202000-01-18 Kenichi Handa <handa@etl.go.jp>
15121
15122 * regex.c (re_compile_fastmap): While checking a range table for
15123 `charset', skip flag bits for a character class correctly.
15124
52b8dbf9
GM
151252000-01-17 Gerd Moellmann <gerd@gnu.org>
15126
d36100c9
GM
15127 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15128
52283633 15129 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
15130
15131 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 15132 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15133
15134 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15135 MENU_ITEMS_ITEM_.*.
15136 (MENU_ITEMS_ITEM_HELP): New enumerator.
15137 (push_menu_item): Add parameter HELP. Record help in menu_items.
15138 (single_menu_item, single_submenu, list_of_items): Call
15139 push_menu_item with new parameter.
15140 (single_submenu): Set help string in widget value.
15141 (menu_highlight_callback): New function.
15142 (set_frame_menubar): Call lw_create_widget with new
15143 parameter list.
15144 (xmenu_show, xdialog_show): Ditto.
15145
3139018f
GM
151462000-01-13 Gerd Moellmann <gerd@gnu.org>
15147
15148 * sound.c (Fplay_sound): Improve doc string.
15149
83c8f461
RS
151502000-01-11 Richard M. Stallman <rms@gnu.org>
15151
15152 * lisp.h (set_internal): Enter the new arg.
15153
15154 * eval.c (specbind): Record buffer-local variables specially,
15155 indicating which buffer's binding was saved.
15156 (unbind_to): Restore buffer-local variables specially
15157 in the proper buffer.
15158
15159 * data.c (set_internal): New arg BUF.
427ec082 15160
83c8f461
RS
15161 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15162 * data.c (Fset): Pass new arg to set_internal.
15163 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15164
1fab1775
GM
151652000-01-11 Gerd Moellmann <gerd@gnu.org>
15166
52283633 15167 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15168
83c8f461 151692000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15170
15171 * minibuf.c (Ftry_completion): Doc fix.
15172
7a85e4df
GM
151732000-01-11 Gerd Moellmann <gerd@gnu.org>
15174
15175 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15176 vector, too.
15177
a970dae4
AS
151782000-01-11 Andreas Schwab <schwab@suse.de>
15179
15180 * coding.c (code_convert_region): Initialize total_skip.
15181
c65d14ee
DL
151822000-01-08 Dave Love <fx@gnu.org>
15183
15184 * eval.c (Fuser_variable_p): Check customizability too.
15185
834938d2
GM
151862000-01-07 Gerd Moellmann <gerd@gnu.org>
15187
15188 * minibuf.c (Fcompleting_read): Doc fix.
15189
e0303cd6
GM
151902000-01-05 Gerd Moellmann <gerd@gnu.org>
15191
8a26744b
GM
15192 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15193 -L /usr/local/lib.
15194
e0303cd6
GM
15195 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15196 Check that input style is supported before trying to create an
15197 IC for it.
15198 (x_window): Call x_create_im.
427ec082 15199
2e471eb5
GM
152002000-01-04 Gerd Moellmann <gerd@gnu.org>
15201
560a7bd2
GM
15202 * xfns.c (current_gif_memory_src): New variable.
15203 (gif_load): Record the address of the current memory source
15204 in current_gif_memory_src.
15205 (gif_read_from_memory): Use current_gif_memory_src.
15206
f9ee84a3
GM
15207 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15208 macros statement form.
15209
d1299cde
GM
15210 * sound.c (struct sound): Renamed from struct sound_file.
15211 (struct sound): Add members `data' and `header_size'.
15212 (enum sound_attr): Add SOUND_DATA.
15213 (current_sound, current_sound_device): Variables renamed from
15214 sound_file and sound_device.
15215 (parse_sound): Parse :data.
15216 (parse_sound): Handle sound data in strings.
15217 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15218 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15219 needed header size.
15220 (wav_play, au_play): Play sounds from string data.
15221
2e471eb5
GM
15222 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15223
15224 * lisp.h: Add prototype for allocate_string_data.
15225
52283633 15226 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15227
15228 * alloc.c (mark_buffer): Remove code in #if 0.
15229 (gc_sweep): Ditto.
15230 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15231 (strings_consed): New variable.
15232 (allocate_string): Set it.
15233 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15234 (Fmemory_use_counts): Return strings_consed. Use Flist.
15235
15236 * alloc.c: General cleanup in comments etc. Remove conditional
15237 compilation for `standalone'.
15238
15239 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15240
15241 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15242 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15243 (DONT_COPY_FLAG): Removed.
15244 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15245 (struct sdata, struct sblock): New
15246 (struct string_block): Rewritten.
15247 (STRINGS_IN_STRING_BLOCK): New macro.
15248 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15249 (large_sblocks, string_blocks, string_free_list): New variables.
15250 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15251 (init_strings): Rewritten.
15252 (allocate_string, allocate_string_data, compact_small_strings)
15253 (free_large_strings, sweep_strings): New functions.
15254 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15255 (struct string_block_head, current_string_block)
15256 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15257 (STRING_PAD): Removed.
15258 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15259 (Fgarbage_collect): Don't set mark bit in large strings.
15260 (mark_object): Mark strings differently. Mark symbol names
15261 differently.
15262 (survives_gc_p): Test marked strings differently.
427ec082 15263 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15264 symbol names.
15265 (compact_strings): Removed.
15266
42608ba8
EZ
152672000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15268
15269 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15270 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15271
e0a09e1a
KH
152722000-01-04 Kenichi Handa <handa@etl.go.jp>
15273
dd9f0750 15274 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15275 in a non-empty buffer.
dd9f0750 15276
3c0f3b15 15277 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15278
44cd3ae5
GM
152792000-01-03 Gerd Moellmann <gerd@gnu.org>
15280
15281 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15282 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15283
15284 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15285
c182a70f
EZ
152862000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15287
15288 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15289 need to test for MSDOS frames.
15290
24480d5b
EZ
152912000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15292
15293 * dosfns.c (unspecified_colors): Remove.
15294 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15295 unspecified_bg.
15296 (msdos_stdcolor_name): Return strings for unspecified fore- and
15297 back-ground colors.
15298
15299 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15300 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15301 (tty_color_name): Return Lisp strings for unspecified fore- and
15302 back-ground colors.
15303 (Finternal_set_lisp_face_attribute): Remove the special treatment
15304 for Qunspecified_{f,b}g.
52283633 15305 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15306
047f434a
GM
153072000-01-03 Gerd Moellmann <gerd@gnu.org>
15308
15309 * xdisp.c (reseat_at_next_visible_line_start): Position before
15310 newline only if ending up on a newline.
15311 (next_element_from_ellipsis): Return success. Handle case of
52283633 15312 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15313 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15314 returns 0.
15315
d684c676
EZ
153162000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15317
15318 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15319 (Fcolor_supported_p): Renamed from face-color-supported-p.
15320
5fe1d139
EZ
153212000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15322
15323 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15324 list of colors renamed to tty-defined-color-alist.
15325 (tty_color_name): Pass the frame to tty-color-by-index.
15326 (realize_tty_face): tty-color-alist is now a function which
15327 accepts the frame as argument.
15328
52283633 15329 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15330
816be8b8
EZ
153312000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15332
15333 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15334 encode_terminal_code.
15335
b635321e
EZ
153362000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15337
15338 * dispnew.c (mode_line_string): Support termcap frames as well.
15339
9b784e96
GM
153402000-01-01 Gerd Moellmann <gerd@gnu.org>
15341
27189709
GM
15342 * syntax.c (Fforward_word): Undo previous change.
15343
15344 * editfns.c (Fconstrain_to_field): Don't constrain if
15345 inhibit-field-text-motion is non-nil.
15346 (Fline_beginning_position): Undo previous change.
15347 (Fline_end_position): Ditto.
15348
15349 * syntax.c (Fforward_word): Notice field boundaries only if
15350 inhibit-field-text-motion is nil.
15351
15352 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15353
15354 * editfns.c (Vinhibit_field_text_motion): New variable.
15355 (inhibit-field-text-motion): New DEFVAR_LISP.
15356 (Fline_beginning_position, Fline_end_position): Notice field
15357 boundaries only if inhibit-field-text-motion is nil.
15358
45158a91
GM
15359 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15360 All calls adjusted.
15361 (x_build_heuristic_mask): Likewise.
15362 (xbm_load_image_from_file): Change error output.
15363 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15364 (gif_load, gs_load, x_kill_gs_process): Ditto.
15365
9b784e96
GM
15366 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15367 color indices when accessing raster pixels.
63cec32f
GM
15368 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15369 one of :file or :data.
15370 (enum pbm_keyword_index): Add PBM_DATA.
15371 (pbm_format): Add :data.
15372 (pbm_image_p): Allow either :file or :data.
15373 (pbm_read_file): New function.
15374 (pbm_scan_number): Rewritten to read from string.
15375 (pbm_load): Support :data.
9b784e96 15376
2cb085db 15377See ChangeLog.8 for earlier changes.
6922b018
KH
15378
15379;; Local Variables:
49b3bd82 15380;; coding: iso-2022-7bit
6922b018 15381;; End:
2a34a036
GM
15382
15383 Copyright (C) 2001 Free Software Foundation, Inc.
15384 Copying and distribution of this file, with or without modification,
15385 are permitted provided the copyright notice and this notice are preserved.