Require fontset unconditionally.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
6637c996
JR
12002-01-05 Jason Rumney <jasonr@gnu.org>
2
f884b6f4
JR
3 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
4
6637c996
JR
5 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
6 to the left or to the right of the pointer, put it against
7 the left screen edge.
8 (x_frame_parms): Add missing braces around initializer.
9
10 * w32term.c (x_setup_relief_colors): Don't compute an image's
11 background color if it doesn't have a Pixmap.
12 (notice_overwritten_cursor): Don't depend on
13 output_cursor and updated_area. Compare pixel coordinates with
14 window's cursor pixel coordinates.
15 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
16 notice_overwritten_cursor with new arg list.
17 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
18 unconditionally.
19 (x_draw_image_relief): Use predefined macro instead of
20 constant when the value of `tool_bar_button_relief' is negative.
21
22 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
23
453c5510
RS
242002-01-04 Richard M. Stallman <rms@gnu.org>
25
26 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
27
d1d070e3
RS
282002-01-03 Richard M. Stallman <rms@gnu.org>
29
30 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
31 (Fkey_binding): Try the `keymap' property map first.
32 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
33 minor mode bindings.
34
9ec1bdb6
KS
352002-01-03 Kim F. Storm <storm@cua.dk>
36
37 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
38
308dd672
RS
392002-01-02 Richard M. Stallman <rms@gnu.org>
40
edde72f6
RS
41 * keyboard.c (read_key_sequence): Handle the keymap property
42 before minor mode maps.
43
308dd672
RS
44 * editfns.c (Fformat): Update thissize from field_width
45 based on the actual width, in the string case.
46
3c1e6b46
PJ
472002-01-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
48
03950b5b
PJ
49 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
50 when used as truth value to prevent gcc warnings.
51
3c1e6b46
PJ
52 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
53 * w32proc.c: Include <config.h>.
54
c1e11810
AS
552002-01-01 Andreas Schwab <schwab@suse.de>
56
57 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
58 not EMACS_INT, to make them compatible with DEFVAR_INT.
59 * lisp.h (max_specpdl_size): Adjust declaration.
60
1996baee
RS
612002-01-01 Richard M. Stallman <rms@gnu.org>
62
63 * print.c (print_object): Test print_escape_nonascii only for
64 unibyte strings.
65 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
66 when outputting to a multibyte buffer.
67
0065bb74
RS
682001-12-29 Richard M. Stallman <rms@gnu.org>
69
70 * print.c (print_object): In multibyte string, use hex escapes.
71 Use octal only for unibyte strings.
72 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
73
74 * lread.c (read_escape): New arg BYTEREP for reporting whether
75 escape forces unibyte or multibyte.
76 (read1): When reading a string, take note of that info.
77
b5cb6072
KR
782001-12-29 Ken Raeburn <raeburn@gnu.org>
79
80 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
81 comparison to test lisp value returned by Fget.
82
15fff01d
RS
832001-12-29 Richard M. Stallman <rms@gnu.org>
84
0065bb74
RS
85 * lisp.h (max_specpdl_size): Add declaration.
86
0d8466cc
RS
87 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
88
15fff01d
RS
89 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
90 Handle modifier bits. Correct typo in error message.
91
2fae9111
RS
922001-12-28 Richard M. Stallman <rms@gnu.org>
93
2d6c1fc0
RS
94 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
95 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
96 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
97 Update calls to Fdefine_abbrev.
98 (write_abbrev): Update for changed data format.
99 Don't list "system" abbrevs.
100 (Fexpand_abbrev): Update use count with new data format.
101 (describe_abbrev): Update for changed data format.
102 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
103
07025a55
RS
104 * config.in (HAVE_MBSINIT): Add #undef.
105
106 * strftime.c (mbsinit): Define as no-op if not available.
107
108 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
109 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
110
ce6eef6e
RS
111 * keymap.c (Flookup_key): Error message if key has wrong data type.
112 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
ade19cac
RS
113 (exclude_key): New variable.
114
539e92ad
GM
1152001-12-28 Gerd Moellmann <gerd@gnu.org>
116
0cb8bb48
GM
117 * xterm.c (x_setup_relief_colors): Don't compute an image's
118 background color if it doesn't have a Pixmap.
119
60626bab
GM
120 * xterm.c (notice_overwritten_cursor): Don't depend on
121 output_cursor and updated_area. Compare pixel coordinates with
122 window's cursor pixel coordinates.
123 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
124 notice_overwritten_cursor with new arg list.
125 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
126 unconditionally.
0cb8bb48 127
539e92ad
GM
128 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
129 height of the cursor line to the amount to scroll.
130
4e02881b
RS
1312001-12-27 Richard M. Stallman <rms@gnu.org>
132
133 * intervals.c (set_point_both): The position after an invisible,
134 intangible character is not an acceptable stopping point.
135
1ab964d7
KR
1362001-12-27 Ken Raeburn <raeburn@gnu.org>
137
138 * window.c (enlarge_window): In new preserve_before code, convert
139 CURBEG from lisp object to integer before doing arithmetic.
140
749f499f
RS
1412001-12-27 Richard M. Stallman <rms@gnu.org>
142
143 * bytecode.c (Fbyte_code): Undo previous change.
144
b5d9aaba
KS
1452001-12-26 Kim F. Storm <storm@cua.dk>
146
147 * keyboard.c (record_char): Ignore duplicate help-echo events only
148 separated by mouse-movement. When tracking mouse, only record
149 first and last mouse-movement event in same window.
150 Don't record mouse-movement events in keyboard macros.
151
d0fd26dd
RS
1522001-12-25 Richard M. Stallman <rms@gnu.org>
153
b4c45162
RS
154 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
155 (Fenlarge_window): New arg PRESERVE_BEFORE.
156
d0fd26dd
RS
157 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
158 instead of Fstring_as_unibyte.
159
c95eaa61
PJ
1602001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
161
162 The following changes remove mocklisp support:
163
164 * mocklisp.h, mocklisp.c: Files removed.
165
166 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
167 `Qmocklisp' and `Qmocklisp_arguments'.
168 Remove prototype of syms_of_mocklisp.
169
170 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
171 files.
172
173 * callint.c: Do not include mocklisp.h.
174 (Fcall_interactively): Do not test for mocklisp case.
175
176 * eval.c: Remove variables `Qmocklisp_arguments',
177 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
178 ml_apply.
179 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
180 not test for mocklisp case.
181 (Fwhile): Remove unused variable `tem'.
182 (syms_of_eval): Remove variable `moclisp-arguments'.
183
184 * data.c (wrong_type_argument): Remove mocklisp case.
185
186 * doc.c (Fdocumentation): Remove mocklisp case.
187
188 * emacs.c (main): Do not call syms_of_mocklisp.
189
31877e0a
RS
1902001-12-21 Richard M. Stallman <rms@gnu.org>
191
192 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
193 to the left or to the right of the pointer, put it against
194 the left screen edge.
195
e2c3786a
EZ
1962001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
197
198 * Makefile.in (distclean): Remove .gdbinit if we are building
199 outside the source tree.
200
c513fc03
EZ
2012001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
202
bf794306
EZ
203 * w32.c (emacs_root_dir): New function.
204
205 * msdos.c (emacs_root_dir): New function.
206
207 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
208 of the current drive as the fallback for default_directory.
209
62582985
EZ
210 * dired.c (file_name_completion): Run the elements of
211 completion-ignored-extensions through ENCODE_FILE.
212
c513fc03
EZ
213 * lisp.h (scmp): Remove prototype, since it's now a static
214 function private to dired.c.
215
3509a04c
RS
2162001-12-18 Richard M. Stallman <rms@gnu.org>
217
218 * dired.c (scmp): Function moved from minibuf.c.
219 Delete multibyte handling--used only on encoded strings.
220
221 * minibuf.c (scmp): Function moved to dired.c.
222
223 * fns.c (merge): Add QUIT call.
224
1e9a6186
DL
2252001-12-18 Dave Love <fx@gnu.org>
226
227 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
228 language/georgian.el.
229
e4e34e31
EZ
2302001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
231
232 * Makefile.in (lisp, shortlisp): Synchronize with changes to
233 lisp/Makefile.in:DONTCOMPILE.
234
4521d1fc
PJ
2352001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
236
7c75be36
PJ
237 * xdisp.c (window_box_height): Do not return negative values.
238 From Gerd Moellmann <gerd@gnu.org>.
239
4521d1fc
PJ
240 * keyboard.c (head_table): Add missing braces around initializer.
241
242 * term.c (keys): Likewise.
243
244 * xfns.c (x_frame_parms, visual_classes): Likewise.
245
93dec019
SS
2462001-12-17 Sam Steingold <sds@gnu.org>
247
248 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
249 patch (COMPOSING_P, not COMPOSING).
250
905cc05a
RS
2512001-12-17 Richard M. Stallman <rms@gnu.org>
252
2ed06289
RS
253 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
254
0e79d667
RS
255 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
256 before calling decode_coding.
257
258 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
259
260 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
261 instead of only for COMPOSITION_DISABLED.
262
82a7ab23
RS
2632001-12-16 Richard M. Stallman <rms@gnu.org>
264
d75bec6a
RS
265 * alloc.c (pure_alloc): After overflow, allocate just a small block.
266
52dcb476
RS
267 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
268
82a7ab23
RS
269 * buffer.h (struct buffer): New field `display_error_modiff'.
270 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
271
272 * window.c (Frecenter): Clear display_error_modiff field.
273
274 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
275 Call redisplay_window, but not if display_error_modiff field says no.
276 (redisplay_window_error): New function.
277 (displayed_buffer): New variable.
278 (redisplay_internal, redisplay_windows): Call the new functions
279 instead of redisplay_window directly.
280
4d0fa4f3
RS
2812001-12-15 Richard M. Stallman <rms@gnu.org>
282
283 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
284
493faf20
AI
2852001-12-14 Andrew Innes <andrewi@gnu.org>
286
325111e9
AI
287 * makefile.w32-in (EMACSLOADPATH): Define.
288 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
289 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 290
4971e491
EZ
2912001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
292
397b3b50 293 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
294 parameter have a numeric value all the time.
295
296 * w32fns.c (x_report_frame_params): Likewise.
297
d911a0fa
RS
2982001-12-12 Richard M. Stallman <rms@gnu.org>
299
300 * fileio.c (Fwrite_region): Doc fix.
301
302 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
303 (redisplay_internal): Call clear_image_cache only for window terminals.
304
201c831a
GM
3052001-12-12 Gerd Moellmann <gerd@gnu.org>
306
307 * xdisp.c (move_it_vertically_backward): Change heuristic
308 for the case that we didn't move far enough initially.
309
310 * window.c (Frecenter): Simplify computation in the case of window
311 system frames and ARG < 0; use window_box_height.
312
34e39c95
RS
3132001-12-11 Richard M. Stallman <rms@gnu.org>
314
315 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
316 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
317
d77fbc16
AI
3182001-12-11 Andrew Innes <andrewi@gnu.org>
319
320 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
321 arg is negative.
322
61e3b944
RS
3232001-12-11 Richard M. Stallman <rms@gnu.org>
324
325 * m/hp800.h: Split the __hpux conditional into the parts
326 that are right for GNU/Linux too and the parts that are not.
327 Use the former if GNU_LINUX.
328 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
329
330 * s/gnu-linux.h (GNU_LINUX): Defined.
331
70da46c3
PJ
3322001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
333
334 * macros.c, msdos.c, w16select.c: Change doc-string comments to
335 `new style' [w/`doc:' keyword].
336
8af01033
JR
3372001-12-10 Jason Rumney <jasonr@gnu.org>
338
339 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
340 before using.
341
7363986a
PJ
3422001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
343
344 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
345 keyword].
346
d9e6c4b1
EZ
3472001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
348
d20fc48a
EZ
349 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
350
d9e6c4b1
EZ
351 * s/hpux10.h (srand48): Don't undefine.
352
f1a85b89
JR
3532001-12-09 Jason Rumney <jasonr@gnu.org>
354
355 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
356 comment to explain where the struct came from.
357 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
358 (add_menu_item): Process pop-up menus first to avoid memory leak.
359 (add_menu_item, w32_menu_display_help): Use `help' field as
360 Lisp_Object.
361 (w32_free_submenu_strings): Only free owner-drawn strings.
362
3a62677f
PJ
3632001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
364
72244db2
PJ
365 * COPYING: Moved back.
366
3a62677f
PJ
367 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
368 Add parentheses around && within ||.
369
370 * indent.c (compute_motion): Likewise.
371
372 * intervals.c (merge_properties_sticky): Likewise.
373
374 * coding.c (setup_coding_system, shrink_encoding_region)
375 (Fdecode_sjis_char): Likewise.
376
9d113d9d
AS
3772001-12-07 Andreas Schwab <schwab@suse.de>
378
b8523839
AS
379 * xdisp.c (display_mode_element): Don't read past end of string if
380 it ends with '%'.
381
9464dea4
AS
382 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
383 can hold.
384
9d113d9d
AS
385 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
386 from most_positive_fixnum and most_negative_fixnum, resp., and
387 type changed to Lisp_Object.
388 (syms_of_data): DEFVAR_LISP them.
389
70ec1377
RS
3902001-12-07 Richard M. Stallman <rms@gnu.org>
391
392 * callproc.c (init_callproc): Set Vdata_directory based on the source
393 location whenever Emacs was run uninstalled.
394
92f7dd37
PE
3952001-12-06 Paul Eggert <eggert@twinsun.com>
396
397 * config.in (HAVE_WORKING_VFORK): New #undefs.
398 * process.c (create_process):
399 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
400 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
401 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
402 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
403 * m/intel386.h (HAVE_VFORK): Likewise.
404 * m/mips-siemens.h (HAVE_VFORK): Likewise.
405 * m/mips.h (HAVE_VFORK): Likewise.
406 * s/freebsd.h (vfork): Remove #define.
407 * s/lynxos.h (HAVE_VFORK): Remove #undef.
408 * s/usg5-4-2.h: Fix comment about vfork.
409
c93674bb
RS
4102001-12-06 Richard M. Stallman <rms@gnu.org>
411
412 * s/hpux10.h (random): Add undef.
413 (HAVE_RANDOM): Define it just once.
414
59b59892
SM
4152001-12-06 Stefan Monnier <monnier@cs.yale.edu>
416
417 * eval.c: Undo last change: the standard syntax is not wanted.
418
c6ea2775
EZ
4192001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
420
421 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
422 scroll bars of the frame before deleting the frame itself. If the
423 frame has a widget, delete the frame with XtDestroyWidget, and do
424 not call XDestroyWindow before that.
425
91175673
KS
4262001-12-06 Kim F. Storm <storm@cua.dk>
427
428 * xfns.c (x_report_frame_params): Return actual fringe widths.
429
430 * w32fns.c (x_report_frame_params): Return actual fringe widths.
431
e0fead5d
AI
4322001-12-05 Andrew Innes <andrewi@gnu.org>
433
434 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
435 excessively large.
436
437 * insdel.c (make_gap_larger): New function.
438 (make_gap_smaller): New function.
439 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
440 make_gap_smaller if arg is negative.
441
c186cdb3
SM
4422001-12-04 Stefan Monnier <monnier@cs.yale.edu>
443
444 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
445 Pass a dummy argument when calling interrupt_signal.
446 (parse_menu_item): Mark disabled items before checking for empty def.
447 (read_char_minibuf_menu_prompt): Make safety more visible.
448 (read_key_sequence): Add a `first_unbound' variable.
449 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
450 unbound prefix as soon as we can detect it.
451
452 * doc.c (Fsnarf_documentation): Add prototype.
453 (get_doc_string): Handle negative arguments.
454 (Fdocumentation): Use AREF and ASIZE.
455 Move the calls to get_doc_string to a single place.
456 Don't confuse an interactive-spec for a docstring reference.
457 (Fdocumentation_property): Take advantage of the fact that
458 get_doc_string now ignores the sign of the docstring position.
459
460 * eval.c: Use standard syntax for usage in docstrings.
461
58cfce98
PJ
4622001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
463
c186cdb3 464 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 465
62854fe2
PJ
4662001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
467
468 * xterm.c (x_draw_image_relief): Use predefined macro instead of
469 constant when the value of `tool_bar_button_relief' is negative.
470
656f46bb
RS
4712001-12-02 Richard M. Stallman <rms@gnu.org>
472
473 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
474 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
475
476 * fileio.c (read_non_regular): Delete Fsignal call.
477
036e218d
SM
4782001-12-01 Stefan Monnier <monnier@cs.yale.edu>
479
480 * lisp.h (run_hook_list_with_args): Undo last change.
481
7ddb2c16
GM
4822001-12-01 Gerd Moellmann <gerd@gnu.org>
483
484 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
485
ace9b298
JR
4862001-12-01 Jason Rumney <jasonr@gnu.org>
487
90647b07
JR
488 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
489
490 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
491 [!WM_MOUSELEAVE]: Define.
492
ace9b298
JR
493 * w32menu.c (current_popup_menu, get_menu_item_info):
494 (set_menu_item_info): New vars.
495 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
496 (w32_menu_show): Set current_popup_menu.
497 (add_menu_item): Allocate new strings for owner-drawn menu items
498 and help strings.
499 Use owner-draw for disabled menu items again.
500 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
501 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
502
503 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
504 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
505 <WM_EXITMENULOOP>: Free menu strings.
506 <WM_MOUSELEAVE>: Stop tracking mouse.
507 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
508
509 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
510 and mouse face.
511
a9549909 5122001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
513
514 The following changes add left-fringe and right-fringe
515 frame parameters to adjust fringe widths, or remove one or
516 both fringes.
036e218d 517
9fbc32aa
KS
518 * frame.h (struct frame): Remove trunc_area_pixel_width and
519 trunc_area_cols fields.
520 (Qleft_fringe, Qright_fringe): Declare.
521 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
522
523 * frame.c (Qleft_fringe, Qright_fringe): New vars.
524 (syms_of_frame): Initialize them.
525
526 * window.c (coordinates_in_window): Handle separate left and right
527 fringe widths.
528
529 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
530 and fringe_cols fields.
531 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
532 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
533 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
534 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
535 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
536 (x_compute_fringe_widths): Add prototype.
537
538 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
539 fill fringe evenly with small dashes.
540 (x_draw_fringe_bitmap): Clear background if necessary. Align and
541 clip the new ZV bitmap to avoid jitter between rows.
542 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
543 background. Don't draw fringe bitmaps if fringe width is zero.
544 (x_compute_fringe_widths): New function.
545 (x_new_font, x_set_window_size_1): Use it.
546
547 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
548 (x_set_frame_parameters): Process Process `font' parameter before other
549 parameters as fringe widths depend on it.
550 (x_set_fringe_width): New function.
551 (x_figure_window_size): Use x_compute_fringe_widths.
552 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
553 parameters.
554
555 * widget.c (set_frame_size): Use x_compute_fringe_widths.
556 (EmacsFrameSetCharSize): Ditto.
557
558 * w32term.h: Merged changes from xterm.h.
559 * w32term.c: Merged changes from xterm.c.
560 * w32fns.c: Merged changes from xfns.c.
561
0142178a
PJ
5622001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
563
564 * COPYING: Removed.
565
d4824a5d
DL
5662001-11-29 Dave Love <fx@gnu.org>
567
568 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
569 extra extra slot.
570 (detect_coding_mask): Fix call of detect_coding_iso2022.
571
b1356234
PJ
5722001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
573
574 * fileio.c (file-name-coding-system)
575 (default-file-name-coding-system): Doc fix (links to referenced
576 variables added).
577
3ce081f5
SM
5782001-11-28 Stefan Monnier <monnier@cs.yale.edu>
579
99e380ee
SM
580 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
581 Add dummy uses of gcproN variables.
582
3ce081f5 583 * category.c (describe_category, describe_category_1)
2ad56c09 584 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
585 (syms_of_category): Don't defsubr Sdescribe_categories.
586
66458f32
RS
5872001-11-28 Richard M. Stallman <rms@gnu.org>
588
589 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
590
591 * Makefile.in (lispdir): New variable, referring to build dir.
592 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
593
59a86c99
AI
5942001-11-28 Andrew Innes <andrewi@gnu.org>
595
596 * w32menu.c (w32_menu_display_help): Actually add the new argument
597 OWNER.
598
eb77a5f4
JR
5992001-11-28 Jason Rumney <jasonr@gnu.org>
600
601 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
602 menu items. From David Ponce <dponce@wanadoo.fr>.
603 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
604 conditionally.
605 (w32_menu_display_help): New argument OWNER. Rewritten to store a
606 help event in the owner frame's keyboard buffer.
607
608 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
609 (Fx_show_tip): Don't subtract last width from row width.
610
611 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
612 (w32_read_socket): Use EQ to compare frames.
613
bb313871
GM
6142001-11-28 Gerd Moellmann <gerd@gnu.org>
615
616 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
617 OVERLAPS_P.
618
55b43a63
PJ
6192001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
620
6052529b
PJ
621 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
622 `gcpro3' and `gcpro4'.
623
3ce081f5
SM
624 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
625
6262001-11-28 Stefan Monnier <monnier@cs.yale.edu>
627
628 * ccl.c: Use AREF and ASIZE.
629
6302001-11-27 Stefan Monnier <monnier@cs.yale.edu>
631
632 * lisp.h (run_hook_list_with_args): Remove.
633 (LIST_END_P): Fix call to wrong_type_argument.
634 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 635
111ed14e
SM
6362001-11-26 Stefan Monnier <monnier@cs.yale.edu>
637
9fabb2f5
SM
638 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
639 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
640
641 * eval.c: Use AREF and ASIZE.
642 (Ffetch_bytecode): Add the file name to the error message.
643
644 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
645 which match the end of the file-name.
646 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
647 is not a valid env var, but leave it as is instead.
648
111ed14e
SM
649 * keymap.c (access_keymap): Handle t bindings like nil bindings.
650 Make nil bindings in char-tables transparent.
651 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
652
2fa0eedf
RS
6532001-11-26 Richard M. Stallman <rms@gnu.org>
654
d1420435
RS
655 * textprop.c (set_text_properties_1): Allow START, END in either order.
656 Do nothing if range is empty.
657
2fa0eedf
RS
658 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
659
ebcbef4e
RS
660 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
661 (clean): Not here.
662
5c131048
SM
6632001-11-25 Stefan Monnier <monnier@cs.yale.edu>
664
665 * textprop.c (set_text_properties_1): Clearly mark that the
666 interval should not be empty.
667
668 * intervals.c (graft_intervals_into_buffer):
669 Don't call set_text_properties_1 on an empty interval.
670
96d276c3
RS
6712001-11-25 Richard M. Stallman <rms@gnu.org>
672
6108b49c
RS
673 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
674
96d276c3
RS
675 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
676 don't lose the data in it.
677
5eea19a4
RS
6782001-11-25 Juanma Barranquero <lektu@terra.es>
679
680 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
681
682 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
683
684 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
685
438e57dd
SM
6862001-11-25 Stefan Monnier <monnier@cs.yale.edu>
687
688 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
689
c88e5347
EZ
6902001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
691
692 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
693 Niemitalo <kon@iki.fi>.
694
59ce1461
JR
6952001-11-25 Jason Rumney <jasonr@gnu.org>
696
697 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
698
699 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
700 (Fx_show_tip): Block input during frame creation.
701 (Fx_show_tip, Fx_hide_tip): Enable.
702
8727d588
RS
7032001-11-24 Richard M. Stallman <rms@gnu.org>
704
705 * lread.c (Fload): Detect recursive load error for more than 3
706 nestings of the same file.
707 (Vrecursive_load_depth_limit): Variable deleted.
708 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
709
cc63037e
JR
7102001-11-24 Jason Rumney <jasonr@gnu.org>
711
712 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
713 mouse position if either left or top is not specified.
714
715 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
716 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
717 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
718 (my_create_tip_window): Assign tip_window.
719 (x_create_tip_frame): Use same defaults as X.
720 (compute_tip_xy): Remove unused variable. Use full screen width.
721 (Fx_show_tip): Do not double height. Call ShowWindow directly.
722
723 * w32term.c (x_after_update_window_line): Doc fix.
724 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
725 frames.
726 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
727
728 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
729 for all Windowed systems.
730
deece6f5
EZ
7312001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
732
733 * msdos.c (IT_clear_screen): If the frame's faces are not yet
734 realized, use the initial screen colors to clear the screen.
735
1b944d9c
PJ
7362001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
737
28ff4293
PJ
738 * textprop.c (Fset_text_properties): Remove unused variables
739 `unchanged', `prev_changed', `s' and `len'.
740
56167cc5
PJ
741 * search.c (Freplace_match): Remove unused variable `inslen'.
742
1b944d9c
PJ
743 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
744
ca56d953
JR
7452001-11-22 Jason Rumney <jasonr@gnu.org>
746
747 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
748 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
749 (my_create_tip_window): New function.
750 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 751 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 752
33399dce
JR
7532001-11-20 Jason Rumney <jasonr@gnu.org>
754
755 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
756 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
757
758 * w32fns.c (Vw32_system_coding_system): Remove.
759 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
760
9b46de40
SM
7612001-11-19 Stefan Monnier <monnier@cs.yale.edu>
762
6710ea06
SM
763 * fileio.c (Fwrite_region): Move choose_write_coding_system to
764 after build_annotations.
765
a395ef6a
SM
766 * syntax.c (describe_syntax): Add dummy arg.
767 (describe_syntax_1): Update call to describe_vector.
768
769 * category.c (describe_category): Add dummy arg.
770 (describe_category_1): Update call to describe_vector.
771
772 * keymap.c (Fdescribe_vector): Add `describer' parameter.
773 (describe_command, describe_translation): Add dummy second param.
774 (describe_map): Call elt_describer with two arguments.
775 (describe_vector_princ): Add `fun' parameter.
776 Call it instead of the hardcoded `princ'.
777 (describe_vector): Add arg `args'.
778 Pass it as a new second argument to elt_describer.
779
780 * keymap.h (describe_vector): Update prototype.
781
9b46de40
SM
782 * frame.c: Don't include keymap.h any more.
783 (keys_of_frame): Remove.
784
785 * lisp.h (keys_of_frame): Remove declaration.
786
787 * emacs.c (main): Don't call `keys_of_frame' any more.
788
aff37336
SS
7892001-11-14 Andreas Schwab <schwab@suse.de>
790
791 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
792 if defined, 0 otherwise.
9b46de40 793 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
794 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
795
b9937f07
RS
7962001-11-19 Richard M. Stallman <rms@gnu.org>
797
798 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
799
2cd23960
JR
8002001-11-18 Jason Rumney <jasonr@gnu.org>
801
802 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
803 (x_draw_bar_cursor): If the background color of the glyph under
804 the cursor equals the frame's cursor color, use the glyph's
805 foreground color for drawing the bar cursor.
806 (x_after_update_window_line): Clear internal border in different
807 circumstances.
808 (w32_set_vertical_scroll_bar): Check for width and height > 0.
809 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
810 (x_set_glyph_string_background_width):
811 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
812 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
813 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
814 if cursor_in_non_selected_windows is false.
9b46de40 815 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
816 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
817 Notice if cursor gets overwritten.
818 (notice_overwritten_cursor): Renamed from
819 note_overwritten_text_cursor. Rewritten to take glyph widths
820 into account, and to take X positions as parameters.
821 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
822 around call to x_draw_glyphs.
823 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
824 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
825 color to use for image glyph reliefs.
826 (x_draw_image_relief): Accept zero tool_bar_button_relief.
827 (glyph_rect): Remove unused variable `area'.
828
829 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
830 some items.
831 (x_set_internal_border_width): Set frame garbaged when window
832 doesn't exist yet.
833 (Fx_create_frame): Accept zero tool_bar_button_relief.
834 (x_clear_image_1, four_corners_best, image_background)
835 (image_background_transparent): New functions.
836 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
837 (gs_format): Add `:background' entry.
838 (lookup_image): Set IMG's background color if specified.
839 (pbm_load, xbm_load_image, png_load): Set IMG's background field
840 when appropriate.
841 (x_clear_image_1): Reset `background_valid' and
842 `background_transparent_valid' fields.
843 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
844 calculating it here. Set IMG's background_transparent field.
845 (enum xpm_keyword_index): Add XPM_BACKGROUND.
846 (enum png_keyword_index): Add PNG_BACKGROUND.
847 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
848 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
849 (enum gif_keyword_index): Add GIF_BACKGROUND.
850 (enum gs_keyword_index): Add GS_BACKGROUND.
851 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
852 Pre-calculate image background color where necessary.
9b46de40
SM
853 (x_create_x_image_and_pixmap, xbm_load, gs_load):
854 Use display info's n_cbits entry for screen depth.
2cd23960
JR
855 (Fx_show_tip): Remove unused variables `buffer', `top',
856 `left', `max_width' and `max_height'.
857
858 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
859
a4184c1c
GM
8602001-11-18 Gerd Moellmann <gerd@gnu.org>
861
862 * puresize.h (BASE_PURESIZE): Increase to 750000.
863
f6fa0866
PJ
8642001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
865
866 * frame.c (Fframe_live_p): Doc fix.
867
f4ca4b00
RS
8682001-11-18 Richard M. Stallman <rms@gnu.org>
869
870 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
871 (message_dolog_marker3): New static variables hold three markers.
872 (syms_of_xdisp): Initialize and staticpro them.
873 (message_dolog): Use message_dolog_marker1..3 instead of
874 allocating markers each time. Unchain them when done.
875
f4e25f94
RS
8762001-11-17 Richard M. Stallman <rms@gnu.org>
877
878 * doc.c (Fsnarf_documentation): Doc fix.
879
91c153e2
AS
8802001-11-17 Andreas Schwab <schwab@suse.de>
881
882 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
883
65b7d3e7
RS
8842001-11-17 Richard M. Stallman <rms@gnu.org>
885
886 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
887
6b5f6311
JR
8882001-11-17 Jason Rumney <jasonr@gnu.org>
889
890 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
891
be676094
GM
8922001-11-17 Gerd Moellmann <gerd@gnu.org>
893
894 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
895 with invalid position.
896
032a857d
RS
8972001-11-16 Richard M. Stallman <rms@gnu.org>
898
899 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
900
901 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
902 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
903 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
904
905 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
906
b6270150
SM
9072001-11-16 Stefan Monnier <monnier@cs.yale.edu>
908
909 * fileio.c (build_annotations): Split off the tail.
910 (build_annotations_2): New fun. Extracted from build_annotations.
911 (Fwrite_region): Split the call to build_annotations into two
912 calls to build_annotations and build_annotations_2.
913
792e5cbd
PJ
9142001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
915
98cbb9fa
PJ
916 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
917 clear_waiting_for_input with argument.
918
919 * xterm.h (x_update_cursor): Remove duplicated prototype.
920
b6270150 921 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 922
ea904403 923 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 924
ea904403 925 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 926
fa336b91
SM
9272001-11-16 Stefan Monnier <monnier@cs.yale.edu>
928
929 * fileio.c (choose_write_coding_system): New fun, extracted
930 from Fwrite_region.
931 (Fwrite_region): Use it.
932
933 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
934 (funcall_lambda, run_hook_with_args): Make static and add prototype.
935 (ml_apply, find_handler_clause): Add prototype.
936
077907d4
EZ
9372001-11-16 Eli Zaretskii <eliz@gnu.org>
938
aa2af83a
EZ
939 * config.in: Add #undef HAVE_COFF_H.
940
077907d4
EZ
941 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
942 Required for ISC 4.1.
943
1756e2fb
EZ
9442001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
945
946 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
947 Andrew Wiseman <a.wiseman@btclick.com>.
948
06e8f738
KS
9492001-11-16 Kim F. Storm <storm@cua.dk>
950
951 The following changes are made to clean up the various internal
952 references to the fringes to actually use the term `fringe' for
953 them. Previously, they were called `flags areas', `bitmap areas',
954 `left/right side of windows', or implicitly as `flags' or
955 `bitmaps':
956
957 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
958 Comments fixed. Use renamed symbols.
fa336b91 959
06e8f738 960 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 961
06e8f738
KS
962 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
963 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
964 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 965
06e8f738 966 * msdos.c: Comment fix.
fa336b91 967
06e8f738 968 * w32fns.c: Use renamed symbols.
fa336b91 969
06e8f738
KS
970 * w32term.c: Comment fixes. Use renamed symbols.
971 (fringe_bitmap_type): Renamed from bitmap_type.
972 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
973 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
974 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 975
06e8f738
KS
976 * w32term.h: Comment fixes. Use renamed symbols.
977 (fringes_extra): Renamed from flags_areas_extra.
978 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
979 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
980 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
981 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
982 (FRAME_X_LEFT_FRINGE_WIDTH):
983 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
984 (FRAME_X_RIGHT_FRINGE_WIDTH):
985 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
986
06e8f738 987 * widget.c: Use renamed symbols.
fa336b91 988
06e8f738
KS
989 * window.c: Comment fixes. Use renamed symbols.
990 (coordinates-in-window-p): Doc fix.
fa336b91 991
06e8f738 992 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 993
06e8f738 994 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 995
06e8f738 996 * xfns.c: Use renamed symbols.
fa336b91 997
06e8f738
KS
998 * xterm.c: Comment fixes. Use renamed symbols.
999 (fringe_bitmap_type): Renamed from bitmap_type.
1000 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
1001 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
1002 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
1003
1004 * xterm.h: Comment fixes. Use renamed symbols.
1005 (fringes_extra): Renamed from flags_areas_extra.
1006 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
1007 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
1008 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
1009 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
1010 (FRAME_X_LEFT_FRINGE_WIDTH):
1011 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
1012 (FRAME_X_RIGHT_FRINGE_WIDTH):
1013 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 1014
9ce647f4
JR
10152001-11-15 Jason Rumney <jasonr@gnu.org>
1016
1017 * w32menu.c (add-menu-item): Make help_echo and radio buttons
1018 work for most menu items. From David Ponce
1019 <david.ponce@wanadoo.fr>.
1020
9b784ab8
GM
10212001-11-15 Gerd Moellmann <gerd@gnu.org>
1022
9f7e52b4
GM
1023 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
1024 Some x_set_* function expect to be called even if old and new
1025 value are equal.
1026
1027 * xdisp.c (build_desired_tool_bar_string): Accept zero
1028 tool_bar_button_relief.
1029
1030 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
1031
1032 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 1033
34e5d0af
GM
1034 * xterm.c (x_draw_bar_cursor): If the background color of the
1035 glyph under the cursor equals the frame's cursor color, use
1036 the glyph's foreground color for drawing the bar cursor.
1037
9b784ab8
GM
1038 * dispnew.c (direct_output_forward_char): Fix character/byte
1039 position comparison.
1040
89512fcd
MB
10412001-11-15 Miles Bader <miles@gnu.org>
1042
1043 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
1044 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
1045 Update arguments to find_field.
1046 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
1047 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
1048 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
1049 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
1050
7d18891d
RS
10512001-11-14 Richard M. Stallman <rms@gnu.org>
1052
d2936d21
RS
1053 * editfns.c (Fpropertize): Allow call with 1 arg.
1054
7d18891d
RS
1055 * dispextern.h (image_background, image_background_transparent):
1056 Conditionalize on HAVE_X_WINDOWS.
1057
10582001-11-13 Richard M. Stallman <rms@gnu.org>
1059
1060 * print.c (Fprin1_to_string): Doc fix.
1061
1062 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
1063
1064 * floatfns.c (Fceiling, Ffloor): Doc fixes.
1065
1066 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
1067
1068 * fileio.c (Ffile_accessible_directory_p): Doc fix.
1069
1070 * eval.c (syms_of_eval): Doc fix.
1071
1072 * coding.c (syms_of_coding): Doc fix.
1073
1074 * doc.c (Fsnarf_documentation): Doc fix.
1075
1076 * dispnew.c (syms_of_display): Doc fix.
1077
1078 * category.c (Fget_unused_category): Doc fix.
1079
1080 * buffer.c (syms_of_buffer): Doc fixes.
1081
9474c847
EZ
10822001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
1083
1084 * print.c (prin1, print): Doc fix.
1085
e3059a5d
PJ
10862001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1087
2b6f3c2b 1088 * fontset.h: Remove declarations of variables
e3059a5d
PJ
1089 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
1090
1091 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
1092 `Vclip_large_size_font'.
1093
b3700ae7
JR
10942001-11-13 Jason Rumney <jasonr@gnu.org>
1095
1096 * w32fns.c: Doc fix.
1097
eae936e2
PJ
10982001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1099
4bb962be
PJ
1100 * xfaces.c (Fface_attributes_as_vector): Doc fix.
1101
0a332240
PJ
1102 * w32fns.c (Fx_synchronize): Reindent.
1103
ddb67bdc
PJ
1104 * fns.c: Doc fix.
1105
3467c402
PJ
1106 * emacs.c: Doc fix.
1107
1108 * coding.c: Doc fix.
1109
6e1b91d7
PJ
1110 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
1111 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
1112 `new style' [w/`doc:' keyword].
1113
f6e34773
PJ
1114 * xmenu.c (x-popup-menu): Reindent.
1115 (x-popup-dialog): Likewise.
1116
fa336b91 1117 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 1118
c2552f79
PJ
1119 * xdisp.c (Fdump_tool_bar_row): Reindent.
1120
94c7167b
PJ
1121 * minibuf.c (Fminibuffer_complete_word): Reindent.
1122 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 1123 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
1124 (Fminibuffer_message): Likewise.
1125
462a5e3a
PJ
1126 * fns.c (Freverse): Reindent.
1127
b8de5714
PJ
1128 * eval.c (Fif): Reindent.
1129 (Fand): Likewise.
1130
deb8e082
PJ
1131 * editfns.c (Fuser_real_login_name): Reindent.
1132 (Finsert_buffer_substring): Likewise.
1133 (Fcompare_buffer_substrings): Likewise.
1134 (Fsubst_char_in_region): Likewise.
1135
bacf09b4
PJ
1136 * dispnew.c (Fsit_for): Reindent.
1137 (Fframe_or_buffer_changed_p): Likewise.
1138 (Finternal_show_cursor_p): Likewise.
1139 (syms_of_display): Likewise.
1140
eae936e2
PJ
1141 * alloc.c (Flist): Reindent.
1142 (Fvector): Likewise.
1143
1c1d3d69
RS
11442001-11-12 Richard M. Stallman <rms@gnu.org>
1145
1146 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1147 LeaveNotify events. Only FocusIn and FocusOut do that now.
1148 (x_display_and_set_cursor): Do display hollow cursors in active
1149 minibuffer windows when they are not selected.
1150
b6f4c7ba
JR
11512001-11-12 Jason Rumney <jasonr@gnu.org>
1152
1153 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1154 * w32term.c: Change doc-string comments to `new style'.
1155 [w/`doc:' keyword]. Doc fixes.
1156
1157 * w32fns.c: Don't define max.
1158 (Fx_open_connection): Only execute once.
1159
a89f435d
PJ
11602001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1161
1162 * ccl.c: Change macros to use do-while block instead of if-else.
1163 Use braces to follow GNU Coding Standards.
1164
a4cd0cd7
RS
11652001-11-11 Richard M. Stallman <rms@gnu.org>
1166
eafb659a
RS
1167 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1168
1169 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1170
a4cd0cd7
RS
1171 * insdel.c (replace_range): Use adjust_markers_for_replace
1172 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1173
1174 * intervals.h: Declare set_text_properties and set_text_properties_1.
1175
1176 * textprop.c (set_text_properties_1): New subroutine
1177 broken out of set_text_properties.
1178 (set_text_properties): Use set_text_properties_1.
1179
1180 * intervals.c (graft_intervals_into_buffer):
1181 Use set_text_properties_1 to clear out properties.
1182
1183 * search.c (Freplace_match): Use replace_range to insert
1184 and delete. Don't request property inheritance from
1185 surrounding text.
1186
91823618
JR
11872001-11-10 Jason Rumney <jasonr@gnu.org>
1188
1189 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1190 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1191 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1192
86928dfb
GM
11932001-11-10 Gerd Moellmann <gerd@gnu.org>
1194
fa336b91 1195 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1196 instead of malloc/free.
1197
40ef1eda
PJ
11982001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1199
ab8469eb
PJ
1200 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1201 Coding Standards.
1202 (Finternal_set_lisp_face_attribute): Likewise.
1203
a78e0303
PJ
1204 * buffer.c (Fbury_buffer): Likewise.
1205
40ef1eda
PJ
1206 * indent.c (current_column_1): Remove unused variable `prev_col'.
1207
fabf4a91
PJ
1208 * coding.c (encode_coding): Use precomputed value of `src'.
1209 (encode_coding): Remove unused variable `src_end'.
1210 (code_convert_region): Remove unused variables `count'.
1211
0c99b139
JR
12122001-11-07 Jason Rumney <jasonr@gnu.org>
1213
1214 * w32term.c (x_display_and_set_cursor): Do not move system caret
1215 if cursor_glyph is NULL.
1216
830ddd77
PJ
12172001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1218
1219 * keymap.c (access_keymap): Fix compilation error.
1220
55c6d645
MB
12212001-11-07 Miles Bader <miles@gnu.org>
1222
1223 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1224
5de38842
PJ
12252001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1226
7a4564a4
PJ
1227 * intervals.c (graft_intervals_into_buffer):
1228 Remove #ifdef'd-out code.
1229 (graft_intervals_into_buffer): Remove unused variable `middle'.
1230
5de38842
PJ
1231 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1232 code (eval-current-buffer).
1233 Change doc-string comments to `new style' [w/`doc:' keyword].
1234
4fa23df5
RS
12352001-11-06 Richard M. Stallman <rms@gnu.org>
1236
1237 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1238
7a6a97d7
SM
12392001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1240
c191d13c
SM
1241 * lread.c (read1): Fix behavior with nested backquoting.
1242
7a6a97d7
SM
1243 * keyboard.c (make_lispy_event): Check integerness and fix
1244 Lisp_Object/int mixup.
1245
44dc78e0
PJ
12462001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1247
1248 * fns.c (copy_hash_table): Remove unused variable `v'.
1249
17893c65
PJ
1250 * fontset.c (fontset_font_pattern): Remove unused variable
1251 `family_registry'.
1252
4d994a79
PJ
1253 * indent.c (current_column_1): Remove unused variable `prev_col'.
1254
d5360cc7
RS
12552001-11-05 Richard M. Stallman <rms@gnu.org>
1256
1257 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1258
1259 * buffer.c (Fkill_buffer): Don't delete auto save file
1260 if buffer is modified.
1261
96238a5a
AI
12622001-11-05 Andrew Innes <andrewi@gnu.org>
1263
1264 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1265 CHECK_NUMBER_CDR.
1266
d9d54213
RS
12672001-11-05 Richard M. Stallman <rms@gnu.org>
1268
1269 * unexelf.c (unexec): Minor changes; clean up comments.
1270
b116830b
SS
12712001-11-05 Sam Steingold <sds@gnu.org>
1272
1273 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1274
3297e2a1
AS
12752001-11-05 Andreas Schwab <schwab@suse.de>
1276
1277 * sound.c (sound_perror): Save errno from being clobbered.
1278
9212319f 12792001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1280
1281 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1282 the program image directly.
1283
7dd73b78
PJ
12842001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1285
1286 * buffer.h (Fbuffer_local_value): Add prototype.
1287
982f6c7e
RS
12882001-11-04 Richard M. Stallman <rms@gnu.org>
1289
d31053f9
RS
1290 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1291 and CHECK_BUFFER.
1292
1293 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1294 (record_char): Likewise.
1295
1296 * keyboard.c (make_lispy_event): Don't insist a drag event must
1297 move to a different buffer position. Instead, check for moving at
1298 least double_click_fuzz.
1299
1300 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1301
1302 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1303
982f6c7e
RS
1304 * indent.c (current_column_1, Fmove_to_column): Separate the code
1305 for display-table glyphs from the code buffer text, to fix
1306 bugs in the former.
1307
830047fd
RS
13082001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1309
1310 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1311 (syms_of_buffer): Defsubr it.
b116830b 1312
830047fd
RS
1313 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1314 value of `cursor-in-non-selected-windows'.
1315
1316 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1317 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1318 (syms_of_xdisp): Initialize it.
b116830b 1319
2df5238c
PJ
13202001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1321
4e397688
PJ
1322 * xfns.c (Fx_create_frame): Doc fix.
1323
48b0f3ae
PJ
1324 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1325 keyword].
1326
2df5238c
PJ
1327 * eval.c (top_level_value, top_level_set): Remove commented and
1328 #ifdef'd-out code.
1329 (Fdefvar): Fix usage in doc-string.
1330
3ecaf7e5
RS
13312001-11-03 Richard M. Stallman <rms@gnu.org>
1332
1333 * xfns.c: Include unistd.h, if it exists.
1334
1335 * editfns.c: Move the include of ctype.h after unistd.h.
1336
1337 * gmalloc.c: Test BROKEN_PROTOTYPES.
1338
8db2e33b
KR
13392001-11-03 Ken Raeburn <raeburn@gnu.org>
1340
1341 * lisp.h (CHECK_STRING_CAR): New macro.
1342 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1343 treating XCAR and XCDR as lvalues.
1344 (openp): Use CHECK_STRING_CAR.
1345 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1346
aed29b97
EZ
13472001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1348
1349 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1350 (SIGMASKTYPE): Define.
aed29b97
EZ
1351
1352 * syssignal.h (sigunblock): Don't define if already defined.
1353
6cb16f95
PJ
13542001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1355
16b45be4
EZ
1356 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1357 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1358 Fix typos in comments.
1359
020f9b38
PJ
1360 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1361 and #ifdef'd-out code.
1362 Fix and reindent comments.
1363
c191d13c 1364 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1365
6cb16f95
PJ
1366 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1367 argument `i' in macros.
1368
1369 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1370 `i' in macros.
1371
16b45be4
EZ
1372 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1373 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1374 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1375 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1376 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1377 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1378 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1379 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1380 in macros.
1381
1382 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
1383 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1384 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1385 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1386 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1387 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1388 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1389 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1390 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
1391 (remove unused second argument).
1392
7e9d3c2f
SM
13932001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1394
1395 * syntax.c (describe_syntax): New wrapper.
1396 (Finternal_describe_syntax_value): Rename from describe_syntax.
1397 Don't insert space at front and \n at the end.
1398 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1399
1400 * regex.c (re_wctype): Try to fix some warnings.
1401 (regcomp, regexec): Don't forget the __restrict.
1402
e6bff182
RS
14032001-11-02 Richard M. Stallman <rms@gnu.org>
1404
1405 * textprop.c (Fget_char_property): Doc fix.
1406
9ba48103
PJ
14072001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1408
1409 * process.c (Fstart_process): Add usage to doc-string.
1410
1411 * data.c (Fsetq_default): Ditto.
1412
1413 * callint.c (Finteractive): Ditto.
1414
c22e59e1
SM
14152001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1416
1417 * macros.c: Don't include keymap.h any more.
1418
9271ed2c
RS
14192001-11-01 Richard M. Stallman <rms@gnu.org>
1420
e6bff182
RS
1421 * data.c (Fmake_local_variable): Doc fix.
1422
1423 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1424 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1425
9271ed2c
RS
1426 * keymap.c (Fdescribe_buffer_bindings): Print character property
1427 bindings along with or instead of the buffer local map.
1428 Make the overriding maps override what they should.
1429
8b8bd9c6
PJ
14302001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1431
1432 * window.c (grow_mini_window): Fix typo in comment.
1433
27188d11
GM
14342001-11-01 Gerd Moellmann <gerd@gnu.org>
1435
7b49b9d2
GM
1436 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1437 (XTset_vertical_scroll_bar): Likewise.
1438
43f7c3ea
GM
1439 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1440 instead of IMAGE_BACKGROUND.
c22e59e1 1441
b350c2e5
GM
1442 * xfns.c (four_corners_best): Reindent.
1443
c22e59e1 1444 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1445 Handle :box so that it is possible to specify sexprs.
1446
d576358b
PJ
14472001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1448
1449 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1450 (Fface_font): Ditto.
1451 (Finternal_set_alternative_font_registry_alist): Ditto.
1452 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1453
1454 * xfns.c (x-get-resource): Reindent.
1455
bf00d461
EZ
14562001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1457
1458 * s/hpux11.h: New file.
1459
4e10df59
PJ
14602001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1461
2b209b97
PJ
1462 * emacs.c (USAGE1): Show command line option --no-window-system
1463 instead of --no-windows in usage.
1464 (standard_args): Rename --no-windows to --no-window-system.
1465 (bug_reporting_address): Follow Emacs coding conventions.
1466
9dbc9081
PJ
1467 * eval.c (Fcommandp): Doc fix.
1468 Change doc-string comments to `new style' [w/`doc:' keyword].
1469
4e10df59
PJ
1470 * frame.c (Fframe_live_p): Doc fix.
1471
1472 * buffer.c (selective-display-ellipses): Doc fix.
1473
dd387b25
GM
14742001-10-31 Gerd Moellmann <gerd@gnu.org>
1475
fe957e65
GM
1476 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1477
dd387b25
GM
1478 * xfaces.c (realize_x_face): If C is not a single-byte character,
1479 set the face's colors_copied_bitwise_p instead of the defaulted_p
1480 members which have a different meaning.
1481 (free_face_colors): Do nothing for a face whose colors have been
1482 copied bitwise.
1483
c22e59e1 1484 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1485
2e1280f8
PJ
14862001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1487
687784e8
PJ
1488 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1489 [w/`doc:' keyword].
2e1280f8 1490
b9d9a9b9
GM
14912001-10-31 Gerd Moellmann <gerd@gnu.org>
1492
1493 * fns.c (require_unwind): Return Lisp_Object.
1494
48400103
PJ
14952001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1496
fa1361cb
PJ
1497 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1498 (last-input-char): Revert doc-string to be the same as the
1499 doc-string of `last-input-event'.
1500
48400103
PJ
1501 * xdisp.c: Fix typos in comments.
1502
eafa3196
GM
15032001-10-31 Gerd Moellmann <gerd@gnu.org>
1504
1505 * window.c (grow_mini_window): Handle case that the root
1506 window is already smaller than the nominal mininum height.
1507
747d3f2a
SM
15082001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1509
bf9bb76f
SM
1510 * emacs.c (main): Don't call keys_of_macros any more.
1511
1512 * lisp.h (keys_of_macros): Remove.
1513
1514 * macros.c (keys_of_macros): Remove.
1515
747d3f2a
SM
1516 * xfaces.c (Fface_attribute_relative_p): Declare args.
1517
5e905a57
JR
15182001-10-30 Jason Rumney <jasonr@gnu.org>
1519
1520 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1521 (enum_font_cb2): Ignore fonts with vertical orientation.
1522
3a426197
RS
15232001-10-30 Richard M. Stallman <rms@gnu.org>
1524
1525 * keyboard.c (Finput_pending_p): Doc fix.
1526
a742d646
GM
15272001-10-30 Gerd Moellmann <gerd@gnu.org>
1528
259cf6bc
GM
1529 * xterm.c (x_after_update_window_line): Don't run the code
1530 clearing in borders for rows whose visible height is 0.
1531
3f99f948
GM
1532 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1533 resized_p flag is set. If not set, use the much less flickering
1534 method previously used.
1535
1536 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1537
1538 * frame.h (struct frame) <resized_p>: New member.
1539
b4a3be43
GM
1540 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1541 as large as the number of bytes to convert.
747d3f2a 1542
a742d646
GM
1543 * lread.c (to_multibyte): New function.
1544 (read1): Use it.
1545
cacbb9e9
EZ
15462001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1547
1548 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1549
99cb6b2f
GM
15502001-10-30 Gerd Moellmann <gerd@gnu.org>
1551
327f42ee 1552 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1553 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1554 if the row's fill_line_p is set and drawing the last glyph with
1555 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1556
99cb6b2f
GM
1557 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1558
8e8223e2
SM
15592001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1560
1561 * xmenu.c: Include coding.h and charset.h.
1562 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1563 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1564 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1565 Explicitly set wv->help. Use `TRUE' rather than `True'.
1566 (menu_help_callback): Use empty_string.
1567
1568 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1569 (Fx_popup_dialog): Explicitly init f.
1570 (w32_menu_display_help): Use empty_string.
1571
4d083a8f
RS
15722001-10-29 Richard M. Stallman <rms@gnu.org>
1573
b2304472
RS
1574 * fns.c (Frequire): Detect recursive try to require the same
1575 feature 3 or more levels deep, and get error.
1576 (require_unwind): New subroutine.
1577 (require_nesting_list): New variable.
1578 (syms_of_fns): Init and staticpro it.
1579
4d083a8f
RS
1580 * print.c (print_object): Clarify indication of insertion type.
1581
2fe41216
EZ
15822001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1583
90480000
EZ
1584 * coding.c (syms_of_coding): Document that locale-coding-system is
1585 used for decoding input on X.
1586
2fe41216
EZ
1587 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1588
74e79967
PJ
15892001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1590
1591 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1592 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1593
60ebcfe8
GM
15942001-10-29 Gerd Moellmann <gerd@gnu.org>
1595
9a7bdceb
GM
1596 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1597 use NO_CURSOR if cursor_in_non_selected_windows is false.
1598
3f08fcd2
GM
1599 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1600 the slant attribute if FRAME is t.
1601
0ccfdad2
GM
1602 * xfns.c (x_set_internal_border_width): Set frame garbaged
1603 when X window doesn't exist yet.
1604
ef253080
GM
1605 * xterm.c (x_after_update_window_line): Clear internal border
1606 in different circumstances.
b116830b 1607
60ebcfe8
GM
1608 * xterm.c (XTread_socket) <KeyPress>: Don't use
1609 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1610 <handa@etl.go.jp>.
1611
73d25f9c
EZ
16122001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1613
1614 * m/ibms390.h: New file. From Adam Thornton
1615 <athornton@sinenomine.net>.
1616
cac1daf0
GM
16172001-10-28 Gerd Moellmann <gerd@gnu.org>
1618
053b3256 1619 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1620
cac1daf0
GM
1621 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1622 a loop counter.
1623
13b1a09c
PJ
16242001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1625
186486eb
PJ
1626 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1627
4707d2d0
PJ
1628 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1629 keyword].
1630 Fix typos in comments.
b116830b 1631
d883731c
PJ
1632 * emacs.c (bug_reporting_address): New function.
1633 Use it when displaying usage message.
1634
04012254
PJ
1635 * minibuf.c (read_minibuf): Remove unused external declaration of
1636 variable `Qread_only'.
1637
13b1a09c
PJ
1638 * keymap.c (access_keymap): Remove unused variable `charset'.
1639
5bbf4378
MB
16402001-10-28 Miles Bader <miles@gnu.org>
1641
1642 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1643 Remove #ifdef'd-out code.
1644 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1645 (syms_of_xfaces): Initialize them.
1646
1ce1e4ee
JR
16472001-10-27 Jason Rumney <jasonr@gnu.org>
1648
1649 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1650 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1651 position using the system caret.
1652
1653 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1654 (w32_system_caret_height, w32_system_caret_x)
1655 (w32_system_caret_y): New variables for tracking system caret.
1656 (w32_initialize): Initialize them.
c2d53558 1657 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1658
c2d53558
SM
1659 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1660 New messages types.
1ce1e4ee
JR
1661
1662 * w32term.c (note_mouse_highlight): Clear old help_echo.
1663
4e30ce42
PJ
16642001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1665
bb4600a4
PJ
1666 * xterm.c: Fix typo in a comment.
1667
7db35a48
PJ
1668 * emacs.c: Fix typos in comments.
1669 Remove unnecessary spaces.
1670 Change doc-string comments to `new style' [w/`doc:' keyword].
1671 (USAGE2): Fix typos in usage string.
1672
a7248e4f
PJ
1673 * xterm.c: Fix typo in a comment.
1674
4e30ce42
PJ
1675 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1676 emacs.c.
1677
62725a92
GM
16782001-10-27 Gerd Moellmann <gerd@gnu.org>
1679
798dbe1f 1680 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1681 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1682 farther backward when target_y was not reached.
1683
62725a92
GM
1684 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1685 Display errno only if non-zero.
1686 (sound_warning): New function.
1687 (vox_configure): Don't treat failing to set sample rate as error.
1688 (various places): Improve error messages.
1689
d4e34d24
EZ
16902001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1691
944e6f60
EZ
1692 * fileio.c (Faccess_file): Run the argument filename through
1693 Fexpand_file_name, before using it.
1694
d4e34d24
EZ
1695 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1696 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1697
38d2af0c
GM
16982001-10-26 Gerd Moellmann <gerd@gnu.org>
1699
da80a8d5
GM
1700 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1701
38d2af0c
GM
1702 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1703 Fix clearing in the case of scroll bars on the right.
c2d53558 1704
56f508dd
EZ
17052001-10-26 Juanma Barranquero <lektu@terra.es>
1706
1707 * w32gui.h (XImage): Add a dummy typedef.
1708
fbd5ceb2
GM
17092001-10-26 Gerd Moellmann <gerd@gnu.org>
1710
c2d53558 1711 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1712
b23236fb
EZ
17132001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1714
1715 * frame.c (Fframe_parameter): Fix last change.
1716
5d991fc4
EZ
1717 * fileio.c: Revert last change (which removed old commented-out
1718 version of expand-file-name). Add a comment that explains why
1719 this old version should not be removed.
1720
879eadc3
GM
17212001-10-25 Gerd Moellmann <gerd@gnu.org>
1722
75700ff2
GM
1723 * frame.c (Fframe_parameter): Fix a bug whereby some
1724 ``artificial'' frame parameters, like `minibuffer' were not
1725 obtained by calling Fframe_parameters.
1726
dfe92a6a
GM
1727 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1728 cursor differently.
1729
879eadc3
GM
1730 * xdisp.c (move_it_vertically_backward): Compute line height
1731 differently. Add heuristic to try to be more compatible to 20.x.
1732
e1010ebe
SM
17332001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1734
d73a471b
SM
1735 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1736
d6da5a06
GM
1737 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1738 boolean.
e1010ebe 1739
f66bd220
MB
17402001-10-25 Miles Bader <miles@gnu.org>
1741
1742 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1743 BG is a pointer to a structure, not a structure.
1744 (gif_format, png_format): Add missing commas.
1745
d436d538
RS
17462001-10-24 Richard M. Stallman <rms@gnu.org>
1747
1748 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1749 (syms_of_xfaces): Defsubr it.
d436d538 1750
075c507b
PJ
17512001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1752
1753 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1754 variable `area'.
1755
d492b584
PJ
17562001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1757
c2d53558 1758 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1759
e2a57b34
MB
17602001-10-25 Miles Bader <miles@gnu.org>
1761
1762 * dispextern.h (struct image): Add `background',
1763 `background_valid', and `background_transparent' fields.
1764 (image_background, image_background_transparent): New declarations.
1765 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1766 * xfns.c (image_background, image_background_transparent)
1767 (four_corners_best): New functions.
c2d53558 1768 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1769 (gs_format): Add `:background' entry.
1770 (lookup_image): Set IMG's background color if specified.
1771 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1772 when appropriate.
1773 (x_clear_image_1): Reset `background_valid' and
1774 `background_transparent_valid' fields.
1775 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1776 calculating it here. Set IMG's background_transparent field.
1777 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1778 (enum png_keyword_index): Add PNG_BACKGROUND.
1779 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1780 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1781 (enum gif_keyword_index): Add GIF_BACKGROUND.
1782 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1783 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1784 Pre-calculate image background color where necessary.
1785 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1786 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1787 color to use for image glyph reliefs.
1788
b547b6e8
GM
17892001-10-24 Gerd Moellmann <gerd@gnu.org>
1790
d9e3b8c6
GM
1791 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1792 in full-width rows.
c2d53558 1793
b547b6e8
GM
1794 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1795 Fix clearing of area not covered by scroll bar.
1796
2beb36f9
PJ
17972001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1798
1799 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1800 and `real_start'.
c2d53558 1801 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1802 (glyph_rect): Remove unused variable `area'.
1803
76cb5e06
GM
18042001-10-24 Gerd Moellmann <gerd@gnu.org>
1805
bdbdebff 1806 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1807
1808 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1809 (row_containing_pos): Take additional argument DY.
1810 Treat rows ending in middle of char differently.
62e33982
GM
1811 (display_line): Handle tabs on window systems differently.
1812
1813 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1814 with additional argument.
1815
1816 * dispextern.h (row_containing_pos): Adjust prototype.
1817
76cb5e06
GM
1818 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1819 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1820 (try_window_id, try_window_reusing_current_matrix)
1821 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1822 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1823
996fee11
PJ
18242001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1825
c9e60620
PJ
1826 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1827 gnuemacs).
1828 (HAVE_BOXES): Fix typo in comment.
1829 (push_menu_pane): Fix typo in comment.
1830
3b552d56
PJ
1831 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1832 of `Qwhen'.
1833 (single_display_prop_string_p): Remove unused local declarations
1834 of `Qwhen' and `Qmargin'.
1835 (string_buffer_position): Remove unused variable `around'.
1836 (store_frame_title): Remove unused variable `width'.
1837
15c565ac
PJ
1838 * window.c: Don't define max.
1839 (coordinates_in_window): Remove unused variable `uy'.
1840
a8818eb9
PJ
1841 * widget.c: Don't define max.
1842
996fee11
PJ
1843 * process.c: Don't define max.
1844 (create_process): Remove unused variable `buffer'.
1845
496e1a5b
GM
18462001-10-23 Gerd Moellmann <gerd@gnu.org>
1847
c2d53558 1848 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1849
5905ae8b
EZ
18502001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1851
1852 * xfaces.c (Finternal_set_lisp_face_attribute)
1853 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1854 frame is on a windowed display.
1855
24db49fb
GM
18562001-10-23 Gerd Moellmann <gerd@gnu.org>
1857
c2d53558
SM
1858 * dispnew.c (sync_window_with_frame_matrix_rows):
1859 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1860 of marginal areas.
1861
c2d53558 1862 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1863
f0487f05
EZ
18642001-10-23 Andreas Schwab <schwab@suse.de>
1865
1866 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1867 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1868
f0a48a01
GM
18692001-10-23 Gerd Moellmann <gerd@gnu.org>
1870
c2d53558 1871 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1872 REAL_END. Notice if cursor gets overwritten.
1873 (notice_overwritten_cursor): Take X positions as parameters.
1874 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1875 around call to x_draw_glyphs.
1876
a50a10a0
PJ
18772001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1878
fc11dff0
PJ
1879 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1880 instead of C) and usage.
a50a10a0 1881
fc11dff0
PJ
1882 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1883 of C) and usage.
a50a10a0
PJ
1884
1885 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1886 `left', `max_width' and `max_height'.
1887
8738febd
GM
18882001-10-23 Gerd Moellmann <gerd@gnu.org>
1889
1890 * xdisp.c (display_line): For a tab continued to the next line,
1891 set row's ends_in_middle_of_char_p.
1892
653c329b
GM
18932001-10-22 Gerd Moellmann <gerd@gnu.org>
1894
1895 * xdisp.c (display_line): Fix computation of continuation lines
1896 width for TABs.
1897
f958c5ac
PJ
18982001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1899
7ba51063
PJ
1900 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1901 `Qlaplace'.
1902
f958c5ac
PJ
1903 * fileio.c: Remove unused code.
1904
eb360291
MB
19052001-10-22 Miles Bader <miles@gnu.org>
1906
1907 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1908 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1909 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1910
98515cf0
JR
19112001-10-21 Jason Rumney <jasonr@gnu.org>
1912
1913 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1914
93026d88
EZ
19152001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1916
1917 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1918 (Finsert_string): Avoid the multi-line string literals warning.
1919
c9a95b79
MB
19202001-10-22 Miles Bader <miles@gnu.org>
1921
1922 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1923 (Fdocumentation): Don't use it.
1924 (syms_of_doc): Don't initialize it.
1925
1926 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1927 * print.c (Fwith_output_to_temp_buffer): Likewise.
1928 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1929 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1930 (Fsave_restriction): Likewise.
c2d53558
SM
1931 * eval.c (Frun_hooks, Frun_hook_with_args)
1932 (Frun_hook_with_args_until_failure)
1933 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1934 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1935 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1936 (Funwind_protect, Fcondition_case): Likewise.
1937 * coding.c (Ffind_operation_coding_system): Likewise.
1938 * keyboard.c (Ftrack_mouse): Likewise.
1939
a3b10252
MB
19402001-10-21 Miles Bader <miles@gnu.org>
1941
c2d53558 1942 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1943 (Fmake_hash_table): Add usage: string to doc string.
1944 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1945 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1946 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1947 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1948 (Fml_prefix_argument_loop): Likewise.
1949
c6f73eec
PJ
19502001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1951
c2d53558 1952 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1953
c6f73eec
PJ
1954 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1955 style' [w/`doc:' keyword].
1956
1957 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1958 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1959 comments to `new style' [w/`doc:' keyword].
1960
3cf3436e
JR
19612001-10-21 Jason Rumney <jasonr@gnu.org>
1962
1963 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1964
c169b8f1
JR
1965 * w32term.c (remember_mouse_glyph): New function.
1966 (w32_mouse_position): Use it.
1967 (note_mouse_movement): If the mouse moved off the glyph, remember
1968 its new position.
c2d53558 1969
4fdd691b
JR
1970 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1971 (w32_display_info): Add mouse_face_overlay.
1972
c169b8f1
JR
1973 * w32term.c (notice_overwritten_cursor): Renamed from
1974 note_overwritten_text_cursor. Rewritten to take glyph widths into
1975 account.
1976 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1977 (fast_find_string_pos): New function.
1978 (fast_find_position): Return the correct vpos. Add parameter
1979 STOP. In the final row, stop before glyphs having STOP as object.
1980 Don't consider glyphs that are not from a buffer.
1981 (fast_find_position) [0]: Add a presumably more correct version
1982 for after 21.1.
1983 (expose_window_tree, expose_frame): Don't compute intersections here.
1984 (expose_window): Do it here instead.
1985 (expose_window_tree, expose_window, expose_line): Return 1 when
1986 overwriting mouse-face.
1987 (expose_window): If W is the window currently being updated, mark
1988 the frame garbaged.
1989 (expose_frame): If mouse-face was overwritten, redo it.
1990 (x_use_underline_position_properties): New variable.
1991 (syms_of_xterm): DEFVAR_BOOL it.
1992 (x_draw_glyph_string): Add comment to use it in future.
1993 (x_draw_glyph_string): Restore clipping after drawing box.
1994 Fix a computation of the underline position.
1995 (w32_get_glyph_string_clip_rect): Minor cleanup.
1996 (x_fill_stretch_glyph_string): Remove an assertion.
1997 (x_produce_glyphs): Don't convert multibyte characters
1998 to unibyte characters in unibyte buffers.
1999 (cursor_in_mouse_face_p): New function.
2000 (x_draw_stretch_glyph_string): Use it to choose a different GC
2001 when drawing a cursor within highlighted text. Don't draw
2002 background again if it has already been drawn.
2003 (x_draw_glyph_string_box): Don't draw a full-width
2004 box just because the glyph row's full_width_p flag is set.
2005 (x_draw_glyphs): Fix computation of rightmost x for
2006 full-width rows.
2007 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2008 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
2009 change bottom shadow accordingly. Some cleanup.
2010 (x_update_window_end): Handle overwritten mouse face
2011 also for tool bar windows.
2012 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2013 DRAW is DRAW_IMAGE_RAISED.
2014 (clear_mouse_face): Return 1 if text with mouse face was
2015 actually redrawn. Make the function static. Reset
2016 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
2017 optimize away highlighting if we pass over that same overlay again.
2018 (note_mouse_highlight): Call mouse_face_overlay_overlaps
2019 to detect a case where we have to highlight a different region
2020 despite not having left the currently highlighted region.
2021 Set mouse_face_overlay in the x_display_info. Avoid changing the
2022 mouse pointer shape when show_mouse_face has already done it, or
2023 there is no need. Handle mouse-face and help-echo in strings.
2024 (glyph_rect): New function.
2025 (w32_mouse_position): Use it to raise the threshold for mouse
2026 movement event generation.
2027 (w32_initialize_display_info): Initialize the x_display_info's
2028 mouse_face_overlay.
2029 (w32_set_vertical_scroll_bar): Don't clear a zero height
2030 or width area.
2031 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2032 a widget to zero height.
2033
3cf3436e 2034 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 2035 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
2036 equivalents in menu_items.
2037 (w32_menu_show): Don't overwrite an item's name with its key
2038 description in case the description is a multibyte string.
2039 (single_submenu): Some cleanup.
2040
2041 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
2042 (postprocess_image): New function.
2043 (lookup_image): Call it for all image types except PostScript.
2044 (x_kill_gs_process): Call postprocess_image.
2045 (tiff_error_handler, tiff_warning_handler): New functions.
2046 (tiff_load): Install them as handlers.
2047 (x_kill_gs_process): Recognize if someone has cleared the image
2048 cache under us.
2049 (valid_image_p): Protect better against invalid image
2050 specifications. Previous code could signal an error.
2051 (Fx_hide_tip, Fshow_tip): Doc fix.
2052 (Fv_max_tooltip_size): New variable.
2053 (syns_of_xfns): DEFVAR_LISP it.
2054 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
2055 window buffer to *tip* right after creating the frame. Set frame's
2056 window_width. Use a maximum tooltip size specified by
2057 Vx_max_tooltip_size, if that has valid contents.
2058 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2059 Make sure the tooltip is completely visible.
2060 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2061 (Fx_create_frame): Adjust the frame's height for presence
2062 of the tool bar before calling x_figure_window_size.
2063 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
2064 when the window gets smaller.
2065 (x_set_foreground_color): Set frame's cursor_pixel.
2066 (x_set_foreground_color, x_set_background_color): Cleaned up.
2067 (x_set_font): Handle case of x_new_fontset returning the same name
2068 as before, although there was a change in fontsets.
2069
386ca361
MB
20702001-10-21 Miles Bader <miles@gnu.org>
2071
c2d53558 2072 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
2073 (Flogxor): Add usage: string to doc string.
2074 * charset.c (Fstring): Likewise.
2075 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
2076 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
2077
14ff1ee0
PJ
20782001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2079
03be2694
PJ
2080 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2081
2082 * alloc.c: Reindent DEFUNs with doc: keywords.
2083
2084 * abbrev.c (Finsert_abbrev_table_description): Reindent.
2085
14ff1ee0
PJ
2086 * frame.c: Change doc-string comments to `new style' [w/`doc:'
2087 keyword].
2088
71431a0e
GM
20892001-10-20 Gerd Moellmann <gerd@gnu.org>
2090
6aa97356 2091 * (Version 21.1 released.)
71431a0e 2092
39f624fa
PJ
20932001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2094
c2d53558 2095 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
2096
2097 * xdisp.c (invisible_text_between_p): Put prototype inside #if
2098 0 because unused.
2099
2100 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
2101 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
2102 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 2103
abcce93a
MB
21042001-10-20 Miles Bader <miles@gnu.org>
2105
2106 The following changes remove the glyph_row `inverse_p' field,
2107 which is never set anymore, due to other changes:
2108
2109 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
2110 (reassert_line_highlight, change_line_highlight): Declarations removed.
2111 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
2112 (line_hash_code, row_equal_p, fake_current_matrices)
2113 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
2114 (update_frame_line, update_frame_line, update_frame_line):
2115 Don't use `inverse_p' field.
2116 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2117 change_line_highlight_hook.
2118 (XTreassert_line_highlight, x_change_line_highlight):
2119 Functions removed.
c2d53558 2120 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2121 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2122 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2123 `inverse_p' field.
c2d53558 2124 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2125 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2126 (w32_reassert_line_highlight, x_change_line_highlight):
2127 Functions removed.
2128 * w32console.c (reassert_line_highlight, change_line_highlight):
2129 Functions removed.
2130 (initialize_w32_display): Don't set reassert_line_highlight_hook
2131 or change_line_highlight_hook.
2132 (hl_mode): Function removed.
c2d53558
SM
2133 (reset_terminal_modes, set_terminal_modes, update_begin)
2134 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2135 (clear_frame, ins_del_lines): Don't call it.
2136 * termhooks.h (reassert_line_highlight_hook)
2137 (change_line_highlight_hook): Declarations removed.
2138 * term.c (reassert_line_highlight_hook)
2139 (change_line_highlight_hook): Variables removed.
2140 (reassert_line_highlight, change_line_highlight): Functions removed.
2141 * msdos.c (IT_reassert_line_highlight)
2142 (IT_change_line_highlight): Functions removed.
2143 (internal_terminal_init): Don't set reassert_line_highlight_hook
2144 or change_line_highlight_hook.
2145 (highlight): Variable removed.
c2d53558 2146 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2147 (IT_set_terminal_modes): Don't set or use it.
2148
2149 The following changes remove inverse-video support for terminals
2150 that use a `magic cookie' standout mode. Due to changes in the
2151 way mode-lines are displayed, such support no longer works
2152 anyway, and it's probable that almost no one uses such terminals
2153 anymore:
2154
2155 * term.c (standout_requested): Variable removed.
2156 (update_end, highlight_if_desired): Don't use it.
2157 (chars_wasted, copybuf): Variables removed.
2158 (write_standout_marker): Function removed.
c2d53558 2159 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2160 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2161 Don't use `chars_wasted' or `copybuf'.
2162 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2163 Set `costs_set' to true.
2164 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2165 `chars_wasted'.
2166 (clear_end_of_line): Function removed.
2167 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2168 (clear_to_end): Call `clear_end_of_line' instead of
2169 `clear_end_of_line_raw'.
54800acb
MB
2170 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2171 (term_init): Don't set them.
2172 Turn off any standout/underline modes that require magic cookies.
c2d53558 2173 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2174 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2175 Remove special processing for magic-cookie standout modes.
2176 (turn_off_face, turn_on_face): Remove special processing for
2177 underline magic-cookie glitch.
abcce93a 2178
0b5f679f
RS
21792001-10-19 Richard M. Stallman <rms@gnu.org>
2180
2181 * eval.c (syms_of_eval): Doc fixes.
2182
5a4a5bd4
GM
21832001-10-19 Gerd Moellmann <gerd@gnu.org>
2184
2185 * xdisp.c (redisplay_internal): Don't clear echo area if the
2186 mini-window is selected.
2187
79f1f96c
MB
21882001-10-19 Miles Bader <miles@gnu.org>
2189
b57c2708
MB
2190 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2191 doesn't take precedence if the affected property's value is nil.
2192
2193 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2194
79f1f96c
MB
2195 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2196 with fields and suggest using `forward-line' to avoid them.
2197 * editfns.c (Fline_beginning_position, Fline_end_position):
2198 Clarify documentation.
2199
ef879104
SM
22002001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2201
2202 * keymap.c (current_minor_maps): `override' only shadows its
2203 correspondent in minor-mode-map-alist, not the whole tail.
2204
97f4db8c
AI
22052001-10-18 Andrew Innes <andrewi@gnu.org>
2206
2207 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2208 optimization. The fontp->encoding array was not being initialized
2209 correctly when compiled with optimizations by MSVC.
2210
e6b70fd8
GM
22112001-10-18 Gerd Moellmann <gerd@gnu.org>
2212
30903479 2213 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2214
0e804d38
AI
22152001-10-17 Andrew Innes <andrewi@gnu.org>
2216
2217 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2218
2219 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2220 font_info.charset field.
2221
2222 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2223 rather than working it out by calling w32_codepage_for_font for
2224 every glyph.
2225
66e5868a
AI
22262001-10-17 Andrew Innes <andrewi@gnu.org>
2227
2228 * w32term.c (w32_read_socket): Determine clipping rectangle for
2229 the entire frame, including areas covered by scrollbars and the
2230 menubar. This avoids internal arguments about whether a frame is
2231 fully obscured or not.
2232
15b00083
GM
22332001-10-17 Gerd Moellmann <gerd@gnu.org>
2234
23e8bd86
GM
2235 * xdisp.c (try_window_id): Undo last change. Give up if
2236 window ends in strings.
30903479 2237
9c6ba6d1 2238 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2239 end if the rest of the window after the window end was already blank.
23e8bd86 2240
30903479 2241 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2242 for the release of 21.1.
2243
30903479 2244 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2245
945220bd
MB
22462001-10-17 Miles Bader <miles@gnu.org>
2247
2248 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2249 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2250 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2251 Change doc-string comments to `new style' [w/`doc:' keyword].
2252 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2253 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2254 out make-docfile.
2255
14242528
MB
22562001-10-16 Miles Bader <miles@gnu.org>
2257
2258 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2259
3ddf952f
GM
22602001-10-16 Gerd Moellmann <gerd@gnu.org>
2261
2262 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2263 *scratch*.
2264
f3fbd155
KR
22652001-10-16 Ken Raeburn <raeburn@gnu.org>
2266
2267 Avoid the assumption that car and cdr slots of cons cells are
2268 addressable lvalues; this allows for easier experimentation with
2269 other lisp implementations that may not permit such accesses for
2270 various reasons. Not quite complete -- buffer.c still needs some
2271 work, and w32/mac files need rechecking -- so compile-time
2272 enforcement is left disabled for now.
2273
2274 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2275 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2276 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2277 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2278 (XSETCAR, XSETCDR): New macros.
2279 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2280 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2281 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2282 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2283 XSETCDR.
2284 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2285 * buffer.c (record_buffer, Fbury_buffer)
2286 (swap_out_buffer_local_variables, recenter_overlay_lists)
2287 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2288 fields of a cons cell respectively.
2289 * callint.c (quotify_args, Fcall_interactively): Likewise.
2290 * ccl.c (Fregister_code_conversion_map): Likewise.
2291 * coding.c (detect_coding_system): Likewise.
2292 * composite.c (get_composition_id, make_composition_value_copy):
2293 Likewise.
30903479
SM
2294 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2295 (swap_in_symval_forwarding, set_internal, Fset_default)
2296 (Fmake_variable_buffer_local, Fmake_local_variable)
2297 (Fmake_variable_frame_local): Likewise.
f3fbd155 2298 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2299 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2300 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2301 * minibuf.c (get_minibuffer): Likewise.
2302 * search.c (Fmatch_data): Likewise.
2303 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2304 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2305 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2306 Likewise.
2307 * w32term.c (x_delete_display): Likewise.
2308 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2309 Likewise.
c2d53558 2310 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2311 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2312 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2313 (Fread_file_name): Use XSETCAR.
2314 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2315 CHECK_NUMBER_CDR.
2316 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2317 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2318 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2319 CHECK_NUMBER_CDR.
2320 * keyboard.c (read_char): Alter list traversal to avoid taking the
2321 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2322 (parse_menu_item): Use XSETCAR and XSETCDR.
2323 (reach_char_x_menu_prompt): Use XSETCAR.
2324 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2325 (Fcommand_execute): Use XSETCDR.
2326 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2327 (openp): Change list traversal to avoid using XCAR as lvalue.
2328 (read_list): Use XSETCDR.
2329 * process.c (wait_reading_process_input): Change wait_for_cell
2330 handling to avoid taking addresses of cons cell slots.
30903479
SM
2331 * xselect.c (x_own_selection, x_handle_selection_clear)
2332 (x_clear_frame_selections): Use XSETCDR.
2333 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2334 (x_handle_property_notify, x_get_foreign_selection)
2335 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2336
502150e5
PJ
23372001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2338
018ba359
PJ
2339 * buffer.c: Put doc strings in comments.
2340
30903479 2341 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2342
b56ba8de
SS
23432001-10-15 Sam Steingold <sds@gnu.org>
2344
2345 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2346
6a0b793a
PJ
23472001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2348
30903479
SM
2349 * process.c (process-inherit-coding-system-flag)
2350 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2351 in comment.
2352
a1f17501 2353 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2354 arguments. Put doc strings in comments.
a65da641
PJ
2355
2356 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2357
aa601ad0
GM
23582001-10-15 Gerd Moellmann <gerd@gnu.org>
2359
30903479 2360 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2361
aa601ad0
GM
2362 * window.c (select_window_1): Unfreeze window start. Remove a
2363 doubled test for WINDOW being live.
2364
288148a1
PJ
23652001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2366
dd8d1e71
PJ
2367 * fns.c (Fmapconcat): Fix typo in a doc string.
2368
288148a1
PJ
2369 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2370
9f5eb4a3
GM
23712001-10-15 Gerd Moellmann <gerd@gnu.org>
2372
2373 * xterm.c (x_draw_glyph_string): Restore clipping after
2374 drawing box.
2375
dbae44c8
PJ
23762001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2377
30903479 2378 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2379
0c88c937
SM
23802001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2381
56378db4
GM
2382 * indent.c (skip_invisible): Use new retval of
2383 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2384
845e4cf4
SM
2385 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2386 If a parent is reached and noinherit is set, exit immediately.
2387 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2388
0c88c937
SM
2389 * s/ms-w32.h (EXEC_SUFFIXES):
2390 * s/msdos.h (EXEC_SUFFIXES):
2391 * process.h (EXEC_SUFFIXES): Remove.
2392
2393 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2394 (decode_suffixes): Remove.
2395
2396 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2397 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2398 (invisible_ellipsis_p): Remove.
0c88c937
SM
2399
2400 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2401 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2402 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2403 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2404 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2405
d19be8a9
PJ
24062001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2407
04d7d066
PJ
2408 * lisp.h (Ftop_level): Add prototype.
2409
d624284c
PJ
2410 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2411 (XTread_socket): Improve style of comments to follow other
2412 comments.
2413
a87414f9
PJ
2414 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2415 is already prototyped in included lisp.h).
2416
d19be8a9
PJ
2417 * frame.c (Fset_mouse_position): Improve style of comment to
2418 follow other comments.
2419 (Fset_mouse_pixel_position): Improve style of comment to follow
2420 other comments.
2421 (Fmake_frame_visible): Doc fix and typo in comment.
2422 (Fmake_frame_invisible): Doc fix and typo in comment.
2423 (Ficonify_frame): Fix typo in comment.
2424
c061c855
GM
24252001-10-14 Gerd Moellmann <gerd@gnu.org>
2426
37f6b5b6 2427 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2428 * term.c, alloc.c: Put doc strings in comments.
c061c855 2429
e641b454
GM
24302001-10-13 Gerd Moellmann <gerd@gnu.org>
2431
2432 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2433 Provide definitions for doc strings in comments.
2434
2435 * fns.c: Put doc strings in comments.
2436
51724e26
EZ
24372001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2438
2439 * dired.c (file_name_completion): Ignore a candidate directory if
2440 it matches an element in completion-ignored-extensions that ends
2441 in a slash.
2442 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2443 feature in the doc string.
2444 (Ffile_name_completion): Ditto.
2445
be5fc59b
SM
24462001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2447
5a1373f3
SM
2448 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2449
2450 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2451
2452 * lisp.h (Fprovide): Update prototype.
2453 (Ffeaturep, invisible_p): Remove.
2454
bbc4a3d3 2455 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2456 (DOLIST, LOOP_PROPVAL): New macros.
2457 (invisible_p, invisible_ellipsis_p): Use them.
2458 (invisible_noellipsis_p): New function.
2459 (syms_of_xdisp): Use empty_string.
2460
2461 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2462
2463 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2464 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2465
2466 * print.c (Fwith_output_to_temp_buffer): Align with
2467 internal_with_output_to_temp_buffer.
2468 (print_preprocess): Use traverse_intervals_noorder.
2469 (print_object): Update call to traverse_intervals.
2470
2471 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2472 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2473
2474 * intervals.c (traverse_intervals_noorder): New function.
2475 (search_for_interval, count_intervals): Use it.
2476 (traverse_intervals): Use less stack space and drop `depth' arg.
2477
2478 * fns.c (Ffeaturep): Add new `subfeature' arg.
2479 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2480 (Qsubfeatures): New var.
2481 (syms_of_fns): Initialize it.
2482
026f408d
SM
2483 * keymap.c (Fkey_description): Use empty_string.
2484 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2485 (syms_of_keymap): Setup inheritance between maps.
2486 Don't export Sdescribe_bindings_internal any more.
2487
be5fc59b
SM
2488 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2489
3365175e
GM
24902001-10-12 Gerd Moellmann <gerd@gnu.org>
2491
2492 * xterm.c (notice_overwritten_cursor): Renamed from
2493 note_overwritten_text_cursor. Rewritten to take glyph widths into
2494 account.
2495
2ab7765c
EZ
24962001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2497
2498 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2499 multi-line strings without a trailing "\n\".
2500
311346bb
PJ
25012001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2502
2503 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2504 defined.
2505
2168e04d
SM
25062001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2507
026f408d
SM
2508 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2509
c0ec53ad
SM
2510 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2511 * w32proc.c (sys_spawnve):
2512 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2513 * w32.c (check_windows_init_file):
2514 * sound.c (Fplay_sound):
026f408d 2515 * emacs.c (init_cmdargs):
c0ec53ad
SM
2516 * process.c (Fstart_process): Update calls to openp.
2517
2518 * callproc.c (Vexec_suffixes): New var.
2519 (Fcall_process): Update call to openp.
2520 (decode_suffixes): New function.
2521 (syms_of_callproc): Init exec-suffixes.
2522
2523 * lread.c (Vload_suffixes, default_suffixes): New vars.
2524 (openp): Take a lisp list of suffixes.
2525 Check for file-name-handlers even if the file was absolute already.
2526 (syms_of_lread): Declare load-suffixes.
2527 (Fload): Fix up call to openp.
2528 Don't bother checking for file-name-handler at the very beginning.
2529
f6333468
SM
2530 * keymap.h (Fcopy_keymap): Don't export.
2531
2532 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2533 (Vload_suffixes, Vexec_suffixes): Declare.
2534 (openp): Update prototype.
f6333468
SM
2535
2536 * emacs.c (empty_string): New var.
2537 (syms_of_emacs): Initialize it.
2538
2539 * search.c (wordify): Use it.
2540
2541 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2542 selected window if it's not displayed there. Handle the case
2543 when the window is dedicated.
2544 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2545
2546 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2547
2168e04d
SM
2548 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2549 Remove left_ok and right_ok.
2550 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2551 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2552 new meaning of b_property.
2553
2554 * syntax.c (update_syntax_table): Simplify.
2555 (Fforward_comment): Don't skip quoted chars when going backward.
2556
13d95cc0
GM
25572001-10-11 Gerd Moellmann <gerd@gnu.org>
2558
beb0990f
GM
2559 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2560 in case I is of some unsigned type, in which case
2561 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2562 comparison becomes bogus.
2563
cb938d46
GM
2564 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2565 (Fuser_full_name): Fix bug treating a float as a fixnum.
2566
2567 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2568
2569 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2570
13d95cc0
GM
2571 * lisp.h (circular_list_error): Add prototype.
2572
2573 * data.c (Qcircular_list): New variable.
2574 (circular_list_error): New function.
2575 (syms_of_data): Initialize it Qcircular_list.
2576
e35f6ff7
SM
25772001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2578
2579 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2580 casefiddle.c, buffer.c: Include keymap.h.
2581
619632ac
GM
25822001-10-10 Gerd Moellmann <gerd@gnu.org>
2583
2584 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2585 options. From Dave Love <d.love@dl.ac.uk>.
2586
5e5388f6
GM
25872001-10-09 Gerd Moellmann <gerd@gnu.org>
2588
2589 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2590 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2591
14a3dff7
GM
2592 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2593 unsigned char.
2594 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2595
76ba8daf
AI
25962001-10-08 Andrew Innes <andrewi@gnu.org>
2597
2598 * lisp.h [max]: Undef min and max before redefining them.
2599
2600 * w32gui.h: Do not undef min and max.
2601
2602 * w32heap.h: Do not undef min and max.
2603
2604 * s/ms-w32.h: Do not undef min and max.
2605
166253cb
SM
26062001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2607
2608 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2609
0c4d9527
SS
26102001-10-08 Sam Steingold <sds@gnu.org>
2611
2612 * keymap.c (current-active-maps): Quote newlines (compilation error).
2613
14bfa771
EZ
26142001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2615
2616 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2617 bindings.elc, since otherwise doc strings in bindings.el get wrong
2618 offsets in etc/DOC.
2619
bdb7aa47
SM
26202001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2621
9985827f
SM
2622 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2623
2624 * keyboard.h (map_prompt): Remove.
2625
2626 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2627 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2628
bdb7aa47
SM
2629 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2630
2631 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2632
2633 * keyboard.c (map_prompt): Remove.
2634 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2635 Use Fkeymap_prompt.
2636
2637 * keymap.h: New file. Extracted from lisp.h.
2638
9985827f
SM
2639 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2640 (accessible_keymaps_1): New function.
2641 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2642 (Fwhere_is_internal): Use Fcurrent_active_maps.
2643 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2644 Insert in current buffer rather than standard-output.
2645 Don't call `help-mode'. Export to elisp.
2646 (describe_buffer_bindings): New wrapper.
2647 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2648 and Sdescribe_buffer_bindings.
2649
402c9a51
GM
26502001-10-08 Gerd Moellmann <gerd@gnu.org>
2651
9985827f 2652 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2653 Remove code setting signal handler.
2654
9985827f 2655 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2656 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2657
3fe81fdf
PJ
26582001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2659
2660 * keyboard.c: Don't define min/max.
2661
55fa7820
GM
26622001-10-08 Gerd Moellmann <gerd@gnu.org>
2663
9985827f 2664 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2665 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2666 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2667 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2668 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2669 Don't define min/max.
2670
2671 * lisp.h (min, max): New macros.
2672
55fa7820
GM
2673 * puresize.h (BASE_PURESIZE): Increase to 725000.
2674
1aad31e4
PJ
26752001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2676
9180dc8c
PJ
2677 * xfaces.c (free_frame_menubar): Add prototype.
2678
01f67d2c
PJ
2679 * lisp.h (init_window): Add prototype.
2680
2681 * editfns.c: Include ctype.h.
2682
2683 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2684 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2685 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2686 variable `sb'.
2687
5f351ff1
PJ
2688 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2689 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2690 `popup_activated_flag' and `title'.
2691
479dfe87
PJ
2692 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2693
dff49fc8
PJ
2694 * emacs.c (main): Remove extra `;'.
2695
248ac615
PJ
2696 * atimer.h (struct atimer): Fix typos in a comment.
2697
2698 * atimer.c: Fix typo.
2699
af232c7d
PJ
2700 * Makefile.in: Fix typo.
2701
2702 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2703
d876f455
MB
27042001-10-07 Miles Bader <miles@gnu.org>
2705
2706 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2707
0037e2f2
KR
27082001-10-07 Ken Raeburn <raeburn@gnu.org>
2709
b056f36d
KR
2710 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2711 Lisp_Object.
2712
0037e2f2
KR
2713 * lisp.h (Ffield_end): Declare.
2714
1a4372ef
GM
27152001-10-07 Gerd Moellmann <gerd@gnu.org>
2716
a4a74e8c
GM
2717 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2718
2719 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2720
2721 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2722
2723 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2724
1a4372ef
GM
2725 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2726 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2727
2728 * alloc.c (inhibit_garbage_collection): Simplify.
2729 (Fmemory_use_counts): Ditto.
2730
9985827f 2731 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2732 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2733 most-negative-fixnum.
2734
9985827f 2735 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2736 (FIXNUM_OVERFLOW_P): New macros.
2737
4650e362
MB
27382001-10-06 Miles Bader <miles@gnu.org>
2739
2740 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2741 scroll_bar_bottom_shadow_pixel fields.
2742 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2743 for the shadows, and tell the toolkit about them if we succeed.
2744 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2745 Free scroll-bar shadow colors.
2746 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2747 Free scroll-bar shadow colors when the background color changes.
2748 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2749 Initialize scroll-bar shadow-color fields.
2750
ace64e0a
GM
27512001-10-05 Gerd Moellmann <gerd@gnu.org>
2752
2753 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2754
ec66bdc7
MB
27552001-10-05 Miles Bader <miles@gnu.org>
2756
9985827f
SM
2757 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2758 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2759 New functions (were in simple.el).
9985827f 2760 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2761 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2762 (syms_of_minibuf): Initialize them.
2763
a0fb4492
GM
27642001-10-05 Gerd Moellmann <gerd@gnu.org>
2765
2766 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2767 (tiff_load): Install them as error and warning handler.
2768
0bcf87c1
AI
27692001-10-04 Andrew Innes <andrewi@gnu.org>
2770
2771 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2772 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2773 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2774 (x_to_w32_charset): Handle private format for unknown charsets.
2775 Handle wildcards in charset spec, by ignoring them.
2776 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2777 "*-" prefix from charset.
2778 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2779 handle the truncated font spec form constructed by font_list_1, so
2780 that we correctly identify the charset fields. Don't remove "*-"
2781 prefix from charset.
2782 (w32_list_synthesized_fonts): Fix argument to alloca.
2783
c89e4bc5
GM
27842001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2785
2786 * window.h (MINI_WINDOW_P): Use NILP.
2787
2788 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2789
2790 * termhooks.h (struct input_event): Use proper type for `kind'.
2791
27922001-10-04 Gerd Moellmann <gerd@gnu.org>
2793
2794 This handles unknown keysyms better than before. For example,
2795 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2796 Emacs formerly completely ignored F5. With the change, it derives
2797 a key symbol from the name of the X keysym, `ccaron' in this case.
2798 Reported by Martin Buchholz.
2799
2800 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2801 unknown keysyms.
2802
2803 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2804 that EVENT->code isn't a function key, use the keysym's name.
2805
28062001-10-04 Gerd Moellmann <gerd@gnu.org>
2807
2808 FOREACH is a macro that should make it easier to loop over Lisp
2809 lists with checks for cycles and proper lists.
2810
2811 * lisp.h (LIST_END_P, FOREACH): New macros.
2812
28132001-10-04 Gerd Moellmann <gerd@gnu.org>
2814
2815 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2816 called for a lost connection. Prevent dumping core in this case.
2817 Instead print the X error, and exit. On user request.
2818
2819 * xterm.c (error_msg): New variable.
2820 (x_fatal_error_signal): New function.
2821 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2822 as fatal_error_signal_hook around the call to XtCloseDisplay.
2823
2824 * emacs.c (fatal_error_signal_hook): New variable.
2825 (fatal_error_signal): Call that function.
2826
28272001-10-04 Gerd Moellmann <gerd@gnu.org>
2828
2829 With this, Emacs prints how much pure storage it will
2830 approximately need in case pure storage overflows while dumping.
2831
2832 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2833 New variables.
2834 (init_alloc_once): Initialize new variables.
2835 (PURE_POINTER_P): Use new variables.
2836 (pure_alloc): If pure storage overflows, allocate from the heap.
2837 (check_pure_size): New function.
2838 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2839
2840 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2841 (check_pure_size): Add prototype.
2842
2843 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2844
28452001-10-04 Gerd Moellmann <gerd@gnu.org>
2846
2847 This adds a post-gc-hook that's run with GC inhibited.
2848 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2849
2850 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2851 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2852 (Fgarbage_collect): Run post-gc-hook.
2853
28542001-10-04 Gerd Moellmann <gerd@gnu.org>
2855
2856 This adds `defvaralias' and `indirect-variable'. Changes not
2857 directly related to this feature are there to gain the same
2858 performance again as before variable aliases.
2859
2860 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2861 code to get and set symbol values, to take defvaralias into account.
2862
2863 (Note: the new `constant' bit-flag in symbols would make it
2864 possible to define arbitrary read-only variables, e.g. with
2865 `defconst'.)
2866
2867 Documentation is in lispref/variables.texi. Added to NEWS.
2868
2869 * lisp.h (enum symbol_interned): New enumeration.
2870 (struct Lisp_Symbol): Remove member `obarray', add
2871 `indirect_variable', `constant', and `interned'.
2872 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2873 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2874 (indirect_variable): Add prototype.
2875
2876 * print.c (print_preprocess, print_object): Test internedness of
2877 symbols differently.
2878
2879 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2880 bit-fields.
2881 (init_obarray): Likewise for t and nil.
2882
2883 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2884 (Fdefvaralias): New function.
2885 (specbind): Simplify the test if symbol is a constant.
2886 (syms_of_eval): Defsubr Fdefvaralias.
2887
2888 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2889 (Qcyclic_variable_indirection): New variable.
2890 (Fkeywordp): Check for internedness differently.
2891 (Fmakunbound): Simplify the test if symbol is a constant.
2892 (indirect_variable, Findirect_variable): New functions.
2893 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2894 aliased symbol.
2895 (let_shadows_buffer_binding_p): Check for variable aliases.
2896 (set_internal): Simplify the test if SYMBOL is a constant.
2897 If SYMBOL has a buffer-local value and is an alias, use the aliased
2898 symbol instead.
2899 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2900 Sindirect_variable.
2901
2902 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2903 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2904 set directly.
2905
2906 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2907
2908 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2909 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2910 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2911
ab952a4f
GM
29122001-10-04 Gerd Moellmann <gerd@gnu.org>
2913
2914 * Branch for 21.1.
b56ba8de 2915
ba88ff28
MB
29162001-10-03 Miles Bader <miles@gnu.org>
2917
2918 * callproc.c (syms_of_callproc): Explicitly state in the
2919 documentation for `process-environment' that earlier entries take
2920 precedence over later ones.
2921
ae1a9581
MB
29222001-10-02 Miles Bader <miles@gnu.org>
2923
2924 * textprop.c (Fnext_char_property_change)
2925 (Fprevious_char_property_change): Remove reference to non-existant
2926 argument OBJECT from doc-string.
2927
257e3f57
GM
29282001-10-01 Gerd Moellmann <gerd@gnu.org>
2929
2930 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2931 (try_window_id): Skip back over lines ending in a newline from a
2932 string.
2933
2934 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2935 New bit flag
2936
c1f29759
RS
29372001-10-01 Richard M. Stallman <rms@gnu.org>
2938
2939 * search.c (Freplace_match): Doc fix.
2940
c30dce3d
AI
29412001-09-28 Andrew Innes <andrewi@gnu.org>
2942
2943 * w32menu.c (set_frame_menubar): Take into account that
2944 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2945 <raeburn@gnu.org>.
2946
03be5931
EZ
29472001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2948
2949 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2950
75bec752
PJ
29512001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2952
2953 * s/gnu-linux.h: Fix a typo in comment.
2954
83100e0a
AS
29552001-09-28 Andreas Schwab <schwab@suse.de>
2956
2957 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2958 nocombreloc, in case -z combreloc is the default.
2959
a74b48cf
GM
29602001-09-28 Gerd Moellmann <gerd@gnu.org>
2961
2962 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2963 really going on here.
2964
09c4719e
SM
29652001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2966
2967 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2968
f7d5d963
EZ
29692001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2970
2971 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2972 utf-8, menu-bar, and latin-N.
2973 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2974 unconditionally now.
2975 (lisp): Add latin-N, since they are preloaded.
2976
9240e746
GM
29772001-09-27 Gerd Moellmann <gerd@gnu.org>
2978
14531065
GM
2979 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2980 to the left. Some cleanup.
2981
9240e746
GM
2982 * xdisp.c (display_mode_element): One more case where a string's
2983 multibyteness should be used for display.
2984
edd1e654
GM
29852001-09-26 Gerd Moellmann <gerd@gnu.org>
2986
b02439c8
GM
2987 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2988 reading at EOF.
2989
032906b1 2990 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2991 of the only temporarily set echoing flag for deciding when
032906b1
GM
2992 the cancel echoing.
2993
2994 * keyboard.c (echo_kboard): Make externally visible.
2995
2996 * lisp.h (echo_kboard): Declare extern.
2997
cb617e7c 2998 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2999 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
3000 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
3001 this round of redisplay if make_cursor_line_fully_visible fails.
3002 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 3003 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
3004
3005 * dispextern.h (required_matrix_width, required_matrix_height):
3006 Add prototypes.
3007
09c4719e
SM
3008 * dispnew.c (required_matrix_width, required_matrix_height):
3009 New functions.
cb617e7c 3010 (allocate_matrices_for_window_redisplay)
09c4719e
SM
3011 (allocate_matrices_for_frame_redisplay: Use them.
3012 Remove parameters CH_DIM.
cb617e7c 3013
edd1e654
GM
3014 * xdisp.c (display_mode_lines): Temporarily set selected_frame
3015 and selected_window to the frame of the window whose mode-lines
3016 are displayed, and to the window itself.
3017 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 3018 here.
edd1e654 3019
924b604c
GM
30202001-09-25 Gerd Moellmann <gerd@gnu.org>
3021
daba7643
GM
3022 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
3023 the image cache under us.
3024
b7a22712 3025 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 3026 with a string value, use that string's multibyteness for displaying.
b7a22712 3027
ad648212
GM
3028 * keyboard.c (read_char): Don't clear a message for a switch-frame
3029 event. From Stefan Monnier <monnier@cs.yale.edu>.
3030
9f8531e5
GM
3031 * xterm.c (fast_find_position) [0]: Add a presumably more correct
3032 version for after 21.1.
3033
3034 * xdisp.c (row_containing_pos): Make externally visible.
3035
3036 * dispextern.h (row_containing_pos): Add prototype.
3037
924b604c
GM
3038 * process.c (send_process): Disable composition if from_byte < 0.
3039 From Kenichi Handa <handa@etl.go.jp>.
3040
6f3f0db4
GM
30412001-09-24 Gerd Moellmann <gerd@gnu.org>
3042
c69c0ebc
GM
3043 * xterm.c (refreshicon): Function removed.
3044
d1182bc4
GM
3045 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
3046
3047 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
3048
3049 * xterm.c (toplevel): Remove includes in #if 0.
3050
6f3f0db4
GM
3051 * process.c (sigchld_handler) [LINUX]: Don't return from
3052 the signal handler at the end of the loop.
3053
59957f85
GM
30542001-09-21 Gerd Moellmann <gerd@gnu.org>
3055
09c4719e
SM
3056 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
3057 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 3058
a0528984
EZ
30592001-09-21 Markus Rost <rost@math.ohio-state.edu>
3060
3061 * Makefile.in (shortlisp): Add ../lisp/env.elc.
3062
db92b288
GM
30632001-09-20 Gerd Moellmann <gerd@gnu.org>
3064
3fed8ad5
GM
3065 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
3066 since this function can be called during GC.
3067
db92b288
GM
3068 * callproc.c (Fcall_process): Handle errors from pipe(2).
3069 (child_setup): Delete code in #ifdef vipc.
3070
7121b85a
GM
30712001-09-19 Gerd Moellmann <gerd@gnu.org>
3072
72f62cb5
GM
3073 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
3074 (display_mode_element): Display the string from decode_mode_spec
3075 depending on its multibyteness.
3076
a2697022
GM
3077 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
3078
7121b85a
GM
3079 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
3080
bfc97351
GM
30812001-09-18 Gerd Moellmann <gerd@gnu.org>
3082
c9063433
GM
3083 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
3084 recursive_edit_unwind.
3085 (recursive_edit_unwind): Set kboard state according to
3086 SINGLE-KBOARD.
3087
3fbdba3e
GM
3088 * buffer.c (modify_overlay): Don't do nothing if START == END;
3089 This can still be a modification, for example when an overlay has
3090 a before-string or after-string.
3091 (Fdelete_overlay): Prevent redisplay optimizations when deleting
3092 an overlay with before-string or after-string.
3093
1270031d
GM
3094 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
3095 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
3096
bfc97351
GM
3097 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
3098 first_unchanged_at_end_row is in front of
3099 last_unchanged_at_beg_row. This code should be removed after the
3100 release of 21.1.
3101
d8a973aa
GM
31022001-09-17 Gerd Moellmann <gerd@gnu.org>
3103
e18c8b8d
GM
3104 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
3105 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
3106
d8a973aa
GM
3107 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
3108 versions >= 2.95.
3109
ed7d6ba4
EZ
31102001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
3111
3112 * dired.c (Ffile_attributes): Doc fix.
3113
551629f9
GM
31142001-09-14 Gerd Moellmann <gerd@gnu.org>
3115
3116 * fileio.c (Ffile_symlink_p): Fix last change.
3117
3118 * filelock.c (current_lock_owner): Fix last change.
3119
4c8c7926
GM
31202001-09-13 Gerd Moellmann <gerd@gnu.org>
3121
620c4704
GM
3122 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3123 take that to mean that the buffer is too small.
3124
81c3310d
GM
3125 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3126 that to mean that the buffer is too small.
3127
06fd3792
GM
3128 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3129 current buffer's multibyteness when discarding the iterator's
3130 stack.
3131
4c8c7926
GM
3132 * xfns.c (Fx_window_property): Handle case that property gets
3133 deleted between the two calls to XGetWindowProperty.
3134
9a72e4c1
GM
31352001-09-11 Gerd Moellmann <gerd@gnu.org>
3136
bd819d14 3137 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3138
a41edd99
GM
3139 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3140 in addition to read-only.
3141
3142 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3143 to t in addition to read-only.
3144
3145 * lisp.h (Qinhibit_modification_hooks): Declare.
3146
3147 * insdel.c (Qinhibit_modification_hooks): New variable.
3148 (syms_of_insdel): Initialize and staticpro it.
3149
d4881c6a
GM
3150 * textprop.c (verify_interval_modification): Don't run
3151 modification-hooks if inhibit_modification_hooks.
3152
3153 * dispnew.c (set_window_cursor_after_update): Fix code
3154 finding glyph row containing cursor when cursor_in_echo_area
3155 is >= 0.
3156
9a72e4c1
GM
3157 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3158 (add_to_log): Use bcopy instead of strcpy.
3159 (init_from_display_pos): Use an explicit loop over bytes in
3160 overlay strings instead of calling index.
3161
f4a374a1
GM
31622001-09-10 Gerd Moellmann <gerd@gnu.org>
3163
300e57bd
GM
3164 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3165
3166 * dispnew.c (direct_output_for_insert): Don't change IT's
3167 stop_charpos to something in front of its current position.
3168
f4a374a1
GM
3169 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3170 `format'.
3171
7e4cbc91
RS
31722001-09-10 Richard M. Stallman <rms@gnu.org>
3173
3174 * frame.c (Fmouse_position): Doc fix.
3175
6afad91e
GM
31762001-09-07 Gerd Moellmann <gerd@gnu.org>
3177
3178 * xdisp.c (init_from_display_pos): Don't compare the result
3179 of calling index with NULL.
3180
f76e0368
GM
31812001-09-06 Gerd Moellmann <gerd@gnu.org>
3182
3183 * xfns.c (x_set_background_color): Don't change the colors
3184 of the X window of scroll bar widgets.
3185
9ead1b60
AI
31862001-09-05 Andrew Innes <andrewi@gnu.org>
3187
3188 * w32fns.c (w32_createwindow): Undo last change.
3189
c3b497b3
GM
31902001-09-05 Gerd Moellmann <gerd@gnu.org>
3191
08e1d6df
GM
3192 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3193
c3b497b3
GM
3194 * xdisp.c (string_buffer_position): Use *single_char_property*
3195 functions instead of the *single_property* functions.
b56ba8de 3196
8f860180
AI
31972001-09-04 Andrew Innes <andrewi@gnu.org>
3198
9a72e4c1
GM
3199 * w32term.c (w32_read_socket): Add more information to debugging
3200 output.
8f860180
AI
3201
3202 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3203 from Emacs frames, so that calls to GetClipBox in w32term.c
3204 correctly report when part of a frame is visible (including
3205 scrollbars, etc). This prevents repeated redrawing of frames when
3206 only a scrollbar is visible.
3207 (w32_wnd_proc): Add more frame information to debugging output.
3208
2ee1aa00
SM
32092001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3210
3211 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3212
e3b22517
GM
32132001-09-03 Gerd Moellmann <gerd@gnu.org>
3214
7e376260
GM
3215 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3216 help-echo for a string which doesn't have help-echo itself, use
3217 get-char-property to obtain the help-echo from the string's buffer
3218 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3219 have mouse-face, look ``under'' the string for mouse-face from an
3220 overlay.
3221 (fast_find_position): Add parameter STOP. In the final row, stop
3222 before glyphs having STOP as object. Don't consider glyphs that
3223 are not from a buffer.
3224
e3b22517
GM
3225 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3226
9a249bba
EZ
32272001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3228
3229 * fns.c (Fmd5): Doc fix.
3230
c9979669
GM
32312001-08-31 Gerd Moellmann <gerd@gnu.org>
3232
3233 * composite.c (update_compositions): Do nothing if
3234 inhibit-modification-hooks is set.
3235
9584e63a
GM
32362001-08-30 Gerd Moellmann <gerd@gnu.org>
3237
986ec8f2 3238 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3239 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3240 glyph matrices etc. in a core dump.
3241
92a25631
GM
3242 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3243 (syms_of_xdisp): Initialize them.
3244 (handle_single_display_prop): Don't change point, bind `object',
3245 `position', and `buffer-position' instead to the object having the
2ee1aa00 3246 `display' property, position in the object and position in the buffer.
92a25631 3247
9584e63a
GM
3248 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3249 of the buffer if REPLACE is non-nil.
3250
d38633a3
GM
32512001-08-29 Gerd Moellmann <gerd@gnu.org>
3252
3253 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3254
f4fccc1e
EZ
32552001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3256
3257 * w32term.c (x_set_glyph_string_background_width)
3258 (show_mouse_face): Track the last changes in xterm.c.
3259
eaaa65b0
GM
32602001-08-28 Gerd Moellmann <gerd@gnu.org>
3261
7b0870b2
GM
3262 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3263 string's background width so that multi-line mouse-face is drawn
3264 to the right edge of the window.
3265 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3266 glyphs.
3267
6b6e2422 3268 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3269 before inserting/writing glyphs.
6b6e2422 3270
eaaa65b0
GM
3271 * xdisp.c (display_mode_element): Use string_byte_to_char to
3272 determine character positions in strings, use chars_in_text
3273 instead of strwidth.
3274 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3275 a matrix as parameter; this is easier to use from GDB.
3276
9ad62cf8
MB
32772001-08-28 Miles Bader <miles@gnu.org>
3278
2ee1aa00
SM
3279 * textprop.c (Fprevious_single_char_property_change)
3280 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3281
32171635
GM
32822001-08-27 Gerd Moellmann <gerd@gnu.org>
3283
47d57b22
GM
3284 * fileio.c (Finsert_file_contents): Allocate, restore, and
3285 free composition data in the case of REPLACE not being nil.
3286
3287 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3288 there exist overlay strings with newlines at POS.
3289 (text_outside_line_unchanged_p): Return 0 if changes start at
3290 START and overlays exist at START. Likewise for END.
3291 (try_window_id): Give up if init_to_row_end returns 0.
3292
32171635
GM
3293 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3294 unconditionally.
3295
e1249666
GM
32962001-08-24 Gerd Moellmann <gerd@gnu.org>
3297
33954c45
GM
3298 * keymap.c (access_keymap): Return the cdr of the binding of
3299 a generic character instead of its definition (KEY . BINDING).
3300
e1249666
GM
3301 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3302 to 0 also in the REPLACE case.
3303
fb4c6c96
AC
33042001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3305
3306 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3307 open to determine whether file is readable (as for DOS_NT).
3308
59ecf80b
GM
33092001-08-23 Gerd Moellmann <gerd@gnu.org>
3310
3311 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3312 coding.type is coding_type_no_conversion or coding_type_raw_text,
3313 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3314 non-nil instead of just setting enable_multibyte_characters in the
3315 buffer to nil.
3316
40e33037
GM
33172001-08-22 Gerd Moellmann <gerd@gnu.org>
3318
374388c3
GM
3319 * dispextern.h (struct face_cache): Add member
3320 menu_face_changed_p.
3321
3322 * xfaces.c (menu_face_changed_default): New variable.
3323 (menu_face_changed_count): Variable removed.
3324 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3325 the menu_face_changed_default flag, otherwise set the FRAME's
3326 menu_face_changed_p flag if the `menu' face has been changed.
3327 Prevent calling set_font_frame_param if FRAME is t.
3328 (make_face_cache): Initialize cache's menu_face_changed_p
3329 from menu_face_changed_default.
3330 (realize_basic_faces): Look into the frame's face cache to
3331 determine if the menu appearance needs updating.
3332
40e33037
GM
3333 * keymap.c (access_keymap): Fix last change to not consider
3334 IDX when it has modifiers.
3335
859ea4b8
GM
33362001-08-21 Gerd Moellmann <gerd@gnu.org>
3337
3338 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3339 . BINDING) exists, where GENERIC-CHAR is the generic character of
3340 the charset of IDX, return BINDING unless there exists a binding
3341 for IDX itself.
3342
e8660d73
GM
33432001-08-16 Gerd Moellmann <gerd@gnu.org>
3344
cca1b1d7
GM
3345 * xrdb.c (SYSV): Don't define on Solaris 2.
3346 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3347
e8660d73 3348 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3349 of the screen line, not text line, containing IT's current position.
e8660d73 3350
93aba6fc
GM
33512001-08-15 Gerd Moellmann <gerd@gnu.org>
3352
288d4e06
GM
3353 * window.c (window_scroll_pixel_based): Don't recenter if
3354 PT is partially visible in the window.
3355
3452efc2
SM
3356 * xterm.c (expose_window_tree, expose_window, expose_line):
3357 Return 1 when overwriting mouse-face.
82f053ab
GM
3358 (expose_frame): If mouse-face was overwritten, redo it.
3359
93aba6fc
GM
3360 * xfaces.c (x_update_menu_appearance): Don't call
3361 set_frame_menubar, let the next redisplay do it.
3362
858a55c1
AI
33632001-08-14 Andrew Innes <andrewi@gnu.org>
3364
3365 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3366 drawing glyph string.
3367
3a990b67
EZ
33682001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3369
3370 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3371 running HI-UX/MPP.
3372
04386463
GM
33732001-08-14 Gerd Moellmann <gerd@gnu.org>
3374
3375 * xfaces.c (x_update_menu_appearance): Save and restore value of
3376 interrupt_input_blocked.
3377
3e6385a4
GM
33782001-08-13 Gerd Moellmann <gerd@gnu.org>
3379
b0e619b4
GM
3380 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3381 a line start, move back to the line start.
3452efc2 3382
0de73d5a
GM
3383 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3384 exactly when a mini-buffer is active.
3385
3e6385a4
GM
3386 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3387 in units of 1/8 character on non window-system frames.
3388 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3389
d1b5f629
EZ
33902001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3391
3392 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3393 a doc string.
3394
eaa2319f
GM
33952001-08-09 Gerd Moellmann <gerd@gnu.org>
3396
8e3189f0
GM
3397 * keyboard.c (Vpre_help_message): New variable.
3398 (syms_of_keyboard): Initialize and staticpro it.
3399 (show_help_echo): Record current message before displaying a
3400 help-echo, and restore that message when clearing the help.
3401
eaa2319f
GM
3402 * xfns.c (x_create_im): Remove prototype.
3403
3404 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3405
3406 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3407
eaa2319f
GM
34082001-08-08 Gerd Moellmann <gerd@gnu.org>
3409
3410 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3411 windows whose height has changed, disable partially visible lines.
eaa2319f 3412
17fdcfc8
GM
34132001-08-07 Gerd Moellmann <gerd@gnu.org>
3414
22d01aed 3415 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3416 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3417
17fdcfc8
GM
3418 * xdisp.c (start_display): Don't try to determine the continuation
3419 lines width if lines are truncated. It's superfluous and leads to
3420 incorrect results if POS is not visible in the window after
3421 reseating the iterator at the previous line start.
3422
8e3fe78e
GM
34232001-08-06 Gerd Moellmann <gerd@gnu.org>
3424
3425 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3426
98a8938c
GM
34272001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3428
3429 * alloc.c (init_stack): Remove declaration.
3430
18f9986a
GM
34312001-08-03 Gerd Moellmann <gerd@gnu.org>
3432
5e1f85e0
GM
3433 * keyboard.c (read_key_sequence): Check that key is an integer
3434 before comparing it with quit_char.
3435 (add_command_key): Use larger_vector.
3436 (read_char_x_menu_prompt): Instead of converting symbol and
3437 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3438 which cannot be confused with valid events.
5e1f85e0
GM
3439 (read_char): When reading from Vunread_command_events, check for
3440 events of the form (EVENT . disabled) instead of
3441 (EVENT . nil).
3442
18f9986a
GM
3443 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3444 a float, determine the max height from the frame's height.
3445
fbc7f2a6
GM
34462001-08-02 Gerd Moellmann <gerd@gnu.org>
3447
3448 * xdisp.c (redisplay_internal): Take message_cleared_p into
3449 account only if minibuf_level == 0.
3450
81b1a79d
GM
34512001-08-01 Gerd Moellmann <gerd@gnu.org>
3452
e5c60873
GM
3453 * xdisp.c (redisplay_internal): Add a check for the last
3454 displayed message.
3452efc2 3455
6e019995
GM
3456 * xdisp.c (message_cleared_p): New variable.
3457 (clear_message): Set message_cleared_p when clearing the current
3458 message.
3459 (redisplay_internal): Look at message_cleared_p to capture
3460 the case that the echo area should be cleared.
3461
308a74d8
GM
3462 * keyboard.c (command_loop_1): Fix spelling of
3463 resize_echo_area_exactly.
3464
3452efc2 3465 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3466
3467 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3468
81b1a79d
GM
3469 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3470 current matrix when the window gets smaller.
3471
ada329e6
EZ
34722001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3473
3474 * print.c (strout): Cast the character passed to insert_char to
3475 unsigned char, to avoid sign extension when it is promoted to int.
3476
ed86208c
GM
34772001-07-31 Gerd Moellmann <gerd@gnu.org>
3478
3479 * fileio.c (Finsert_file_contents): Don't treat a return value
3480 of 0 from emacs_read as an IO error.
3481
6594ac22
GM
34822001-07-30 Gerd Moellmann <gerd@gnu.org>
3483
cef68af5
GM
3484 * keyboard.c (abs): New macro.
3485 (double_click_fuzz): New variable.
3486 (make_lispy_event): Use it to determine what makes a double-click.
3487 (syms_of_keyboard): DEFVAR_INT it.
3488
6594ac22
GM
3489 * xmenu.c (set_frame_menubar): Take into account that
3490 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3491 <raeburn@gnu.org>.
3492
75c5350a
GM
34932001-07-27 Gerd Moellmann <gerd@gnu.org>
3494
3495 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3496
3497 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3498 of row's visible height.
3499
3500 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3501 deal with the first overlay string having an image `display' property.
3502 (try_window_reusing_current_matrix, compute_line_metrics):
3503 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3504 row is invisible above and part of the row is at the same time
3505 invisible below the window.
3506
ac49effe
GM
35072001-07-26 Gerd Moellmann <gerd@gnu.org>
3508
3509 * xfns.c (x-show-tip): Doc fix.
3452efc2 3510
ac49effe
GM
3511 * xfns.c (Vx_max_tooltip_size): New variable.
3512 (syms_of_xfns): DEFVAR_LISP it.
3513 (Fx_show_tip): Set frame's window_width to the width of the
3514 window. Use a maximum tooltip size specified by
3515 Vx_max_tooltip_size, if that has valid contents.
3516 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3517
8c3b00cb
AI
35182001-07-26 Andrew Innes <andrewi@gnu.org>
3519
3520 * w32term.c (x_display_list): New variable.
3521 (w32_term_init): Set it.
3522
3523 * w32term.h (x_display_list): New extern.
3524
16098288
GM
35252001-07-26 Gerd Moellmann <gerd@gnu.org>
3526
3527 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3528 is non-nil, instead of when redisplaying_p is non-zero.
3529 See comment there.
16098288
GM
3530 (mark_window_display_accurate_1): Add an assertion.
3531
64c5be50
GM
35322001-07-25 Gerd Moellmann <gerd@gnu.org>
3533
e743f599
GM
3534 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3535
563b384d
GM
3536 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3537 events so that we get a chance of processing expose events.
3538
64c5be50
GM
3539 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3540
296808a5
GM
35412001-07-24 Gerd Moellmann <gerd@gnu.org>
3542
3543 * xfns.c (valid_image_p): Protect better against invalid image
3544 specifications. Previous code could signal an error.
3545
5247262a
GM
35462001-07-23 Gerd Moellmann <gerd@gnu.org>
3547
3452efc2 3548 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3549 presence of display table entries.
3550 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3551
dd42b31a
GM
3552 * dispnew.c (adjust_glyph_matrix): In the optimization for
3553 windows whose height has changed, use the new window height
3554 to compute which rows to invalidate.
3555
9e5a7f2a
GM
3556 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3557 (MAX_10_EXP): New macro.
3558 (Fformat): Use it.
3559
5247262a
GM
3560 * coding.c (code_convert_region): Handle the multibyte case if
3561 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3562
177ab8ce
GM
35632001-07-20 Gerd Moellmann <gerd@gnu.org>
3564
6e07c0a5
GM
3565 * dispextern.h (struct face): Change type of `stipple' to
3566 int; it's an ID.
3567
177ab8ce
GM
3568 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3569
b5b80599
GM
35702001-07-19 Gerd Moellmann <gerd@gnu.org>
3571
4e2a256b
GM
3572 * dispnew.c (update_window): Don't set the cursor at the end
3573 of the update if display update has been paused.
3574
3452efc2 3575 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3576
c1fd9232
KR
35772001-07-18 Ken Raeburn <raeburn@gnu.org>
3578
3579 * fns.c (Fset_char_table_default): Check that a charset is defined
3580 before checking its dimension.
3581
928a85c1
KR
35822001-07-17 Ken Raeburn <raeburn@gnu.org>
3583
3584 * coding.c (setup_coding_system): Don't do any designation based
3585 on reg_bits if charset is not yet defined.
3586
fb4c6c96 3587 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3588 pointer, using eassert.
3589
de11c1ea
GM
35902001-07-17 Gerd Moellmann <gerd@gnu.org>
3591
3452efc2
SM
3592 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3593 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3594
467f1209
GM
35952001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3596
3597 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3598
c3d6be34
GM
35992001-07-16 Gerd Moellmann <gerd@gnu.org>
3600
c1d61a7d
GM
3601 * fileio.c (unwind_read): Function removed.
3602 (read_non_regular, read_non_regular_quit): New functions.
3603 (Finsert_file_contents): When reading from non-regular files,
3604 arrange to catch a `quit' and terminate the loop. Rearrange
3605 code so that a `quit' when reading from a regular file doesn't
3606 insert text in the buffer.
3607
c3d6be34
GM
3608 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3609 Clear faces afterwards.
3610 (clear_font_table): Take a x_display_info parameter. Don't free
3611 fonts being the default font of any frame on the given display.
3612
e06aa1f9
GM
36132001-07-13 Gerd Moellmann <gerd@gnu.org>
3614
3615 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3616 instead of CHAR_STRING which can signal an error.
3617
3618 * charset.c (char_to_string_1): Extracted from char_to_string.
3619 Return -1 instead of signaling an error.
3620 (char_to_string): Use it.
3621
3622 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3623
176c92e6
SM
36242001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3625
3626 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3627 is t, don't try to append anything to it.
3628
1c56232f
EZ
36292001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3630
3631 * dired.c (file_name_completion): Pass dp->d_name to
3632 Fstring_match, not elt, which is always nil here.
3633
1d2b2268
GM
36342001-07-12 Gerd Moellmann <gerd@gnu.org>
3635
3636 * xselect.c (x_decline_selection_request): Handle errors
3637 caused by receivers that have vanished.
3638
3639 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3640 ignoring events on foreign windows in #if 0. Always dispatch
3641 the event after checking it with x_handle_property_notify.
3642
3643 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3644 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3645 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3646 (toplevel): Add prototypes for file-local functions.
3647 (x_atom_to_symbol): Remove DPYINFO parameter.
3648
fe5a0162
SM
36492001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3650
3651 * w32menu.c (menubar_selection_callback, w32_menu_show):
3652 Initialize `entry' to nil.
3653 (w32_dialog_show): Remove unused `save_wv' variable.
3654 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3655
a777242c
GM
36562001-07-11 Gerd Moellmann <gerd@gnu.org>
3657
8ee5b6a3
GM
3658 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3659
d0e2444e
GM
3660 * fileio.c (unwind_read): Print a message when discarding inserted
3661 text or switching the buffer to unibyte. Change parameter.
3662 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3663
a777242c
GM
3664 * fileio.c (unwind_read): New function.
3665 (Finsert_file_contents): Record it as unwind-function for
3666 the case that reading is interrupted by C-g.
3667
ae794295
GM
36682001-07-10 Gerd Moellmann <gerd@gnu.org>
3669
fe5a0162 3670 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3671 update when scrolling_window returns 0.
3672
6b05fae3
GM
3673 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3674
3675 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3676 for the case that x_decode_color signals an error.
6b05fae3 3677
ae794295
GM
3678 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3679
bb6e8cee
GM
36802001-07-09 Gerd Moellmann <gerd@gnu.org>
3681
3682 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3683 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3684 around ioctls.
3685
36b40a8a
EZ
36862001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3687
24b97d4b
EZ
3688 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3689 doc string line for dos-timezone-offset.
3690
36b40a8a
EZ
3691 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3692 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3693 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3694 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3695
3696 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3697
0967b4b0
GM
36982001-07-05 Gerd Moellmann <gerd@gnu.org>
3699
f25cfe53
GM
3700 * sound.c: Include Emacs' header files with #include "...".
3701
0967b4b0
GM
3702 * eval.c (specbind): Additionally record the buffer that was
3703 current when a buffer-local or frame-local variable was bound.
3704
c347a1c3
GM
37052001-07-04 Gerd Moellmann <gerd@gnu.org>
3706
3707 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3708 to unibyte characters in unibyte buffers.
3709
6332ca8a
GM
37102001-07-03 Gerd Moellmann <gerd@gnu.org>
3711
38472d44
GM
3712 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3713 the frame on the binding stack. Change format of entries for
3714 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3715 (unbind_to): Handle unbinding a frame-local variable.
3716
6332ca8a 3717 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3718 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3719 (dump_glyph_row): Print row's continuation_lines_width.
3720 (try_window_id): Take the shortcut if ZV is visible in the
3721 window, but there are actually no changes at ZV.
3722
63d1b174
GM
37232001-07-02 Gerd Moellmann <gerd@gnu.org>
3724
4c175203
GM
3725 * xterm.h (x_free_dpy_colors): Add prototype.
3726
3727 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3728 right number of arguments.
3729
0b54ce28
GM
3730 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3731 ($(lwlibdir)TAGS): New target.
4c175203 3732 (TAGS): Fix dependency list.
0b54ce28 3733
63d1b174
GM
3734 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3735 with input blocked.
3736
d827466c
GM
37372001-06-30 Gerd Moellmann <gerd@gnu.org>
3738
3739 * emacs.c (main): Remove extern declaration for sys_nerr, which
3740 isn't used and causes a compilation error with GCC 3.0 on
3741 FreeBSD 4.3.
3742
b5cb1ada
GM
37432001-06-27 Gerd Moellmann <gerd@gnu.org>
3744
a5d3ec3f 3745 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3746 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3747 (toplevel): Include <signal.h> and syssignal.h.
3748
b5cb1ada
GM
3749 * sound.c (vox_configure, vox_close): Turn off atimers
3750 around ioctls.
3751
d9bad487
GM
37522001-06-26 Gerd Moellmann <gerd@gnu.org>
3753
fdbb67fe
GM
3754 * keyboard.c (read_char) <non_reread>: Record the previous idle
3755 start time before calling timer_stop_idle.
3756 (read_char) <reread_first>: After processing a help-echo event,
3757 restore the previous idle start time.
3758
d9bad487
GM
3759 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3760 the start of invisible text.
3761 (setup_for_ellipsis): New function.
3762 (next_overlay_string): After all overlay strings have been
3763 processed, display an ellipsis if necessary.
3764 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3765 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3766
3767 * dispextern.h (struct iterator_stack_entry): Add member
3768 display_ellipsis_p.
3769
2b9c25e0
GM
37702001-06-25 Gerd Moellmann <gerd@gnu.org>
3771
80de57df
GM
3772 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3773 on the value of the wait-for-wm frame parameter.
3774
3775 * xterm.h (struct x_output): Add member wait_for_wm.
3776
3777 * xfns.c (Qwait_for_wm): New variable.
3778 (x_frame_parms): Add entry for `wait-for-wm".
3779 (x_set_wait_for_wm): New function.
3780 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3781 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3782
2b9c25e0
GM
3783 * xdisp.c (try_window_id) <all changes below window end>: Don't
3784 take this shortcut if ZV is visible in the window.
3785 (try_window_id): When checking for window start being in changed
3786 text, don't check that the buffer's size has changed.
3787
f772775c
RS
37882001-06-23 Richard M. Stallman <rms@gnu.org>
3789
3790 * minibuf.c (Fcompleting_read): Doc fix.
3791
fa9090b8
GM
37922001-06-19 Gerd Moellmann <gerd@gnu.org>
3793
3794 * composite.c (Ffind_composition_internal): Accept ZV
3795 and a string's end position as POS.
3796
f6f1beba
GM
37972001-06-18 Gerd Moellmann <gerd@gnu.org>
3798
3799 * composite.c (Ffind_composition_internal): Check POS
3800 for validity.
3801
0ae83348
EZ
38022001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3803
3804 * editfns.c (Fmessage_box): If the frame is not under a window
3805 system, output the message in the echo area.
3806
e4cdc335
RS
38072001-06-14 Richard M. Stallman <rms@gnu.org>
3808
3809 * xdisp.c (try_window_id): When EOB is visible, don't treat
3810 insertion at EOB as if it were "off the bottom of the screen."
3811
a55a5f3c
AI
38122001-06-11 Andrew Innes <andrewi@gnu.org>
3813
3814 * w32proc.c (create_child): Add new parameter is_gui_app.
3815 (w32_executable_type): Add new parameter is_gui_app.
3816 (sys_spawnve): Use it.
3817 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3818 SIGQUIT. This matches better how the signals are interpreted by
3819 MSVC compiled programs.
3820 (syms_of_ntproc): Update docstring.
3821
1b85dc1c
SM
38222001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3823
3824 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3825 well otherwise note_mouse_highlight might optimize away highlighting
3826 if we pass over that same overlay again.
3827
b75f8eab
EZ
38282001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3829
3830 * lread.c (Fload): Document that the argument is run via
3831 substitute-in-file-name.
3832
94843cc1
GM
38332001-05-31 Gerd Moellmann <gerd@gnu.org>
3834
b14659e6
GM
3835 * Makefile.in (bootstrap-doc): New target.
3836 (bootstrap-emacs): Depend on it.
3837
0894672f
GM
3838 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3839 auto-save-list-file-name when shutting down Emacs, because
3840 creating the directory might signal an error, and leaves
3841 Emacs in a strange state.
3842
94843cc1
GM
3843 * term.c: (tty_cursor_hidden): New variable.
3844 (update_begin): Don't call tty_hide_cursor. Clean up.
3845 (update_end, set_terminal_window, set_scroll_region): Clean up.
3846 (ring_bell, reset_terminal_modes): Clean up.
3847 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3848 on tty_cursor_hidden.
3849 (write_glyphs): Call tty_hide_cursor.
3850
db3a49a6
SM
38512001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3852
3853 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3854
8bd189fb
GM
38552001-05-30 Gerd Moellmann <gerd@gnu.org>
3856
6f1be3b9
GM
3857 * xfns.c (enum image_value_type): New enumerator
3858 IMAGE_STRING_OR_NIL_VALUE.
3859 (parse_image_spec): Handle it.
3860 (xbm_format, pbm_format): Use it for :foreground and :background.
3861 (xbm_load, pbm_load): Check for nil color names.
3862
8bd189fb
GM
3863 * xterm.c (note_mouse_highlight): If an overlapping overlay
3864 exists, but we find that we highlight the same overlay as before,
3865 don't do the highlighting again.
3866
7bdba03c
GM
38672001-05-29 Gerd Moellmann <gerd@gnu.org>
3868
4c329aa8
GM
3869 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3870 Protect unibyte strings created by replacing their multibyte
3871 equivalents in menu_items.
3872
e15e2828
GM
3873 * keymap.c (Fsingle_key_description): NUL-terminate the string
3874 buffer before calling build_string.
3875
7bdba03c
GM
3876 * callproc.c (Fcall_process): Deal with decode_coding returning
3877 CODING_FINISH_INCONSISTENT_EOL.
3878
89c8dc6c
GM
38792001-05-28 Gerd Moellmann <gerd@gnu.org>
3880
db3a49a6 3881 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3882 an item's name with its key description in case the description
3883 is a multibyte string.
3884
3885 * keymap.c (Fsingle_key_description): Create a multibyte string
3886 only if necessary.
3887
eb04d6cd
GM
3888 * macros.c (Fstart_kbd_macro): Doc fix.
3889
8bd6307f
GM
3890 * xterm.c (cursor_in_mouse_face_p): New function.
3891 (x_draw_stretch_glyph_string): Use it to choose a different GC
3892 when drawing a cursor within highlighted text.
3893
e26c4089
GM
3894 * editfns.c (char_property_eq): Put in #if 0.
3895
3896 * indent.c (string_display_width): Put in #if 0.
3897
3898 * lread.c (Fload): Remove unused label.
3899
89c8dc6c
GM
3900 * termcap.c (speeds): Put in #if 0.
3901
9a1211f2
GM
39022001-05-18 Gerd Moellmann <gerd@gnu.org>
3903
29148a3f
GM
3904 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3905
9a1211f2
GM
3906 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3907 transformation matrix by 10.
3908
09393d07
GM
39092001-05-16 Gerd Moellmann <gerd@gnu.org>
3910
3911 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3912 only if it's equal to the former foreground pixel color.
db3a49a6 3913 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3914 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3915
460e6bae
GM
39162001-05-16 Dave Love <fx@gnu.org>
3917
3918 * insdel.c (signal_before_change, signal_after_change): Consider a
3919 local change hook which changes the buffer.
99c78ce8
GM
3920
3921 * process.c (read_process_output): Don't call signal_after_change
3922 and update_compositions after insert_from_string_before_markers.
3923
dbcf3c03
GM
39242001-05-16 Gerd Moellmann <gerd@gnu.org>
3925
a90b3d3c
GM
3926 * xfaces.c (split_font_name): Use the right field when
3927 checking for `[...]' syntax.
3928
1b7818b4
GM
3929 * buffer.c (copy_overlays): New function.
3930 (clone_per_buffer_values): Use it.
3931
3932 * buffer.h (OVERLAY_PLIST): New macro.
3933
9bae8781
GM
3934 * keymap.c (Fsingle_key_description): Replace a build_string with
3935 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3936
dbcf3c03
GM
3937 * fontset.c (Ffontset_info): Check that face is non-null
3938 before accessing its fields.
3939
8a1ae4dd
GM
39402001-05-15 Gerd Moellmann <gerd@gnu.org>
3941
18a0a39e
GM
3942 * keyboard.c (read_key_sequence): Prevent generating a fake
3943 prefix key twice.
3944
e335b66a
GM
3945 * xfaces.c (split_font_name): Handle `[...]' for the right
3946 font name fields.
3947
8a1ae4dd
GM
3948 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3949 of CCL_STAT_INVALID_CMD.
3950
3cf80731
SM
39512001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3952
33568849
SM
3953 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3954 in <var> has no default value yet.
3955
3cf80731
SM
3956 * xfaces.c (try_alternative_families): First try the FAMILY.
3957 And if nothing is found in the end, try again with scalable fonts.
3958 (try_font_list): Let try_alternative_families do a bit more of
3959 the work. Only use FAMILY if it is not nil.
3960 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3961
933b0249
GM
39622001-05-14 Gerd Moellmann <gerd@gnu.org>
3963
58e5af83
GM
3964 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3965 pointer shape when show_mouse_face has already done it.
33568849 3966
58e5af83 3967 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3968 full-width rows.
3969
7b16a6bf
GM
3970 * xfaces.c (split_font_name): Make sure to leave the loop
3971 with the right value of `i'.
3cf80731 3972
933b0249
GM
3973 * xfaces.c (split_font_name): Handle matrix transformations
3974 in the pixel and point size fields of XLFD font names.
3975 (xlfd_point_size): Likewise.
3976
dddcbf00
EZ
39772001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3978
3cf80731 3979 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3980 (x_to_w32_font): Add prototype.
3981
7689ef0b
EZ
3982 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3983 redefining, to avoid compiler warnings.
3984
e7c15bba
EZ
3985 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3986
dddcbf00
EZ
3987 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3988 (w32_get_bdf_glyph): Cast between unsigned char and char when
3989 passing arguments to subroutines, to shut up compiler warnings.
3990 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3991 GET_HEX_VAL.
3992
3993 * xfaces.c: Include keyboard.h before frame.h, not after it.
3994
3995 * widget.c: Include keyboard.h before frame.h.
3996
3997 * w32term.h (struct image, struct face): Forward declaration, to
3998 avoid compiler warnings.
3999
7bd2d083
GM
40002001-05-11 Gerd Moellmann <gerd@gnu.org>
4001
47e72862
GM
4002 * keyboard.c (read_key_sequence): Don't modify events when
4003 generating fake prefix keys (mode-line, scroll-bar, ...) since
4004 this prevents proper processing of such events when pushed back
4005 into unread-command-events.
4006
dd5f324b
GM
4007 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
4008 actually redrawn. Make the function static.
4009 (note_mouse_highlight): Fix a case where the mouse cursor
4010 was changed back to the text cursor.
4011
4012 * xterm.h (clear_mouse_face): Remove prototype.
4013
d88a79d4
GM
4014 * xdisp.c (try_window_id): Fix the fix and set the right
4015 window_end_vpos.
4016
4017 * xdisp.c (try_window_id): Fix computation of window end in the
4018 case that lines were deleted at the end of the window. Add some
4019 more debug_method_adds.
0416532f 4020
7bd2d083
GM
4021 * xfaces.c (try_alternative_families): New function.
4022 (try_font_list): Use it. If ATTRS specifies a family, check
4023 fonts from that family first.
4024 (choose_face_font): Remove code setting the family part of
4025 the pattern to nil.
4026
23fca891
GM
40272001-05-10 Gerd Moellmann <gerd@gnu.org>
4028
ff9aa2ca
GM
4029 * xdisp.c (try_window_id): Fix case of all changes before
4030 the window start.
7b2654b5 4031
23fca891
GM
4032 * xdisp.c (try_window_id): Add some xasserts.
4033
e9726794
GM
40342001-05-09 Gerd Moellmann <gerd@gnu.org>
4035
4036 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
4037
9e53a675
GM
40382001-05-09 Dave Love <fx@gnu.org>
4039
4040 * xdisp.c (GIVE_UP): Fix for K&R C.
4041
0d487c52
GM
40422001-05-09 Gerd Moellmann <gerd@gnu.org>
4043
fe88d421
GM
4044 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
4045
0d487c52
GM
4046 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
4047 back to the text cursor shape without need.
4048
1e9fc92e
GM
40492001-05-07 Gerd Moellmann <gerd@gnu.org>
4050
a2a6232e
GM
4051 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
4052
4053 * dispextern.h (inverse_video): Declare extern.
4054
1e9fc92e
GM
4055 * keyboard.c (delete_kboard): Handle the case that selected_frame
4056 has been deleted in the course of x_connection_closed.
4057
12949a7f
EZ
40582001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
4059
7b2654b5
SM
4060 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
4061 Fix the change from 2001-04-30.
12949a7f 4062
2fa2f461
GM
40632001-05-03 Gerd Moellmann <gerd@gnu.org>
4064
a779d213
GM
4065 * xfns.c (file_dialog_unmap_cb): New function.
4066 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
4067 where a dialog is closed via the window manager.
4068
7b2654b5 4069 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
4070 the window start or all below the window end mostly rewritten.
4071 (redisplay_window): Move the tests if try_window_id is
4072 applicable to try_window_id.
4073 (GIVE_UP): New macro.
4074
3356df63
GM
40752001-05-02 Gerd Moellmann <gerd@gnu.org>
4076
a39202f6 4077 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
4078 currently being updated, mark the frame garbaged.
4079 Fix computation of rows intersecting the exposed rectangle.
a39202f6 4080 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 4081
3356df63
GM
4082 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
4083 again if it has already been drawn.
4084
a9d2fd1d
SM
40852001-05-01 Stefan Monnier <monnier@cs.yale.edu>
4086
4087 * syntax.c (update_syntax_table): Check that oldi has the same
4088 properties as old_prop before deciding not to invalidate.
4089
c95fc5f1
GM
40902001-04-30 Gerd Moellmann <gerd@gnu.org>
4091
a9793e45
GM
4092 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
4093 read-only text that is so because of text properties.
4094
c95fc5f1 4095 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 4096 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
4097 windows that are components of a Lucid menu bar.
4098
5a5d9185
GM
40992001-04-27 Gerd Moellmann <gerd@gnu.org>
4100
4101 * term.c (turn_on_face): Fix reverse video handling on terminals
4102 that don't support colors.
4103
ba973f7a
GM
41042001-04-26 Gerd Moellmann <gerd@gnu.org>
4105
4106 * editfns.c (save_excursion_restore): Don't use XBUFFER on
4107 a non-buffer.
4108
8c56a983
GM
41092001-04-25 Gerd Moellmann <gerd@gnu.org>
4110
a728644c
GM
4111 * term.c (toggle_highlight): New function.
4112 (turn_on_face): Change handling of reverse video.
4113
7b2654b5
SM
4114 * process.c (wait_reading_process_input):
4115 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 4116
bfd8410f
GM
4117 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4118 of the number of overlays to check.
4119
be2488ca
GM
4120 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4121
8c56a983
GM
4122 * xdisp.c (try_window_id): Fix a case where window_end_pos
4123 and window_end_bytepos were not adjusted.
4124
522d42f7
GM
41252001-04-23 Gerd Moellmann <gerd@gnu.org>
4126
4127 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4128 zero instead of -1.
4129
78c1afb6
EZ
41302001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4131
a9d2fd1d
SM
4132 * process.c (wait_reading_process_input) [!subprocesses]:
4133 Don't reference waiting_for_user_input_p, it's not defined in the
4134 branch without async subprocesses support.
78c1afb6 4135
a2fab450
GM
41362001-04-19 Gerd Moellmann <gerd@gnu.org>
4137
a122a38e
GM
4138 * keyboard.c (delete_kboard): Prevent a dangling reference
4139 from current_kboard to KB, which is freed.
4140
a9d2fd1d
SM
4141 * process.c (wait_reading_process_input):
4142 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4143 read_key_sequence aware of buffer changes from under it.
4144
0f8d6dc7
GM
41452001-04-18 Gerd Moellmann <gerd@gnu.org>
4146
eeffb293
GM
4147 * xfaces.c (Qscalable_fonts_allowed): New variable.
4148 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4149 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4150 removed.
eeffb293 4151 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4152 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4153 for scalable-fonts-allowed to t.
eeffb293 4154
0f8d6dc7
GM
4155 * fileio.c (Finsert_file_contents): If the file size returned from
4156 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4157 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4158
eec2d1de
EZ
41592001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4160
4161 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4162 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4163 (__memalign_hook): Make the two prototypes consistent.
4164
f4f480bd
GM
41652001-04-17 Gerd Moellmann <gerd@gnu.org>
4166
4167 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4168 matrix of mini-windows.
4169
52283633
SM
41702001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4171
4172 * intervals.c (find_interval): Don't rebalance during signal handling.
4173
ec2423c9
GM
41742001-04-11 Gerd Moellmann <gerd@gnu.org>
4175
30cb0001 4176 * fns.c: Include blockinput.h.
52283633 4177
ec2423c9
GM
4178 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4179
719d83ad
GM
41802001-04-10 Gerd Moellmann <gerd@gnu.org>
4181
60f8d735
GM
4182 * fns.c (Fcompare_strings): Fix return values.
4183
afffeb57
GM
4184 * window.c (window_scroll): Change the meaning of N to mean
4185 N screen-fulls or N lines.
4186 (window_scroll_pixel_based, window_scroll_line_based)
4187 (scroll_command, Fscroll_other_window): Change accordingly.
4188
52283633
SM
4189 * window.c (window_scroll_pixel_based, Frecenter):
4190 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4191 height of the window.
4192
4193 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4194 instead of using it.last_visible_y for the height of the window.
52283633 4195
719d83ad 4196 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4197 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4198
4199 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4200 able to write to hidden and system files. From Dan Holmsand
4201 <dan@eyebee.com>.
719d83ad 4202
8ddf3ee1
GM
4203 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4204 Holmsand <dan@eyebee.com>.
719d83ad 4205
522ed7fb
GM
42062001-04-09 Gerd Moellmann <gerd@gnu.org>
4207
9170e5d4
GM
4208 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4209
522ed7fb
GM
4210 * window.c (window_internal_height): Return 1 less if the
4211 window has a header line.
4212
4213 * xdisp.c (try_window_id): When scrolling on a terminal, take
4214 the change of window_internal_height into account.
4215
ceeb3d7d
EZ
42162001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4217
4218 * gmalloc.c (align): If the argument SIZE would overflow
4219 __malloc_ptrdiff_t, fail right away.
4220
63685b9d
GM
42212001-04-06 Gerd Moellmann <gerd@gnu.org>
4222
4223 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4224 Make sure the tooltip is completely visible.
4225 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4226
4227 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4228
4229 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4230
3ffb33bb
DL
42312001-04-06 Dave Love <fx@gnu.org>
4232
52283633
SM
4233 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4234 Fix test of `from'.
3ffb33bb 4235
869fb12c
GM
42362001-04-06 Gerd Moellmann <gerd@gnu.org>
4237
52283633 4238 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4239
869fb12c
GM
4240 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4241
441bf856
GM
42422001-04-05 Gerd Moellmann <gerd@gnu.org>
4243
4d664b04
GM
4244 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4245
52283633 4246 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4247
30ca89f5
GM
4248 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4249 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4250
4251 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4252 shell widget's position only if it is non-null.
4253
52283633
SM
4254 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4255 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4256
81a81c0f
GM
4257 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4258 FILENAME to bring it in synch with the documentation.
4259
441bf856
GM
4260 * xfaces.c (realizing_basic_faces_p): Renamed from
4261 realize_default_face_p.
4262 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4263 (realize_default_face): Don't set the flag.
4264
702a1e8e
GM
42652001-04-04 Gerd Moellmann <gerd@gnu.org>
4266
1013f4e3
GM
4267 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4268
52283633
SM
4269 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4270
1013f4e3
GM
4271 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4272 the buffer that was used for echoing.
4273
702a1e8e
GM
4274 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4275 (first_font_matching): Removed unused function.
4276 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4277 (may_use_scalable_font_p): Remove parameter FONT; rename
4278 parameter NAME to FONT.
4279 (x_face_list_fonts): Fix missing bounds check.
4280 (realizing_default_face_p): New variable.
4281 (realize_default_face): Set and clear that flag.
4282 (x_face_list_fonts): When called during the realization of the
4283 default face, and no matching fonts are found when ignoring
4284 scalable fonts and fonts matching a regexp from
4285 face-ignored-fonts, try without ignoring fonts.
4286
f9dbcda4
GM
42872001-04-03 Gerd Moellmann <gerd@gnu.org>
4288
ad18ffb1
GM
4289 * xfns.c (postprocess_image): New function.
4290 (lookup_image): Call it for all image types except PostScript.
4291 (x_kill_gs_process): Call postprocess_image.
4292
f9dbcda4
GM
4293 * xterm.c (x_use_underline_position_properties): New variable.
4294 (x_draw_glyph_string): Use it.
4295 (syms_of_xterm): DEFVAR_BOOL it.
4296
651f03b6
GM
42972001-04-02 Gerd Moellmann <gerd@gnu.org>
4298
4299 * xterm.c (x_alloc_nearest_color_1): New function.
4300 (x_alloc_nearest_color): Use it.
4301 (x_color_cells): Take a Display as argument, instead of a frame.
4302 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4303 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4304 (x_initialize): Register cvt_string_to_pixel as resource converter
4305 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4306
73d75a62
GM
43072001-03-30 Gerd Moellmann <gerd@gnu.org>
4308
b2046df8
GM
4309 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4310 (set_iterator_to_next): If a string from a display property ends,
4311 consider the case that this might also be the end of an
4312 overlay string having the display property.
4313
52283633 4314 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4315
87d8eba4
GM
4316 * xdisp.c (reseat_to_string): Undo last change.
4317
73d75a62
GM
4318 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4319 matrix of a window when the header line changes, when
4320 new rows are allocated, or when the width changes.
4321
911a2406
EZ
43222001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4323
52283633 4324 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4325
aea51abe
EZ
43262001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4327
4328 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4329 deprecated.
4330
176bc847
GM
43312001-03-29 Gerd Moellmann <gerd@gnu.org>
4332
ed31fabf
GM
4333 * data.c (Fsubr_interactive_form): New function.
4334 (syms_of_data): Defsubr it.
4335
176bc847
GM
4336 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4337 (live_float_p, live_misc_p): Return 1 only if the offset of the
4338 pointer in its block is >= 0.
4339
e59d0e9d
GM
43402001-03-28 Paul Eggert <eggert@twinsun.com>
4341
4342 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4343 microseconds calcuation. Avoid double-rounding problem.
4344 In doc string, warn that the result is approximate.
4345
f827b862
GM
43462001-03-28 Gerd Moellmann <gerd@gnu.org>
4347
30a3f61c
GM
4348 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4349 bind `inhibit-eval-during-redisplay' to t.
4350
4351 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4352
4353 * xdisp.c (inhibit_eval_during_redisplay)
4354 (Qinhibit_eval_during_redisplay): New variables.
4355 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4356 don't eval, return nil instead.
4357 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4358 Initialize Qinhibit_eval_during_redisplay.
4359
e719f5ae
GM
4360 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4361 the iterator's multibyte_p flag.
4362
deb2613a
GM
4363 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4364 instead of setting it to zero; it's incremented for each frame
4365 where the menu face is changed.
4366
52283633
SM
4367 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4368 change bottom shadow accordingly.
4369
4370 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4371 intersections here.
4372 (expose_window): Do it here instead.
52283633 4373 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4374
f827b862
GM
4375 * bytecode.c (BYTE_CODE_QUIT): New macro.
4376 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4377
4bde0ebb
GM
43782001-03-27 Gerd Moellmann <gerd@gnu.org>
4379
607ec83c
GM
4380 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4381 Give up if matrix starts in an ellipsis.
4382 (init_from_display_pos): Do nothing if POS doesn't specify
4383 a dpvec_index but the iterator has such a position.
4384
0245398f
GM
4385 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4386
aba25348
GM
4387 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4388 x/y position is (0, 0) after destroying the menu bar, restore
4389 its original position.
4390
4bde0ebb
GM
4391 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4392 (init_from_display_pos): Use it.
4393 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4394
8cdb267e
GM
43952001-03-26 Gerd Moellmann <gerd@gnu.org>
4396
4397 * xdisp.c (try_window_id): Undo last change.
4398
9948db79
EZ
43992001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4400
4401 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4402
4403 * buffer.c (syms_of_buffer): Doc fix.
4404
2eddf899
GM
44052001-03-26 Gerd Moellmann <gerd@gnu.org>
4406
4407 * xfaces.c (x_update_menu_appearance): Use local variable
4408 popup_path for setting font resources.
4409
6c145d35
EZ
44102001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4411
6a65b1b5
EZ
4412 * frame.c (Fframe_list): Don't reference tip_frame if
4413 HAVE_WINDOW_SYSTEM is not defined.
4414
6c145d35
EZ
4415 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4416 <wl@gnu.org>.
4417
d74c1900
GM
44182001-03-25 Gerd Moellmann <gerd@gnu.org>
4419
20fbd925
GM
4420 * xdisp.c (init_from_display_pos): Test invisible property
4421 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4422
927c5b3b
GM
4423 * xdisp.c (redisplay_internal) <update one window>: Make sure
4424 last_arrow_position and last_arrow_string are set.
4425
d74c1900
GM
4426 * frame.c (Fframe_list): Don't return a tooltip frame.
4427
091f8878
GM
44282001-03-23 Gerd Moellmann <gerd@gnu.org>
4429
52283633
SM
4430 * xdisp.c (mark_window_display_accurate_1): New function,
4431 extracted from mark_window_display_accurate.
4432 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4433 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4434 (mark_window_display_accurate): Use it.
4435 (redisplay_internal): Use it for the selected window.
4436 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4437 for the selected frame.
4438
ac90c44f
GM
4439 * xdisp.c Use make_number, for readability.
4440 (try_window_id): Disable rows below the window end.
4441 (try_window_reusing_current_matrix): Use cursor_row_p.
4442 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4443 of rows.
4444 (init_from_display_pos): If POS specifies a position in a display
4445 vector, maybe get the iterator set up for that ellipsis.
43c09969 4446
091f8878
GM
4447 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4448
991786dd
EZ
44492001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4450
4451 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4452
6c29b43c
GM
44532001-03-23 Gerd Moellmann <gerd@gnu.org>
4454
4455 * xfaces.c (x_update_menu_appearance): Use a different path
4456 for Lucid popup menus.
4457
d8731202
SM
44582001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4459
4460 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4461
4462 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4463 (string_buffer_position): Use `make_number'.
4464
f61a541b
GM
44652001-03-22 Gerd Moellmann <gerd@gnu.org>
4466
3c9e997b
GM
4467 * xfaces.c (x_update_menu_appearance): Renamed from
4468 x_set_menu_face_resources. Use different resources for popups.
4469
4470 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4471 (GC_CHECK_STRING_BYTES): Don't define.
4472
364cd450
GM
4473 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4474 Removed, together with subroutines.
4475 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4476 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4477
d8731202
SM
4478 * dispextern.h (x_set_menu_resources_from_menu_face):
4479 Remove prototype.
364cd450 4480
d8731202 4481 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4482 Remove calls to x_set_menu_resources_from_menu_face.
4483
d8731202
SM
4484 * xfaces.c (xm_set_menu_resources_from_menu_face):
4485 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4486
4487 * xmenu.c: Include widget.h.
4488 (single_submenu): Return int. Some cleanup.
4489 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4490
140330de
GM
44912001-03-21 Gerd Moellmann <gerd@gnu.org>
4492
4493 * xterm.c (x_update_window_end): Handle overwritten mouse face
4494 also for tool bar windows.
4495 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4496 DRAW is DRAW_IMAGE_RAISED.
4497
1741905c
GM
44982001-03-20 Gerd Moellmann <gerd@gnu.org>
4499
fa88947e
GM
4500 * print.c (syms_of_print): Doc fixes.
4501
1741905c
GM
4502 * fns.c (Fmd5): Doc fix.
4503
ade0bee1
GM
45042001-03-19 Gerd Moellmann <gerd@gnu.org>
4505
357e7376
GM
4506 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4507 Clear area of the frame not occupied by the scroll bar.
4508
c2c097cc
GM
4509 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4510 tip frame's root window buffer to *tip* right after creating
4511 the frame.
4512
ade0bee1
GM
4513 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4514 is an integer don't have to be for space characters.
4515
88c6e37e
GM
45162001-03-16 Gerd Moellmann <gerd@gnu.org>
4517
52283633
SM
4518 * indent.c (current_column, current_column_1, Fmove_to_column)
4519 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4520
c62eed76
KH
45212001-03-15 Kenichi Handa <handa@etl.go.jp>
4522
4523 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4524 drawing glyph string.
4525
c899e7e6
GM
45262001-03-15 Gerd Moellmann <gerd@gnu.org>
4527
d0bbfc99
GM
4528 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4529 (command_loop_1): Undo last change.
4530
03d1a189
GM
4531 * xterm.c (fast_find_position): Return the correct vpos.
4532
c899e7e6 4533 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4534 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4535 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4536 Call store_symval_forwarding with BUF null.
4537 (set_internal): Call store_symval_forwarding with the BUF
4538 parameter passed to set_internal. Formerly, the value was always
4539 set in the current buffer; the buffer recorded in specbind for
4540 this case wasn't used.
4541 (arith_driver): Reindent.
4542
52283633
SM
4543 * buffer.c (swap_out_buffer_local_variables):
4544 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4545
4546 * lisp.h (store_symval_forwarding): Change prototype.
4547
4548 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4549
57ac7c81
GM
45502001-03-14 Gerd Moellmann <gerd@gnu.org>
4551
697617d9
GM
4552 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4553 FOR_DELETION. Avoid resizing the mini-window of the selected
4554 frame if FOR_DELETION is set.
4555 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4556 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4557 signature.
4558
4559 * window.c (Fset_window_configuration): Change call to
4560 do_switch_frame to new format.
4561
4562 * keyboard.c (quit_throw_to_read_char): Change call to
4563 do_switch_frame to new format.
4564
4565 * lisp.h (do_switch_frame): Change prototype.
4566
819dce0f
GM
4567 * frame.c (Fframe_parameters): In the `buffer-list' frame
4568 parameter, store the buffer list of FRAME, not the list of the
4569 selected frame.
4570
57ac7c81
GM
4571 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4572 box just because the glyph row's full_width_p flag is set.
4573
65008712
GM
45742001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4575
4576 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4577 skip the padding blanks inserted in extend_face_to_end_of_line,
4578 before checking for trailing whitespace.
4579
159cf431
GM
45802001-03-13 Gerd Moellmann <gerd@gnu.org>
4581
52283633 4582 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4583 Remove special handling for LessTif/Motif.
4584 (toplevel): Don't include Xm/Xm.h.
4585
52283633
SM
4586 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4587 Remove workaround code for LessTif; it doesn't work anymore.
4588
2564ea1b 4589 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4590 Xm/ScrollBarP.h.
afcdc0a1 4591
52283633
SM
4592 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4593 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4594 contemporary LessTif.
4595
52283633
SM
4596 * xfaces.c (xm_set_menu_resources_from_menu_face):
4597 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4598
159cf431
GM
4599 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4600 removing button grabs.
4601
c6f7429a
KH
46022001-03-13 Kenichi Handa <handa@etl.go.jp>
4603
cb82d767
KH
4604 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4605 and clip-large-size-font as obsolete.
4606
c6f7429a
KH
4607 * lread.c (read_multibyte): Check the validity of multibyte
4608 sequence. If invalid, return the first byte.
4609
760cefb5
GM
46102001-03-12 Gerd Moellmann <gerd@gnu.org>
4611
4612 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4613 before running the command; timer functions or process
4614 filters may have set it.
4615
5141f9d0
EZ
46162001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4617
4618 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4619 Doc fix.
4620
b6a15240
GM
46212001-03-12 Gerd Moellmann <gerd@gnu.org>
4622
4623 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4624 to sprintf.
4625
95522746
GM
46262001-03-09 Gerd Moellmann <gerd@gnu.org>
4627
db14cfc5
GM
4628 * dispextern.h (string_buffer_position): Add prototype.
4629
52283633 4630 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4631 (single_display_prop_string_p): New functions.
4632
4633 * xterm.c (note_mouse_highlight): If there's no help-echo on
4634 a string, look at the buffer text ``under'' it.
4635
4636 * keyboard.c (make_lispy_event): Add string info to the event,
4637 analogous to what's done on mode lines.
4638 (read_key_sequence): For a click on a string, consider `local-map'
4639 and `keymap' of that string.
4640
52283633
SM
4641 * keyboard.c (make_lispy_event, make_lispy_movement):
4642 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4643
4644 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4645
4646 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4647 POS; return void.
4648
95522746
GM
4649 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4650 flags argument to emacs_open; it seems to conflict with O_EXCL.
4651
898a399d
KH
46522001-03-09 Kenichi Handa <handa@etl.go.jp>
4653
28cd4910
KH
4654 * composite.h (struct composition): Change types of members;
4655 glyph_len to unsigned, width to unsigned short.
898a399d 4656
4cdf6a6c
AI
46572001-03-08 Andrew Innes <andrewi@gnu.org>
4658
4659 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4660 menu titles.
4661
129004d3
GM
46622001-03-08 Gerd Moellmann <gerd@gnu.org>
4663
221dd3e7
GM
4664 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4665 instead of nil.
4666
52283633 4667 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4668 help-echo in strings.
4669 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4670 (fast_find_string_pos): New function.
4671
52283633
SM
4672 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4673 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4674
4675 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4676 Handle `mouse-face'.
4677
4678 * dispextern.h (face_at_string_position): Change prototype.
4679
52283633 4680 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4681
129004d3
GM
4682 * keyboard.c (make_lispy_event): Avoid generating drag events
4683 if the mouse hasn't actually moved to another buffer position.
52283633 4684
80c8ab8c
DL
46852001-03-08 Dave Love <fx@gnu.org>
4686
129004d3 4687 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4688
989521fd
GM
46892001-03-08 Gerd Moellmann <gerd@gnu.org>
4690
4691 * process.c (Fset_process_window_size): Fix a typo.
4692
bb5c338d
KH
46932001-03-08 Kenichi Handa <handa@etl.go.jp>
4694
4695 * coding.c (detect_coding_sjis): Do more rigid check.
4696 (detect_coding_big5): Likewise.
4697 (decode_coding_sjis_big5): Likewise.
4698 (Fdetect_coding_region): Call detect_coding_system with tailing
4699 anchor byte `\0' for more rigid detection.
52283633 4700 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4701 (Fdetect_coding_string): Likewise.
4702
8b8f9197
SM
47032001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4704
4705 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4706 a string before extracting its data.
4707
3bdf2660
GM
47082001-03-07 Gerd Moellmann <gerd@gnu.org>
4709
4710 * window.c (Frecenter): Rewrite code handling negative values
4711 of ARG on graphical frames.
4712
47132001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4714
4715 * window.c (displayed_window_lines): If W->start is outside the
4716 accessible portion of the buffer, call start_display with BEGV or
4717 ZV instead of W->start.
4718
471f86b9
GM
47192001-03-07 Gerd Moellmann <gerd@gnu.org>
4720
2ab62c6c
GM
4721 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4722
471f86b9
GM
4723 * process.c (Fset_process_filter): Don't crash if the input
4724 file descriptor of PROCESS is closed.
4725 (Fset_process_window_size): Likewise.
4726
101922c3
GM
47272001-03-06 Kenichi Handa <handa@etl.go.jp>
4728
4729 * xterm.c (XTflash): Make the timeout of select shorter, and call
4730 select repeatedly until the desired time expires.
4731
45d051a7
GM
47322001-03-06 Gerd Moellmann <gerd@gnu.org>
4733
4734 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4735
4736 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4737
4738 * lisp.h (Vwindow_list): Declare extern.
4739
8f372c46
EZ
47402001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4741
4742 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4743
f16a7aa5
GM
47442001-03-06 Gerd Moellmann <gerd@gnu.org>
4745
157ae273
GM
4746 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4747 to detect a case where we have to highlight a different region
4748 despite not having left the currently highlighted region.
4749 Set mouse_face_overlay in the x_display_info.
45d051a7 4750 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4751
4752 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4753
4754 * buffer.c (mouse_face_overlay_overlaps): New function.
4755
4756 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4757 (Qmouse_face): Declare extern.
4758
f16a7aa5
GM
4759 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4760 if face_change_count is non-zero.
4761
827afcac
KH
47622001-03-06 Kenichi Handa <handa@etl.go.jp>
4763
4764 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4765 that the source is unibyte.
4766
14c7242e
DL
47672001-03-05 Dave Love <fx@gnu.org>
4768
827afcac 4769 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4770
c28b847b
GM
47712001-03-05 Gerd Moellmann <gerd@gnu.org>
4772
4773 * minibuf.c (read_minibuf): Clean up the binding stack if
4774 called noninteractively.
4775
b86644f2
KH
47762001-03-05 Kenichi Handa <handa@etl.go.jp>
4777
4778 * coding.c (syms_of_coding): Docstring modified.
4779
203682cc 47802001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4781
4782 * charset.c (char_to_string): If a single byte char has modifier
4783 bits that can't be reflected to the character code, ignore them
45d051a7 4784 instead of signaling an error.
b86644f2 4785
e30bd7b7
EZ
47862001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4787
4788 * s/msdos.h: Update copyright notice.
4789
4790 * dosfns.h: Update copyright notice.
4791
4792 * dosfns.c: Update copyright notice.
4793
4794 * msdos.c: Update copyright notice.
4795
b52b65bd
GM
47962001-03-02 Gerd Moellmann <gerd@gnu.org>
4797
4798 * xterm.c (glyph_rect): New function.
4799 (XTmouse_position): Use it to raise the threshold for mouse
4800 movement event generation.
4801
53c4b1e6
EZ
48022001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4803
4804 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4805 specifies (reverse . t), reverse the initial screen colors.
4806 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4807 but we are reversing the colors, set bg_set, not fg_set.
4808 Likewise for setting background-color and reversing: set fg_set.
4809 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4810 in effect.
4811
4812 * xfaces.c (Finternal_set_lisp_face_attribute)
4813 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4814 parameters alist.
4815
f964b4d7
GM
48162001-03-02 Gerd Moellmann <gerd@gnu.org>
4817
ef53d75e
GM
4818 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4819 to a single slash in the middle of file names.
4820
52283633 4821 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4822 Accept only alphanumeric time zone names.
4823
f964b4d7
GM
4824 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4825 or width area.
4826 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4827 a widget to zero height.
52283633 4828
c3c45f65
GM
48292001-03-01 Gerd Moellmann <gerd@gnu.org>
4830
4831 * window.c (Fwindow_end): Call move_it_past_eol only if
4832 ending up on a partially visible line.
4833
028d739a
DL
48342001-03-01 Dave Love <fx@gnu.org>
4835
4836 * ccl.c (Fccl_execute): Doc fix.
4837
57c5889c
GM
48382001-03-01 Gerd Moellmann <gerd@gnu.org>
4839
35f59f6b
GM
4840 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4841 of the tool bar before calling x_figure_window_size.
4842
f84ff02c
GM
4843 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4844 NULL after destroying it, otherwise XTread_socket can access a
4845 destroyed widget when input is unblocked.
4846
8b8f9197 4847 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4848
57c5889c
GM
4849 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4850 same name as before, although there was a change in fontsets.
4851
224227d1
KR
48522001-02-28 Ken Raeburn <raeburn@gnu.org>
4853
4560730a
KR
4854 * lisp.h (Fframe_parameter): Declare.
4855
224227d1 4856 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4857 Lisp_Object.
224227d1 4858
ece93c02
GM
48592001-02-28 Gerd Moellmann <gerd@gnu.org>
4860
11ef99b9
GM
4861 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4862 NULL instead.
4863
4864 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4865 NULL instead.
4866
ece93c02
GM
4867 * alloc.c (toplevel): Include process.h.
4868 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4869 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4870 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4871 (allocate_vector, allocate_hash_table, allocate_window)
4872 (allocate_frame, allocate_process, allocate_other_vector):
4873 New functions.
ece93c02
GM
4874 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4875 (mark_maybe_pointer): New function.
52283633 4876 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4877 remain and not Lisp_Objects.
4878 (min_heap_address, max_heap_address): New variables.
4879 (mem_find): Return MEM_NIL if START is below min_heap_address or
4880 above max_heap_address.
4881 (mem_insert): Compute min_heap_address and max_heap_address.
4882
4883 * process.c (make_process): Use allocate_process.
4884
4885 * frame.c (make_frame): Use allocate_frame.
4886
4887 * window.c (make_window, make_dummy_parent): Use allocate_window.
4888 (Fcurrent_window_configuration): Use allocate_other_vector.
4889
4890 * lisp.h (allocate_vectorlike): Remove prototype.
4891 (allocate_vector, allocate_other_vector, allocate_frame)
4892 (allocate_window, allocate_process, allocate_hash_table):
4893 Add prototypes.
4894
4895 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4896 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4897
063af457
KH
48982001-02-27 Kenichi Handa <handa@etl.go.jp>
4899
4900 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4901 treat the produced bytes as a valid multibyte sequence.
4902
4903 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4904 (ccl_driver) <CCL_WriteMultibyteChar2>:
4905 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4906 <ccl_finish>: Set ccl->eight_bit_control properly.
4907
4908 * ccl.h (struct ccl_program): New member eight_bit_control.
4909
f58c6494
SM
49102001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4911
4912 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4913 accessible_keymaps_char_table.
4914 (accessible_keymaps_char_table): Obey `is_metized'.
4915 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4916 Lisp_Object.
4917
c596c392
GM
49182001-02-26 Gerd Moellmann <gerd@gnu.org>
4919
4920 * dispnew.c: Check HAVE_TERM_H before including term.h.
4921
425de386
AI
49222001-02-24 Andrew Innes <andrewi@gnu.org>
4923
4924 * makefile.w32-in: Update copyright notice.
4925
2ba11bbd
SM
49262001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4927
4928 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4929
66c56ed1
KH
49302001-02-24 Kenichi Handa <handa@etl.go.jp>
4931
4c1593ce
KH
4932 * Makefile.in (lisp): Add international/utf-8.elc.
4933
66c56ed1
KH
4934 * fontset.c (Fnew_fontset): Fix handling of the case that an
4935 element of FONTLIST is a cons of family and registry.
4936
796ead7e
JR
49372001-02-23 Jason Rumney <jasonr@gnu.org>
4938
4939 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4940 to height unconditionally.
4941
4942 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4943 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4944 (x_insert_glyphs): Call window_box_left to obtain the left
4945 x-coordinate of the area to shift.
4946
4947 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4948 safe_run_hooks.
4949
f6839838
AI
49502001-02-22 Andrew Innes <andrewi@gnu.org>
4951
52283633 4952 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4953 ($(BLD)\dispnew.obj):
4954 ($(BLD)\editfns.obj):
4955 ($(BLD)\fileio.obj):
4956 ($(BLD)\filelock.obj):
4957 ($(BLD)\keyboard.obj):
4958 ($(BLD)\w32proc.obj):
4959 ($(BLD)\process.obj):
4960 ($(BLD)\sysdep.obj): Ditto.
4961
4962 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4963 header files.
52283633
SM
4964 ($(BLD)/dispnew.$(O)):
4965 ($(BLD)/editfns.$(O)):
4966 ($(BLD)/fileio.$(O)):
4967 ($(BLD)/filelock.$(O)):
4968 ($(BLD)/keyboard.$(O)):
4969 ($(BLD)/w32proc.$(O)):
4970 ($(BLD)/process.$(O)):
f6839838
AI
4971 ($(BLD)/sysdep.$(O)): Ditto.
4972
c224f70b
GM
49732001-02-22 Gerd Moellmann <gerd@gnu.org>
4974
51695746
GM
4975 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4976 at the start of the function, check that the \n in it->c is
4977 from the iterator's current position.
52283633 4978
a61b7058
GM
4979 * xdisp.c (handle_single_display_prop): Add parameter
4980 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4981 properties which replace the display of text with something else.
4982 (handle_display_prop): Call handle_single_display_prop with
4983 additional argument saying if we already replaced text display
4984 with something else. Use AREF.
52283633 4985 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4986 (decode_mode_spec_coding): Use AREF and ASIZE.
4987
3473f362
GM
4988 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4989 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4990 * vmstime.h: Files removed.
52283633 4991
2bb58df3
GM
4992 * unexencap.c, unexfx2800.c: Files removed.
4993
c224f70b
GM
4994 * dispnew.c (direct_output_for_insert): Give up if we are showing
4995 a message or just cleared the message because we might need to
4996 resize the echo area window or display an empty echo area.
4997
ffc9ff0c
GM
49982001-02-21 Gerd Moellmann <gerd@gnu.org>
4999
0528abe1
GM
5000 * xdisp.c (redisplay_internal): Do the
5001 mark_window_display_accurate after all windows have been
5002 redisplayed because this call resets flags in buffers which are
5003 needed for proper redisplay.
5004
52283633
SM
5005 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
5006 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
5007 the old names.
5008
52283633
SM
5009 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5010 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
5011
5012 * msdos.h (struct x_output): Rename busy_window to
5013 hourglass_window, busy_p to hourglass_p.
5014
52283633
SM
5015 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
5016 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
5017
5018 * xfns.c: Rename everything containing *busy_cursor* and similar
5019 to *hourglass*.
5020 (syms_of_w32fns): Rename x-busy-pointer-shape to
5021 x-hourglass-pointer-shape, display-busy-cursor to
5022 display-hourglass, busy-cursor-delay to hourglass-delay.
5023
5024 * w32fns.c: Rename everything containing *busy_cursor* and similar
5025 to *hourglass*.
5026 (syms_of_w32fns): Rename x-busy-pointer-shape to
5027 x-hourglass-pointer-shape, display-busy-cursor to
5028 display-hourglass, busy-cursor-delay to hourglass-delay.
5029
5030 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
5031 of its busy_p flag.
5032
5033 * dispextern.h (start_hourglass, cancel_hourglass)
5034 (display_hourglass_p): Renamed from *busy_cursor*.
5035
ab2c5f0a
GM
50362001-02-20 Gerd Moellmann <gerd@gnu.org>
5037
d17e49a8
GM
5038 * keyboard.c (read_char): When an event from unread-command-events
5039 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
5040
fa97adf6
GM
5041 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
5042 equal to the current buffer.
5043
ab2c5f0a
GM
5044 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
5045 nil, otherwise we're left with truncate_lines t when a message
5046 is printed with message-truncate-lines bound to t.
5047
aeac019e
GM
50482001-02-19 Gerd Moellmann <gerd@gnu.org>
5049
c8bc6f65
GM
5050 * window.c (Fmove_to_window_line): Undo last change.
5051 (displayed_window_lines): Call line_bottom_y to determine
5052 the line's bottom position.
5053
5054 * dispextern.h (line_bottom_y): Add prototype.
5055
52283633 5056 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
5057 (pos_visible_p): Use it.
5058
980a2d69
GM
5059 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
5060 set redisplaying_p to 0 here instead of in Frecursive_edit.
5061 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
5062 set redisplaying_p.
5063
52283633 5064 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
5065 New variables.
5066 (syms_of_xdisp): Initialize new variables.
5067 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
5068 Specbind `inhibit-menubar-update' when updating the menu bar.
5069
65048e97
GM
5070 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
5071 safe_run_hooks.
5072
5073 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
5074 safe_run_hooks.
5075
a57c4026
GM
5076 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
5077 is null.
5078
aeac019e
GM
5079 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
5080 to the start of the file.
5081
76846b31
GM
50822001-02-16 Gerd Moellmann <gerd@gnu.org>
5083
f3f053f3 5084 * window.c (set_window_buffer): Fix last change.
52283633 5085
f3f053f3
GM
5086 * window.c (set_window_buffer): Set window's vscroll to 0.
5087
dad75588
GM
5088 * window.c (coordinates_in_window): Increase width of area
5089 where the vertical line can be dragged.
5090
c220b753
GM
5091 * xterm.c (x_set_glyph_string_background_width): Extend the
5092 background face to the end of the drawing area in the text
5093 area, only.
5094
c56b1c1b
GM
5095 * xdisp.c (handle_single_display_prop): Set iterator's position
5096 to where the `display' property starts, like for images.
5097 (dump_glyph): New function.
5098 (dump_glyph_row): Use it. Dump info about marginal areas.
5099
5100 * dispnew.c (direct_output_for_insert): Recognize more cases where
5101 glyphs can be written instead of being inserted.
5102
5103 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
5104 the left x-coordinate of the area to shift.
5105
76846b31
GM
5106 * dired.c (directory_files_internal): Set result list to nil
5107 before retrying.
5108
0fc71a77
KH
51092001-02-15 Kenichi Handa <handa@etl.go.jp>
5110
5111 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
5112 invalid multibyte sequence, treat *SRC as a character of
5113 eight-bit-graphic.
5114
25078b54
EZ
51152001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5116
5117 * textprop.c (Fset_text_properties): Doc fix.
5118
8399f8a0
GM
51192001-02-15 Gerd Moellmann <gerd@gnu.org>
5120
5121 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5122
9a2a6f73
DL
51232001-02-14 Dave Love <fx@gnu.org>
5124
5125 * coding.c: Doc and message fixes.
5126
bf853fee
AI
51272001-02-14 Andrew Innes <andrewi@gnu.org>
5128
5129 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5130 Emacs frame above the screen size.
5131
78c663d8
GM
51322001-02-14 Gerd Moellmann <gerd@gnu.org>
5133
5134 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5135
7cc9f69f
GM
51362001-02-13 Gerd Moellmann <gerd@gnu.org>
5137
0a411995
GM
5138 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5139 case that TO ends up beyond ZV after running before-change-functions.
5140
5ddc1b75
GM
5141 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5142 the selected window if it is showing the buffer in question.
5143
7cc9f69f
GM
5144 * dired.c (directory_files_internal): Initialize errno.
5145 (toplevel): Include errno.h.
5146
2e6621ca
GM
51472001-02-13 Kenichi Handa <handa@etl.go.jp>
5148
5149 * xfaces.c (best_matching_font): New parameter width_ratio.
5150 Multiply avgwidth by width_ratio.
5151 (choose_face_font): Call best_matching_font with width_ratio
5152 calculated from the column width of C.
5153
60222d69
AI
51542001-02-12 Andrew Innes <andrewi@gnu.org>
5155
5156 The following changes are to draw box lines inside characters area
5157 if line-width is negative.
52283633 5158
60222d69
AI
5159 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5160 face->box_line_width is negative.
5161 (x_produce_stretch_glyph): Likewise.
5162 (x_produce_glyphs): Likewise.
5163 (x_estimate_mode_line_height): Likewise.
5164 (x_draw_glyph_string_background): Likewise.
5165 (x_draw_glyph_string_foreground): Likewise.
5166 (x_draw_composite_glyph_string_foreground): Likewise.
5167 (x_draw_glyph_string_box): Likewise.
5168 (x_draw_image_foreground): Likewise.
5169 (x_draw_image_relief): Likewise.
5170 (x_draw_image_foreground_1): Likewise.
5171 (x_draw_image_glyph_string): Likewise.
5172
9804b846
KH
51732001-02-09 Kenichi Handa <handa@etl.go.jp>
5174
5175 The following changes are to draw box lines inside characters area
5176 if line-width is negative.
52283633 5177
9804b846
KH
5178 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5179 face->box_line_width is negative.
5180 (x_produce_stretch_glyph): Likewise.
5181 (x_produce_glyphs): Likewise.
5182 (x_estimate_mode_line_height): Likewise.
5183 (x_draw_glyph_string_background): Likewise.
5184 (x_draw_glyph_string_foreground): Likewise.
5185 (x_draw_composite_glyph_string_foreground): Likewise.
5186 (x_draw_glyph_string_box): Likewise.
5187 (x_draw_image_foreground): Likewise.
5188 (x_draw_image_relief): Likewise.
5189 (x_draw_image_foreground_1): Likewise.
5190 (x_draw_image_glyph_string): Likewise.
5191
5192 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5193 and :line-width can be negative.
52283633 5194 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5195
49be9f70
JR
51962001-02-09 Jason Rumney <jasonr@gnu.org>
5197
5198 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5199 characters the same as ASCII and latin-1.
5200 (x_display_and_set_cursor): Check for the focus frame's selected
5201 window instead of selected_window.
5202 (x_after_update_window_line): Don't clear if frame's internal
5203 border width is zero.
5204 (x_new_font): Don't change a tooltip's size.
5205 (w32_initialize): Set char_ins_del_ok to 1.
5206
5207 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5208 (x_set_font): If font hasn't changed, avoid recomputing
5209 faces and other things.
52283633
SM
5210 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5211 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5212 (x_create_tip_frame): Prevent changing the tooltip's
5213 background color by specifying a color for the default font
5214 in .Xdefaults.
5215 (Qcancel_timer): New variable.
5216 (syms_of_w32fns): Initialize and staticpro it.
5217 (Fx_hide_tip, Fx_show_tip): Use it.
5218 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5219 the timer.
5220 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5221
5222 * w32.c (init_environment): Duplicate local string before putenv.
5223
555e35d2
SZ
52242001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5225
5226 * charset.c (Fstring): A typo.
5227
19c92c94
KH
52282001-02-09 Kenichi Handa <handa@etl.go.jp>
5229
e47a1c33
KH
5230 * charset.c (Fstring): If all arguments are less than 256, return
5231 a unibyte string.
5232
5233 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5234 return a unibyte string.
5235
19c92c94
KH
5236 * coding.c (code_convert_region): After detecting a coding, if
5237 nothing found, set coding->composing to COMPOSITION_NO.
5238 (decode_coding_string): Likewise.
5239
d8e675f5
SM
52402001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5241
5242 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5243 to avoid overflow.
5244
bd503487
KH
52452001-02-07 Kenichi Handa <handa@etl.go.jp>
5246
5247 * charset.c (parse_str_to_multibyte): New function.
5248
5249 * charset.h (parse_str_to_multibyte): Extern it.
5250
5251 * print.c (print_string): If we are going to print a unibyte
5252 string into a multibyte buffer, convert the string to multibyte by
5253 str_to_multibyte.
5254
a8370d72
AI
52552001-02-06 Andrew Innes <andrewi@gnu.org>
5256
5257 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5258 been created. It seems we can get sent window messages such as
5259 WM_ERASEBKGND before we properly update a frame.
5260
c363a1d6
GM
52612001-02-06 Gerd Moellmann <gerd@gnu.org>
5262
5263 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5264 Avoid some unnecessary cursor positioning.
5265
a08332c0
GM
52662001-02-05 Gerd Moellmann <gerd@gnu.org>
5267
52283633 5268 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5269 (LFACE_AVGWIDTH): New macro.
5270 (LFACEP): Use AREF.
5271 (check_lface_attrs): Check LFACE_AVGWIDTH.
5272 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5273 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5274 (merge_face_vectors): Check LFACE_AVGWIDTH.
5275 (Finternal_make_lisp_face): Use AREF.
5276 (xm_set_menu_resources_from_menu_face)
5277 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5278 (Finternal_lisp_face_empty_p): Use AREF.
5279 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5280 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5281 Compare average widths..
5282 (best_matching_font): Arrange for comparing average widths.
5283
52283633
SM
5284 * dispextern.h (enum lface_attribute_index):
5285 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5286
5cb3c8d4
DL
52872001-02-05 Dave Love <fx@gnu.org>
5288
5289 * puresize.h: Revert last change following loadup.el change.
5290
193fba87
AI
52912001-02-05 Andrew Innes <andrewi@gnu.org>
5292
5293 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5294 invocation of temacs, to work with Windows 2000.
5295 (bootstrap-emacs): Ditto.
5296
e16f52ce
GM
52972001-02-05 Gerd Moellmann <gerd@gnu.org>
5298
7a58ab59
GM
5299 * xterm.c (x_display_and_set_cursor): Check for the focus
5300 frame's selected window instead of selected_window.
5301
e89aaabd
GM
5302 * xdisp.c (try_scrolling): If point is in the line below the
5303 window, make sure to move the iterator at least a canonical
5304 char height down.
5305
52283633 5306 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5307
789ce875
KH
53082001-02-05 Kenichi Handa <handa@etl.go.jp>
5309
52283633
SM
5310 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5311 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5312 (ccl_driver): If the CCL program is terminated because of
5313 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5314 destination instead of throwing them away.
5315
20b28f82
GM
53162001-02-02 Gerd Moellmann <gerd@gnu.org>
5317
79fb38c0
GM
5318 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5319 faces and other things.
5320
20b28f82
GM
5321 * xdisp.c (get_next_display_element): Fix case of empty
5322 display table entry.
5323
5a72551e
EZ
53242001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5325
eb24d0bf
EZ
5326 * editfns.c (Fconstrain_to_field): Doc fix.
5327
6a3f48c7
EZ
5328 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5329 into `thoroughly', to make it consistent with the doc string.
5330
5a72551e
EZ
5331 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5332
01acdb05
GM
53332001-02-01 Gerd Moellmann <gerd@gnu.org>
5334
0353b28f
GM
5335 * search.c (search_buffer): Call set_search_regs with a byte
5336 position, not a character position.
5337
01acdb05
GM
5338 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5339 minibuffer-only,
5340
e86b5133
EZ
53412001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5342
5343 * frame.c (Fmodify_frame_parameters): Doc fix.
5344
7442878f
GM
53452001-01-31 Gerd Moellmann <gerd@gnu.org>
5346
01acdb05
GM
5347 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5348 identifier which is not reserved by Standard C.
52283633 5349
7442878f
GM
5350 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5351
5352 * window.c (enum window_part): New enumeration.
5353 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5354 Qright_bitmap_area.
5355 (coordinates_in_window): Return an enumerator from enum
5356 window_part. Fix handling of right scroll bar.
5357 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5358 `right-fringe' instead of `left-bitmap-area' and
5359 `right-bitmap-area'. Use enumerators from enum window_part
5360 instead of hard-coded integers.
52283633
SM
5361 (check_window_containing, window_from_coordinates):
5362 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5363 (syms_of_window): Replace Qleft_bitmap_area and
5364 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5365
7c132cba
EZ
53662001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5367
5368 * editfns.c (Fformat_time_string): Doc fix.
5369
c359dd9e
SM
53702001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5371
5372 * keymap.c (Fwhere_is_internal): Use the first valid binding
5373 if no ascii binding is found (when firstonly is t).
5374
ce070307
GM
53752001-01-31 Gerd Moellmann <gerd@gnu.org>
5376
b4f30ec5
GM
5377 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5378 instead of Finteractive_p.
5379
5380 * lisp.h (interactive_p): Add prototype.
5381
5382 * eval.c (interactive_p): New function.
5383 (Finteractive_p): Use it.
5384
ce070307
GM
5385 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5386
f57b6e64
DL
53872001-01-31 Dave Love <fx@gnu.org>
5388
d61c7afe
DL
5389 * .gdbinit (hook-run): Define to run xreload.
5390
f57b6e64
DL
5391 * textprop.c (Fset_text_properties): Fix newline in doc string.
5392
eef93f99
GM
53932001-01-30 Gerd Moellmann <gerd@gnu.org>
5394
52283633
SM
5395 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5396 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5397
5398 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5399 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5400 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5401
5402 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5403 height.
5404
d9c1f6f9
DL
54052001-01-30 Dave Love <fx@gnu.org>
5406
5407 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5408 AFTER_POTENTIAL_GC.
5409
e8f044a0
GM
54102001-01-29 Gerd Moellmann <gerd@gnu.org>
5411
52283633
SM
5412 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5413 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5414
8e1db7b3
EZ
54152001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5416
5417 * textprop.c (Fset_text_properties): Doc fix.
5418
4eefd9d2
GM
54192001-01-29 Gerd Moellmann <gerd@gnu.org>
5420
5421 * xdisp.c (forward_to_next_line_start): Remove xassert.
5422
fccb8288
EZ
54232001-01-29 Jason Rumney <jasonr@gnu.org>
5424
4eefd9d2 5425 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5426 returning without releasing it.
5427
76581eab
KH
54282001-01-29 Kenichi Handa <handa@etl.go.jp>
5429
5430 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5431 for '^', '$', and '\0'.
5432
83a96b4d
AC
54332001-01-28 Andrew Choi <akochoi@i-cable.com>
5434
5604ec34
AC
5435 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5436 regex for '^', '$', and '\0'.
5437
83a96b4d
AC
5438 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5439 only if current_sblock has been initialized.
5440
5441 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5442 terminal frame even if it is the only visible frame.
5443
c09a6440
KH
54442001-01-28 Kenichi Handa <handa@etl.go.jp>
5445
5446 * fontset.c (font_family_registry): Even if FONTNAME conform to
5447 XLFD, if it specifies other fields than family and registry,
52283633 5448 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5449 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5450 a signle byte character. Don't set FAMILY part to nil here.
5451 It is handled by the caller choose_face_font.
c09a6440
KH
5452 (Fnew_fontset): Call font_family_registry with FORCE 0.
5453 (Fset_fontset_font): Likewise.
5454
4dcd74e6
GM
54552001-01-27 Gerd Moellmann <gerd@gnu.org>
5456
5457 * xdisp.c (display_line): Don't treat a newline as fitting
5458 on the line.
5459
d2906bf8
GM
54602001-01-26 Gerd Moellmann <gerd@gnu.org>
5461
0130fe1a
GM
5462 * window.c (size_window): Set the window's orig_top to nil when
5463 changing heights, so that a future shrink_mini_window won't
5464 restore a bogus height.
5465
550f0e6a
GM
5466 * frame.c (do_switch_frame): If selected frame has a mini-window,
5467 resize that to exact size.
5468
b7b20fbd
GM
5469 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5470
a47b7816
GM
5471 * xdisp.c (display_line): Simplify check for glyphs fitting
5472 entirely in the line.
5473
d2906bf8
GM
5474 * xfns.c (xic_style): New variable.
5475 (create_frame_xic): Move static variable to global scope for
550f0e6a 5476 the case that `static' gets defined away.
d2906bf8 5477
73df2b1e
KH
54782001-01-26 Kenichi Handa <handa@etl.go.jp>
5479
5480 * coding.c (decode_coding): Set a flag for inhibiting
5481 inconsistent eol.
5482 (code_convert_region): Always set saved_coding_symbol.
5483 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5484 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5485
6613cfc4
GM
54862001-01-25 Gerd Moellmann <gerd@gnu.org>
5487
c5e6e06b
GM
5488 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5489 XClearArea.
5490
5491 * xterm.c (x_after_update_window_line): Don't clear if frame's
5492 internal border width is zero.
5493 (x_clear_area): New function.
5494 (x_after_update_window_line, x_clear_end_of_line)
5495 (x_scroll_bar_create, x_scroll_bar_set_handle)
5496 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5497 instead of XClearArea.
5498
5499 * xterm.h (x_clear_area): Add prototype.
5500
6613cfc4
GM
5501 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5502 which doesn't seem necessary anymore with Lesstif 0.92.
5503
650cc6cc
DL
55042001-01-25 Dave Love <fx@gnu.org>
5505
34ac3367
DL
5506 * puresize.h (BASE_PURESIZE): Up to 720000.
5507
650cc6cc
DL
5508 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5509
5e37dc22
GM
55102001-01-25 Gerd Moellmann <gerd@gnu.org>
5511
e1e441f9
GM
5512 * xdisp.c (echo_area_display): Don't call redisplay_internal
5513 when Emacs is shutting down. We can't run hooks etc. that
5514 would be necessary to do a redisplay.
5515
5e37dc22
GM
5516 * lread.c (read_integer): Use type EMACS_INT instead of int.
5517
0fb94c7f
EZ
55182001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5519
5520 * ccl.c (ccl_driver): Fix last change.
5521
e3778624
KH
55222001-01-25 Kenichi Handa <handa@etl.go.jp>
5523
5524 * ccl.h (sturct ccl_program): New member suppress_error.
5525
bb264518 5526 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5527 insert error message to the output.
5528 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5529
5530 * coding.h (struct coding_system): New member suppress_error.
5531
5532 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5533 (Fset_terminal_coding_system_internal): Set the member
5534 suppress_error to 1.
5535 (Fset_safe_terminal_coding_system_internal): Likewise.
5536
245ed2b1
SM
55372001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5538
5539 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5540 as if it was a `charset'.
5541
f9aaedb6
GM
55422001-01-24 Gerd Moellmann <gerd@gnu.org>
5543
5544 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5545 value in where_is_cache; the next lookup in the cache returns
5546 something bogus if we do.
5547
c3902c3e
EZ
55482001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5549
5550 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5551 if HAVE_WINDOW_SYSTEM isn't defined.
5552
3497f73e
GM
55532001-01-24 Gerd Moellmann <gerd@gnu.org>
5554
e7e41584
GM
5555 * fns.c (sweep_weak_table): Fix code taking items out of
5556 the hash collision chain. Some cleanup.
5557
3497f73e
GM
5558 * xterm.c (x_new_font): Don't change a tooltip's size.
5559
5560 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5561 background color by specifying a color for the default font
5562 in .Xdefaults.
5563
3d48e687
KH
55642001-01-24 Kenichi Handa <handa@etl.go.jp>
5565
96531b20
KH
5566 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5567 a workaround for SunOS 4's cc.
5568 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5569 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5570 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5571 statement.
3d48e687 5572
a30629d2
GM
55732001-01-23 Gerd Moellmann <gerd@gnu.org>
5574
5575 * xterm.c (x_set_window_size_1): New function extracted from
5576 x_set_window_size.
5577 (x_set_window_size): Use it.
5578 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5579 doesn't have a widget, like tooltips.
5580
5a43decf
EZ
55812001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5582
52283633 5583 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5584
b0e98867
KH
55852001-01-23 Kenichi Handa <handa@etl.go.jp>
5586
5587 * fns.c (Fset_char_table_default): Fix to make sub char-table
5588 correctly.
5589
50606b4c
GM
55902001-01-22 Gerd Moellmann <gerd@gnu.org>
5591
cb2ddc53 5592 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5593 a desired tool bar string, even if there are no tool bar items.
5594
57c28064
GM
5595 * xdisp.c (Ftool_bar_lines_needed): New function.
5596 (syms_of_xdisp): Defsubr it.
5597
50606b4c
GM
5598 * editfns.c (Fformat): Don't extend text properties from arguments
5599 to padding chars in the result.
5600
2f169c38
EZ
56012001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5602
5603 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5604
0f32f023
AI
56052001-01-20 Andrew Innes <andrewi@gnu.org>
5606
52283633 5607 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5608 (w32_initialize): Don't set term hooks that aren't actually needed
5609 in windowed mode.
5610
5611 * xfaces.c (realize_default_face):
5612 (realize_face):
5613 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5614
5615 * xdisp.c (handle_single_display_prop): Remove references to
5616 FRAME_W32_CONSOLE_P.
5617
52283633 5618 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5619
5620 * frame.h (output_method): Remove output_w32_console method.
5621 (FRAME_W32_CONSOLE_P): Remove macro.
5622
5623 * frame.c (Qw32_console): Remove variable.
5624 (Fframep): Remove references to it.
5625 (syms_of_frame): Ditto.
5626 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5627
5628 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5629 redefinition.
5630
7173eada
KH
56312001-01-20 Kenichi Handa <handa@etl.go.jp>
5632
5633 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5634
755b45ce
AI
56352001-01-19 Andrew Innes <andrewi@gnu.org>
5636
5637 * w32.c (init_environment): Add a version-independent site-lisp
5638 directory to EMACSLOADPATH, after the version dependent one.
5639
0a949811
GM
56402001-01-19 Gerd Moellmann <gerd@gnu.org>
5641
8501998a
GM
5642 * editfns.c (Fbuffer_substring): Doc fix.
5643
52283633
SM
5644 * xdisp.c (message_dolog, message2, message2_nolog):
5645 Rename parameter LEN to NBYTES.
0a949811 5646
e6ebcbbe
KH
56472001-01-19 Kenichi Handa <handa@etl.go.jp>
5648
200ecca2
KH
5649 * charset.c (strwidth): Use c_string_width.
5650 (c_string_width): New function.
5651 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5652 Caller changed.
5653
5654 * charset.h (c_string_width, lisp_string_width): Extern them.
5655
52283633 5656 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5657
e6ebcbbe
KH
5658 * indent.c (check_composition): Check validity of composition.
5659
200ecca2
KH
5660 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5661 characters by calling c_string_width.
5662 (x_consider_frame_title): Get byte length of frame tile string
5663 correctly.
5664 (display_mode_element): Pay attention to width of non-ASCII
5665 characters by calling strwidth.
5666
8692ca92
GM
56672001-01-18 Gerd Moellmann <gerd@gnu.org>
5668
8962e303
GM
5669 * xfns.c (Qcancel_timer): New variable.
5670 (syms_of_xfns): Initialize and staticpro it.
5671 (Fx_hide_tip, Fx_show_tip): Use it.
5672 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5673 the timer.
5674 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5675
91523be9
GM
5676 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5677
5678 * window.h (WINDOW_LIVE_P): New macro.
5679
b0b7ed0e
GM
5680 * window.c (window_size_fixed): New variable.
5681 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5682 the doc string.
5683
06bccf8e
GM
5684 * eval.c (specbind): If binding a per-buffer variable which
5685 doesn't have a buffer-local value in the current buffer, change
5686 the global value by changing the value of the symbol bound in all
5687 buffers not having their own value, to make it consistent with
5688 what happens with other buffer-local variables.
5689
8692ca92
GM
5690 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5691
5692 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5693 when searching for a newline.
5694
bb3a3b50
KH
56952001-01-18 Kenichi Handa <handa@etl.go.jp>
5696
5697 * xdisp.c (display_string): Fix previous change.
5698
c2cc16fa
JR
56992001-01-18 Jason Rumney <jasonr@gnu.org>
5700
5701 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5702 GLYPH_DEBUG is defined.
5703 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5704 true for images with `:ascent 100'.
5705 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5706 meantime, use face MOUSE_FACE_ID.
5707 If first glyph isn't a character glyph, use the ASCII NUL
5708 character to determine the face.
5709 (expose_area): Do not treat left margin specially.
5710 (note_mode_line_highlight): If no local_map, check global keymap.
5711 (note_mouse_highlight): Initialize overlay.
52283633 5712 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5713 (show_scroll_bars): Remove unused function.
5714 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5715 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5716 Clip to row.
52283633 5717 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5718 (x_free_frame_resources): Unload relief colors.
5719
9c11f79e
GM
57202001-01-17 Gerd Moellmann <gerd@gnu.org>
5721
3aec8722 5722 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5723 get_next_display_element when the newline is already found.
5724 This may change the iterator's position, when its current position is
3aec8722
GM
5725 equal to the iterator's stop_charpos.
5726
f3ffc2c3
GM
5727 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5728 zero, use this method only at the end of a line.
5729
52283633 5730 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5731 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5732 if SCALABLE_FONTS_P is set.
52283633 5733
d26d6fd9
GM
5734 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5735 so that scalable fonts are included.
5736
9c11f79e
GM
5737 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5738 In the cache, use a key containing the information if scalable
5739 fonts are included.
5740 (x_load_font): Adapt to change of keys in the font cache.
5741
57422001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5743
d26d6fd9
GM
5744 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5745 XListFonts to take advantage of font caching.
5746
9c11f79e
GM
5747 * xterm.c (x_list_fonts): Ensure caching font information when
5748 called for a null frame, which is the case frequently when Emacs
5749 starts.
5750
51446987
GM
57512001-01-17 Gerd Moellmann <gerd@gnu.org>
5752
f864120f
GM
5753 * xfns.c (QCconversion): Replaces QCalgorithm.
5754
5755 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5756
5757 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5758 of :algorithm.
52283633 5759
e37d1417
GM
5760 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5761 not everything could be displayed.
5762
51446987
GM
5763 * line.h, x-list-font.c: Files removed because unused.
5764
9ad4f3e5
AI
57652001-01-17 Andrew Innes <andrewi@gnu.org>
5766
5767 * dired.c (directory_files_internal): Convert result from readdir
5768 to a unibyte string initially, to avoid possible misinterpretation
5769 of some bytes as the internal form of Emacs characters.
5770
2eda09b5
KH
57712001-01-17 Kenichi Handa <handa@etl.go.jp>
5772
5773 * fns.c (concat): Be sure to avoid putting the same `composition'
5774 property on the adjacent regions.
5775
826f3788
GM
57762001-01-16 Gerd Moellmann <gerd@gnu.org>
5777
52283633 5778 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5779 (Fscroll_right, Fscroll_left): Set it here instead, if called
5780 interactively.
5781
d57b83b3
GM
5782 * buffer.c (Fset_buffer_modified_p): Set buffer's
5783 prevent_redisplay_optimizations_p flag.
5784
826f3788 5785 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5786 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5787 with additional arg.
5788
5789 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5790 Change prototype.
826f3788 5791
826f3788
GM
5792 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5793 FROM_WHERE, for debugging.
5794
261d788b
KH
57952001-01-16 Kenichi Handa <handa@etl.go.jp>
5796
5797 * ccl.c (Fregister_ccl_program): Handle the return value of
5798 resolve_symbol_ccl_program correctly.
52283633 5799 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5800
bccee4f2
GM
58012001-01-15 Gerd Moellmann <gerd@gnu.org>
5802
e4ded23c
GM
5803 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5804 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5805
5806 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5807 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5808 the display; we didn't open it.
5809
bccee4f2
GM
5810 * dispnew.c (save_or_restore_current_matrices): Function removed.
5811 (save_current_matrix, restore_current_matrix): New functions.
5812 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5813 restore the frame's current matrix. Due to the glyph pointer
5814 setup done in adjust_glyph_matrix, there is no easy way to make
5815 saving the current matrix in the desired matrix generally correct,
5816 so don't try it.
5817
ebeccffa
KH
58182001-01-15 Kenichi Handa <handa@etl.go.jp>
5819
5820 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5821 truncation glyphs.
5822 (display_line): Optimize for wide characters.
e4ded23c 5823 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5824 partially. On ttys, produce more than one truncation glyph for
5825 multi-column characters that don't fit on the line.
5826
64388126
KH
58272001-01-13 Kenichi Handa <handa@etl.go.jp>
5828
52283633
SM
5829 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5830 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5831
8edb0a6f
JR
58322001-01-13 Jason Rumney <jasonr@gnu.org>
5833
5834 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5835 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5836 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5837 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5838
52283633
SM
5839 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5840 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5841 (x_draw_image_glyph_string): Adapt to change of image margins.
5842
5843 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5844 variables.
5845
5846 * w32bdf.c (search_file_line, get_cached_font_char)
5847 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5848
5849 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5850
5851 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5852 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5853 (Fw32_send_sys_command): Remove unused variables.
5854 (w32_msg_pump): Add parentheses.
5855
5856 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5857 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5858 Add parentheses.
5859
4956d1ef
GM
58602001-01-12 Gerd Moellmann <gerd@gnu.org>
5861
b30623be
GM
5862 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5863 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5864 being a pair of margins.
5865 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5866 to DEFVAR_LISP. Extend doc.
5867
5868 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5869 margins.
5870 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5871 pair of integers `(X . Y)', use X for the horizontal and Y for the
5872 vertical margin.
5873 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5874 (parse_image_spec): Check it.
52283633
SM
5875 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5876 (tiff_format, gif_format, gs_format):
5877 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5878
52283633
SM
5879 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5880 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5881 (x_draw_image_glyph_string): Adapt to the change of image margins.
5882
5883 * dispextern.h (struct image): Replace member `margin' with
5884 `hmargin' and `vmargin'.
5885
4554cc79
GM
5886 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5887 and GLYPHS.
5888
5889 * dispnew.c (update_text_area): Put code which decrements the
5890 stop position when the row's face extends to the end of the
3bffc665 5891 line in #if 0.
4554cc79 5892
3cccce8d
GM
5893 * xfns.c (x_set_mouse_color): Fix color allocation.
5894
4956d1ef
GM
5895 * keyboard.c: Call get_local_map with new argument list.
5896
5897 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5898
5899 * intervals.h (enum map_property): Removed.
5900 (get_local_map): Change prototype.
5901
5902 * keymap.c: Call get_local_map with new argument list.
5903 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5904
2c2ff7f2
GM
59052001-01-11 Gerd Moellmann <gerd@gnu.org>
5906
a23887b9
GM
5907 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5908 of the size needed for the tool bar string. For the last image,
5909 use a `display' property that reaches to the end of the string.
5910
a7ee2d2e
GM
5911 * xselect.c (selection_request_dpyinfo): New variable.
5912 (x_handle_selection_request): Set it.
5913 (x_selection_request_lisp_error): Don't call
5914 x_decline_selection_request if selection request's display has
5915 been closed.
5916
52283633
SM
5917 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5918 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5919
457b792c
GM
59202001-01-10 Dave Love <fx@gnu.org>
5921
5922 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5923 ${SOME_MACHINE_LISP}, not ${lisp}.
5924
c1efd260
GM
59252001-01-10 Gerd Moellmann <gerd@gnu.org>
5926
52283633
SM
5927 * xdisp.c (display_line): On ttys, produce more than one truncation
5928 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5929
ac95a621
GM
5930 * xselect.c (x_reply_selection_request): Add a comment.
5931
c1efd260
GM
5932 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5933 XkbGetNames instead of XkbGetKeyboard.
5934
1bfb1345
DL
59352001-01-10 Dave Love <fx@gnu.org>
5936
5937 * sysdep.c (random): Revert the declaration.
5938
38119822
GM
59392001-01-09 Gerd Moellmann <gerd@gnu.org>
5940
52283633
SM
5941 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5942 Call function string_bytes.
35f464a7
GM
5943 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5944
5945 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5946 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5947 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5948 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5949 the current sblock.
5950 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5951 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5952 after sweeping strings, and at the end.
5953 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5954
38119822
GM
5955 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5956 ensure that pop_message is called.
5957
5958 * keyboard.c (Fexecute_extended_command): Use a
5959 record_unwind_protect to ensure that pop_message is called.
5960
5961 * lisp.h (push_message_unwind): Add prototype.
5962
5963 * xdisp.c (push_message_unwind): New function.
5964
5965 * fileio.c (do_auto_save_unwind): Do the pop_message here
5966 instead of in Fdo_auto_save.
5967 (Fdo_auto_save): Don't call pop_message.
5968
f47a9ec4
KR
59692001-01-08 Ken Raeburn <raeburn@gnu.org>
5970
5971 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5972 in inner block.
5973
a758f97d
GM
59742001-01-08 Gerd Moellmann <gerd@gnu.org>
5975
6d0afc03
GM
5976 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5977 when increasing window's vscroll.
5978
a758f97d
GM
5979 * macros.c (Qkbd_macro_termination_hook): New variable.
5980 (syms_of_macros): Initialize and staticpro it.
5981 (pop_kbd_macro): Run kbd-macro-termination-hook.
5982
5983 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5984
1bfb1345 59852001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5986
5987 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5988 arglist, for documentation's sake.
5989
0dac6924
AI
59902001-01-06 Andrew Innes <andrewi@gnu.org>
5991
5992 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5993 of *.pdb.
5994
8182406a
AI
59952001-01-05 Andrew Innes <andrewi@gnu.org>
5996
5997 * term.c (update_end): Don't check updating_frame; for some reason
5998 this can be 0 sometimes, such as after dismissing a popup menu,
5999 and isn't necessary given the explicit frame argument.
6000
3828218c
GM
60012001-01-05 Gerd Moellmann <gerd@gnu.org>
6002
6003 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
6004 on some systems, and an unsigned long on others, like FreeBSD 4.1.
6005
2f5ded21
GM
60062001-01-04 Gerd Moellmann <gerd@gnu.org>
6007
52283633 6008 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
6009
6010 * xfns.c (x_create_tip_frame): Preserve the value of
6011 face_change_count around the creation of the tip frame.
52283633 6012
2f5ded21
GM
6013 * xfns.c (last_show_tip_args): New variable.
6014 (compute_tip_xy): New function.
6015 (Fx_show_tip): Reuse an existing tip frame, if possible.
6016 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
6017
dfad65fa
DL
60182001-01-04 Dave Love <fx@gnu.org>
6019
64d4ec0f
DL
6020 * editfns.c (Fformat): Doc fix.
6021
dfad65fa
DL
6022 * systime.h (set_file_times): Prototype.
6023
6024 * widget.h (EmacsFrameSetCharSize_): Prototype.
6025
6026 * sysdep.c (random, srandom): Declare explicitly.
6027
6028 * dispextern.h (move_it_vertically_backward): Declare.
6029
85fe3b5e
GM
60302001-01-04 Gerd Moellmann <gerd@gnu.org>
6031
0f2ac578
GM
6032 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
6033 like in Fx_create_frame.
6034
482cca61
GM
6035 * xfaces.c (set_font_frame_param): Don't do anything for
6036 non-graphical frames.
6037
85fe3b5e
GM
6038 * window.c (Fdelete_other_windows): Set window's window_end_valid
6039 to nil when changing the window's start. Don't change the
6040 window's start when its top position hasn't changed. If we do,
6041 this will set the window's optional_new_start, which act's like a
6042 force_start during redisplay with C-x 1 M-> under particular
6043 circumstances (see report from Per Starback to emacs-pretest-bug
6044 from 2000-12-13.).
6045
3e99d3b4
GM
60462001-01-03 Gerd Moellmann <gerd@gnu.org>
6047
a77dc1ec
GM
6048 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
6049 short cut at the start of the function. Add an assertion.
6050 (reseat_at_next_visible_line_start): Add an assertion.
6051
2f3cad6c
GM
6052 * window.c (Frecenter): When changing the window start, set the
6053 window's window_end_valid to nil.
6054 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
6055
6056 * dispextern.h (move_it_past_eol): Add prototype.
6057
6058 * xdisp.c (move_it_past_eol): New function.
6059
3e99d3b4
GM
6060 * window.c (Fwindow_end): Doc fix.
6061
60622001-01-03 Dave Love <fx@gnu.org>
6063
52283633 6064 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 6065
bafb434c
GM
60662001-01-03 Gerd Moellmann <gerd@gnu.org>
6067
6068 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
6069 the enabled_p flag of the glyph row at window_end_vpos to 0.
6070 (handle_single_display_prop): Fix last change.
6071
5297fb00
RS
60722001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6073
6074 * window.c (Frecenter): Doc fix.
6075
13d6a61c
AI
60762001-01-02 Andrew Innes <andrewi@gnu.org>
6077
6078 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
6079
6080 * frame.h (output_method): Add output_w32_console method.
6081 (FRAME_W32_CONSOLE_P): New macro.
6082
6083 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
6084 use output_w32_console method.
6085 (Qw32_console): New Lisp_Object.
6086 (Fframep): Return it.
6087 (syms_of_frame): Init it.
52283633 6088 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
6089
6090 * xfaces.c (realize_default_face): Set face foreground and
6091 background to unspecified for w32_console frames.
6092 (realize_face): Realize face cache for w32_console frames.
6093 (realize_tty_face): Accept w32_console frames.
6094
52283633 6095 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
6096 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
6097 necessary, even if running interactively.
6098
6099 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
6100 w32_console frames.
6101
52283633
SM
6102 * w32term.c (x_update_begin):
6103 (x_update_end):
6104 (x_clear_frame):
6105 (x_ins_del_lines):
6106 (x_change_line_highlight):
6107 (x_delete_glyphs):
6108 (w32_ring_bell):
6109 (x_update_begin):
6110 (x_update_end):
6111 (w32_reassert_line_highlight):
6112 (w32_frame_rehighlight):
13d6a61c
AI
6113 (w32_frame_raise_lower): Do nothing if not w32 frame.
6114
6115 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6116
6117 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6118 system doesn't tell us directly.
6119 (Fx_display_visual_class): Implement properly.
6120
d6bb0c0d
GM
61212001-01-02 Gerd Moellmann <gerd@gnu.org>
6122
6123 * window.c (Frecenter): Handle centering in graphical frames
6124 specially. Centering on the basis of line counts doesn't work
6125 reliably with variable-height lines.
52283633 6126
315f5865
EZ
61272001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6128
6129 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6130 and al[].
6131
52283633 6132 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
6133 (update_compositions): Remove unused variable `hook'.
6134
6135 * intervals.c (get_local_map): Remove unused variable `tem'.
6136
6137 * doprnt.c (doprnt1): Remove unused variable `size'.
6138
6139 * fns.c (Flength): Remove unused variable `tail'.
6140 (Fdelete): Remove unused variable `size'.
6141
6142 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6143 and `gcpro2'.
6144
52283633 6145 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6146
6147 * data.c (find_symbol_value): Remove extra 3rd argument in the
6148 call to swap_in_symval_forwarding.
6149
52283633 6150 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6151
6152 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6153 (trivial_regexp_p): Remove unused variable `c'.
6154 (boyer_moore): Remove unused variable `k'.
6155
6156 * indent.c (current_column): Remove unused variable `stopchar'.
6157 (Fcompute_motion): Remove unused variable `contin'.
6158
6159 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6160
6161 * dired.c (directory_files_internal): Fix a typo in a comment.
6162 Remove an unused variable `handler'.
52283633 6163 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6164 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6165 on BSD4_2.
6166
52283633 6167 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6168
6169 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6170 and `buf'.
6171 (Fmarker_insertion_type): Remove unused variable `buf'.
6172
6173 * insdel.c (make_gap): Remove unused variable `result'.
6174
52283633 6175 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6176 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6177 (menu_bar_items): Remove unused function-scope variable `tem'.
6178
6179 * fontset.c (fontset_ref): Remove unused variable `i'.
6180 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6181 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6182 (make_fontset_for_ascii_face): Remove unused variable `name'.
6183 (fs_load_font): Remove unused variable `font_idx'.
52283633 6184 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6185 (list_fontsets): Remove unused variable `tail'.
6186 (Fnew_fontset): Remove unused variables `family' and `registry'.
6187 (accumulate_font_info): Remove unused variable `tmp'.
6188 (Ffontset_font): Remove unused variable `id'.
6189 (syms_of_fontset): Remove unused variable `i'.
6190
6191 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6192 to x_term_init.
6193 (lookup_image): Remove unused variable `file'.
6194 (xbm_load): Remove unused variables `bitmap_data', `height', and
6195 `width'. Remove function-local variable `i', leave the
6196 block-local one.
6197 (gif_load): Remove unused variable `inc'.
6198
52283633 6199 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6200 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6201 leave only the one in the inner block.
6202
6203 * xfaces.c (face_fontset, realize_default_face): Remove unused
6204 variable `fontset'.
6205 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6206
6207 * term.c (encode_terminal_code): Remove unused variable `c'.
6208
6209 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6210 char *' instead of `char *'.
6211
6212 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6213 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6214 (Fchar_category_set): Remove unused variables `val', `charset',
6215 `c1' and `c2'.
6216
52283633
SM
6217 * coding.c (detect_coding_iso2022, setup_coding_system):
6218 Remove unused variable `i'.
315f5865
EZ
6219 (detect_coding_mask): Remove unused variable `idx'.
6220 (detect_coding): Remove unused variable `i'.
6221 (ccl_coding_driver): Remove unused variable `result'.
6222 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6223 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6224 (encode_coding_string): Remove unused variables `gcpro1' and
6225 `saved_coding_symbol'.
6226 (Ffind_coding_systems_region_internal): Remove function-local
6227 variable args[], leave only the block-local one.
6228 (code_convert_region1): Remove unused variable `len'.
6229
6230 * charset.c (char_printable_p): Remove unused variable `chars'.
6231 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6232 (str_to_multibyte): Remove unused variable `c'.
6233
6234 * window.c (size_window): Remove block-local variable `min_size'.
6235
6236 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6237 `header_line_height'.
6238 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6239 enum display_element_type.
6240
1a8a9daf
GM
62412001-01-02 Gerd Moellmann <gerd@gnu.org>
6242
6dde6abc 6243 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6244 statements that call X. Save away the error message in a local copy.
6245
1883b2c6
GM
6246 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6247 the start.
6248
a13be207
GM
6249 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6250 in or at the start of invisible text.
6251
1a8a9daf
GM
6252 * dispnew.c (update_window): Don't check_current_matrix_flags.
6253
3608c0f9
JR
62542001-01-01 Jason Rumney <jasonr@gnu.org>
6255
6256 * w32fns.c (x_figure_window_size): Do not allow new_height and
6257 new_width of frame to override specified values.
6258
abb1acc4
KH
62592000-12-30 Kenichi Handa <handa@etl.go.jp>
6260
52283633 6261 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6262
762a68ec
GM
62632000-12-29 Gerd Moellmann <gerd@gnu.org>
6264
52283633 6265 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6266 (update_window) [GLYPH_DEBUG]: Call it.
6267 (scrolling_window): Prevent including current rows which are below
6268 what's displayed in the window.
6269
6270 * xdisp.c (try_window_reusing_current_matrix)
6271 <new start <= old start>: Disable rows in the current matrix
6272 which are below the window after scrolling.
52283633 6273
762a68ec
GM
6274 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6275 is zero. It's not worth the complexity.
6276 (invisible_text_between_p): Put in #if 0 because unused.
6277
2d5912c1
GM
62782000-12-28 Gerd Moellmann <gerd@gnu.org>
6279
46f6a258
GM
6280 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6281 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6282
89f93679
GM
6283 * keyboard.c (echo_char): If C is an integer, always call
6284 push_key_description. Former code could signal an invalid
6285 character error.
6286
6287 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6288 If set, print multibyte text.
6289 (Fsingle_key_description): Call push_key_description with
6290 FORCE_MULTIBYTE set.
6291 (describe_buffer_bindings): Likewise.
6292
6293 * lisp.h (push_key_description): Add prototype.
6294
c06017fb
GM
6295 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6296 around the call to redisplay_internal.
6297
f1d2ce7f
GM
6298 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6299
2d5912c1
GM
6300 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6301
9371f831
KH
63022000-12-28 Kenichi Handa <handa@etl.go.jp>
6303
6304 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6305 (ccl_driver): New local variable `extra_bytes'.
6306
6307 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6308
52283633
SM
6309 * coding.c (setup_coding_system):
6310 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6311 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6312
0c80628a
KH
63132000-12-28 Kenichi Handa <handa@etl.go.jp>
6314
6315 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6316 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6317 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6318 (decode_composition_emacs_mule): New function.
6319 (decode_coding_emacs_mule): Decode composition sequence by calling
6320 decode_composition_emacs_mule.
6321 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6322 (encode_coding_emacs_mule): Changed from macro to function.
6323 If a text contains compositions, encode them correctly.
0c80628a
KH
6324 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6325 that decoding and encoding are required.
6326
3e32cc27
GM
63272000-12-27 Gerd Moellmann <gerd@gnu.org>
6328
5e25feee
GM
6329 * xfaces.c (PT_PER_INCH): New macro.
6330 (xlfd_point_size): Compute real point size from font's pixel size.
6331 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6332 instead of 72.
6333
892d8fcd
GM
6334 * .gdbinit: Comment out the line pointing to the Lesstif source
6335 directory.
6336
12c8b416
GM
6337 * window.c (Frecenter): Use displayed_window_lines instead
6338 of window_internal_height.
6339
6061fbf0
GM
6340 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6341 instead of x-toolkit-scroll-bars-p.
6342 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6343
6344 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6345 instead of x-toolkit-scroll-bars-p.
6346 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6347
3e32cc27
GM
6348 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6349 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6350 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6351 New variables.
6352 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6353 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6354 (build_frame_matrix_from_leaf_window): Remove unused code.
6355 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6356 redisplay history.
6357 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6358 (update_window) [GLYPH_DEBUG]: Likewise.
6359 (syms_of_display): Defsubr dump-redisplay-history.
6360
31798cfe
GM
63612000-12-23 Gerd Moellmann <gerd@gnu.org>
6362
f717c2ba
GM
6363 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6364 the end of the prompt. Set echo_after_prompt to the offset
6365 of echoptr in echobuf.
6366
aeb2b8fc
GM
6367 * xdisp.c (init_from_display_pos): Pop until the iterator's
6368 stack is empty; there may be frames for stretch or images
6369 on the stack.
6370
31798cfe
GM
6371 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6372 (save_or_restore_current_matrix): New function for the same
6373 purpose, but more efficient.
6374 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6375
f8156156
EZ
63762000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6377
6378 * xdisp.c (syms_of_xdisp): Fix last change.
6379
bdd6d4e8
GM
63802000-12-23 Gerd Moellmann <gerd@gnu.org>
6381
6382 * xdisp.c (syms_of_xdisp): Doc fix.
6383
6384 * xdisp.c (redisplay_window): Remove label restore_buffers;
6385 use finish_scroll_bars instead to make sure that scroll bars
6386 are redeemed. If we don't do this, flickering can result from
6387 scroll bars being destroyed and recreated.
6388
9436cdf9
JR
63892000-12-22 Jason Rumney <jasonr@gnu.org>
6390
6391 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6392 in the wrong colors when the foreground is not black.
6393 (expose_window): Don't redraw the window that's currently being
6394 updated.
6395
951f9df5
GM
63962000-12-22 Gerd Moellmann <gerd@gnu.org>
6397
856ff7a7
GM
6398 * window.c (size_window): When setting the window's too_small_ok
6399 flag, compare old size with minimum size depending on WIDTH_P,
6400 don't compare with window_min_width.
52283633 6401
951f9df5
GM
6402 * window.c (delete_window): Simplify somewhat.
6403 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6404 freeing window matrices. The flag windows_or_buffers_changed is
6405 set, so the next redisplay will consider all windows; this should
6406 suffice.
6407
886bc933
KH
64082000-12-22 Kenichi Handa <handa@etl.go.jp>
6409
6410 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6411
6412 * ccl.h (struct ccl_program): New member cr_consumed.
6413
6414 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6415 (CCL_READ_CHAR): Handle EOL conversion here.
6416 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6417
177f4e88
GM
64182000-12-21 Gerd Moellmann <gerd@gnu.org>
6419
52283633 6420 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6421
6422 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6423 otherwise tabs of different size compare equal.
6424
6425 * callint.c (Fcall_interactively): Prevent a compiler warning.
6426
6427 * print.c (print_unwind): Return nil.
6428 (PRINTDECLARE): Initialize all local variables.
6429 (print_preprocess): Add a default case.
6430
8e15274f
GM
6431 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6432
6433 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6434
52283633 6435 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6436 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6437
6438 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6439
6440 * dispnew.c (ensure_frame_matrix): Removed.
6441 (save_frame_matrix, restore_frame_matrix): New functions.
6442 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6443
6444 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6445 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6446
99012074
AI
64472000-12-21 Andrew Innes <andrewi@gnu.org>
6448
6449 * w32term.c (x_update_begin): Regenerate the palette here, rather
6450 than for each window.
6451
6452 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6453 palette is NULL, since this corrupts memory! Also get
6454 display_info reference from frame.
6455
29ef7d2d
JR
64562000-12-21 Jason Rumney <jasonr@gnu.org>
6457
6458 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6459
6460 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6461 to avoid returning without releasing it.
3e27fa1f 6462
3f9d67a6
KH
64632000-12-21 Kenichi Handa <handa@etl.go.jp>
6464
587fc3f9
KH
6465 * keymap.c (push_key_description): Don't convert eight-bit-control
6466 and eight-bit-graphic to multibyte character.
6467
3f9d67a6
KH
6468 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6469 generic character and CODE1 is nil, return the smallest character
6470 in CHARSET.
6471
774ba8c9
DL
64722000-12-20 Dave Love <fx@gnu.org>
6473
6474 * s/osf5-0.h (NSIG): Don't redefine.
6475
88416888
SM
64762000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6477
6478 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6479 excluding menu-bar and tool-bar.
6480 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6481 (menu_item_p): Remove.
6482 (where_is_internal_1): Don't ignore menu-items.
6483
a6426c6f
GM
64842000-12-20 Gerd Moellmann <gerd@gnu.org>
6485
03ff8aab
GM
6486 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6487 into account.
6488
6489 * window.c (make_window): Initialize window's min_hscroll.
6490 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6491 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6492 to zero.
6493 (struct saved_window): New member min_hscroll.
6494 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6495 (Fset_window_configuration): Set window's min_hscroll.
6496 (save_window_save): Save window's min_hscroll.
6497 (compare_window_configurations): Compare min_hscroll values.
6498
6499 * window.h (struct window): New member min_hscroll.
6500
6501 * keyboard.c (echo_prompt): Prevent a compiler warning.
6502
8de4aaf8
GM
6503 * xdisp.c (try_cursor_movement): Fix last change. The real
6504 condition is that PT is at the end of the row, and should
6505 be displayed at the start of the next row.
52283633 6506
3f7e3031
GM
6507 * xdisp.c (try_cursor_movement): If we end on a partially
6508 visible line, end we already decided to scroll, return -1.
6509
a6426c6f
GM
6510 * dispextern.h (ensure_frame_matrix): Add prototype.
6511
6512 * window.c (delete_window, Fsplit_window)
6513 (Fset_window_configuration): Call ensure_frame_matrix.
6514
52283633
SM
6515 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6516 New functions.
a6426c6f
GM
6517 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6518 completed, call fake_current_matrices instead of marking frame
6519 garbaged.
6520
57fa2774
JR
65212000-12-20 Jason Rumney <jasonr@gnu.org>
6522
6523 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6524
d925df90
EZ
65252000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6526
6527 * fns.c (Frequire): Doc fix.
6528
7b93a85b
GM
65292000-12-19 Gerd Moellmann <gerd@gnu.org>
6530
52283633 6531 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6532
c74e645b
GM
6533 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6534 currently displaying a message.
6535
7b93a85b
GM
6536 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6537 xterm.h.
6538 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6539
90d97e64
AI
65402000-12-18 Andrew Innes <andrewi@gnu.org>
6541
6542 * w32.c (w32_strerror): New function.
6543
6544 * w32.h (w32_strerror): New extern.
6545
6546 * w32fns.c (Fw32_shell_execute): Use it.
6547
91c9e6ce
GM
65482000-12-18 Gerd Moellmann <gerd@gnu.org>
6549
6550 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6551
6f4745e2
EZ
65522000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6553
6554 * msdos.c (IT_set_face): Obey inverse_video.
6555
c9e088ce
KH
65562000-12-18 Kenichi Handa <handa@etl.go.jp>
6557
6558 * dired.c (directory_files_internal): Always return decoded filenames.
6559
c3695f5f
GM
65602000-12-18 Gerd Moellmann <gerd@gnu.org>
6561
52d8e4ff
GM
6562 * xterm.c (x_connection_closed): Prevent being called recursively
6563 because of an error condition in XtCloseDisplay.
52283633 6564
62be9979
GM
6565 * xdisp.c (init_iterator): If noninteractive, and the frame's
6566 face cache is null, make one.
6567
52283633 6568 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6569
c3695f5f
GM
6570 * process.c (wait_reading_process_input): Check for pending
6571 input when running timers.
6572
78555fbe
EZ
65732000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6574
52283633 6575 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6576
b2b36264
KH
65772000-12-18 Kenichi Handa <handa@etl.go.jp>
6578
6579 * process.c (read_process_output): Don't run a filter if the code
6580 decoder produces nothing but carryover.
6581
9c543fbf
AI
65822000-12-17 Andrew Innes <andrewi@gnu.org>
6583
6584 * w32.c (sys_rename): Only check errno against EEXIST, and not
6585 EACCES, when determining whether rename failed because the target
6586 exists. This was resulting in indefinite looping on Windows 9x if
6587 the source file was locked by another process.
6588
6589 * w32fns.c (Ffile_system_info): New function.
6590 (syms_of_w32fns): Defsubr it.
6591
10c2b5a8
GM
65922000-12-17 Gerd Moellmann <gerd@gnu.org>
6593
b0228ace
GM
6594 * window.c (coordinates_in_window): Fix computation for
6595 position on vertical line between mode lines.
6596
10c2b5a8
GM
6597 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6598 Don't alter tip_frame or tip_window.
6599 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6600 was deleted.
6601
c844a81a
GM
6602 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6603 Don't alter tip_frame or tip_window.
6604 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6605 was deleted.
6606
6c825f8e
EZ
66072000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6608
6609 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6610 be consistent with the doc string. Reported by NAKAJIMA Mikio
6611 <minakaji@osaka.email.ne.jp>.
6612
af4bb4c8
KH
66132000-12-16 Kenichi Handa <handa@etl.go.jp>
6614
6615 * xfaces.c (Vface_ignored_fonts): New variable.
6616 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6617 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6618
8062e53a
GM
66192000-12-15 Gerd Moellmann <gerd@gnu.org>
6620
e87b8809
GM
6621 * dispnew.c (update_window): Detect pending input every nth line
6622 updated, i.e. do it depending on real work done, and not on the
6623 vpos of the line.
6624
6625 * xterm.c (expose_window): Don't redraw the window that's
6626 currently being updated.
6627
a6768cc5
GM
6628 * window.c (Fset_window_point): Remove test for
6629 cursor_in_non_selected_windows.
6630
4ea7fdca
GM
6631 * lread.c (read1): Recognize end of file after `\\'.
6632
8062e53a
GM
6633 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6634 not unwind_create_frame.
6635
bb7959c1
GM
66362000-12-15 Dave Love <fx@gnu.org>
6637
6638 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6639 bcopy & al.
6640
6641 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6642
ced04c42
KH
66432000-12-15 Kenichi Handa <handa@etl.go.jp>
6644
c5443913
KH
6645 * coding.c (setup_coding_system): Clear all members of the struct
6646 coding_system at first.
bc137305
KH
6647 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6648 argument.
6649 (code_convert_region): Don't override coding->src_multibyte and
6650 coding->dst_multibyte.
c5443913 6651
ced04c42
KH
6652 * fns.c (Fmd5): Docstring improved.
6653
c2d7f289
MB
66542000-12-15 Miles Bader <miles@gnu.org>
6655
6656 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6657 are actually marked as mode-lines; otherwise use
6658 estimate_mode_line_height.
6659
9d7d9263
GM
66602000-12-14 Gerd Moellmann <gerd@gnu.org>
6661
6662 * editfns.c (Fformat): Prevent a buffer overrun when the format
6663 specifies a precision.
6664
7cf0153a
EZ
66652000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6666
6667 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6668 argument is outside the range [2..3].
6669
1de0f662
AI
66702000-12-14 Andrew Innes <andrewi@gnu.org>
6671
6672 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6673 nothing to do. Bind inhibit-quit.
6674 (tip_frame): Make it a Lisp_Object.
6675 (x_create_tip_frame): Set tip_frame after it has been added to
6676 Vframe_list.
6677 (Fx_show_tip): Don't set tip_frame here.
52283633 6678 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6679 (unwind_create_frame, unwind_create_tip_frame): New functions.
6680 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6681 while a frame is only partially constructed.
6682
6683 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6684 (x_free_frame_resources): New function.
6685 (x_destroy_window): Use it.
6686
02387dcc
GM
66872000-12-14 Gerd Moellmann <gerd@gnu.org>
6688
6689 * xfns.c (Fx_backspace_delete_keys_p): New function.
6690 (syms_of_xfns): Defsubr it.
6691
6692 * config.in (HAVE_XKBGETKEYBOARD): Add.
6693
0544ef49
KH
66942000-12-14 Kenichi Handa <handa@etl.go.jp>
6695
98d62747
KH
6696 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6697 Always store string in multibyte representation in echobuf.
6698 (echo_char): Always store string in multibyte representation in
6699 echobuf.
6700 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6701 (read_key_sequence): Adjusted for the change of echo_prompt.
6702
a20193cd
KH
6703 * fns.c (Fmd5): Docstring improved.
6704
191b83b6
KH
6705 * lisp.h (detect_coding_system): Prototype adjusted.
6706
0544ef49
KH
6707 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6708 (detect_coding_emacs_mule, detect_coding_iso2022,)
6709 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6710 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6711 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6712 (detect_coding_mask, detect_coding_system): New argument
6713 MULTIBYTEP. Callers changed.
1da1bb05
KH
6714 (decode_coding_string): Set coding->src_multibyte and
6715 coding->dst_multibyte before calling detect_coding and detect_eol.
6716 Update them after some coding system is detected.
52283633 6717
d5b3eb1b
SM
67182000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6719
6720 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6721
6722 * keyboard.c (menu_bar_items, tool_bar_items):
6723 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6724
f7f8bb69
GM
67252000-12-13 Gerd Moellmann <gerd@gnu.org>
6726
52283633 6727 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6728 New variables.
6729 (unwind_create_frame, unwind_create_tip_frame): New functions.
6730 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6731 while a frame is only partially constructed.
6732
6733 * xterm.h (x_free_frame_resources): Declare.
6734
6735 * xterm.c (x_free_frame_resources): New function.
6736 (x_destroy_window): Use it.
6737
e10da507
GM
6738 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6739 don't interrupt the update for pending input initially, i.e.
6740 update at least some lines.
6741
6742 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6743
d5b3eb1b 6744 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6745
6746 * xfns.c (gray_bitmap_bits): Declare `char *'.
6747
90aa2856
GM
67482000-12-12 Gerd Moellmann <gerd@gnu.org>
6749
6750 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6751 lines start with a relief line.
6752
a308c9cd
DL
67532000-12-12 Dave Love <fx@gnu.org>
6754
6755 * window.c (Fdisplay_buffer): Doc fix.
6756 (Fwindow_list): Remove unused var.
6757
6758 * buffer.h (mmap_set_vars): Declare.
6759
6760 * window.h (Fset_window_point): Declare.
6761
d575011f
EZ
67622000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6763
bf6282d2 6764 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6765 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6766 variable `area'. When looking for a row under (X,Y), give up if some
6767 of the previous rows is not enabled.
d575011f 6768
ecf4d726
GM
67692000-12-12 Gerd Moellmann <gerd@gnu.org>
6770
2ebf6139
GM
6771 * window.c (Fset_window_point): If displaying cursors in windows
6772 other than the selected window, make sure redisplay updates
6773 other windows to show the new value of point in the window.
6774
6775 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6776
bfdb75ee
GM
6777 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6778 the buffer is the sole visible buffer when in the mini-buffer.
6779
52283633 6780 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6781 Bind `inhibit-read-only' to t.
6782 (unwind_with_echo_area_buffer): Use AREF.
6783
c0006262
GM
6784 * xfns.c (Fx_hide_tip): Simplified.
6785
52283633
SM
6786 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6787 instead of `1'.
e9a59cad 6788
ecf4d726
GM
6789 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6790
e5959a9a
GM
67912000-12-11 Gerd Moellmann <gerd@gnu.org>
6792
a3642e49 6793 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6794
44b5a125
GM
6795 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6796 nothing to do. Bind inhibit-quit.
6797 (tip_frame): Make it a Lisp_Object.
6798 (x_create_tip_frame): Set tip_frame after it has been added to
6799 Vframe_list.
6800 (Fx_show_tip): Don't set tip_frame here.
6801
6802 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6803
6804 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6805 Lisp_Object.
6806
6807 * dispextern.h: Change external declaration of tip_frame.
6808
d990421f
GM
6809 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6810 return an empty string.
6811
4db87380
GM
6812 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6813 of the window's update_mode_line flag, since the former is set by
6814 force-mode-line-update, not the latter. This makes
6815 column-number-mode slightly faster.
52283633 6816
e5959a9a
GM
6817 * xdisp.c (try_window_id) <all changes above window start>:
6818 Set the cursor.
6819
169fe44e
GM
68202000-12-11 Paul Eggert <eggert@twinsun.com>
6821
6822 * config.in (HAVE_FTELLO): Remove.
6823 (HAVE_FSEEKO): Add.
6824 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6825 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6826 HAVE_FTELLO.
6827 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6828 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6829
59ec59ae
MB
68302000-12-11 Miles Bader <miles@gnu.org>
6831
6832 * window.c (displayed_window_lines): Don't round up when
6833 converting empty space at bottom to lines.
ff904dd6
MB
6834 Handle non-newline-terminated final lines properly.
6835 (Fwindow_text_height): New function (used to be in lisp).
6836 (syms_of_window): Initialize it.
59ec59ae 6837
42ebfa31
SM
68382000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6839
6840 * syntax.c (scan_lists): Check that the right quote char has the
6841 right Sstring syntax when jumping over strings.
6842 (init_syntax_once): Use Smax rather than 13.
6843
5cdb3cf3
MB
68442000-12-09 Miles Bader <miles@gnu.org>
6845
6846 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6847 with PARTIALLY, inverting the sense.
6848 (window_scroll_pixel_based): Scroll partially visible lines into
6849 place if we hit the beginning or end of the buffer.
a12167c5
MB
6850 (displayed_window_lines): Don't include partially visible lines.
6851 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6852
842b2a94
GM
68532000-12-08 Gerd Moellmann <gerd@gnu.org>
6854
6855 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6856
6857 * tparam.c (tparam1): Change the way buffers are reallocated to be
6858 portable and less obfuscated.
6859
6860 * termcap.c (tgetent): Change the way buffers are reallocated to
6861 be portable and less obfuscated.
6862
6863 * macros.c (store_kbd_macro_char): Change the way buffers are
6864 reallocated to be portable and less obfuscated.
6865
6866 * lread.c (read1): Change the way buffers are reallocated to be
6867 portable and less obfuscated.
6868
6869 * doc.c (Fsubstitute_command_keys): Change the way buffers
6870 are reallocated so that it is portable.
6871
137cad7c
EZ
68722000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6873
6874 * dosfns.c (Ffile_system_info): New function.
6875 (syms_of_dosfns): Defsubr it.
6876
5c7f629c
SM
68772000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6878
6879 * alloc.c (gc_sweep): Add comment.
6880
959e647d
GM
68812000-12-07 Gerd Moellmann <gerd@gnu.org>
6882
52283633
SM
6883 * sound.c (vox_configure): Change order of ioctls.
6884 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6885 Ignore errors when changing volume.
6886 (vox_close): Don't reset the device.
6887
926b7e5e
GM
6888 * process.c (read_process_output): Make sure the process marker's
6889 position is valid when the process buffer is changed in
6890 after-change functions. W3 does that.
52283633 6891
959e647d
GM
6892 * xfns.c (x_free_gcs): New function.
6893
6894 * xterm.h (x_free_gcs): Add prototype.
6895
6896 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6897 freeing GCs here.
6898
6899 * xterm.c (x_destroy_window): Call x_free_gcs so that
6900 resources of non-toolkit X windows will be freed.
6901
478ea067
AI
69022000-12-07 Andrew Innes <andrewi@gnu.org>
6903
6904 * w32fns.c (xlfd_charset_of_font): Fix last change.
6905
fbee3231
DL
69062000-12-06 Dave Love <fx@gnu.org>
6907
67292061
DL
6908 * md5.h (__P): Don't define -- it comes from config.h.
6909
fbee3231
DL
6910 * strftime.c: Change some #if foo to #ifdef foo.
6911
4ee87dbb
AI
69122000-12-06 Andrew Innes <andrewi@gnu.org>
6913
6914 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6915
52283633 6916 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6917 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6918 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6919
9765b4a4
GM
69202000-12-06 Gerd Moellmann <gerd@gnu.org>
6921
d285b373
GM
6922 * alloc.c (gc_sweep): Prevent symbols read during loadup
6923 from being freed.
6924
384333ee
GM
6925 * xdisp.c (underlying_face_id): New function.
6926 (handle_face_prop, face_before_or_after_it_pos): Use it
6927 to determine the face ``under'' a string. Let strings inherit
6928 the face of the buffer under them.
6929
6930 * xfaces.c (face_at_string_position): Update function comment.
52283633 6931
d4b72d58
GM
6932 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6933 matrix if the window's left position has changed; we need to
6934 redraw it in this case.
6935
6936 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6937
e1d05387
GM
6938 * window.c (coordinates_in_window): Check mouse on mode-line or
6939 header-line first.
6940
eb1b0c74
GM
6941 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6942 advertized by the function documentation.
6943
d94d636f
GM
6944 * window.c (syms_of_window): Doc fix.
6945
3887b449
GM
6946 * sound.c (vox_configure): Set volume for left and right channel.
6947 (sound_cleanup): Return nil.
6948
efc8f57a
GM
6949 * xdisp.c (move_it_by_lines): Fix paren typo.
6950
9765b4a4
GM
6951 * xterm.c (x_load_font): Don't use the font's max_bounds for
6952 computing the height of the font. If max_bounds' ascent or
6953 descent are greater than the font's ascent or descent, this means
6954 glyphs overlap, which should be handled now by redisplay.
6955
6529ed87
GM
6956 * window.c (Veven_window_heights): New variable.
6957 (syms_of_window): DEFVAR_LISP it.
6958 (Fdisplay_buffer): Check Veven_window_heights before evening the
6959 window heights.
52283633 6960
0eb2ecde
MB
69612000-12-06 Miles Bader <miles@gnu.org>
6962
6963 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6964 update `default-frame-alist' instead of setting no frame parameters.
6965
03d7a167
KH
69662000-12-06 Kenichi Handa <handa@etl.go.jp>
6967
6968 * composite.c (update_compositions): Fix typo (use the correct
6969 variable).
6970
5f8803c2
JR
69712000-12-05 Jason Rumney <jasonr@gnu.org>
6972
6973 * md5.h: Remove underscores from function declarations.
6974 (__attribute__, __alignof__) [!__GNUC__]: Define.
6975
6976 * md5.c: Delay include of md5.h until after namespace cleaning.
6977
c28a075b
JR
6978 * makefile.w32-in (fns.o): Depend on md5.h
6979 (md5.o): New target.
6980 (sunfns.o): Remove.
6981
6982 * makefile.nt: Likewise.
6983
ff3c7056
JR
69842000-12-05 Jason Rumney <jasonr@altavista.net>
6985
6986 * w32term.c (expose_area): Complete last change.
6987
0c21eeeb
KR
69882000-12-05 Ken Raeburn <raeburn@gnu.org>
6989
6990 * minibuf.c: Include intervals.h.
6991
f201d732
JR
69922000-12-05 Jason Rumney <jasonr@gnu.org>
6993
6994 * w32term.c (x_produce_glyphs): If a font for a component of
6995 a composition is not found, use 1 pixel dot ascent and 0 dot
6996 descent value to avoid displaying terribly tall empty boxes.
6997 (expose_area): Pass x-coordinate relative to the exposed
6998 area to x_draw_glyphs instead of a window-relative coordinate.
6999
21999ab9
GM
70002000-12-05 Gerd Moellmann <gerd@gnu.org>
7001
4d2036e4
GM
7002 * xdisp.c (next_element_from_ellipsis): Save face before selective
7003 display in saved_face_id, and set face_before_selective_p.
7004 (reseat_1): Reset face_before_selective_p.
7005 (append_space, extend_face_to_end_of_line): If iterator's
7006 face_before_selective_p is set, use the face from saved_face_id.
7007 (extend_face_to_end_of_line): For tty frames, make sure to
7008 use the right face id when producing spaces at the end of
7009 the line.
7010
7011 * dispextern.h (struct it): Add face_before_selective_p.
7012
52be17cc
GM
7013 * keyboard.c (record_char): Don't record identical help-echo
7014 events in recent_keys.
7015
8a4f36cc
GM
7016 * xterm.c [USE_X_TOOLKIT]: Close the display.
7017 (xim_close_dpy): Handle case that the display has been closed.
7018
57d6e381
GM
7019 * xterm.c (x_destroy_window): Reset the frame's X window after
7020 destroying it.
7021
21999ab9
GM
7022 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
7023 variable window_width.
7024 (line_draw_cost): Fix code skipping over spaces at the end of the
7025 line when must_write_spaces is not set.
7026 (scrolling_window): Fix code inserting runs in list of all runs.
7027
91372bb7
KH
70282000-12-05 Kenichi Handa <handa@etl.go.jp>
7029
7030 * coding.c (setup_coding_system): Be sure to initialize
7031 coding->category_idx.
7032
6c083b4c
GM
70332000-12-04 Gerd Moellmann <gerd@gnu.org>
7034
0c68ce6f 7035 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 7036
6452929e
GM
7037 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
7038 area to x_draw_glyphs instead of a window-relative coordinate.
7039
d7f31e22
GM
7040 * fileio.c (auto_save_error): Add parameter ERROR. Show the
7041 error in the message.
7042
ae18aa3b
GM
7043 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
7044 timer after having read a key. It's not good for code reading
7045 several keys in a loop, like an input method.
7046
caa15ef7
GM
7047 * fileio.c (Finsert_file_contents): When VISIT is t, don't
7048 record undo information for format-decode.
7049
7050 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
7051 current buffer is read-only, not if it isn't.
7052
6c083b4c
GM
7053 * keyboard.c (record_char): Record `help-echo' input events
7054 in recent_keys only if they display some help. Don't record
7055 `help-echo' events as macro char.
7056
caa15ef7
GM
70572000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
7058
7059 * editfns.c (save_excursion_restore): Don't move point
7060 in another window if it is showing the wrong buffer.
7061 Avoid the call to Fwindow_live_p, for speed.
7062
5a13529b
KH
70632000-12-04 Kenichi Handa <handa@etl.go.jp>
7064
e225faa7
KH
7065 * xfaces.c (struct font_name): New member registry_priority.
7066 (split_font_name): Initialize the above member to zero.
7067 (concat_font_list): New function.
7068 (font_list): Include fonts of all alternative registries.
7069 (FONT_POINT_SIZE_QUANTUM): New macro.
7070 (better_font_p): Ignore point size difference less than
7071 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
7072
e89648b4
KH
7073 * xterm.c (x_produce_glyphs): If a font for a component of
7074 a composition is not found, use 1 pixel dot ascent and 0 dot
7075 descent value to avoid displaying terribly tall empty boxes.
7076
5a13529b
KH
7077 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
7078
d7935eb6
KR
70792000-12-03 Ken Raeburn <raeburn@gnu.org>
7080
7081 * coding.h (code_convert_string1): Declare.
7082
7083 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
7084
52283633 7085 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 7086
0dd5e255
JR
70872000-12-02 Jason Rumney <jasonr@gnu.org>
7088
7089 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
7090 correctly for single byte character case.
7091 (w32_per_char_metric): Do not try to make any assumptions about
7092 the metrics of BDF fonts.
250cfece 7093 (x_estimate_mode_line_height): If `mode-line' face
52283633 7094 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
7095 (note_mouse_highlight): Change the cursor shape on the vertical
7096 border between windows [not enabled].
7097
7098 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
7099
7100 * w32fns.c (Fx_create_frame): Reintroduce the call to
7101 face-set-after-frame-defaults.
7102 (Vx_window_horizontal_drag_shape): New variable.
7103 (syms_of_xfns): DEFVAR_LISP it.
7104 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
7105 enabled].
0dd5e255 7106
b5d8d2ca
GM
71072000-12-02 Simon Josefsson <simon@josefsson.org>
7108
7109 * fns.c (Fmd5): Use a different logic to decide the coding system
7110 to use.
7111
7112 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
7113
fbb87147
EZ
71142000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7115
52283633 7116 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 7117
447e9da0
GM
71182000-12-01 Gerd Moellmann <gerd@gnu.org>
7119
7708ced0
GM
7120 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7121 height for YNegative.
7122 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7123 height; also see comment there.
7124
447e9da0
GM
7125 * window.c (coordinates_in_window): Handle computations for
7126 positions on the vertical bar and fringes differently for
7127 window-system frames. Consider some pixels near the vertical bar
7128 as on the bar if the frame doesn't have vertical scroll bars.
7129 Associate positions between mode or header lines with the
7130 right window, the left one.
7131
86d1db20
JR
71322000-12-01 Jason Rumney <jasonr@gnu.org>
7133
7134 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7135
7136 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7137 invalid frame.
7138
a1d58e5b
GM
71392000-12-01 Gerd Moellmann <gerd@gnu.org>
7140
52283633 7141 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7142 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7143 (save_window_save, Fset_window_configuration): Save/restore
7144 window's orig_top and orig_height.
7145
89c609af
JR
71462000-12-01 Jason Rumney <jasonr@gnu.org>
7147
4d177746 7148 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7149
89c609af
JR
7150 * w32fns.c (x_set_cursor_color): Fix last change.
7151
eccc05db
GM
71522000-11-30 Gerd Moellmann <gerd@gnu.org>
7153
31b6671b
GM
7154 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7155 sure that the next redisplay displays the minibuffer, so that
7156 the cursor will be replaced with what the minibuffer wants.
7157
eccc05db
GM
7158 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7159 #ifndef instead of using #if.
7160 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7161 USE_TOOLKIT_SCROLL_BARS is defined.
7162
162de750
JR
71632000-11-30 Jason Rumney <jasonr@gnu.org>
7164
7165 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7166 x_display_cursor.
7167
693c4692
GM
71682000-11-30 Gerd Moellmann <gerd@gnu.org>
7169
7170 * fns.c (Fmd5): Doc fix.
7171
b5d8d2ca 71722000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7173
7174 * fns.c (Fmd5): New function.
7175 (syms_of_fns): Defsubr md5.
7176
7177 * Makefile.in (obj): Add md5.o
7178
b02cd40b
GM
71792000-11-30 Gerd Moellmann <gerd@gnu.org>
7180
edfb795e
GM
7181 * md5.h, md5.c: New files, taken from glibc.
7182
df3aedcf
GM
7183 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7184
b02cd40b 7185 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7186 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7187
8b5176cd
SM
71882000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7189
7190 * eval.c (Frun_hooks): Allow 0 arguments.
7191
346598f1
GM
71922000-11-29 Gerd Moellmann <gerd@gnu.org>
7193
f9396e03
GM
7194 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7195 is over the menu bar widget, say it's not on the frame.
7196
4a967a9b
GM
7197 * xfns.c (Fx_create_frame): Reintroduce the call to
7198 face-set-after-frame-defaults.
7199
346598f1
GM
7200 * eval.c (Fsignal): Reset handling_signal.
7201
222456a1
JR
72022000-11-28 Jason Rumney <jasonr@gnu.org>
7203
7204 * w32menu.c (add_menu_item): Reset menu item text when changing
7205 type to radio button.
7206
8049ddc0
GM
72072000-11-28 Gerd Moellmann <gerd@gnu.org>
7208
346598f1 7209 * xselect.c: Update copyright.
f4f4ee4d 7210
bebe4a2c
GM
7211 * window.c (coordinates_in_window): If on a mode or header line,
7212 but sufficiently close to its start, return ``on vertical
7213 border''. This gives us a way to drag windows horizontally when
7214 using toolkit scroll bars.
7215
7216 * xterm.c (note_mouse_highlight): Change the cursor shape
7217 on the vertical border between windows.
7218
7219 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7220
7221 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7222 (syms_of_xfns): DEFVAR_LISP it.
7223 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7224
8d2c2642
GM
7225 * textprop.c (text_read_only): New function.
7226 (verify_interval_modification): Use it instead of signaling
7227 `text-read-only'. This makes it easier to catch this error
52283633 7228 with a breakpoint.:
8d2c2642 7229
52283633 7230 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7231 not end of line, which includes CR.
7232
5a2bae6c
KH
72332000-11-28 Kenichi Handa <handa@etl.go.jp>
7234
7235 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7236 include no-conversion.
7237
ae31f84d
JR
72382000-11-27 Jason Rumney <jasonr@gnu.org>
7239
7240 * w32fns.c (w32_load_system_font): Always mark font as double byte
7241 if codepage is unicode.
7242
67f1cf4c
GM
72432000-11-27 Gerd Moellmann <gerd@gnu.org>
7244
4a74d071 7245 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7246 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7247
902ae620
GM
7248 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7249 `vertical-line', `mode-line' and `header-line' events.
7250
7251 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7252 of a character, a TAB for instance. This is easier than to set
7253 up the iterator exactly, and it's not a frequent case, so the
7254 additional effort wouldn't really pay off.
7255
c1e279c2
AC
72562000-11-26 Andrew Choi <akochoi@i-cable.com>
7257
67f1cf4c 7258 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7259 init_window_once.
7260
a609568a
JR
72612000-11-25 Jason Rumney <jasonr@gnu.org>
7262
52283633
SM
7263 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7264 Args to window_from_coordinates should be pixel coordinates.
48b21762 7265
a609568a
JR
7266 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7267 redisplay handles them properly.
7268
a658d039
MB
72692000-11-25 Miles Bader <miles@gnu.org>
7270
7271 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7272
d3416cca
JR
72732000-11-24 Jason Rumney <jasonr@gnu.org>
7274
7275 * w32.c (init_environment): Set LANG environment variable based on
7276 locale settings, if not set.
7277
7278 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7279 making tool bar smaller. When clearing the frame, also
7280 clear current matrices. Clear frame when tool bar disappears.
7281 Don't use more lines for the tool-bar than is available.
7282 (x_change_window_heights): New function.
7283
ba193890
GM
72842000-11-24 Gerd Moellmann <gerd@gnu.org>
7285
2be8f184
GM
7286 * xdisp.c (init_from_display_pos): If POS says we're already after
7287 an overlay string ending at POS, make sure to pop the iterator
7288 because it will be in front of that overlay string. When POS is
7289 ZV, we've thereby also ``processed'' overlay strings at ZV.
7290
ba193890
GM
7291 * xfaces.c (lface_from_face_name): Function comment fix.
7292
1862a24e
MB
72932000-11-24 Miles Bader <miles@gnu.org>
7294
7295 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7296 apply `mode-line-inverse-video' -- zero means force display using
7297 the default face, non-zero means display using the specialized face.
7298 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7299
f07fa1b8
KH
73002000-11-23 Kenichi Handa <handa@etl.go.jp>
7301
7302 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7303 hard coded `4'.
7304
2bcdf662
EZ
73052000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7306
7307 * coding.c (decode_coding_emacs_mule): Fix the case of
7308 CODING_EOL_LF, which used uninitialized value of c.
7309
ba8299ff
SM
73102000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7311
7312 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7313
f4117c4d
GM
73142000-11-22 Gerd Moellmann <gerd@gnu.org>
7315
03e757c1
GM
7316 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7317 buffer object.
7318
f4117c4d
GM
7319 * frame.h (struct frame): Replace desired_tool_bar_items,
7320 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7321 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7322
7323 * frame.c (make_frame): Change initialization of tool bar
7324 items accordingly.
7325
7326 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7327 Change references to members deleted from struct frame to use the
f4117c4d
GM
7328 new ones.
7329
7330 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7331 references to members deleted from struct frame to use the new ones.
f4117c4d 7332
52283633 7333 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7334
7335 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7336
7337 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7338 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7339 from struct frame to use the new ones.
7340
f8e2f3f2
MB
73412000-11-23 Miles Bader <miles@gnu.org>
7342
7343 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7344 the face's inverse-video attribute, rather than overriding it.
7345
60e8e0a5
GM
73462000-11-22 Gerd Moellmann <gerd@gnu.org>
7347
7348 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7349 making tool bar smaller.
7350
92dd1b29
DL
73512000-11-22 Dave Love <fx@gnu.org>
7352
7353 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7354
e672fdce
MB
73552000-11-22 Miles Bader <miles@gnu.org>
7356
3a17d6cc
MB
7357 * keyboard.c (Vminibuffer_message_timeout): New variable.
7358 (command_loop_1): Use it to determine message timeout.
7359 (syms_of_keyboard): Initialize it.
7360
60e8e0a5 7361 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7362
e9655d81
KH
73632000-11-22 Kenichi Handa <handa@etl.go.jp>
7364
7365 * sysdep.c: Move the code for declaring h_errno after #include
7366 <netdb.h>.
7367
77270fac
GM
73682000-11-21 Gerd Moellmann <gerd@gnu.org>
7369
cd913aae
GM
7370 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7371 the menu bar when the tooltip is unmapped.
7372
77270fac
GM
7373 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7374 sole visible buffer when we're currently in the mini-buffer, and
7375 give up if so.
52283633 7376
556635d6
JR
73772000-11-21 Jason Rumney <jasonr@gnu.org>
7378
7379 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7380 put on the clipboard.
7381 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7382 copy of what Emacs last put there. If they are the same, do not
52283633 7383 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7384
5b7bde64
MB
73852000-11-22 Miles Bader <miles@gnu.org>
7386
7387 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7388 (syms_of_minibuf): Initialize it.
7389 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7390 to prompt, don't make read-only.
7391
ff23e1dd
GM
73922000-11-21 Gerd Moellmann <gerd@gnu.org>
7393
52283633
SM
7394 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7395 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7396
7aaf4388
GM
7397 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7398
f5f47add 7399 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7400
ff23e1dd
GM
7401 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7402
37c35586
KH
74032000-11-21 Kenichi Handa <handa@etl.go.jp>
7404
7405 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7406 ... #endif scope.
7407
ff9ab414
GM
74082000-11-20 Gerd Moellmann <gerd@gnu.org>
7409
52283633 7410 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7411 screen supports it.
7412
29a01b72
GM
7413 * s/gnu-linux.h: Don't use `#cpu'.
7414
09dfdf85
GM
7415 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7416 not defined in mman.h.
7417
52283633 7418 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7419 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7420 and store an index in the XClientMessageEvent. Storing a
7421 Lisp_Object or pointer can fail on a 64 bit system, since X only
7422 transfers 32 bits.
52283633
SM
7423 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7424
81459ac9
DL
74252000-11-20 Dave Love <fx@gnu.org>
7426
7427 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7428
56c13ae6
GM
74292000-11-20 Gerd Moellmann <gerd@gnu.org>
7430
7431 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7432
495a6df3
KH
74332000-11-20 Kenichi Handa <handa@etl.go.jp>
7434
2bcf3714
KH
7435 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7436 by WIDTH.
7437
495a6df3
KH
7438 * alloc.c (make_string): Fix previous change. Be sure to make
7439 unibyte string correctly.
7440
6d950f4c
GM
74412000-11-19 Gerd Moellmann <gerd@gnu.org>
7442
39b39373
GM
7443 * window.c (Fwindow_list): Change parameter list to be XEmacs
7444 compatible.
7445 (window_list_1): New function.
7446 (window_loop): Use it instead of Fwindow_list.
7447
b95b34e5
GM
7448 * sysdep.c (emacs_ospeed): New variable.
7449 (toplevel): Don't declare ospeed extern.
7450 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7451
7452 * termcap.c (ospeed): Remove.
7453 (tputs) [!emacs]: Remove unused code.
7454 (tgetent): Avoid a compiler warning.
7455
e83dc917
GM
7456 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7457 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7458 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7459
7460 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7461 removed.
7462 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7463 Take the X display as additional argument.
7464 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7465 `Widget' is a pointer type that's not easily stored in Lisp_Object
7466 form in a portable way.
52283633 7467
6d950f4c
GM
7468 * dispnew.c (update_text_area): Fix last change.
7469
e47306e6
GM
74702000-11-18 Gerd Moellmann <gerd@gnu.org>
7471
fb3cd89b
GM
7472 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7473
7474 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7475 clear current matrices.
7476
edaa9aed
GM
7477 * buffer.c (mmap_enlarge): Don't print a message on stderr
7478 if mapping new memory at the end of the existing region fails.
7479
e47306e6
GM
7480 * dispnew.c (update_text_area): Don't skip over equal glyphs
7481 when the last current glyph overlaps the glyph to its right.
7482
509633e3
MB
74832000-11-18 Miles Bader <miles@gnu.org>
7484
7485 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7486 lines that *end* with "..." too (that's the most common case!).
7487
d392e9c5
GM
74882000-11-18 Gerd Moellmann <gerd@gnu.org>
7489
67988445
GM
7490 * xdisp.c (resize_mini_window): Temporarily change to the
7491 mini-window's buffer if necessary.
1bfdbe43 7492
d392e9c5
GM
7493 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7494 the tooltip obscures less text under it.
7495
74962000-11-17 Gerd Moellmann <gerd@gnu.org>
7497
7498 * puresize.h (BASE_PURESIZE): Increase to 700000.
7499
92bb977f
JR
75002000-11-18 Jason Rumney <jasonr@gnu.org>
7501
7502 * w32term.c (w32_draw_bitmap): Use face to set colors.
7503
26fbf20b
DL
75042000-11-17 Dave Love <fx@gnu.org>
7505
7506 * lread.c (Fload): Fix #ifdef for pcc.
7507
100b593b
GM
75082000-11-17 Gerd Moellmann <gerd@gnu.org>
7509
7510 * xdisp.c (pos_visible_p): Compute the default character height
7511 differently.
7512
a288d0d1
GM
75132000-11-16 Gerd Moellmann <gerd@gnu.org>
7514
cac94de6 7515 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7516 knowing the line's height; use the default font's height in that case.
cac94de6 7517
a288d0d1
GM
7518 * xfaces.c (weight_table): Add `demi' with the same meaning as
7519 `demibold'.
7520
981fb6f6
KH
75212000-11-16 Kenichi Handa <handa@etl.go.jp>
7522
2cca872d 7523 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7524 (clear_glyph_row): Delete local static variable null_row.
7525
e5fa381b
JR
75262000-11-15 Jason Rumney <jasonr@gnu.org>
7527
7528 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7529 (w32_alloc_lighter_color): Use new brightness calculations from
7530 xterm.c. Scale delta to be in the range expected by W32.
7531 (w32_draw_relief_rect): Use frame relief colors.
7532
8e42f043
GM
75332000-11-15 Gerd Moellmann <gerd@gnu.org>
7534
6d133d1f
GM
7535 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7536 (Qinhibit_default_face_x_resources): New variable.
7537 (syms_of_frame): Initialize it.
7538 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7539
7540 * xdisp.c (pos_visible_p): Improve function comment.
7541
7542 * lisp.h (BINDING_STACK_SIZE): New macro.
7543
8e42f043
GM
7544 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7545 reading the directory if readdir returns null and errno is EAGAIN
7546 or EINTR.
7547
e8c87124
SM
75482000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7549
7550 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7551 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7552 Set amount_to_scroll to max of dx and scroll_step so that
7553 scroll-conservatively doesn't defeat scroll-step>1.
7554 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7555 scroll-conservatively for line-at-a-time scrolling.
7556
5f0c971d
GM
75572000-11-14 Gerd Moellmann <gerd@gnu.org>
7558
7559 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7560 extra argument.
7561
7562 * xdisp.c (current_mode_line_height, current_header_line_height):
7563 New variables.
7564 (init_xdisp): Initialize them.
7565 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7566 and use exact mode line heights if it is set.
7567
7568 * lisp.h (pos_visible_p): Change prototype.
7569
7570 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7571 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7572 and current_header_line_height first.
52283633
SM
7573 (current_mode_line_height, current_header_line_height):
7574 Declare extern.
5f0c971d 7575
d7361edf
MB
75762000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7577
7578 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7579 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7580 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7581
ee5e440a
MB
75822000-11-14 Miles Bader <miles@gnu.org>
7583
7584 * xterm.c (x_alloc_lighter_color): Include an additive component
7585 too for dark colors, because FACTOR isn't enough.
7586 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7587 New macros.
7588
5ca020fc
GM
75892000-11-13 Gerd Moellmann <gerd@gnu.org>
7590
7591 * keyboard.c (show_help_echo): Call message3_nolog with number of
7592 bytes in the help string as 2nd parameter, instead of the number
7593 of characters.
7594
9d348294
MB
75952000-11-13 Miles Bader <miles@gnu.org>
7596
7597 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7598 (Fload): Use new openp return protocol.
7599 Don't try to use Vload_source_file_function to load .elc files.
7600 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7601 openp return protocol.
7602 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7603
1729bb9a
KH
76042000-11-11 Kenichi Handa <handa@etl.go.jp>
7605
4e677396
KH
7606 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7607
7608 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7609 Defined these macros.
7610 (NLIST_STRUCT): Avoid re-defining it.
7611
1729bb9a
KH
7612 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7613 -I/usr/contrib/X11R6/include.
7614 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7615
a82fe213
JR
76162000-11-10 Jason Rumney <jasonr@gnu.org>
7617
7618 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7619
7620 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7621 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7622
7623 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7624 (Qw32_charset_vietnamese): New symbol.
7625 (xlfd_charset_of_font): New function.
7626 (w32_load_system_font): Use it.
7627 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7628 when Vw32_charset_info_alist is nil to ensure default face always
7629 has font. Use Fcar and Fcdr for safety.
7630 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7631 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7632 pseudo-codepages for special cases.
7633 (w32_to_x_font): New parameter to allow charset portion to be
7634 specified where there is many to one mapping. Callers changed.
7635 (w32_list_fonts): Avoid listing fonts that won't display.
7636
52d89894
GM
76372000-11-10 Gerd Moellmann <gerd@gnu.org>
7638
7639 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7640 (font_list_1): Renamed from font_list.
7641 (font_list): New function, trying alternative registries from
7642 Vface_alternative_font_registry_alist.
7643 (Finternal_set_alternative_font_registry_alist): New function.
7644 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7645 Vface_alternative_font_registry_alist.
7646 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7647
651cd3da
KR
76482000-11-09 Ken Raeburn <raeburn@gnu.org>
7649
7650 * lisp.h (Flooking_at): Declare.
7651
388ac098
GM
76522000-11-09 Gerd Moellmann <gerd@gnu.org>
7653
778fbc46 7654 * dired.c (directory_files_internal): Fix a braino.
52283633 7655
388ac098
GM
7656 * dired.c (directory_files_internal): Add missing GCPRO's.
7657 Some cleanup.
7658
ecaedde1
GM
76592000-11-08 Gerd Moellmann <gerd@gnu.org>
7660
f7eb32aa
GM
7661 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7662 (resize_mini_window): Return quickly if Vresize_mini_window is
7663 nil. Don't return if Vmax_mini_window_height is nil.
7664
7665 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7666 (syms_of_xdisp): Initialize them.
7667 (resize_mini_window): Act according to the setting of
7668 Vresize_mini_window.
7669 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7670
ecaedde1
GM
7671 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7672 scroll bar widget after configuring it, so that it will appear at
7673 the right position from the start.
7674 (XTredeem_scroll_bar): Cleaned up.
7675
3747ef2c
KH
76762000-11-08 Kenichi Handa <handa@etl.go.jp>
7677
7678 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7679 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7680 division by two.
7681
7682 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7683
03391420
DL
76842000-11-07 Dave Love <fx@gnu.org>
7685
7758f1c1 7686 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7687
7688 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7689
b5de343d
GM
76902000-11-07 Gerd Moellmann <gerd@gnu.org>
7691
acad3c0b
GM
7692 * window.c (Fset_window_configuration): Don't try to preserve
7693 point in the current buffer, if that buffer is displayed in more
7694 than one window.
7695
b5de343d
GM
7696 * xfaces.c (lookup_named_face): If default face isn't realized,
7697 try to realize it. Return -1 if not successful.
7698 (Fx_list_fonts): Handle case that face cannot be determined.
7699 (Fface_font): Likewise.
7700
cdb1fe49
GM
77012000-11-06 Gerd Moellmann <gerd@gnu.org>
7702
7703 * window.c (displayed_window_lines): Detect partially
7704 visible lines at the bottom correctly.
7705
d3a67486
SM
77062000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7707
7708 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7709 when ensuring we don't do visit in indirect buffer.
7710
ff8dd5d5
KH
77112000-11-06 Kenichi Handa <handa@etl.go.jp>
7712
7713 * composite.h (compose_chars_in_text): Add prototype.
7714
7715 * composite.c (Vcomposition_function_table): New variable.
7716 (Qcomposition_function_table): New variable.
7717 (run_composition_function): Call
7718 Vcompose_chars_after_function with three arguments.
7719 (compose_chars_in_text): New function.
7720 (syms_of_composite): Modified the doc-string of
7721 Vcompose_chars_after_function. Declare composition-function-table
7722 as a lisp variable, and initialize it.
7723
7724 * xfns.c (x_encode_text): Suppress producing escape sequences for
7725 composition.
7726
7727 * xselect.c: Include composite.h.
7728 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7729
d1145f85
AI
77302000-11-05 Andrew Innes <andrewi@gnu.org>
7731
7732 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7733
7734 * sysdep.c (read_input_waiting): Remove extraneous argument to
7735 read_socket_hook.
7736
7737 * w32fns.c (Fx_server_version): Include w32_build_number in the
7738 return list.
7739
7740 * w32heap.c (w32_build_number): New variable.
7741 (cache_system_info): Set it.
7742
7743 * w32heap.h (w32_build_number): Add extern.
7744
7745 * emacs.c (syms_of_emacs): Update docstring for
7746 system-configuration, to reflect the actual usage on MS-Windows.
7747
e85ee976
GM
77482000-10-31 Gerd Moellmann <gerd@gnu.org>
7749
26dcb81b
GM
7750 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7751 process idle timers while waiting for another event.
7752
52283633 7753 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7754 the default face are colored.
7755
e85ee976
GM
7756 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7757 window height hasn't changed.
7758
01b220b6
JR
77592000-10-31 Jason Rumney <jasonr@gnu.org>
7760
7761 * w32term.c (x_produce_glyphs): Handle composite characters.
7762 (x_draw_glyph_string_foreground)
7763 (x_draw_composite_glyph_string_foreground): Restore old font.
7764
4e6b7204
MB
77652000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7766
7767 * minibuf.c (read_minibuf): Reset the undo history just before
7768 starting the recursive-edit.
7769
d4358b37
GM
77702000-10-30 Gerd Moellmann <gerd@gnu.org>
7771
563f68f1
GM
7772 * xfaces.c (menu_face_change_count): New variable.
7773 (Finternal_set_lisp_face_attribute): Increment it for changes
7774 of the `menu' face.
7775 (realize_basic_faces): Reflect changes in the `menu' faces
7776 in menu bars.
7777
82e274d1
GM
7778 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7779 dy obtained from the iterator's y-position after moving from
7780 scroll_margin_pos to PT; see comment there.
52283633 7781
0dbf9fd2
GM
7782 * xdisp.c (safe_eval_handler): Call add_to_log.
7783
906b3b14
GM
7784 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7785 is not a symbol or string.
7786
d4358b37
GM
7787 * xdisp.c (echo_area_display): Don't perform a display update from
7788 inside redisplay. The update will happen anyway at the end of
7789 redisplay, and it can confuse redisplay (GC messages while
7790 redisplaying, for instance.)
7791
70c825df
SM
77922000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7793
cf9b4b0b
SM
7794 * xrdb.c (x_load_resources): Use the class name in the defaults.
7795
70c825df
SM
7796 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7797 (regex_compile): Catch bogus \(\1\).
7798
a1d34b1e
GM
77992000-10-30 Gerd Moellmann <gerd@gnu.org>
7800
cae71efe
GM
7801 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7802 RGB values.
52283633 7803
35efe0a1
GM
7804 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7805 we have a color cache, check that the cached color equals the
7806 allocated color. If not, clear the color cache.
7807
1d3baf74
GM
7808 * window.c (displayed_window_lines): Change buffers if necessary.
7809 Fix computation of displayed lines.
7810
a1d34b1e
GM
7811 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7812 update_menu_bindings to DEFVAR_BOOL.
7813
70737ea9
KH
78142000-10-30 Kenichi Handa <handa@etl.go.jp>
7815
70c825df 7816 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7817
fa0cb51d
KH
7818 * puresize.h (BASE_PURESIZE): Increase to 680000.
7819
70737ea9
KH
7820 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7821
0e4c08e8
JR
78222000-10-29 Jason Rumney <jasonr@gnu.org>
7823
7824 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7825
7826 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7827 (w32_cache_char_metrics): Handle possibility that 'x' does not
7828 exist in a BDF font.
7829 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7830
7831 * w32bdf.h (bdffont): Add nchars.
7832
7833 * w32bdf.c (set_bdf_font_info): Set it.
7834 (w32_BDF_TextOut): Swap byte order of double byte characters.
7835 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7836
45b84006
EZ
78372000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7838
7839 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7840 don't override the colors in frame's param_alist, unless they are
7841 unspecified.
7842
7843 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7844 reverse the effect of the highlight flag.
7845
caf9deee
KR
78462000-10-27 Ken Raeburn <raeburn@gnu.org>
7847
7848 * window.h (Fwindow_live_p): Declare.
7849
ae0b9b46
KR
7850 * undo.c (record_delete): Check that last_undo_buffer is really a
7851 buffer before applying XBUFFER to it.
7852
7853 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7854 Faref.
7855
02067692
SM
78562000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7857
7858 * lisp.h (KEYMAPP): New macro.
7859 (get_keymap): Remove.
7860 (get_keymap_1): Rename get_keymap.
7861
7862 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7863
7864 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7865
7866 * xmenu.c (single_submenu): Use KEYMAPP.
7867 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7868 Use KEYMAPP rather than Fkeymapp.
7869
7870 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7871
7872 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7873 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7874 Use KEYMAPP rather than Fkeymapp.
7875 (single_submenu): Use KEYMAPP.
7876 (w32_menu_show, w32_dialog_show): Use TRUE.
7877
7878 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7879
7880 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7881 (Fkeymapp): Use KEYMAPP.
7882 (get_keymap): Rename from get_keymap_1. Remove old def.
7883 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7884 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7885 (Fminor_mode_key_binding): Don't raise an error if the binding
7886 is not a keymap.
7887 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7888 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7889
7890 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7891 Allow Vspecial_event_map to be autoloaded.
7892 (menu_bar_items): Fetch the keymap rather than using keymapp.
7893 (menu_bar_one_keymap): No need to follow func-indirect any more.
7894 (parse_menu_item): get_keymap_1 -> get_keymap.
7895 (tool_bar_items): Fetch the keymap rather than using keymapp.
7896 (read_key_sequence): Use KEYMAPP.
7897
7898 * intervals.c (get_local_map): Use get_keymap rather than following
7899 function-indirections explicitly.
7900
7901 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7902
f9d80af3
JR
79032000-10-27 Jason Rumney <jasonr@gnu.org>
7904
7905 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7906 point, as Windows has oversized fonts.
7907
7908 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7909
a3ba27da
GM
79102000-10-27 Gerd Moellmann <gerd@gnu.org>
7911
7912 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7913 (freehook, reallochook): Handle null pointer arguments.
7914 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7915
aa3b80cc
SM
79162000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7917
7918 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7919 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7920 Giving in to popular pressure to shut up the compiler with casts.
7921
e24e84cc
GM
79222000-10-27 Gerd Moellmann <gerd@gnu.org>
7923
7924 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7925 signed value, and use a default value computed from the font's
7926 maximum descent.
7927
05ea7ef2
MB
79282000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7929
7930 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7931 that specify a negative underline position can still use underlines.
7932
7933 * window.c (Fpos_visible_in_window_p): Make POS default to
7934 WINDOW's point, not the current buffer's point.
7935
0b95284b
DL
79362000-10-26 Dave Love <fx@gnu.org>
7937
7938 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7939 when it's necessary.
7940
6c5b90af
GM
79412000-10-26 Gerd Moellmann <gerd@gnu.org>
7942
8b6d9dc9
GM
7943 * window.c (size_window): Compute size difference from sum of old
7944 child window sizes instead of from parent's size.
7945
6bc92b2e
GM
7946 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7947 Handle obscured lines at the top of the window.
7948
7949 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7950 down after the last error condition check.
7951
6c5b90af
GM
7952 * frame.c (Fdelete_frame): Run delete-frame-hook.
7953
42f92d4d
KH
79542000-10-26 Kenichi Handa <handa@etl.go.jp>
7955
7956 * coding.c (decode_coding): Fix previous change (check also
7957 CODING_MODE_LAST_BLOCK).
7958
d97151cb
SM
79592000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7960
e7efc503
SM
7961 * regex.c: More `unsigned char' -> `re_char' changes.
7962 Also change several `int' into `re_wchar_t'.
7963 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7964 (PUSH_FAILURE_POINTER): Don't cast any more.
7965 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7966 We want GCC to complain, since this piece of code makes
7967 re_match non-reentrant, which *should* be fixed.
7968 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7969 (EXTEND_BUFFER): Use RETALLOC.
7970 (SET_LIST_BIT): Don't cast.
7971 (re_wchar_t): New type.
7972 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7973 that those two functions will always properly return.
7974 (IMMEDIATE_QUIT_CHECK): Cast to void.
7975 (analyse_first): Use recursion rather than an explicit stack.
7976 (re_compile_fastmap): Can't fail anymore.
7977 (re_search_2): Don't check re_compile_fastmap for failure.
7978 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7979 Now also sets the new value (passed in a new argument).
7980 (re_match_2_internal): Use it.
7981 Also, use a new var `reg' of type size_t when looping through regs
7982 rather than reuse the inappropriate `mcnt'.
7983
d97151cb
SM
7984 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7985 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7986 (where_is_internal): Renamed from Fwhere_is_internal.
7987 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7988 (Fwhere_is_internal): New function wrapping where_is_internal.
7989 (where_is_internal_1): Handle the case where we're filling the cache.
7990 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7991
d5789b65
MB
79922000-10-25 Miles Bader <miles@gnu.org>
7993
7994 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7995
4ecda532
GM
79962000-10-25 Gerd Moellmann <gerd@gnu.org>
7997
7998 * window.c (pos_fully_visible_p): Removed.
7999 (Fpos_visible_in_window_p): Use pos_visible_p to determine
8000 if position is visible and/or fully visible.
8001
8002 * lisp.h (pos_visible_p): Add prototype.
8003
8004 * xdisp.c (pos_visible_p): New function.
8005
68c3a137
KH
80062000-10-25 Kenichi Handa <handa@etl.go.jp>
8007
8008 * process.c (send_process): If OBJECT is t, it means that the data
8009 is from C string, but we should encode it. Before calling
8010 setup_raw_text_coding_system, be sure to flush out data by the
8011 previous coding system.
8012
7ae1c032
MB
80132000-10-25 Miles Bader <miles@lsi.nec.co.jp>
8014
ff4dcd4b
MB
8015 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
8016 assignment of startpos to prev when startpos == pos.
8017
7ae1c032
MB
8018 * editfns.c (find_field): Set the field stickiness correctly from
8019 overlay fields. Use renamed `text_property_stickiness'.
8020 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 8021 Only check text properties, not overlays.
7ae1c032
MB
8022 * textprop.c (get_char_property_and_overlay): New function.
8023 (Fget_char_property): Use it.
8024 * intervals.h (get_char_property_and_overlay): Add declaration.
8025
49801145
SM
80262000-10-25 Stefan Monnier <monnier@cs.yale.edu>
8027
8028 * keymap.c: Use AREF, ASET and ASIZE macros.
8029 (Fmake_sparse_keymap): Docstring fix.
8030 (synkey): Remove.
8031 (shadow_lookup): Move up.
8032 Handle the case where lookup-key returns an integer.
8033 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
8034 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
8035 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
8036 Simplify/rewrite the keymap-finding code.
8037 Add check for command shadowing, using shadow_lookup.
8038
39e776cd
SM
80392000-10-24 Stefan Monnier <monnier@cs.yale.edu>
8040
8041 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
8042 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
8043 a symbol.
8044
2488aba5
AI
80452000-10-24 Andrew Innes <andrewi@gnu.org>
8046
8047 * dired.c (directory_files_internal_unwind): New function.
8048 (directory_files_internal): Use it to ensure closedir is called
8049 even if expand-file-name or file-attributes throw, eg. because of
8050 a user interrupt. Also enable immediate_quit while calling
8051 re_search, so that matching can be interrupted as well.
8052
b94fdf61
AI
80532000-10-24 Andrew Innes <andrewi@gnu.org>
8054
8055 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
8056 NT-Emacs only.
8057 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
8058 so that re_search functions only quit when callers expect them to.
8059
80602000-10-24 Kenichi Handa <handa@etl.go.jp>
8061
8062 * regex.c (regex_compile): Change the way of handling a range from
8063 a char less than 256 to a char not less than 256.
8064
1946f901
GM
80652000-10-24 Gerd Moellmann <gerd@gnu.org>
8066
7ae2f10f
GM
8067 * window.c (size_window): Prevent setting window's width or
8068 height to a negative value (esp. with XSETFASTINT).
8069
5dcab13e
GM
8070 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
8071 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
8072 (protect_malloc_state) [GC_MALLOC_CHECK &&
8073 GC_PROTECT_MALLOC_STATE]: New function.
8074 (PROTECT_MALLOC_STATE): New macro.
8075 (__malloc_initialize, morecore, _malloc_internal)
8076 (_free_internal) _realloc_internal): Use it to make _heapinfo
8077 read-only outside of gmalloc.
8078
63e1b552
GM
8079 * keymap.c: Update copyright.
8080
1946f901
GM
8081 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
8082 a symbol.
8083
4fa09beb
GM
80842000-10-24 Colin Walters <walters@cis.ohio-state.edu>
8085
8086 * filelock.c (unlock_all_files): Use unlock_file to expand each
8087 buffer's file_truename before trying remove its lock file.
8088
23afac01
EZ
80892000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
8090
8091 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
8092 or CRLF, decode EOLs.
8093
04448b95
KH
80942000-10-24 Kenichi Handa <handa@etl.go.jp>
8095
8096 * window.c (Fdisplay_buffer): Fix doc.
8097
3090a5a5
JR
80982000-10-23 Jason Rumney <jasonr@gnu.org>
8099
8100 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
8101 ASCII font of default fontset on Windows.
8102
8103 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
8104 xterm.c comment below).
8105
8106 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
8107
a83fee2c
GM
81082000-10-23 Gerd Moellmann <gerd@gnu.org>
8109
8110 * xterm.c (x_connection_closed): Reset handling_signal.
8111
52283633 8112 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 8113
6ffdb539
MB
81142000-10-23 Miles Bader <miles@gnu.org>
8115
8116 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8117 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8118 maintain old behavior.
8119 * minibuf.c (Fminibuffer_complete): Likewise.
8120
7f1c969b
MB
81212000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8122
8123 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8124 that when a font can't be exactly centered, it errs up rather than
8125 down.
8126
23afac01 81272000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 8128
52283633 8129 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 8130
1a578e9b
AC
81312000-10-23 Andrew Choi <akochoi@i-cable.com>
8132
8133 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8134
8135 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8136 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8137
8138 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8139 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8140 syms_of_search, x_term_init, and init_keyboard before calling
8141 init_window_once. Also, call syms_of_xmenu.
8142
8143 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8144 default fontset to Monaco.
8145
8146 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8147 NewMacWindow and DisposeMacWindow.
8148 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8149 instead of calling NewMacWindow and setting fields of
8150 f->output_data.mac directly. Call init_frame_faces.
8151 (Fdelete_frame) [macintosh]: Remove unused code.
8152 (Fmodify_frame_parameters) [macintosh]: Call
8153 x_set_frame_parameters instead of mac_set_frame_parameters.
8154
8155 * frame.h [macintosh]: Define menu_bar_lines field in struct
8156 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8157
8158 * keyboard.c [macintosh]: Include macterm.h.
8159 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8160 and menu_bar_activate_event type events as for X and NT.
8161 (make_lispy_event) [macintosh]: Construct lisp events of type
8162 MENU_BAR_EVENT as for X and NT.
8163
8164 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8165 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8166 (sys_subshell) [macintosh]: Remove definition entirely.
8167 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8168 Vwindow_system_version here. Remove initialization of
8169 Vx_bitmap_file_path.
8170 (read_input_waiting): Correct the number of parameters passed to
8171 read_socket_hook.
8172 Move all Macintosh functions to mac/mac.c.
8173
8174 * term.c [macintosh]: Include macterm.h.
8175
8176 * window.c [macintosh]: Include macterm.h.
8177
8178 * xdisp.c [macintosh]: Include macterm.h. Declare
8179 set_frame_menubar and pending_menu_activation.
8180 (echo_area_display) [macintosh]: Do not return if terminal frame
8181 is the selected frame.
8182 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8183 Allow only the selected frame to set menu bar.
8184 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8185 calling FRAME_EXTERNAL_MENU_BAR (f).
8186 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8187
8188 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8189 and check_x. Declare XCreateGC. Define x_create_gc and
8190 x_free_gc. Initialize font_sort_order.
8191 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8192 but call x_list_fonts instead of w32_list_fonts.
8193 (Finternal_face_x_get_resource) [macintosh]: Do not call
8194 display_x_get_resource.
8195 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8196 (realize_x_face) [macintosh]: Load the font if it is specified in
8197 ATTRS.
52283633 8198 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8199
1ffbabe3
SM
82002000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8201
8202 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8203 is nil: since we go to the end of submap anyway, we'd end up
8204 setting nil to nil.
8205 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8206 doesn't obey autoload.
8207
bed43f1d
EZ
82082000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8209
1ffbabe3 8210 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8211
ea4233a7
JR
82122000-10-21 Jason Rumney <jasonr@gnu.org>
8213
8214 * w32term.c (w32_cache_char_metrics): Double check that font is
8215 really fixed pitch before trusting tmPitchAndFamily.
8216
f3d3c491
AI
82172000-10-21 Andrew Innes <andrewi@gnu.org>
8218
8219 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8220
8221 * w32term.h: Extern decl for w32_cache_char_metrics.
8222
8223 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8224
8225 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8226 (w32_unload_font): Free per_char array if present.
8227
8228 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8229 cached information in emulated XFontStruct to handle common cases
8230 quickly. Do not allocate XCharStruct for return.
8231 (w32_native_per_char_metric): New function.
8232 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8233 allocating one.
8234 (x_produce_glyphs): Don't get an HDC. Change calls to
8235 w32_per_char_metric to match arg change above. Remove calls to
8236 free results.
8237 (w32_get_glyph_overhangs): Ditto.
8238 (w32_cache_char_metrics): New function.
8239
8240 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8241 ($(BLD)/casefiddle.$(O)): Remove compile command.
8242 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8243 ($(BLD)/dispnew.obj):
8244 ($(BLD)/keyboard.obj):
8245 ($(BLD)/w32inevt.obj):
8246 ($(BLD)/w32bdf.obj):
8247 ($(BLD)/alloc.obj):
8248 ($(BLD)/buffer.obj):
8249 ($(BLD)/editfns.obj):
8250 ($(BLD)/emacs.obj):
8251 ($(BLD)/fileio.obj):
8252 ($(BLD)/fns.obj):
8253 ($(BLD)/indent.obj):
8254 ($(BLD)/insdel.obj):
8255 ($(BLD)/intervals.obj):
8256 ($(BLD)/minibuf.obj):
8257 ($(BLD)/print.obj):
8258 ($(BLD)/scroll.obj):
8259 ($(BLD)/sysdep.obj):
8260 ($(BLD)/textprop.obj):
8261 ($(BLD)/widget.obj):
f3d3c491
AI
8262 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8263 ($(BLD)/term.obj): Add dependency on dispextern.h.
8264
52283633
SM
8265 * makefile.nt ($(BLD)\dispnew.obj):
8266 ($(BLD)\keyboard.obj):
8267 ($(BLD)\w32inevt.obj):
8268 ($(BLD)\w32bdf.obj):
8269 ($(BLD)\alloc.obj):
8270 ($(BLD)\buffer.obj):
8271 ($(BLD)\editfns.obj):
8272 ($(BLD)\emacs.obj):
8273 ($(BLD)\fileio.obj):
8274 ($(BLD)\fns.obj):
8275 ($(BLD)\indent.obj):
8276 ($(BLD)\insdel.obj):
8277 ($(BLD)\intervals.obj):
8278 ($(BLD)\minibuf.obj):
8279 ($(BLD)\print.obj):
8280 ($(BLD)\scroll.obj):
8281 ($(BLD)\sysdep.obj):
8282 ($(BLD)\textprop.obj):
8283 ($(BLD)\widget.obj):
f3d3c491
AI
8284 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8285 ($(BLD)\term.obj): Add dependency on dispextern.h
8286
18ad4821
EZ
82872000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8288
8289 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8290 with an additional argument of Qt.
8291
de54681a
MB
82922000-10-21 Miles Bader <miles@gnu.org>
8293
8294 * window.c (pos_fully_visible_in_window_p): New function.
8295 (Fpos_visible_in_window_p): Add FULLY argument.
8296 Use pos_fully_visible_in_window_p.
8297 (window_scroll_pixel_based, window_scroll_line_based): Update
8298 calls to Fpos_visible_in_window_p.
8299 * lisp.h (Fpos_visible_in_window_p): Update prototype
8300
13c844fb
GM
83012000-10-20 Gerd Moellmann <gerd@gnu.org>
8302
8303 * alloc.c (toplevel): Conditionalize compilation of mem_*
8304 functions differently.
52283633 8305
d9506268
JR
83062000-10-20 Jason Rumney <jasonr@gnu.org>
8307
8308 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8309 mem_init where it used to be. mem_z etc not defined otherwise.
8310
8094989b
GM
83112000-10-20 Gerd Moellmann <gerd@gnu.org>
8312
8313 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8314 GC_MALLOC_CHECK.
8315 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8316 structure definition and related variabled to the top of the file.
8317 Include this code when GC_MALLOC_CHECK is defined.
8318 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8319 register/unregister allocated region.
8320 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8321 which isn't allocated.
8322 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8323 something which is already in use.
8324 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8325 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8326 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8327 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8328
8329 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8330 _malloc_internal instead of malloc.
8331 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8332 of free.
8333
ea456eb4
AI
83342000-10-20 Andrew Innes <andrewi@gnu.org>
8335
8336 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8337 Windows.
8338 (my_strftime) <macro>: Don't use macro arg list when redefining as
8339 _strftime_copytm.
8340 (my_strftime) <function>: Supply 0 as ut argument.
8341
e64c3a75
JR
83422000-10-19 Jason Rumney <jasonr@altavista.net>
8343
8344 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8345 including dispextern.h, as it stops faces from working.
8346
8347 * w32fns.c (Fx_create_frame): Don't bother calling
8348 face-set-after-frame-default since the caller does it for us
8349 anyway. Clean up calls to x_get_arg to be consistent with X.
8350
8351 * w32term.c (x_produce_glyphs): Handle
8352 unibyte_display_via_language_environment correctly.
8353 (w32_draw_box_rect): Fix the calculation of width and height.
8354
8355 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8356 as it has stopped working.
8357 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8358 menu-bar.
8359
17401c97
GM
83602000-10-19 Gerd Moellmann <gerd@gnu.org>
8361
8362 * eval.c (skip_debugger): Prevent a compiler warning.
8363 (Fcondition_case): Likewise.
8364 (Fbacktrace_frame): Use a null interactive spec.
8365
773272d8
KH
83662000-10-19 Kenichi Handa <handa@etl.go.jp>
8367
8368 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8369
a42943e9
GM
83702000-10-18 Gerd Moellmann <gerd@gnu.org>
8371
e50517d9
GM
8372 * strftime.c: Sync with glibc, file version 1.78.
8373 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8374 should no longer be used according to ISO 8601.
8375
9035a35a
GM
8376 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8377 no map for meta_prefix_char, don't try to use it as a keymap.
8378 Instead, if T_OK is non-zero, look up a default binding, if any,
8379 otherwise, if T_OK is zero, return nil.
8380
a42943e9
GM
8381 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8382 (x_to_xcolors, png_load): Use x_query_color.
8383
52283633
SM
8384 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8385 New functions.
a42943e9
GM
8386 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8387 which can be slow.
8388 (x_copy_color, x_alloc_lighter_color): Likewise.
8389
8390 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8391 (x_query_color, x_query_colors): Add prototype.
8392
8393 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8394 check_string_bytes only if not noninteractive, increase count to 50.
8395
00de2987
MB
83962000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8397
8398 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8399 markers correctly.
8400
54918e2b
GM
84012000-10-17 Gerd Moellmann <gerd@gnu.org>
8402
1f0b3fd2
GM
8403 * alloc.c (pure_bytes_used): Renamed from pureptr.
8404 (ALIGN): New macro.
8405 (pure_alloc): New function.
8406 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8407 Use it.
8408 (Fpurecopy): Use PURE_POINTER_P.
8409
68c5d1db
GM
8410 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8411 PT has moved backward.
52283633 8412
9a038881
GM
8413 * xdisp.c (cursor_row_p): Take continued lines into account.
8414
361b097f
GM
8415 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8416 string's size_byte.
8417 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8418 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8419 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8420 string allocated.
8421
54918e2b
GM
8422 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8423 of selective display off while searching for the next line start.
8424
03ed0806
KH
84252000-10-17 Kenichi Handa <handa@etl.go.jp>
8426
8427 * Makefile.in (term.o): Depend on dispextern.h.
8428
7e05cdaf
SM
84292000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8430
8431 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8432
a6801fd1
GM
84332000-10-16 Gerd Moellmann <gerd@gnu.org>
8434
483de32b
GM
8435 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8436 the iterator at the beginning, so that they can be set later on,
8437 for instance in reseat_at_next_visible_line_start, without being
8438 overwritten.
8439
a6801fd1
GM
8440 * xfns.c (pbm_format): Add :foreground and :background keywords.
8441 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8442 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8443
dbf1fcc1
EZ
84442000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8445
8446 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8447
52283633 8448 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8449
8450 * msdos.c (IT_set_face): Compare highlighted face with the default
8451 face, and invert colors if these faces' colors are identical.
8452 (Fmsdos_remember_default_colors): Don't swap foreground and
8453 background colors in initial_colors[].
8454 (IT_set_frame_parameters): Don't swap frame's foreground and
8455 background pixels. If ALIST includes "(reverse . t)", swap
8456 foreground-color and background-color properties in frame's
8457 param_alist. If the original frame's param_alist doesn't specify
8458 the colors, store unspecified-fg and unspecified-bg, reversed if
8459 required.
8460
8461 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8462 the colors are unspecified and reversed, reverse fore- and back-
8463 ground in the returned value.
8464 (Fframe_parameter): Ditto.
8465
b41fe2c3 84662000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8467
3a6b59d9
GM
8468 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8469 get_last_unchanged_at_beg_row.
8470 (find_first_unchanged_at_end_row): Renamed from
8471 get_first_unchanged_at_end_row.
8472 (find_first_unchanged_at_end_row): Convert assertions to
8473 unconditional tests which abort. When looking for a row in
8474 unchanged text, don't go further back than first_text_row.
8475
b41fe2c3
GM
8476 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8477 Don't add in the last line's height when deciding if the new
8478 position is below the scroll margin.
9d1af64f 8479
b41fe2c3 84802000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8481
8482 * editfns.c (Fconstrain_to_field): Check carefully for field
8483 boundaries if either OLD_POS or NEW_POS has a non-nil field
8484 property, even if they're the same.
8485
c412cb7b
KH
84862000-10-16 Kenichi Handa <handa@etl.go.jp>
8487
8488 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8489 height for XFillRectangle.
8490
5586f3eb
SM
84912000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8492
8493 * syntax.c (Fstring_to_syntax): New function extracted from
8494 Fmodify_syntax_entry.
8495 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8496 (skip_chars, Fforward_comment): Remove unused variables.
8497 (syms_of_syntax): Add defsubr for string-to-syntax.
8498 (describe_syntax): Add code for comment and string fences.
8499
db785038
SM
85002000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8501
8502 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8503 Do the meta->esc mapping. Call get_keyelt before returning.
8504 Start scanning from the second element (the first is always `keymap')
8505 to make it easier to detect when we reach a parent map.
8506 Handle the case of inheriting from a symbol whose function is a map.
8507 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8508 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8509 (get_keyelt, Flookup_key): Update call to access_keymap.
8510 Remove the meta->esc mappings.
8511 (define_as_prefix): Delete old disabled code.
8512 (menu_item_p): New function.
8513 (where_is_internal_1): Skip over the few remaining menu items.
8514 * lisp.h (access_keymap): Update prototype.
8515 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8516 Update call to access_keymap.
8517 (follow_key, read_key_sequence): Update calls to access_keymap.
8518 Remove the meta->esc mappings.
8519
cafafe0b
GM
85202000-10-13 Gerd Moellmann <gerd@gnu.org>
8521
a2e2a7f6
GM
8522 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8523 with additional argument.
8524
cafafe0b
GM
8525 * xdisp.c (cursor_row_p): New function.
8526 (try_cursor_movement, display_line): Use it.
52283633 8527
cafafe0b
GM
8528 * xdisp.c (append_space): Also save/restore iterator's current
8529 character and its length.
8530
8531 * xdisp.c (init_from_display_pos): Add an assertion.
8532 (handle_stop): Don't set iterator's add_overlay_start.
8533 (handle_invisible_prop): Likewise.
8534 (load_overlay_strings): If text under an overlay is invisible,
8535 take both before- and after-strings into account when the iterator
8536 is positioned either at the start or at the end of the overlay.
8537 (forward_to_next_line_start): Rewritten.
8538 (reseat_at_next_visible_line_start): Rewritten.
8539 (set_iterator_to_next): Add parameter RESEAT_P.
8540
8541 * dispextern.h (struct it): Remove member add_overlay_start.
8542 (set_iterator_to_next): Change prototype.
8543
c744452b
KH
85442000-10-13 Kenichi Handa <handa@etl.go.jp>
8545
8546 * coding.c (code_convert_region): Be sure to initialize
8547 coding->category_idx.
e4a3f4e1
KH
8548 (decode_coding_string): Set coding->src_multibyte and
8549 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8550 (encode_coding_string): Set coding->src_multibyte and
8551 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8552
321fd26f
SM
85532000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8554
8555 * xfns.c (Fx_create_frame): Don't bother calling
8556 face-set-after-frame-default since the caller does it for us anyway.
8557
76832439
EZ
85582000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8559
8560 * window.c (coordinates_in_window): Fix detection of vertical line
8561 on character terminals.
8562
2483cf58
GM
85632000-10-12 Gerd Moellmann <gerd@gnu.org>
8564
8565 * editfns.c (save_excursion_save): Additionally record the
8566 selected window.
8567 (save_excursion_restore): If buffer was visible in a window, and a
8568 different window was selected, and the old selected window is
8569 still live, restore point in that window.
8570
eb991b25
KH
85712000-10-12 Kenichi Handa <handa@etl.go.jp>
8572
8a0eba09
KH
8573 * xterm.c (x_produce_glyphs): Handle
8574 unibyte_display_via_language_environment correctly.
8575
20401fcc
KH
8576 * regex.c (regex_compile): Change the way of handling a range from
8577 unibyte char to multibyte char.
8578
8579 * syntax.c (skip_chars): Change the way of handling a range from
8580 unibyte char to multibyte char.
8581
eb991b25
KH
8582 * process.c (read_process_output): Cancel previous change.
8583
365dd325
EZ
85842000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8585
c1b096cb
EZ
8586 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8587
365dd325
EZ
8588 * charset.c (Ffind_charset_string): Doc fix.
8589 (Ffind_charset_region): Doc fix.
8590
eb483c2b
KH
85912000-10-11 Kenichi Handa <handa@mule.m17n.org>
8592
8593 * process.c (read_process_output): Fix previous change. Adjust
8594 multibyteness of text to insert in a buffer by
52283633 8595 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8596
b40bfb99
AS
85972000-10-10 Andreas Schwab <schwab@suse.de>
8598
8599 * alloc.c (mark_object): Remove all workarounds installed on
8600 1993-08-08.
8601
caff31d4
KH
86022000-10-10 Kenichi Handa <handa@etl.go.jp>
8603
52283633 8604 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8605 (base64_encode_1): Make it work for a text of multibyte form.
8606 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8607 case. Don't call str_to_multibyte because base64_decode_1
8608 produces correct multibyte form for eight-bit codes.
52283633 8609 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8610 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8611 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8612 codes.
8613
8614 * charset.h (CHAR_STRING): Optimized for single byte characters.
8615
cba026ef
AS
86162000-10-09 Andreas Schwab <schwab@suse.de>
8617
8618 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8619 -1 after socket is closed, to fall through to error processing.
8620
1e21fe48
EZ
86212000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8622
8623 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8624 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8625 background-color, change also the colors of the default face for
8626 this frame.
8627
a640322e
EZ
86282000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8629
8630 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8631 them extern (they are defined on xfaces.c).
8632 (syms_of_msdos): Don't intern and don't staticpro
8633 Qbackground_color and Qforeground_color.
8634
a115794c
EZ
86352000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8636
8637 * frame.c (Fframe_parameter): For non-windowed frames, if
8638 f->param_alist says foreground or background color is unspecified,
8639 call tty_color_name to return the color name computed from the
8640 frame's current colors.
8641
f5533b63
DL
86422000-10-06 Dave Love <fx@gnu.org>
8643
8644 * terminfo.c (ospeed): Don't declare.
8645
8646 * sysdep.c: Don't include string.h.
8647 (h_errno): Declare conditional also on TRY_AGAIN.
8648
8649 * charset.c (Ffind_charset_string): Doc fix.
8650
52283633 8651 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8652 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8653 error messages.
8654
2b06561a
DL
86552000-10-05 Dave Love <fx@gnu.org>
8656
8657 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8658 position like menu-bar.
8659
ca839c85
GM
86602000-10-05 Gerd Moellmann <gerd@gnu.org>
8661
8662 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8663
8664 * xdisp.c (handle_single_display_prop): Use safe_call1.
8665 (safe_call): Renamed from call_function.
8666 (safe_call1): New function.
8667 (handle_fontified_prop): Use safe_call1 instead of call1.
8668 (safe_eval): Renamed from eval_form.
8669 (safe_eval_handler): Renamed from eval_handler.
8670 (handle_single_display_prop, display_mode_element): Use safe_eval
8671 instead of eval_form.
8672
8673 * xfaces.c (merge_face_heights): Use safe_call instead of
8674 call_function.
8675
8676 * keyboard.c (show_help_echo): Use safe_call instead of
8677 call_function; use safe_eval instead of eval_form.
8678
8679 * lisp.h (safe_call): Renamed from call_function.
8680 (safe_eval): Renamed from eval_form.
8681 (safe_call1): Add prototype.
8682
a3489ece
MB
86832000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8684
8685 * xfns.c (image_ascent): Rearrange ascent calculation for the
8686 has-a-font case.
8687
35810b6f
SM
86882000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8689
8690 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8691 (where_is_internal_1): Don't bother ignoring menu-items any more.
8692
3dc78168
GM
86932000-10-04 Gerd Moellmann <gerd@gnu.org>
8694
8695 * keyboard.c (update_menu_bindings): New variable.
8696 (parse_menu_item): Use AREF. If update_menu_bindings
8697 is 0, don't update menu bindings.
8698 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8699
1efc2bb9
EZ
87002000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8701
8702 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8703 to `mark_object'.
8704
3f679f55
SM
87052000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8706
8707 * syntax.c (forw_comment): Match nestedness of ender/starter.
8708 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8709 (prev_char_comstart_first): Remove.
8710 (back_comment): Check two-char comment markers more carefully
8711 to better handle overlapping cases like *//* or /* */* */ ...
8712 Match nestedness of ender/starter.
8713
2021ab61
DL
87142000-10-02 Dave Love <fx@gnu.org>
8715
8716 * config.in (HAVE_GAI_STRERROR): Add undef.
8717
8718 * process.c (Fopen_network_stream): Use it.
8719
8720 * m/alpha.h (NO_REMAP): Don't define.
8721
64e6cc18
GM
87222000-10-02 Gerd Moellmann <gerd@gnu.org>
8723
8724 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8725 return with a string converted to an integer or vice versa when
8726 Vmocklisp_arguments is t.
8727 (Fsignal): Likewise. The function can return for `quit'.
8728 (struct gcpro): Declare member `var' to point to a volatile
8729 Lisp_Object.
8730
8731 * eval.c (error): Prevent compiler warning.
8732
b1904cd9
SM
87332000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8734
8735 * keymap.c (keymap_memberp): New function.
8736 (Fset_keymap_parent): Use it.
8737 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8738 Use keymap_memberp to avoid creating cycles.
8739 (access_keymap): Use KEYMAPP.
8740
71c9ec51
GM
87412000-09-30 Gerd Moellmann <gerd@gnu.org>
8742
8743 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8744 gai_strerror. Make sure xerrno is set if connect fails. Improve
8745 error recovery.
71c9ec51 8746
c70c6b58
JR
87472000-09-29 Jason Rumney <jasonr@gnu.org>
8748
8749 * w32term.c (w32_char_font_type, w32_encode_char)
8750 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8751 (w32_bdf_per_char_metric): New function.
8752 (w32_per_char_metric): Use it.
8753 (x_draw_glyph_string_background): Always draw background for BDF
8754 glyphs.
8755
8756 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8757 GDI object which is a scarce resource.
8758
8759 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8760 (get_quoted_string): Fix limit on memchr search.
8761 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8762 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8763 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8764 (get_cached_font_char, cache_char_offset): Use macro
8765 BDF_CODEPOINT_RANGE_COVER_P.
8766 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8767 (clear_cached_bitmap_slots): New function.
8768 (GET_HEX_VALUE): G-Z, g-z are not hex.
8769 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8770 (get_bitmap_with_cache): Use new cache implementation.
8771 (create_offscreen_bitmap): New function.
8772 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8773
8774 * w32term.c (x_produce_glyphs): If the distance from the current
8775 position to the next tab stop is less than a canonical character
8776 width, use the tab stop after that.
8777 (x_draw_glyphs): Handle case START and END are out of bounds more
8778 carefully.
8779 (x_clear_mouse_face): Block/unblock input.
8780 (x_display_and_set_cursor): Don't show a hollow box cursor for
8781 buffers whose cursor_type is nil.
8782
fe01239f
GM
87832000-09-29 Gerd Moellmann <gerd@gnu.org>
8784
52283633 8785 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8786
8787 * dispextern.h (updating_frame): Declare extern.
8788
e7c52f1f
AS
87892000-09-29 Andreas Schwab <schwab@suse.de>
8790
8791 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8792
de6e1f7c
GM
87932000-09-29 Gerd Moellmann <gerd@gnu.org>
8794
25126faa
GM
8795 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8796 use its function definition.
8797 (tool_bar_items): Likewise.
8798
de6e1f7c 8799 * lisp.h (fatal): Declare NO_RETURN.
52283633 8800
454ee39b
KH
88012000-09-29 Kenichi Handa <handa@etl.go.jp>
8802
8803 * keymap.c: Remove the line "#undef NULL".
8804
96301c5f
GM
88052000-09-28 Gerd Moellmann <gerd@gnu.org>
8806
52283633 8807 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8808
efffeeb4
DL
88092000-09-28 Dave Love <fx@gnu.org>
8810
ecb8b666
DL
8811 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8812
dc3cd20f
DL
8813 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8814
8815 * .gdbinit (xreload): Note its need on GNU/Linux.
8816
efffeeb4
DL
8817 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8818 r_alloc, r_alloc_free.
8819
8610d903
KH
88202000-09-28 Kenichi Handa <handa@etl.go.jp>
8821
8822 * syntax.c (skip_chars): Handle negation correctly.
8823
8901d1ac
GM
88242000-09-27 Gerd Moellmann <gerd@gnu.org>
8825
6f22f1ad
GM
8826 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8827 with non-zero FORCE_P argument.
8828
52283633 8829 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8830 Add assertions.
8831
8832 * xdisp.c (window_box_height): Add an assertion.
8833
8834 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8835 tool-bar than is available.
8836 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8837
36f1966f
DL
88382000-09-27 Dave Love <fx@gnu.org>
8839
efffeeb4 8840 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8841
31d929e5
GM
88422000-09-26 Gerd Moellmann <gerd@gnu.org>
8843
c98863bf
GM
8844 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8845 instead of BITS_PER_INT.
8846 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8847 EMACS_UINT, respectively.
8848 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8849
8850 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8851
8852 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8853
77072ab1
GM
8854 * window.c (freeze_window_starts): Construct last argument for
8855 foreach_window differently.
8856
8857 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8858
8859 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8860 EMACS_UINT instead of `int' and `unsigned int'.
8861 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8862
8863 * frame.h (struct frame): Make the `nothing' member of union
8864 output_data an EMACS_INT.
8865
52283633 8866 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8867 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8868 size in the sdata structure.
8869 (SDATA_NBYTES, SDATA_DATA): New macros.
8870 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8871 differently for the different layout of the sdata structure.
8872 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8873 in sdata.
8874 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8875 Check that size recorded in the string size and size recorded in
8876 the sdata structure agree.
8877
3e60b029
DL
88782000-09-25 Dave Love <fx@gnu.org>
8879
8880 * buffer.c: Include stdio.h.
8881
8882 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8883
3e60b029
DL
8884 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8885
8886 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8887 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8888 (__malloc_extra_blocks): Declare as __malloc_size_t.
8889
8ff16b4e
GM
88902000-09-25 Gerd Moellmann <gerd@gnu.org>
8891
755a2ccd
GM
8892 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8893
d8b4516f
GM
8894 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8895 (read_char): If help-echo is showing, preserve the echo area
8896 when redisplaying.
8897
8898 * xdisp.c (help_echo_showing_p): New variable.
8899 (set_message): Reset it to 0.
8900 (init_xdisp): Initialize help_echo_showing_p.
8901
8902 * dispextern.h (help_echo_showing_p): Declare extern.
8903
8904 * config.in: Fix typo in __GNUC_MINOR__.
8905
8906 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8907
b11af2dd
GM
8908 * s/freebsd.h (POSIX_SIGNALS): Define.
8909
8ff16b4e
GM
8910 * xterm.c (x_clear_mouse_face): Block/unblock input.
8911
844eb643
DL
89122000-09-24 Dave Love <fx@gnu.org>
8913
8914 * fns.c (base64_encode_1): Fix last change.
8915
b30ab1b3
GM
89162000-09-22 Gerd Moellmann <gerd@gnu.org>
8917
8918 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8919
8920 * xdisp.c (try_window_reusing_current_matrix): More fixes
8921 for the case window has a header-line.
8922
c6cbe5f0
DL
89232000-09-22 Dave Love <fx@gnu.org>
8924
4c7c1f3f
DL
8925 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8926 a doc string.
8927
8928 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8929
c6cbe5f0
DL
8930 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8931
550a625e
GM
89322000-09-21 Gerd Moellmann <gerd@gnu.org>
8933
4c7c1f3f 8934 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8935 for GCC >= 2.5.
8936
52283633
SM
8937 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8938 Declare NO_RETURN.
fca99116 8939
80d26f99
GM
8940 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8941 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8942 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8943 warnings.
52283633 8944
80d26f99
GM
8945 * marker.c (byte_char_debug_check): Return void.
8946
623a0aae
GM
8947 * xfns.c (Fx_create_frame): Set default frame parameter value
8948 for tool-bar-lines to 1.
8949
8950 * dispnew.c (scrolling_window): Compare y-positions of rows
8951 equal at the start. Some simplification.
8952
8953 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8954 reused rows' y-position in the case window has a header-line, and
8955 new window start is greater than old window start.
8956
42ac0ae5
GM
8957 * process.c (process_sent_to): New variable.
8958 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8959 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8960 Declare more parameters volatile.
8961
550a625e
GM
8962 * lread.c (Vrecursive_load_depth_limit): New variable.
8963 (Fload): Check recursive loads whose recursion depth exceeds
8964 Vrecursive_load_depth_limit.
8965 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8966
8320414c
GM
89672000-09-20 Gerd Moellmann <gerd@gnu.org>
8968
f46c275e
GM
8969 * fileio.c (Fread_file_name): Doc fix.
8970
8971 * editfns.c (Fmessage_or_box): Doc fix.
8972
8973 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8974
b7e11c5b 8975 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8976
8320414c
GM
8977 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8978 symbols are specified, add color translations to the cache.
52283633 8979 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8980 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8981 xpm_cache_color.
8982 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8983 structures to xpm_init_color_cache.
8984
da1608d9
GM
89852000-09-19 Gerd Moellmann <gerd@gnu.org>
8986
52283633 8987 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8988
6badfa25
AI
89892000-09-19 Andrew Innes <andrewi@gnu.org>
8990
8991 * makefile.nt (bootstrap-emacs): Don't change directory.
8992
3a5f42bb
KH
89932000-09-19 Kenichi Handa <handa@etl.go.jp>
8994
1b7649bd
KH
8995 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8996
3a5f42bb
KH
8997 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8998 If output buffer is too small, signal an appropriated error.
8999
9f83cf0b
DL
90002000-09-18 Dave Love <fx@gnu.org>
9001
52283633 9002 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
9003 (current_active_maps): Remove redundant get_local_map call.
9004
28c7826c
GM
90052000-09-18 Gerd Moellmann <gerd@gnu.org>
9006
5cefa566
GM
9007 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
9008 cursor for buffers whose cursor_type is nil.
52283633 9009
6fed3546
GM
9010 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
9011 a feature to implement that is already implemented.
9012 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
9013 warnings.
9014
9015 * xfns.c (x_clear_image_1): New function.
9016 (x_clear_image): Use it.
52283633 9017 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 9018
05b1f851
GM
9019 * dispnew.c (update_window): Move test for invisible lines
9020 at the top to update_window_line.
9021 (update_window_line): Handle invisible lines here.
9022
f4779de9
GM
9023 * xfns.c (clear_image_cache): Clear current matrices of all
9024 frames sharing an image cache. Block input while freeing
9025 images. Fix timestamp comparison.
9026 (x_clear_image): Also free the mask.
9027
28c7826c
GM
9028 * xfns.c (lookup_image): Block input while loading the image so
9029 that we won't get interrupted in a state where the image isn't yet
9030 set up completely.
9031 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
9032 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
9033 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 9034 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 9035
b7412313
GM
90362000-09-16 Gerd Moellmann <gerd@gnu.org>
9037
9038 * dispnew.c (update_window): Make sure to make desired rows
9039 current even if they are completely invisible at the top
9040 of a window.
9041
47e351a3
GM
90422000-09-15 Gerd Moellmann <gerd@gnu.org>
9043
7f8f1edc
GM
9044 * xfns.c (lookup_image): Build mask before applying an algorithm.
9045 Recognize algorithm `disabled'.
9046 (cross_disabled_images): New variable.
9047 (COLOR_INTENSITY): New macro.
9048 (x_detect_edges): Use COLOR_INTENSITY.
9049 (x_disable_image): New function.
9050 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
9051
9052 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
9053 disabled state, don't apply an image transformation algorithm if
9054 the user specified an image for the disabled state. Use
28c7826c 9055 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
9056 user hasn't specified an image.
9057
ebb8f116
GM
9058 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
9059 allocation functions with the XPM lib.
9060 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
9061 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
9062 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
9063 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 9064 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
9065 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
9066 functions, if possible, because these handle color allocation
9067 failure more gracefully.
9068 (Fimage_mask_p): New function.
9069
47e351a3
GM
9070 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
9071 (Qedge_detection, Qheuristic): New symbols.
9072 (syms_of_xfns): Initialize new symbols.
9073 (lookup_image): Handle `:mask X', `:algorithm emboss', and
9074 `algorithm (edge-detection ...)'.
9075 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
9076 (tiff_format, gif_format, gs_format): Add `:mask'.
9077 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
9078 (GIF_MASK, GS_MASK): New enumerators.
9079 (x_laplace_read_row, x_laplace_write_row): Functions removed.
9080 (emboss_matrix, laplace_matrix): New variables.
9081 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
9082 (x_edge_detection): New functions.
9083 (x_laplace): Rewritten in terms of x_detect_edges.
9084 (x_build_heuristic_mask): If image has a mask, free it.
9085
fe83b953
AI
90862000-09-14 Andrew Innes <andrewi@gnu.org>
9087
9088 * makefile.w32-in: Revert to Unix line endings.
9089
3021e816
AI
90902000-09-14 Andrew Innes <andrewi@gnu.org>
9091
9092 * makefile.w32-in: Standardize indentation somewhat.
9093 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
9094 cater for differences between shells.
9095
9096 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
9097
2a32b5ea
GM
90982000-09-14 Gerd Moellmann <gerd@gnu.org>
9099
9100 * xterm.c (x_produce_glyphs): If the distance from the current
9101 position to the next tab stop is less than a canonical character
9102 width, use the tab stop after that.
9103
b4331e96
DL
91042000-09-14 Dave Love <fx@gnu.org>
9105
9106 * buffer.c (alloc_buffer_text): Fix xmalloc call.
9107
ef9e4345
GM
91082000-09-14 Gerd Moellmann <gerd@gnu.org>
9109
085536c2
GM
9110 * xdisp.c (handle_fontified_prop): While running fontification
9111 functions, bind `fontification-functions' and
9112 `after-change-functions' to nil.
9113
ef9e4345
GM
9114 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9115 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9116
9117 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9118
9119 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9120 USE_MMAP_FOR_BUFFERS.
9121
9122 * insdel.c (make_gap): Use enlarge_buffer_text.
9123
9124 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9125 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9126 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9127 from former r_alloc_* functions in ralloc.c.
52283633 9128 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
9129 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9130 (mmap_init) [REL_ALLOC_MMAP]: New function.
9131 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9132 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9133 BUFFER_FREE.
9134
9135 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9136 (enlarge_buffer_text): Add prototype.
9137
9138 * ralloc.c: Remove everything having to do with the use of mmap.
9139
f8608968
GM
91402000-09-13 Gerd Moellmann <gerd@gnu.org>
9141
2a494b2d
GM
9142 * sound.c (Fplay_sound): Doc fix.
9143
8c907a56
GM
9144 * keyboard.c: Avoid some more compiler warnings.
9145 (parse_tool_bar_item): Ignore cached key bindings.
9146
f8608968
GM
9147 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9148 and allocation of Lisp data.
9149
6ab70e9a
GM
91502000-09-12 Gerd Moellmann <gerd@gnu.org>
9151
d12d0a9b
GM
9152 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9153 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9154 defaults first.
9155
6ab70e9a
GM
9156 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9157
63c36c3c
KH
91582000-09-12 Miyashita Hisashi <himi@meadowy.org>
9159
9160 * ccl.c: Comment fixed.
9161 (MAX_MAP_SET_LEVEL): Increased to 30.
9162 (PUSH_MAPPING_STACK): Enclose with do-while block.
9163 (POP_MAPPING_STACK): Likewise.
9164 (stack_idx_of_map_multiple): New variable.
9165 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9166 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9167 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9168 (ccl_driver) <CCL_MapSingle>: Likewise.
9169 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9170 with the case where looking up process reaches to the end of
9171 map-set, and call CCL programs as the above change.
9172
7ee3bd7b
GM
91732000-09-11 Gerd Moellmann <gerd@gnu.org>
9174
8ec8a5ec
GM
9175 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9176 that might be clobbered by longjmp.
9177 (check_x_display_info, x_decode_color, create_frame_xic)
9178 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9179 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9180
f74b0705
GM
9181 * lread.c (init_lread): Set Vloads_in_progress to nil.
9182 (Fload): Show list of recursively loaded files, when signaling an
9183 error.
9184
7ee3bd7b
GM
9185 * lread.c (Vloads_in_progress): New variable.
9186 (record_load_unwind): New function.
9187 (Fload): Check for recursive loads.
9188 (syms_of_lread): Initialize Vloads_in_progress.
9189 (read_integer, read1): Avoid some compiler warnings.
9190
9191 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9192 compiler warnings.
9193
974e1e5b
MB
91942000-09-11 Miles Bader <miles@gnu.org>
9195
9196 * editfns.c (Fbuffer_string): Doc fix.
9197
9824c4e3
GM
91982000-09-10 Gerd Moellmann <gerd@gnu.org>
9199
9200 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9201
6a72fdd1
KR
92022000-09-09 Ken Raeburn <raeburn@gnu.org>
9203
9204 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9205 whether to include other header files.
9206
28e6fb66
GM
92072000-09-09 Gerd Moellmann <gerd@gnu.org>
9208
52283633 9209 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9210 by Fmemq as a boolean.
28e6fb66 9211
7f8b6551
SM
92122000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9213
9214 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9215
a8710abf
GM
92162000-09-08 Gerd Moellmann <gerd@gnu.org>
9217
d1a02881
GM
9218 * ralloc.c (mmap_fd): Remove initializer which can make it
9219 read-only in a dumped Emacs.
9220 (mmap_fd_1): New variable.
9221 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9222 restore it from there.
9223 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9224 unconditionally so that mmap_fd can be initialized there.
9225 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9226 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9227 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9228
c454aac1
GM
9229 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9230
9231 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9232 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9233
fc653ef2
GM
9234 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9235
3015eec0
GM
9236 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9237 inheritance.
9238
bfe0ee88
GM
9239 * xdisp.c (try_window_id): When trying to locate cursor in
9240 unchanged rows at the top, handle the case that we can't find it.
9241
a8710abf
GM
9242 * xterm.c (x_draw_glyphs): Handle case START and END are out
9243 of bounds more carefully.
9244
6b7d4ae4
DL
92452000-09-08 Dave Love <fx@gnu.org>
9246
423193c5
DL
9247 * s/sol2.h (REL_ALLOC_MMAP): Define.
9248 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9249
9250 * ralloc.c: Don't include string.h (redundant).
9251 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9252 [!MAP_ANON]: Include fcntl.h.
9253 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9254 (r_alloc, r_re_alloc, r_alloc_free)
9255 (mmap_enlarge, mmap_set_vars): Use it.
9256 (r_alloc_init_fd): New function.
9257 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9258 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9259 malloc type.
9260
9261 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9262 Remove vm-limit.o.
9263
6b7d4ae4
DL
9264 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9265 change to __NetBSD__.
9266
44d31981
KH
92672000-09-08 Kenichi Handa <handa@etl.go.jp>
9268
9269 * search.c (compile_pattern): Check the multibyteness of cached
9270 string and PATTERN.
9271
aad40737
MB
92722000-09-08 Miles Bader <miles@gnu.org>
9273
9274 * xfaces.c (default_face_vector): Function removed.
9275 (Finternal_merge_in_global_face): Restore old global/local
9276 attribute override order. Use inline loop instead of calling
9277 default_face_vector.
9278
91a211b5
GM
92792000-09-07 Gerd Moellmann <gerd@gnu.org>
9280
9281 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9282 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9283 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9284 where necessary, in case POINTER_TYPE is `void'.
9285
03419440
EZ
92862000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9287
9288 * frame.c (make_terminal_frame): Initialize frame foreground and
9289 background colors to unspecified, for the initial instance of an
9290 MSDOS frame.
9291
f46f845b
GM
92922000-09-07 Gerd Moellmann <gerd@gnu.org>
9293
24f76fbf
GM
9294 * ralloc.c (mmap_find): Fix overlap computation.
9295 (mmap_enlarge): Compute nbytes before trying to find an
9296 overlapping region.
9297
f46f845b
GM
9298 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9299 instead of `!='.
9300
9301 * lread.c (syms_of_lread): Change value of regexp
9302 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9303
9304 * xmenu.c (xdialog_show): When looking up the selection in
9305 menu_items, take `quote' boundaries into account; this corresponds
9306 to a nil ITEM in x-popup-dialog.
9307
3c014385
KH
93082000-09-07 Kenichi Handa <handa@etl.go.jp>
9309
fd6f711b
KH
9310 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9311 not 0x81.
9312 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9313
3c014385 9314 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9315 encoding, not decoding. Fix the handling of latin-jisx0201.
9316 Check for the charset katakana-jisx0201 too.
3c014385 9317 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9318 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9319
0da3ecef
GM
93202000-09-07 Gerd Moellmann <gerd@gnu.org>
9321
ab0ee409
GM
9322 * xfaces.c (Vparam_value_alist): New variable.
9323 (syms_of_xfaces): Initialize it.
9324 (Finternal_set_lisp_face_attribute): Avoid more consing.
9325
9326 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9327 specially.
9328 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9329 (Qbackground_mode): New variable.
9330 (syms_of_frame_1): Initialize Qbackground_mode.
9331
9332 * lisp.h (Qdisplay): Declare extern.
1091dd67 9333
0da3ecef
GM
9334 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9335 change face on all frames, and change the default for new frames.
9336
b14654b9
DL
93372000-09-07 Dave Love <fx@gnu.org>
9338
9339 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9340
d24fd56f
KH
93412000-09-07 Kenichi Handa <handa@etl.go.jp>
9342
794f3670
KH
9343 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9344
0fddd0dc
KH
9345 * charset.c: Include composite.h
9346 (lisp_string_width): New function.
9347 (Fstring_width): Call lisp_string_width instead of strwidth.
9348
9349 * Makefile.in (charset.o): Depends on composite.h.
9350
d24fd56f
KH
9351 * process.c (read_process_output): Before inserting the decoded
9352 text in the buffer, adjust the multibyteness.
9353
fa0b693c
GM
93542000-09-06 Gerd Moellmann <gerd@gnu.org>
9355
52283633 9356 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9357 buffer's text buffer is null, map new memory.
9358
0a58f946
GM
9359 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9360 POINTER_TYPE and size_t.
9361 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9362 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9363 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9364 [REL_ALLOC_MMAP]: New macros.
9365 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9366 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9367 [REL_ALLOC_MMAP]: New functions.
9368
9369 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9370 before and after unexec.
9371
9372 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9373 text buffers if necessary.
9374
9375 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9376 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9377 in prototypes.
9378
fa0b693c
GM
9379 * config.in (HAVE_MMAP): Add #undef.
9380
877055f6
GM
93812000-09-05 Gerd Moellmann <gerd@gnu.org>
9382
08ba3862
GM
9383 * frame.c (Qdisplay_type): New variable.
9384 (syms_of_frame_1): Initialize it.
9385 (Fframe_parameter): New function that avoids consing.
9386 (syms_of_frame): Defsubr it.
9387
66ffe51c
GM
9388 * buffer.c (Fother_buffer): Consider buffers as invisible when
9389 they are displayed in a window on an invisible frame.
9390
877055f6
GM
9391 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9392 get-largest-window always return nil.
9393
bb970e67
GM
93942000-09-04 Gerd Moellmann <gerd@gnu.org>
9395
9396 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9397 variable; recognize Emacs 19 elc files.
9398
7a3d0e0e
MB
93992000-09-04 Miles Bader <miles@gnu.org>
9400
9401 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9402 before initially popping up the menu, so the menu doesn't flash
52283633 9403 when the face settings are significantly different from the defaults.
7a3d0e0e 9404
14473664
SM
94052000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9406
9407 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9408 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9409 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9410 (BIT_UNIBYTE): Remove.
9411 (re_match_2_internal): Delete corresponding code and streamline the
9412 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9413 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9414 (re_wctype_t): New type.
9415 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9416 (regex_compile): Use them and fix handling of overly long char classes.
9417
c1174479
AI
94182000-09-03 Andrew Innes <andrewi@gnu.org>
9419
f8803e97
AI
9420 * makefile.w32-in: Change to DOS line endings.
9421
c1174479
AI
9422 * s/ms-w32.h (ORDINARY_LINK): New define.
9423
9424 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9425 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9426
9427 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9428 (distclean): Delete them here instead.
9429
44ef7cf6
AI
9430 * w32proc.c (compare_env): Convert to uppercase for comparison,
9431 not lowercase, to match how the native Windows shell works.
9432
49b3bd82
JR
94332000-09-03 Jason Rumney <jasonr@gnu.org>
9434
9435 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9436 CVS changes the line-ends when checking in/out on DOS/Windows.
9437
9438 * makefile.nt (emacs): Do not change directory to run temacs, as
9439 the load-path is set relative to current directory.
9440
a3d35a39
MB
94412000-09-03 Miles Bader <miles@gnu.org>
9442
9443 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9444
d276b0cf
GM
94452000-09-02 Gerd Moellmann <gerd@gnu.org>
9446
715e84c9
GM
9447 * xdisp.c (redisplay_mode_lines): New function.
9448 (display_mode_lines): Return number of mode lines displayed.
9449 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9450 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9451
8892f40b
GM
9452 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9453 string.h and strings.h.
9454 (index) [HAVE_INDEX]: Add prototype.
9455
d276b0cf
GM
9456 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9457 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9458
9459 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9460 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9461
38404229
GM
94622000-09-01 Gerd Moellmann <gerd@gnu.org>
9463
9464 * lread.c (read1): Accept `?' as symbol constituent, for
9465 compatiblity with XEmacs.
9466
c0f9ea08
SM
94672000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9468
9469 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9470 (struct re_pattern_buffer): Remove newline_anchor.
9471 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9472 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9473 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9474 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9475 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9476 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9477 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9478 Get rid of references to newline_anchor.
9479 (regcomp): Allocate and precompute a fastmap.
9480
8c0f83fe
GM
94812000-08-31 Gerd Moellmann <gerd@gnu.org>
9482
9483 * lread.c (openp): GCPRO local variable `filename'.
9484
4bb91c68
SM
94852000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9486
9487 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9488
9489 * regex.c: Merge some changes from GNU libc. Add prototypes.
9490 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9491 Use memcmp and memcpy instead of bcopy and bcmp.
9492 (init_syntax_once): Use ISALNUM.
9493 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9494 (REG_UNSET_VALUE): Remove. Use NULL instead.
9495 (REG_UNSET, re_match_2_internal): Use NULL.
9496 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9497 New macros.
9498 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9499 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9500 (regex_compile): In handle_interval, return an error rather than try to
9501 unfetch the interval if we can't find the closing brace.
9502 Obey the RE_NO_GNU_OPS syntax bit.
9503 (TOLOWER): New macro.
9504 (regcomp): Use it.
9505 (regexec): Allocate regs.start and regs.end as one block.
9506
5226a931
GM
95072000-08-30 Gerd Moellmann <gerd@gnu.org>
9508
868dd24b
GM
9509 * xdisp.c (echo_area_display): Check display_completed instead
9510 of calling detect_input_pending.
9511
9512 * dispnew.c (update_frame): Only set display_completed here; move
9513 the update_begin and update_end calls here from update_frame_1.
9514 (update_frame_1): Don't set display_completed here, don't call
9515 update_begin/update_end.
9516
5226a931
GM
9517 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9518 instead of store_frame_param.
9519
2a8bd25f
GM
95202000-08-29 Gerd Moellmann <gerd@gnu.org>
9521
9522 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9523 desired window matrix hasn't been displayed, use the current row
9524 instead. Make sure that only those frame rows are updated for
9525 which there exists a corresponding enabled desired row.
52283633 9526
ba3478d9
MB
95272000-08-29 Miles Bader <miles@gnu.org>
9528
9529 * xfaces.c (default_face_vector): New function.
9530 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9531
87d0f685
GM
95322000-08-29 Gerd Moellmann <gerd@gnu.org>
9533
9534 * lread.c (openp): Prevent temporary string passed to
9535 Ffile_readable_p from being garbage collected.
9536
6fa86045
DL
95372000-08-28 Dave Love <fx@gnu.org>
9538
9539 * keymap.c (store_in_keymap): Add `static' to declaration.
9540
bb17930d
GM
95412000-08-28 Gerd Moellmann <gerd@gnu.org>
9542
9543 * emacs.c, callint.c, doc.c, editfns.c
9544 (toplevel) [HAVE_STRING_H]: Include string.h.
9545 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9546 (index): Remove prototypes which might conflict with non-standard
9547 definitions of index/strchr.
9548
9549 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9550 (rindex): Define only if !HAVE_RINDEX.
9551
9552 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9553
9554 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9555
87188200
MB
95562000-08-28 Miles Bader <miles@gnu.org>
9557
9558 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9559 made inconsistent by a font-related attribute in FROM.
9560 (merge_face_inheritance): Add function comment.
9561
41a68aef
KH
95622000-08-28 Kenichi Handa <handa@etl.go.jp>
9563
9564 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9565 the 4th arg (PREV_EVENT) Qt to suppress input method.
9566
f7c436c1
SM
95672000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9568
0b32bf0e
SM
9569 * regex.c: Indent cpp directives and remove parens after `defined'.
9570 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9571 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9572 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9573 (re_compile_pattern): Use size_t for length.
9574 (init_syntax_once): Move to a better place.
9575 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9576 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9577
f7c436c1
SM
9578 * syntax.c (back_comment): Detect cases where a comment-starter is
9579 actually inside another comment as in: /* a // b */ c // d \n.
9580 Make it clear that `comstart_pos' is unused for nested comments.
9581
9582 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9583 (KEYMAPP): New macro.
9584 (Fkeymap_parent, Fset_keymap_parent): Use it.
9585 (fix_submap_inheritance): Mark it static.
9586 (define_as_prefix, describe_buffer_bindings, describe_command)
9587 (describe_translation, describe_map): Complete prototypes.
9588
9589 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9590
9591 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9592 to better match the key-lookup behavior.
9593
6288c62f
GM
95942000-08-27 Gerd Moellmann <gerd@gnu.org>
9595
9596 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9597 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9598
e931344e
EZ
95992000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9600
9601 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9602 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9603 (xterm.o): Depend on coding.h
9604
d10dfeef
KH
96052000-08-26 Kenichi Handa <handa@etl.go.jp>
9606
9607 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9608 the corresponding '#endif'.
9609
2d73e8d3
MB
96102000-08-26 Miles Bader <miles@gnu.org>
9611
9612 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9613 * xfaces.c (QCinherit): New variable.
9614 (syms_of_xfaces): Initialize it.
9615 (LFACE_INHERIT): New macro.
9616 (Finternal_get_lisp_face_attribute)
52283633 9617 (merge_face_vector_with_property)
2d73e8d3
MB
9618 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9619 (check_lface_attrs): Allow new types of face height. Check
9620 inherit attribute.
9621 (CYCLE_CHECK): New macro.
9622 (merge_face_inheritance): New function.
9623 (merge_face_vectors): Merge inherited faces too. Add F and
9624 CYCLE_CHECK arguments.
9625 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9626 (lookup_named_face, lookup_derived_face, realize_named_face)
9627 (face_at_string_position, face_at_buffer_position): Supply
9628 new F and CYCLE_CHECK arguments to merge_face_vectors.
9629 (merge_face_heights): New function.
52283633 9630 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9631 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9632 handle relative face heights.
9633 (lface_same_font_attributes_p): Compare heights using EQ.
9634
6ce974d4
KH
96352000-08-26 Kenichi Handa <handa@etl.go.jp>
9636
9637 * charset.c (char_to_string): Check the character validity.
52283633 9638 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9639
dc1e502d
SM
96402000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9641
9642 * regex.c (PUSH_FAILURE_COUNT): New macro.
9643 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9644 Handle popping of a register's or a counter's data.
9645 (POP_FAILURE_POINT): Use the new name.
9646 (re_match_2_internal): Push counter data on the stack for succeed_n,
9647 jump_n and set_number_at and remove misleading dead code in succeed_n.
9648
bd9d0f3f
GM
96492000-08-25 Gerd Moellmann <gerd@gnu.org>
9650
9651 * xdisp.c (redisplay_internal): If considering all windows on all
9652 frames, update the display for each frame as soon as possible,
9653 instead of first building all desired matrices for all frames, and
9654 then updating them all.
9655 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9656
aa5b8e15
GM
96572000-08-24 Gerd Moellmann <gerd@gnu.org>
9658
17494071
GM
9659 * bytecode.c (mark_byte_stack): Add a comment.
9660
52283633
SM
9661 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9662 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9663 a graphical frame.
9664
c543db81
KH
96652000-08-24 Kenichi Handa <handa@etl.go.jp>
9666
d246d5f5
KH
9667 * minibuf.c (do_completion): Always use compare-string, not
9668 string-equal because the latter doesn't pay attention to
9669 multibyteness of strings.
9670
c543db81
KH
9671 * process.c (create_process): Don't setup raw-text coding here.
9672 (Fopen_network_stream): Don't set coding->src_multibyte and
9673 coding->dst_multibyte here.
9674 (read_process_output): For process filter, return unibyte string
9675 if default-enable-multibyte-characters is nil.
9676 (send_process): If OBJECT is multibyte text, be sure to encoded it
9677 by the specified coding system for the process. Otherwise, setup
9678 raw-text coding.
52283633 9679 (init_process): Don't initialize default-process-coding-system here.
c543db81 9680
9b47cfe0
EZ
96812000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9682
9683 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9684 <scroll-down-aggressively>: Likewise.
9685
f5a36960
KH
96862000-08-23 Kenichi Handa <handa@etl.go.jp>
9687
9688 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9689 zero. Set coding->produced_char correctly.
9690
69a7ffa7
AI
96912000-08-22 Andrew Innes <andrewi@gnu.org>
9692
9693 * makefile.w32-in: New file.
9694
9695 * unexw32.c (unexec): Ignore old_name, and use the actual location
9696 of the current executable instead. Base new_name on this.
9697
9698 * w32proc.c (create_child): Remove reference to security
9699 descriptor, which isn't needed and doesn't compile with mingw32.
9700
9701 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9702 up dllimport attributes.
9703 (x_update_window_end): Update prototype.
9704
9705 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9706 extern, which screws up dllimport attributes.
9707
9708 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9709 up dllimport attributes.
9710
9711 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9712 screws up dllimport attributes.
9713
9714 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9715 up dllimport attributes.
9716 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9717 screws up dllimport attributes.
9718
9719 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9720 up dllimport attributes.
9721
9722 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9723 screws up dllimport attributes.
9724
9725 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9726 screws up dllimport attributes.
9727
9728 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9729 up dllimport attributes.
9730
9731 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9732 unnecessary extern, which screws up dllimport attributes.
9733 (main): Ditto.
9734
9735 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9736 up dllimport attributes.
9737
9738 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9739 unnecessary extern, which screws up dllimport attributes.
9740
9741 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9742 screws up dllimport attributes.
9743
9744 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9745 up dllimport attributes.
9746
9747 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9748
52283633
SM
9749 * w32bdf.c (search_file_line):
9750 (set_bdf_font_info):
9751 (seek_char):
9752 (w32_get_bdf_glyph):
69a7ffa7
AI
9753 (w32_BDF_to_x_font): Fix compile warnings.
9754
52283633 9755 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9756
9757 * w32select.c: Include keyboard.h before frame.h.
9758
9759 * w32fns.c (max): Define macro.
9760 (JOHAB_CHARSET): Define if not known.
9761 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9762 (Fx_show_tip): Synch with X version.
9763
9764 * w32xfns.c: Include keyboard.h before frame.h.
9765
9766 * w32fns.c: Include keyboard.h before frame.h.
9767
9768 * w32term.c: Include keyboard.h before frame.h.
9769
9770 * fontset.c: Include keyboard.h before frame.h.
9771
9772 * w32inevt.c: Include keyboard.h before frame.h.
9773 (MOUSE_MOVED): Define if not known.
9774
9775 * minibuf.c: Include keyboard.h before frame.h.
9776
9777 * keyboard.c: Include keyboard.h before frame.h.
9778
9779 * indent.c: Include keyboard.h before frame.h.
9780
9781 * dispnew.c: Include keyboard.h before frame.h.
9782
9783 * buffer.c: Include keyboard.h before frame.h.
9784
9785 * alloc.c: Include keyboard.h before frame.h.
9786
9787 * print.c: Include keyboard.h before frame.h.
9788
9789 * process.c: Include keyboard.h before frame.h.
9790
9791 * scroll.c: Include keyboard.h before frame.h.
9792
9793 * sysdep.c: Include keyboard.h before frame.h.
9794
9795 * term.c: Include keyboard.h before frame.h.
9796
9797 * window.c: Include keyboard.h before frame.h.
9798
9799 * xdisp.c: Include keyboard.h before frame.h.
9800 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9801
9802 * frame.c: Include keyboard.h before frame.h.
9803
9804 * w32heap.h: Undefine min, max.
9805
9806 * w32gui.h: Undefine min, max.
9807
9808 * unexw32.c: Change PUCHAR to PCHAR.
9809 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9810 (relocate_offset):
9811 (get_section_info):
69a7ffa7
AI
9812 (copy_executable_and_dump_data): Remove unnecessary static defs.
9813 (copy_executable_and_dump_data): Fix compile warnings.
9814
9815 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9816
9817 * w32console.c (min): Define macro.
9818 (clear_frame, write_glyphs): Fix compile warning.
9819
52283633 9820 * w32proc.c (compare_env):
69a7ffa7
AI
9821 (find_child_console): Fix compile warning.
9822
9823 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9824 sys_errlist instead of _sys_errlist.
9825 (get_emacs_configuration_options): New function.
9826
9827 * s/ms-w32.h (sys_nerr): Provide default definition.
9828 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9829 name with _ prepended.
9830 (NSIG): Define if not known.
9831 (get_emacs_configuration): Provide extern declaration.
9832 (get_emacs_configuration_options): Provide extern declaration.
9833 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9834
9835 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9836 (map_w32_filename):
69a7ffa7
AI
9837 (read_unc_volume): Fix compile warning.
9838
9839 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9840 definitions from being used.
9841
9842 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9843
52283633 9844 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9845 (open_unc_volume): Make arg const.
9846
9847 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9848 (read_input_waiting): Remove excess parameter.
9849
9850 * w32.c (init_environment): Call _access.
9851 (check_windows_init_file): Call _close.
9852 (init_user_info): Call _putenv.
9853 (init_environment): Call _putenv and _strdup.
9854 (init_ntproc): Reset volume info cache on startup.
9855
9856 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9857 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9858 cannot override the CRT malloc.
9859
9860 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9861 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9862
9863 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9864 unless we are linking with a static CRT.
9865 (RVA_TO_PTR): Cast result to unsigned char*.
9866
9867 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9868 (add_volume_info): Use xstrdup.
9869
25060080
SM
98702000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9871
9872 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9873 (do_completion, Fminibuffer_complete_word): Use it.
9874 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9875 var so it can take non-boolean values.
9876
6917e6bb
GM
98772000-08-21 Gerd Moellmann <gerd@gnu.org>
9878
acb7cc89 9879 * editfns.c (find_field): Formatting changes.
52283633 9880 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9881 changed to prototypes, some new protypes added, some functions
9882 made static.
9883
9884 * lisp.h (set_time_zone_rule): Add prototype.
9885 (use_dialog_box): External declaration.
9886
0bbfdc25
GM
9887 * keyboard.c (gen_help_event): Add parameter SIZE.
9888 (kbd_buffer_events_waiting): Slightly rewritten.
9889 (clear_event): New function.
9890 (kbd_buffer_get_event): Use it, and clear the input_events of
9891 HELP_EVENTs.
9892 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9893 don't fill the newly created array with nils.
9894 (toplevel): Convert some old-style function forward declarations
9895 to prototypes.
9896
9897 * keyboard.h (gen_help_event): Change prototype.
9898
9899 * xterm.c (XTread_socket): Change calls to gen_help_event.
9900
9901 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9902
6917e6bb
GM
9903 * eval.c (Fmacroexpand): Doc fix.
9904
e5cd3d11
JR
99052000-08-20 Jason Rumney <jasonr@gnu.org>
9906
9907 * w32term.h (x_display_info_for_display): Remove as this function
9908 does not exist on W32.
9909
9910 * w32term.c (help_echo_window): New variable.
9911 (syms_of_w32term): staticpro it.
9912 (note_mode_line_highlight): Set it.
9913 (XTextExtents16): Removed as there is no equivalent on W32.
9914 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9915 the X way of doing this will not work for W32.
9916 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9917 (x_draw_image_foreground): Avoid drawing outside of the clip area
9918 when image doesn't have a mask.
9919 (note_mouse_highlight): Process overlays in the right order of
9920 priority. Set help_echo_window.
9921 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9922 because that's more visible for large images.
9923
9924 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9925 name to single_keymap_panes.
9926 (w32_menu_show): Set wv->title when dealing with titles.
9927 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9928
6e69ab8c
MB
99292000-08-21 Miles Bader <miles@gnu.org>
9930
9931 * minibuf.c (do_completion): Try again if we rewrite the input
9932 string, but no completion was done, so that any completion message
9933 will be correct.
9934
511bd4eb
GM
99352000-08-20 Gerd Moellmann <gerd@gnu.org>
9936
9937 * xfaces.c (lface_equal_p): Compare strings differently.
9938 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9939 (realize_tty_face): Use them.
9940 (syms_of_xfaces): Initialize new variables.
9941 (map_tty_color): New function, extracted from realize_tty_face.
9942 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9943 foreground or background color, store the new color name in the
9944 realized face; previous code trying to do this had no effect.
9945 (realize_tty_face): Use map_tty_color.
9946 (Fclear_face_cache): Set face_change_count and ensure thorough
9947 redisplay.
9948
1433385f
GM
99492000-08-19 Gerd Moellmann <gerd@gnu.org>
9950
511bd4eb
GM
9951 * undo.c (record_first_change, record_marker_adjustment): Don't
9952 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9953
419ac0a2
KH
99542000-08-18 Kenichi Handa <handa@etl.go.jp>
9955
9956 * coding.c (decode_coding_string): Set members consumed,
9957 consumed_char, produced, produced_char of *coding correctly. If
9958 decode_coding doesn't consume any byte, don't try anymore.
9959 (encode_coding_string): Likewise.
9960
7eb9e30d
GM
99612000-08-18 Gerd Moellmann <gerd@gnu.org>
9962
511bd4eb
GM
9963 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9964 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9965
9966 * xdisp.c (redisplay_internal): Compare windows for equality with
9967 EQ, instead of applying XWINDOW to something that might not
9968 be a window.
52283633 9969
dd34a735
KH
99702000-08-18 Kenichi Handa <handa@etl.go.jp>
9971
9972 * fontset.c (Finternal_char_font): Search only the selected frame
9973 for a window of the current buffer.
9974
385ff9e3
GM
99752000-08-18 Gerd Moellmann <gerd@gnu.org>
9976
511bd4eb 9977 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9978 Lisp_Objects.
9979
385ff9e3
GM
9980 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9981 second half of a HELP_EVENT is found at the start of kbd_buffer.
9982
d6abb4c7
MB
99832000-08-18 Miles Bader <miles@gnu.org>
9984
4618074a
MB
9985 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9986
d6abb4c7
MB
9987 * editfns.c (save_restriction_save): Rewrite to use markers.
9988 (save_restriction_restore): Rewrite to understand new form of data
9989 saved by save_restriction_save.
9990 (Fsave_restriction): Remove cautionary note in doc-string.
9991
a7b28523
GM
99922000-08-17 Gerd Moellmann <gerd@gnu.org>
9993
9994 * fileio.c (build_annotations): Add a comment explaining the
9995 return value of format-annotate-function. Replace a spurious call
9996 to Flength with a CONSP test. Call format-annotate-function with
9997 a fifth arg specifying how many times the function is been called
9998 in a row, to let it choose temporary buffers appropriately.
9999
03c9ed77
DL
100002000-08-17 Dave Love <fx@gnu.org>
10001
10002 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
10003 declare make_temp_name twice.
10004
52283633 10005 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
10006 (unreadpure): Give it an arg.
10007
10008 * unexalpha.c: Prototype fatal_unexec, mark_x,
10009 update_dynamic_symbols. Declare unexec as void.
10010
10011 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
10012 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
10013
10014 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 10015 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
10016
10017 * alloca.c: Use #error.
10018 [POINTER_TYPE]: Use it.
10019
10020 * eval.c (Fdefvar): Doc fix.
10021
10022 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
10023 INITIALIZE_INTERVAL.
10024
10025 * buffer.h: Avoid DECLARE_INTERVALS.
10026
10027 * config.in: Add size_t.
10028
aae41d97
EZ
100292000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
10030
10031 * w16select.c (set_clipboard_data): If there's not enough memory
10032 to put text into clipboard, return 1, as Fw16_set_clipboard_data
10033 expects. In case of other failures, return 3.
10034 (system_error_msg): New error message.
10035 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
10036 system_error_msg.
10037
65aa5e85
GM
100382000-08-16 Gerd Moellmann <gerd@gnu.org>
10039
10040 * term.c (write_glyphs): Also turn off inverse video after turning
10041 off other appearances in case TS_exit_attribute_mode is not equal
10042 to TS_end_standout_mode.
10043 (insert_glyphs): Turn inverse video on/off for each run of glyphs
10044 with the same face.
10045 (turn_off_face): Reset standout_mode only if
10046 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
10047 is equal to TS_end_standout_mode.
10048
ece23901
KH
100492000-08-16 Kenichi Handa <handa@etl.go.jp>
10050
9d7bcb2e
KH
10051 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
10052 sequence at the end of the source block.
10053
ece23901
KH
10054 * ccl.c (Fccl_program_p): Docstring modified.
10055 (Fccl_execute): Likewise.
10056 (Fccl_execute_on_string): Likewise.
10057
5e30eaa2
EZ
100582000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
10059
10060 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
10061
290602fd
KH
100622000-08-16 Kenichi Handa <handa@etl.go.jp>
10063
10064 The following changes are mainly to fix bugs of
10065 encode/decode-coding-string failing if encoding/decoding return
10066 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
10067 variable conversion_buffer.
10068
10069 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
10070 decrement dst_end to avoid buffer overflow in the later call of
10071 string_as_multibyte
10072
10073 * coding.h (conversion_buffer_size, conversion_buffer)
10074 (get_conversion_buffer): Extern deleted.
10075
10076 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
10077 (conversion_buffer, conversion_buffer_size): Variables deleted.
10078 (get_conversion_buffer): Function deleted.
10079 (struct conversion_buffer): New structure.
10080 (MAX_ALLOCA): New macro.
10081 (allocate_conversion_buffer): New macro.
10082 (extend_conversion_buffer, free_conversion_buffer): New functions.
10083 (ccl_coding_driver): Set coding->result.
10084 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
10085 this is the last block of source.
10086 (encode_coding): Likewise. Handle the source block as the last
10087 one only when the whole source text is consumed.
10088 (decode_coding_string): Handle the case that the output buffer is
10089 too small to decode the whole source text. Use
10090 allocate_conversion_buffer, extend_conversion_buffer and
10091 free_conversion_buffer, not get_conversion_buffer.
10092 (encode_coding_string): Likewise.
10093 (init_coding): Function deleted.
52283633 10094 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
10095
10096 * emacs.c (main): Don't call init_coding.
10097
52283633 10098 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
10099
10100 * term.c (write_glyphs): Use a locally declared conversion_buffer.
10101 (insert_glyphs): Likewise.
10102
10103 * w32console.c (write_glyphs): Use a locally declared
10104 conversion_buffer.
10105
b9f80d41
EZ
101062000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
10107
10108 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
10109 member of display_info is NULL.
10110
32dc52f7
GM
101112000-08-15 Gerd Moellmann <gerd@gnu.org>
10112
52283633 10113 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 10114
32dc52f7 10115 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 10116 appearances with capability `me'.
32dc52f7
GM
10117 (write_glyphs): Switch on inverse video before each face change.
10118
4eb22d33
DL
101192000-08-14 Dave Love <fx@gnu.org>
10120
10121 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10122 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10123 (lisp_free): Declare and make static.
10124
10125 * window.c: Fix embedded comment.
10126 (syms_of_window): Fix doc string.
10127
90cbf47e
GM
101282000-08-14 Gerd Moellmann <gerd@gnu.org>
10129
52283633 10130 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
10131 make sure to print `C-' before `M-', like in the manual.
10132
440fc135
GM
101332000-08-11 Gerd Moellmann <gerd@gnu.org>
10134
10135 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10136 since they aren't relocated anymore.
52283633 10137 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10138
10139 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10140 partially visible line which is smaller than the window's height.
440fc135 10141
6e264fad
KH
101422000-08-11 Kenichi Handa <handa@etl.go.jp>
10143
10144 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10145 the multibyte form of eight-bit-control characters.
6e264fad
KH
10146 (Fccl_execute_on_string): Initialize ccl->multibyte.
10147
10148 * ccl.h (struct ccl_program): New member multibyte.
10149
10150 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10151
c371f69a
KH
101522000-08-11 Kenichi Handa <handa@etl.go.jp>
10153
10154 * regex.c (regex_compile) <normal_char>: Pay attention to
10155 multibyteness.
10156 (analyse_first) <exactn>: Setup fastmap correctly for
10157 eight-bit-control characters.
10158
101592000-08-11 Kenichi Handa <handa@etl.go.jp>
10160
52283633 10161 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10162
10163 * keyboard.c (make_lispy_event): Handle the new event type
10164 multibyte_char_keystroke.
10165
10166 * xterm.c: Include coding.h.
10167 (XTread_socket): Work around a bug of XmbLookupString. If the
10168 input is from XIM, decode it according to the current locale. In
10169 that case, generate multibyte_char_keystroke events.
10170
b8ddbe71
KH
101712000-08-11 Kenichi Handa <handa@etl.go.jp>
10172
10173 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10174 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10175
47589c8c
GM
101762000-08-10 Gerd Moellmann <gerd@gnu.org>
10177
10178 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10179 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10180 (move_it_in_display_line_to): Record iterator's ascent and descent
10181 before producing glyphs, and restore them when we know the glyph
10182 doesn't fit on the line.
10183 (move_it_to): Restructured so that it's easier to debug. If
10184 moving to a vpos, and not moving to an x or character position,
10185 stop as soon as the specified vpos is reached; don't move further
10186 into that line because that might change the computed line height.
10187 (try_cursor_movement): New function, extracted from the cursor
10188 movement branch of redisplay_window. If ending on a partially
10189 visible line, don't try to scroll if the cursor line is taller
10190 than the window.
10191 (redisplay_window): Use try_cursor_movement.
10192
10193 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10194 because that function doesn't cope with variable-height lines.
10195
10196 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10197 box cursor because that's better visible for large images.
52283633 10198
c51bacd6
MB
101992000-08-10 Miles Bader <miles@gnu.org>
10200
10201 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10202
bea56df7
GM
102032000-08-10 Gerd Moellmann <gerd@gnu.org>
10204
10205 * xdisp.c (Vmessages_buffer_name): New variable.
10206 (message_dolog): Use it.
10207 (syms_of_xdisp): Initialize it.
10208
99cd7364
EZ
102092000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10210
52283633 10211 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10212 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10213 redundant now that keyboard.h is included.
10214
7d093d56
EZ
102152000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10216
10217 * keyboard.c (kbd_buffer_events_waiting): New function.
10218
10219 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10220
10221 * msdos.c: Include keyboard.h.
10222 (XMenuActivate): Empty no_event events from the event buffer. If
10223 no events are left after that, call clear_input_pending.
10224 (mouse_clear_clicks): New function, code moved from mouse_init.
10225 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10226 mouse driver to ``forget'' any past clicks.
10227
10228 * Makefile.in (msdos.o): Depend on keyboard.h.
10229
41e757a6
GM
102302000-08-09 Gerd Moellmann <gerd@gnu.org>
10231
8e7bd231
GM
10232 * lisp.h (input_pending): External declaration.
10233
10234 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10235
8e7bd231
GM
10236 * xdisp.c (echo_area_display): Display thoroughly if input is
10237 pending. Bind redisplay-dont-pause to t during the redisplay.
10238 in case input is pending.
10239
10240 * dispnew.c (Qredisplay_dont_pause): New variable.
10241 (syms_of_display): Initialize and staticpro it.
10242 (update_frame_1): Don't interrupt the display for pending input if
10243 redisplay_dont_pause is set.
52283633 10244
43028b7e
GM
10245 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10246
41e757a6
GM
10247 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10248
2f2174fa
KH
102492000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10250
10251 * callproc.c (Fcall_process): Terminate the unwind-protect around
10252 the post-read-conversion of coding system.
10253
0a6fd67e
MB
10254 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10255 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10256 * buffer.h (overlays_at): Update prototype.
10257 * xdisp.c (next_overlay_change): Update call to overlays_at.
10258 * xfaces.c (face_at_buffer_position): Likewise.
10259 * textprop.c (Fget_char_property): Likewise.
10260 * xterm.c (note_mouse_highlight): Likewise.
10261
0c80756e
MB
10262 * minibuf.c (do_completion): Don't consider a simple change of
10263 case as `completion'.
10264
975f250a
KR
102652000-08-08 Ken Raeburn <raeburn@gnu.org>
10266
52283633 10267 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10268 * undo.c (record_delete): Make sure last_point_position_buffer is
10269 a buffer before comparing pointers.
10270
10271 * coding.h (decode_coding_string): Declare.
10272
10273 * intervals.h (Fprevious_single_char_property_change): Declare.
10274
10275 * textprop.c (Fprevious_single_char_property_change): Don't do
10276 arithmetic directly on lisp objects.
10277
52283633 10278 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10279
10280 * keyboard.h (menu_item_eval_property): Declare.
10281
10282 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10283 reuse as buffer name, instead of recreating (and discarding) every
10284 time a message is logged.
10285 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10286 (current_message_1, truncate_message_1, set_message_1)
10287 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10288 (current_message, truncate_echo_area, display_echo_area)
10289 (resize_echo_area_axactly): Changed calls.
b347b3fd 10290
975f250a 10291 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10292 Lisp object.
975f250a 10293 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10294 must be an integer, not a Lisp object.
975f250a 10295
46dc9912
KH
102962000-08-08 Kenichi Handa <handa@etl.go.jp>
10297
10298 * charset.c (Fchar_width): Doc fix.
10299
9f6d1a6c
GM
103002000-08-08 Gerd Moellmann <gerd@gnu.org>
10301
10302 * charset.c (Fstring_width): Doc fix.
10303
ff3d9573
GM
103042000-08-07 Gerd Moellmann <gerd@gnu.org>
10305
41e757a6 10306 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10307 line, clear ascent and descent members of the iterator structure;
10308 the height of the continued line does not affect the height of the
10309 continuation line.
10310 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10311 line taller than the window.
10312 (redisplay_window) <forced window start>: Handle case that the
10313 middle of the window is not found in any row.
10314 (dump_glyph_row): Show more information.
10315 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10316 first text line in a glyph matrix.
10317
10318 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10319 of the clip area when image doesn't have a mask.
10320
70fc58b3
GM
10321 * fns.c (sweep_weak_table): Fix survival conditions for
10322 key-or-value and key-and-value weakness.
10323
10324 * .gdbinit (xhashtable): New command.
10325
ac0e96ee
GM
10326 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10327 tables out of the list of all weak hash tables.
10328
ff3d9573
GM
10329 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10330 a new buffer is created, make sure echo_area_buffer[] references
10331 the new buffer.
10332
e0d8827b
EZ
103332000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10334
10335 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10336 the doc string.
10337
c6f35378
KH
103382000-08-07 Kenichi Handa <handa@etl.go.jp>
10339
10340 * syntax.c (skip_chars): Fix previous change. Make the handling
10341 of unibyte string consistent with that of regex search.
10342
1fd4c450
GM
103432000-08-05 Gerd Moellmann <gerd@gnu.org>
10344
e49aa397
GM
10345 * xmenu.c (popup_get_selection): Use xfree instead of free.
10346
10347 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10348
10349 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10350
10351 * callproc.c (child_setup): Use xfree instead of free.
10352
10353 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10354 instead of malloc.
10355 (run_mac_command, closedir): Use `xfree' instead of `free'.
10356
10357 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10358
10359 * eval.c (error): Use xfree instead of free.
10360
1fd4c450
GM
10361 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10362
10363 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10364 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10365
82d497fc
KH
103662000-08-05 Kenichi Handa <handa@etl.go.jp>
10367
10368 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10369 conversion.
10370
59f953a2
NF
103712000-08-04 Noah Friedman <friedman@splode.com>
10372
10373 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10374 docstring.
10375
688351f2
GM
103762000-08-04 Gerd Moellmann <gerd@gnu.org>
10377
10378 * syntax.c (skip_chars): Fix typo in error message.
10379
2dad51cc
AS
103802000-08-04 Andreas Schwab <schwab@suse.de>
10381
10382 * m/ia64.h: Moved from s/ia64.h.
10383
99bb2c60
KH
103842000-08-04 Kenichi Handa <handa@etl.go.jp>
10385
082a1df2
KH
10386 * process.c (read_process_output): Big simplification. Handle
10387 composition and post-read-conversion of coding system correctly.
10388 (send_process): Handle composition correctly.
10389
10390 * callproc.c (Fcall_process): Handle post-read-conversion of
10391 coding system if any.
10392
99bb2c60
KH
10393 * coding.c (decode_coding_iso2022): More strict check for handling
10394 single shifting.
082a1df2
KH
10395 (coding_restore_composition): Pay attention to the case that
10396 cmp_data is not set properly (because of invalid code in the
10397 source text).
10398 (run_pre_post_conversion_on_str): Include text properties in the
10399 resulting string.
10400 (decode_coding_string): Set members of coding correctly.
99bb2c60 10401
f4988be7
GM
104022000-08-03 Gerd Moellmann <gerd@gnu.org>
10403
10404 * s/ia64.h: New file.
10405
10406 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10407 Use NULL instead of 0 at the end of variable argument list of
10408 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10409 sizeof (int) < sizeof (void *).
10410
10411 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10412 of variable argument lists of XtVaGetValues and XtVaSetValues.
10413
10414 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10415 variable argument lists of XtVaGetValues and XtVaSetValues.
10416
ead53494
GM
104172000-08-02 Gerd Moellmann <gerd@gnu.org>
10418
10419 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10420 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10421
10422 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10423 prototype.
10424
10425 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10426 in call to Fsingle_key_description.
10427
10428 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10429 Callers changed.
10430
104312000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10432
10433 * window.c (display_buffer_reuse_frames): New variable.
10434 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10435 frames displaying BUFFER.
52283633 10436 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10437
10b0f752
MB
104382000-08-01 Miles Bader <miles@gnu.org>
10439
10440 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10441 when to constrain NEW_POS (they were pretty screwed up before).
10442
16425c4a
EZ
104432000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10444
10445 * msdos.c (run_msdos_command): Save and restore the master
10446 environment, for the case that child_setup signals an error.
10447 When mirroring slashes in DOS shell commands, don't fail when
10448 argv[2] has embedded blanks.
da288c14
EZ
10449 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10450 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10451 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10452
10453 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10454 using alloca; free it after run_msdos_command returns.
10455
27f73852
DL
104562000-07-27 Dave Love <fx@gnu.org>
10457
52283633
SM
10458 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10459 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10460
10461 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10462
c0261b5e
EZ
104632000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10464
10465 * editfns.c (lisp_time_argument): Fix last change.
10466
b548072f
GM
104672000-07-27 Gerd Moellmann <gerd@gnu.org>
10468
3ab82477
GM
10469 * fns.c (Fdelete): Make it work on vectors and strings in addition
10470 to lists.
10471
b548072f
GM
10472 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10473 (syms_of_fns): Initialize new variables.
52283633 10474 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10475 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10476 weakness, with t meaning the same as `key-and-value'.
10477
91ae8751
KH
104782000-07-27 Kenichi Handa <handa@etl.go.jp>
10479
10480 * coding.h (struct coding_system): Member safe_charset deleted.
10481
10482 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10483 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10484 New variables.
91ae8751
KH
10485 (coding_safe_chars): New function.
10486 (CODING_SAFE_CHAR_P): New macro.
10487 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10488 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10489 (detect_coding_iso2022): New local variable safe_chars.
10490 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10491 safe_charsets member of the coding system.
10492 (decode_coding_iso2022): New local variable safe_chars.
10493 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10494 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10495 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10496 (ENCODE_UNSAFE_CHARACTER): New macro.
10497 (encode_coding_iso2022): New local variable safe_chars. Check
10498 unsafe chars.
10499 (setup_coding_system): Delete the code to initialize
10500 coding->safe_charses
10501 (intersection, find_safe_codings): New functions.
10502 (Ffind_coding_systems_region_internal): New function.
10503 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10504 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10505 variable and initialize it.
10506
10507 * fns.c (char_table_ref_and_index): New function.
10508
10509 * lisp.h (char_table_ref_and_index): Add prototype.
10510
34a7a267
SS
105112000-07-26 Sam Steingold <sds@gnu.org>
10512
10513 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10514 (Ffloat_time): New built-in Lisp function.
34a7a267 10515
a95cb10a
GM
105162000-07-26 Gerd Moellmann <gerd@gnu.org>
10517
3353ef5a
GM
10518 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10519 for the character code.
10520
10521 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10522 GNU/Linux.
10523
a95cb10a
GM
10524 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10525 if called for a popup menu.
10526 (xmenu_show): Store help string in widget values.
10527
b4a12321
DL
105282000-07-26 Dave Love <fx@gnu.org>
10529
10530 * syswait.h: Move some definitions.
10531 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10532 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10533 perspicuous definitions.
10534 (WTERMSIG): Fix bit pattern used.
10535
13f5ad37
KH
105362000-07-26 Kenichi Handa <handa@etl.go.jp>
10537
10538 * print.c (print_object): If vector printing is truncated, print
10539 "..." to indicate it as well as the case of list printing.
10540
070fe99c
GM
105412000-07-25 Gerd Moellmann <gerd@gnu.org>
10542
969065c3
GM
10543 * xdisp.c (next_element_from_display_vector): Improve comments.
10544
10545 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10546 for the character code, and the rest for the face id as in 20.x.
10547 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10548
10549 * window.c (window_display_table): Cleaned up.
10550
070fe99c
GM
10551 * syntax.c (Fforward_word): Add last arg nil in call of
10552 Fconstrain_to_field.
10553
bad77ef7
EZ
105542000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10555
969065c3 10556 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10557 identical but for the letter-case, don't call
10558 barf_or_query_if_file_exists.
bad77ef7 10559
c28da489
MB
105602000-07-25 Miles Bader <miles@gnu.org>
10561
10562 * editfns.c (find_field): Honor special `boundary' fields.
10563 (Qboundary): New variables.
10564 (syms_of_editfns): Initialize Qboundary.
10565 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10566 Use scan_buffer instead of find_before_next_newline, because it
10567 allows us to detect the boundary case where there's a newline at
10568 the search limit.
10569 * lisp.h (Fconstrain_to_field): Update external declaration.
10570
e3c31fd5
GM
105712000-07-24 Gerd Moellmann <gerd@gnu.org>
10572
10573 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10574 if that is nil.
c28da489 10575
c66c29a2
DL
105762000-07-24 Dave Love <fx@gnu.org>
10577
10578 * s/sunos4-0.h, s/sol2.h:
10579 (LIBS_TERMCAP): Move from m/sparc.h.
10580
10581 * m/sparc.h (TERMINFO): Moved to system files (probably only
10582 relevant for sunos4 judging by its vintage).
10583 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10584 __arch64__.
10585
fbe0a958
EZ
105862000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10587
10588 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10589 name to single_keymap_panes.
10590
7d88e5c9
AS
105912000-07-24 Andreas Schwab <schwab@suse.de>
10592
10593 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10594
e024b101
GM
105952000-07-24 Gerd Moellmann <gerd@gnu.org>
10596
10597 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10598 parameters instead of using int parameters. Expect FN to accept
10599 EMACS_INT parameters.
10600 (display_echo_area, resize_echo_area_axactly, current_message)
10601 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10602 with new argument list.
10603 (resize_mini_window_1): New callback function.
10604 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10605 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10606
25c1a9ce
KH
106072000-07-24 Kenichi Handa <handa@etl.go.jp>
10608
10609 * fontset.c (fontset_ref): Remove INLINE declaration.
10610 (fontset_ref_via_base): Likewise.
10611 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10612 to downcase.
10613
7f987ac0
EZ
106142000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10615
10616 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10617 correct order of priority. If help echo was found in an overlay,
10618 use that overlay as the object in which the help echo was found.
10619
e2db3069
MB
106202000-07-22 Miles Bader <miles@gnu.org>
10621
10622 * textprop.c (Fprevious_single_char_property_change): The initial
10623 property value should be from the position preceding POSITION, not
10624 following it.
10625
5e3203e4
EZ
106262000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10627
10628 * coding.c (syms_of_coding): Doc fix for
10629 inhibit-iso-escape-detection.
10630
62145073
GM
106312000-07-21 Gerd Moellmann <gerd@gnu.org>
10632
c20aeb83
GM
10633 * xterm.c (note_mouse_highlight): Process overlays in the right
10634 order of priority.
34a7a267 10635
743934db
GM
10636 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10637
10638 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10639 overlay, use that overlay as the object in which the help was found.
743934db 10640
d1dc7e43 10641 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10642
62145073
GM
10643 * window.c (foreach_window): Instead of a fake variable argument
10644 list, take one USER_DATA argument.
10645 (foreach_window_1): Likewise, and call callback functions with two
10646 args, the window and USER_DATA.
10647 (struct check_window_data): New struct.
10648 (check_window_containing): Use it.
10649 (window_from_coordinates): Set up a struct check_window_data for
10650 foreach_window.
10651 (add_window_to_list, freeze_window_start): Change parameters
10652 according to new calling convention.
10653
10654 * window.h (foreach_window): Change prototype.
10655
10656 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10657
106582000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10659
10660 * xmenu.c (menu_help_callback): Call show_help_echo with
10661 additional arguments OBJECT and POS.
10662
11270583
KH
106632000-07-21 Kenichi Handa <handa@etl.go.jp>
10664
07b14857
KH
10665 * data.c (Faset): Allow storing any multibyte character in a
10666 string. Convert unibyte string to multibyte if necessary.
10667
11270583
KH
10668 * xfns.c (x_encode_text): New function.
10669 (x_set_name): Use x_encode_text.
10670 (x_set_title): Likewise.
10671
10672 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10673
10674 * xterm.h (x_encode_text): Add prototype.
10675
bc75b4fd
DL
106762000-07-20 Dave Love <fx@gnu.org>
10677
10678 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10679 xfree, not free.
10680
48c14970
EZ
106812000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10682
10683 * msdos.c (help_echo_window): New variable.
10684 (syms_of_msdos): Initialize and staticpro it.
10685 (IT_note_mode_line_highlight): Set help_echo_window.
10686 (IT_note_mouse_highlight): Ditto.
10687 (dos_rawgetc): Store help_echo_window in the second event produced
10688 for HELP_EVENTs.
10689
10690 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10691 Record the object that generated the help echo and the position of
10692 that object in help_echo_object and help_echo_pos. Record that
10693 some glyphs in a row are displayed in mouse-face.
10694 (IT_update_begin): Don't clear mouse highlight unless one of the
10695 enabled glyph rows is marked as being displayed in mouse-face.
10696 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10697 and position recorded in help_echo_object and help_echo_pos to the
10698 event queue.
10699 (IT_menu_display): Accept a new argument PN: the pane number of
10700 the current menu pane. Record the pane number and the item
10701 number of the item which has associated help string.
10702 (XMenuActivate): Update the prototype for help_callback in
10703 function declaration. Call IT_menu_display with the current menu
10704 pane number as an additional argument. Call help_callback with
10705 two additional arguments: the pane number and the item number of
10706 the menu item associated with the help text.
10707 (help_echo_object, help_echo_pos): New variables.
10708 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10709
10710 * msdos.h (XMenuActivate): Update prototype.
10711
4279296d
GM
107122000-07-19 Gerd Moellmann <gerd@gnu.org>
10713
47db06aa
GM
10714 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10715 Add some more prototypes.
10716
10717 * xterm.c, xterm.h: Add some more prototypes.
10718
10719 * lisp.h (Fnext_single_char_property_change): Add prototype.
10720
10721 * dispnew.c (direct_output_for_insert): Remove confusing
10722 outer local variable mouse_face_overwritten_p.
10723 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10724
4279296d
GM
10725 * alloc.c (allocate_string_data): Don't copy old string contents.
10726
670acd62
KH
107272000-07-19 Kenichi Handa <handa@etl.go.jp>
10728
10729 * coding.c (code_convert_region): Delete text properties before
10730 shrinking the conversion region.
10731
7cea38bc
GM
107322000-07-18 Gerd Moellmann <gerd@gnu.org>
10733
dc1cac59
GM
10734 * dispnew.c (update_text_area): Write the whole row if it
10735 has mouse-face in it.
10736
85a8aca9
GM
10737 * xfaces.c (face-alternative-font-family-alist): Remove
10738 DEFVAR_LISP; staticpro instead.
10739
34a7a267 10740 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10741 new arguments.
10742
10743 * keyboard.c (show_help_echo): Add parameter WINDOW.
10744 (read_char): Call show_help_echo with window extracted from Lisp
10745 help event.
10746 (gen_help_event): Add parameter WINDOW.
10747
10748 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10749
10750 * xterm.c (help_echo_window): New variable.
52283633 10751 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10752 (XTread_socket): Pass help_echo_window to gen_help_event.
10753 (syms_of_xterm): Initialize and staticpro help_echo_window.
10754
f8276b77
DL
107552000-07-18 Dave Love <fx@gnu.org>
10756
52283633 10757 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10758
088831a6
GM
107592000-07-18 Gerd Moellmann <gerd@gnu.org>
10760
3d6cd763
GM
10761 * alloc.c (allocate_string_data): If string had already data
10762 assigned, copy old contents to new string data.
10763
10764 * coding.c (syms_of_coding): Fix typo in spelling of variable
10765 `inhibit-iso-escape-detection'.
10766
088831a6
GM
10767 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10768
10769 * Makefile.in: Add dependencies on dispextern.h.
10770 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10771 `free'; both can conflict with system header files.
10772
bc8a8d55
KH
107732000-07-18 Kenichi Handa <handa@etl.go.jp>
10774
10775 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10776 undefined.
10777
069f5950
DL
107782000-07-18 Dave Love <fx@gnu.org>
10779
10780 * window.c (Fwindow_list): Declare arg `window'.
10781
aa96c820
KH
107822000-07-18 Kenichi Handa <handa@etl.go.jp>
10783
10784 * coding.c (setup_coding_system): Don't override the explicitly
10785 specified designations.
10786
06be8d32
MB
107872000-07-15 Miles Bader <miles@gnu.org>
10788
10789 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10790 from `text_property_eq' and `text_property_stickiness', respectively.
10791 (find_field, Fconstrain_to_field, char_property_eq)
10792 (char_property_stickiness): Changed to call char-property functions
10793 instead of text-property-only ones.
10794
10795 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10796 `next_single_char_property_change'). Do more error checking, and
10797 cleanup limit behavior.
10798 (Fprevious_single_char_property_change): New function.
10799 (syms_of_textprop): Initialize new subrs.
10800
10801 * xdisp.c (display_prop_end, invisible_text_between_p):
10802 Call Fnext_single_char_property_change instead of
10803 next_single_char_property_change.
10804
3fddcdc3
JR
108052000-07-15 Jason Rumney <jasonr@gnu.org>
10806
10807 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10808 after menu is finished with.
10809 (add_menu_item): Only consider wv->title as a menu title.
10810 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10811
10812 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10813 null title.
10814 (FONT_REGEXP): Remove unused macro, and its sub-components.
10815 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10816
10817 * w32term.c (help_echo_object, help_echo_pos): New variables.
10818 (note_mode_line_highlight): Store additional information about the
10819 help-echo in help_echo_object and help_echo_pos. Check both
10820 `local-map' and `keymap' properties for changing the cursor
10821 (note_mouse_highlight): Store additional information about the
10822 help-echo in help_echo_object and help_echo_pos.
10823 (note_tool_bar_highlight): Set help_echo_object to nil and
10824 help_echo_pos to -1.
10825 (w32_read_socket): Use gen_help_event instead of filling
10826 input_events manually.
10827 (syms_of_w32term): Staticpro help_echo_object.
10828 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10829 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10830 (x_clear_mouse_face): New function.
10831 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10832 (x_update_window_begin): No need to turn off the mouse
10833 highlight here.
10834 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10835 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10836 (x_fill_stretch_glyph_string): Consume runs of stretch
10837 glyphs instead of a single one.
10838 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10839 with new argument list.
10840 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10841 (x_append_glyph, x_append_composite_glyph)
10842 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10843 changes in struct glyph starting 1999-12-27. See comments for
10844 xterm.c on 2000-07-05.
10845
178c5d9c
SS
108462000-07-14 Sam Steingold <sds@gnu.org>
10847
10848 * xfaces.c (realize_x_face): Fix the last patch:
10849 check `default_face' before dereferencing.
10850
6fe533f6
DL
108512000-07-14 Dave Love <fx@gnu.org>
10852
069f5950 10853 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10854
dd7b81cf
KH
108552000-07-14 Kenichi Handa <handa@etl.go.jp>
10856
0693904a 10857 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10858 default_face's fontset, not using the default fontset.
0693904a 10859
dd7b81cf
KH
10860 * coding.c (inhibit_iso_escape_detection): New variable.
10861 (syms_of_coding): Make it a Lisp variable.
10862 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10863 nonzero, ignore ISO2022's escape sequence.
10864
d5aa31d8
GM
108652000-07-14 Gerd Moellmann <gerd@gnu.org>
10866
e5acf0ca
GM
10867 * alloca.c (malloc) [emacs]: Define as xmalloc.
10868
bd23a692
GM
10869 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10870 use that instead of the mouse position. Add parameters DX and DY.
10871
10872 * dispextern.h (Fx_show_tip): Adjust number of parameters
10873 in prototype.
10874
9662da0b
GM
10875 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10876 if HELP is a function, call it with OBJECT and POS as parameters
10877 to get the help to display.
10878 (gen_help_event, kbd_buffer_store_help_event): New functions.
10879 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10880 (read_char): Call show_help_echo with new parameters.
10881
178c5d9c 10882 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10883 Add prototypes.
10884
10885 * xterm.c (help_echo_object, help_echo_pos): New variables.
10886 (note_mode_line_highlight): Store additional information about the
10887 help-echo in help_echo_object and help_echo_pos. Check both
10888 `local-map' and `keymap' properties for changing the cursor
10889 (note_mouse_highlight): Store additional information about the
10890 help-echo in help_echo_object and help_echo_pos.
10891 (note_tool_bar_highlight): Set help_echo_object to nil and
10892 help_echo_pos to -1.
10893 (XTread_socket): Use gen_help_event instead of filling
10894 input_events manually.
10895 (syms_of_xterm): Staticpro help_echo_object.
10896
10897 * xmenu.c (menu_highlight_callback): Use
10898 kbd_buffer_store_help_event instead of setting up and input_event
10899 structure manually.
10900
10901 * xdisp.c (eval_form): GCPRO argument sexpr.
10902 (call_function): New function.
10903 (handle_single_display_prop): Use call_function and FUNCTIONP
10904 instead of checking whether if font_height is a symbol and
10905 using eval_form.
10906
10907 * eval.c (internal_condition_case_2): New function.
10908
10909 * lisp.h (FUNCTIONP): New macro.
10910 (internal_condition_case_2, call_function): Add prototypes.
10911
d5aa31d8
GM
10912 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10913 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10914 Always set `arg' member of input_events.
10915 (construct_menu_click): Unused function removed.
10916
10917 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10918
10919 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10920 (construct_drag_n_drop, x_scroll_bar_handle_click)
10921 (w32_read_socket): Always set `arg' member of input_events.
10922
10923 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10924
10925 * lisp.h (eval_form): Add prototype.
10926
10927 * xdisp.c (eval_form): Make it externally visible.
10928
0f1a9b23
GM
109292000-07-13 Gerd Moellmann <gerd@gnu.org>
10930
10931 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10932 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10933 consing. For prefix events, store the frame in the `arg' slot of
10934 the event, otherwise store the key there.
10935 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10936 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10937
10938 * xmenu.c (menu_highlight_callback): Store help string in the
10939 `arg' member of the input event; don't cons.
10940 (menubar_selection_callback): Use the `arg' slot of input events
10941 to queue additional information, instead of consing.
10942
10943 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10944
10945 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10946 TOOL_BAR_EVENTs.
10947 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10948
10949 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10950 input events to queue additional information, instead of consing.
10951
10952 * keyboard.c (kbd_buffer_gcpro): Renamed from
10953 kbd_buffer_frame_or_window. Now used for all Lisp objects
10954 referenced from the input queue.
10955 (kbd_buffer_store_event): Always use structure assignment for
10956 copying input events. Record all Lisp objects referenced from
10957 events in kbd_buffer_gcpro.
10958 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10959 differently from input events. Test for prefix menu_bar_events
10960 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10961 event in kbd_buffer_gcpro to nil.
10962 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10963 frame_or_window is equal to its arg member as prefix events.
10964 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10965 used by an input event to nil.
10966 (init_keyboard): Use two times the size of the input queue
10967 for kbd_buffer_gcpro.
10968 (syms_of_keyboard): Likewise.
10969
52283633
SM
10970 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10971 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10972
10973 * termhooks.h (struct input_event): Add member `arg'.
10974 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10975 (USER_SIGNAL_EVENT): Renamed from user_signal.
10976
10977 * xfaces.c (ASET): Remove definition.
10978
10979 * lisp.h (AREF, ASET, ASIZE): New macros.
10980
10981 * fontset.c (AREF, ASIZE): Remove definitions.
10982
10983 * fns.c (AREF): Remove definition.
178c5d9c 10984
0f1a9b23
GM
10985 * composite.c (AREF): Remove definition.
10986
712eaef2
GM
109872000-07-12 Gerd Moellmann <gerd@gnu.org>
10988
d8ee7803
GM
10989 * dispnew.c (redraw_overlapped_rows): Add missing local.
10990 (scrolling_window): Remove debug code.
10991
712eaef2
GM
10992 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10993 Before scrolling, turn off a mouse-highlight in the window
10994 being scrolled.
10995
10996 * xterm.c (x_update_window_end): Add parameter
10997 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10998 redisplay in XTframe_up_to_date.
10999 (x_clear_mouse_face): New function.
11000 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
11001
11002 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
11003 current glyph row.
11004 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
11005 it when any row is written to that contains glyphs highlighted in
11006 mouse-face.
11007 (update_window): Call the window update end hook with new
11008 parameter MOUSE_FACE_OVERWRITTEN_P.
11009 (direct_output_for_insert): Give up if row contains mouse-face.
11010
11011 * dispextern.h (struct redisplay_interface): Add parameter
11012 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
11013 (clear_mouse_face): New function pointer member.
11014
02010917
SM
110152000-07-11 Stefan Monnier <monnier@cs.yale.edu>
11016
11017 * syntax.c (back_comment): Use one switch rather than a few `if's.
11018 Obey open_paren_in_column_0_is_defun_start.
11019 When reverting to the `slow' method, try to nicely handle the case
11020 of nested comments by checking that the comment-starter we found
11021 does indeed match the comment-ender.
11022 (scan_sexps_forward, scan_sexps_forward):
11023 Ignore excessive opening parenthesis rather than throwing an error.
11024
d76c03ea
GM
110252000-07-11 Gerd Moellmann <gerd@gnu.org>
11026
11027 * doc.c (Fsubstitute_command_keys): Handle case that a GC
11028 in Fwhere_is_internal or get_keymap_1 relocates string contents.
11029
11030 * dispnew.c (direct_output_forward_char): Give up if currently
11031 displaying a message instead of the minibuffer contents.
11032
11033 * xterm.c (x_update_window_begin): No need to turn off the mouse
11034 highlight here.
11035 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 11036 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
11037
11038 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
11039 compare the mouse_face_p flags of both rows.
11040
11041 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
11042
d55ead18
EZ
110432000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
11044
11045 * keyboard.c (show_help_echo): Accept additional parameter
11046 ok_to_overwrite_keystroke_echo.
11047 (read_char): Call show_help_echo with a zero
11048 ok_to_overwrite_keystroke_echo argument.
52283633 11049 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
11050 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
11051 ok_to_overwrite_keystroke_echo argument.
11052 * w32menu.c (w32_menu_display_help): Call show_help_echo with
11053 non-zero ok_to_overwrite_keystroke_echo argument.
11054
df75b1a3
GM
110552000-07-10 Gerd Moellmann <gerd@gnu.org>
11056
4b92c49a
GM
11057 * xdisp.c (try_window_id): If changes are all below what is
11058 displayed in the window, and point is in the window, we still
11059 might have to find point on the display.
11060
11061 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
11062 glyphs instead of a single one.
11063 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11064 with new argument list.
11065 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11066
df75b1a3
GM
11067 * keymap.c (get_keymap_1): Add comment that this function can GC.
11068 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
11069 comment that functions can GC.
11070 (Fset_keymap_parent): GCPRO arg KEYMAP.
11071
4314cf3e
EZ
110722000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
11073
11074 * msdos.c (XMenuActivate): After exiting the menu, restore the
11075 echo area message and erase it.
11076
ab49ce15
KH
110772000-07-10 Kenichi Handa <handa@etl.go.jp>
11078
11079 * fontset.c (Ffontset_info): Make the return value more compatible
11080 with that of Emacs 20.
11081
090a072f
GM
110822000-07-07 Gerd Moellmann <gerd@gnu.org>
11083
11084 * eval.c (Fsignal): Handle case that backtrace_list is null.
11085
f92de4a6
KH
110862000-07-07 Kenichi Handa <handa@etl.go.jp>
11087
11088 * ccl.c (Fccl_execute): Typo fixed.
11089
dd8888a1
GM
110902000-07-06 Gerd Moellmann <gerd@gnu.org>
11091
e5c81191 11092 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 11093
dd8888a1
GM
11094 * window.c (Fwindow_list): Reverse list at the end.
11095 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
11096 means allow windows on OWINDOW's frame, only.
11097 (window_loop): Simplified; use Fwindow_list.
11098
11099 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
11100
485266d0
GM
111012000-07-05 Gerd Moellmann <gerd@gnu.org>
11102
11103 * xterm.c (XTread_socket): Increment handling_signal at the start,
11104 decrement it at the end.
11105
11106 * eval.c (handling_signal): New variable.
11107 (Fsignal): Abort if handling_signal is non-zero.
11108
11109 * lisp.h (handling_signal): External declaration.
178c5d9c 11110
485266d0
GM
11111 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
11112
80fcd514
KR
111132000-07-05 Ken Raeburn <raeburn@gnu.org>
11114
11115 Sound support for NetBSD through "Linux emulation" support:
11116 * config.in (HAVE_SOUNDCARD_H): Undef.
11117 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11118 * Makefile.in (LIBSOUND): New variable.
11119 (LIBES): Include it.
52283633
SM
11120 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11121 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
11122 (vox_open): Use DEFAULT_SOUND_DEVICE.
11123 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11124
d5c5cddd
GM
111252000-07-05 Gerd Moellmann <gerd@gnu.org>
11126
11127 * print.c (print_error_message): If Vsignaling_function is set,
11128 show it in *Messages*.
11129
11130 * lisp.h (Vsignaling_function): External declaration.
11131
11132 * eval.c (Vsignaling_function): New variable.
11133 (Fsignal): Compute it.
11134 (syms_of_eval): Staticpro it.
11135
65171e3a
DL
111362000-07-05 Dave Love <fx@gnu.org>
11137
11138 * syswait.h: Use the autoconf recommended approach. Old code
11139 #if'd out in case we need to revert.
11140
178c5d9c 11141 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11142
e2c46326
AI
111432000-07-05 Andrew Innes <andrewi@gnu.org>
11144
11145 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11146 when non-NULL instead of __morecore, to take account of buffer
11147 memory. This also solves a problem with spurious memory warnings
11148 on Windows.
11149
11150 * ralloc.c: Make real_morecore non-static.
11151
11152 * eval.c (internal_condition_case): Comment out abort if
11153 interrupt_input_blocked is not zero.
11154
11155 * makefile.nt: Add support for `bootstrap' and related targets.
11156 Include minimal debug info in emacs.exe in release build.
11157 Remove all dependencies on lisp.h, and fixup some others.
11158
11159 * w32.c (init_environment): Install code from 20.7 for providing
11160 default values for environment variables, based on the
11161 executable's own location.
52283633 11162 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11163 (sys_socket): Install socket inheritance bug fix from 20.7.
11164
11165 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11166 here via blockinput.h).
11167
a027a91b
SM
111682000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11169
e4b31601
SM
11170 * w32menu.c (w32_menu_display_help):
11171 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11172
11173 * keyboard.h (show_help_echo): Declare.
11174
11175 * keyboard.c (show_help_echo): New function, extracted from read_char.
11176 Feval its `msg' argument if it's a cons cell.
11177 (read_char): Use it.
4cf8d9d5 11178 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11179
178c5d9c 11180 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11181 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11182 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11183 (dos_rawgetc):
11184 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11185 (note_tool_bar_highlight, w32_read_socket):
11186 Do not gratuitously ignore non-string `help-echo' properties.
11187
88d75730
GM
111882000-07-05 Gerd Moellmann <gerd@gnu.org>
11189
969f7e79
GM
11190 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11191
71201b00
GM
11192 * window.c (delete_all_subwindows): Reset Vwindow_list.
11193
88d75730
GM
11194 * xterm.c (x_append_glyph, x_append_composite_glyph)
11195 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11196 changes in struct glyph starting 1999-12-27. Some bit-fields of
11197 struct glyph were not set, which made glyphs unequal when compared
11198 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11199 effects were the result. This also depended on the contents of
11200 memory returned by xmalloc. If flickering happens again, activate
11201 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11202 gone with that, chances are that it is caused by something similar.
88d75730
GM
11203
11204 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11205
88d75730
GM
11206 * dispextern.h: Add some comments.
11207
11208 * window.c (add_window_to_list): Add parameter LIST.
11209 (window_list): Order list so that, for each frame, windows are
11210 in canonical order, and so that frames appear in the list in
11211 the order given by Vframe_list.
11212 (next_window): Reverse the handling of NEXT_P.
11213
53654733
GM
112142000-07-04 Gerd Moellmann <gerd@gnu.org>
11215
87efd256
GM
11216 * window.c (Vwindow_list): New variable.
11217 (make_window, delete_window): Set Vwindow_list to nil.
11218 (check_window_containing): New function.
11219 (window_from_coordinates): Rewritten.
11220 (add_window_to_list, window_list, candidate_window_p)
11221 (decode_next_window_args, next_window): New functions.
52283633 11222 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11223 (Fwindow_list): New function.
11224 (Fother_window): Cleaned up.
11225 (foreach_window): Add a longer "variable argument list". Let
11226 callback function return 0 to indicate that cycling over windows
11227 should stop.
11228 (foreach_window_1): Likewise.
11229 (freeze_window_start): Return int.
11230 (init_window): New function.
11231 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11232
11233 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11234 input_event with bzero.
11235 (main): Call init_window.
11236
53654733
GM
11237 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11238 a menu filter.
11239
4a8c194f
KH
112402000-07-04 Kenichi Handa <handa@etl.go.jp>
11241
11242 * composite.h (make_composition_value_copy): Extern it.
11243
11244 * composite.c (make_composition_value_copy): New function.
11245
11246 * editfns.c (Fformat): While copying text properties, make each
11247 composition property value a copy.
11248
11249 * fns.c (concat): While copying text properties, make each
11250 composition property value a copy.
11251
831a6cb0
GM
112522000-07-03 Gerd Moellmann <gerd@gnu.org>
11253
2f516940
GM
11254 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11255
178c5d9c 11256 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11257 marked already.
11258
831a6cb0
GM
11259 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11260 include those frames as candidates which have their focus
11261 redirected to the minibuffer frame.
11262
d9c4f922
SM
112632000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11264
11265 * fns.c (Fputhash): Return `value' rather than nil.
11266
3780bc22
GM
112672000-06-30 Gerd Moellmann <gerd@gnu.org>
11268
97d176db
GM
11269 * frame.c (next_frame): Don't check focus redirection in case
11270 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11271 unless their focus is redirected, which contradicts the
11272 specification of next-frame, and leads to infinite loops in
11273 certain situations when cycling through windows with next-window.
11274
dca9961d
KH
112752000-06-30 Kenichi Handa <handa@etl.go.jp>
11276
11277 * coding.c (code_convert_region): Even if the length of text is
11278 zero, try to convert it if coding->type is coding_type_ccl.
11279 (decode_coding_string, encode_coding_string): Likewise.
11280
d5483ab1
GM
112812000-06-28 Gerd Moellmann <gerd@gnu.org>
11282
af5c25e1 11283 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11284 the display if windows_or_buffers_changed.
af5c25e1
GM
11285
11286 * dispnew.c (struct row_entry): New structure.
11287 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11288 (row_table_size, old_lines, new_lines, old_lines_size)
11289 (new_lines_size, run_pool, runs_size, runs): New variables.
11290 (add_row_entry): New function.
11291 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11292 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11293 holding them in local variables. Use a larger hash table whose
11294 size depends on glyph matrix sizes. Don't use bzero to clear the
11295 hash table; instead, clear used slots only.
11296
11297 * fns.c (next_almost_prime): Make it externally visible.
11298
11299 * lisp.h (next_almost_prime): Add prototype.
11300
d5483ab1
GM
11301 * s/isc4-0.h (sigunblock): Define.
11302
11303 * s/sco5.h (sigunblock): Define.
11304
93e40f40
DL
113052000-06-27 Dave Love <fx@gnu.org>
11306
11307 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11308 (moved to osf5-0.h).
11309 [!NOT_C_CODE]: Protect string.h stuff.
11310
11311 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11312 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11313
3c4b7685
GM
113142000-06-27 Gerd Moellmann <gerd@gnu.org>
11315
97d176db 11316 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11317 below the last line from the needed window height.
11318
32cad0aa
SM
113192000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11320
11321 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11322 (Fwidget_get): Use it.
11323 (syms_of_fns): Defsubr it.
11324
2c69ced2
GM
113252000-06-26 Gerd Moellmann <gerd@gnu.org>
11326
178c5d9c 11327 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11328 display info for XIM.
11329 (xim_open_dpy): Likewise.
11330 (xim_close_dpy): Don't free the display info's XIM.
11331
11332 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11333
11334 * config.in (USE_XIM): New define.
11335
3fc720e4
GM
11336 * keymap.c (get_keyelt): For menu-items containing a `:filter
11337 FILTER', apply FILTER to the menu-item's definition to get the
11338 real definition to use.
11339
11340 * lisp.h (QCfilter): External declaration.
11341
2c69ced2
GM
11342 * xfns.c (Fimage_size): New function.
11343 (syms_of_xfns): Defsubr it.
11344
f978b2a2
AS
113452000-06-26 Andreas Schwab <schwab@suse.de>
11346
11347 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11348 Fstring_as_unibyte.
11349
94cc7892
DL
113502000-06-25 Dave Love <fx@gnu.org>
11351
52283633 11352 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11353
11354 * Makefile.in (blockinput.h): Depend on atimer.h.
11355 (atimer.h): Depend on systime.h.
11356
52283633 11357 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11358
52283633 11359 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11360
11361 * lisp.h (swap_in_global_binding): Declare.
11362
b8c24556
KR
113632000-06-24 Ken Raeburn <raeburn@gnu.org>
11364
11365 * process.c (Fopen_network_stream): Turn off atimers for duration
11366 of call to connect. (Patch from Gerd.)
11367
8cf8560b
DL
113682000-06-23 Dave Love <fx@gnu.org>
11369
511c7541
DL
11370 * ralloc.c: Maybe include unistd.h
11371
8cf8560b
DL
11372 * emacs.c (setgrp): Undefine before defining.
11373 (malloc_warning, set_time_zone_rule, index): Prototype.
11374
11375 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11376 HAVE_STRUCT_TIMEZONE.
11377
11378 * s/osf1.h: Move string.h hack here from alpha.h and make it
11379 conditional.
11380 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11381 _XOPEN_SOURCE.
11382 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11383 (SOCKLEN_TYPE): Don't define.
11384
11385 * m/alpha.h: Remove string.h hack.
11386
11387 * s/osf5-0.h: New file.
11388
11389 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11390 include time.h, done by systime.h.
11391 [__FreeBSD__]: Remove redundant includes.
11392
3fc720e4 11393 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11394 (delete_temp_file): Return Qnil to avoid warning.
11395
11396 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11397
11398 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11399 HAVE_X_WINDOWS.
11400
11401 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11402
11403 * composite.h (compose_text): Declare.
11404
11405 * xterm.c: Don't include sys/types.h unconditionally. Don't
11406 protect its inclusion with !USG (following xmenu.c).
11407
ea055732
GM
114082000-06-23 Gerd Moellmann <gerd@gnu.org>
11409
11410 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11411 in x_create_frame.
11412
74b01b80
EZ
114132000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11414
11415 * coding.c (decode_eol_post_ccl): Special handling for undecided
11416 and inconsistent EOL types.
11417
64f3a166
GM
114182000-06-22 Gerd Moellmann <gerd@gnu.org>
11419
16cf31f7
GM
11420 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11421 trough color and main window's background color.
11422
52283633 11423 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11424
11425 * xterm.h (Xt_app_con): External declaration.
11426
11427 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11428
486a103d
GM
11429 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11430
64f3a166
GM
11431 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11432 (handle_invisible_prop): Record the start of invisible text in
11433 it->add_overlay_start.
11434 (struct overlay_entry): Add member `overlay'.
11435 (handle_overlay_change): Simplify.
11436 (next_overlay_string): After having processed overlay strings at the
11437 end of the buffer, record that fact in
11438 it->overlay_strings_at_end_processed_p.
11439 (compare_overlay_entries): If before- and after-strings come
11440 from the same overlay, let before-strings come first.
11441 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11442 (load_overlay_strings): Take it->add_overlay_start into account
11443 when adding overlay strings.
11444
11445 * dispextern.h (struct it): Add member add_overlay_start.
11446
bb746ea6
DL
114472000-06-22 Dave Love <fx@gnu.org>
11448
11449 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11450
11451 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11452
a8f573f3
KH
114532000-06-22 Kenichi Handa <handa@etl.go.jp>
11454
11455 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11456 is greater than 0.
11457
9f2bbc92
DL
114582000-06-21 Dave Love <fx@gnu.org>
11459
178c5d9c 11460 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11461
3ee5041c
SM
114622000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11463
11464 * syntax.c (back_comment): Simplify string-parity counting (with
11465 the added benefit of handling multiple string-styles as long as
11466 they are not intertwined).
11467 Jump to the slow code as soon as a comment starter is found in
11468 a "string_lossage" position. Fixes the case: " /* " /* " */.
11469
4c343001
DL
114702000-06-21 Dave Love <fx@gnu.org>
11471
11472 * Makefile.in: Use GETLOADAVG_LIBS.
11473
11474 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11475 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11476
e6365855
SM
114772000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11478
11479 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11480 (Fforward_comment, scan_lists):
11481 Check the comstyle of single-char comment-starters.
11482 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11483 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11484 Check the comstyle of single-char comment-starters.
11485 Clarify control-flow around the Scomment case.
e6365855 11486
5700d2cc
DL
114872000-06-20 Dave Love <fx@gnu.org>
11488
d355bd8a
SM
11489 * fns.c (make_hash_table, maybe_resize_hash_table):
11490 Cast arg of next_almost_prime.
5700d2cc 11491
178c5d9c 11492 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11493
11494 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11495 and unistd.h.
11496
4a27bdfb
GM
114972000-06-20 Gerd Moellmann <gerd@gnu.org>
11498
a61d762c 11499 * keyboard.c (adjust_point_for_property): Check if display
52283633 11500 property should be treated as intangible by looking at its value.
a61d762c 11501
178c5d9c 11502 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11503 (display_prop_intangible_p): New functions.
11504
11505 * dispextern.h (display_prop_intangible_p): Add prototype.
11506
11507 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11508
4a27bdfb
GM
11509 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11510 argument to sigprocmask.
11511
11512 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11513 argument to sigprocmask.
11514
11515 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11516 sigprocmask_set, and pass a pointer to it to sigprocmask.
11517
11518 * sysdep.c (sigprocmask_set): New variable.
11519
11520 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11521 report_file_error.
11522
427ec082
SS
115232000-06-20 Sam Steingold <sds@gnu.org>
11524
11525 * xrdb.c: Don't declare xmalloc, xrealloc.
11526
8972fe79 115272000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11528
11529 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11530 (re_comp): Cast gettext return value to avoid complaints when
11531 !HAVE_LIBINTL.
11532
074b6efe
DL
115332000-06-20 Dave Love <fx@gnu.org>
11534
52283633 11535 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11536
5700d2cc 11537 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11538
d355bd8a 11539 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11540
11541 * m/alpha.h: Don't declare xmalloc, xrealloc.
11542
0af4f205
DL
11543 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11544
11545 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11546
11547 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11548
11549 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11550 HAVE_GETWD.
11551
074b6efe
DL
11552 * keyboard.h (poll_for_input_1): Declare.
11553
11554 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11555
11556 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11557
11558 * doprnt.c: Don't declare xmalloc, xrealloc.
11559
11560 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11561 (getenv, ctime, getwd): Removed.
11562 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11563
11564 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11565 x_set_tool_bar_lines.
11566
11567 * config.in: Add HAVE_GETWD. Move some definitions above
11568 machine/system includes.
11569
68a5e97b
KH
115702000-06-20 Kenichi Handa <handa@etl.go.jp>
11571
95417e1e
KH
11572 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11573
68a5e97b
KH
11574 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11575 contain information about ENCODING.
11576
11577 * fontset.c (FONTSET_ASCII): Use the first element of char table
11578 for an ASCII font, not defalt slot.
11579 (fontset_ref_via_base): If FONTSET doesn't contain information for
11580 C, try the default fontset.
11581 (make_fontset): Don't copy the default fontset.
11582 (fontset_font_pattern): Likewise.
11583 (accumulate_font_info): If ELT is nil, use the corresponding
11584 element in the default fontset.
11585
3b4fa1b2
DL
115862000-06-19 Dave Love <fx@gnu.org>
11587
943e731c
DL
11588 * syntax.c (Fparse_partial_sexp): Doc fix.
11589
11590 * regex.h: Test PROTOTYPES as well as __STDC__.
11591
3b4fa1b2
DL
11592 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11593 errno, strerror. Put text after #endif in comment.
11594
52283633 11595 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11596
11597 * xterm.c (x_frame_of_widget): Likewise.
11598
cdf0357b
GM
115992000-06-19 Gerd Moellmann <gerd@gnu.org>
11600
11601 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11602 to Vfundamental_mode_abbrev_table.
11603
11604 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11605 bogus objects are marked. This slows down GC by ~80 percent, but
11606 it might be worth trying when debugging GC-related problems.
11607 This feature requires conservative stack marking to be enabled.
11608
11609 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11610 returns XLookupChars, reset `modifiers' to zero.
11611
998e9f8c
DL
116122000-06-19 Dave Love <fx@gnu.org>
11613
11614 * mktime.c: Unprotoized.
11615
18e21ce8 116162000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11617
11618 * data.c (set_internal): If variable is frame-local,
11619 store the new value immediately into the frame parameter alist.
11620
140c4ac6
KR
116212000-06-19 Ken Raeburn <raeburn@gnu.org>
11622
14358466
KR
11623 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11624 in the custom handler pointer.
11625
140c4ac6
KR
11626 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11627 value, or checks for CHAR_META can fail when Lisp_Object is a
11628 union type.
11629 * keymap.c (get_keyelt): Likewise.
11630
10d7bf84
KH
116312000-06-19 Kenichi Handa <handa@etl.go.jp>
11632
11633 * ccl.h (struct ccl_program): New member eol_type.
11634 (struct ccl_spec): New member cr_carryover.
11635
11636 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11637 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11638
11639 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11640 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11641 (decode_eol_post_ccl): New function.
11642 (decode_coding): Don't detect EOL format here for CCL based coding
11643 systems.
11644 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11645 decode_eol_post_ccl after running the CCL program.
11646 (code_convert_region): Don't detect EOL format here for CCL based
11647 coding systems.
11648 (decode_coding_string): Likewise.
11649
52e386c2
KR
116502000-06-18 Ken Raeburn <raeburn@gnu.org>
11651
11652 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11653 when treating it as an integer.
11654
11655 * coding.h (encode_coding_string): Declare.
11656
11657 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11658 it as an integer.
11659
11660 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11661 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11662 to be passed to get_local_map.
11663
11664 * sound.c (Fplay_sound): Don't call make_number on
11665 Frun_hook_with_args count argument.
11666
11667 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11668 for lisp objects in X event structure data field, when lisp
11669 objects are represented with unions.
11670 (x_scroll_bar_to_input_event): Ditto.
11671
b357b9d4
KR
116722000-06-16 Ken Raeburn <raeburn@gnu.org>
11673
11674 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11675 termination of string. Fix sense of test whether
11676 Vline_number_display_limit is an integer.
b357b9d4 11677
a871441d
GM
116782000-06-16 Gerd Moellmann <gerd@gnu.org>
11679
a9021acd
GM
11680 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11681 only if HAVE_X_WINDOWS.
11682
6344985d
GM
11683 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11684 of titles.
11685
427ec082 11686 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11687 out of bounds.
11688
228b083e
EZ
116892000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11690
11691 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11692 of its headers.
11693
c25b53a2
KH
116942000-06-15 Kenichi Handa <handa@etl.go.jp>
11695
11696 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11697 start of the while loop.
11698
a6981b11
GM
116992000-06-15 Gerd Moellmann <gerd@gnu.org>
11700
e9924e52
GM
11701 * atimer.c (alarm_signal_handler): Add forward declaration.
11702
a6981b11
GM
11703 * data.c (set_internal): Remove debug code.
11704
25fa6deb
GM
117052000-06-14 Gerd Moellmann <gerd@gnu.org>
11706
dce6b995
GM
11707 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11708
9f817ea4
GM
11709 * unexec.c (toplevel) [COFF]: Include coff.h.
11710
11711 * s/lynxos.h: New file.
11712
11713 * keymap.c (Fsingle_key_description): Enclose function key and
11714 event symbol names in angle brackets.
11715
8a4e3c0c
GM
11716 * xdisp.c (setup_echo_area_for_printing): Call
11717 message_log_maybe_newline if message_buf_print is not set.
11718
11719 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11720 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11721 function does something useful even when message_buf_print is
11722 already set.
11723
52283633
SM
11724 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11725 New variables.
25fa6deb
GM
11726 (ensure_echo_area_buffers): Initialize echo buffer's
11727 truncate lines setting to nil.
11728 (with_echo_area_buffer): Don't set the echo buffer's truncate
11729 lines setting here.
8a4e3c0c 11730 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11731 of message_truncate_lines.
11732 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11733 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11734 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11735
11736 * keyboard.c (read_char): Bind message-truncate-lines to t
11737 while displaying a help-echo.
11738
11739 * lisp.h (Qmessage_truncate_lines): External declaration.
11740
163dcff3
GM
117412000-06-13 Gerd Moellmann <gerd@gnu.org>
11742
1681ead6
GM
11743 * xdisp.c (Vline_number_display_limit): Renamed from
11744 line_number_display_limit.
11745 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11746 Extend documentation string. Initialize
11747 Vline_number_display_limit to nil meaning no limit.
11748 (decode_mode_spec): Use Vline_number_display_limit with its new
11749 meaning.
11750
163dcff3
GM
11751 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11752
18e21ce8 117532000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11754
11755 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11756
163dcff3
GM
11757 * xfns.c (x_set_frame_parameters): Comment fix.
11758
11759 * frame.c (store_frame_param): Call swap_in_global_binding if the
11760 variable's current binding was chosen based on this frame.
11761
11762 * data.c (swap_in_global_binding): New function.
11763
a704139d
EZ
117642000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11765
11766 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11767 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11768
9b6610db
EZ
117692000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11770
11771 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11772
c68833d2
JR
117732000-06-12 Jason Rumney <jasonr@gnu.org>
11774
11775 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11776
11777 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11778
11779 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11780
11781 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11782
ed1056b3
GM
117832000-06-12 Gerd Moellmann <gerd@gnu.org>
11784
11785 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11786 (syms_of_xfaces): Defsubr Sdump_colors.
11787 (x_free_colors): Don't treat b&w specially on default visual.
11788 (x_free_dpy_colors): New function.
11789 (free_face_colors): Don't check visual class; it's done
11790 in x_free_colors.
11791
11792 * xterm.c (x_frame_of_widget): New function.
11793 (x_alloc_nearest_color_for_widget): Use it.
11794 (x_copy_dpy_color): New function.
11795 (x_destroy_window): Free various colors.
11796
5050a2ef
KH
117972000-06-12 Kenichi Handa <handa@etl.go.jp>
11798
11799 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11800
11801 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11802
11803 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11804
11805 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11806
11807 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11808
fb1b041d
DL
118092000-06-11 Dave Love <fx@gnu.org>
11810
11811 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11812
ff96b5f4
EZ
118132000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11814
11815 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11816
db8eeecd
GM
118172000-06-11 Gerd Moellmann <gerd@gnu.org>
11818
ed1056b3 11819 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11820 to `XEvent *'.
11821
49b71c5f
KH
118222000-06-10 Kenichi Handa <handa@etl.go.jp>
11823
c479bd55
KH
11824 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11825 (regex_compile): Fix the code for handling the case of single byte
11826 char and multibyte char being mixed in a range within [...].
11827
ff6a65c2
KH
11828 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11829 and dst_multibyte members of coding.
11830
49b71c5f
KH
11831 * charset.c (update_charset_table): Update the table
11832 bytes_by_char_head.
11833 (init_charset_once): Initialize elements of bytes_by_char_head to
11834 1 except for leading codes for private charases.
11835
11836 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11837 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11838
9e80b57d
KR
118392000-06-09 Ken Raeburn <raeburn@gnu.org>
11840
11841 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11842 access the data it doesn't point to.
11843
f83fe4b4
GM
118442000-06-08 Gerd Moellmann <gerd@gnu.org>
11845
11846 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11847 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11848 event queue. This is necessary because Emacs otherwise won't
11849 perform a switch-frame to a new frame until some other event, for
11850 example a keystroke event, forces it to do so. This has various
11851 effects, one visible being that the cursor of a frame created with
11852 C-x 5 2 or switched to with a window manager key binding like
11853 A-TAB stays hollow because selected_window isn't on the newly
11854 focused frame until the switch-frame is performed.
11855
11856 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11857 generating a switch-frame event if necessary.
11858
11859 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11860
11861 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11862 it's an integer.
11863
0890801b
KH
118642000-06-08 Kenichi Handa <handa@etl.go.jp>
11865
52283633 11866 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11867
173cbca8
GM
118682000-06-07 Gerd Moellmann <gerd@gnu.org>
11869
3091c2a6
GM
11870 * window.c (displayed_window_lines): Take empty lines at
11871 the bottom of a window into account.
427ec082 11872
f38952fe
GM
11873 * window.c (displayed_window_lines): New function.
11874 (Fmove_to_window_line): Use displayed_window_lines to determine
11875 the number of lines to move, instead of using the window's height.
11876
11877 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11878 to stop reading, even if the form read sets point to a different
11879 value when evaluated.
11880
427ec082 11881 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11882 put the cursor.
11883
6ba6c818
KH
118842000-06-07 Kenichi Handa <handa@etl.go.jp>
11885
11886 * fileio.c (e_write): Free composition data if stored in
11887 coding->cmp_data.
11888
5f1aea9a
GM
118892000-06-06 Gerd Moellmann <gerd@gnu.org>
11890
666852af
GM
11891 * xdisp.c (display_line): Set row's and iterator's
11892 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11893 Set cursor even if row ends in the middle of a character.
11894 (dump_glyph_row): Print values of new flags.
11895 (redisplay_window) <cursor movement in unchanged window>: When
11896 point has been moved forward, and PT is at the end of the cursor
11897 row, don't place the cursor in the next row if the cursor row ends
11898 in the middle of a character or at ZV.
11899
11900 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11901 (struct glyph_row): Add starts_in_middle_of_char_p and
11902 ends_in_middle_of_char_p.
11903 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11904 ends_in_middle_of_char_p flag.
11905 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11906
d13f3e2e
GM
11907 * term.c (append_glyph): Revert change of 2000-06-06.
11908
11909 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11910 padding glyph not fitting on line as whole character not
11911 fitting on line.
11912
5f1aea9a
GM
11913 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11914 this isn't true for images with `:ascent 100'.
11915
10cda9b0
KH
119162000-06-06 Kenichi Handa <handa@etl.go.jp>
11917
ed00559d
KH
11918 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11919 as modified if it is originally unmodified.
11920
10cda9b0
KH
11921 * term.c (encode_terminal_code): Change the way to check if
11922 terminal coding does any conversion.
11923 (append_glyph): Set glyph->pixel_width correctly.
11924
11925 * xdisp.c (display_line): While checking line continuation, pay
11926 attention to a padding glyph.
11927
1969fae2
GM
119282000-06-05 Gerd Moellmann <gerd@gnu.org>
11929
11930 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11931
162ccef4
DL
119322000-06-05 Dave Love <fx@gnu.org>
11933
f19f32dd
DL
11934 * xdisp.c: Include fontset.h.
11935
11936 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11937
11938 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11939
11940 * dispnew.c: Conditionally include term.h.
11941
11942 * coding.h: Declare code_convert_string_norecord.
11943
11944 * frame.h (struct frame): Use volatile unconditionally.
11945
11946 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11947
11948 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11949
11950 * systime.h: Protect against multiple inclusion.
11951 (timezone) [USG5_4]: Define as time_t.
11952
11953 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11954 (Foptimize_char_table, make_temp_name): Declare.
11955
11956 * Makefile.in (xdisp.o): Depend on fontset.h.
11957
11958 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11959
11960 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11961 (Foptimize_char_table, make_temp_name): Declare.
11962
427ec082 11963 * s/irix4-0.h:
162ccef4
DL
11964 * s/irix5-0.h:
11965 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11966
2082fe81
DL
119672000-06-02 Dave Love <fx@gnu.org>
11968
11969 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11970
dcf671d2
GM
119712000-06-02 Gerd Moellmann <gerd@gnu.org>
11972
11973 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11974 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11975 be freed.
11976
11977 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11978 glyph, use the ASCII NUL character to determine the face.
11979
d42122a3
DL
119802000-06-02 Dave Love <fx@gnu.org>
11981
11982 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11983 (VFORK_RETURN_TYPE): Remove.
427ec082 11984
d42122a3
DL
11985 * config.in: Add NO_MATHERR.
11986
dd432f16
DL
119872000-06-01 Dave Love <fx@gnu.org>
11988
90aa4ea8
DL
11989 * cmds.c (internal_self_insert): Don't check
11990 Vbefore_change_function, Vafter_change_function.
11991
11992 * insdel.c (signal_before_change, signal_after_change): Likewise.
11993
11994 * buffer.c (Vbefore_change_function, Vafter_change_function):
11995 Variables and their initializations deleted.
11996
2330c9d4
DL
11997 * callint.c (Fcall_interactively): Doc fix.
11998
dd432f16
DL
11999 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
12000
bf9e8804
DL
120012000-05-31 Dave Love <fx@gnu.org>
12002
12003 * textprop.c: Revert last change -- duplicated.
12004
3694b4ab
GM
120052000-05-31 Gerd Moellmann <gerd@gnu.org>
12006
12007 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
12008 in #if 0.
12009
12010 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
12011
f14156cd
JR
120122000-05-31 Jason Rumney <jasonr@gnu.org>
12013
8119aab8
JR
12014 * search.c (Fre_search_forward, Fre_search_backward)
12015 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
12016
f14156cd
JR
12017 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
12018
4aab9be3
JR
120192000-05-30 Jason Rumney <jasonr@gnu.org>
12020
12021 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
12022 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
12023
52283633 12024 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
12025
12026 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
12027 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
12028 expand a nil default_filename.
12029
12030 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
12031 pointer to glyph_to_pixel_coords, not a frame.
12032
12033 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
12034 coding.h to dependencies.
12035
12036 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
12037
12038 * w32console.c (glyph_to_pixel_coords): Change first parameter to
12039 window pointer to be consistent with w32term.c and xterm.c.
12040
12041 * w32fns.c: Format and doc changes to bring closer to xfns.c.
12042 (VIETNAMESE_CHARSET): Define if not defined in system headers.
12043 (Qline_spacing, Qcenter): New variables.
12044 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
12045 (x_set_line_spacing): New function.
52283633 12046 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
12047 (x_specified_cursor_type): New function.
12048 (x_set_cursor_type): Use it.
12049 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
12050 and icon strings.
12051 (validate_x_resource_name, x_get_resource_string): Measure lengths
12052 of external strings in bytes.
12053 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
12054 GetTextExtentPoint32 with NULL title.
12055 (Fx_create_frame): Initialize Qline_spacing.
12056 (w32_load_system_font): Initialize font->double_byte_p.
12057 (x_to_w32_charset): Use Vw32_charset_info_alist.
12058 (Image, busy cursor, tooltip functions): Merged changes from
12059 xfns.c. Not yet functional on Windows.
12060
12061 * w32gui.h (W32FontStruct): Add double_byte_p member.
12062
12063 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
12064 (emacs_button_translation): Use it.
12065 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
12066 in `mask' to be set.
12067
12068 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
12069 menu strings.
12070
12071 * w32term.c: Format and doc changes to bring closer to xterm.c.
12072 (w32_char_font_type): New enum.
12073 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
12074 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
12075 (w32_encode_char): New function.
12076 (x_encode_char): Removed.
12077 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
12078 x_encode_char and w32_font_is_double_byte.
12079 (x_produce_image_glyph): Use image_ascent.
12080 (x_produce_glyphs): Use new version of w32_per_char_metric and
12081 handle NULL return value. Allow extra line spacing.
12082 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
12083 (w32_get_glyph_overhangs): Remove unicode_p param. Use
12084 w32_font_type member of glyph instead.
12085 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
12086 (fast_find_position): Make sure not to consider rows not visible
12087 in the window.
12088 (w32_read_socket) [WM_MENUSELECT]: Cannot call
12089 w32_menu_display_help with input blocked, as it can abort.
12090 (x_display_and_set_cursor): Choose cursor depending
12091 on buffer-local value of cursor_type.
12092 (x_draw_bar_cursor): Add parameter WIDTH.
12093
12094 * w32term.h (CP_DEFAULT): Define.
12095 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
12096
10fc3187
GM
120972000-05-30 Gerd Moellmann <gerd@gnu.org>
12098
12099 * search.c (Fre_search_forward, Fre_search_backward)
12100 (Fposix_search_backward, Fposix_search_forward): Doc fix.
12101
d0555360
KH
121022000-05-30 Kenichi Handa <handa@etl.go.jp>
12103
12104 * coding.c (detect_coding_iso2022): Fix code for checking
12105 CODING_CATEGORY_MASK_ISO_8_2.
12106
f1ad044f
SM
121072000-05-29 Stefan Monnier <monnier@cs.yale.edu>
12108
12109 * regex.c (PREFETCH_NOLIMIT): New function.
12110 (re_match_2_internal): Use it and adjust the end_match_2 logic.
12111
84ec3b4b
GM
121122000-05-29 Gerd Moellmann <gerd@gnu.org>
12113
66254a13
GM
12114 * syntax.c (find_defun_start): Move test for
12115 open_paren_in_column_0_is_defun_start outside of the loop.
12116
49e70dec
GM
12117 * xdisp.c (redisplay_window): Really switch buffers when
12118 displaying mode lines, and temporarily set selected_frame to the
12119 frame of the window that's redisplayed.
12120
84ec3b4b
GM
12121 * xfaces.c (free_realized_faces): Block/unblock input.
12122 (free_realized_multibyte_face): Ditto.
12123
869a3a14
DL
121242000-05-29 Dave Love <fx@gnu.org>
12125
12126 * textprop.c (Qkeymap): New variable.
12127 (syms_of_textprop): Intern it.
12128
12129 * keymap.c: Include intervals.h.
12130 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12131
12132 * Makefile.in (keymap.o): Depend on intervals.h.
12133
12134 * keyboard.c (menu_bar_items, tool_bar_items)
12135 (Fexecute_extended_command): Deal with `keymap' property.
12136 (read_key_sequence): Track map from `keymap' property as well as
12137 `local_map'.
12138
12139 * intervals.c (get_local_map): Extra arg to allow looking for
12140 `keymap' too.
12141
12142 * intervals.h (map_property): New enum.
12143 (get_local_map): Extra arg using it.
12144 (Qkeymap): Declare.
12145
84ec3b4b 12146 * lisp.h (get_local_map): Don't declare here.
869a3a14 12147
89d0c844
KH
121482000-05-29 Kenichi Handa <handa@etl.go.jp>
12149
12150 * Makefile.in (callproc.o): Depend on composite.h.
12151
12152 * callproc.c: Include composite.h.
12153 (Fcall_process): Handle composition correctly.
12154
12155 * coding.h (coding_allocate_composition_data): Extern it.
12156 (coding_restore_composition): Likewise.
12157
12158 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12159 yet allocated, finish decoding with result
12160 CODING_FINISH_INSUFFICIENT_CMP.
12161 (coding_allocate_composition_data): Make it non-static.
12162 (coding_restore_composition): Likewise.
12163
797a084a
EZ
121642000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12165
12166 * charset.c (syms_of_charset): Revert last change.
12167
cf872af5
EZ
121682000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12169
12170 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12171 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12172 Handa.
cf872af5 12173
5b1ae051
EZ
121742000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12175
12176 * charset.c (syms_of_charset): Set width of character sets
12177 eight-bit-control and eight-bit-graphic to 1 column.
12178
34ec9ebe
GM
121792000-05-26 Gerd Moellmann <gerd@gnu.org>
12180
12181 * config.in (HAVE_SPEED_T): New define.
12182
12183 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12184 `extern speed_t'.
12185
dd854dc2
DL
121862000-05-26 Dave Love <fx@gnu.org>
12187
12188 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12189
12190 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12191 (Fsubr_arity): New function.
12192 (syms_of_data): Install them.
12193
ba9f8f95
KH
121942000-05-26 Kenichi Handa <handa@etl.go.jp>
12195
0f3e0672
KH
12196 * charset.c (init_charset_once): Set the table bytes_by_char_head
12197 correctly.
12198
cebefb44
KH
12199 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12200 the default fontset to what Emacs uses by default.
0f3e0672
KH
12201 (check_registry_encoding): This function deleted.
12202 (Fset_fontset_font): Remove the adhoc condition for the default
12203 fontset. Allow cons in FONTNAME.
cebefb44 12204
0f3e0672
KH
12205 * fns.c (map_char_table): Ignore char-table entries for
12206 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12207
7a18af49
KR
122082000-05-25 Ken Raeburn <raeburn@gnu.org>
12209
12210 * emacs.c (main): Initialize keyboard syms before initializing
12211 window code, so face names are available.
12212
d2af47df
SM
122132000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12214
12215 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12216 of an anchor at the beginning of a shy-group.
12217
fc6a6a4e
GM
122182000-05-25 Gerd Moellmann <gerd@gnu.org>
12219
12220 * xdisp.c (handle_invisible_prop): Don't try to skip over
12221 invisible text if end of text is already reached.
12222
005f0d35
DL
122232000-05-25 Dave Love <fx@gnu.org>
12224
02513cdd
DL
12225 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12226
005f0d35
DL
12227 * coding.c (encode_eol): Add null statement after label.
12228
89f6ca4e
EZ
122292000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12230
12231 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12232 2000-05-20.
12233
a4e1759e
KH
122342000-05-25 Kenichi Handa <handa@etl.go.jp>
12235
12236 * ccl.c (ccl_driver): Fix previous change.
12237
eacfd7fe
KH
122382000-05-25 Kenichi Handa <handa@etl.go.jp>
12239
46ab33a9
KH
12240 * coding.c (run_pre_post_conversion_on_str): Set point to the
12241 beginning of buffer before calling coding->post_read_conversion.
12242 (decode_coding_string): Give correct args to
12243 run_pre_post_conversion_on_str.
12244 (encode_coding_string): Likewise.
12245
eacfd7fe
KH
12246 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12247 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12248 eight-bit-graphic correctly.
12249
f8569325
DL
122502000-05-24 Kenichi HANDA <handa@etl.go.jp>
12251
12252 * fileio.c (Finsert_file_contents): Even if a file is not found,
12253 execute codes for setting up coding system. Call
12254 after-insert-file-functions unconditionally.
12255
04545643
GM
122562000-05-24 Gerd Moellmann <gerd@gnu.org>
12257
12258 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12259 BSD_PGRPS are not defined.
12260
747d90ea
KH
122612000-05-24 Kenichi Handa <handa@etl.go.jp>
12262
12263 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12264 DESCRIPTION.
12265 (syms_of_charset): Avoid building same strings.
12266
716e3b88
GM
122672000-05-23 Gerd Moellmann <gerd@gnu.org>
12268
12269 * lread.c (Fload): Add a comment about the meaning of
12270 Vuser_init_file being t.
12271
12272 * puresize.h (BASE_PURESIZE): Increase to 675000.
12273
12274 * s/gnu-linux.h (setpgrp): Don't define it here because this
12275 prevents compilation on GNU/Linux systems with glib 2.2.
12276
12277 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12278 as setpgid.
427ec082 12279
9aeb39fa
EZ
122802000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12281
12282 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12283 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12284 version.
12285 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12286
29ced61b
KH
122872000-05-23 Kenichi Handa <handa@etl.go.jp>
12288
52283633 12289 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12290
3d80f24d
KH
12291 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12292
52283633 12293 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12294
29ced61b
KH
12295 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12296
d7e00792
KH
122972000-05-22 Kenichi Handa <handa@etl.go.jp>
12298
c9d80d38
KH
12299 * keyboard.c (read_char): Allow character codes 128..255 to be
12300 handled by input-method-function.
12301
d7e00792
KH
12302 * insdel.c (adjust_markers_for_replace): Fix previous change.
12303 (adjust_after_replace): If PREV_TEXT is nil, call
12304 adjust_markers_for_insert, not adjust_markers_for_replace.
12305
087121cc 123062000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12307
087121cc
GM
12308 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12309 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12310 [HAVE_GRANDPT]: Define.
12311 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12312
12313 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12314 like SYSV_PTYS.
12315
12316 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12317
12318 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12319
c9671f81
KH
123202000-05-20 Kenichi Handa <handa@etl.go.jp>
12321
12322 The following changes are to handle 8-bit characters in a
12323 multibyte buffer/string without facing with byte combining
12324 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12325 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12326
12327 * Makefile.in (fns.o): Depend on charset.h.
12328
12329 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12330 convert it to unibyte.
12331 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12332
12333 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12334 apparent char boundary.
12335 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12336 0x80..0x9F to/from multibyte form.
12337
12338 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12339 to unibyte.
12340
12341 * callproc.c (Fcall_process): Always encode an argument string if
12342 it is multibyte. Setup src_multibyte and dst_multibyte members of
12343 process_coding properly.
ce75fd23 12344
c9671f81
KH
12345 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12346 SPLIT_NON_ASCII_CHAR.
12347
12348 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12349 as is.
12350 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12351
52283633 12352 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12353 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12354 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12355 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12356 and eight-bit-graphic.
12357 (char_to_string): Likewise. Signal an error for too large
12358 character code.
12359 (char_printable_p): Return 0 for 8-bit characters.
12360 (update_charset_table): Update iso_charset_table only when a final
12361 character is non-negative.
12362 (find_charset_in_text): Renamed from find_charset_in_str.
12363 Arguments and return value changed. Callers changed.
12364 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12365 be -1 if CHARSET is used only internally.
12366 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12367 eight-bit-graphic.
12368 (Fcharset_after): Simplified.
12369 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12370 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12371 (multibyte_chars_in_text): Simplified by assuming there's no
12372 invalid multibyte sequence.
52283633
SM
12373 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12374 (str_as_unibyte): New functions.
12375 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12376 (init_charset_once): Initialization for
12377 LEADING_CODE_8_BIT_CONTROL.
12378 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12379 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12380 eight-bit-control and eight-bit-graphic.
12381
52283633
SM
12382 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12383 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12384 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12385 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12386 (CHARSET_REVERSE_CHARSET): Likewise.
12387 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12388 eight-bit-graphic.
12389 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12390 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12391 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12392 encounter an invalid multibyte sequence.
12393 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12394 sequence is always valid.
12395 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12396 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12397 (CHAR_STRING): For 8-bit characters, call char_to_string.
12398 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12399 multibyte sequence is always valid.
12400 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12401 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12402 (str_as_unibyte): Extern them.
c9671f81 12403 (BCOPY_SHORT): Fix a bug.
52283633 12404 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12405 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12406 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12407 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12408
bd4bde7f 12409 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12410 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12411 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12412 (EMIT_BYTES): New macros.
12413 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12414 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12415 macros deleted.
12416 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12417 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12418 check the validity of multibyte sequence.
12419 (decode_coding_emacs_mule): New function.
12420 (encode_coding_emacs_mule): New macro.
12421 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12422 the source.
12423 (DECODE_ISO_CHARACTER): Just return a character code.
12424 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12425 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12426 EMIT_CHAR to produced decoded characters. Exit the loop only by
12427 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12428 block here.
12429 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12430 only position codes for an invalid character.
12431 (encode_designation_at_bol): Return new destination pointer. 5th
12432 arg DSTP is changed to DST.
12433 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12434 from the source by ONE_MORE_CHAR. Don't handle the case of last
12435 block here.
12436 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12437 macros deleted.
52283633
SM
12438 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12439 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12440 TWO_MORE_BYTES to fetch a byte from the source.
12441 (encode_eol): Pay attention to coding->src_multibyte.
12442 (detect_coding, detect_eol): Preserve members src_multibyte and
12443 dst_multibyte.
12444 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12445 (encoding_buffer_size): Set magnification to 3 for all coding
12446 systems that require encoding.
12447 (ccl_coding_driver): For decoding, be sure that the result is
12448 valid multibyte sequence.
12449 (decode_coding): Initialize coding->errors and coding->result.
12450 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12451 and raw-text, always call decode_eol. Handle the case of last
12452 block here. If not coding->dst_multibyte, convert the resulting
12453 sequence to unibyte.
12454 (encode_coding): Initialize coding->errors and coding->result.
12455 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12456 and raw-text, always call encode_eol. Handle the case of last
12457 block here.
12458 (shrink_decoding_region, shrink_encoding_region): Detect cases
12459 that we can't skip data more rigidly.
12460 (code_convert_region): Setup src_multibyte and dst_multibyte
12461 members of coding. For decoding, if the buffer is multibyte,
12462 convert the source sequence to unibyte in advance. For encoding,
12463 if the buffer is multibyte, convert the resulting sequence to
12464 multibyte afterward.
12465 (run_pre_post_conversion_on_str): New function.
12466 (code_convert_string): Deleted and divided into the following two.
12467 (decode_coding_string, encode_coding_string): New functions.
12468 (code_convert_string1, code_convert_string_norecord): Call one of
12469 above.
12470 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12471 MAKE_NON_ASCII_CHAR.
52283633
SM
12472 (Fset_terminal_coding_system_internal)
12473 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12474 and dst_multibyte members.
12475 (init_coding_once): Initialize iso_code_class with new enum
12476 ISO_control_0 and ISO_control_1.
12477
12478 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12479 devided into ISO_control_0 and ISO_control_1.
12480 (struct coding_system): New members src_multibyte, dst_multibyte,
12481 errors, and result. Delete member fake_multibyte.
12482 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12483 nonzero.
12484 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12485 nonzero.
12486
12487 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12488 (Faset): Likewise.
12489
12490 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12491 multibyte form.
12492 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12493 combining occurs.
12494 (Ftranspose_region): Delete codes for handling byte combining.
12495
12496 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12497 dst_multibyte members of coding. On handling REPLACE on unibyte
12498 buffer, convert the result of decode_coding to unibyte. On
12499 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12500 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12501 multibyteness of the source (buffer or string).
12502
12503 * fns.c (concat): Handle 8-bit characters correctly.
12504 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12505 unibyte in the result.
12506 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12507 valid multibyte form in the result.
12508 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12509 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12510 return -1, signal an error.
12511 (base64_encode_1): New arg MULTIBYTE. Get each character by
12512 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12513 character is found, return -1.
12514 (Fbase64_decode_region): Delete codes for handling byte-combining.
12515 Treat each decoded byte as a unibyte character.
12516 (Fbase64_decode_string): Return unibyte string.
12517 (Fcompare_strings, concat, string_byte_to_char): Use
12518 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12519 FETCH_STRING_CHAR_ADVANCE.
12520 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12521 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12522
12523 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12524 SPLIT_NON_ASCII_CHAR.
12525 (fontset_ref_via_base, fontset_set): Likewise
12526
12527 * insdel.c (adjust_markers_for_record_delete): Deleted.
12528 (adjust_markers_for_insert): Argument changed. Caller changed.
12529 (adjust_markers_for_replace): Likewise.
52283633
SM
12530 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12531 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12532 (copy_text): Delete unused local varialbe c_save. For converting
12533 to multibyte, be sure to make all 8-bit characters in valid
12534 multibyte form.
12535 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12536 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12537 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12538 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12539 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12540 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12541 handling byte combining.
12542 (adjust_before_replace): Deleted.
427ec082 12543
c9671f81
KH
12544 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12545 SPLIT_NON_ASCII_CHAR.
12546 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12547 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12548 (Fkey_description): Likewise.
12549
12550 * lread.c (read1): On reading multibyte string, be sure to make
12551 all 8-bit chararacters in valid multibyte form.
12552 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12553
12554 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12555 unconditionally.
12556
12557 * process.c (Fstart_process): GCPRO current_dir before calling
12558 Ffind_operation_coding_system. Encode arguments here.
12559 (create_process): Don't encode arguments here. Setup
12560 src_multibyte and dst_multibyte members of struct coding.
12561 (read_process_output): Setup src_multibyte and dst_multibyte
12562 members of struct coding. If the output is to multibyte buffer,
12563 always decode the output of the process. Adjust the
52283633 12564 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12565 (send_process): Setup coding->src_multibyte according to the
12566 multibyteness of the source.
12567
52283633 12568 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12569 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12570 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12571
52283633 12572 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12573
12574 * w16select.c (Fw16_set_clipboard_data): Setup members
12575 src_multibyte and dst_multibyte of coding. Adjusted for the
12576 change for find_charset_in_str.
12577 (Fw16_get_clipboard_data): Likewise.
12578
12579 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12580 dst_multibyte of coding.
12581 (x_to_w32_font): Likewise.
12582
12583 * w32select.c (Fw32_set_clipboard_data): Setup members
12584 src_multibyte and dst_multibyte of coding. Adjusted for the
12585 change for find_charset_in_str.
12586 (Fw32_get_clipboard_data): Likewise.
12587
12588 * xdisp.c (get_next_display_element): Handle 8-bit characters
12589 correctly.
52283633
SM
12590 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12591 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12592
12593 * xselect.c (selection_data_to_lisp_data): Setup members
12594 src_multibyte and dst_multibyte of coding. Adjusted for the
12595 change for find_charset_in_str.
12596 (lisp_data_to_selection_data): Likewise.
12597
5f64c9e0
GM
125982000-05-19 Gerd Moellmann <gerd@gnu.org>
12599
52283633 12600 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12601
5f64c9e0
GM
12602 * dispextern.h (Vimage_types): Add extern declaration.
12603
12604 * xdisp.c (Vimage_types): Moved here from xfns.c.
12605 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12606
12607 * xfns.c (Vimages_types): Moved to xdisp.c.
12608 (syms_of_xfns): Move `image-types' to xdisp.c.
12609
12610 * w32fns.c (Vimage_types): Removed.
12611 (syms_of_w32fns): Remove `image-types'.
12612
813086ea
KH
126132000-05-18 Kenichi Handa <handa@etl.go.jp>
12614
12615 * fns.c (map_char_table): Pay attention to character number of
12616 charset. Check the validity of charset at the first level. For
12617 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12618 the default value.
12619
12620 * fontset.c: Include "buffer.h".
12621 (fs_load_font): If the face has fontset, record the face ID in
12622 that fontset.
12623 (Finternal_char_font): New function.
12624 (accumulate_font_info): New function.
12625 (Ffontset_info): Rewritten for the new fontset implementation.
12626 (syms_of_fontset): Register Vdefault_fontset in the first element
12627 of Vfontset_table. Include Vdefault_fontset in
12628 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12629 function.
12630
bdaebbf0
DL
126312000-05-16 Dave Love <fx@gnu.org>
12632
12633 * m/iris5d.h: Deleted -- unused.
12634
cb613bb8
GM
126352000-05-16 Gerd Moellmann <gerd@gnu.org>
12636
b15f3b77
GM
12637 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12638 `invalid' instead of `illegal'.
12639
12640 * indent.c (Fmove_to_column): When ending within a tab, insert
12641 spaces first so that markers at the end of the tab get adjusted.
12642
835c1b36
GM
12643 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12644 buffer list that wasn't selected in that frame.
12645
cb613bb8
GM
12646 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12647 is needed on mescaline, use a 2 char prefix, and call
12648 make_temp_name with second arg non-zero.
12649
12650 * fileio.c (make_temp_name): New function, extracted from
12651 Fmake_temp_name.
12652 (Fmake_temp_name): Use it.
12653
f685bea9
EZ
126542000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12655
52283633 12656 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12657
a1b8d58b
GM
126582000-05-15 Gerd Moellmann <gerd@gnu.org>
12659
12660 * Makefile.in (lisp): Add env.elc.
12661
12662 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12663
a265079f
GM
126642000-05-12 Gerd Moellmann <gerd@gnu.org>
12665
12666 * search.c (Freplace_match): Handle case of `\N' in the
12667 replacement when there's no group N.
12668
da4496b6
GM
126692000-05-11 Gerd Moellmann <gerd@gnu.org>
12670
0ace421a
GM
12671 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12672 of the message to message_dolog.
12673
1172eb8d
GM
12674 * keyboard.c (read_char): Don't clear current message for help
12675 events; let the code handling help events handle this. Change
12676 code detecting help events that should be ignored.
12677
da4496b6
GM
12678 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12679 we're interating over a string.
12680
0623e40f
DL
126812000-05-09 Dave Love <fx@gnu.org>
12682
12683 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12684 that offset before writing. Move gcpro region past call of
12685 Ffile_regular_p.
12686
bae2503b
DL
126872000-05-04 Dave Love <fx@gnu.org>
12688
12689 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12690
ec82fb2f
GM
126912000-05-04 Gerd Moellmann <gerd@gnu.org>
12692
12693 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12694 of inserted characters when BUF equals the current buffer, and PT
12695 is in front of or equal to FROM.
12696
cbf18892
GM
126972000-05-03 Gerd Moellmann <gerd@gnu.org>
12698
4ff40dd0
GM
12699 * xdisp.c (handle_single_display_prop): If display property value
12700 is invalid, or something not supported on the frame, restore
12701 iterator's position to what it was initially. Make sure to return
12702 0 for invalid and unsupported property values.
12703
cbf18892
GM
12704 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12705 that x_per_char_metric returns null.
12706
1b0672c3
GM
127072000-05-02 Gerd Moellmann <gerd@gnu.org>
12708
576da55d
GM
12709 * xterm.h (struct face): Add forward declaration.
12710 (struct image): Ditto.
12711 (image_ascent): Add prototype.
12712
12713 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12714 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12715 image_ascent instead of using IMAGE_ASCENT.
12716
12717 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12718 (IMAGE_ASCENT): Removed.
12719
12720 * xfns.c (Qcenter): New variable.
12721 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12722 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12723 (image_ascent): New function.
12724 (lookup_image): Recognize `:ascent center'.
12725 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12726 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12727 (xbm_load): Don't set image's ascent here.
12728 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12729 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12730 check ascent values here.
12731 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12732 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12733 (syms_of_xfns): Initialize Qcenter.
12734
1b0672c3
GM
12735 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12736 to the limits, increase the limits.
12737
0d7811ed
KH
127382000-05-01 Kenichi Handa <handa@etl.go.jp>
12739
12740 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12741 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12742
a943a5ca
GM
127432000-04-28 Gerd Moellmann <gerd@gnu.org>
12744
12745 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12746 taller than the window.
12747
5dba1e29
KH
127482000-04-28 Kenichi Handa <handa@etl.go.jp>
12749
12750 * xfaces.c (realize_x_face): Fix the argument of the second
12751 xassert. BASE_FACE may not be a face for ASCII.
12752
353964e3
GM
127532000-04-27 Gerd Moellmann <gerd@gnu.org>
12754
c76e04a8
GM
12755 * print.c (print_object): Treat print-length < 0 as nil.
12756
12757 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12758
12759 * s/freebsd.h (TERMCAP_OBJ): Removed.
12760 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12761
12762 * lread.c (read1): Don't treat period followed by certain
12763 characters as symbol start.
12764
12765 * xfns.c (slurp_file): New function.
12766 (xbm_image_p): Handle case of in-memory XBM files.
12767 (xbm_scan): Rewritten to work on memory buffers instead of files.
12768 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12769 Work on memory buffers instead of files. If DATA is null test
12770 if buffer looks like an in-memory XBM file.
12771 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12772 memory buffers instead of files.
12773 (xbm_file_p): New function.
12774 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12775
353964e3
GM
12776 * lread.c (end_of_file_error): New function.
12777 (read1): Call it instead of signaling `end-of-file' directly.
12778
427ec082 12779 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12780 with Fprinc instead of Fprin1.
12781
24d744ac
KR
127822000-04-26 Ken Raeburn <raeburn@gnu.org>
12783
12784 * window.c (freeze_window_start): Check that minibuffer scroll
12785 window isn't nil before extracting the window structure pointer
12786 from it.
12787
12788 * undo.c (record_delete): If we hit the end of the undo list, stop
12789 picking elements apart.
12790
7464346d
GM
127912000-04-26 Gerd Moellmann <gerd@gnu.org>
12792
12793 * xdisp.c (display_line): If lines are continued, restore
12794 iterator's ascent/descent information to the values before the
12795 first glyph not fitting on the line.
12796
612839b6
GM
127972000-04-25 Gerd Moellmann <gerd@gnu.org>
12798
12799 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12800 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12801
12802 * dispnew.c (increment_matrix_positions): Renamed from
12803 increment_glyph_matrix_buffer_positions.
12804 (increment_row_positions): Renamed from
12805 increment_glyph_row_buffer_positions.
12806
12807 * dispextern.h: Change names of renamed functions from dispnew.c
12808 in prototypes.
12809
cc181e95
GM
128102000-04-24 Gerd Moellmann <gerd@gnu.org>
12811
abfcc168
GM
12812 * fileio.c (Fdo_auto_save): Create directories for auto-save
12813 list file if necessary.
12814
cc181e95
GM
12815 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12816 from buffer or frame.
12817 (automatic_hscrolling_p): New variable.
12818 (hscroll_windows): Scroll windows horizontally only if automatic
12819 hscrolling is allowed.
12820 (syms_of_xdisp): New variable `automatic-hscrolling'.
12821
12822 * frame.h (struct frame): Add member extra_line_spacing.
12823
12824 * xfns.c (x_set_line_spacing): New function.
12825 (Fx_create_frame): Set line spacing from resources.
12826 (Qline_spacing): New variable.
12827 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12828
cc181e95
GM
12829 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12830
12831 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12832 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12833 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12834 extra_line_spacing from default value.
12835 (init_buffer_once): Initialize default value of extra_line_spacing.
12836
12837 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12838 and extra3.
12839
12840 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12841 prompt_width. Add extra line spacing.
12842
12843 * term.c (produce_glyphs): Remove reference to struct it's
12844 prompt_width.
12845
12846 * dispextern.h (struct it): Remove member prompt_width, add
12847 extra_line_spacing.
12848
58827478
GM
128492000-04-22 Gerd Moellmann <gerd@gnu.org>
12850
12851 * dispnew.c (update_frame_line): When writing a whole line, make
12852 sure cursor is in the right row afterwards, otherwise a use of
12853 capability `ch' in cmgoto might leave the cursor in the row below.
12854
25a87f42
GM
128552000-04-21 Gerd Moellmann <gerd@gnu.org>
12856
12857 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12858
12859 * keyboard.c (timer_check): Fix typo in comment.
12860
54edf5c2
KH
128612000-04-21 Kenichi Handa <handa@etl.go.jp>
12862
12863 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12864 name change: ch -> character.
12865
3a64eef5
GM
128662000-04-20 Gerd Moellmann <gerd@gnu.org>
12867
12868 * keyboard.c (echo_message_buffer): New variable.
12869 (echo_now): Set echo_message_buffer to the echo area buffer used
12870 to display the echo.
12871 (cancel_echoing): Reset echo_message_buffer to nil.
12872 (read_char): Code rewritten that handles canceling an echo or
12873 echoing a dash, respectively.
12874
12875 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12876 directory doesn't exist.
12877
6142fdcb
DL
128782000-04-19 Dave Love <fx@gnu.org>
12879
12880 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12881 (concat): Don't allow numeric args.
12882 (Fconcat): Doc change.
6142fdcb 12883
ac6b5352
SM
128842000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12885
12886 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12887 instead define end_match(1|2) more carefully.
12888 Use GET_CHAR_BEFORE_2 for `begline'.
12889
cb9215e4
GM
128902000-04-19 Gerd Moellmann <gerd@gnu.org>
12891
5e3dac3f
GM
12892 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12893 on 64-bit systems where NULL is defined as `0'.
12894
12895 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12896 the `variable argument list' to make it work on Alpha.
12897
cb9215e4
GM
12898 * m/alpha.h (_LP64) [!_LP64]: Define.
12899 (ORDINARY_LINK): Define for NetBSD.
12900
12901 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12902
f532dca0
DL
129032000-04-19 Dave Love <fx@gnu.org>
12904
c750667e
DL
12905 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12906 change.
12907
12908 * Makefile.in (LIBS): Don't use.
12909 (GETLOADAVG_OBJ): Define again.
12910 (otherobj): Add GETLOADAVG_OBJ.
12911
f532dca0
DL
12912 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12913
1c7e22fd
GM
129142000-04-18 Gerd Moellmann <gerd@gnu.org>
12915
f6d3257b
GM
12916 * lread.c (read_filtered_event): Cancel and start busy cursor.
12917
427ec082 12918 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12919 that the per-character metrics may be null.
12920
e10f64e7
GM
129212000-04-17 Gerd Moellmann <gerd@gnu.org>
12922
0daee095
GM
12923 * buffer.c (clone_per_buffer_values): New function.
12924 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12925 clone_per_buffer_values if CLONE is not nil.
12926
e10f64e7
GM
12927 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12928
38687d43
DL
129292000-04-16 Dave Love <fx@gnu.org>
12930
12931 * Makefile.in: Remove obsolete localcpp stuff.
12932 (GETLOADAVG_OBJ): Don't define.
12933 (obj): Move LIBOBJS...
12934 (otherobj): ... to here.
12935 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12936 whitespace-only lines after the continuation (Irix).
12937
c21c7262
GM
129382000-04-14 Gerd Moellmann <gerd@gnu.org>
12939
12940 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12941
12942 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12943
314767c0
DL
129442000-04-14 Dave Love <fx@gnu.org>
12945
12946 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12947 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12948 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12949 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12950 NLIST_STRUCT.
12951
12952 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12953 autoconfiscated HAVE_GETLOADAVG.
12954
12955 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12956 BROKEN_MKTIME.
12957
a2522dca
GM
129582000-04-14 Gerd Moellmann <gerd@gnu.org>
12959
12960 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12961 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12962
33744b5d
DL
129632000-04-14 Dave Love <fx@gnu.org>
12964
c21c7262 12965 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12966 (INTERVAL_SRC): Convert to make variable.
12967 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12968 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12969 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12970 add LIBOBJS.
12971 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12972 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12973 (shortlisp): Add facemenu, float-sup, frame.
12974 (SOME_MACHINE_LISP): Remove them from here.
12975 (LIBES): Change unused LDLIBS to autoconf LIBS.
12976
12977 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12978
9d3d5916
KH
129792000-04-14 Kenichi Handa <handa@etl.go.jp>
12980
12981 * composite.c (update_compositions): If FROM and TO are not in a
12982 valid range, do nothing.
12983
198e3c7a
GM
129842000-04-13 Gerd Moellmann <gerd@gnu.org>
12985
52283633 12986 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12987
52283633 12988 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12989
12990 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12991 as TERMCAP_OBJ.
12992
055a28c9
EZ
129932000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12994
12995 * fileio.c (a_write): Remove redundant semi-colons.
12996 (e_write): Return -1 if failed to write all the data.
12997 This fixes the changes made at 1999-12-15.
12998
f5c75033
DL
129992000-04-12 Dave Love <fx@gnu.org>
13000
13001 * fns.c (mapcar1): Test for null vals to support mapc.
13002 (Fmapc): New function.
13003
0c3cfc51
EZ
130042000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
13005
13006 * msdos.c (NUM_MOUSE_BUTTONS): Define.
13007 (IT_frame_up_to_date): Support the buffer local value of
13008 cursor-type, if defined.
13009
33465a31
DL
130102000-04-10 Dave Love <fx@gnu.org>
13011
13012 * editfns.c (preceding-char, following-char): Doc fix.
13013
6ed56568
KR
130142000-04-10 Ken Raeburn <raeburn@gnu.org>
13015
13016 * Makefile.in (temacs): Revert 2000-03-12 change.
13017
7cf80d4e
JR
130182000-04-10 Jason Rumney <jasonr@gnu.org>
13019
13020 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
13021
34f3f342
GM
130222000-04-10 Gerd Moellmann <gerd@gnu.org>
13023
1a1b1895
GM
13024 * xdisp.c (setup_echo_area_for_printing): Choose an echo
13025 area buffer, if it's not set up yet.
13026
34f3f342
GM
13027 * indent.c (compute_motion): Set immediate_quit.
13028
be0dbdab
GM
130292000-04-09 Gerd Moellmann <gerd@gnu.org>
13030
52283633 13031 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
13032 (realize_tty_face): Suppress boldness if colors are the inverse of
13033 the default colors, and tty_suppress_bold_inverse_default_colors_p
13034 is set.
13035 (Ftty_suppress_bold_inverse_default_colors): New function.
13036 (syms_of_xfaces): Defsubr it.
13037
be0dbdab
GM
13038 * buffer.c (Frestore_buffer_modified_p): New function.
13039 (syms_of_buffer): Defsubr it.
13040
e8413c3b
KR
130412000-04-08 Ken Raeburn <raeburn@gnu.org>
13042
87f67317
KR
13043 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
13044 charset id (int) argument, not a charset (Lisp_Object).
13045
e8413c3b
KR
13046 * coding.h (code_convert_string): Declare.
13047 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
13048 object, as the fourth argument to code_convert_string.
13049
52283633 13050 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
13051 (Fset_fontset_font): Use EQ to compare lisp objects.
13052
7c752c80
KR
130532000-04-05 Ken Raeburn <raeburn@gnu.org>
13054
c0333abc
KR
13055 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
13056 a pointer that looks like a lisp object.
13057 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
13058 zero, instead see whether it's an integer object, since they can't
13059 have intervals.
13060 (GET_INTERVAL_OBJECT): Simply assign to the destination.
13061
52283633
SM
13062 * dispnew.c (allocate_matrices_for_frame_redisplay)
13063 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
13064 to convert between (unsigned) int values and lisp integers.
13065 * keyboard.c (read_key_sequence): Likewise.
13066 * lread.c (substitute_object_recurse): Likewise.
13067 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
13068 * minibuf.c (do_completion, Fminibuffer_complete_word)
13069 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
13070 * term.c (produce_special_glyphs): Likewise.
13071
13072 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
13073 * print.c (print_preprocess, print_object): Likewise.
13074
13075 * search.c (compile_pattern): Use NILP when checking for nil.
13076
74e49b38
KR
13077 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
13078 __OPTIMIZE__]: Provide a GNU C macro version that handles
13079 lisp-object unions.
13080 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
13081 field, to better cope with ENABLE_CHECKING and calls that modify a
13082 Lisp_Object using its old value.
13083
685e5ed2
GM
130842000-04-04 Gerd Moellmann <gerd@gnu.org>
13085
c407c570
GM
13086 * window.c (compare_window_configurations): Signal an error
13087 if parameters C1 or C2 aren't window configurations.
13088
685e5ed2
GM
13089 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
13090 AFTER_POTENTIAL_GC calls around calls to functions that can
13091 signal an error and thus invoke the debugger.
13092
587a49ab
GM
130932000-04-03 Gerd Moellmann <gerd@gnu.org>
13094
62f20204
GM
13095 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
13096 an error if decoding fails.
13097
587a49ab
GM
13098 * keyboard.c (lispy_mouse_names): Variable removed.
13099 (Vlispy_mouse_stem): New variable.
13100 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
13101 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
13102 for any mouse button number. Increase size of mouse_syms and
13103 button_down_location as needed. Call modify_event_symbol with
13104 different arguments.
13105 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
13106 Call modify_event_symbol with different arguments.
13107 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
13108 for any button number. Call modify_event_symbol with different
13109 arguments.
13110 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
13111 Accept a string for NAME_ALIST_OR_STEM.
13112
13113 * lisp.h (larger_vector): Add prototype.
13114
13115 * fns.c (larger_vector): Make externally visible.
13116
13117 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13118
2d1675e4
SM
131192000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13120
13121 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13122 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13123 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13124 we are between str1 and str2.
13125 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13126 (PATFETCH): Use `TRANSLATE'.
13127 (PATFETCH_RAW): Fetch multibyte char if applicable.
13128 (PATUNFETCH): Remove.
13129 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13130 When writing a char, write it directly into the pattern buffer rather
13131 than going needlessly through a temp char-array.
13132 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13133 multibyte magic and remove the useless `#ifdef emacs'.
13134 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13135 buffer.
13136
13137 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13138 conditional on `emacs'.
13139
13140 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13141
cc2d8c6b
KR
131422000-04-01 Ken Raeburn <raeburn@gnu.org>
13143
13144 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13145 non-union-type versions of XMARK and friends here, because XMARK
13146 and friends won't work on an integer field if NO_UNION_TYPE is not
13147 defined.
52283633 13148 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13149
52283633 13150 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13151 (syms_of_composite): Delete local var NARGS, pass an int as first
13152 argument to Fmake_hash_table.
13153
2387b382
KR
13154 * editfns.c (text_property_stickiness): Use NILP to test
13155 Lisp_Object boolean value.
13156 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13157 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13158 problems reading from and changing the same lisp value in an
13159 XSETSTRING call.
13160
27660e89
GM
131612000-04-01 Gerd Moellmann <gerd@gnu.org>
13162
13163 * term.c (TN_no_color_video): New variable.
13164 (term_init): Intitialize TN_no_color_video.
13165 (enum no_color_bit): New enumeration.
13166 (MAY_USE_WITH_COLORS_P): New macro.
13167 (turn_on_face): Use it to determine if attributes may be used
13168 combined with colors.
13169
3578db3c
KR
131702000-04-01 Ken Raeburn <raeburn@gnu.org>
13171
13172 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13173 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13174 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13175 proper accessor macros.
13176 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13177 (grow_mini_window): Fix typo getting int value of root->height.
13178
6fc556fd
KR
13179 * xdisp.c (compute_string_pos): Fix order of arguments to
13180 string_pos_nchars_ahead.
13181 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13182 count arg to variable-arg routines like Frun_hook_with_args and
13183 Fformat.
587a49ab
GM
13184 (back_to_previous_visible_line_start)
13185 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13186 fixed-arg routines like Fget_char_property and Fmake_string.
13187 (reconsider_clip_changes): Use XINT when comparing integer lisp
13188 objects, or passing them as int arguments.
587a49ab
GM
13189 (mark_window_display_accurate, insert_left_trunc_glyphs)
13190 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13191 storing or passing integer values as lisp objects.
13192 (set_cursor_from_row, highlight_trailing_whitespace): Use
13193 INTEGERP, not implicit test against zero, for glyph object.
13194 (try_window_id): Don't use make_number when we want an int value.
13195
13196 * xfaces.c (xlfd_symbolic_value): Make last argument a
13197 Lisp_Object, to be consistent with callers.
13198 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13199 (lface_hash): Apply XFASTINT to lisp values before folding in.
13200
13201 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13202 fill in window width and height. Pass an int, not a lisp object,
13203 as first arg to Finsert.
13204
6e7b2457
GM
132052000-04-01 Gerd Moellmann <gerd@gnu.org>
13206
610d841e
GM
13207 * xfaces.c (realize_basic_faces): Block input while realizing
13208 the faces.
13209
6e7b2457
GM
13210 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13211
13212 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13213
aa110c0c
GM
132142000-03-31 Gerd Moellmann <gerd@gnu.org>
13215
13216 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13217 or ASCII, handle case that per-char metric is null.
aa110c0c 13218
8801a864
KR
132192000-03-30 Ken Raeburn <raeburn@gnu.org>
13220
c6129d7e
KR
13221 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13222
52283633
SM
13223 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13224 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13225 pointer, using eassert.
13226 * frame.h (XFRAME): Likewise.
13227
52283633
SM
13228 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13229 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13230 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13231 * data.c (set_internal): Likewise.
52283633
SM
13232 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13233 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13234 * fileio.c (auto_save_1): Likewise.
13235 * insdel.c (check_markers): Likewise.
13236 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13237 * undo.c (record_insert): Likewise.
13238 * vmsproc.c (child_sig): Likewise.
13239 * window.c (unshow_buffer, window_loop): Likewise.
13240 * xterm.c (x_erase_phys_cursor): Likewise.
13241
8e7af858
GM
132422000-03-30 Gerd Moellmann <gerd@gnu.org>
13243
13244 * xfns.c (free_image_cache): Free the cache structure itself
13245 last, after all its members have been freed.
13246
13247 * lisp.h (xstrdup): Add prototype.
13248
13249 * alloc.c (xstrdup): Moved here from xfaces.c.
13250 (allocating_for_lisp): Variable removed.
52283633 13251 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13252
13253 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13254 of Fsymbol_value.
13255 (xstrdup): Moved to alloc.c.
13256
e0b8c689
KR
132572000-03-29 Ken Raeburn <raeburn@gnu.org>
13258
b96f9fb7
KR
13259 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13260
13261 * emacs.c (main): Fix sense of no-loadup test.
13262
e0b8c689
KR
13263 * config.in (ENABLE_CHECKING): Undef.
13264
13265 * lisp.h (struct interval): Replace "parent" field with a union of
13266 interval pointer and Lisp_Object; add new bitfield to use as
13267 discriminant. Change other flag fields to bitfields.
13268 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13269 is defined and the supplied test fails, print a message and abort.
13270 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13271
13272 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13273 pointers; abort if the value looks like a lisp object.
52283633
SM
13274 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13275 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13276 Modify for new interval parent definition.
13277
52283633
SM
13278 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13279 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13280 addressable lisp object in the interval structure.
13281 (die): New function.
13282 (suppress_checking): New variable.
13283
13284 * intervals.c (interval_start_pos): Just return 0 if there's no
13285 parent object.
13286
f83c5440
GM
132872000-03-29 Gerd Moellmann <gerd@gnu.org>
13288
13289 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13290 and earlier Emacs versions.
13291
13292 * keyboard.c (Ftop_level): Cancel busy-cursor.
13293
13294 * eval.c (call_debugger): Cancel busy-cursor.
13295
fdce64ff
KH
132962000-03-29 Kenichi Handa <handa@etl.go.jp>
13297
13298 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13299 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13300
f6a3f532
SM
133012000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13302
13303 * regex.c (analyse_first): New function obtained by ripping out most
13304 of re_compile_fastmap and generalizing it a little bit so that it
13305 can also just return whether a given (sub)pattern can match the empty
13306 string or not.
13307 (regex_compile): Use `analyse_first' to decide whether the loop-check
13308 needs to be done or not for *, +, *? and +? (the loop check is costly
13309 for non-greedy repetition).
13310 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13311
e9b309ac
DL
133122000-03-28 Dave Love <fx@gnu.org>
13313
52283633 13314 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13315
e9b309ac
DL
13316 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13317
ed0767d8
SM
133182000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13319
13320 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13321 an expression.
13322 (enum re_opcode_t): Update description of succeed_n.
13323 (PATFETCH): Always define.
13324 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13325 operators, char classes, shy-groups and intervals).
13326 Optimize special cases of intervals so as to only use succeed_n and
13327 jump_n when really needed.
13328 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13329 that we don't have to handle the special cases any more.
13330 Simplify on_failure_jump handling as well.
13331
e11e7e46
JR
133322000-03-28 Jason Rumney <jasonr@gnu.org>
13333
13334 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13335
88faab89
GM
133362000-03-27 Gerd Moellmann <gerd@gnu.org>
13337
182ff242
GM
13338 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13339
13340 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13341
182ff242
GM
13342 * alloc.c (mark_maybe_object): New function.
13343 (mark_memory): Use it.
13344 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13345 (setjmp_tested_p, longjmp_done): New variables.
13346 (test_setjmp): New function.
13347 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13348 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13349
c1005d06
GM
13350 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13351 to DEC_TEXT_POS and INC_TEXT_POS.
13352
13353 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13354 with parameter MULTIBYTE_P.
13355
52283633 13356 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13357
7439e5b9 13358 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13359 buffers because it looks for multibyte character byte sequences
13360 which don't exist in unibyte text.
7439e5b9 13361
d9c545da
GM
13362 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13363
11fd416e 13364 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13365 [DEBUG_X_COLORS]: New functions.
13366 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13367
13368 * xfns.c (x_set_cursor_color): Get color reference counts right.
13369
13370 * xterm.c (x_copy_color): New function.
13371 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13372
13373 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13374 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13375 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13376 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13377 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13378 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13379 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13380 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13381 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13382 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13383
11fd416e
GM
13384 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13385 names for handling per-buffer variables.
d9c545da
GM
13386
13387 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13388 instead of MAX_BUFFER_LOCAL_VARS.
13389 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13390
13391 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13392
88faab89
GM
13393 * xfns.c (x_specified_cursor_type): New function.
13394 (x_set_cursor_type): Use it.
13395
13396 * buffer.h (struct buffer): Add cursor_type.
13397
d80f42b7
SM
133982000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13399
13400 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13401 (print_partial_compiled_pattern, re_compile_fastmap):
13402 Handle new opcode.
d80f42b7
SM
13403 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13404 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13405 executing it as well as when popping it off the stack to find infinite
13406 loops in non-greedy repetition operators.
13407
89e80928
GM
134082000-03-26 Gerd Moellmann <gerd@gnu.org>
13409
3d4ff2dd
GM
13410 * doc.c (Qfunction_documentation): New variable.
13411 (syms_of_doc): Initialize Qfunction_documentation.
13412 (Fdocumentation): If FUNCTION is a symbol with non-nil
13413 `function-documentation' property, return a documentation derived
13414 from that.
13415
bd96bd79
GM
13416 * buffer.c (syms_of_buffer): Add default-cursor-type.
13417 (init_buffer_once): Don't let cursor_type have a local value
13418 in every buffer.
13419
19d1bc27
GM
13420 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13421 on buffer-local value of cursor_type.
13422 (x_draw_bar_cursor): Add parameter WIDTH.
13423
13424 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13425 (init_buffer_once): Set default cursor_type value to t.
13426 Mark cursor_type as local everywhere.
13427 (syms_of_buffer): New per-buffer variable cursor-type.
13428
89e80928
GM
13429 * buffer.h (struct buffer): Remove member local_var_flags,
13430 add local_flags.
13431 (MAX_BUFFER_LOCAL_VARS): New macro.
13432 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13433 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13434 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13435 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13436
52283633 13437 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13438
13439 * category.c (Fset_category_table): Use new macros for per-buffer
13440 variables.
13441
13442 * buffer.c (buffer_permanent_local_flags): Make a char array.
13443 (max_buffer_local_idx): New variable.
13444 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13445 for new handling of per-buffer variables.
13446 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13447 (init_buffer_once): Initialize per-buffer vars differently.
13448 Set max_buffer_local_idx.
13449
13450 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13451 variables.
13452
52283633 13453 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13454
13455 * data.c (do_symval_forwarding, store_symval_forwarding)
13456 (find_symbol_value, set_internal, default_value, Fset_default)
13457 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13458 per-buffer variables.
13459
13460 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13461
9a0dd3dc
GM
134622000-03-24 Gerd Moellmann <gerd@gnu.org>
13463
b68c375f
GM
13464 * xterm.c (x_term_init): Unblock input around call1 of
13465 Qvendor_specific_keysyms.
13466
9a0dd3dc
GM
13467 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13468 (find_defun_start): Consider an open parenthesis in column 0
13469 a defun start only if open_paren_in_column_0_is_defun_start is set.
13470 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13471
7973e637
SM
134722000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13473
13474 * eval.c (Fautoload): Add entry in load-history (if after dump).
13475 * lread.c (load-history): Update docstring.
13476
39210e90
GM
134772000-03-24 Gerd Moellmann <gerd@gnu.org>
13478
13479 * indent.c (Fvertical_motion): Always use the current buffer.
13480 Temporarily change the window's buffer, if necessary.
13481
72db3ab5
GM
134822000-03-23 Gerd Moellmann <gerd@gnu.org>
13483
13484 * xterm.c (fast_find_position): Make sure not to consider rows
13485 not visible in the window.
13486
990b2375
SM
134872000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13488
13489 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13490 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13491
ff4df011
JR
134922000-03-22 Jason Rumney <jasonr@gnu.org>
13493
13494 * w32menu.c (single_submenu): Set help string to NULL if none.
13495 (w32_menu_show): Set help string correctly.
13496 (add-menu-item): Set help string in MIIM_DATA for menu item.
13497 Load SetMenuItemInfoA explicitly.
13498 (w32_menu_display_help): New function.
427ec082 13499
ff4df011
JR
13500 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13501 (QCdata): Moved to xdisp.c.
13502
13503 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13504 (Vw32_charset_to_codepage_alist): Removed.
13505 (Vw32_charset_info_alist): New variable.
52283633
SM
13506 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13507 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13508 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13509 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13510 with TODO comment.
13511 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13512 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13513 Define Vw32_charset_info_alist and w32_charset symbols.
13514
135152000-03-22 Jason Rumney <jasonr@gnu.org>
13516
13517 * makefile.nt (w32bdf.obj): Update dependencies.
13518
13519 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13520
13521 * w32fns.c: Include fontset.h after dispextern.h.
13522 (Fx_create_frame): Do not create fontset.
13523 (w32_load_system_font): Doc fix.
13524 (Fx_close_connection): Free full_name if it is not shared.
13525
13526 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13527 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13528 Callers updated.
ff4df011
JR
13529 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13530 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13531 (w32_font_is_double_byte): New function, needs body.
13532 (x_append_glyph): Set glyph->glyph_not_available_p.
13533 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13534 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13535 character, convert it to a unibyte character.
13536 (struct glyph_string): Delete member `charset'.
13537 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13538 calculating it is found.
13539 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13540 the case that per char metric is not available correctly.
13541 (x_fill_glyph_string): Handle the case that the specific glyph is
13542 not available correctly.
13543 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13544 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13545 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13546 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13547 fontset. Don't call FS_LOAD_FONT.
13548
439d5cb4
KR
135492000-03-22 Ken Raeburn <raeburn@gnu.org>
13550
13551 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13552 (INT_LISPLIKE): New macro.
13553 (NULL_INTERVAL_P): Use it.
52283633
SM
13554 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13555 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13556 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13557
13558 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13559 explicit references to "parent" field of struct interval and
13560 associated unclean type conversions.
52283633
SM
13561 * intervals.c (create_root_interval, root_interval, rotate_right)
13562 (rotate_left, balance_possible_root_interval, split_interval_right)
13563 (split_interval_left, interval_start_pos, find_interval)
13564 (next_interval, previous_interval, update_interval)
13565 (adjust_intervals_for_insertion, delete_node, delete_interval)
13566 (adjust_intervals_for_deletion, merge_interval_right)
13567 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13568 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13569 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13570 Likewise.
13571 * syntax.c (update_syntax_table): Likewise.
13572
13573 * intervals.c (reproduce_tree_obj): New function, like
13574 reproduce_tree but takes a Lisp_Object for the parent. Declare
13575 with prototype.
13576 (graft_intervals_into_buffer): Use it when appropriate.
13577 (reproduce_tree): Declare with prototype.
13578 (balance_possible_root_interval): Check that the parent is a lisp
13579 object before trying to examine its type.
13580
ee1c5b21
GM
135812000-03-22 Gerd Moellmann <gerd@gnu.org>
13582
13583 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13584 as strings only if both are known to be strings.
13585
13586 * s/openbsd.h (LIBS_TERMCAP): Undef.
13587
1fb352e0
SM
135882000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13589
13590 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13591 definitions for non-Emacs compilation.
13592 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13593 outside of `#ifdef emacs'.
13594 (print_partial_compiled_pattern): Update.
13595 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13596 (re_compile_fastmap): Merge handling of charset and charset_not (for
13597 emacs and non-emacs compilation as well).
13598 Similarly for (not)categoryspec and (not)syntaxspec.
13599 Don't use the fastmap when reaching `anychar' since the added
13600 complexity is not justified.
13601 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13602 and (not)syntaxspec. Merge (not)categoryspec.
13603
fdaa1f77
KH
136042000-03-22 Kenichi Handa <handa@etl.go.jp>
13605
52283633
SM
13606 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13607 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13608 --without-x.
fdaa1f77 13609
d152fb46
DL
136102000-03-21 Dave Love <fx@gnu.org>
13611
13612 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13613 doc string.
13614
d2cafc8c
GM
136152000-03-21 Gerd Moellmann <gerd@gnu.org>
13616
13617 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13618 (lface_fully_specified_p): Don't check contents of
13619 LFACE_FONT_INDEX because that attribute is optional.
13620 (realize_x_face): Remove now unwarranted xassert.
13621
9111d4b5
KH
136222000-03-21 Kenichi HANDA <handa@etl.go.jp>
13623
13624 The following changes are to make font selection based on
13625 characters, not charset. In addition, they recover fontset
13626 facilities while utilizing the new font selection mechanism.
13627
6c4bfdc0
KH
13628 * Makefile.in (fontset.o): Depend on dispextern.h.
13629
13630 * alloc.c (mark_face_cache): Don't mark face->registry.
13631
9111d4b5
KH
13632 * dispextern.h (struct glyph): New member glyph_not_available_p.
13633 Use 22 bits for face_id.
13634 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13635 (struct face): Delete member registry, new member ascii_face.
13636 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13637 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13638 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13639 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13640
13641 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13642 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13643 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13644 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13645 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13646 (fs_free_face_fontset, fontset_font_pattern)
13647 (face_suitable_for_char_p, face_for_char)
13648 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13649 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13650 (FS_LOAD_FACE_FONT): New macro.
13651
13652 * fontset.c: All codes rewritten or adjusted for the change of
13653 fontset implementation. Now fontset is represented by char table.
52283633
SM
13654 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13655 Variables removed.
9111d4b5 13656 (my_strcasecmp): Function removed.
52283633 13657 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13658 (AREF, ASIZE): New macros.
52283633
SM
13659 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13660 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13661 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13662 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13663 (fontset_id_valid_p, font_family_registry, fontset_name)
13664 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13665 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13666 New functions.
13667 (fs_load_font): New arg FACE. Caller changed.
13668 (fs_query_fontset): Argument changed. Caller changed.
13669 (Fquery_fontset): call fs_query_fontset.
13670 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13671 Functions removed.
52283633
SM
13672 (clear_fontset_elements, check_registry_encoding)
13673 (check_fontset_name): New functions.
9111d4b5
KH
13674 (syms_of_fontset): Set char-table-extra-slots property of fontset
13675 to 3. Staticpro and initialize Vfontset_table and
13676 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13677
13678 * frame.h (struct frame): Member `fontset_data' removed.
13679 (FRAME_FONTSET_DATA): Macro removed.
13680
13681 * frame.c (make_frame): Don't allocate f->fontset_data.
13682 (Fdelete_frame): Don't free f->fontset_data.
13683
6c4bfdc0
KH
13684 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13685
9111d4b5
KH
13686 * xdisp.c (charset_at_position): Function removed.
13687 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13688 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13689 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13690 Likewise.
13691 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13692 FACE_FOR_CHARSET.
52283633
SM
13693 (get_next_display_element, append_space)
13694 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13695
13696 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13697 Variables removed.
13698 (clear_font_table, frame_update_line_height, load_face_font):
13699 Adjusted for the change of fontset implementation.
13700 (load_face_fontset_font): Function removed.
13701 (pixel_point_size): New function.
13702 (font_list): Argument type changed. Caller changed.
13703 (LFACE_FONT): New macro.
13704 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13705 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13706 Lisp_Object. Determine the font name by actually loading a font
13707 by the specified pattern. Set LFACE_FONT (lface) to the specified
13708 pattern. Even if a font is not found, don't try alternatives.
13709 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13710 (set_font_frame_param): If `font' is specified in lface, use it.
13711 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13712 (lface_same_font_attributes_p): Likewise.
13713 (make_realized_face): Arguent changed. Caller changed. Set
13714 face->ascii_face to face itself.
13715 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13716 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13717 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13718 (free_realized_multibyte_face): New function.
13719 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13720 changed. Caller changed.
13721 (try_font_list): Argument type changed.
13722 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13723 (choose_face_font): Argument changed. Handle fontset properly.
13724 (choose_face_fontset_font): Function removed.
13725 (realize_default_face, realize_named_face): Don't remove the
13726 former face here.
13727 (realize_face): Argument changed. Caller changed. Remove face
52283633 13728 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13729 (realize_x_face): Argument changed. Caller changed. For a
13730 multibyte character, share fontset with base_face. For a single
52283633 13731 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13732 (realize_tty_face): Argument changed. Caller changed.
13733 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13734 (face_at_buffer_position): Don't check multibyte_p for returning
13735 DEFAULT_FACE_ID.
13736 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13737 FACE_SUITABLE_FOR_CHARSET_P.
13738 (syms_of_xfaces): Remove code for Qx_charset_registry and
13739 Vface_default_registry.
13740
6c4bfdc0
KH
13741 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13742 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13743 (x_per_char_metric): Don't try FONT->default_char. Even if
13744 pcm->width is zero, glyph bits may exist.
13745 (x_encode_char): Always initialize char2b->byte1.
13746 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13747 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13748 (x_append_glyph): Set glyph->glyph_not_available_p.
13749 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13750 it->charset. Handle the case that per char metric is not
13751 available. If it->multibyte_p is zero and it->c is a multibyte
13752 character, convert it to a unibyte character.
13753 (struct glyph_string): Delete member `charset'.
13754 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13755 the case that per char metric is not available correctly.
13756 (x_fill_glyph_string): Handle the case that the specific glyph is
13757 not available correctly.
13758 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13759 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13760 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13761 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13762 fontset. Don't call FS_LOAD_FONT.
13763
13764 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13765 (x_create_tip_frame): Likewise.
13766 (Fx_close_connection): Free full_name of font_info.
13767
13768 * fns.c (optimize_sub_char_table): New function.
13769 (Foptimize_char_table): New function.
13770 (syms_of_fns): Defsubr Soptimize_char_table.
13771
b33dd3b0
GM
137722000-03-20 Gerd Moellmann <gerd@gnu.org>
13773
13774 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13775 only if buffer is displayed in some window.
13776
13777 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13778 (try_window_reusing_current_matrix): Don't call scroll run
13779 function if run's current and desired position are the same;
13780 this prevents cursor flickering.
13781
4e8a9132
SM
137822000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13783
13784 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13785
13786 * regex.c (RE_STRING_CHAR): New macro.
13787 (GET_CHAR_AFER_2): Remove.
13788 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13789 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13790 (print_partial_compiled_pattern, re_compile_fastmap)
13791 (re_match_2_internal): Remove on_failure_jump_exclusive.
13792 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13793 optimization only need to work for * (ie. can use of_keep_string_jump).
13794 Remove the special case for .*\n since it is now covered by the general
13795 optimization.
13796 (re_search_2): Don't bother with `room'.
13797 (skip_one_char): New function.
13798 (skip_noops): Simplify since `memory' is not needed any more.
13799 (mutually_exclusive_p): Restructure slightly to use `switch' and
13800 add handling for "all" remaining cases.
13801 (re_match_2_internal): Change on_failure_jump_smart to use
13802 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13803 rather than on_failure_jump_exclusive.
13804
2136fdd4
GM
138052000-03-19 Gerd Moellmann <gerd@gnu.org>
13806
13807 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13808 number of bits per RGB because it's everywhere used as the depth
13809 of the visual.
13810
13811 * term.c (calculate_costs): Remove code dealing with X frames.
13812
18e21ce8 138132000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13814
13815 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13816
d7b511c4
GM
138172000-03-18 Gerd Moellmann <gerd@gnu.org>
13818
13819 * lread.c (read_integer): Unread the last char not consumed.
13820
16b5d424
GM
138212000-03-17 Gerd Moellmann <gerd@gnu.org>
13822
13823 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13824 which are in the process of being deleted.
16b5d424 13825
1fa28578
GM
138262000-03-16 Gerd Moellmann <gerd@gnu.org>
13827
83488cce
GM
13828 * Makefile.in (mostlyclean): Add `*.core'.
13829 (clean): Add `bootstrap-emacs'.
13830
1fa28578
GM
13831 * lread.c (read_integer): New function.
13832 (read1): Support read syntax #o, #x, #b, #r.
13833
99633e97
SM
138342000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13835
1fa28578
GM
13836 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13837 make sure POINTER_TO_OFFSET gives the same value before and after
13838 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13839 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13840 (debug): Now only active if > 0 rather than if != 0.
13841 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13842 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13843 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13844 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13845 (store_op1, store_op2, insert_op1, insert_op2)
13846 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13847 (group_in_compile_stack): Move to after its arg's types are
13848 declared and add a prototype.
99633e97 13849 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13850 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13851 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13852 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13853 indentation of the greedy-op and shy-group code.
99633e97
SM
13854 (at_(beg|end)line_loc_p): Fix argument's types.
13855 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13856 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13857 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13858 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13859 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13860 QUIT unconditionally.
99633e97 13861
699238d9
GM
138622000-03-15 Gerd Moellmann <gerd@gnu.org>
13863
13864 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13865 a sole completion.
13866
13867 * process.c (send_process): Add a hint that the function
13868 can call Lisp code to its comment.
13869
13870 * lread.c (load_dangerous_libraries): New variable.
13871 (Vbytecomp_version_regexp): New variable.
13872 (safe_to_load_p): New function.
13873 (Fload): Handle files not compiled with Emacs specially.
13874 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13875
34e23e5a
GM
138762000-03-14 Gerd Moellmann <gerd@gnu.org>
13877
9c763cca
GM
13878 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13879
13880 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13881 support functions only if HAVE_X11R6_XIM is defined.
13882 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13883
13884 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13885
13886 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13887 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13888 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13889
13890 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13891 (HAVE_X11R6_XIM): Define.
13892
13893 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13894
34e23e5a
GM
13895 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13896 If set, call XSynchronize.
13897
66f0296e
SM
138982000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13899
34e23e5a
GM
13900 * regex.c: Declare a new type `re_char' used throughout the code
13901 for the string char type. It's `const unsigned char' to match the
13902 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13903 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13904 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13905 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13906 code duplication.
66f0296e
SM
13907
13908 * charset.h (GET_CHAR_AFTER_2): Remove.
13909 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13910
854a025c
KR
139112000-03-12 Ken Raeburn <raeburn@gnu.org>
13912
13913 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13914 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13915 of them try to use backquotes.
13916
b9d2c7e2
DL
139172000-03-12 Dave Love <fx@gnu.org>
13918
13919 * unexelf.c: Restore changes of 1999-10-19.
13920 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13921 fix its type and alignment; copy it from current process.
13922
5e5dff44
GM
139232000-03-12 Gerd Moellmann <gerd@gnu.org>
13924
9b2f3c38
GM
13925 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13926 has been found. Fix bug not computing timer's predecessor.
13927
427ec082 13928 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13929 file name.
13930
e1cff360
GM
13931 * window.c (Fsave_window_excursion): Doc fix.
13932
52283633 13933 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13934
e411ce4b
EZ
139352000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13936
13937 * msdos.c (vga_installed): New function, code moved from
13938 dos_set_window_size.
13939 (Qbar, Qcursor_type, outside_cursor): New variables.
13940 (syms_of_msdos): Intern and staticpro them.
13941 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13942 shape used outside Emacs when called for the first time.
13943 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13944 cursor shape used outside Emacs.
13945 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13946 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13947 type has changed.
13948 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13949 parameters specify the cursor. Make qreverse a global
13950 variable (renamed to Qreverse).
13951
80460654
GM
139522000-03-09 Gerd Moellmann <gerd@gnu.org>
13953
13954 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13955
95cd4c40
SM
139562000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13957
13958 This is a big redesign of failure-stack and register handling, prompted
13959 by bugs revealed when trying to add shy-groups. Overall, what happened
13960 is that loops are now structured a little differently, groups can be
13961 shy and the code is a little simpler.
13962
13963 * regex.h: Update the copyright.
13964 (RE_SHY_GROUPS): New value.
13965 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13966 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13967
80460654
GM
13968 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13969 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13970 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13971 for (start|stop)_memory since they now only take one argument (the
13972 second has becomes unnecessary).
52283633 13973 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13974 (print_compiled_pattern): Use %ld to printf long ints and flush to
13975 make debugging a little easier.
95cd4c40
SM
13976 (union fail_stack_elt): Make the integer unsigned.
13977 (struct fail_stack_type): Add a `frame' element.
13978 (INIT_FAIL_STACK): Init `frame' as well.
13979 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13980 (DEBUG_PUSH, DEBUG_POP): Remove.
13981 (NUM_REG_ITEMS): Remove.
13982 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13983 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13984 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13985 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13986 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13987 New macros.
80460654
GM
13988 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13989 address pushed is not the destination of the jump but the source
13990 of it instead.
95cd4c40
SM
13991 (NUM_FAILURE_ITEMS): Remove.
13992 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13993 registers before the actual failure point). Don't hardcode any
13994 meaning for str==NULL anymore.
95cd4c40 13995 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13996 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13997 Remove.
95cd4c40
SM
13998 (REG_UNSET_VALUE): Use NULL (why not?).
13999 (compile_range): Remove declaration since it doesn't exist.
14000 (struct compile_stack_elt_t): Remove inner_group_offset.
14001 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
14002 (regex_grow_registers): Remove dead code.
14003 (FIXUP_ALT_JUMP): New macro.
80460654
GM
14004 (regex_compile): Add shy-groups Change loops to use
14005 on_failure_jump_smart&jump instead of
14006 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
14007 initial (dummy_failure_)jump. Remove c1_base (looks like unused
14008 variable to me). Use `jump' instead of `jump_past_alt' and don't
14009 bother with push_dummy_failure in alternatives since it is now
14010 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
14011 emacs' for (re)allocating the stack.
14012 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
14013 from loop when bufp->can_be_null rather than jumping to `done'.
14014 Avoid jumping backwards so as to ensure termination. Use
14015 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
14016 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 14017 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
14018 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
14019 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
14020 (lowest_active_reg, highest_active_reg)
14021 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
14022 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
14023 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
14024 variables. Push register (in `start_memory') on the stack rather
14025 than storing it in old_reg(start|end). Remove the cycle detection
14026 from `stop_memory', replaced by the use of on_failure_jump_loop
14027 for greedy loops. Add code for the new on_failure_jump_<foo>.
14028 Remove ad-hoc code in `on_failure_jump' to push more registers in
14029 the case of a loop. Take out code from `maybe_pop_jump' into
14030 separate functions and adapt it to the semantics of
14031 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
14032 and push_dummy_failure. Remove dummy_failure handling and
14033 handling of `failures to jump to on_failure_jump' (this last one
14034 was already dead code, it seems).
14035 (group_match_null_string_p, alt_match_null_string_p)
14036 (common_op_match_null_string_p): Remove.
95cd4c40 14037
7397acc4
DL
140382000-03-08 Dave Love <fx@gnu.org>
14039
14040 * config.in: Don't depend on __STDC__ for volatile.
14041 Add POINTER_TYPE, PTR, PROTOTYPES.
14042
14043 * hftctl.c, strftime.c: Use PROTOTYPES.
14044 * eval.c (find_handler_clause): Likewise.
14045
14046 * mem-limits.h: Use POINTER_TYPE.
14047
14048 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
14049 (memory_warnings): Declare using POINTER_TYPE.
14050
5e91ff9e
GM
140512000-03-08 Gerd Moellmann <gerd@gnu.org>
14052
feab4fba
GM
14053 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
14054
52283633 14055 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 14056
5e91ff9e
GM
14057 * xfns.c: Remove obsolete code in #if 0.
14058 (Fx_focus_frame): New function.
14059
a735b7e1
KH
140602000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14061
14062 * coding.c (coding_category_name): Add coding-category-utf-8,
14063 coding-category-utf-16-be, coding-category-utf-16-le.
14064 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
14065 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
14066 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
14067 (detect_coding_utf_8): New function.
14068 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
14069 UTF_16_LOW_SURROGATE_P): New macros.
14070 (detect_coding_utf_16): New function
14071 (detect_coding_mask): When priorities are specified, skip any
14072 categories that have `nil' coding-system. Fix bug of returning
14073 wrong mask when PRIORITIES is specified and detect_coding_XXX()
14074 returns a mask not set in PRIORITIES.
14075 (detect_eol_type_in_2_octet_form): New function.
14076 (detect_eol): selects detect_eol_type_XXX to call according to
14077 cooding->category_idx.
14078 (detect_coding_system): Remove `nil' coding-system in the result.
14079 (Fupdate_coding_systems_internal): Update all coding-categories.
14080
52283633
SM
14081 * coding.h (CODING_CATEGORY_IDX_UTF_8)
14082 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
14083 New macros.
14084 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
14085 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
14086 (CODING_CATEGORY_IDX_UTF_16_LE)
14087 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
14088 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
14089 (CODING_CATEGORY_MASK_ANY): Include the above macros.
14090 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
14091
9994cc69
GM
140922000-03-07 Gerd Moellmann <gerd@gnu.org>
14093
e9b4e5ff
GM
14094 * doc.c (Fdocumentation_property): If value is not a string,
14095 and doesn't refer to etc/DOC, evaluate it to obtain a string.
14096
f7daf1e1
GM
14097 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
14098 close the display with XtCloseDisplay. This caused a bus error
14099 on OpenWindows.
14100
9994cc69
GM
14101 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
14102 complete but not unique.
14103
4336c705
GM
141042000-03-06 Gerd Moellmann <gerd@gnu.org>
14105
18bb0684
GM
14106 * process.c (send_process): Remove local variable `procname' that
14107 might become invalid when a GC happens. Instead, access the
14108 process name slot directly.
14109
4336c705
GM
14110 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
14111 orig_height if set.
14112
14113 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14114 orig_height if set.
14115
515d0d0e
EZ
141162000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14117
14118 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14119 glyph matrices have been freed.
14120
100b3cbb
GM
141212000-03-05 Gerd Moellmann <gerd@gnu.org>
14122
50df5e5a 14123 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 14124 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
14125
14126 * xfns.c (QCdata): Moved to xdisp.c.
14127
14128 * xdisp.c (QCdata): Moved here from xfns.c.
14129 (syms_of_xdisp): Initialize QCdata.
14130
14131 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14132
14133 * window.c (coordinates_in_window): Use
14134 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14135 FRAME_INTERNAL_BORDER_WIDTH.
14136
100b3cbb 14137 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14138 it is obviously invalid.
100b3cbb
GM
14139
14140 * xterm.c (x_term_init): Create a colormap if not using the
14141 default visual.
14142
14143 * xterm.h (select_visual): Change prototype.
14144
14145 * xfns.c (select_visual): Rewritten. Recognize user-specified
14146 visual classes.
14147 (visual_classes): New variable.
14148
64d739c4
GM
141492000-03-04 Gerd Moellmann <gerd@gnu.org>
14150
14151 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14152 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14153 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14154 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14155 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14156 XtNcolormap resources.
14157 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14158 (Fx_create_frame): Initialize color members of x_output structure.
14159 (xpm_load): Pass colormap to XPM lib.
14160
14161 * xfaces.c (x_free_colors): Access colormap of frame using
14162 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14163 when default colormap is used.
14164
14165 * xterm.c (x_term_init): Set Colormap member of x_display_info
14166 structure. Copy colormap if resource `privateColormap' is
14167 specified (PseudoColor only).
14168 (x_setup_relief_color): Access colormap of frame using
14169 FRAME_X_COLORMAP.
14170
14171 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14172 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14173
c3cee013
JR
141742000-03-04 Jason Rumney <jasonr@gnu.org>
14175
14176 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14177 other non-platform-specific equivalents.
64d739c4 14178 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14179 specific functions and macros as their w32 equivalents where
14180 non-platform-specifics are not available.
14181 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14182 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14183 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14184 (frame_update_line_height): Use macros to access f->output_data.
14185 (defined_color): Remove FIXME comments; fixed.
14186 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14187 into #ifdef blocks. Add WINDOWSNT blocks.
14188 (Fx_list_fonts): Use macros for accessing font data.
14189 (set_lface_from_font_name): Different default fonts for X and
14190 WINDOWSNT.
14191 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14192 scalable for backward compatibility.
64d739c4 14193 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14194 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14195
64d739c4 14196 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14197 syms_of_w32faces.
14198
14199 * makefile.nt (w32faces.obj): Remove.
14200 (xfaces.obj): Add.
14201
807cc41c
JR
142022000-03-03 Jason Rumney <jasonr@gnu.org>
14203
14204 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14205 correct parameters.
14206
0007072a
KR
142072000-03-03 Ken Raeburn <raeburn@gnu.org>
14208
14209 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14210 standard ELF definitions here if the system header does not.
14211
71a6ba55
GM
142122000-03-03 Gerd Moellmann <gerd@gnu.org>
14213
14214 * xterm.c (PER_CHAR_METRIC): Removed.
14215 (x_per_char_metric_1, x_default_char): New functions.
14216 (x_per_char_metric): If font's default char is invalid, return
14217 metrics of a suitably chosen usable default char.
14218 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14219 char, replace occurrences of unprintable chars with a suitably
14220 chosen usable default char.
71a6ba55 14221
900fa1f1
GM
142222000-03-02 Gerd Moellmann <gerd@gnu.org>
14223
42f55fe0
GM
14224 * xterm.c (note_mouse_highlight): Return quickly if frame's
14225 glyph matrices have been freed.
14226
14227 * dispnew.c (free_glyphs): Block input while freeing matrices.
14228
900fa1f1
GM
14229 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14230
52283633
SM
14231 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14232 Use x_free_colors.
900fa1f1
GM
14233
14234 * dispextern.h (x_free_colors): Add prototype.
14235
14236 * xfaces.c (x_free_colors): New function.
14237 (unload_color, free_face_colors): Use it.
14238
2f950292
EZ
142392000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14240
14241 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14242
14243 * window.c [MSDOS]: Include msdos.h.
14244
54d04320
DL
142452000-03-02 Dave Love <fx@gnu.org>
14246
14247 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14248
14249 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14250 set C_OPTIMIZE_SWITCH for gcc.
14251
0ba93ac4
KH
142522000-03-02 Kenichi Handa <handa@etl.go.jp>
14253
14254 * coding.c (coding_save_composition): Be sure to allocate
14255 composition data area in coding even if there's no composition in
14256 the current run.
14257
a2bc11d4
JR
142582000-03-01 Jason Rumney <jasonr@gnu.org>
14259
14260 * w32term.c: Equivalent changes to those made to xterm.c on
14261 2000-02-25 and 2000-02-24.
14262
14263 * w32fns.c: Equivalent changes to those made to xfns.c on
14264 2000-02-25 and 2000-02-21.
14265
14266 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14267 correct line-end convention is followed.
14268
14269 * w32menu.c [HAVE_BOXES]: Remove #undef.
14270 (single_keymap_panes): Remove code for simulating checkmarks.
14271 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14272 Remove code for drawing simulated checkmarks.
14273 (w32_menu_show): make unibyte help string correctly.
14274 (add_menu_item): draw standard Windows checkmarks. Draw radio
14275 buttons as radio buttons if possible.
14276
72d19d75
GM
142772000-03-01 Gerd Moellmann <gerd@gnu.org>
14278
2df636f4
GM
14279 * sysdep.c (start_of_text): Don't define this function for NetBSD
14280 with ELF.
14281
427ec082 14282 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14283 Don't define.
14284 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14285 (LINKER): Don't undef if __NetBSD__ is defined.
14286
14287 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14288
14289 * fileio.c [__NetBSD__]: Define `unix'.
14290
72d19d75
GM
14291 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14292
ed4d0512
GM
142932000-02-29 Gerd Moellmann <gerd@gnu.org>
14294
50b1039f
GM
14295 * atimer.c (start_atimer): Don't abort when timers are stopped.
14296 (append_atimer_lists): New function.
14297 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14298 arbitrary lists of stopped and running atimers.
14299
ed4d0512
GM
14300 * atimer.c (cancel_atimer): Handle canceling an atimer when
14301 some timers are stopped.
14302
14303 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14304 after canceling it.
14305
14306 * fns.c (maybe_resize_hash_table): Handle case of new size
14307 coming out as being the same as old size.
14308
387023ee
JR
143092000-02-27 Jason Rumney <jasonr@gnu.org>
14310
14311 * makefile.nt: Add atimer.h to dependencies.
14312 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14313 * w32console.c: Only disable window system features for dispextern.h
14314 (initialize_w32_display): Build a display info for the console.
14315 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14316 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14317 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14318 as 2 button mice.
14319 * w32gui.h (struct W32FontStruct): Revert last change after change
14320 to xdisp.c.
14321 * w32menu.c (single_submenu): Set up help string.
14322 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14323 (w32_dialog_show): Set up help string.
14324 * w32term.c (w32_display_info_for_display): Remove unused function.
14325 (w32_draw_bitmap): Use pre-built bitmaps.
14326 (w32_initialize_display_info): New function to initialize parts of
14327 display info that are common to both GUI and console frames.
14328 (w32_term_init): Use w32_initialize_display_info. Do not set
14329 Vw32_num_mouse_buttons here, as it is not called for console
14330 frames. Build bitmaps for indicating truncated lines etc.
14331 (x_delete_display): Destroy pre-built bitmaps.
14332 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14333 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14334
4516715a
DL
143352000-02-27 Dave Love <fx@gnu.org>
14336
14337 * lisp.h: Add a bunch of prototypes.
14338
171ca836
KH
143392000-02-26 Kenichi Handa <handa@etl.go.jp>
14340
14341 * keyboard.c (read_char): Set `usec' correctly.
14342
4013921d
KH
143432000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14344
14345 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14346 `lambda', set reg[RRR] to the map index.
14347 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14348 reg[RRR] to 0. Otherwise, set it to -1.
14349
9244a058
GM
143502000-02-25 Gerd Moellmann <gerd@gnu.org>
14351
2df636f4 14352 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14353
18e21ce8 143542000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14355
f43d79c1
GM
14356 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14357 and contains a `:', prepend `/:'.
14358
14359 * window.c (select_window_1): If selected_window is nil,
14360 don't "swap out" the buffer's point.
14361 (Fset_window_configuration): Set selected_window to nil
14362 before calling Fselect_window.
14363 (unshow_buffer): Don't set point in buffer from window's point
14364 if another more recently selected window also shows the buffer.
14365
bed0c171
GM
143662000-02-25 Gerd Moellmann <gerd@gnu.org>
14367
449c3c52
GM
14368 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14369
f5b58615
GM
14370 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14371 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14372 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14373 New variables.
f5b58615
GM
14374 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14375 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14376 (hide_busy_cursor): New functions.
14377 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14378
14379 * minibuf.c (read_minibuf): Cancel busy-cursor.
14380
14381 * keyboard.c (command_loop_1): Call start_busy_cursor before
14382 Fcommand_execute and cancel_busy_cursor after it.
14383 (timer_check): Remove busy-cursor code.
14384 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14385 cursor timer.
14386
14387 * process.c (wait_reading_process_input): Remove busy-cursor code.
14388
14389 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14390 Fx_hide_busy_cursor.
14391
14392 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14393 Remove prototyoes.
14394 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14395
14396 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14397
14398 * xterm.c (XTread_socket): Remove busy-cursor code.
14399
4eb8436f
GM
14400 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14401 (build_frame_matrix_from_leaf_window): Put code handling
14402 glyph row's not being a slice of a frame row in #if 0.
14403 (sync_window_with_frame_matrix_rows): New function.
14404 (frame_row_to_window): New function.
14405 (mirror_line_dance): Handle copies between windows.
14406
3cb65b0e
GM
14407 * lread.c (Fload): Use `xfree' instead of `free'.
14408 (init_obarray): Use `xmalloc' instead of `malloc'.
14409
bed0c171
GM
14410 * window.c (Fset_window_buffer): Set WINDOW to the window
14411 after decoding.
2add4349
GM
14412 (coordinates_in_window): Take frame's internal border width
14413 into account.
bed0c171 14414
42088c12
GM
144152000-02-24 Gerd Moellmann <gerd@gnu.org>
14416
14417 * xterm.c (x_display_and_set_cursor): Display cursor of
14418 non-selected windows depending on the setting of
14419 cursor_in_non_selected_windows.
14420
14421 * xdisp.c (cursor_in_non_selected_windows): New variable.
14422 (syms_of_xdisp): DEFVAR_BOOL it.
14423
d1e103b2
GM
144242000-02-23 Gerd Moellmann <gerd@gnu.org>
14425
723e779c
GM
14426 * data.c (Fstring_to_number): If number is greater than what
14427 fits into an integer, return a float.
14428
d1e103b2
GM
14429 * eval.c (specbind): Remove references to
14430 keyword_symbols_constant_flag.
14431
14432 * data.c (keyword_symbols_constant_flag): Removed.
14433 (Fmakunbound, set_internal, syms_of_data): Remove references to
14434 keyword_symbols_constant_flag.
14435
14436 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14437
214f877f
KH
144382000-02-23 Kenichi Handa <handa@etl.go.jp>
14439
14440 * syntax.c (multibyte_syntax_as_symbol): New variable.
14441 (syms_of_syntax): Declare it as a Lisp variable.
14442 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14443 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14444 nonzero, treat all multibyte characters as symbol.
52283633 14445 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14446
130adcb7
EZ
144472000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14448
3cb65b0e 14449 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14450 a deleted frame.
130adcb7 14451
17cbbf95
GM
144522000-02-21 Gerd Moellmann <gerd@gnu.org>
14453
14454 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14455
14456 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14457 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14458
beb0bc36
DL
144592000-02-21 Dave Love <fx@gnu.org>
14460
14461 * frame.c (Vmouse_position_function): New variable.
14462 (Fmouse_position): Use it.
14463 (syms_of_frame): Install it.
14464
14465 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14466
1d92afcd
GM
144672000-02-20 Gerd Moellmann <gerd@gnu.org>
14468
14469 * fileio.c (Finsert_file_contents): Unbind the binding of
14470 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14471
14472 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14473 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14474 (specbind, unbind_to): Handle most common case of non-constant
14475 symbol with trivial value specially.
14476
14477 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14478
18e21ce8 144792000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14480
14481 * data.c (Fmake_variable_buffer_local): Doc fix.
14482 Init found_for_buffer to 0.
14483 (Fmake_variable_frame_local): If the variable has already
14484 been buffer-local, set the check_frame field.
14485
1d4311c3
EZ
144862000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14487
14488 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14489 produced for CODING_MODE_LAST_BLOCK requires.
14490
2dc95ddd
DL
144912000-02-18 Dave Love <fx@gnu.org>
14492
14493 * keyboard.c (echo_keystrokes): Remove declaration.
14494 (Vecho_keystrokes) New variable.
14495 (read_char, record_menu_key, read_key_sequence): Use it to allow
14496 use of float value.
14497 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14498
14499 * lread.c: Undef feature selection macros before defining.
14500
f0930f35
GM
145012000-02-18 Gerd Moellmann <gerd@gnu.org>
14502
14503 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14504 for symbols other than the symbol in question.
14505
e3d4de90
DL
145062000-02-17 Dave Love <fx@gnu.org>
14507
14508 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14509
0b378936
GM
145102000-02-17 Gerd Moellmann <gerd@gnu.org>
14511
d621caf7
GM
14512 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14513
0b378936
GM
14514 * alloc.c (enum mem_type): Compile unconditionally.
14515
3b451f74
EZ
145162000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14517
14518 * xfaces.c (tty_defined_color): Don't return faulire indication
14519 for unspecified-fg and unspecified-bg pseudo-colors.
14520
10689a01
GM
145212000-02-17 Gerd Moellmann <gerd@gnu.org>
14522
1216f5e4
GM
14523 * alloc.c (mark_object): Don't mark symbol names in pure space.
14524 (gc_sweep): Don't unmark symbol names in pure space.
14525
14526 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14527 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14528 [GC_MARK_STACK]: New defines.
427ec082 14529 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14530 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14531
14532 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14533
14534 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14535 allocate_buffer instead of xmalloc.
14536
14537 * alloc.c (toplevel): Include setjmp.h.
14538 (PURE_POINTER_P): New define.
14539 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14540 (Vdead) [GC_MARK_STACK]: New variable.
14541 (lisp_malloc): Add parameter TYPE, call mem_insert if
14542 GC_MARK_STACK is defined.
14543 (allocate_buffer): New function.
427ec082 14544 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14545 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14546 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14547 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14548 (MEM_NIL) [GC_MARK_STACK]: New define.
14549 (struct mem_node) [GC_MARK_STACK]: New structure.
14550 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14551 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14552 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14553 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14554 (mark_stack) [GC_MARK_STACK]: New functions.
14555 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14556 (clear_marks): Removed.
14557 (gc_sweep): Set free conses' car, free floats' type, free
14558 symbols' function to Vdead. Use lisp_free to free buffers.
14559 (init_alloc_once): Initialize Vdead.
14560 (survives_gc_p): Return non-zero for pure objects.
14561
14562 * alloc.c: Add comments throughout the file.
14563
2503c8b1
GM
14564 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14565 that unblocks alarms.
14566
8389e1e2
GM
14567 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14568 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14569 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14570
10689a01 14571 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14572
bfc17d18
KH
145732000-02-17 Kenichi Handa <handa@etl.go.jp>
14574
4a09dee0
KH
14575 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14576 avoid infinite error signaling. Allocate sufficient memory for
14577 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14578
2b927d02
SM
145792000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14580
14581 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14582 depends on the previous behavior.
14583
b49cb764
GM
145842000-02-16 Gerd Moellmann <gerd@gnu.org>
14585
14586 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14587
99e95407
GM
145882000-02-15 Gerd Moellmann <gerd@gnu.org>
14589
14590 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14591
14592 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14593 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14594 write(2).
14595
6ffd3cf7
RS
145962000-02-15 Richard M. Stallman <rms@gnu.org>
14597
14598 * data.c (set_internal): Don't make variable buffer-local
14599 if within a let-binding for the same buffer.
14600 (let_shadows_buffer_binding_p): New function.
14601
14602 * eval.c (specbind): For buffer-local value,
14603 record the current buffer also.
14604 (unbind_to): Cope with that change.
14605
cad53475
GM
146062000-02-15 Gerd Moellmann <gerd@gnu.org>
14607
14608 * window.c (Fsave_window_excursion): Doc fix.
14609
1aa963c8
SM
146102000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14611
14612 * syntax.c (back_comment): Make sure we only consider comment-starters
14613 of the relevant style and return -1 in case of a failure to find the
14614 beginning of the comment.
14615 (Fforward_comment): If back_comment fails, go back to the position just
14616 after the comment-end.
14617 (scan_lists): Add comment describing a very minor bug.
14618
b9b84fd3
SM
146192000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14620
14621 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14622 `completion-regexp-list' in the docstring.
14623
3a28db80
DL
146242000-02-14 Dave Love <fx@gnu.org>
14625
14626 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14627
fb4a568d
SM
146282000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14629
14630 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14631 to Emacs' syntax. Also fix the comment about set/not-set meanings
14632 since Emacs syntax is not the value 0 any more.
14633 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14634 since it's now part of RE_SYNTAX_EMACS.
14635
1063ebb5
DL
146362000-02-12 Dave Love <fx@gnu.org>
14637
52283633 14638 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14639
fb07a302
GM
146402000-02-12 Gerd Moellmann <gerd@gnu.org>
14641
14642 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14643
aaf2320c
DL
146442000-02-12 Dave Love <fx@gnu.org>
14645
14646 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14647
14648 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14649 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14650 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14651
14652 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14653
14654 * s/nextstep.h: Don't define HAVE_ALLOCA.
14655
14656 * config.in: Add vfork bits.
14657
eedf8bde
GM
146582000-02-12 Gerd Moellmann <gerd@gnu.org>
14659
14660 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14661 unwind function to undo the effect of stopping atimers.
14662
52283633 14663 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14664
14665 * atimer.c (stopped_atimers): New variable.
14666 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14667 New functions.
14668
14669 * atimer.h (stop_other_atimers, run_all_atimers)
14670 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14671
eedf8bde
GM
14672 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14673
8476c2f8
KR
146742000-02-11 Ken Raeburn <raeburn@gnu.org>
14675
14676 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14677 library may depend on jpeg.
14678 (atimer.o): Depends on atimer.c.
14679
0e85e4a3
KH
146802000-02-11 Kenichi Handa <handa@etl.go.jp>
14681
14682 * insdel.c (del_range_1): Call update_compositions.
14683 (del_range_both): Call update_compositions just once..
14684
97fa0cc8
DL
146852000-02-10 Dave Love <fx@gnu.org>
14686
14687 * xfns.c (create_frame_xic): Fix initialization of automatic
14688 aggregates for pcc.
14689
25566a3c
KH
146902000-02-09 Kenichi Handa <handa@etl.go.jp>
14691
14692 * ccl.c (CCL_MAKE_CHAR): New macro.
14693 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14694 registers by CCL_MAKE_CHAR before calling translate_char.
14695 <CCL_TranslateCharacterConstTbl> Likewise.
14696
69da54ba
DL
146972000-02-08 Dave Love <fx@gnu.org>
14698
14699 * lread.c (__EXTENSIONS__): Define.
14700
f7136ee8
GM
147012000-02-08 Gerd Moellmann <gerd@gnu.org>
14702
14703 * puresize.h (BASE_PURESIZE): Increase to 650000.
14704
7768790b
EZ
147052000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14706
14707 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14708 the help message.
14709
38fd211b
EZ
147102000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14711
14712 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14713 md, mh, mb, mr, and me to the fake termcap entry.
14714
66e4690f
KR
147152000-02-06 Ken Raeburn <raeburn@gnu.org>
14716
14717 * sound.c (sound_cleanup): Don't call device close routine if the
14718 function pointer is null.
14719
a75dfea0
AI
147202000-02-06 Andrew Innes <andrewi@gnu.org>
14721
14722 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14723 around image definitions and prototypes.
14724 (gamma_correct) [WINDOWSNT]: New prototype.
14725
14726 * w32term.c (x_make_frame_visible): Replace call to
14727 input_poll_signal with poll_for_input.
14728
14729 * window.c [WINDOWSNT]: Include w32term.h.
14730
14731 * xdisp.c [WINDOWSNT]: Include w32term.h.
14732
14733 * makefile.nt: Add dependencies on w32gui.h.
14734 (OBJ1): Include atimer.obj.
14735 ($(BLD)\atimer.obj): New dependency rule.
14736
14737 * w32.c (sigmask): New function (does nothing).
14738 (sigunblock): Ditto.
14739
14740 * frame.c [WINDOWSNT]: Include w32term.h.
14741
14742 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14743
14744 * lread.c (syms_of_lread): Fix literal newlines.
14745
14746 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14747 the string constant limit (2048 bytes) in MSVC.
14748 (main): Ditto.
14749
59ddecde
GM
147502000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14751
52283633 14752 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14753 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14754 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14755 dispatch the event.
14756
07590973
DL
147572000-02-04 Dave Love <fx@gnu.org>
14758
14759 * fileio.c: Remove some unused vars.
14760 (_GNU_SOURCE): Define (for euidaccess).
14761
14762 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14763
14764 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14765 gcpro1, gcpro2.
14766 (read_minibuf): Deal with allow_props correctly.
14767
649351f9
EZ
147682000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14769
14770 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14771
66e4690f 147722000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14773
14774 * search.c (compile_pattern): If a cache entry has a nil regexp,
14775 fill in that entry instead of clobbering a previously cached
14776 string regexp.
14777
66e4690f 147782000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14779
14780 * puresize.h (BASE_PURESIZE): Increase to 610000.
14781
d240a249
GM
147822000-02-02 Gerd Moellmann <gerd@gnu.org>
14783
14784 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14785 can GC.
14786
ca91fb26
KH
147872000-02-02 Kenichi Handa <handa@etl.go.jp>
14788
25660570
KH
14789 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14790 instead of incrementing ic directly.
14791 <CCL_WriteExprConst> Likewise.
14792 <ccl_set_expr>: Set ic to jump_address.
14793
ca91fb26
KH
14794 * fileio.c (e_write): Fix the handling of
14795 CODING_FINISH_INSUFFICIENT_SRC.
14796
2ede9689
DL
147972000-02-01 Dave Love <fx@gnu.org>
14798
14799 * editfns.c (Fpropertize): Doc fix.
14800
14801 * process.c (Fstart_process): Doc fix.
14802
14803 * eval.c: Fix various doc strings not to duplicate information
14804 from help-manyarg-func-alist.
14805
52283633 14806 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14807
14808 * doc.c (Vhelp_manyarg_func_alist): New variable.
14809 (Fdocumentation): Use it.
14810 (syms_of_doc): Define it.
14811
b6680a0e
GM
148122000-01-31 Gerd Moellmann <gerd@gnu.org>
14813
2cb750ba
GM
14814 * xterm.c (xim_open_dpy): Remove unused local variable.
14815
52283633 14816 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14817
14818 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14819 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14820
b6680a0e
GM
14821 * fns.c (sweep_weak_table): New function.
14822 (sweep_weak_hash_tables): Use it. Keep on marking until there
14823 is no more change.
14824
994c5afe
GM
148252000-01-30 Gerd Moellmann <gerd@gnu.org>
14826
14827 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14828 that XTread_socket does not crash by trying to call XNoOp on a
14829 closed display.
427ec082 14830
f00276e3
JR
148312000-01-30 Jason Rumney <jasonr@gnu.org>
14832
14833 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14834 Change selected_frame to SELECTED_FRAME ().
14835 (w32_console_mouse_position): Remove #ifndef MULE from around
14836 `insist' parameter.
14837
14838 * makefile.nt: Remove dosfns.obj.
14839
14840 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14841
14842 * w32fns.c (w32_defined_color): Check for valid frame before
14843 applying gamma correction. Eliminate dependency on frame elsewhere.
14844 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14845 (w32_to_x_font): Use resx and resy not height_in and width_in.
14846 (x_to_w32_font): Doc fix.
14847 (xlfd_strip_height): New function to strip and return font height.
14848 (w32_font_match): Compare height separately from rest of xlfd
14849 spec, using xlfd_strip_height.
14850
14851 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14852 width_in. Use w32_defined_color in place of defined_color.
14853
14854 * w32faces.c: Merge more of DOS and X specifics in preparation for
14855 merge with xfaces.c.
14856 (defined_color): Remove FIXME comment.
14857 (tty_color_name): Provide w32-specific function.
14858 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14859
14860 * w32console.c (turn_on_face, turn_off_face): Removed.
14861 (w32_face_attributes): New function.
14862 (Global_variables): Reduce scope where possible.
14863 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14864 fill attribute.
14865 (hl_mode): Don't modify text attributes.
14866 (write_glyphs): Don't do anything if len <= 0. Use
14867 w32_face_attributes to get attributes for drawing. Write
14868 terminating codes using char_attr_normal.
14869 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14870 (update_begin, update_end): Likewise.
14871 (vga_stdcolor_name): New function.
14872 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14873 (Fset_screen_color): Remove char_attr_reverse.
14874
b08e8bb2
GM
148752000-01-29 Gerd Moellmann <gerd@gnu.org>
14876
14877 * xfns.c (xic_set_preeditarea): Take window parameter and
14878 window-relative pixel-positions.
14879
14880 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14881 is its frame's selected window.
14882 (xim_instantiate_callback): Likewise.
14883
14884 * xfns.c (x_create_im): Removed.
14885 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14886 (supported_xim_styles): Renamed from supported_styles.
14887 (best_xim_style): Renamed from best_style.
14888 (create_frame_xic): Renamed from xic_create_frame.
14889 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14890
b08e8bb2
GM
148912000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14892
14893 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14894 our frames, call XFilterEvent with 2nd parameter `None'.
14895 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14896 returning XBufferOverflow.
52283633 14897 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14898 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14899 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14900 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14901 (xim_initialize, xim_close)
14902 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14903 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14904 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14905 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14906
14907 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14908 and `xim_styles'.
14909 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14910 `xic_style' and `xic_xfs'.
14911 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14912 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14913 (FRAME_XIM): Removed.
14914
14915 * xfns.c (supported_styles): New variable.
14916 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14917 (xic_create_xfontset, best_style, xic_create_frame)
14918 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14919 (xic_set_xfontset): New functions.
14920
142e109c
DL
149212000-01-28 Dave Love <fx@gnu.org>
14922
14923 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14924
14925 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14926
b02786f9
GM
149272000-01-28 Gerd Moellmann <gerd@gnu.org>
14928
d060bc9f
GM
14929 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14930 for *scratch* if it already existed.
14931
b02786f9
GM
14932 * emacs.c (USAGE): New macro.
14933 (main): Use it to display usage information.
14934
2c52d7e4
EZ
149352000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14936
14937 Support for the menu-help feature:
14938
52283633 14939 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14940
14941 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14942 part of the line to the termscript file.
14943 (IT_clear_to_end): Clear the entire line, not just its beginning.
14944 (menu_help_message, prev_menu_help_message): New variables.
14945 (IT_menu_make_room): Make room for the help_text member.
14946 (IT_menu_display): New argument disp_help; all callers changed.
14947 If disp_help is non-zero, store the help text of the active menu
14948 item in menu_help_message.
14949 (XMenuAddPane): Initialize the help_text member to NULL.
14950 (XMenuAddSelection): New argument help_text. Store it in the
14951 XMenu structure.
14952 (XMenuActivate): New argument help_callback. If the value of
14953 menu_help_message has changed since the last time, display the
14954 menu help message text while waiting for the mouse to move. Clear
14955 the echo area before exiting.
14956 (XMenuDestroy): Free the help_text member.
14957
ffe0bcd1
GM
149582000-01-27 Gerd Moellmann <gerd@gnu.org>
14959
14960 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14961 XMenuAddSelection. Pass help callback to XMenuActivate.
14962 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14963
50dbd23f
EZ
149642000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14965
14966 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14967 and EMACS_SET_USECS.
14968
f5941bf8
GM
149692000-01-26 Dave Love <fx@gnu.org>
14970
6c67ddee
DL
14971 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14972
f5941bf8
GM
14973 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14974 an error may be signalled.
14975
9e49c990
GM
149762000-01-26 Gerd Moellmann <gerd@gnu.org>
14977
fc3cb460
GM
14978 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14979 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14980
9e49c990
GM
14981 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14982
d0c037d8
GM
149832000-01-25 Gerd Moellmann <gerd@gnu.org>
14984
14985 * charset.c (Fstring): If there is a multibyte char among
14986 the args, always return a multibyte string.
14987
e12489f9
GM
149882000-01-25 Gerd Moellmann <gerd@gnu.org>
14989
14990 * sysdep.c (sys_select): Turn atimers off and on instead of
14991 recording and restoring old alarm handler
14992
14993 * process.c (toplevel): Include atimer.h.
14994 (create_process_1): Rewritten.
14995 (create_process): Use atimers instead of alarm.
14996 (wait_reading_process_input) [hpux]: Turn atimers off instead
14997 of turning off SIGALRM.
14998 (wait_reading_process_input): Turn off atimers instead off
14999 calling stop_polling.
15000
15001 * emacs.c (main): Call init_atimer.
15002
15003 * keyboard.c (toplevel): Include systime.h and atimer.h.
15004 (polling_for_input): Removed because unused.
15005 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
15006 (poll_timer): New variable.
15007 (poll_for_input, poll_for_input_1): New functions.
15008 (start_polling, stop_polling): Rewritten.
15009
15010 * keyboard.h (polling_for_input): Removed.
427ec082 15011
e12489f9
GM
15012 * atimer.h, atimer.c: New files.
15013
15014 * Makefile.in (obj): Add atimer.o.
15015 (atimer.o): New target.
15016
15017 * blockinput.h (pending_atimers): Add extern declaration.
15018 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
15019
15020 * lisp.h (popup_activated_flag): Add extern declaration.
15021
15022 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 15023 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
15024 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
15025
15026 * xterm.c (toplevel): Include atimer.h.
15027 (toolkit_scroll_bar_interaction): New variable.
15028 (Fxt_process_timeouts): Removed.
15029 (x_process_timeouts): New function.
15030 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
15031 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
15032 (x_make_frame_visible): Call poll_for_input_1 instead of
15033 input_poll_signal. Don't call alarm.
15034 (x_initialize): Install timer calling x_process_timeouts.
427ec082 15035
1e5279b9
DL
150362000-01-24 Dave Love <fx@gnu.org>
15037
6c67ddee 15038 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
15039 Don't use -cckr -- apparently not now necessary.
15040
edf6aeb8
EZ
150412000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
15042
15043 * msdos.c (IT_menu_display): Truncate long menu lines at the right
15044 screen boundary.
15045
9badad41
JR
150462000-01-23 Jason Rumney <jasonr@gnu.org>
15047
15048 * w32fns.c (w32_defined_color): Apply gamma correction before
15049 trying to map to the palette.
15050 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
15051 to w32_clear_rect.
15052
15053 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
15054 here. Callers changed to always pass real device context.
15055 (w32_draw_bitmap): Likewise.
15056 (w32_get_glyph_overhangs): Likewise.
52283633 15057 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
15058 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
15059 pfnSetScrollInfo and SetScrollRange.
15060 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
15061 back into MULE characters after decoding them.
15062 (x_get_glyph_face_and_encoding): Likewise.
15063 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
15064 GetCharABCWidthsW fails, since this is defined on Windows 9x.
15065 (x_produce_glyphs): Calculate per char metrics for a character
15066 that we know exists in default font when font_not_found_p is true.
15067
63bd786b
JR
150682000-01-22 Jason Rumney <jasonr@gnu.org>
15069
15070 * makefile.nt (intervals.obj, composite.obj): New modules.
15071 (composite.h): Added as dependency where appropriate.
15072
15073 * w32gui.h (XGCValue): New struct for emulating X GCs.
15074
15075 * w32term.h (XCharStruct): New struct for emulating X.
15076
15077 * w32console.c (turn_on_face, turn_off_face): New functions.
15078 (change_line_highlight): New prototype for new redisplay.
15079 (write_glyphs): Support multibyte text. Support faces.
15080
52283633 15081 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
15082
15083 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
15084 throughout. struct frame * in place of FRAME_PTR.
15085 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 15086 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
15087 (w32_get_arg): Renamed from x_get_arg.
15088 (Fx_file_dialog): New function.
15089 (w32_list_fonts): Check cache before asking system.
15090 (Vw32_enable_synthesized_fonts): New variable.
15091 (Vw32_enable_italics): Obsolete, removed.
15092
15093 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15094 Use SELECTED_FRAME macro.
15095
15096 * w32menu.c: Add skeleton support for help strings on menus.
15097 (add_menu_item): Native checkbox and radio support added, but not
15098 yet enabled due to bugs.
15099 (push_menu_item): Add parameters type, selection and help.
15100 Callers updated.
15101 Formatting changes to reduce unnecessary diffs with xmenu.c.
15102
15103 * w32select.c (Fw32_set_clipboard_data): Update call to
15104 find_charset_in_str.
15105
15106 * w32term.c: Complete rewrite for new redisplay based on new
15107 xterm.c with necessary sections merged back in from old w32term.c.
15108
6ffd3cf7 151092000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
15110
15111 * data.c (set_internal): Further fix in same criterion.
15112
6ffd3cf7 151132000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
15114
15115 * data.c (set_internal): Fix the criteria for whether
15116 to swap out the old cached binding.
15117
60af03f1
DL
151182000-01-19 Dave Love <fx@gnu.org>
15119
15120 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15121
f9be074f
KH
151222000-01-18 Kenichi Handa <handa@etl.go.jp>
15123
15124 * regex.c (re_compile_fastmap): While checking a range table for
15125 `charset', skip flag bits for a character class correctly.
15126
52b8dbf9
GM
151272000-01-17 Gerd Moellmann <gerd@gnu.org>
15128
d36100c9
GM
15129 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15130
52283633 15131 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
15132
15133 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 15134 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15135
15136 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15137 MENU_ITEMS_ITEM_.*.
15138 (MENU_ITEMS_ITEM_HELP): New enumerator.
15139 (push_menu_item): Add parameter HELP. Record help in menu_items.
15140 (single_menu_item, single_submenu, list_of_items): Call
15141 push_menu_item with new parameter.
15142 (single_submenu): Set help string in widget value.
15143 (menu_highlight_callback): New function.
15144 (set_frame_menubar): Call lw_create_widget with new
15145 parameter list.
15146 (xmenu_show, xdialog_show): Ditto.
15147
3139018f
GM
151482000-01-13 Gerd Moellmann <gerd@gnu.org>
15149
15150 * sound.c (Fplay_sound): Improve doc string.
15151
83c8f461
RS
151522000-01-11 Richard M. Stallman <rms@gnu.org>
15153
15154 * lisp.h (set_internal): Enter the new arg.
15155
15156 * eval.c (specbind): Record buffer-local variables specially,
15157 indicating which buffer's binding was saved.
15158 (unbind_to): Restore buffer-local variables specially
15159 in the proper buffer.
15160
15161 * data.c (set_internal): New arg BUF.
427ec082 15162
83c8f461
RS
15163 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15164 * data.c (Fset): Pass new arg to set_internal.
15165 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15166
1fab1775
GM
151672000-01-11 Gerd Moellmann <gerd@gnu.org>
15168
52283633 15169 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15170
83c8f461 151712000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15172
15173 * minibuf.c (Ftry_completion): Doc fix.
15174
7a85e4df
GM
151752000-01-11 Gerd Moellmann <gerd@gnu.org>
15176
15177 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15178 vector, too.
15179
a970dae4
AS
151802000-01-11 Andreas Schwab <schwab@suse.de>
15181
15182 * coding.c (code_convert_region): Initialize total_skip.
15183
c65d14ee
DL
151842000-01-08 Dave Love <fx@gnu.org>
15185
15186 * eval.c (Fuser_variable_p): Check customizability too.
15187
834938d2
GM
151882000-01-07 Gerd Moellmann <gerd@gnu.org>
15189
15190 * minibuf.c (Fcompleting_read): Doc fix.
15191
e0303cd6
GM
151922000-01-05 Gerd Moellmann <gerd@gnu.org>
15193
8a26744b
GM
15194 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15195 -L /usr/local/lib.
15196
e0303cd6
GM
15197 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15198 Check that input style is supported before trying to create an
15199 IC for it.
15200 (x_window): Call x_create_im.
427ec082 15201
2e471eb5
GM
152022000-01-04 Gerd Moellmann <gerd@gnu.org>
15203
560a7bd2
GM
15204 * xfns.c (current_gif_memory_src): New variable.
15205 (gif_load): Record the address of the current memory source
15206 in current_gif_memory_src.
15207 (gif_read_from_memory): Use current_gif_memory_src.
15208
f9ee84a3
GM
15209 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15210 macros statement form.
15211
d1299cde
GM
15212 * sound.c (struct sound): Renamed from struct sound_file.
15213 (struct sound): Add members `data' and `header_size'.
15214 (enum sound_attr): Add SOUND_DATA.
15215 (current_sound, current_sound_device): Variables renamed from
15216 sound_file and sound_device.
15217 (parse_sound): Parse :data.
15218 (parse_sound): Handle sound data in strings.
15219 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15220 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15221 needed header size.
15222 (wav_play, au_play): Play sounds from string data.
15223
2e471eb5
GM
15224 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15225
15226 * lisp.h: Add prototype for allocate_string_data.
15227
52283633 15228 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15229
15230 * alloc.c (mark_buffer): Remove code in #if 0.
15231 (gc_sweep): Ditto.
15232 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15233 (strings_consed): New variable.
15234 (allocate_string): Set it.
15235 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15236 (Fmemory_use_counts): Return strings_consed. Use Flist.
15237
15238 * alloc.c: General cleanup in comments etc. Remove conditional
15239 compilation for `standalone'.
15240
15241 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15242
15243 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15244 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15245 (DONT_COPY_FLAG): Removed.
15246 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15247 (struct sdata, struct sblock): New
15248 (struct string_block): Rewritten.
15249 (STRINGS_IN_STRING_BLOCK): New macro.
15250 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15251 (large_sblocks, string_blocks, string_free_list): New variables.
15252 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15253 (init_strings): Rewritten.
15254 (allocate_string, allocate_string_data, compact_small_strings)
15255 (free_large_strings, sweep_strings): New functions.
15256 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15257 (struct string_block_head, current_string_block)
15258 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15259 (STRING_PAD): Removed.
15260 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15261 (Fgarbage_collect): Don't set mark bit in large strings.
15262 (mark_object): Mark strings differently. Mark symbol names
15263 differently.
15264 (survives_gc_p): Test marked strings differently.
427ec082 15265 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15266 symbol names.
15267 (compact_strings): Removed.
15268
42608ba8
EZ
152692000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15270
15271 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15272 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15273
e0a09e1a
KH
152742000-01-04 Kenichi Handa <handa@etl.go.jp>
15275
dd9f0750 15276 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15277 in a non-empty buffer.
dd9f0750 15278
3c0f3b15 15279 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15280
44cd3ae5
GM
152812000-01-03 Gerd Moellmann <gerd@gnu.org>
15282
15283 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15284 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15285
15286 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15287
c182a70f
EZ
152882000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15289
15290 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15291 need to test for MSDOS frames.
15292
24480d5b
EZ
152932000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15294
15295 * dosfns.c (unspecified_colors): Remove.
15296 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15297 unspecified_bg.
15298 (msdos_stdcolor_name): Return strings for unspecified fore- and
15299 back-ground colors.
15300
15301 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15302 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15303 (tty_color_name): Return Lisp strings for unspecified fore- and
15304 back-ground colors.
15305 (Finternal_set_lisp_face_attribute): Remove the special treatment
15306 for Qunspecified_{f,b}g.
52283633 15307 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15308
047f434a
GM
153092000-01-03 Gerd Moellmann <gerd@gnu.org>
15310
15311 * xdisp.c (reseat_at_next_visible_line_start): Position before
15312 newline only if ending up on a newline.
15313 (next_element_from_ellipsis): Return success. Handle case of
52283633 15314 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15315 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15316 returns 0.
15317
d684c676
EZ
153182000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15319
15320 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15321 (Fcolor_supported_p): Renamed from face-color-supported-p.
15322
5fe1d139
EZ
153232000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15324
15325 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15326 list of colors renamed to tty-defined-color-alist.
15327 (tty_color_name): Pass the frame to tty-color-by-index.
15328 (realize_tty_face): tty-color-alist is now a function which
15329 accepts the frame as argument.
15330
52283633 15331 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15332
816be8b8
EZ
153332000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15334
15335 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15336 encode_terminal_code.
15337
b635321e
EZ
153382000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15339
15340 * dispnew.c (mode_line_string): Support termcap frames as well.
15341
9b784e96
GM
153422000-01-01 Gerd Moellmann <gerd@gnu.org>
15343
27189709
GM
15344 * syntax.c (Fforward_word): Undo previous change.
15345
15346 * editfns.c (Fconstrain_to_field): Don't constrain if
15347 inhibit-field-text-motion is non-nil.
15348 (Fline_beginning_position): Undo previous change.
15349 (Fline_end_position): Ditto.
15350
15351 * syntax.c (Fforward_word): Notice field boundaries only if
15352 inhibit-field-text-motion is nil.
15353
15354 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15355
15356 * editfns.c (Vinhibit_field_text_motion): New variable.
15357 (inhibit-field-text-motion): New DEFVAR_LISP.
15358 (Fline_beginning_position, Fline_end_position): Notice field
15359 boundaries only if inhibit-field-text-motion is nil.
15360
45158a91
GM
15361 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15362 All calls adjusted.
15363 (x_build_heuristic_mask): Likewise.
15364 (xbm_load_image_from_file): Change error output.
15365 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15366 (gif_load, gs_load, x_kill_gs_process): Ditto.
15367
9b784e96
GM
15368 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15369 color indices when accessing raster pixels.
63cec32f
GM
15370 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15371 one of :file or :data.
15372 (enum pbm_keyword_index): Add PBM_DATA.
15373 (pbm_format): Add :data.
15374 (pbm_image_p): Allow either :file or :data.
15375 (pbm_read_file): New function.
15376 (pbm_scan_number): Rewritten to read from string.
15377 (pbm_load): Support :data.
9b784e96 15378
2cb085db 15379See ChangeLog.8 for earlier changes.
6922b018
KH
15380
15381;; Local Variables:
49b3bd82 15382;; coding: iso-2022-7bit
6922b018 15383;; End:
2a34a036
GM
15384
15385 Copyright (C) 2001 Free Software Foundation, Inc.
15386 Copying and distribution of this file, with or without modification,
15387 are permitted provided the copyright notice and this notice are preserved.