(max_specpdl_size, max_lisp_eval_depth): Define as int,
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1996baee
RS
12002-01-01 Richard M. Stallman <rms@gnu.org>
2
3 * print.c (print_object): Test print_escape_nonascii only for
4 unibyte strings.
5 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
6 when outputting to a multibyte buffer.
7
0065bb74
RS
82001-12-29 Richard M. Stallman <rms@gnu.org>
9
10 * print.c (print_object): In multibyte string, use hex escapes.
11 Use octal only for unibyte strings.
12 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
13
14 * lread.c (read_escape): New arg BYTEREP for reporting whether
15 escape forces unibyte or multibyte.
16 (read1): When reading a string, take note of that info.
17
b5cb6072
KR
182001-12-29 Ken Raeburn <raeburn@gnu.org>
19
20 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
21 comparison to test lisp value returned by Fget.
22
15fff01d
RS
232001-12-29 Richard M. Stallman <rms@gnu.org>
24
0065bb74
RS
25 * lisp.h (max_specpdl_size): Add declaration.
26
0d8466cc
RS
27 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
28
15fff01d
RS
29 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
30 Handle modifier bits. Correct typo in error message.
31
2fae9111
RS
322001-12-28 Richard M. Stallman <rms@gnu.org>
33
2d6c1fc0
RS
34 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
35 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
36 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
37 Update calls to Fdefine_abbrev.
38 (write_abbrev): Update for changed data format.
39 Don't list "system" abbrevs.
40 (Fexpand_abbrev): Update use count with new data format.
41 (describe_abbrev): Update for changed data format.
42 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
43
07025a55
RS
44 * config.in (HAVE_MBSINIT): Add #undef.
45
46 * strftime.c (mbsinit): Define as no-op if not available.
47
48 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
49 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
50
ce6eef6e
RS
51 * keymap.c (Flookup_key): Error message if key has wrong data type.
52 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
ade19cac
RS
53 (exclude_key): New variable.
54
539e92ad
GM
552001-12-28 Gerd Moellmann <gerd@gnu.org>
56
0cb8bb48
GM
57 * xterm.c (x_setup_relief_colors): Don't compute an image's
58 background color if it doesn't have a Pixmap.
59
60626bab
GM
60 * xterm.c (notice_overwritten_cursor): Don't depend on
61 output_cursor and updated_area. Compare pixel coordinates with
62 window's cursor pixel coordinates.
63 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
64 notice_overwritten_cursor with new arg list.
65 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
66 unconditionally.
0cb8bb48 67
539e92ad
GM
68 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
69 height of the cursor line to the amount to scroll.
70
4e02881b
RS
712001-12-27 Richard M. Stallman <rms@gnu.org>
72
73 * intervals.c (set_point_both): The position after an invisible,
74 intangible character is not an acceptable stopping point.
75
1ab964d7
KR
762001-12-27 Ken Raeburn <raeburn@gnu.org>
77
78 * window.c (enlarge_window): In new preserve_before code, convert
79 CURBEG from lisp object to integer before doing arithmetic.
80
749f499f
RS
812001-12-27 Richard M. Stallman <rms@gnu.org>
82
83 * bytecode.c (Fbyte_code): Undo previous change.
84
b5d9aaba
KS
852001-12-26 Kim F. Storm <storm@cua.dk>
86
87 * keyboard.c (record_char): Ignore duplicate help-echo events only
88 separated by mouse-movement. When tracking mouse, only record
89 first and last mouse-movement event in same window.
90 Don't record mouse-movement events in keyboard macros.
91
d0fd26dd
RS
922001-12-25 Richard M. Stallman <rms@gnu.org>
93
b4c45162
RS
94 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
95 (Fenlarge_window): New arg PRESERVE_BEFORE.
96
d0fd26dd
RS
97 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
98 instead of Fstring_as_unibyte.
99
c95eaa61
PJ
1002001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
101
102 The following changes remove mocklisp support:
103
104 * mocklisp.h, mocklisp.c: Files removed.
105
106 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
107 `Qmocklisp' and `Qmocklisp_arguments'.
108 Remove prototype of syms_of_mocklisp.
109
110 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
111 files.
112
113 * callint.c: Do not include mocklisp.h.
114 (Fcall_interactively): Do not test for mocklisp case.
115
116 * eval.c: Remove variables `Qmocklisp_arguments',
117 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
118 ml_apply.
119 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
120 not test for mocklisp case.
121 (Fwhile): Remove unused variable `tem'.
122 (syms_of_eval): Remove variable `moclisp-arguments'.
123
124 * data.c (wrong_type_argument): Remove mocklisp case.
125
126 * doc.c (Fdocumentation): Remove mocklisp case.
127
128 * emacs.c (main): Do not call syms_of_mocklisp.
129
31877e0a
RS
1302001-12-21 Richard M. Stallman <rms@gnu.org>
131
132 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
133 to the left or to the right of the pointer, put it against
134 the left screen edge.
135
e2c3786a
EZ
1362001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
137
138 * Makefile.in (distclean): Remove .gdbinit if we are building
139 outside the source tree.
140
c513fc03
EZ
1412001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
142
bf794306
EZ
143 * w32.c (emacs_root_dir): New function.
144
145 * msdos.c (emacs_root_dir): New function.
146
147 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
148 of the current drive as the fallback for default_directory.
149
62582985
EZ
150 * dired.c (file_name_completion): Run the elements of
151 completion-ignored-extensions through ENCODE_FILE.
152
c513fc03
EZ
153 * lisp.h (scmp): Remove prototype, since it's now a static
154 function private to dired.c.
155
3509a04c
RS
1562001-12-18 Richard M. Stallman <rms@gnu.org>
157
158 * dired.c (scmp): Function moved from minibuf.c.
159 Delete multibyte handling--used only on encoded strings.
160
161 * minibuf.c (scmp): Function moved to dired.c.
162
163 * fns.c (merge): Add QUIT call.
164
1e9a6186
DL
1652001-12-18 Dave Love <fx@gnu.org>
166
167 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
168 language/georgian.el.
169
e4e34e31
EZ
1702001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
171
172 * Makefile.in (lisp, shortlisp): Synchronize with changes to
173 lisp/Makefile.in:DONTCOMPILE.
174
4521d1fc
PJ
1752001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
176
7c75be36
PJ
177 * xdisp.c (window_box_height): Do not return negative values.
178 From Gerd Moellmann <gerd@gnu.org>.
179
4521d1fc
PJ
180 * keyboard.c (head_table): Add missing braces around initializer.
181
182 * term.c (keys): Likewise.
183
184 * xfns.c (x_frame_parms, visual_classes): Likewise.
185
93dec019
SS
1862001-12-17 Sam Steingold <sds@gnu.org>
187
188 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
189 patch (COMPOSING_P, not COMPOSING).
190
905cc05a
RS
1912001-12-17 Richard M. Stallman <rms@gnu.org>
192
2ed06289
RS
193 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
194
0e79d667
RS
195 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
196 before calling decode_coding.
197
198 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
199
200 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
201 instead of only for COMPOSITION_DISABLED.
202
82a7ab23
RS
2032001-12-16 Richard M. Stallman <rms@gnu.org>
204
d75bec6a
RS
205 * alloc.c (pure_alloc): After overflow, allocate just a small block.
206
52dcb476
RS
207 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
208
82a7ab23
RS
209 * buffer.h (struct buffer): New field `display_error_modiff'.
210 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
211
212 * window.c (Frecenter): Clear display_error_modiff field.
213
214 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
215 Call redisplay_window, but not if display_error_modiff field says no.
216 (redisplay_window_error): New function.
217 (displayed_buffer): New variable.
218 (redisplay_internal, redisplay_windows): Call the new functions
219 instead of redisplay_window directly.
220
4d0fa4f3
RS
2212001-12-15 Richard M. Stallman <rms@gnu.org>
222
223 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
224
493faf20
AI
2252001-12-14 Andrew Innes <andrewi@gnu.org>
226
325111e9
AI
227 * makefile.w32-in (EMACSLOADPATH): Define.
228 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
229 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 230
4971e491
EZ
2312001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
232
397b3b50 233 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
234 parameter have a numeric value all the time.
235
236 * w32fns.c (x_report_frame_params): Likewise.
237
d911a0fa
RS
2382001-12-12 Richard M. Stallman <rms@gnu.org>
239
240 * fileio.c (Fwrite_region): Doc fix.
241
242 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
243 (redisplay_internal): Call clear_image_cache only for window terminals.
244
201c831a
GM
2452001-12-12 Gerd Moellmann <gerd@gnu.org>
246
247 * xdisp.c (move_it_vertically_backward): Change heuristic
248 for the case that we didn't move far enough initially.
249
250 * window.c (Frecenter): Simplify computation in the case of window
251 system frames and ARG < 0; use window_box_height.
252
34e39c95
RS
2532001-12-11 Richard M. Stallman <rms@gnu.org>
254
255 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
256 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
257
d77fbc16
AI
2582001-12-11 Andrew Innes <andrewi@gnu.org>
259
260 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
261 arg is negative.
262
61e3b944
RS
2632001-12-11 Richard M. Stallman <rms@gnu.org>
264
265 * m/hp800.h: Split the __hpux conditional into the parts
266 that are right for GNU/Linux too and the parts that are not.
267 Use the former if GNU_LINUX.
268 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
269
270 * s/gnu-linux.h (GNU_LINUX): Defined.
271
70da46c3
PJ
2722001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
273
274 * macros.c, msdos.c, w16select.c: Change doc-string comments to
275 `new style' [w/`doc:' keyword].
276
8af01033
JR
2772001-12-10 Jason Rumney <jasonr@gnu.org>
278
279 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
280 before using.
281
7363986a
PJ
2822001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
283
284 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
285 keyword].
286
d9e6c4b1
EZ
2872001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
288
d20fc48a
EZ
289 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
290
d9e6c4b1
EZ
291 * s/hpux10.h (srand48): Don't undefine.
292
f1a85b89
JR
2932001-12-09 Jason Rumney <jasonr@gnu.org>
294
295 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
296 comment to explain where the struct came from.
297 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
298 (add_menu_item): Process pop-up menus first to avoid memory leak.
299 (add_menu_item, w32_menu_display_help): Use `help' field as
300 Lisp_Object.
301 (w32_free_submenu_strings): Only free owner-drawn strings.
302
3a62677f
PJ
3032001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
304
72244db2
PJ
305 * COPYING: Moved back.
306
3a62677f
PJ
307 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
308 Add parentheses around && within ||.
309
310 * indent.c (compute_motion): Likewise.
311
312 * intervals.c (merge_properties_sticky): Likewise.
313
314 * coding.c (setup_coding_system, shrink_encoding_region)
315 (Fdecode_sjis_char): Likewise.
316
9d113d9d
AS
3172001-12-07 Andreas Schwab <schwab@suse.de>
318
b8523839
AS
319 * xdisp.c (display_mode_element): Don't read past end of string if
320 it ends with '%'.
321
9464dea4
AS
322 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
323 can hold.
324
9d113d9d
AS
325 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
326 from most_positive_fixnum and most_negative_fixnum, resp., and
327 type changed to Lisp_Object.
328 (syms_of_data): DEFVAR_LISP them.
329
70ec1377
RS
3302001-12-07 Richard M. Stallman <rms@gnu.org>
331
332 * callproc.c (init_callproc): Set Vdata_directory based on the source
333 location whenever Emacs was run uninstalled.
334
92f7dd37
PE
3352001-12-06 Paul Eggert <eggert@twinsun.com>
336
337 * config.in (HAVE_WORKING_VFORK): New #undefs.
338 * process.c (create_process):
339 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
340 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
341 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
342 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
343 * m/intel386.h (HAVE_VFORK): Likewise.
344 * m/mips-siemens.h (HAVE_VFORK): Likewise.
345 * m/mips.h (HAVE_VFORK): Likewise.
346 * s/freebsd.h (vfork): Remove #define.
347 * s/lynxos.h (HAVE_VFORK): Remove #undef.
348 * s/usg5-4-2.h: Fix comment about vfork.
349
c93674bb
RS
3502001-12-06 Richard M. Stallman <rms@gnu.org>
351
352 * s/hpux10.h (random): Add undef.
353 (HAVE_RANDOM): Define it just once.
354
59b59892
SM
3552001-12-06 Stefan Monnier <monnier@cs.yale.edu>
356
357 * eval.c: Undo last change: the standard syntax is not wanted.
358
c6ea2775
EZ
3592001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
360
361 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
362 scroll bars of the frame before deleting the frame itself. If the
363 frame has a widget, delete the frame with XtDestroyWidget, and do
364 not call XDestroyWindow before that.
365
91175673
KS
3662001-12-06 Kim F. Storm <storm@cua.dk>
367
368 * xfns.c (x_report_frame_params): Return actual fringe widths.
369
370 * w32fns.c (x_report_frame_params): Return actual fringe widths.
371
e0fead5d
AI
3722001-12-05 Andrew Innes <andrewi@gnu.org>
373
374 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
375 excessively large.
376
377 * insdel.c (make_gap_larger): New function.
378 (make_gap_smaller): New function.
379 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
380 make_gap_smaller if arg is negative.
381
c186cdb3
SM
3822001-12-04 Stefan Monnier <monnier@cs.yale.edu>
383
384 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
385 Pass a dummy argument when calling interrupt_signal.
386 (parse_menu_item): Mark disabled items before checking for empty def.
387 (read_char_minibuf_menu_prompt): Make safety more visible.
388 (read_key_sequence): Add a `first_unbound' variable.
389 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
390 unbound prefix as soon as we can detect it.
391
392 * doc.c (Fsnarf_documentation): Add prototype.
393 (get_doc_string): Handle negative arguments.
394 (Fdocumentation): Use AREF and ASIZE.
395 Move the calls to get_doc_string to a single place.
396 Don't confuse an interactive-spec for a docstring reference.
397 (Fdocumentation_property): Take advantage of the fact that
398 get_doc_string now ignores the sign of the docstring position.
399
400 * eval.c: Use standard syntax for usage in docstrings.
401
58cfce98
PJ
4022001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
403
c186cdb3 404 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 405
62854fe2
PJ
4062001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
407
408 * xterm.c (x_draw_image_relief): Use predefined macro instead of
409 constant when the value of `tool_bar_button_relief' is negative.
410
656f46bb
RS
4112001-12-02 Richard M. Stallman <rms@gnu.org>
412
413 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
414 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
415
416 * fileio.c (read_non_regular): Delete Fsignal call.
417
036e218d
SM
4182001-12-01 Stefan Monnier <monnier@cs.yale.edu>
419
420 * lisp.h (run_hook_list_with_args): Undo last change.
421
7ddb2c16
GM
4222001-12-01 Gerd Moellmann <gerd@gnu.org>
423
424 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
425
ace9b298
JR
4262001-12-01 Jason Rumney <jasonr@gnu.org>
427
90647b07
JR
428 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
429
430 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
431 [!WM_MOUSELEAVE]: Define.
432
ace9b298
JR
433 * w32menu.c (current_popup_menu, get_menu_item_info):
434 (set_menu_item_info): New vars.
435 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
436 (w32_menu_show): Set current_popup_menu.
437 (add_menu_item): Allocate new strings for owner-drawn menu items
438 and help strings.
439 Use owner-draw for disabled menu items again.
440 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
441 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
442
443 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
444 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
445 <WM_EXITMENULOOP>: Free menu strings.
446 <WM_MOUSELEAVE>: Stop tracking mouse.
447 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
448
449 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
450 and mouse face.
451
a9549909 4522001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
453
454 The following changes add left-fringe and right-fringe
455 frame parameters to adjust fringe widths, or remove one or
456 both fringes.
036e218d 457
9fbc32aa
KS
458 * frame.h (struct frame): Remove trunc_area_pixel_width and
459 trunc_area_cols fields.
460 (Qleft_fringe, Qright_fringe): Declare.
461 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
462
463 * frame.c (Qleft_fringe, Qright_fringe): New vars.
464 (syms_of_frame): Initialize them.
465
466 * window.c (coordinates_in_window): Handle separate left and right
467 fringe widths.
468
469 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
470 and fringe_cols fields.
471 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
472 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
473 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
474 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
475 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
476 (x_compute_fringe_widths): Add prototype.
477
478 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
479 fill fringe evenly with small dashes.
480 (x_draw_fringe_bitmap): Clear background if necessary. Align and
481 clip the new ZV bitmap to avoid jitter between rows.
482 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
483 background. Don't draw fringe bitmaps if fringe width is zero.
484 (x_compute_fringe_widths): New function.
485 (x_new_font, x_set_window_size_1): Use it.
486
487 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
488 (x_set_frame_parameters): Process Process `font' parameter before other
489 parameters as fringe widths depend on it.
490 (x_set_fringe_width): New function.
491 (x_figure_window_size): Use x_compute_fringe_widths.
492 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
493 parameters.
494
495 * widget.c (set_frame_size): Use x_compute_fringe_widths.
496 (EmacsFrameSetCharSize): Ditto.
497
498 * w32term.h: Merged changes from xterm.h.
499 * w32term.c: Merged changes from xterm.c.
500 * w32fns.c: Merged changes from xfns.c.
501
0142178a
PJ
5022001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
503
504 * COPYING: Removed.
505
d4824a5d
DL
5062001-11-29 Dave Love <fx@gnu.org>
507
508 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
509 extra extra slot.
510 (detect_coding_mask): Fix call of detect_coding_iso2022.
511
b1356234
PJ
5122001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
513
514 * fileio.c (file-name-coding-system)
515 (default-file-name-coding-system): Doc fix (links to referenced
516 variables added).
517
3ce081f5
SM
5182001-11-28 Stefan Monnier <monnier@cs.yale.edu>
519
99e380ee
SM
520 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
521 Add dummy uses of gcproN variables.
522
3ce081f5 523 * category.c (describe_category, describe_category_1)
2ad56c09 524 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
525 (syms_of_category): Don't defsubr Sdescribe_categories.
526
66458f32
RS
5272001-11-28 Richard M. Stallman <rms@gnu.org>
528
529 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
530
531 * Makefile.in (lispdir): New variable, referring to build dir.
532 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
533
59a86c99
AI
5342001-11-28 Andrew Innes <andrewi@gnu.org>
535
536 * w32menu.c (w32_menu_display_help): Actually add the new argument
537 OWNER.
538
eb77a5f4
JR
5392001-11-28 Jason Rumney <jasonr@gnu.org>
540
541 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
542 menu items. From David Ponce <dponce@wanadoo.fr>.
543 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
544 conditionally.
545 (w32_menu_display_help): New argument OWNER. Rewritten to store a
546 help event in the owner frame's keyboard buffer.
547
548 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
549 (Fx_show_tip): Don't subtract last width from row width.
550
551 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
552 (w32_read_socket): Use EQ to compare frames.
553
bb313871
GM
5542001-11-28 Gerd Moellmann <gerd@gnu.org>
555
556 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
557 OVERLAPS_P.
558
55b43a63
PJ
5592001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
560
6052529b
PJ
561 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
562 `gcpro3' and `gcpro4'.
563
3ce081f5
SM
564 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
565
5662001-11-28 Stefan Monnier <monnier@cs.yale.edu>
567
568 * ccl.c: Use AREF and ASIZE.
569
5702001-11-27 Stefan Monnier <monnier@cs.yale.edu>
571
572 * lisp.h (run_hook_list_with_args): Remove.
573 (LIST_END_P): Fix call to wrong_type_argument.
574 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 575
111ed14e
SM
5762001-11-26 Stefan Monnier <monnier@cs.yale.edu>
577
9fabb2f5
SM
578 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
579 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
580
581 * eval.c: Use AREF and ASIZE.
582 (Ffetch_bytecode): Add the file name to the error message.
583
584 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
585 which match the end of the file-name.
586 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
587 is not a valid env var, but leave it as is instead.
588
111ed14e
SM
589 * keymap.c (access_keymap): Handle t bindings like nil bindings.
590 Make nil bindings in char-tables transparent.
591 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
592
2fa0eedf
RS
5932001-11-26 Richard M. Stallman <rms@gnu.org>
594
d1420435
RS
595 * textprop.c (set_text_properties_1): Allow START, END in either order.
596 Do nothing if range is empty.
597
2fa0eedf
RS
598 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
599
ebcbef4e
RS
600 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
601 (clean): Not here.
602
5c131048
SM
6032001-11-25 Stefan Monnier <monnier@cs.yale.edu>
604
605 * textprop.c (set_text_properties_1): Clearly mark that the
606 interval should not be empty.
607
608 * intervals.c (graft_intervals_into_buffer):
609 Don't call set_text_properties_1 on an empty interval.
610
96d276c3
RS
6112001-11-25 Richard M. Stallman <rms@gnu.org>
612
6108b49c
RS
613 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
614
96d276c3
RS
615 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
616 don't lose the data in it.
617
5eea19a4
RS
6182001-11-25 Juanma Barranquero <lektu@terra.es>
619
620 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
621
622 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
623
624 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
625
438e57dd
SM
6262001-11-25 Stefan Monnier <monnier@cs.yale.edu>
627
628 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
629
c88e5347
EZ
6302001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
631
632 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
633 Niemitalo <kon@iki.fi>.
634
59ce1461
JR
6352001-11-25 Jason Rumney <jasonr@gnu.org>
636
637 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
638
639 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
640 (Fx_show_tip): Block input during frame creation.
641 (Fx_show_tip, Fx_hide_tip): Enable.
642
8727d588
RS
6432001-11-24 Richard M. Stallman <rms@gnu.org>
644
645 * lread.c (Fload): Detect recursive load error for more than 3
646 nestings of the same file.
647 (Vrecursive_load_depth_limit): Variable deleted.
648 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
649
cc63037e
JR
6502001-11-24 Jason Rumney <jasonr@gnu.org>
651
652 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
653 mouse position if either left or top is not specified.
654
655 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
656 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
657 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
658 (my_create_tip_window): Assign tip_window.
659 (x_create_tip_frame): Use same defaults as X.
660 (compute_tip_xy): Remove unused variable. Use full screen width.
661 (Fx_show_tip): Do not double height. Call ShowWindow directly.
662
663 * w32term.c (x_after_update_window_line): Doc fix.
664 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
665 frames.
666 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
667
668 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
669 for all Windowed systems.
670
deece6f5
EZ
6712001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
672
673 * msdos.c (IT_clear_screen): If the frame's faces are not yet
674 realized, use the initial screen colors to clear the screen.
675
1b944d9c
PJ
6762001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
677
28ff4293
PJ
678 * textprop.c (Fset_text_properties): Remove unused variables
679 `unchanged', `prev_changed', `s' and `len'.
680
56167cc5
PJ
681 * search.c (Freplace_match): Remove unused variable `inslen'.
682
1b944d9c
PJ
683 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
684
ca56d953
JR
6852001-11-22 Jason Rumney <jasonr@gnu.org>
686
687 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
688 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
689 (my_create_tip_window): New function.
690 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 691 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 692
33399dce
JR
6932001-11-20 Jason Rumney <jasonr@gnu.org>
694
695 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
696 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
697
698 * w32fns.c (Vw32_system_coding_system): Remove.
699 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
700
9b46de40
SM
7012001-11-19 Stefan Monnier <monnier@cs.yale.edu>
702
6710ea06
SM
703 * fileio.c (Fwrite_region): Move choose_write_coding_system to
704 after build_annotations.
705
a395ef6a
SM
706 * syntax.c (describe_syntax): Add dummy arg.
707 (describe_syntax_1): Update call to describe_vector.
708
709 * category.c (describe_category): Add dummy arg.
710 (describe_category_1): Update call to describe_vector.
711
712 * keymap.c (Fdescribe_vector): Add `describer' parameter.
713 (describe_command, describe_translation): Add dummy second param.
714 (describe_map): Call elt_describer with two arguments.
715 (describe_vector_princ): Add `fun' parameter.
716 Call it instead of the hardcoded `princ'.
717 (describe_vector): Add arg `args'.
718 Pass it as a new second argument to elt_describer.
719
720 * keymap.h (describe_vector): Update prototype.
721
9b46de40
SM
722 * frame.c: Don't include keymap.h any more.
723 (keys_of_frame): Remove.
724
725 * lisp.h (keys_of_frame): Remove declaration.
726
727 * emacs.c (main): Don't call `keys_of_frame' any more.
728
aff37336
SS
7292001-11-14 Andreas Schwab <schwab@suse.de>
730
731 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
732 if defined, 0 otherwise.
9b46de40 733 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
734 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
735
b9937f07
RS
7362001-11-19 Richard M. Stallman <rms@gnu.org>
737
738 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
739
2cd23960
JR
7402001-11-18 Jason Rumney <jasonr@gnu.org>
741
742 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
743 (x_draw_bar_cursor): If the background color of the glyph under
744 the cursor equals the frame's cursor color, use the glyph's
745 foreground color for drawing the bar cursor.
746 (x_after_update_window_line): Clear internal border in different
747 circumstances.
748 (w32_set_vertical_scroll_bar): Check for width and height > 0.
749 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
750 (x_set_glyph_string_background_width):
751 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
752 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
753 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
754 if cursor_in_non_selected_windows is false.
9b46de40 755 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
756 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
757 Notice if cursor gets overwritten.
758 (notice_overwritten_cursor): Renamed from
759 note_overwritten_text_cursor. Rewritten to take glyph widths
760 into account, and to take X positions as parameters.
761 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
762 around call to x_draw_glyphs.
763 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
764 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
765 color to use for image glyph reliefs.
766 (x_draw_image_relief): Accept zero tool_bar_button_relief.
767 (glyph_rect): Remove unused variable `area'.
768
769 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
770 some items.
771 (x_set_internal_border_width): Set frame garbaged when window
772 doesn't exist yet.
773 (Fx_create_frame): Accept zero tool_bar_button_relief.
774 (x_clear_image_1, four_corners_best, image_background)
775 (image_background_transparent): New functions.
776 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
777 (gs_format): Add `:background' entry.
778 (lookup_image): Set IMG's background color if specified.
779 (pbm_load, xbm_load_image, png_load): Set IMG's background field
780 when appropriate.
781 (x_clear_image_1): Reset `background_valid' and
782 `background_transparent_valid' fields.
783 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
784 calculating it here. Set IMG's background_transparent field.
785 (enum xpm_keyword_index): Add XPM_BACKGROUND.
786 (enum png_keyword_index): Add PNG_BACKGROUND.
787 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
788 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
789 (enum gif_keyword_index): Add GIF_BACKGROUND.
790 (enum gs_keyword_index): Add GS_BACKGROUND.
791 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
792 Pre-calculate image background color where necessary.
9b46de40
SM
793 (x_create_x_image_and_pixmap, xbm_load, gs_load):
794 Use display info's n_cbits entry for screen depth.
2cd23960
JR
795 (Fx_show_tip): Remove unused variables `buffer', `top',
796 `left', `max_width' and `max_height'.
797
798 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
799
a4184c1c
GM
8002001-11-18 Gerd Moellmann <gerd@gnu.org>
801
802 * puresize.h (BASE_PURESIZE): Increase to 750000.
803
f6fa0866
PJ
8042001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
805
806 * frame.c (Fframe_live_p): Doc fix.
807
f4ca4b00
RS
8082001-11-18 Richard M. Stallman <rms@gnu.org>
809
810 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
811 (message_dolog_marker3): New static variables hold three markers.
812 (syms_of_xdisp): Initialize and staticpro them.
813 (message_dolog): Use message_dolog_marker1..3 instead of
814 allocating markers each time. Unchain them when done.
815
f4e25f94
RS
8162001-11-17 Richard M. Stallman <rms@gnu.org>
817
818 * doc.c (Fsnarf_documentation): Doc fix.
819
91c153e2
AS
8202001-11-17 Andreas Schwab <schwab@suse.de>
821
822 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
823
65b7d3e7
RS
8242001-11-17 Richard M. Stallman <rms@gnu.org>
825
826 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
827
6b5f6311
JR
8282001-11-17 Jason Rumney <jasonr@gnu.org>
829
830 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
831
be676094
GM
8322001-11-17 Gerd Moellmann <gerd@gnu.org>
833
834 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
835 with invalid position.
836
032a857d
RS
8372001-11-16 Richard M. Stallman <rms@gnu.org>
838
839 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
840
841 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
842 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
843 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
844
845 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
846
b6270150
SM
8472001-11-16 Stefan Monnier <monnier@cs.yale.edu>
848
849 * fileio.c (build_annotations): Split off the tail.
850 (build_annotations_2): New fun. Extracted from build_annotations.
851 (Fwrite_region): Split the call to build_annotations into two
852 calls to build_annotations and build_annotations_2.
853
792e5cbd
PJ
8542001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
855
98cbb9fa
PJ
856 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
857 clear_waiting_for_input with argument.
858
859 * xterm.h (x_update_cursor): Remove duplicated prototype.
860
b6270150 861 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 862
ea904403 863 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 864
ea904403 865 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 866
fa336b91
SM
8672001-11-16 Stefan Monnier <monnier@cs.yale.edu>
868
869 * fileio.c (choose_write_coding_system): New fun, extracted
870 from Fwrite_region.
871 (Fwrite_region): Use it.
872
873 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
874 (funcall_lambda, run_hook_with_args): Make static and add prototype.
875 (ml_apply, find_handler_clause): Add prototype.
876
077907d4
EZ
8772001-11-16 Eli Zaretskii <eliz@gnu.org>
878
aa2af83a
EZ
879 * config.in: Add #undef HAVE_COFF_H.
880
077907d4
EZ
881 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
882 Required for ISC 4.1.
883
1756e2fb
EZ
8842001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
885
886 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
887 Andrew Wiseman <a.wiseman@btclick.com>.
888
06e8f738
KS
8892001-11-16 Kim F. Storm <storm@cua.dk>
890
891 The following changes are made to clean up the various internal
892 references to the fringes to actually use the term `fringe' for
893 them. Previously, they were called `flags areas', `bitmap areas',
894 `left/right side of windows', or implicitly as `flags' or
895 `bitmaps':
896
897 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
898 Comments fixed. Use renamed symbols.
fa336b91 899
06e8f738 900 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 901
06e8f738
KS
902 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
903 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
904 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 905
06e8f738 906 * msdos.c: Comment fix.
fa336b91 907
06e8f738 908 * w32fns.c: Use renamed symbols.
fa336b91 909
06e8f738
KS
910 * w32term.c: Comment fixes. Use renamed symbols.
911 (fringe_bitmap_type): Renamed from bitmap_type.
912 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
913 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
914 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 915
06e8f738
KS
916 * w32term.h: Comment fixes. Use renamed symbols.
917 (fringes_extra): Renamed from flags_areas_extra.
918 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
919 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
920 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
921 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
922 (FRAME_X_LEFT_FRINGE_WIDTH):
923 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
924 (FRAME_X_RIGHT_FRINGE_WIDTH):
925 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
926
06e8f738 927 * widget.c: Use renamed symbols.
fa336b91 928
06e8f738
KS
929 * window.c: Comment fixes. Use renamed symbols.
930 (coordinates-in-window-p): Doc fix.
fa336b91 931
06e8f738 932 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 933
06e8f738 934 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 935
06e8f738 936 * xfns.c: Use renamed symbols.
fa336b91 937
06e8f738
KS
938 * xterm.c: Comment fixes. Use renamed symbols.
939 (fringe_bitmap_type): Renamed from bitmap_type.
940 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
941 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
942 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
943
944 * xterm.h: Comment fixes. Use renamed symbols.
945 (fringes_extra): Renamed from flags_areas_extra.
946 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
947 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
948 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
949 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
950 (FRAME_X_LEFT_FRINGE_WIDTH):
951 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
952 (FRAME_X_RIGHT_FRINGE_WIDTH):
953 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 954
9ce647f4
JR
9552001-11-15 Jason Rumney <jasonr@gnu.org>
956
957 * w32menu.c (add-menu-item): Make help_echo and radio buttons
958 work for most menu items. From David Ponce
959 <david.ponce@wanadoo.fr>.
960
9b784ab8
GM
9612001-11-15 Gerd Moellmann <gerd@gnu.org>
962
9f7e52b4
GM
963 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
964 Some x_set_* function expect to be called even if old and new
965 value are equal.
966
967 * xdisp.c (build_desired_tool_bar_string): Accept zero
968 tool_bar_button_relief.
969
970 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
971
972 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 973
34e5d0af
GM
974 * xterm.c (x_draw_bar_cursor): If the background color of the
975 glyph under the cursor equals the frame's cursor color, use
976 the glyph's foreground color for drawing the bar cursor.
977
9b784ab8
GM
978 * dispnew.c (direct_output_forward_char): Fix character/byte
979 position comparison.
980
89512fcd
MB
9812001-11-15 Miles Bader <miles@gnu.org>
982
983 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
984 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
985 Update arguments to find_field.
986 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
987 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
988 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
989 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
990
7d18891d
RS
9912001-11-14 Richard M. Stallman <rms@gnu.org>
992
d2936d21
RS
993 * editfns.c (Fpropertize): Allow call with 1 arg.
994
7d18891d
RS
995 * dispextern.h (image_background, image_background_transparent):
996 Conditionalize on HAVE_X_WINDOWS.
997
9982001-11-13 Richard M. Stallman <rms@gnu.org>
999
1000 * print.c (Fprin1_to_string): Doc fix.
1001
1002 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
1003
1004 * floatfns.c (Fceiling, Ffloor): Doc fixes.
1005
1006 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
1007
1008 * fileio.c (Ffile_accessible_directory_p): Doc fix.
1009
1010 * eval.c (syms_of_eval): Doc fix.
1011
1012 * coding.c (syms_of_coding): Doc fix.
1013
1014 * doc.c (Fsnarf_documentation): Doc fix.
1015
1016 * dispnew.c (syms_of_display): Doc fix.
1017
1018 * category.c (Fget_unused_category): Doc fix.
1019
1020 * buffer.c (syms_of_buffer): Doc fixes.
1021
9474c847
EZ
10222001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
1023
1024 * print.c (prin1, print): Doc fix.
1025
e3059a5d
PJ
10262001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1027
2b6f3c2b 1028 * fontset.h: Remove declarations of variables
e3059a5d
PJ
1029 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
1030
1031 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
1032 `Vclip_large_size_font'.
1033
b3700ae7
JR
10342001-11-13 Jason Rumney <jasonr@gnu.org>
1035
1036 * w32fns.c: Doc fix.
1037
eae936e2
PJ
10382001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1039
4bb962be
PJ
1040 * xfaces.c (Fface_attributes_as_vector): Doc fix.
1041
0a332240
PJ
1042 * w32fns.c (Fx_synchronize): Reindent.
1043
ddb67bdc
PJ
1044 * fns.c: Doc fix.
1045
3467c402
PJ
1046 * emacs.c: Doc fix.
1047
1048 * coding.c: Doc fix.
1049
6e1b91d7
PJ
1050 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
1051 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
1052 `new style' [w/`doc:' keyword].
1053
f6e34773
PJ
1054 * xmenu.c (x-popup-menu): Reindent.
1055 (x-popup-dialog): Likewise.
1056
fa336b91 1057 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 1058
c2552f79
PJ
1059 * xdisp.c (Fdump_tool_bar_row): Reindent.
1060
94c7167b
PJ
1061 * minibuf.c (Fminibuffer_complete_word): Reindent.
1062 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 1063 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
1064 (Fminibuffer_message): Likewise.
1065
462a5e3a
PJ
1066 * fns.c (Freverse): Reindent.
1067
b8de5714
PJ
1068 * eval.c (Fif): Reindent.
1069 (Fand): Likewise.
1070
deb8e082
PJ
1071 * editfns.c (Fuser_real_login_name): Reindent.
1072 (Finsert_buffer_substring): Likewise.
1073 (Fcompare_buffer_substrings): Likewise.
1074 (Fsubst_char_in_region): Likewise.
1075
bacf09b4
PJ
1076 * dispnew.c (Fsit_for): Reindent.
1077 (Fframe_or_buffer_changed_p): Likewise.
1078 (Finternal_show_cursor_p): Likewise.
1079 (syms_of_display): Likewise.
1080
eae936e2
PJ
1081 * alloc.c (Flist): Reindent.
1082 (Fvector): Likewise.
1083
1c1d3d69
RS
10842001-11-12 Richard M. Stallman <rms@gnu.org>
1085
1086 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1087 LeaveNotify events. Only FocusIn and FocusOut do that now.
1088 (x_display_and_set_cursor): Do display hollow cursors in active
1089 minibuffer windows when they are not selected.
1090
b6f4c7ba
JR
10912001-11-12 Jason Rumney <jasonr@gnu.org>
1092
1093 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1094 * w32term.c: Change doc-string comments to `new style'.
1095 [w/`doc:' keyword]. Doc fixes.
1096
1097 * w32fns.c: Don't define max.
1098 (Fx_open_connection): Only execute once.
1099
a89f435d
PJ
11002001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1101
1102 * ccl.c: Change macros to use do-while block instead of if-else.
1103 Use braces to follow GNU Coding Standards.
1104
a4cd0cd7
RS
11052001-11-11 Richard M. Stallman <rms@gnu.org>
1106
eafb659a
RS
1107 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1108
1109 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1110
a4cd0cd7
RS
1111 * insdel.c (replace_range): Use adjust_markers_for_replace
1112 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1113
1114 * intervals.h: Declare set_text_properties and set_text_properties_1.
1115
1116 * textprop.c (set_text_properties_1): New subroutine
1117 broken out of set_text_properties.
1118 (set_text_properties): Use set_text_properties_1.
1119
1120 * intervals.c (graft_intervals_into_buffer):
1121 Use set_text_properties_1 to clear out properties.
1122
1123 * search.c (Freplace_match): Use replace_range to insert
1124 and delete. Don't request property inheritance from
1125 surrounding text.
1126
91823618
JR
11272001-11-10 Jason Rumney <jasonr@gnu.org>
1128
1129 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1130 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1131 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1132
86928dfb
GM
11332001-11-10 Gerd Moellmann <gerd@gnu.org>
1134
fa336b91 1135 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1136 instead of malloc/free.
1137
40ef1eda
PJ
11382001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1139
ab8469eb
PJ
1140 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1141 Coding Standards.
1142 (Finternal_set_lisp_face_attribute): Likewise.
1143
a78e0303
PJ
1144 * buffer.c (Fbury_buffer): Likewise.
1145
40ef1eda
PJ
1146 * indent.c (current_column_1): Remove unused variable `prev_col'.
1147
fabf4a91
PJ
1148 * coding.c (encode_coding): Use precomputed value of `src'.
1149 (encode_coding): Remove unused variable `src_end'.
1150 (code_convert_region): Remove unused variables `count'.
1151
0c99b139
JR
11522001-11-07 Jason Rumney <jasonr@gnu.org>
1153
1154 * w32term.c (x_display_and_set_cursor): Do not move system caret
1155 if cursor_glyph is NULL.
1156
830ddd77
PJ
11572001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1158
1159 * keymap.c (access_keymap): Fix compilation error.
1160
55c6d645
MB
11612001-11-07 Miles Bader <miles@gnu.org>
1162
1163 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1164
5de38842
PJ
11652001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1166
7a4564a4
PJ
1167 * intervals.c (graft_intervals_into_buffer):
1168 Remove #ifdef'd-out code.
1169 (graft_intervals_into_buffer): Remove unused variable `middle'.
1170
5de38842
PJ
1171 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1172 code (eval-current-buffer).
1173 Change doc-string comments to `new style' [w/`doc:' keyword].
1174
4fa23df5
RS
11752001-11-06 Richard M. Stallman <rms@gnu.org>
1176
1177 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1178
7a6a97d7
SM
11792001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1180
c191d13c
SM
1181 * lread.c (read1): Fix behavior with nested backquoting.
1182
7a6a97d7
SM
1183 * keyboard.c (make_lispy_event): Check integerness and fix
1184 Lisp_Object/int mixup.
1185
44dc78e0
PJ
11862001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1187
1188 * fns.c (copy_hash_table): Remove unused variable `v'.
1189
17893c65
PJ
1190 * fontset.c (fontset_font_pattern): Remove unused variable
1191 `family_registry'.
1192
4d994a79
PJ
1193 * indent.c (current_column_1): Remove unused variable `prev_col'.
1194
d5360cc7
RS
11952001-11-05 Richard M. Stallman <rms@gnu.org>
1196
1197 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1198
1199 * buffer.c (Fkill_buffer): Don't delete auto save file
1200 if buffer is modified.
1201
96238a5a
AI
12022001-11-05 Andrew Innes <andrewi@gnu.org>
1203
1204 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1205 CHECK_NUMBER_CDR.
1206
d9d54213
RS
12072001-11-05 Richard M. Stallman <rms@gnu.org>
1208
1209 * unexelf.c (unexec): Minor changes; clean up comments.
1210
b116830b
SS
12112001-11-05 Sam Steingold <sds@gnu.org>
1212
1213 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1214
3297e2a1
AS
12152001-11-05 Andreas Schwab <schwab@suse.de>
1216
1217 * sound.c (sound_perror): Save errno from being clobbered.
1218
9212319f 12192001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1220
1221 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1222 the program image directly.
1223
7dd73b78
PJ
12242001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1225
1226 * buffer.h (Fbuffer_local_value): Add prototype.
1227
982f6c7e
RS
12282001-11-04 Richard M. Stallman <rms@gnu.org>
1229
d31053f9
RS
1230 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1231 and CHECK_BUFFER.
1232
1233 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1234 (record_char): Likewise.
1235
1236 * keyboard.c (make_lispy_event): Don't insist a drag event must
1237 move to a different buffer position. Instead, check for moving at
1238 least double_click_fuzz.
1239
1240 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1241
1242 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1243
982f6c7e
RS
1244 * indent.c (current_column_1, Fmove_to_column): Separate the code
1245 for display-table glyphs from the code buffer text, to fix
1246 bugs in the former.
1247
830047fd
RS
12482001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1249
1250 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1251 (syms_of_buffer): Defsubr it.
b116830b 1252
830047fd
RS
1253 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1254 value of `cursor-in-non-selected-windows'.
1255
1256 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1257 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1258 (syms_of_xdisp): Initialize it.
b116830b 1259
2df5238c
PJ
12602001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1261
4e397688
PJ
1262 * xfns.c (Fx_create_frame): Doc fix.
1263
48b0f3ae
PJ
1264 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1265 keyword].
1266
2df5238c
PJ
1267 * eval.c (top_level_value, top_level_set): Remove commented and
1268 #ifdef'd-out code.
1269 (Fdefvar): Fix usage in doc-string.
1270
3ecaf7e5
RS
12712001-11-03 Richard M. Stallman <rms@gnu.org>
1272
1273 * xfns.c: Include unistd.h, if it exists.
1274
1275 * editfns.c: Move the include of ctype.h after unistd.h.
1276
1277 * gmalloc.c: Test BROKEN_PROTOTYPES.
1278
8db2e33b
KR
12792001-11-03 Ken Raeburn <raeburn@gnu.org>
1280
1281 * lisp.h (CHECK_STRING_CAR): New macro.
1282 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1283 treating XCAR and XCDR as lvalues.
1284 (openp): Use CHECK_STRING_CAR.
1285 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1286
aed29b97
EZ
12872001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1288
1289 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1290 (SIGMASKTYPE): Define.
aed29b97
EZ
1291
1292 * syssignal.h (sigunblock): Don't define if already defined.
1293
6cb16f95
PJ
12942001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1295
16b45be4
EZ
1296 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1297 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1298 Fix typos in comments.
1299
020f9b38
PJ
1300 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1301 and #ifdef'd-out code.
1302 Fix and reindent comments.
1303
c191d13c 1304 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1305
6cb16f95
PJ
1306 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1307 argument `i' in macros.
1308
1309 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1310 `i' in macros.
1311
16b45be4
EZ
1312 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1313 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1314 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1315 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1316 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1317 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1318 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1319 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1320 in macros.
1321
1322 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
1323 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1324 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1325 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1326 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1327 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1328 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1329 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1330 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
1331 (remove unused second argument).
1332
7e9d3c2f
SM
13332001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1334
1335 * syntax.c (describe_syntax): New wrapper.
1336 (Finternal_describe_syntax_value): Rename from describe_syntax.
1337 Don't insert space at front and \n at the end.
1338 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1339
1340 * regex.c (re_wctype): Try to fix some warnings.
1341 (regcomp, regexec): Don't forget the __restrict.
1342
e6bff182
RS
13432001-11-02 Richard M. Stallman <rms@gnu.org>
1344
1345 * textprop.c (Fget_char_property): Doc fix.
1346
9ba48103
PJ
13472001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1348
1349 * process.c (Fstart_process): Add usage to doc-string.
1350
1351 * data.c (Fsetq_default): Ditto.
1352
1353 * callint.c (Finteractive): Ditto.
1354
c22e59e1
SM
13552001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1356
1357 * macros.c: Don't include keymap.h any more.
1358
9271ed2c
RS
13592001-11-01 Richard M. Stallman <rms@gnu.org>
1360
e6bff182
RS
1361 * data.c (Fmake_local_variable): Doc fix.
1362
1363 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1364 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1365
9271ed2c
RS
1366 * keymap.c (Fdescribe_buffer_bindings): Print character property
1367 bindings along with or instead of the buffer local map.
1368 Make the overriding maps override what they should.
1369
8b8bd9c6
PJ
13702001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1371
1372 * window.c (grow_mini_window): Fix typo in comment.
1373
27188d11
GM
13742001-11-01 Gerd Moellmann <gerd@gnu.org>
1375
7b49b9d2
GM
1376 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1377 (XTset_vertical_scroll_bar): Likewise.
1378
43f7c3ea
GM
1379 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1380 instead of IMAGE_BACKGROUND.
c22e59e1 1381
b350c2e5
GM
1382 * xfns.c (four_corners_best): Reindent.
1383
c22e59e1 1384 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1385 Handle :box so that it is possible to specify sexprs.
1386
d576358b
PJ
13872001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1388
1389 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1390 (Fface_font): Ditto.
1391 (Finternal_set_alternative_font_registry_alist): Ditto.
1392 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1393
1394 * xfns.c (x-get-resource): Reindent.
1395
bf00d461
EZ
13962001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1397
1398 * s/hpux11.h: New file.
1399
4e10df59
PJ
14002001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1401
2b209b97
PJ
1402 * emacs.c (USAGE1): Show command line option --no-window-system
1403 instead of --no-windows in usage.
1404 (standard_args): Rename --no-windows to --no-window-system.
1405 (bug_reporting_address): Follow Emacs coding conventions.
1406
9dbc9081
PJ
1407 * eval.c (Fcommandp): Doc fix.
1408 Change doc-string comments to `new style' [w/`doc:' keyword].
1409
4e10df59
PJ
1410 * frame.c (Fframe_live_p): Doc fix.
1411
1412 * buffer.c (selective-display-ellipses): Doc fix.
1413
dd387b25
GM
14142001-10-31 Gerd Moellmann <gerd@gnu.org>
1415
fe957e65
GM
1416 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1417
dd387b25
GM
1418 * xfaces.c (realize_x_face): If C is not a single-byte character,
1419 set the face's colors_copied_bitwise_p instead of the defaulted_p
1420 members which have a different meaning.
1421 (free_face_colors): Do nothing for a face whose colors have been
1422 copied bitwise.
1423
c22e59e1 1424 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1425
2e1280f8
PJ
14262001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1427
687784e8
PJ
1428 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1429 [w/`doc:' keyword].
2e1280f8 1430
b9d9a9b9
GM
14312001-10-31 Gerd Moellmann <gerd@gnu.org>
1432
1433 * fns.c (require_unwind): Return Lisp_Object.
1434
48400103
PJ
14352001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1436
fa1361cb
PJ
1437 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1438 (last-input-char): Revert doc-string to be the same as the
1439 doc-string of `last-input-event'.
1440
48400103
PJ
1441 * xdisp.c: Fix typos in comments.
1442
eafa3196
GM
14432001-10-31 Gerd Moellmann <gerd@gnu.org>
1444
1445 * window.c (grow_mini_window): Handle case that the root
1446 window is already smaller than the nominal mininum height.
1447
747d3f2a
SM
14482001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1449
bf9bb76f
SM
1450 * emacs.c (main): Don't call keys_of_macros any more.
1451
1452 * lisp.h (keys_of_macros): Remove.
1453
1454 * macros.c (keys_of_macros): Remove.
1455
747d3f2a
SM
1456 * xfaces.c (Fface_attribute_relative_p): Declare args.
1457
5e905a57
JR
14582001-10-30 Jason Rumney <jasonr@gnu.org>
1459
1460 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1461 (enum_font_cb2): Ignore fonts with vertical orientation.
1462
3a426197
RS
14632001-10-30 Richard M. Stallman <rms@gnu.org>
1464
1465 * keyboard.c (Finput_pending_p): Doc fix.
1466
a742d646
GM
14672001-10-30 Gerd Moellmann <gerd@gnu.org>
1468
259cf6bc
GM
1469 * xterm.c (x_after_update_window_line): Don't run the code
1470 clearing in borders for rows whose visible height is 0.
1471
3f99f948
GM
1472 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1473 resized_p flag is set. If not set, use the much less flickering
1474 method previously used.
1475
1476 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1477
1478 * frame.h (struct frame) <resized_p>: New member.
1479
b4a3be43
GM
1480 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1481 as large as the number of bytes to convert.
747d3f2a 1482
a742d646
GM
1483 * lread.c (to_multibyte): New function.
1484 (read1): Use it.
1485
cacbb9e9
EZ
14862001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1487
1488 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1489
99cb6b2f
GM
14902001-10-30 Gerd Moellmann <gerd@gnu.org>
1491
327f42ee 1492 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1493 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1494 if the row's fill_line_p is set and drawing the last glyph with
1495 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1496
99cb6b2f
GM
1497 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1498
8e8223e2
SM
14992001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1500
1501 * xmenu.c: Include coding.h and charset.h.
1502 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1503 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1504 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1505 Explicitly set wv->help. Use `TRUE' rather than `True'.
1506 (menu_help_callback): Use empty_string.
1507
1508 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1509 (Fx_popup_dialog): Explicitly init f.
1510 (w32_menu_display_help): Use empty_string.
1511
4d083a8f
RS
15122001-10-29 Richard M. Stallman <rms@gnu.org>
1513
b2304472
RS
1514 * fns.c (Frequire): Detect recursive try to require the same
1515 feature 3 or more levels deep, and get error.
1516 (require_unwind): New subroutine.
1517 (require_nesting_list): New variable.
1518 (syms_of_fns): Init and staticpro it.
1519
4d083a8f
RS
1520 * print.c (print_object): Clarify indication of insertion type.
1521
2fe41216
EZ
15222001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1523
90480000
EZ
1524 * coding.c (syms_of_coding): Document that locale-coding-system is
1525 used for decoding input on X.
1526
2fe41216
EZ
1527 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1528
74e79967
PJ
15292001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1530
1531 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1532 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1533
60ebcfe8
GM
15342001-10-29 Gerd Moellmann <gerd@gnu.org>
1535
9a7bdceb
GM
1536 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1537 use NO_CURSOR if cursor_in_non_selected_windows is false.
1538
3f08fcd2
GM
1539 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1540 the slant attribute if FRAME is t.
1541
0ccfdad2
GM
1542 * xfns.c (x_set_internal_border_width): Set frame garbaged
1543 when X window doesn't exist yet.
1544
ef253080
GM
1545 * xterm.c (x_after_update_window_line): Clear internal border
1546 in different circumstances.
b116830b 1547
60ebcfe8
GM
1548 * xterm.c (XTread_socket) <KeyPress>: Don't use
1549 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1550 <handa@etl.go.jp>.
1551
73d25f9c
EZ
15522001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1553
1554 * m/ibms390.h: New file. From Adam Thornton
1555 <athornton@sinenomine.net>.
1556
cac1daf0
GM
15572001-10-28 Gerd Moellmann <gerd@gnu.org>
1558
053b3256 1559 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1560
cac1daf0
GM
1561 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1562 a loop counter.
1563
13b1a09c
PJ
15642001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1565
186486eb
PJ
1566 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1567
4707d2d0
PJ
1568 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1569 keyword].
1570 Fix typos in comments.
b116830b 1571
d883731c
PJ
1572 * emacs.c (bug_reporting_address): New function.
1573 Use it when displaying usage message.
1574
04012254
PJ
1575 * minibuf.c (read_minibuf): Remove unused external declaration of
1576 variable `Qread_only'.
1577
13b1a09c
PJ
1578 * keymap.c (access_keymap): Remove unused variable `charset'.
1579
5bbf4378
MB
15802001-10-28 Miles Bader <miles@gnu.org>
1581
1582 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1583 Remove #ifdef'd-out code.
1584 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1585 (syms_of_xfaces): Initialize them.
1586
1ce1e4ee
JR
15872001-10-27 Jason Rumney <jasonr@gnu.org>
1588
1589 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1590 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1591 position using the system caret.
1592
1593 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1594 (w32_system_caret_height, w32_system_caret_x)
1595 (w32_system_caret_y): New variables for tracking system caret.
1596 (w32_initialize): Initialize them.
c2d53558 1597 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1598
c2d53558
SM
1599 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1600 New messages types.
1ce1e4ee
JR
1601
1602 * w32term.c (note_mouse_highlight): Clear old help_echo.
1603
4e30ce42
PJ
16042001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1605
bb4600a4
PJ
1606 * xterm.c: Fix typo in a comment.
1607
7db35a48
PJ
1608 * emacs.c: Fix typos in comments.
1609 Remove unnecessary spaces.
1610 Change doc-string comments to `new style' [w/`doc:' keyword].
1611 (USAGE2): Fix typos in usage string.
1612
a7248e4f
PJ
1613 * xterm.c: Fix typo in a comment.
1614
4e30ce42
PJ
1615 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1616 emacs.c.
1617
62725a92
GM
16182001-10-27 Gerd Moellmann <gerd@gnu.org>
1619
798dbe1f 1620 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1621 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1622 farther backward when target_y was not reached.
1623
62725a92
GM
1624 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1625 Display errno only if non-zero.
1626 (sound_warning): New function.
1627 (vox_configure): Don't treat failing to set sample rate as error.
1628 (various places): Improve error messages.
1629
d4e34d24
EZ
16302001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1631
944e6f60
EZ
1632 * fileio.c (Faccess_file): Run the argument filename through
1633 Fexpand_file_name, before using it.
1634
d4e34d24
EZ
1635 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1636 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1637
38d2af0c
GM
16382001-10-26 Gerd Moellmann <gerd@gnu.org>
1639
da80a8d5
GM
1640 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1641
38d2af0c
GM
1642 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1643 Fix clearing in the case of scroll bars on the right.
c2d53558 1644
56f508dd
EZ
16452001-10-26 Juanma Barranquero <lektu@terra.es>
1646
1647 * w32gui.h (XImage): Add a dummy typedef.
1648
fbd5ceb2
GM
16492001-10-26 Gerd Moellmann <gerd@gnu.org>
1650
c2d53558 1651 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1652
b23236fb
EZ
16532001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1654
1655 * frame.c (Fframe_parameter): Fix last change.
1656
5d991fc4
EZ
1657 * fileio.c: Revert last change (which removed old commented-out
1658 version of expand-file-name). Add a comment that explains why
1659 this old version should not be removed.
1660
879eadc3
GM
16612001-10-25 Gerd Moellmann <gerd@gnu.org>
1662
75700ff2
GM
1663 * frame.c (Fframe_parameter): Fix a bug whereby some
1664 ``artificial'' frame parameters, like `minibuffer' were not
1665 obtained by calling Fframe_parameters.
1666
dfe92a6a
GM
1667 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1668 cursor differently.
1669
879eadc3
GM
1670 * xdisp.c (move_it_vertically_backward): Compute line height
1671 differently. Add heuristic to try to be more compatible to 20.x.
1672
e1010ebe
SM
16732001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1674
d73a471b
SM
1675 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1676
d6da5a06
GM
1677 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1678 boolean.
e1010ebe 1679
f66bd220
MB
16802001-10-25 Miles Bader <miles@gnu.org>
1681
1682 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1683 BG is a pointer to a structure, not a structure.
1684 (gif_format, png_format): Add missing commas.
1685
d436d538
RS
16862001-10-24 Richard M. Stallman <rms@gnu.org>
1687
1688 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1689 (syms_of_xfaces): Defsubr it.
d436d538 1690
075c507b
PJ
16912001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1692
1693 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1694 variable `area'.
1695
d492b584
PJ
16962001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1697
c2d53558 1698 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1699
e2a57b34
MB
17002001-10-25 Miles Bader <miles@gnu.org>
1701
1702 * dispextern.h (struct image): Add `background',
1703 `background_valid', and `background_transparent' fields.
1704 (image_background, image_background_transparent): New declarations.
1705 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1706 * xfns.c (image_background, image_background_transparent)
1707 (four_corners_best): New functions.
c2d53558 1708 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1709 (gs_format): Add `:background' entry.
1710 (lookup_image): Set IMG's background color if specified.
1711 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1712 when appropriate.
1713 (x_clear_image_1): Reset `background_valid' and
1714 `background_transparent_valid' fields.
1715 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1716 calculating it here. Set IMG's background_transparent field.
1717 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1718 (enum png_keyword_index): Add PNG_BACKGROUND.
1719 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1720 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1721 (enum gif_keyword_index): Add GIF_BACKGROUND.
1722 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1723 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1724 Pre-calculate image background color where necessary.
1725 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1726 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1727 color to use for image glyph reliefs.
1728
b547b6e8
GM
17292001-10-24 Gerd Moellmann <gerd@gnu.org>
1730
d9e3b8c6
GM
1731 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1732 in full-width rows.
c2d53558 1733
b547b6e8
GM
1734 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1735 Fix clearing of area not covered by scroll bar.
1736
2beb36f9
PJ
17372001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1738
1739 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1740 and `real_start'.
c2d53558 1741 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1742 (glyph_rect): Remove unused variable `area'.
1743
76cb5e06
GM
17442001-10-24 Gerd Moellmann <gerd@gnu.org>
1745
bdbdebff 1746 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1747
1748 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1749 (row_containing_pos): Take additional argument DY.
1750 Treat rows ending in middle of char differently.
62e33982
GM
1751 (display_line): Handle tabs on window systems differently.
1752
1753 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1754 with additional argument.
1755
1756 * dispextern.h (row_containing_pos): Adjust prototype.
1757
76cb5e06
GM
1758 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1759 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1760 (try_window_id, try_window_reusing_current_matrix)
1761 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1762 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1763
996fee11
PJ
17642001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1765
c9e60620
PJ
1766 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1767 gnuemacs).
1768 (HAVE_BOXES): Fix typo in comment.
1769 (push_menu_pane): Fix typo in comment.
1770
3b552d56
PJ
1771 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1772 of `Qwhen'.
1773 (single_display_prop_string_p): Remove unused local declarations
1774 of `Qwhen' and `Qmargin'.
1775 (string_buffer_position): Remove unused variable `around'.
1776 (store_frame_title): Remove unused variable `width'.
1777
15c565ac
PJ
1778 * window.c: Don't define max.
1779 (coordinates_in_window): Remove unused variable `uy'.
1780
a8818eb9
PJ
1781 * widget.c: Don't define max.
1782
996fee11
PJ
1783 * process.c: Don't define max.
1784 (create_process): Remove unused variable `buffer'.
1785
496e1a5b
GM
17862001-10-23 Gerd Moellmann <gerd@gnu.org>
1787
c2d53558 1788 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1789
5905ae8b
EZ
17902001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1791
1792 * xfaces.c (Finternal_set_lisp_face_attribute)
1793 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1794 frame is on a windowed display.
1795
24db49fb
GM
17962001-10-23 Gerd Moellmann <gerd@gnu.org>
1797
c2d53558
SM
1798 * dispnew.c (sync_window_with_frame_matrix_rows):
1799 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1800 of marginal areas.
1801
c2d53558 1802 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1803
f0487f05
EZ
18042001-10-23 Andreas Schwab <schwab@suse.de>
1805
1806 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1807 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1808
f0a48a01
GM
18092001-10-23 Gerd Moellmann <gerd@gnu.org>
1810
c2d53558 1811 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1812 REAL_END. Notice if cursor gets overwritten.
1813 (notice_overwritten_cursor): Take X positions as parameters.
1814 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1815 around call to x_draw_glyphs.
1816
a50a10a0
PJ
18172001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1818
fc11dff0
PJ
1819 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1820 instead of C) and usage.
a50a10a0 1821
fc11dff0
PJ
1822 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1823 of C) and usage.
a50a10a0
PJ
1824
1825 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1826 `left', `max_width' and `max_height'.
1827
8738febd
GM
18282001-10-23 Gerd Moellmann <gerd@gnu.org>
1829
1830 * xdisp.c (display_line): For a tab continued to the next line,
1831 set row's ends_in_middle_of_char_p.
1832
653c329b
GM
18332001-10-22 Gerd Moellmann <gerd@gnu.org>
1834
1835 * xdisp.c (display_line): Fix computation of continuation lines
1836 width for TABs.
1837
f958c5ac
PJ
18382001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1839
7ba51063
PJ
1840 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1841 `Qlaplace'.
1842
f958c5ac
PJ
1843 * fileio.c: Remove unused code.
1844
eb360291
MB
18452001-10-22 Miles Bader <miles@gnu.org>
1846
1847 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1848 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1849 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1850
98515cf0
JR
18512001-10-21 Jason Rumney <jasonr@gnu.org>
1852
1853 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1854
93026d88
EZ
18552001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1856
1857 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1858 (Finsert_string): Avoid the multi-line string literals warning.
1859
c9a95b79
MB
18602001-10-22 Miles Bader <miles@gnu.org>
1861
1862 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1863 (Fdocumentation): Don't use it.
1864 (syms_of_doc): Don't initialize it.
1865
1866 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1867 * print.c (Fwith_output_to_temp_buffer): Likewise.
1868 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1869 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1870 (Fsave_restriction): Likewise.
c2d53558
SM
1871 * eval.c (Frun_hooks, Frun_hook_with_args)
1872 (Frun_hook_with_args_until_failure)
1873 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1874 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1875 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1876 (Funwind_protect, Fcondition_case): Likewise.
1877 * coding.c (Ffind_operation_coding_system): Likewise.
1878 * keyboard.c (Ftrack_mouse): Likewise.
1879
a3b10252
MB
18802001-10-21 Miles Bader <miles@gnu.org>
1881
c2d53558 1882 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1883 (Fmake_hash_table): Add usage: string to doc string.
1884 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1885 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1886 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1887 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1888 (Fml_prefix_argument_loop): Likewise.
1889
c6f73eec
PJ
18902001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1891
c2d53558 1892 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1893
c6f73eec
PJ
1894 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1895 style' [w/`doc:' keyword].
1896
1897 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1898 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1899 comments to `new style' [w/`doc:' keyword].
1900
3cf3436e
JR
19012001-10-21 Jason Rumney <jasonr@gnu.org>
1902
1903 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1904
c169b8f1
JR
1905 * w32term.c (remember_mouse_glyph): New function.
1906 (w32_mouse_position): Use it.
1907 (note_mouse_movement): If the mouse moved off the glyph, remember
1908 its new position.
c2d53558 1909
4fdd691b
JR
1910 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1911 (w32_display_info): Add mouse_face_overlay.
1912
c169b8f1
JR
1913 * w32term.c (notice_overwritten_cursor): Renamed from
1914 note_overwritten_text_cursor. Rewritten to take glyph widths into
1915 account.
1916 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1917 (fast_find_string_pos): New function.
1918 (fast_find_position): Return the correct vpos. Add parameter
1919 STOP. In the final row, stop before glyphs having STOP as object.
1920 Don't consider glyphs that are not from a buffer.
1921 (fast_find_position) [0]: Add a presumably more correct version
1922 for after 21.1.
1923 (expose_window_tree, expose_frame): Don't compute intersections here.
1924 (expose_window): Do it here instead.
1925 (expose_window_tree, expose_window, expose_line): Return 1 when
1926 overwriting mouse-face.
1927 (expose_window): If W is the window currently being updated, mark
1928 the frame garbaged.
1929 (expose_frame): If mouse-face was overwritten, redo it.
1930 (x_use_underline_position_properties): New variable.
1931 (syms_of_xterm): DEFVAR_BOOL it.
1932 (x_draw_glyph_string): Add comment to use it in future.
1933 (x_draw_glyph_string): Restore clipping after drawing box.
1934 Fix a computation of the underline position.
1935 (w32_get_glyph_string_clip_rect): Minor cleanup.
1936 (x_fill_stretch_glyph_string): Remove an assertion.
1937 (x_produce_glyphs): Don't convert multibyte characters
1938 to unibyte characters in unibyte buffers.
1939 (cursor_in_mouse_face_p): New function.
1940 (x_draw_stretch_glyph_string): Use it to choose a different GC
1941 when drawing a cursor within highlighted text. Don't draw
1942 background again if it has already been drawn.
1943 (x_draw_glyph_string_box): Don't draw a full-width
1944 box just because the glyph row's full_width_p flag is set.
1945 (x_draw_glyphs): Fix computation of rightmost x for
1946 full-width rows.
1947 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1948 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1949 change bottom shadow accordingly. Some cleanup.
1950 (x_update_window_end): Handle overwritten mouse face
1951 also for tool bar windows.
1952 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1953 DRAW is DRAW_IMAGE_RAISED.
1954 (clear_mouse_face): Return 1 if text with mouse face was
1955 actually redrawn. Make the function static. Reset
1956 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1957 optimize away highlighting if we pass over that same overlay again.
1958 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1959 to detect a case where we have to highlight a different region
1960 despite not having left the currently highlighted region.
1961 Set mouse_face_overlay in the x_display_info. Avoid changing the
1962 mouse pointer shape when show_mouse_face has already done it, or
1963 there is no need. Handle mouse-face and help-echo in strings.
1964 (glyph_rect): New function.
1965 (w32_mouse_position): Use it to raise the threshold for mouse
1966 movement event generation.
1967 (w32_initialize_display_info): Initialize the x_display_info's
1968 mouse_face_overlay.
1969 (w32_set_vertical_scroll_bar): Don't clear a zero height
1970 or width area.
1971 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1972 a widget to zero height.
1973
3cf3436e 1974 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1975 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1976 equivalents in menu_items.
1977 (w32_menu_show): Don't overwrite an item's name with its key
1978 description in case the description is a multibyte string.
1979 (single_submenu): Some cleanup.
1980
1981 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1982 (postprocess_image): New function.
1983 (lookup_image): Call it for all image types except PostScript.
1984 (x_kill_gs_process): Call postprocess_image.
1985 (tiff_error_handler, tiff_warning_handler): New functions.
1986 (tiff_load): Install them as handlers.
1987 (x_kill_gs_process): Recognize if someone has cleared the image
1988 cache under us.
1989 (valid_image_p): Protect better against invalid image
1990 specifications. Previous code could signal an error.
1991 (Fx_hide_tip, Fshow_tip): Doc fix.
1992 (Fv_max_tooltip_size): New variable.
1993 (syns_of_xfns): DEFVAR_LISP it.
1994 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1995 window buffer to *tip* right after creating the frame. Set frame's
1996 window_width. Use a maximum tooltip size specified by
1997 Vx_max_tooltip_size, if that has valid contents.
1998 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1999 Make sure the tooltip is completely visible.
2000 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2001 (Fx_create_frame): Adjust the frame's height for presence
2002 of the tool bar before calling x_figure_window_size.
2003 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
2004 when the window gets smaller.
2005 (x_set_foreground_color): Set frame's cursor_pixel.
2006 (x_set_foreground_color, x_set_background_color): Cleaned up.
2007 (x_set_font): Handle case of x_new_fontset returning the same name
2008 as before, although there was a change in fontsets.
2009
386ca361
MB
20102001-10-21 Miles Bader <miles@gnu.org>
2011
c2d53558 2012 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
2013 (Flogxor): Add usage: string to doc string.
2014 * charset.c (Fstring): Likewise.
2015 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
2016 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
2017
14ff1ee0
PJ
20182001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2019
03be2694
PJ
2020 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2021
2022 * alloc.c: Reindent DEFUNs with doc: keywords.
2023
2024 * abbrev.c (Finsert_abbrev_table_description): Reindent.
2025
14ff1ee0
PJ
2026 * frame.c: Change doc-string comments to `new style' [w/`doc:'
2027 keyword].
2028
71431a0e
GM
20292001-10-20 Gerd Moellmann <gerd@gnu.org>
2030
6aa97356 2031 * (Version 21.1 released.)
71431a0e 2032
39f624fa
PJ
20332001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2034
c2d53558 2035 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
2036
2037 * xdisp.c (invisible_text_between_p): Put prototype inside #if
2038 0 because unused.
2039
2040 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
2041 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
2042 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 2043
abcce93a
MB
20442001-10-20 Miles Bader <miles@gnu.org>
2045
2046 The following changes remove the glyph_row `inverse_p' field,
2047 which is never set anymore, due to other changes:
2048
2049 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
2050 (reassert_line_highlight, change_line_highlight): Declarations removed.
2051 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
2052 (line_hash_code, row_equal_p, fake_current_matrices)
2053 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
2054 (update_frame_line, update_frame_line, update_frame_line):
2055 Don't use `inverse_p' field.
2056 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2057 change_line_highlight_hook.
2058 (XTreassert_line_highlight, x_change_line_highlight):
2059 Functions removed.
c2d53558 2060 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2061 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2062 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2063 `inverse_p' field.
c2d53558 2064 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2065 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2066 (w32_reassert_line_highlight, x_change_line_highlight):
2067 Functions removed.
2068 * w32console.c (reassert_line_highlight, change_line_highlight):
2069 Functions removed.
2070 (initialize_w32_display): Don't set reassert_line_highlight_hook
2071 or change_line_highlight_hook.
2072 (hl_mode): Function removed.
c2d53558
SM
2073 (reset_terminal_modes, set_terminal_modes, update_begin)
2074 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2075 (clear_frame, ins_del_lines): Don't call it.
2076 * termhooks.h (reassert_line_highlight_hook)
2077 (change_line_highlight_hook): Declarations removed.
2078 * term.c (reassert_line_highlight_hook)
2079 (change_line_highlight_hook): Variables removed.
2080 (reassert_line_highlight, change_line_highlight): Functions removed.
2081 * msdos.c (IT_reassert_line_highlight)
2082 (IT_change_line_highlight): Functions removed.
2083 (internal_terminal_init): Don't set reassert_line_highlight_hook
2084 or change_line_highlight_hook.
2085 (highlight): Variable removed.
c2d53558 2086 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2087 (IT_set_terminal_modes): Don't set or use it.
2088
2089 The following changes remove inverse-video support for terminals
2090 that use a `magic cookie' standout mode. Due to changes in the
2091 way mode-lines are displayed, such support no longer works
2092 anyway, and it's probable that almost no one uses such terminals
2093 anymore:
2094
2095 * term.c (standout_requested): Variable removed.
2096 (update_end, highlight_if_desired): Don't use it.
2097 (chars_wasted, copybuf): Variables removed.
2098 (write_standout_marker): Function removed.
c2d53558 2099 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2100 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2101 Don't use `chars_wasted' or `copybuf'.
2102 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2103 Set `costs_set' to true.
2104 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2105 `chars_wasted'.
2106 (clear_end_of_line): Function removed.
2107 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2108 (clear_to_end): Call `clear_end_of_line' instead of
2109 `clear_end_of_line_raw'.
54800acb
MB
2110 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2111 (term_init): Don't set them.
2112 Turn off any standout/underline modes that require magic cookies.
c2d53558 2113 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2114 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2115 Remove special processing for magic-cookie standout modes.
2116 (turn_off_face, turn_on_face): Remove special processing for
2117 underline magic-cookie glitch.
abcce93a 2118
0b5f679f
RS
21192001-10-19 Richard M. Stallman <rms@gnu.org>
2120
2121 * eval.c (syms_of_eval): Doc fixes.
2122
5a4a5bd4
GM
21232001-10-19 Gerd Moellmann <gerd@gnu.org>
2124
2125 * xdisp.c (redisplay_internal): Don't clear echo area if the
2126 mini-window is selected.
2127
79f1f96c
MB
21282001-10-19 Miles Bader <miles@gnu.org>
2129
b57c2708
MB
2130 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2131 doesn't take precedence if the affected property's value is nil.
2132
2133 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2134
79f1f96c
MB
2135 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2136 with fields and suggest using `forward-line' to avoid them.
2137 * editfns.c (Fline_beginning_position, Fline_end_position):
2138 Clarify documentation.
2139
ef879104
SM
21402001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2141
2142 * keymap.c (current_minor_maps): `override' only shadows its
2143 correspondent in minor-mode-map-alist, not the whole tail.
2144
97f4db8c
AI
21452001-10-18 Andrew Innes <andrewi@gnu.org>
2146
2147 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2148 optimization. The fontp->encoding array was not being initialized
2149 correctly when compiled with optimizations by MSVC.
2150
e6b70fd8
GM
21512001-10-18 Gerd Moellmann <gerd@gnu.org>
2152
30903479 2153 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2154
0e804d38
AI
21552001-10-17 Andrew Innes <andrewi@gnu.org>
2156
2157 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2158
2159 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2160 font_info.charset field.
2161
2162 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2163 rather than working it out by calling w32_codepage_for_font for
2164 every glyph.
2165
66e5868a
AI
21662001-10-17 Andrew Innes <andrewi@gnu.org>
2167
2168 * w32term.c (w32_read_socket): Determine clipping rectangle for
2169 the entire frame, including areas covered by scrollbars and the
2170 menubar. This avoids internal arguments about whether a frame is
2171 fully obscured or not.
2172
15b00083
GM
21732001-10-17 Gerd Moellmann <gerd@gnu.org>
2174
23e8bd86
GM
2175 * xdisp.c (try_window_id): Undo last change. Give up if
2176 window ends in strings.
30903479 2177
9c6ba6d1 2178 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2179 end if the rest of the window after the window end was already blank.
23e8bd86 2180
30903479 2181 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2182 for the release of 21.1.
2183
30903479 2184 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2185
945220bd
MB
21862001-10-17 Miles Bader <miles@gnu.org>
2187
2188 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2189 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2190 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2191 Change doc-string comments to `new style' [w/`doc:' keyword].
2192 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2193 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2194 out make-docfile.
2195
14242528
MB
21962001-10-16 Miles Bader <miles@gnu.org>
2197
2198 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2199
3ddf952f
GM
22002001-10-16 Gerd Moellmann <gerd@gnu.org>
2201
2202 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2203 *scratch*.
2204
f3fbd155
KR
22052001-10-16 Ken Raeburn <raeburn@gnu.org>
2206
2207 Avoid the assumption that car and cdr slots of cons cells are
2208 addressable lvalues; this allows for easier experimentation with
2209 other lisp implementations that may not permit such accesses for
2210 various reasons. Not quite complete -- buffer.c still needs some
2211 work, and w32/mac files need rechecking -- so compile-time
2212 enforcement is left disabled for now.
2213
2214 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2215 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2216 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2217 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2218 (XSETCAR, XSETCDR): New macros.
2219 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2220 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2221 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2222 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2223 XSETCDR.
2224 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2225 * buffer.c (record_buffer, Fbury_buffer)
2226 (swap_out_buffer_local_variables, recenter_overlay_lists)
2227 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2228 fields of a cons cell respectively.
2229 * callint.c (quotify_args, Fcall_interactively): Likewise.
2230 * ccl.c (Fregister_code_conversion_map): Likewise.
2231 * coding.c (detect_coding_system): Likewise.
2232 * composite.c (get_composition_id, make_composition_value_copy):
2233 Likewise.
30903479
SM
2234 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2235 (swap_in_symval_forwarding, set_internal, Fset_default)
2236 (Fmake_variable_buffer_local, Fmake_local_variable)
2237 (Fmake_variable_frame_local): Likewise.
f3fbd155 2238 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2239 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2240 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2241 * minibuf.c (get_minibuffer): Likewise.
2242 * search.c (Fmatch_data): Likewise.
2243 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2244 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2245 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2246 Likewise.
2247 * w32term.c (x_delete_display): Likewise.
2248 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2249 Likewise.
c2d53558 2250 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2251 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2252 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2253 (Fread_file_name): Use XSETCAR.
2254 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2255 CHECK_NUMBER_CDR.
2256 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2257 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2258 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2259 CHECK_NUMBER_CDR.
2260 * keyboard.c (read_char): Alter list traversal to avoid taking the
2261 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2262 (parse_menu_item): Use XSETCAR and XSETCDR.
2263 (reach_char_x_menu_prompt): Use XSETCAR.
2264 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2265 (Fcommand_execute): Use XSETCDR.
2266 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2267 (openp): Change list traversal to avoid using XCAR as lvalue.
2268 (read_list): Use XSETCDR.
2269 * process.c (wait_reading_process_input): Change wait_for_cell
2270 handling to avoid taking addresses of cons cell slots.
30903479
SM
2271 * xselect.c (x_own_selection, x_handle_selection_clear)
2272 (x_clear_frame_selections): Use XSETCDR.
2273 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2274 (x_handle_property_notify, x_get_foreign_selection)
2275 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2276
502150e5
PJ
22772001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2278
018ba359
PJ
2279 * buffer.c: Put doc strings in comments.
2280
30903479 2281 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2282
b56ba8de
SS
22832001-10-15 Sam Steingold <sds@gnu.org>
2284
2285 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2286
6a0b793a
PJ
22872001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2288
30903479
SM
2289 * process.c (process-inherit-coding-system-flag)
2290 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2291 in comment.
2292
a1f17501 2293 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2294 arguments. Put doc strings in comments.
a65da641
PJ
2295
2296 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2297
aa601ad0
GM
22982001-10-15 Gerd Moellmann <gerd@gnu.org>
2299
30903479 2300 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2301
aa601ad0
GM
2302 * window.c (select_window_1): Unfreeze window start. Remove a
2303 doubled test for WINDOW being live.
2304
288148a1
PJ
23052001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2306
dd8d1e71
PJ
2307 * fns.c (Fmapconcat): Fix typo in a doc string.
2308
288148a1
PJ
2309 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2310
9f5eb4a3
GM
23112001-10-15 Gerd Moellmann <gerd@gnu.org>
2312
2313 * xterm.c (x_draw_glyph_string): Restore clipping after
2314 drawing box.
2315
dbae44c8
PJ
23162001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2317
30903479 2318 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2319
0c88c937
SM
23202001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2321
56378db4
GM
2322 * indent.c (skip_invisible): Use new retval of
2323 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2324
845e4cf4
SM
2325 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2326 If a parent is reached and noinherit is set, exit immediately.
2327 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2328
0c88c937
SM
2329 * s/ms-w32.h (EXEC_SUFFIXES):
2330 * s/msdos.h (EXEC_SUFFIXES):
2331 * process.h (EXEC_SUFFIXES): Remove.
2332
2333 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2334 (decode_suffixes): Remove.
2335
2336 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2337 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2338 (invisible_ellipsis_p): Remove.
0c88c937
SM
2339
2340 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2341 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2342 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2343 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2344 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2345
d19be8a9
PJ
23462001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2347
04d7d066
PJ
2348 * lisp.h (Ftop_level): Add prototype.
2349
d624284c
PJ
2350 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2351 (XTread_socket): Improve style of comments to follow other
2352 comments.
2353
a87414f9
PJ
2354 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2355 is already prototyped in included lisp.h).
2356
d19be8a9
PJ
2357 * frame.c (Fset_mouse_position): Improve style of comment to
2358 follow other comments.
2359 (Fset_mouse_pixel_position): Improve style of comment to follow
2360 other comments.
2361 (Fmake_frame_visible): Doc fix and typo in comment.
2362 (Fmake_frame_invisible): Doc fix and typo in comment.
2363 (Ficonify_frame): Fix typo in comment.
2364
c061c855
GM
23652001-10-14 Gerd Moellmann <gerd@gnu.org>
2366
37f6b5b6 2367 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2368 * term.c, alloc.c: Put doc strings in comments.
c061c855 2369
e641b454
GM
23702001-10-13 Gerd Moellmann <gerd@gnu.org>
2371
2372 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2373 Provide definitions for doc strings in comments.
2374
2375 * fns.c: Put doc strings in comments.
2376
51724e26
EZ
23772001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2378
2379 * dired.c (file_name_completion): Ignore a candidate directory if
2380 it matches an element in completion-ignored-extensions that ends
2381 in a slash.
2382 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2383 feature in the doc string.
2384 (Ffile_name_completion): Ditto.
2385
be5fc59b
SM
23862001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2387
5a1373f3
SM
2388 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2389
2390 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2391
2392 * lisp.h (Fprovide): Update prototype.
2393 (Ffeaturep, invisible_p): Remove.
2394
bbc4a3d3 2395 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2396 (DOLIST, LOOP_PROPVAL): New macros.
2397 (invisible_p, invisible_ellipsis_p): Use them.
2398 (invisible_noellipsis_p): New function.
2399 (syms_of_xdisp): Use empty_string.
2400
2401 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2402
2403 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2404 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2405
2406 * print.c (Fwith_output_to_temp_buffer): Align with
2407 internal_with_output_to_temp_buffer.
2408 (print_preprocess): Use traverse_intervals_noorder.
2409 (print_object): Update call to traverse_intervals.
2410
2411 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2412 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2413
2414 * intervals.c (traverse_intervals_noorder): New function.
2415 (search_for_interval, count_intervals): Use it.
2416 (traverse_intervals): Use less stack space and drop `depth' arg.
2417
2418 * fns.c (Ffeaturep): Add new `subfeature' arg.
2419 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2420 (Qsubfeatures): New var.
2421 (syms_of_fns): Initialize it.
2422
026f408d
SM
2423 * keymap.c (Fkey_description): Use empty_string.
2424 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2425 (syms_of_keymap): Setup inheritance between maps.
2426 Don't export Sdescribe_bindings_internal any more.
2427
be5fc59b
SM
2428 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2429
3365175e
GM
24302001-10-12 Gerd Moellmann <gerd@gnu.org>
2431
2432 * xterm.c (notice_overwritten_cursor): Renamed from
2433 note_overwritten_text_cursor. Rewritten to take glyph widths into
2434 account.
2435
2ab7765c
EZ
24362001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2437
2438 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2439 multi-line strings without a trailing "\n\".
2440
311346bb
PJ
24412001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2442
2443 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2444 defined.
2445
2168e04d
SM
24462001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2447
026f408d
SM
2448 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2449
c0ec53ad
SM
2450 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2451 * w32proc.c (sys_spawnve):
2452 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2453 * w32.c (check_windows_init_file):
2454 * sound.c (Fplay_sound):
026f408d 2455 * emacs.c (init_cmdargs):
c0ec53ad
SM
2456 * process.c (Fstart_process): Update calls to openp.
2457
2458 * callproc.c (Vexec_suffixes): New var.
2459 (Fcall_process): Update call to openp.
2460 (decode_suffixes): New function.
2461 (syms_of_callproc): Init exec-suffixes.
2462
2463 * lread.c (Vload_suffixes, default_suffixes): New vars.
2464 (openp): Take a lisp list of suffixes.
2465 Check for file-name-handlers even if the file was absolute already.
2466 (syms_of_lread): Declare load-suffixes.
2467 (Fload): Fix up call to openp.
2468 Don't bother checking for file-name-handler at the very beginning.
2469
f6333468
SM
2470 * keymap.h (Fcopy_keymap): Don't export.
2471
2472 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2473 (Vload_suffixes, Vexec_suffixes): Declare.
2474 (openp): Update prototype.
f6333468
SM
2475
2476 * emacs.c (empty_string): New var.
2477 (syms_of_emacs): Initialize it.
2478
2479 * search.c (wordify): Use it.
2480
2481 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2482 selected window if it's not displayed there. Handle the case
2483 when the window is dedicated.
2484 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2485
2486 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2487
2168e04d
SM
2488 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2489 Remove left_ok and right_ok.
2490 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2491 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2492 new meaning of b_property.
2493
2494 * syntax.c (update_syntax_table): Simplify.
2495 (Fforward_comment): Don't skip quoted chars when going backward.
2496
13d95cc0
GM
24972001-10-11 Gerd Moellmann <gerd@gnu.org>
2498
beb0990f
GM
2499 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2500 in case I is of some unsigned type, in which case
2501 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2502 comparison becomes bogus.
2503
cb938d46
GM
2504 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2505 (Fuser_full_name): Fix bug treating a float as a fixnum.
2506
2507 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2508
2509 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2510
13d95cc0
GM
2511 * lisp.h (circular_list_error): Add prototype.
2512
2513 * data.c (Qcircular_list): New variable.
2514 (circular_list_error): New function.
2515 (syms_of_data): Initialize it Qcircular_list.
2516
e35f6ff7
SM
25172001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2518
2519 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2520 casefiddle.c, buffer.c: Include keymap.h.
2521
619632ac
GM
25222001-10-10 Gerd Moellmann <gerd@gnu.org>
2523
2524 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2525 options. From Dave Love <d.love@dl.ac.uk>.
2526
5e5388f6
GM
25272001-10-09 Gerd Moellmann <gerd@gnu.org>
2528
2529 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2530 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2531
14a3dff7
GM
2532 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2533 unsigned char.
2534 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2535
76ba8daf
AI
25362001-10-08 Andrew Innes <andrewi@gnu.org>
2537
2538 * lisp.h [max]: Undef min and max before redefining them.
2539
2540 * w32gui.h: Do not undef min and max.
2541
2542 * w32heap.h: Do not undef min and max.
2543
2544 * s/ms-w32.h: Do not undef min and max.
2545
166253cb
SM
25462001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2547
2548 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2549
0c4d9527
SS
25502001-10-08 Sam Steingold <sds@gnu.org>
2551
2552 * keymap.c (current-active-maps): Quote newlines (compilation error).
2553
14bfa771
EZ
25542001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2555
2556 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2557 bindings.elc, since otherwise doc strings in bindings.el get wrong
2558 offsets in etc/DOC.
2559
bdb7aa47
SM
25602001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2561
9985827f
SM
2562 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2563
2564 * keyboard.h (map_prompt): Remove.
2565
2566 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2567 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2568
bdb7aa47
SM
2569 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2570
2571 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2572
2573 * keyboard.c (map_prompt): Remove.
2574 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2575 Use Fkeymap_prompt.
2576
2577 * keymap.h: New file. Extracted from lisp.h.
2578
9985827f
SM
2579 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2580 (accessible_keymaps_1): New function.
2581 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2582 (Fwhere_is_internal): Use Fcurrent_active_maps.
2583 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2584 Insert in current buffer rather than standard-output.
2585 Don't call `help-mode'. Export to elisp.
2586 (describe_buffer_bindings): New wrapper.
2587 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2588 and Sdescribe_buffer_bindings.
2589
402c9a51
GM
25902001-10-08 Gerd Moellmann <gerd@gnu.org>
2591
9985827f 2592 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2593 Remove code setting signal handler.
2594
9985827f 2595 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2596 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2597
3fe81fdf
PJ
25982001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2599
2600 * keyboard.c: Don't define min/max.
2601
55fa7820
GM
26022001-10-08 Gerd Moellmann <gerd@gnu.org>
2603
9985827f 2604 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2605 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2606 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2607 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2608 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2609 Don't define min/max.
2610
2611 * lisp.h (min, max): New macros.
2612
55fa7820
GM
2613 * puresize.h (BASE_PURESIZE): Increase to 725000.
2614
1aad31e4
PJ
26152001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2616
9180dc8c
PJ
2617 * xfaces.c (free_frame_menubar): Add prototype.
2618
01f67d2c
PJ
2619 * lisp.h (init_window): Add prototype.
2620
2621 * editfns.c: Include ctype.h.
2622
2623 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2624 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2625 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2626 variable `sb'.
2627
5f351ff1
PJ
2628 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2629 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2630 `popup_activated_flag' and `title'.
2631
479dfe87
PJ
2632 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2633
dff49fc8
PJ
2634 * emacs.c (main): Remove extra `;'.
2635
248ac615
PJ
2636 * atimer.h (struct atimer): Fix typos in a comment.
2637
2638 * atimer.c: Fix typo.
2639
af232c7d
PJ
2640 * Makefile.in: Fix typo.
2641
2642 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2643
d876f455
MB
26442001-10-07 Miles Bader <miles@gnu.org>
2645
2646 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2647
0037e2f2
KR
26482001-10-07 Ken Raeburn <raeburn@gnu.org>
2649
b056f36d
KR
2650 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2651 Lisp_Object.
2652
0037e2f2
KR
2653 * lisp.h (Ffield_end): Declare.
2654
1a4372ef
GM
26552001-10-07 Gerd Moellmann <gerd@gnu.org>
2656
a4a74e8c
GM
2657 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2658
2659 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2660
2661 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2662
2663 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2664
1a4372ef
GM
2665 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2666 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2667
2668 * alloc.c (inhibit_garbage_collection): Simplify.
2669 (Fmemory_use_counts): Ditto.
2670
9985827f 2671 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2672 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2673 most-negative-fixnum.
2674
9985827f 2675 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2676 (FIXNUM_OVERFLOW_P): New macros.
2677
4650e362
MB
26782001-10-06 Miles Bader <miles@gnu.org>
2679
2680 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2681 scroll_bar_bottom_shadow_pixel fields.
2682 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2683 for the shadows, and tell the toolkit about them if we succeed.
2684 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2685 Free scroll-bar shadow colors.
2686 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2687 Free scroll-bar shadow colors when the background color changes.
2688 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2689 Initialize scroll-bar shadow-color fields.
2690
ace64e0a
GM
26912001-10-05 Gerd Moellmann <gerd@gnu.org>
2692
2693 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2694
ec66bdc7
MB
26952001-10-05 Miles Bader <miles@gnu.org>
2696
9985827f
SM
2697 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2698 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2699 New functions (were in simple.el).
9985827f 2700 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2701 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2702 (syms_of_minibuf): Initialize them.
2703
a0fb4492
GM
27042001-10-05 Gerd Moellmann <gerd@gnu.org>
2705
2706 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2707 (tiff_load): Install them as error and warning handler.
2708
0bcf87c1
AI
27092001-10-04 Andrew Innes <andrewi@gnu.org>
2710
2711 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2712 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2713 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2714 (x_to_w32_charset): Handle private format for unknown charsets.
2715 Handle wildcards in charset spec, by ignoring them.
2716 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2717 "*-" prefix from charset.
2718 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2719 handle the truncated font spec form constructed by font_list_1, so
2720 that we correctly identify the charset fields. Don't remove "*-"
2721 prefix from charset.
2722 (w32_list_synthesized_fonts): Fix argument to alloca.
2723
c89e4bc5
GM
27242001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2725
2726 * window.h (MINI_WINDOW_P): Use NILP.
2727
2728 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2729
2730 * termhooks.h (struct input_event): Use proper type for `kind'.
2731
27322001-10-04 Gerd Moellmann <gerd@gnu.org>
2733
2734 This handles unknown keysyms better than before. For example,
2735 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2736 Emacs formerly completely ignored F5. With the change, it derives
2737 a key symbol from the name of the X keysym, `ccaron' in this case.
2738 Reported by Martin Buchholz.
2739
2740 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2741 unknown keysyms.
2742
2743 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2744 that EVENT->code isn't a function key, use the keysym's name.
2745
27462001-10-04 Gerd Moellmann <gerd@gnu.org>
2747
2748 FOREACH is a macro that should make it easier to loop over Lisp
2749 lists with checks for cycles and proper lists.
2750
2751 * lisp.h (LIST_END_P, FOREACH): New macros.
2752
27532001-10-04 Gerd Moellmann <gerd@gnu.org>
2754
2755 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2756 called for a lost connection. Prevent dumping core in this case.
2757 Instead print the X error, and exit. On user request.
2758
2759 * xterm.c (error_msg): New variable.
2760 (x_fatal_error_signal): New function.
2761 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2762 as fatal_error_signal_hook around the call to XtCloseDisplay.
2763
2764 * emacs.c (fatal_error_signal_hook): New variable.
2765 (fatal_error_signal): Call that function.
2766
27672001-10-04 Gerd Moellmann <gerd@gnu.org>
2768
2769 With this, Emacs prints how much pure storage it will
2770 approximately need in case pure storage overflows while dumping.
2771
2772 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2773 New variables.
2774 (init_alloc_once): Initialize new variables.
2775 (PURE_POINTER_P): Use new variables.
2776 (pure_alloc): If pure storage overflows, allocate from the heap.
2777 (check_pure_size): New function.
2778 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2779
2780 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2781 (check_pure_size): Add prototype.
2782
2783 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2784
27852001-10-04 Gerd Moellmann <gerd@gnu.org>
2786
2787 This adds a post-gc-hook that's run with GC inhibited.
2788 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2789
2790 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2791 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2792 (Fgarbage_collect): Run post-gc-hook.
2793
27942001-10-04 Gerd Moellmann <gerd@gnu.org>
2795
2796 This adds `defvaralias' and `indirect-variable'. Changes not
2797 directly related to this feature are there to gain the same
2798 performance again as before variable aliases.
2799
2800 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2801 code to get and set symbol values, to take defvaralias into account.
2802
2803 (Note: the new `constant' bit-flag in symbols would make it
2804 possible to define arbitrary read-only variables, e.g. with
2805 `defconst'.)
2806
2807 Documentation is in lispref/variables.texi. Added to NEWS.
2808
2809 * lisp.h (enum symbol_interned): New enumeration.
2810 (struct Lisp_Symbol): Remove member `obarray', add
2811 `indirect_variable', `constant', and `interned'.
2812 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2813 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2814 (indirect_variable): Add prototype.
2815
2816 * print.c (print_preprocess, print_object): Test internedness of
2817 symbols differently.
2818
2819 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2820 bit-fields.
2821 (init_obarray): Likewise for t and nil.
2822
2823 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2824 (Fdefvaralias): New function.
2825 (specbind): Simplify the test if symbol is a constant.
2826 (syms_of_eval): Defsubr Fdefvaralias.
2827
2828 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2829 (Qcyclic_variable_indirection): New variable.
2830 (Fkeywordp): Check for internedness differently.
2831 (Fmakunbound): Simplify the test if symbol is a constant.
2832 (indirect_variable, Findirect_variable): New functions.
2833 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2834 aliased symbol.
2835 (let_shadows_buffer_binding_p): Check for variable aliases.
2836 (set_internal): Simplify the test if SYMBOL is a constant.
2837 If SYMBOL has a buffer-local value and is an alias, use the aliased
2838 symbol instead.
2839 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2840 Sindirect_variable.
2841
2842 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2843 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2844 set directly.
2845
2846 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2847
2848 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2849 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2850 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2851
ab952a4f
GM
28522001-10-04 Gerd Moellmann <gerd@gnu.org>
2853
2854 * Branch for 21.1.
b56ba8de 2855
ba88ff28
MB
28562001-10-03 Miles Bader <miles@gnu.org>
2857
2858 * callproc.c (syms_of_callproc): Explicitly state in the
2859 documentation for `process-environment' that earlier entries take
2860 precedence over later ones.
2861
ae1a9581
MB
28622001-10-02 Miles Bader <miles@gnu.org>
2863
2864 * textprop.c (Fnext_char_property_change)
2865 (Fprevious_char_property_change): Remove reference to non-existant
2866 argument OBJECT from doc-string.
2867
257e3f57
GM
28682001-10-01 Gerd Moellmann <gerd@gnu.org>
2869
2870 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2871 (try_window_id): Skip back over lines ending in a newline from a
2872 string.
2873
2874 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2875 New bit flag
2876
c1f29759
RS
28772001-10-01 Richard M. Stallman <rms@gnu.org>
2878
2879 * search.c (Freplace_match): Doc fix.
2880
c30dce3d
AI
28812001-09-28 Andrew Innes <andrewi@gnu.org>
2882
2883 * w32menu.c (set_frame_menubar): Take into account that
2884 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2885 <raeburn@gnu.org>.
2886
03be5931
EZ
28872001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2888
2889 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2890
75bec752
PJ
28912001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2892
2893 * s/gnu-linux.h: Fix a typo in comment.
2894
83100e0a
AS
28952001-09-28 Andreas Schwab <schwab@suse.de>
2896
2897 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2898 nocombreloc, in case -z combreloc is the default.
2899
a74b48cf
GM
29002001-09-28 Gerd Moellmann <gerd@gnu.org>
2901
2902 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2903 really going on here.
2904
09c4719e
SM
29052001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2906
2907 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2908
f7d5d963
EZ
29092001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2910
2911 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2912 utf-8, menu-bar, and latin-N.
2913 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2914 unconditionally now.
2915 (lisp): Add latin-N, since they are preloaded.
2916
9240e746
GM
29172001-09-27 Gerd Moellmann <gerd@gnu.org>
2918
14531065
GM
2919 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2920 to the left. Some cleanup.
2921
9240e746
GM
2922 * xdisp.c (display_mode_element): One more case where a string's
2923 multibyteness should be used for display.
2924
edd1e654
GM
29252001-09-26 Gerd Moellmann <gerd@gnu.org>
2926
b02439c8
GM
2927 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2928 reading at EOF.
2929
032906b1 2930 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2931 of the only temporarily set echoing flag for deciding when
032906b1
GM
2932 the cancel echoing.
2933
2934 * keyboard.c (echo_kboard): Make externally visible.
2935
2936 * lisp.h (echo_kboard): Declare extern.
2937
cb617e7c 2938 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2939 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2940 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2941 this round of redisplay if make_cursor_line_fully_visible fails.
2942 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2943 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2944
2945 * dispextern.h (required_matrix_width, required_matrix_height):
2946 Add prototypes.
2947
09c4719e
SM
2948 * dispnew.c (required_matrix_width, required_matrix_height):
2949 New functions.
cb617e7c 2950 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2951 (allocate_matrices_for_frame_redisplay: Use them.
2952 Remove parameters CH_DIM.
cb617e7c 2953
edd1e654
GM
2954 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2955 and selected_window to the frame of the window whose mode-lines
2956 are displayed, and to the window itself.
2957 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2958 here.
edd1e654 2959
924b604c
GM
29602001-09-25 Gerd Moellmann <gerd@gnu.org>
2961
daba7643
GM
2962 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2963 the image cache under us.
2964
b7a22712 2965 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2966 with a string value, use that string's multibyteness for displaying.
b7a22712 2967
ad648212
GM
2968 * keyboard.c (read_char): Don't clear a message for a switch-frame
2969 event. From Stefan Monnier <monnier@cs.yale.edu>.
2970
9f8531e5
GM
2971 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2972 version for after 21.1.
2973
2974 * xdisp.c (row_containing_pos): Make externally visible.
2975
2976 * dispextern.h (row_containing_pos): Add prototype.
2977
924b604c
GM
2978 * process.c (send_process): Disable composition if from_byte < 0.
2979 From Kenichi Handa <handa@etl.go.jp>.
2980
6f3f0db4
GM
29812001-09-24 Gerd Moellmann <gerd@gnu.org>
2982
c69c0ebc
GM
2983 * xterm.c (refreshicon): Function removed.
2984
d1182bc4
GM
2985 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2986
2987 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2988
2989 * xterm.c (toplevel): Remove includes in #if 0.
2990
6f3f0db4
GM
2991 * process.c (sigchld_handler) [LINUX]: Don't return from
2992 the signal handler at the end of the loop.
2993
59957f85
GM
29942001-09-21 Gerd Moellmann <gerd@gnu.org>
2995
09c4719e
SM
2996 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2997 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2998
a0528984
EZ
29992001-09-21 Markus Rost <rost@math.ohio-state.edu>
3000
3001 * Makefile.in (shortlisp): Add ../lisp/env.elc.
3002
db92b288
GM
30032001-09-20 Gerd Moellmann <gerd@gnu.org>
3004
3fed8ad5
GM
3005 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
3006 since this function can be called during GC.
3007
db92b288
GM
3008 * callproc.c (Fcall_process): Handle errors from pipe(2).
3009 (child_setup): Delete code in #ifdef vipc.
3010
7121b85a
GM
30112001-09-19 Gerd Moellmann <gerd@gnu.org>
3012
72f62cb5
GM
3013 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
3014 (display_mode_element): Display the string from decode_mode_spec
3015 depending on its multibyteness.
3016
a2697022
GM
3017 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
3018
7121b85a
GM
3019 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
3020
bfc97351
GM
30212001-09-18 Gerd Moellmann <gerd@gnu.org>
3022
c9063433
GM
3023 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
3024 recursive_edit_unwind.
3025 (recursive_edit_unwind): Set kboard state according to
3026 SINGLE-KBOARD.
3027
3fbdba3e
GM
3028 * buffer.c (modify_overlay): Don't do nothing if START == END;
3029 This can still be a modification, for example when an overlay has
3030 a before-string or after-string.
3031 (Fdelete_overlay): Prevent redisplay optimizations when deleting
3032 an overlay with before-string or after-string.
3033
1270031d
GM
3034 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
3035 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
3036
bfc97351
GM
3037 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
3038 first_unchanged_at_end_row is in front of
3039 last_unchanged_at_beg_row. This code should be removed after the
3040 release of 21.1.
3041
d8a973aa
GM
30422001-09-17 Gerd Moellmann <gerd@gnu.org>
3043
e18c8b8d
GM
3044 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
3045 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
3046
d8a973aa
GM
3047 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
3048 versions >= 2.95.
3049
ed7d6ba4
EZ
30502001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
3051
3052 * dired.c (Ffile_attributes): Doc fix.
3053
551629f9
GM
30542001-09-14 Gerd Moellmann <gerd@gnu.org>
3055
3056 * fileio.c (Ffile_symlink_p): Fix last change.
3057
3058 * filelock.c (current_lock_owner): Fix last change.
3059
4c8c7926
GM
30602001-09-13 Gerd Moellmann <gerd@gnu.org>
3061
620c4704
GM
3062 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3063 take that to mean that the buffer is too small.
3064
81c3310d
GM
3065 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3066 that to mean that the buffer is too small.
3067
06fd3792
GM
3068 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3069 current buffer's multibyteness when discarding the iterator's
3070 stack.
3071
4c8c7926
GM
3072 * xfns.c (Fx_window_property): Handle case that property gets
3073 deleted between the two calls to XGetWindowProperty.
3074
9a72e4c1
GM
30752001-09-11 Gerd Moellmann <gerd@gnu.org>
3076
bd819d14 3077 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3078
a41edd99
GM
3079 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3080 in addition to read-only.
3081
3082 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3083 to t in addition to read-only.
3084
3085 * lisp.h (Qinhibit_modification_hooks): Declare.
3086
3087 * insdel.c (Qinhibit_modification_hooks): New variable.
3088 (syms_of_insdel): Initialize and staticpro it.
3089
d4881c6a
GM
3090 * textprop.c (verify_interval_modification): Don't run
3091 modification-hooks if inhibit_modification_hooks.
3092
3093 * dispnew.c (set_window_cursor_after_update): Fix code
3094 finding glyph row containing cursor when cursor_in_echo_area
3095 is >= 0.
3096
9a72e4c1
GM
3097 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3098 (add_to_log): Use bcopy instead of strcpy.
3099 (init_from_display_pos): Use an explicit loop over bytes in
3100 overlay strings instead of calling index.
3101
f4a374a1
GM
31022001-09-10 Gerd Moellmann <gerd@gnu.org>
3103
300e57bd
GM
3104 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3105
3106 * dispnew.c (direct_output_for_insert): Don't change IT's
3107 stop_charpos to something in front of its current position.
3108
f4a374a1
GM
3109 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3110 `format'.
3111
7e4cbc91
RS
31122001-09-10 Richard M. Stallman <rms@gnu.org>
3113
3114 * frame.c (Fmouse_position): Doc fix.
3115
6afad91e
GM
31162001-09-07 Gerd Moellmann <gerd@gnu.org>
3117
3118 * xdisp.c (init_from_display_pos): Don't compare the result
3119 of calling index with NULL.
3120
f76e0368
GM
31212001-09-06 Gerd Moellmann <gerd@gnu.org>
3122
3123 * xfns.c (x_set_background_color): Don't change the colors
3124 of the X window of scroll bar widgets.
3125
9ead1b60
AI
31262001-09-05 Andrew Innes <andrewi@gnu.org>
3127
3128 * w32fns.c (w32_createwindow): Undo last change.
3129
c3b497b3
GM
31302001-09-05 Gerd Moellmann <gerd@gnu.org>
3131
08e1d6df
GM
3132 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3133
c3b497b3
GM
3134 * xdisp.c (string_buffer_position): Use *single_char_property*
3135 functions instead of the *single_property* functions.
b56ba8de 3136
8f860180
AI
31372001-09-04 Andrew Innes <andrewi@gnu.org>
3138
9a72e4c1
GM
3139 * w32term.c (w32_read_socket): Add more information to debugging
3140 output.
8f860180
AI
3141
3142 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3143 from Emacs frames, so that calls to GetClipBox in w32term.c
3144 correctly report when part of a frame is visible (including
3145 scrollbars, etc). This prevents repeated redrawing of frames when
3146 only a scrollbar is visible.
3147 (w32_wnd_proc): Add more frame information to debugging output.
3148
2ee1aa00
SM
31492001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3150
3151 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3152
e3b22517
GM
31532001-09-03 Gerd Moellmann <gerd@gnu.org>
3154
7e376260
GM
3155 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3156 help-echo for a string which doesn't have help-echo itself, use
3157 get-char-property to obtain the help-echo from the string's buffer
3158 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3159 have mouse-face, look ``under'' the string for mouse-face from an
3160 overlay.
3161 (fast_find_position): Add parameter STOP. In the final row, stop
3162 before glyphs having STOP as object. Don't consider glyphs that
3163 are not from a buffer.
3164
e3b22517
GM
3165 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3166
9a249bba
EZ
31672001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3168
3169 * fns.c (Fmd5): Doc fix.
3170
c9979669
GM
31712001-08-31 Gerd Moellmann <gerd@gnu.org>
3172
3173 * composite.c (update_compositions): Do nothing if
3174 inhibit-modification-hooks is set.
3175
9584e63a
GM
31762001-08-30 Gerd Moellmann <gerd@gnu.org>
3177
986ec8f2 3178 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3179 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3180 glyph matrices etc. in a core dump.
3181
92a25631
GM
3182 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3183 (syms_of_xdisp): Initialize them.
3184 (handle_single_display_prop): Don't change point, bind `object',
3185 `position', and `buffer-position' instead to the object having the
2ee1aa00 3186 `display' property, position in the object and position in the buffer.
92a25631 3187
9584e63a
GM
3188 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3189 of the buffer if REPLACE is non-nil.
3190
d38633a3
GM
31912001-08-29 Gerd Moellmann <gerd@gnu.org>
3192
3193 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3194
f4fccc1e
EZ
31952001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3196
3197 * w32term.c (x_set_glyph_string_background_width)
3198 (show_mouse_face): Track the last changes in xterm.c.
3199
eaaa65b0
GM
32002001-08-28 Gerd Moellmann <gerd@gnu.org>
3201
7b0870b2
GM
3202 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3203 string's background width so that multi-line mouse-face is drawn
3204 to the right edge of the window.
3205 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3206 glyphs.
3207
6b6e2422 3208 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3209 before inserting/writing glyphs.
6b6e2422 3210
eaaa65b0
GM
3211 * xdisp.c (display_mode_element): Use string_byte_to_char to
3212 determine character positions in strings, use chars_in_text
3213 instead of strwidth.
3214 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3215 a matrix as parameter; this is easier to use from GDB.
3216
9ad62cf8
MB
32172001-08-28 Miles Bader <miles@gnu.org>
3218
2ee1aa00
SM
3219 * textprop.c (Fprevious_single_char_property_change)
3220 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3221
32171635
GM
32222001-08-27 Gerd Moellmann <gerd@gnu.org>
3223
47d57b22
GM
3224 * fileio.c (Finsert_file_contents): Allocate, restore, and
3225 free composition data in the case of REPLACE not being nil.
3226
3227 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3228 there exist overlay strings with newlines at POS.
3229 (text_outside_line_unchanged_p): Return 0 if changes start at
3230 START and overlays exist at START. Likewise for END.
3231 (try_window_id): Give up if init_to_row_end returns 0.
3232
32171635
GM
3233 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3234 unconditionally.
3235
e1249666
GM
32362001-08-24 Gerd Moellmann <gerd@gnu.org>
3237
33954c45
GM
3238 * keymap.c (access_keymap): Return the cdr of the binding of
3239 a generic character instead of its definition (KEY . BINDING).
3240
e1249666
GM
3241 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3242 to 0 also in the REPLACE case.
3243
fb4c6c96
AC
32442001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3245
3246 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3247 open to determine whether file is readable (as for DOS_NT).
3248
59ecf80b
GM
32492001-08-23 Gerd Moellmann <gerd@gnu.org>
3250
3251 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3252 coding.type is coding_type_no_conversion or coding_type_raw_text,
3253 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3254 non-nil instead of just setting enable_multibyte_characters in the
3255 buffer to nil.
3256
40e33037
GM
32572001-08-22 Gerd Moellmann <gerd@gnu.org>
3258
374388c3
GM
3259 * dispextern.h (struct face_cache): Add member
3260 menu_face_changed_p.
3261
3262 * xfaces.c (menu_face_changed_default): New variable.
3263 (menu_face_changed_count): Variable removed.
3264 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3265 the menu_face_changed_default flag, otherwise set the FRAME's
3266 menu_face_changed_p flag if the `menu' face has been changed.
3267 Prevent calling set_font_frame_param if FRAME is t.
3268 (make_face_cache): Initialize cache's menu_face_changed_p
3269 from menu_face_changed_default.
3270 (realize_basic_faces): Look into the frame's face cache to
3271 determine if the menu appearance needs updating.
3272
40e33037
GM
3273 * keymap.c (access_keymap): Fix last change to not consider
3274 IDX when it has modifiers.
3275
859ea4b8
GM
32762001-08-21 Gerd Moellmann <gerd@gnu.org>
3277
3278 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3279 . BINDING) exists, where GENERIC-CHAR is the generic character of
3280 the charset of IDX, return BINDING unless there exists a binding
3281 for IDX itself.
3282
e8660d73
GM
32832001-08-16 Gerd Moellmann <gerd@gnu.org>
3284
cca1b1d7
GM
3285 * xrdb.c (SYSV): Don't define on Solaris 2.
3286 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3287
e8660d73 3288 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3289 of the screen line, not text line, containing IT's current position.
e8660d73 3290
93aba6fc
GM
32912001-08-15 Gerd Moellmann <gerd@gnu.org>
3292
288d4e06
GM
3293 * window.c (window_scroll_pixel_based): Don't recenter if
3294 PT is partially visible in the window.
3295
3452efc2
SM
3296 * xterm.c (expose_window_tree, expose_window, expose_line):
3297 Return 1 when overwriting mouse-face.
82f053ab
GM
3298 (expose_frame): If mouse-face was overwritten, redo it.
3299
93aba6fc
GM
3300 * xfaces.c (x_update_menu_appearance): Don't call
3301 set_frame_menubar, let the next redisplay do it.
3302
858a55c1
AI
33032001-08-14 Andrew Innes <andrewi@gnu.org>
3304
3305 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3306 drawing glyph string.
3307
3a990b67
EZ
33082001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3309
3310 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3311 running HI-UX/MPP.
3312
04386463
GM
33132001-08-14 Gerd Moellmann <gerd@gnu.org>
3314
3315 * xfaces.c (x_update_menu_appearance): Save and restore value of
3316 interrupt_input_blocked.
3317
3e6385a4
GM
33182001-08-13 Gerd Moellmann <gerd@gnu.org>
3319
b0e619b4
GM
3320 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3321 a line start, move back to the line start.
3452efc2 3322
0de73d5a
GM
3323 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3324 exactly when a mini-buffer is active.
3325
3e6385a4
GM
3326 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3327 in units of 1/8 character on non window-system frames.
3328 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3329
d1b5f629
EZ
33302001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3331
3332 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3333 a doc string.
3334
eaa2319f
GM
33352001-08-09 Gerd Moellmann <gerd@gnu.org>
3336
8e3189f0
GM
3337 * keyboard.c (Vpre_help_message): New variable.
3338 (syms_of_keyboard): Initialize and staticpro it.
3339 (show_help_echo): Record current message before displaying a
3340 help-echo, and restore that message when clearing the help.
3341
eaa2319f
GM
3342 * xfns.c (x_create_im): Remove prototype.
3343
3344 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3345
3346 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3347
eaa2319f
GM
33482001-08-08 Gerd Moellmann <gerd@gnu.org>
3349
3350 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3351 windows whose height has changed, disable partially visible lines.
eaa2319f 3352
17fdcfc8
GM
33532001-08-07 Gerd Moellmann <gerd@gnu.org>
3354
22d01aed 3355 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3356 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3357
17fdcfc8
GM
3358 * xdisp.c (start_display): Don't try to determine the continuation
3359 lines width if lines are truncated. It's superfluous and leads to
3360 incorrect results if POS is not visible in the window after
3361 reseating the iterator at the previous line start.
3362
8e3fe78e
GM
33632001-08-06 Gerd Moellmann <gerd@gnu.org>
3364
3365 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3366
98a8938c
GM
33672001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3368
3369 * alloc.c (init_stack): Remove declaration.
3370
18f9986a
GM
33712001-08-03 Gerd Moellmann <gerd@gnu.org>
3372
5e1f85e0
GM
3373 * keyboard.c (read_key_sequence): Check that key is an integer
3374 before comparing it with quit_char.
3375 (add_command_key): Use larger_vector.
3376 (read_char_x_menu_prompt): Instead of converting symbol and
3377 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3378 which cannot be confused with valid events.
5e1f85e0
GM
3379 (read_char): When reading from Vunread_command_events, check for
3380 events of the form (EVENT . disabled) instead of
3381 (EVENT . nil).
3382
18f9986a
GM
3383 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3384 a float, determine the max height from the frame's height.
3385
fbc7f2a6
GM
33862001-08-02 Gerd Moellmann <gerd@gnu.org>
3387
3388 * xdisp.c (redisplay_internal): Take message_cleared_p into
3389 account only if minibuf_level == 0.
3390
81b1a79d
GM
33912001-08-01 Gerd Moellmann <gerd@gnu.org>
3392
e5c60873
GM
3393 * xdisp.c (redisplay_internal): Add a check for the last
3394 displayed message.
3452efc2 3395
6e019995
GM
3396 * xdisp.c (message_cleared_p): New variable.
3397 (clear_message): Set message_cleared_p when clearing the current
3398 message.
3399 (redisplay_internal): Look at message_cleared_p to capture
3400 the case that the echo area should be cleared.
3401
308a74d8
GM
3402 * keyboard.c (command_loop_1): Fix spelling of
3403 resize_echo_area_exactly.
3404
3452efc2 3405 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3406
3407 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3408
81b1a79d
GM
3409 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3410 current matrix when the window gets smaller.
3411
ada329e6
EZ
34122001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3413
3414 * print.c (strout): Cast the character passed to insert_char to
3415 unsigned char, to avoid sign extension when it is promoted to int.
3416
ed86208c
GM
34172001-07-31 Gerd Moellmann <gerd@gnu.org>
3418
3419 * fileio.c (Finsert_file_contents): Don't treat a return value
3420 of 0 from emacs_read as an IO error.
3421
6594ac22
GM
34222001-07-30 Gerd Moellmann <gerd@gnu.org>
3423
cef68af5
GM
3424 * keyboard.c (abs): New macro.
3425 (double_click_fuzz): New variable.
3426 (make_lispy_event): Use it to determine what makes a double-click.
3427 (syms_of_keyboard): DEFVAR_INT it.
3428
6594ac22
GM
3429 * xmenu.c (set_frame_menubar): Take into account that
3430 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3431 <raeburn@gnu.org>.
3432
75c5350a
GM
34332001-07-27 Gerd Moellmann <gerd@gnu.org>
3434
3435 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3436
3437 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3438 of row's visible height.
3439
3440 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3441 deal with the first overlay string having an image `display' property.
3442 (try_window_reusing_current_matrix, compute_line_metrics):
3443 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3444 row is invisible above and part of the row is at the same time
3445 invisible below the window.
3446
ac49effe
GM
34472001-07-26 Gerd Moellmann <gerd@gnu.org>
3448
3449 * xfns.c (x-show-tip): Doc fix.
3452efc2 3450
ac49effe
GM
3451 * xfns.c (Vx_max_tooltip_size): New variable.
3452 (syms_of_xfns): DEFVAR_LISP it.
3453 (Fx_show_tip): Set frame's window_width to the width of the
3454 window. Use a maximum tooltip size specified by
3455 Vx_max_tooltip_size, if that has valid contents.
3456 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3457
8c3b00cb
AI
34582001-07-26 Andrew Innes <andrewi@gnu.org>
3459
3460 * w32term.c (x_display_list): New variable.
3461 (w32_term_init): Set it.
3462
3463 * w32term.h (x_display_list): New extern.
3464
16098288
GM
34652001-07-26 Gerd Moellmann <gerd@gnu.org>
3466
3467 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3468 is non-nil, instead of when redisplaying_p is non-zero.
3469 See comment there.
16098288
GM
3470 (mark_window_display_accurate_1): Add an assertion.
3471
64c5be50
GM
34722001-07-25 Gerd Moellmann <gerd@gnu.org>
3473
e743f599
GM
3474 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3475
563b384d
GM
3476 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3477 events so that we get a chance of processing expose events.
3478
64c5be50
GM
3479 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3480
296808a5
GM
34812001-07-24 Gerd Moellmann <gerd@gnu.org>
3482
3483 * xfns.c (valid_image_p): Protect better against invalid image
3484 specifications. Previous code could signal an error.
3485
5247262a
GM
34862001-07-23 Gerd Moellmann <gerd@gnu.org>
3487
3452efc2 3488 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3489 presence of display table entries.
3490 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3491
dd42b31a
GM
3492 * dispnew.c (adjust_glyph_matrix): In the optimization for
3493 windows whose height has changed, use the new window height
3494 to compute which rows to invalidate.
3495
9e5a7f2a
GM
3496 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3497 (MAX_10_EXP): New macro.
3498 (Fformat): Use it.
3499
5247262a
GM
3500 * coding.c (code_convert_region): Handle the multibyte case if
3501 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3502
177ab8ce
GM
35032001-07-20 Gerd Moellmann <gerd@gnu.org>
3504
6e07c0a5
GM
3505 * dispextern.h (struct face): Change type of `stipple' to
3506 int; it's an ID.
3507
177ab8ce
GM
3508 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3509
b5b80599
GM
35102001-07-19 Gerd Moellmann <gerd@gnu.org>
3511
4e2a256b
GM
3512 * dispnew.c (update_window): Don't set the cursor at the end
3513 of the update if display update has been paused.
3514
3452efc2 3515 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3516
c1fd9232
KR
35172001-07-18 Ken Raeburn <raeburn@gnu.org>
3518
3519 * fns.c (Fset_char_table_default): Check that a charset is defined
3520 before checking its dimension.
3521
928a85c1
KR
35222001-07-17 Ken Raeburn <raeburn@gnu.org>
3523
3524 * coding.c (setup_coding_system): Don't do any designation based
3525 on reg_bits if charset is not yet defined.
3526
fb4c6c96 3527 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3528 pointer, using eassert.
3529
de11c1ea
GM
35302001-07-17 Gerd Moellmann <gerd@gnu.org>
3531
3452efc2
SM
3532 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3533 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3534
467f1209
GM
35352001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3536
3537 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3538
c3d6be34
GM
35392001-07-16 Gerd Moellmann <gerd@gnu.org>
3540
c1d61a7d
GM
3541 * fileio.c (unwind_read): Function removed.
3542 (read_non_regular, read_non_regular_quit): New functions.
3543 (Finsert_file_contents): When reading from non-regular files,
3544 arrange to catch a `quit' and terminate the loop. Rearrange
3545 code so that a `quit' when reading from a regular file doesn't
3546 insert text in the buffer.
3547
c3d6be34
GM
3548 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3549 Clear faces afterwards.
3550 (clear_font_table): Take a x_display_info parameter. Don't free
3551 fonts being the default font of any frame on the given display.
3552
e06aa1f9
GM
35532001-07-13 Gerd Moellmann <gerd@gnu.org>
3554
3555 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3556 instead of CHAR_STRING which can signal an error.
3557
3558 * charset.c (char_to_string_1): Extracted from char_to_string.
3559 Return -1 instead of signaling an error.
3560 (char_to_string): Use it.
3561
3562 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3563
176c92e6
SM
35642001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3565
3566 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3567 is t, don't try to append anything to it.
3568
1c56232f
EZ
35692001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3570
3571 * dired.c (file_name_completion): Pass dp->d_name to
3572 Fstring_match, not elt, which is always nil here.
3573
1d2b2268
GM
35742001-07-12 Gerd Moellmann <gerd@gnu.org>
3575
3576 * xselect.c (x_decline_selection_request): Handle errors
3577 caused by receivers that have vanished.
3578
3579 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3580 ignoring events on foreign windows in #if 0. Always dispatch
3581 the event after checking it with x_handle_property_notify.
3582
3583 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3584 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3585 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3586 (toplevel): Add prototypes for file-local functions.
3587 (x_atom_to_symbol): Remove DPYINFO parameter.
3588
fe5a0162
SM
35892001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3590
3591 * w32menu.c (menubar_selection_callback, w32_menu_show):
3592 Initialize `entry' to nil.
3593 (w32_dialog_show): Remove unused `save_wv' variable.
3594 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3595
a777242c
GM
35962001-07-11 Gerd Moellmann <gerd@gnu.org>
3597
8ee5b6a3
GM
3598 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3599
d0e2444e
GM
3600 * fileio.c (unwind_read): Print a message when discarding inserted
3601 text or switching the buffer to unibyte. Change parameter.
3602 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3603
a777242c
GM
3604 * fileio.c (unwind_read): New function.
3605 (Finsert_file_contents): Record it as unwind-function for
3606 the case that reading is interrupted by C-g.
3607
ae794295
GM
36082001-07-10 Gerd Moellmann <gerd@gnu.org>
3609
fe5a0162 3610 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3611 update when scrolling_window returns 0.
3612
6b05fae3
GM
3613 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3614
3615 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3616 for the case that x_decode_color signals an error.
6b05fae3 3617
ae794295
GM
3618 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3619
bb6e8cee
GM
36202001-07-09 Gerd Moellmann <gerd@gnu.org>
3621
3622 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3623 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3624 around ioctls.
3625
36b40a8a
EZ
36262001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3627
24b97d4b
EZ
3628 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3629 doc string line for dos-timezone-offset.
3630
36b40a8a
EZ
3631 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3632 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3633 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3634 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3635
3636 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3637
0967b4b0
GM
36382001-07-05 Gerd Moellmann <gerd@gnu.org>
3639
f25cfe53
GM
3640 * sound.c: Include Emacs' header files with #include "...".
3641
0967b4b0
GM
3642 * eval.c (specbind): Additionally record the buffer that was
3643 current when a buffer-local or frame-local variable was bound.
3644
c347a1c3
GM
36452001-07-04 Gerd Moellmann <gerd@gnu.org>
3646
3647 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3648 to unibyte characters in unibyte buffers.
3649
6332ca8a
GM
36502001-07-03 Gerd Moellmann <gerd@gnu.org>
3651
38472d44
GM
3652 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3653 the frame on the binding stack. Change format of entries for
3654 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3655 (unbind_to): Handle unbinding a frame-local variable.
3656
6332ca8a 3657 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3658 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3659 (dump_glyph_row): Print row's continuation_lines_width.
3660 (try_window_id): Take the shortcut if ZV is visible in the
3661 window, but there are actually no changes at ZV.
3662
63d1b174
GM
36632001-07-02 Gerd Moellmann <gerd@gnu.org>
3664
4c175203
GM
3665 * xterm.h (x_free_dpy_colors): Add prototype.
3666
3667 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3668 right number of arguments.
3669
0b54ce28
GM
3670 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3671 ($(lwlibdir)TAGS): New target.
4c175203 3672 (TAGS): Fix dependency list.
0b54ce28 3673
63d1b174
GM
3674 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3675 with input blocked.
3676
d827466c
GM
36772001-06-30 Gerd Moellmann <gerd@gnu.org>
3678
3679 * emacs.c (main): Remove extern declaration for sys_nerr, which
3680 isn't used and causes a compilation error with GCC 3.0 on
3681 FreeBSD 4.3.
3682
b5cb1ada
GM
36832001-06-27 Gerd Moellmann <gerd@gnu.org>
3684
a5d3ec3f 3685 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3686 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3687 (toplevel): Include <signal.h> and syssignal.h.
3688
b5cb1ada
GM
3689 * sound.c (vox_configure, vox_close): Turn off atimers
3690 around ioctls.
3691
d9bad487
GM
36922001-06-26 Gerd Moellmann <gerd@gnu.org>
3693
fdbb67fe
GM
3694 * keyboard.c (read_char) <non_reread>: Record the previous idle
3695 start time before calling timer_stop_idle.
3696 (read_char) <reread_first>: After processing a help-echo event,
3697 restore the previous idle start time.
3698
d9bad487
GM
3699 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3700 the start of invisible text.
3701 (setup_for_ellipsis): New function.
3702 (next_overlay_string): After all overlay strings have been
3703 processed, display an ellipsis if necessary.
3704 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3705 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3706
3707 * dispextern.h (struct iterator_stack_entry): Add member
3708 display_ellipsis_p.
3709
2b9c25e0
GM
37102001-06-25 Gerd Moellmann <gerd@gnu.org>
3711
80de57df
GM
3712 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3713 on the value of the wait-for-wm frame parameter.
3714
3715 * xterm.h (struct x_output): Add member wait_for_wm.
3716
3717 * xfns.c (Qwait_for_wm): New variable.
3718 (x_frame_parms): Add entry for `wait-for-wm".
3719 (x_set_wait_for_wm): New function.
3720 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3721 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3722
2b9c25e0
GM
3723 * xdisp.c (try_window_id) <all changes below window end>: Don't
3724 take this shortcut if ZV is visible in the window.
3725 (try_window_id): When checking for window start being in changed
3726 text, don't check that the buffer's size has changed.
3727
f772775c
RS
37282001-06-23 Richard M. Stallman <rms@gnu.org>
3729
3730 * minibuf.c (Fcompleting_read): Doc fix.
3731
fa9090b8
GM
37322001-06-19 Gerd Moellmann <gerd@gnu.org>
3733
3734 * composite.c (Ffind_composition_internal): Accept ZV
3735 and a string's end position as POS.
3736
f6f1beba
GM
37372001-06-18 Gerd Moellmann <gerd@gnu.org>
3738
3739 * composite.c (Ffind_composition_internal): Check POS
3740 for validity.
3741
0ae83348
EZ
37422001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3743
3744 * editfns.c (Fmessage_box): If the frame is not under a window
3745 system, output the message in the echo area.
3746
e4cdc335
RS
37472001-06-14 Richard M. Stallman <rms@gnu.org>
3748
3749 * xdisp.c (try_window_id): When EOB is visible, don't treat
3750 insertion at EOB as if it were "off the bottom of the screen."
3751
a55a5f3c
AI
37522001-06-11 Andrew Innes <andrewi@gnu.org>
3753
3754 * w32proc.c (create_child): Add new parameter is_gui_app.
3755 (w32_executable_type): Add new parameter is_gui_app.
3756 (sys_spawnve): Use it.
3757 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3758 SIGQUIT. This matches better how the signals are interpreted by
3759 MSVC compiled programs.
3760 (syms_of_ntproc): Update docstring.
3761
1b85dc1c
SM
37622001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3763
3764 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3765 well otherwise note_mouse_highlight might optimize away highlighting
3766 if we pass over that same overlay again.
3767
b75f8eab
EZ
37682001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3769
3770 * lread.c (Fload): Document that the argument is run via
3771 substitute-in-file-name.
3772
94843cc1
GM
37732001-05-31 Gerd Moellmann <gerd@gnu.org>
3774
b14659e6
GM
3775 * Makefile.in (bootstrap-doc): New target.
3776 (bootstrap-emacs): Depend on it.
3777
0894672f
GM
3778 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3779 auto-save-list-file-name when shutting down Emacs, because
3780 creating the directory might signal an error, and leaves
3781 Emacs in a strange state.
3782
94843cc1
GM
3783 * term.c: (tty_cursor_hidden): New variable.
3784 (update_begin): Don't call tty_hide_cursor. Clean up.
3785 (update_end, set_terminal_window, set_scroll_region): Clean up.
3786 (ring_bell, reset_terminal_modes): Clean up.
3787 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3788 on tty_cursor_hidden.
3789 (write_glyphs): Call tty_hide_cursor.
3790
db3a49a6
SM
37912001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3792
3793 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3794
8bd189fb
GM
37952001-05-30 Gerd Moellmann <gerd@gnu.org>
3796
6f1be3b9
GM
3797 * xfns.c (enum image_value_type): New enumerator
3798 IMAGE_STRING_OR_NIL_VALUE.
3799 (parse_image_spec): Handle it.
3800 (xbm_format, pbm_format): Use it for :foreground and :background.
3801 (xbm_load, pbm_load): Check for nil color names.
3802
8bd189fb
GM
3803 * xterm.c (note_mouse_highlight): If an overlapping overlay
3804 exists, but we find that we highlight the same overlay as before,
3805 don't do the highlighting again.
3806
7bdba03c
GM
38072001-05-29 Gerd Moellmann <gerd@gnu.org>
3808
4c329aa8
GM
3809 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3810 Protect unibyte strings created by replacing their multibyte
3811 equivalents in menu_items.
3812
e15e2828
GM
3813 * keymap.c (Fsingle_key_description): NUL-terminate the string
3814 buffer before calling build_string.
3815
7bdba03c
GM
3816 * callproc.c (Fcall_process): Deal with decode_coding returning
3817 CODING_FINISH_INCONSISTENT_EOL.
3818
89c8dc6c
GM
38192001-05-28 Gerd Moellmann <gerd@gnu.org>
3820
db3a49a6 3821 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3822 an item's name with its key description in case the description
3823 is a multibyte string.
3824
3825 * keymap.c (Fsingle_key_description): Create a multibyte string
3826 only if necessary.
3827
eb04d6cd
GM
3828 * macros.c (Fstart_kbd_macro): Doc fix.
3829
8bd6307f
GM
3830 * xterm.c (cursor_in_mouse_face_p): New function.
3831 (x_draw_stretch_glyph_string): Use it to choose a different GC
3832 when drawing a cursor within highlighted text.
3833
e26c4089
GM
3834 * editfns.c (char_property_eq): Put in #if 0.
3835
3836 * indent.c (string_display_width): Put in #if 0.
3837
3838 * lread.c (Fload): Remove unused label.
3839
89c8dc6c
GM
3840 * termcap.c (speeds): Put in #if 0.
3841
9a1211f2
GM
38422001-05-18 Gerd Moellmann <gerd@gnu.org>
3843
29148a3f
GM
3844 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3845
9a1211f2
GM
3846 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3847 transformation matrix by 10.
3848
09393d07
GM
38492001-05-16 Gerd Moellmann <gerd@gnu.org>
3850
3851 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3852 only if it's equal to the former foreground pixel color.
db3a49a6 3853 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3854 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3855
460e6bae
GM
38562001-05-16 Dave Love <fx@gnu.org>
3857
3858 * insdel.c (signal_before_change, signal_after_change): Consider a
3859 local change hook which changes the buffer.
99c78ce8
GM
3860
3861 * process.c (read_process_output): Don't call signal_after_change
3862 and update_compositions after insert_from_string_before_markers.
3863
dbcf3c03
GM
38642001-05-16 Gerd Moellmann <gerd@gnu.org>
3865
a90b3d3c
GM
3866 * xfaces.c (split_font_name): Use the right field when
3867 checking for `[...]' syntax.
3868
1b7818b4
GM
3869 * buffer.c (copy_overlays): New function.
3870 (clone_per_buffer_values): Use it.
3871
3872 * buffer.h (OVERLAY_PLIST): New macro.
3873
9bae8781
GM
3874 * keymap.c (Fsingle_key_description): Replace a build_string with
3875 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3876
dbcf3c03
GM
3877 * fontset.c (Ffontset_info): Check that face is non-null
3878 before accessing its fields.
3879
8a1ae4dd
GM
38802001-05-15 Gerd Moellmann <gerd@gnu.org>
3881
18a0a39e
GM
3882 * keyboard.c (read_key_sequence): Prevent generating a fake
3883 prefix key twice.
3884
e335b66a
GM
3885 * xfaces.c (split_font_name): Handle `[...]' for the right
3886 font name fields.
3887
8a1ae4dd
GM
3888 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3889 of CCL_STAT_INVALID_CMD.
3890
3cf80731
SM
38912001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3892
33568849
SM
3893 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3894 in <var> has no default value yet.
3895
3cf80731
SM
3896 * xfaces.c (try_alternative_families): First try the FAMILY.
3897 And if nothing is found in the end, try again with scalable fonts.
3898 (try_font_list): Let try_alternative_families do a bit more of
3899 the work. Only use FAMILY if it is not nil.
3900 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3901
933b0249
GM
39022001-05-14 Gerd Moellmann <gerd@gnu.org>
3903
58e5af83
GM
3904 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3905 pointer shape when show_mouse_face has already done it.
33568849 3906
58e5af83 3907 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3908 full-width rows.
3909
7b16a6bf
GM
3910 * xfaces.c (split_font_name): Make sure to leave the loop
3911 with the right value of `i'.
3cf80731 3912
933b0249
GM
3913 * xfaces.c (split_font_name): Handle matrix transformations
3914 in the pixel and point size fields of XLFD font names.
3915 (xlfd_point_size): Likewise.
3916
dddcbf00
EZ
39172001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3918
3cf80731 3919 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3920 (x_to_w32_font): Add prototype.
3921
7689ef0b
EZ
3922 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3923 redefining, to avoid compiler warnings.
3924
e7c15bba
EZ
3925 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3926
dddcbf00
EZ
3927 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3928 (w32_get_bdf_glyph): Cast between unsigned char and char when
3929 passing arguments to subroutines, to shut up compiler warnings.
3930 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3931 GET_HEX_VAL.
3932
3933 * xfaces.c: Include keyboard.h before frame.h, not after it.
3934
3935 * widget.c: Include keyboard.h before frame.h.
3936
3937 * w32term.h (struct image, struct face): Forward declaration, to
3938 avoid compiler warnings.
3939
7bd2d083
GM
39402001-05-11 Gerd Moellmann <gerd@gnu.org>
3941
47e72862
GM
3942 * keyboard.c (read_key_sequence): Don't modify events when
3943 generating fake prefix keys (mode-line, scroll-bar, ...) since
3944 this prevents proper processing of such events when pushed back
3945 into unread-command-events.
3946
dd5f324b
GM
3947 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3948 actually redrawn. Make the function static.
3949 (note_mouse_highlight): Fix a case where the mouse cursor
3950 was changed back to the text cursor.
3951
3952 * xterm.h (clear_mouse_face): Remove prototype.
3953
d88a79d4
GM
3954 * xdisp.c (try_window_id): Fix the fix and set the right
3955 window_end_vpos.
3956
3957 * xdisp.c (try_window_id): Fix computation of window end in the
3958 case that lines were deleted at the end of the window. Add some
3959 more debug_method_adds.
0416532f 3960
7bd2d083
GM
3961 * xfaces.c (try_alternative_families): New function.
3962 (try_font_list): Use it. If ATTRS specifies a family, check
3963 fonts from that family first.
3964 (choose_face_font): Remove code setting the family part of
3965 the pattern to nil.
3966
23fca891
GM
39672001-05-10 Gerd Moellmann <gerd@gnu.org>
3968
ff9aa2ca
GM
3969 * xdisp.c (try_window_id): Fix case of all changes before
3970 the window start.
7b2654b5 3971
23fca891
GM
3972 * xdisp.c (try_window_id): Add some xasserts.
3973
e9726794
GM
39742001-05-09 Gerd Moellmann <gerd@gnu.org>
3975
3976 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3977
9e53a675
GM
39782001-05-09 Dave Love <fx@gnu.org>
3979
3980 * xdisp.c (GIVE_UP): Fix for K&R C.
3981
0d487c52
GM
39822001-05-09 Gerd Moellmann <gerd@gnu.org>
3983
fe88d421
GM
3984 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3985
0d487c52
GM
3986 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3987 back to the text cursor shape without need.
3988
1e9fc92e
GM
39892001-05-07 Gerd Moellmann <gerd@gnu.org>
3990
a2a6232e
GM
3991 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3992
3993 * dispextern.h (inverse_video): Declare extern.
3994
1e9fc92e
GM
3995 * keyboard.c (delete_kboard): Handle the case that selected_frame
3996 has been deleted in the course of x_connection_closed.
3997
12949a7f
EZ
39982001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3999
7b2654b5
SM
4000 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
4001 Fix the change from 2001-04-30.
12949a7f 4002
2fa2f461
GM
40032001-05-03 Gerd Moellmann <gerd@gnu.org>
4004
a779d213
GM
4005 * xfns.c (file_dialog_unmap_cb): New function.
4006 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
4007 where a dialog is closed via the window manager.
4008
7b2654b5 4009 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
4010 the window start or all below the window end mostly rewritten.
4011 (redisplay_window): Move the tests if try_window_id is
4012 applicable to try_window_id.
4013 (GIVE_UP): New macro.
4014
3356df63
GM
40152001-05-02 Gerd Moellmann <gerd@gnu.org>
4016
a39202f6 4017 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
4018 currently being updated, mark the frame garbaged.
4019 Fix computation of rows intersecting the exposed rectangle.
a39202f6 4020 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 4021
3356df63
GM
4022 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
4023 again if it has already been drawn.
4024
a9d2fd1d
SM
40252001-05-01 Stefan Monnier <monnier@cs.yale.edu>
4026
4027 * syntax.c (update_syntax_table): Check that oldi has the same
4028 properties as old_prop before deciding not to invalidate.
4029
c95fc5f1
GM
40302001-04-30 Gerd Moellmann <gerd@gnu.org>
4031
a9793e45
GM
4032 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
4033 read-only text that is so because of text properties.
4034
c95fc5f1 4035 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 4036 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
4037 windows that are components of a Lucid menu bar.
4038
5a5d9185
GM
40392001-04-27 Gerd Moellmann <gerd@gnu.org>
4040
4041 * term.c (turn_on_face): Fix reverse video handling on terminals
4042 that don't support colors.
4043
ba973f7a
GM
40442001-04-26 Gerd Moellmann <gerd@gnu.org>
4045
4046 * editfns.c (save_excursion_restore): Don't use XBUFFER on
4047 a non-buffer.
4048
8c56a983
GM
40492001-04-25 Gerd Moellmann <gerd@gnu.org>
4050
a728644c
GM
4051 * term.c (toggle_highlight): New function.
4052 (turn_on_face): Change handling of reverse video.
4053
7b2654b5
SM
4054 * process.c (wait_reading_process_input):
4055 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 4056
bfd8410f
GM
4057 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4058 of the number of overlays to check.
4059
be2488ca
GM
4060 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4061
8c56a983
GM
4062 * xdisp.c (try_window_id): Fix a case where window_end_pos
4063 and window_end_bytepos were not adjusted.
4064
522d42f7
GM
40652001-04-23 Gerd Moellmann <gerd@gnu.org>
4066
4067 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4068 zero instead of -1.
4069
78c1afb6
EZ
40702001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4071
a9d2fd1d
SM
4072 * process.c (wait_reading_process_input) [!subprocesses]:
4073 Don't reference waiting_for_user_input_p, it's not defined in the
4074 branch without async subprocesses support.
78c1afb6 4075
a2fab450
GM
40762001-04-19 Gerd Moellmann <gerd@gnu.org>
4077
a122a38e
GM
4078 * keyboard.c (delete_kboard): Prevent a dangling reference
4079 from current_kboard to KB, which is freed.
4080
a9d2fd1d
SM
4081 * process.c (wait_reading_process_input):
4082 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4083 read_key_sequence aware of buffer changes from under it.
4084
0f8d6dc7
GM
40852001-04-18 Gerd Moellmann <gerd@gnu.org>
4086
eeffb293
GM
4087 * xfaces.c (Qscalable_fonts_allowed): New variable.
4088 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4089 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4090 removed.
eeffb293 4091 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4092 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4093 for scalable-fonts-allowed to t.
eeffb293 4094
0f8d6dc7
GM
4095 * fileio.c (Finsert_file_contents): If the file size returned from
4096 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4097 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4098
eec2d1de
EZ
40992001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4100
4101 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4102 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4103 (__memalign_hook): Make the two prototypes consistent.
4104
f4f480bd
GM
41052001-04-17 Gerd Moellmann <gerd@gnu.org>
4106
4107 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4108 matrix of mini-windows.
4109
52283633
SM
41102001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4111
4112 * intervals.c (find_interval): Don't rebalance during signal handling.
4113
ec2423c9
GM
41142001-04-11 Gerd Moellmann <gerd@gnu.org>
4115
30cb0001 4116 * fns.c: Include blockinput.h.
52283633 4117
ec2423c9
GM
4118 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4119
719d83ad
GM
41202001-04-10 Gerd Moellmann <gerd@gnu.org>
4121
60f8d735
GM
4122 * fns.c (Fcompare_strings): Fix return values.
4123
afffeb57
GM
4124 * window.c (window_scroll): Change the meaning of N to mean
4125 N screen-fulls or N lines.
4126 (window_scroll_pixel_based, window_scroll_line_based)
4127 (scroll_command, Fscroll_other_window): Change accordingly.
4128
52283633
SM
4129 * window.c (window_scroll_pixel_based, Frecenter):
4130 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4131 height of the window.
4132
4133 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4134 instead of using it.last_visible_y for the height of the window.
52283633 4135
719d83ad 4136 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4137 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4138
4139 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4140 able to write to hidden and system files. From Dan Holmsand
4141 <dan@eyebee.com>.
719d83ad 4142
8ddf3ee1
GM
4143 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4144 Holmsand <dan@eyebee.com>.
719d83ad 4145
522ed7fb
GM
41462001-04-09 Gerd Moellmann <gerd@gnu.org>
4147
9170e5d4
GM
4148 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4149
522ed7fb
GM
4150 * window.c (window_internal_height): Return 1 less if the
4151 window has a header line.
4152
4153 * xdisp.c (try_window_id): When scrolling on a terminal, take
4154 the change of window_internal_height into account.
4155
ceeb3d7d
EZ
41562001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4157
4158 * gmalloc.c (align): If the argument SIZE would overflow
4159 __malloc_ptrdiff_t, fail right away.
4160
63685b9d
GM
41612001-04-06 Gerd Moellmann <gerd@gnu.org>
4162
4163 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4164 Make sure the tooltip is completely visible.
4165 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4166
4167 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4168
4169 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4170
3ffb33bb
DL
41712001-04-06 Dave Love <fx@gnu.org>
4172
52283633
SM
4173 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4174 Fix test of `from'.
3ffb33bb 4175
869fb12c
GM
41762001-04-06 Gerd Moellmann <gerd@gnu.org>
4177
52283633 4178 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4179
869fb12c
GM
4180 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4181
441bf856
GM
41822001-04-05 Gerd Moellmann <gerd@gnu.org>
4183
4d664b04
GM
4184 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4185
52283633 4186 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4187
30ca89f5
GM
4188 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4189 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4190
4191 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4192 shell widget's position only if it is non-null.
4193
52283633
SM
4194 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4195 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4196
81a81c0f
GM
4197 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4198 FILENAME to bring it in synch with the documentation.
4199
441bf856
GM
4200 * xfaces.c (realizing_basic_faces_p): Renamed from
4201 realize_default_face_p.
4202 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4203 (realize_default_face): Don't set the flag.
4204
702a1e8e
GM
42052001-04-04 Gerd Moellmann <gerd@gnu.org>
4206
1013f4e3
GM
4207 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4208
52283633
SM
4209 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4210
1013f4e3
GM
4211 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4212 the buffer that was used for echoing.
4213
702a1e8e
GM
4214 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4215 (first_font_matching): Removed unused function.
4216 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4217 (may_use_scalable_font_p): Remove parameter FONT; rename
4218 parameter NAME to FONT.
4219 (x_face_list_fonts): Fix missing bounds check.
4220 (realizing_default_face_p): New variable.
4221 (realize_default_face): Set and clear that flag.
4222 (x_face_list_fonts): When called during the realization of the
4223 default face, and no matching fonts are found when ignoring
4224 scalable fonts and fonts matching a regexp from
4225 face-ignored-fonts, try without ignoring fonts.
4226
f9dbcda4
GM
42272001-04-03 Gerd Moellmann <gerd@gnu.org>
4228
ad18ffb1
GM
4229 * xfns.c (postprocess_image): New function.
4230 (lookup_image): Call it for all image types except PostScript.
4231 (x_kill_gs_process): Call postprocess_image.
4232
f9dbcda4
GM
4233 * xterm.c (x_use_underline_position_properties): New variable.
4234 (x_draw_glyph_string): Use it.
4235 (syms_of_xterm): DEFVAR_BOOL it.
4236
651f03b6
GM
42372001-04-02 Gerd Moellmann <gerd@gnu.org>
4238
4239 * xterm.c (x_alloc_nearest_color_1): New function.
4240 (x_alloc_nearest_color): Use it.
4241 (x_color_cells): Take a Display as argument, instead of a frame.
4242 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4243 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4244 (x_initialize): Register cvt_string_to_pixel as resource converter
4245 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4246
73d75a62
GM
42472001-03-30 Gerd Moellmann <gerd@gnu.org>
4248
b2046df8
GM
4249 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4250 (set_iterator_to_next): If a string from a display property ends,
4251 consider the case that this might also be the end of an
4252 overlay string having the display property.
4253
52283633 4254 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4255
87d8eba4
GM
4256 * xdisp.c (reseat_to_string): Undo last change.
4257
73d75a62
GM
4258 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4259 matrix of a window when the header line changes, when
4260 new rows are allocated, or when the width changes.
4261
911a2406
EZ
42622001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4263
52283633 4264 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4265
aea51abe
EZ
42662001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4267
4268 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4269 deprecated.
4270
176bc847
GM
42712001-03-29 Gerd Moellmann <gerd@gnu.org>
4272
ed31fabf
GM
4273 * data.c (Fsubr_interactive_form): New function.
4274 (syms_of_data): Defsubr it.
4275
176bc847
GM
4276 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4277 (live_float_p, live_misc_p): Return 1 only if the offset of the
4278 pointer in its block is >= 0.
4279
e59d0e9d
GM
42802001-03-28 Paul Eggert <eggert@twinsun.com>
4281
4282 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4283 microseconds calcuation. Avoid double-rounding problem.
4284 In doc string, warn that the result is approximate.
4285
f827b862
GM
42862001-03-28 Gerd Moellmann <gerd@gnu.org>
4287
30a3f61c
GM
4288 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4289 bind `inhibit-eval-during-redisplay' to t.
4290
4291 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4292
4293 * xdisp.c (inhibit_eval_during_redisplay)
4294 (Qinhibit_eval_during_redisplay): New variables.
4295 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4296 don't eval, return nil instead.
4297 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4298 Initialize Qinhibit_eval_during_redisplay.
4299
e719f5ae
GM
4300 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4301 the iterator's multibyte_p flag.
4302
deb2613a
GM
4303 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4304 instead of setting it to zero; it's incremented for each frame
4305 where the menu face is changed.
4306
52283633
SM
4307 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4308 change bottom shadow accordingly.
4309
4310 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4311 intersections here.
4312 (expose_window): Do it here instead.
52283633 4313 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4314
f827b862
GM
4315 * bytecode.c (BYTE_CODE_QUIT): New macro.
4316 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4317
4bde0ebb
GM
43182001-03-27 Gerd Moellmann <gerd@gnu.org>
4319
607ec83c
GM
4320 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4321 Give up if matrix starts in an ellipsis.
4322 (init_from_display_pos): Do nothing if POS doesn't specify
4323 a dpvec_index but the iterator has such a position.
4324
0245398f
GM
4325 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4326
aba25348
GM
4327 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4328 x/y position is (0, 0) after destroying the menu bar, restore
4329 its original position.
4330
4bde0ebb
GM
4331 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4332 (init_from_display_pos): Use it.
4333 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4334
8cdb267e
GM
43352001-03-26 Gerd Moellmann <gerd@gnu.org>
4336
4337 * xdisp.c (try_window_id): Undo last change.
4338
9948db79
EZ
43392001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4340
4341 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4342
4343 * buffer.c (syms_of_buffer): Doc fix.
4344
2eddf899
GM
43452001-03-26 Gerd Moellmann <gerd@gnu.org>
4346
4347 * xfaces.c (x_update_menu_appearance): Use local variable
4348 popup_path for setting font resources.
4349
6c145d35
EZ
43502001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4351
6a65b1b5
EZ
4352 * frame.c (Fframe_list): Don't reference tip_frame if
4353 HAVE_WINDOW_SYSTEM is not defined.
4354
6c145d35
EZ
4355 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4356 <wl@gnu.org>.
4357
d74c1900
GM
43582001-03-25 Gerd Moellmann <gerd@gnu.org>
4359
20fbd925
GM
4360 * xdisp.c (init_from_display_pos): Test invisible property
4361 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4362
927c5b3b
GM
4363 * xdisp.c (redisplay_internal) <update one window>: Make sure
4364 last_arrow_position and last_arrow_string are set.
4365
d74c1900
GM
4366 * frame.c (Fframe_list): Don't return a tooltip frame.
4367
091f8878
GM
43682001-03-23 Gerd Moellmann <gerd@gnu.org>
4369
52283633
SM
4370 * xdisp.c (mark_window_display_accurate_1): New function,
4371 extracted from mark_window_display_accurate.
4372 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4373 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4374 (mark_window_display_accurate): Use it.
4375 (redisplay_internal): Use it for the selected window.
4376 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4377 for the selected frame.
4378
ac90c44f
GM
4379 * xdisp.c Use make_number, for readability.
4380 (try_window_id): Disable rows below the window end.
4381 (try_window_reusing_current_matrix): Use cursor_row_p.
4382 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4383 of rows.
4384 (init_from_display_pos): If POS specifies a position in a display
4385 vector, maybe get the iterator set up for that ellipsis.
43c09969 4386
091f8878
GM
4387 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4388
991786dd
EZ
43892001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4390
4391 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4392
6c29b43c
GM
43932001-03-23 Gerd Moellmann <gerd@gnu.org>
4394
4395 * xfaces.c (x_update_menu_appearance): Use a different path
4396 for Lucid popup menus.
4397
d8731202
SM
43982001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4399
4400 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4401
4402 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4403 (string_buffer_position): Use `make_number'.
4404
f61a541b
GM
44052001-03-22 Gerd Moellmann <gerd@gnu.org>
4406
3c9e997b
GM
4407 * xfaces.c (x_update_menu_appearance): Renamed from
4408 x_set_menu_face_resources. Use different resources for popups.
4409
4410 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4411 (GC_CHECK_STRING_BYTES): Don't define.
4412
364cd450
GM
4413 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4414 Removed, together with subroutines.
4415 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4416 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4417
d8731202
SM
4418 * dispextern.h (x_set_menu_resources_from_menu_face):
4419 Remove prototype.
364cd450 4420
d8731202 4421 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4422 Remove calls to x_set_menu_resources_from_menu_face.
4423
d8731202
SM
4424 * xfaces.c (xm_set_menu_resources_from_menu_face):
4425 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4426
4427 * xmenu.c: Include widget.h.
4428 (single_submenu): Return int. Some cleanup.
4429 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4430
140330de
GM
44312001-03-21 Gerd Moellmann <gerd@gnu.org>
4432
4433 * xterm.c (x_update_window_end): Handle overwritten mouse face
4434 also for tool bar windows.
4435 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4436 DRAW is DRAW_IMAGE_RAISED.
4437
1741905c
GM
44382001-03-20 Gerd Moellmann <gerd@gnu.org>
4439
fa88947e
GM
4440 * print.c (syms_of_print): Doc fixes.
4441
1741905c
GM
4442 * fns.c (Fmd5): Doc fix.
4443
ade0bee1
GM
44442001-03-19 Gerd Moellmann <gerd@gnu.org>
4445
357e7376
GM
4446 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4447 Clear area of the frame not occupied by the scroll bar.
4448
c2c097cc
GM
4449 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4450 tip frame's root window buffer to *tip* right after creating
4451 the frame.
4452
ade0bee1
GM
4453 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4454 is an integer don't have to be for space characters.
4455
88c6e37e
GM
44562001-03-16 Gerd Moellmann <gerd@gnu.org>
4457
52283633
SM
4458 * indent.c (current_column, current_column_1, Fmove_to_column)
4459 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4460
c62eed76
KH
44612001-03-15 Kenichi Handa <handa@etl.go.jp>
4462
4463 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4464 drawing glyph string.
4465
c899e7e6
GM
44662001-03-15 Gerd Moellmann <gerd@gnu.org>
4467
d0bbfc99
GM
4468 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4469 (command_loop_1): Undo last change.
4470
03d1a189
GM
4471 * xterm.c (fast_find_position): Return the correct vpos.
4472
c899e7e6 4473 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4474 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4475 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4476 Call store_symval_forwarding with BUF null.
4477 (set_internal): Call store_symval_forwarding with the BUF
4478 parameter passed to set_internal. Formerly, the value was always
4479 set in the current buffer; the buffer recorded in specbind for
4480 this case wasn't used.
4481 (arith_driver): Reindent.
4482
52283633
SM
4483 * buffer.c (swap_out_buffer_local_variables):
4484 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4485
4486 * lisp.h (store_symval_forwarding): Change prototype.
4487
4488 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4489
57ac7c81
GM
44902001-03-14 Gerd Moellmann <gerd@gnu.org>
4491
697617d9
GM
4492 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4493 FOR_DELETION. Avoid resizing the mini-window of the selected
4494 frame if FOR_DELETION is set.
4495 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4496 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4497 signature.
4498
4499 * window.c (Fset_window_configuration): Change call to
4500 do_switch_frame to new format.
4501
4502 * keyboard.c (quit_throw_to_read_char): Change call to
4503 do_switch_frame to new format.
4504
4505 * lisp.h (do_switch_frame): Change prototype.
4506
819dce0f
GM
4507 * frame.c (Fframe_parameters): In the `buffer-list' frame
4508 parameter, store the buffer list of FRAME, not the list of the
4509 selected frame.
4510
57ac7c81
GM
4511 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4512 box just because the glyph row's full_width_p flag is set.
4513
65008712
GM
45142001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4515
4516 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4517 skip the padding blanks inserted in extend_face_to_end_of_line,
4518 before checking for trailing whitespace.
4519
159cf431
GM
45202001-03-13 Gerd Moellmann <gerd@gnu.org>
4521
52283633 4522 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4523 Remove special handling for LessTif/Motif.
4524 (toplevel): Don't include Xm/Xm.h.
4525
52283633
SM
4526 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4527 Remove workaround code for LessTif; it doesn't work anymore.
4528
2564ea1b 4529 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4530 Xm/ScrollBarP.h.
afcdc0a1 4531
52283633
SM
4532 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4533 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4534 contemporary LessTif.
4535
52283633
SM
4536 * xfaces.c (xm_set_menu_resources_from_menu_face):
4537 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4538
159cf431
GM
4539 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4540 removing button grabs.
4541
c6f7429a
KH
45422001-03-13 Kenichi Handa <handa@etl.go.jp>
4543
cb82d767
KH
4544 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4545 and clip-large-size-font as obsolete.
4546
c6f7429a
KH
4547 * lread.c (read_multibyte): Check the validity of multibyte
4548 sequence. If invalid, return the first byte.
4549
760cefb5
GM
45502001-03-12 Gerd Moellmann <gerd@gnu.org>
4551
4552 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4553 before running the command; timer functions or process
4554 filters may have set it.
4555
5141f9d0
EZ
45562001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4557
4558 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4559 Doc fix.
4560
b6a15240
GM
45612001-03-12 Gerd Moellmann <gerd@gnu.org>
4562
4563 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4564 to sprintf.
4565
95522746
GM
45662001-03-09 Gerd Moellmann <gerd@gnu.org>
4567
db14cfc5
GM
4568 * dispextern.h (string_buffer_position): Add prototype.
4569
52283633 4570 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4571 (single_display_prop_string_p): New functions.
4572
4573 * xterm.c (note_mouse_highlight): If there's no help-echo on
4574 a string, look at the buffer text ``under'' it.
4575
4576 * keyboard.c (make_lispy_event): Add string info to the event,
4577 analogous to what's done on mode lines.
4578 (read_key_sequence): For a click on a string, consider `local-map'
4579 and `keymap' of that string.
4580
52283633
SM
4581 * keyboard.c (make_lispy_event, make_lispy_movement):
4582 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4583
4584 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4585
4586 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4587 POS; return void.
4588
95522746
GM
4589 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4590 flags argument to emacs_open; it seems to conflict with O_EXCL.
4591
898a399d
KH
45922001-03-09 Kenichi Handa <handa@etl.go.jp>
4593
28cd4910
KH
4594 * composite.h (struct composition): Change types of members;
4595 glyph_len to unsigned, width to unsigned short.
898a399d 4596
4cdf6a6c
AI
45972001-03-08 Andrew Innes <andrewi@gnu.org>
4598
4599 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4600 menu titles.
4601
129004d3
GM
46022001-03-08 Gerd Moellmann <gerd@gnu.org>
4603
221dd3e7
GM
4604 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4605 instead of nil.
4606
52283633 4607 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4608 help-echo in strings.
4609 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4610 (fast_find_string_pos): New function.
4611
52283633
SM
4612 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4613 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4614
4615 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4616 Handle `mouse-face'.
4617
4618 * dispextern.h (face_at_string_position): Change prototype.
4619
52283633 4620 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4621
129004d3
GM
4622 * keyboard.c (make_lispy_event): Avoid generating drag events
4623 if the mouse hasn't actually moved to another buffer position.
52283633 4624
80c8ab8c
DL
46252001-03-08 Dave Love <fx@gnu.org>
4626
129004d3 4627 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4628
989521fd
GM
46292001-03-08 Gerd Moellmann <gerd@gnu.org>
4630
4631 * process.c (Fset_process_window_size): Fix a typo.
4632
bb5c338d
KH
46332001-03-08 Kenichi Handa <handa@etl.go.jp>
4634
4635 * coding.c (detect_coding_sjis): Do more rigid check.
4636 (detect_coding_big5): Likewise.
4637 (decode_coding_sjis_big5): Likewise.
4638 (Fdetect_coding_region): Call detect_coding_system with tailing
4639 anchor byte `\0' for more rigid detection.
52283633 4640 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4641 (Fdetect_coding_string): Likewise.
4642
8b8f9197
SM
46432001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4644
4645 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4646 a string before extracting its data.
4647
3bdf2660
GM
46482001-03-07 Gerd Moellmann <gerd@gnu.org>
4649
4650 * window.c (Frecenter): Rewrite code handling negative values
4651 of ARG on graphical frames.
4652
46532001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4654
4655 * window.c (displayed_window_lines): If W->start is outside the
4656 accessible portion of the buffer, call start_display with BEGV or
4657 ZV instead of W->start.
4658
471f86b9
GM
46592001-03-07 Gerd Moellmann <gerd@gnu.org>
4660
2ab62c6c
GM
4661 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4662
471f86b9
GM
4663 * process.c (Fset_process_filter): Don't crash if the input
4664 file descriptor of PROCESS is closed.
4665 (Fset_process_window_size): Likewise.
4666
101922c3
GM
46672001-03-06 Kenichi Handa <handa@etl.go.jp>
4668
4669 * xterm.c (XTflash): Make the timeout of select shorter, and call
4670 select repeatedly until the desired time expires.
4671
45d051a7
GM
46722001-03-06 Gerd Moellmann <gerd@gnu.org>
4673
4674 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4675
4676 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4677
4678 * lisp.h (Vwindow_list): Declare extern.
4679
8f372c46
EZ
46802001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4681
4682 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4683
f16a7aa5
GM
46842001-03-06 Gerd Moellmann <gerd@gnu.org>
4685
157ae273
GM
4686 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4687 to detect a case where we have to highlight a different region
4688 despite not having left the currently highlighted region.
4689 Set mouse_face_overlay in the x_display_info.
45d051a7 4690 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4691
4692 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4693
4694 * buffer.c (mouse_face_overlay_overlaps): New function.
4695
4696 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4697 (Qmouse_face): Declare extern.
4698
f16a7aa5
GM
4699 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4700 if face_change_count is non-zero.
4701
827afcac
KH
47022001-03-06 Kenichi Handa <handa@etl.go.jp>
4703
4704 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4705 that the source is unibyte.
4706
14c7242e
DL
47072001-03-05 Dave Love <fx@gnu.org>
4708
827afcac 4709 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4710
c28b847b
GM
47112001-03-05 Gerd Moellmann <gerd@gnu.org>
4712
4713 * minibuf.c (read_minibuf): Clean up the binding stack if
4714 called noninteractively.
4715
b86644f2
KH
47162001-03-05 Kenichi Handa <handa@etl.go.jp>
4717
4718 * coding.c (syms_of_coding): Docstring modified.
4719
203682cc 47202001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4721
4722 * charset.c (char_to_string): If a single byte char has modifier
4723 bits that can't be reflected to the character code, ignore them
45d051a7 4724 instead of signaling an error.
b86644f2 4725
e30bd7b7
EZ
47262001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4727
4728 * s/msdos.h: Update copyright notice.
4729
4730 * dosfns.h: Update copyright notice.
4731
4732 * dosfns.c: Update copyright notice.
4733
4734 * msdos.c: Update copyright notice.
4735
b52b65bd
GM
47362001-03-02 Gerd Moellmann <gerd@gnu.org>
4737
4738 * xterm.c (glyph_rect): New function.
4739 (XTmouse_position): Use it to raise the threshold for mouse
4740 movement event generation.
4741
53c4b1e6
EZ
47422001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4743
4744 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4745 specifies (reverse . t), reverse the initial screen colors.
4746 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4747 but we are reversing the colors, set bg_set, not fg_set.
4748 Likewise for setting background-color and reversing: set fg_set.
4749 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4750 in effect.
4751
4752 * xfaces.c (Finternal_set_lisp_face_attribute)
4753 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4754 parameters alist.
4755
f964b4d7
GM
47562001-03-02 Gerd Moellmann <gerd@gnu.org>
4757
ef53d75e
GM
4758 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4759 to a single slash in the middle of file names.
4760
52283633 4761 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4762 Accept only alphanumeric time zone names.
4763
f964b4d7
GM
4764 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4765 or width area.
4766 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4767 a widget to zero height.
52283633 4768
c3c45f65
GM
47692001-03-01 Gerd Moellmann <gerd@gnu.org>
4770
4771 * window.c (Fwindow_end): Call move_it_past_eol only if
4772 ending up on a partially visible line.
4773
028d739a
DL
47742001-03-01 Dave Love <fx@gnu.org>
4775
4776 * ccl.c (Fccl_execute): Doc fix.
4777
57c5889c
GM
47782001-03-01 Gerd Moellmann <gerd@gnu.org>
4779
35f59f6b
GM
4780 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4781 of the tool bar before calling x_figure_window_size.
4782
f84ff02c
GM
4783 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4784 NULL after destroying it, otherwise XTread_socket can access a
4785 destroyed widget when input is unblocked.
4786
8b8f9197 4787 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4788
57c5889c
GM
4789 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4790 same name as before, although there was a change in fontsets.
4791
224227d1
KR
47922001-02-28 Ken Raeburn <raeburn@gnu.org>
4793
4560730a
KR
4794 * lisp.h (Fframe_parameter): Declare.
4795
224227d1 4796 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4797 Lisp_Object.
224227d1 4798
ece93c02
GM
47992001-02-28 Gerd Moellmann <gerd@gnu.org>
4800
11ef99b9
GM
4801 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4802 NULL instead.
4803
4804 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4805 NULL instead.
4806
ece93c02
GM
4807 * alloc.c (toplevel): Include process.h.
4808 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4809 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4810 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4811 (allocate_vector, allocate_hash_table, allocate_window)
4812 (allocate_frame, allocate_process, allocate_other_vector):
4813 New functions.
ece93c02
GM
4814 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4815 (mark_maybe_pointer): New function.
52283633 4816 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4817 remain and not Lisp_Objects.
4818 (min_heap_address, max_heap_address): New variables.
4819 (mem_find): Return MEM_NIL if START is below min_heap_address or
4820 above max_heap_address.
4821 (mem_insert): Compute min_heap_address and max_heap_address.
4822
4823 * process.c (make_process): Use allocate_process.
4824
4825 * frame.c (make_frame): Use allocate_frame.
4826
4827 * window.c (make_window, make_dummy_parent): Use allocate_window.
4828 (Fcurrent_window_configuration): Use allocate_other_vector.
4829
4830 * lisp.h (allocate_vectorlike): Remove prototype.
4831 (allocate_vector, allocate_other_vector, allocate_frame)
4832 (allocate_window, allocate_process, allocate_hash_table):
4833 Add prototypes.
4834
4835 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4836 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4837
063af457
KH
48382001-02-27 Kenichi Handa <handa@etl.go.jp>
4839
4840 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4841 treat the produced bytes as a valid multibyte sequence.
4842
4843 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4844 (ccl_driver) <CCL_WriteMultibyteChar2>:
4845 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4846 <ccl_finish>: Set ccl->eight_bit_control properly.
4847
4848 * ccl.h (struct ccl_program): New member eight_bit_control.
4849
f58c6494
SM
48502001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4851
4852 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4853 accessible_keymaps_char_table.
4854 (accessible_keymaps_char_table): Obey `is_metized'.
4855 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4856 Lisp_Object.
4857
c596c392
GM
48582001-02-26 Gerd Moellmann <gerd@gnu.org>
4859
4860 * dispnew.c: Check HAVE_TERM_H before including term.h.
4861
425de386
AI
48622001-02-24 Andrew Innes <andrewi@gnu.org>
4863
4864 * makefile.w32-in: Update copyright notice.
4865
2ba11bbd
SM
48662001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4867
4868 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4869
66c56ed1
KH
48702001-02-24 Kenichi Handa <handa@etl.go.jp>
4871
4c1593ce
KH
4872 * Makefile.in (lisp): Add international/utf-8.elc.
4873
66c56ed1
KH
4874 * fontset.c (Fnew_fontset): Fix handling of the case that an
4875 element of FONTLIST is a cons of family and registry.
4876
796ead7e
JR
48772001-02-23 Jason Rumney <jasonr@gnu.org>
4878
4879 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4880 to height unconditionally.
4881
4882 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4883 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4884 (x_insert_glyphs): Call window_box_left to obtain the left
4885 x-coordinate of the area to shift.
4886
4887 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4888 safe_run_hooks.
4889
f6839838
AI
48902001-02-22 Andrew Innes <andrewi@gnu.org>
4891
52283633 4892 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4893 ($(BLD)\dispnew.obj):
4894 ($(BLD)\editfns.obj):
4895 ($(BLD)\fileio.obj):
4896 ($(BLD)\filelock.obj):
4897 ($(BLD)\keyboard.obj):
4898 ($(BLD)\w32proc.obj):
4899 ($(BLD)\process.obj):
4900 ($(BLD)\sysdep.obj): Ditto.
4901
4902 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4903 header files.
52283633
SM
4904 ($(BLD)/dispnew.$(O)):
4905 ($(BLD)/editfns.$(O)):
4906 ($(BLD)/fileio.$(O)):
4907 ($(BLD)/filelock.$(O)):
4908 ($(BLD)/keyboard.$(O)):
4909 ($(BLD)/w32proc.$(O)):
4910 ($(BLD)/process.$(O)):
f6839838
AI
4911 ($(BLD)/sysdep.$(O)): Ditto.
4912
c224f70b
GM
49132001-02-22 Gerd Moellmann <gerd@gnu.org>
4914
51695746
GM
4915 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4916 at the start of the function, check that the \n in it->c is
4917 from the iterator's current position.
52283633 4918
a61b7058
GM
4919 * xdisp.c (handle_single_display_prop): Add parameter
4920 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4921 properties which replace the display of text with something else.
4922 (handle_display_prop): Call handle_single_display_prop with
4923 additional argument saying if we already replaced text display
4924 with something else. Use AREF.
52283633 4925 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4926 (decode_mode_spec_coding): Use AREF and ASIZE.
4927
3473f362
GM
4928 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4929 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4930 * vmstime.h: Files removed.
52283633 4931
2bb58df3
GM
4932 * unexencap.c, unexfx2800.c: Files removed.
4933
c224f70b
GM
4934 * dispnew.c (direct_output_for_insert): Give up if we are showing
4935 a message or just cleared the message because we might need to
4936 resize the echo area window or display an empty echo area.
4937
ffc9ff0c
GM
49382001-02-21 Gerd Moellmann <gerd@gnu.org>
4939
0528abe1
GM
4940 * xdisp.c (redisplay_internal): Do the
4941 mark_window_display_accurate after all windows have been
4942 redisplayed because this call resets flags in buffers which are
4943 needed for proper redisplay.
4944
52283633
SM
4945 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4946 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4947 the old names.
4948
52283633
SM
4949 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4950 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4951
4952 * msdos.h (struct x_output): Rename busy_window to
4953 hourglass_window, busy_p to hourglass_p.
4954
52283633
SM
4955 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4956 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4957
4958 * xfns.c: Rename everything containing *busy_cursor* and similar
4959 to *hourglass*.
4960 (syms_of_w32fns): Rename x-busy-pointer-shape to
4961 x-hourglass-pointer-shape, display-busy-cursor to
4962 display-hourglass, busy-cursor-delay to hourglass-delay.
4963
4964 * w32fns.c: Rename everything containing *busy_cursor* and similar
4965 to *hourglass*.
4966 (syms_of_w32fns): Rename x-busy-pointer-shape to
4967 x-hourglass-pointer-shape, display-busy-cursor to
4968 display-hourglass, busy-cursor-delay to hourglass-delay.
4969
4970 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4971 of its busy_p flag.
4972
4973 * dispextern.h (start_hourglass, cancel_hourglass)
4974 (display_hourglass_p): Renamed from *busy_cursor*.
4975
ab2c5f0a
GM
49762001-02-20 Gerd Moellmann <gerd@gnu.org>
4977
d17e49a8
GM
4978 * keyboard.c (read_char): When an event from unread-command-events
4979 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4980
fa97adf6
GM
4981 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4982 equal to the current buffer.
4983
ab2c5f0a
GM
4984 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4985 nil, otherwise we're left with truncate_lines t when a message
4986 is printed with message-truncate-lines bound to t.
4987
aeac019e
GM
49882001-02-19 Gerd Moellmann <gerd@gnu.org>
4989
c8bc6f65
GM
4990 * window.c (Fmove_to_window_line): Undo last change.
4991 (displayed_window_lines): Call line_bottom_y to determine
4992 the line's bottom position.
4993
4994 * dispextern.h (line_bottom_y): Add prototype.
4995
52283633 4996 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4997 (pos_visible_p): Use it.
4998
980a2d69
GM
4999 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
5000 set redisplaying_p to 0 here instead of in Frecursive_edit.
5001 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
5002 set redisplaying_p.
5003
52283633 5004 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
5005 New variables.
5006 (syms_of_xdisp): Initialize new variables.
5007 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
5008 Specbind `inhibit-menubar-update' when updating the menu bar.
5009
65048e97
GM
5010 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
5011 safe_run_hooks.
5012
5013 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
5014 safe_run_hooks.
5015
a57c4026
GM
5016 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
5017 is null.
5018
aeac019e
GM
5019 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
5020 to the start of the file.
5021
76846b31
GM
50222001-02-16 Gerd Moellmann <gerd@gnu.org>
5023
f3f053f3 5024 * window.c (set_window_buffer): Fix last change.
52283633 5025
f3f053f3
GM
5026 * window.c (set_window_buffer): Set window's vscroll to 0.
5027
dad75588
GM
5028 * window.c (coordinates_in_window): Increase width of area
5029 where the vertical line can be dragged.
5030
c220b753
GM
5031 * xterm.c (x_set_glyph_string_background_width): Extend the
5032 background face to the end of the drawing area in the text
5033 area, only.
5034
c56b1c1b
GM
5035 * xdisp.c (handle_single_display_prop): Set iterator's position
5036 to where the `display' property starts, like for images.
5037 (dump_glyph): New function.
5038 (dump_glyph_row): Use it. Dump info about marginal areas.
5039
5040 * dispnew.c (direct_output_for_insert): Recognize more cases where
5041 glyphs can be written instead of being inserted.
5042
5043 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
5044 the left x-coordinate of the area to shift.
5045
76846b31
GM
5046 * dired.c (directory_files_internal): Set result list to nil
5047 before retrying.
5048
0fc71a77
KH
50492001-02-15 Kenichi Handa <handa@etl.go.jp>
5050
5051 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
5052 invalid multibyte sequence, treat *SRC as a character of
5053 eight-bit-graphic.
5054
25078b54
EZ
50552001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5056
5057 * textprop.c (Fset_text_properties): Doc fix.
5058
8399f8a0
GM
50592001-02-15 Gerd Moellmann <gerd@gnu.org>
5060
5061 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5062
9a2a6f73
DL
50632001-02-14 Dave Love <fx@gnu.org>
5064
5065 * coding.c: Doc and message fixes.
5066
bf853fee
AI
50672001-02-14 Andrew Innes <andrewi@gnu.org>
5068
5069 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5070 Emacs frame above the screen size.
5071
78c663d8
GM
50722001-02-14 Gerd Moellmann <gerd@gnu.org>
5073
5074 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5075
7cc9f69f
GM
50762001-02-13 Gerd Moellmann <gerd@gnu.org>
5077
0a411995
GM
5078 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5079 case that TO ends up beyond ZV after running before-change-functions.
5080
5ddc1b75
GM
5081 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5082 the selected window if it is showing the buffer in question.
5083
7cc9f69f
GM
5084 * dired.c (directory_files_internal): Initialize errno.
5085 (toplevel): Include errno.h.
5086
2e6621ca
GM
50872001-02-13 Kenichi Handa <handa@etl.go.jp>
5088
5089 * xfaces.c (best_matching_font): New parameter width_ratio.
5090 Multiply avgwidth by width_ratio.
5091 (choose_face_font): Call best_matching_font with width_ratio
5092 calculated from the column width of C.
5093
60222d69
AI
50942001-02-12 Andrew Innes <andrewi@gnu.org>
5095
5096 The following changes are to draw box lines inside characters area
5097 if line-width is negative.
52283633 5098
60222d69
AI
5099 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5100 face->box_line_width is negative.
5101 (x_produce_stretch_glyph): Likewise.
5102 (x_produce_glyphs): Likewise.
5103 (x_estimate_mode_line_height): Likewise.
5104 (x_draw_glyph_string_background): Likewise.
5105 (x_draw_glyph_string_foreground): Likewise.
5106 (x_draw_composite_glyph_string_foreground): Likewise.
5107 (x_draw_glyph_string_box): Likewise.
5108 (x_draw_image_foreground): Likewise.
5109 (x_draw_image_relief): Likewise.
5110 (x_draw_image_foreground_1): Likewise.
5111 (x_draw_image_glyph_string): Likewise.
5112
9804b846
KH
51132001-02-09 Kenichi Handa <handa@etl.go.jp>
5114
5115 The following changes are to draw box lines inside characters area
5116 if line-width is negative.
52283633 5117
9804b846
KH
5118 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5119 face->box_line_width is negative.
5120 (x_produce_stretch_glyph): Likewise.
5121 (x_produce_glyphs): Likewise.
5122 (x_estimate_mode_line_height): Likewise.
5123 (x_draw_glyph_string_background): Likewise.
5124 (x_draw_glyph_string_foreground): Likewise.
5125 (x_draw_composite_glyph_string_foreground): Likewise.
5126 (x_draw_glyph_string_box): Likewise.
5127 (x_draw_image_foreground): Likewise.
5128 (x_draw_image_relief): Likewise.
5129 (x_draw_image_foreground_1): Likewise.
5130 (x_draw_image_glyph_string): Likewise.
5131
5132 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5133 and :line-width can be negative.
52283633 5134 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5135
49be9f70
JR
51362001-02-09 Jason Rumney <jasonr@gnu.org>
5137
5138 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5139 characters the same as ASCII and latin-1.
5140 (x_display_and_set_cursor): Check for the focus frame's selected
5141 window instead of selected_window.
5142 (x_after_update_window_line): Don't clear if frame's internal
5143 border width is zero.
5144 (x_new_font): Don't change a tooltip's size.
5145 (w32_initialize): Set char_ins_del_ok to 1.
5146
5147 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5148 (x_set_font): If font hasn't changed, avoid recomputing
5149 faces and other things.
52283633
SM
5150 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5151 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5152 (x_create_tip_frame): Prevent changing the tooltip's
5153 background color by specifying a color for the default font
5154 in .Xdefaults.
5155 (Qcancel_timer): New variable.
5156 (syms_of_w32fns): Initialize and staticpro it.
5157 (Fx_hide_tip, Fx_show_tip): Use it.
5158 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5159 the timer.
5160 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5161
5162 * w32.c (init_environment): Duplicate local string before putenv.
5163
555e35d2
SZ
51642001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5165
5166 * charset.c (Fstring): A typo.
5167
19c92c94
KH
51682001-02-09 Kenichi Handa <handa@etl.go.jp>
5169
e47a1c33
KH
5170 * charset.c (Fstring): If all arguments are less than 256, return
5171 a unibyte string.
5172
5173 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5174 return a unibyte string.
5175
19c92c94
KH
5176 * coding.c (code_convert_region): After detecting a coding, if
5177 nothing found, set coding->composing to COMPOSITION_NO.
5178 (decode_coding_string): Likewise.
5179
d8e675f5
SM
51802001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5181
5182 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5183 to avoid overflow.
5184
bd503487
KH
51852001-02-07 Kenichi Handa <handa@etl.go.jp>
5186
5187 * charset.c (parse_str_to_multibyte): New function.
5188
5189 * charset.h (parse_str_to_multibyte): Extern it.
5190
5191 * print.c (print_string): If we are going to print a unibyte
5192 string into a multibyte buffer, convert the string to multibyte by
5193 str_to_multibyte.
5194
a8370d72
AI
51952001-02-06 Andrew Innes <andrewi@gnu.org>
5196
5197 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5198 been created. It seems we can get sent window messages such as
5199 WM_ERASEBKGND before we properly update a frame.
5200
c363a1d6
GM
52012001-02-06 Gerd Moellmann <gerd@gnu.org>
5202
5203 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5204 Avoid some unnecessary cursor positioning.
5205
a08332c0
GM
52062001-02-05 Gerd Moellmann <gerd@gnu.org>
5207
52283633 5208 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5209 (LFACE_AVGWIDTH): New macro.
5210 (LFACEP): Use AREF.
5211 (check_lface_attrs): Check LFACE_AVGWIDTH.
5212 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5213 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5214 (merge_face_vectors): Check LFACE_AVGWIDTH.
5215 (Finternal_make_lisp_face): Use AREF.
5216 (xm_set_menu_resources_from_menu_face)
5217 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5218 (Finternal_lisp_face_empty_p): Use AREF.
5219 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5220 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5221 Compare average widths..
5222 (best_matching_font): Arrange for comparing average widths.
5223
52283633
SM
5224 * dispextern.h (enum lface_attribute_index):
5225 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5226
5cb3c8d4
DL
52272001-02-05 Dave Love <fx@gnu.org>
5228
5229 * puresize.h: Revert last change following loadup.el change.
5230
193fba87
AI
52312001-02-05 Andrew Innes <andrewi@gnu.org>
5232
5233 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5234 invocation of temacs, to work with Windows 2000.
5235 (bootstrap-emacs): Ditto.
5236
e16f52ce
GM
52372001-02-05 Gerd Moellmann <gerd@gnu.org>
5238
7a58ab59
GM
5239 * xterm.c (x_display_and_set_cursor): Check for the focus
5240 frame's selected window instead of selected_window.
5241
e89aaabd
GM
5242 * xdisp.c (try_scrolling): If point is in the line below the
5243 window, make sure to move the iterator at least a canonical
5244 char height down.
5245
52283633 5246 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5247
789ce875
KH
52482001-02-05 Kenichi Handa <handa@etl.go.jp>
5249
52283633
SM
5250 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5251 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5252 (ccl_driver): If the CCL program is terminated because of
5253 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5254 destination instead of throwing them away.
5255
20b28f82
GM
52562001-02-02 Gerd Moellmann <gerd@gnu.org>
5257
79fb38c0
GM
5258 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5259 faces and other things.
5260
20b28f82
GM
5261 * xdisp.c (get_next_display_element): Fix case of empty
5262 display table entry.
5263
5a72551e
EZ
52642001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5265
eb24d0bf
EZ
5266 * editfns.c (Fconstrain_to_field): Doc fix.
5267
6a3f48c7
EZ
5268 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5269 into `thoroughly', to make it consistent with the doc string.
5270
5a72551e
EZ
5271 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5272
01acdb05
GM
52732001-02-01 Gerd Moellmann <gerd@gnu.org>
5274
0353b28f
GM
5275 * search.c (search_buffer): Call set_search_regs with a byte
5276 position, not a character position.
5277
01acdb05
GM
5278 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5279 minibuffer-only,
5280
e86b5133
EZ
52812001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5282
5283 * frame.c (Fmodify_frame_parameters): Doc fix.
5284
7442878f
GM
52852001-01-31 Gerd Moellmann <gerd@gnu.org>
5286
01acdb05
GM
5287 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5288 identifier which is not reserved by Standard C.
52283633 5289
7442878f
GM
5290 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5291
5292 * window.c (enum window_part): New enumeration.
5293 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5294 Qright_bitmap_area.
5295 (coordinates_in_window): Return an enumerator from enum
5296 window_part. Fix handling of right scroll bar.
5297 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5298 `right-fringe' instead of `left-bitmap-area' and
5299 `right-bitmap-area'. Use enumerators from enum window_part
5300 instead of hard-coded integers.
52283633
SM
5301 (check_window_containing, window_from_coordinates):
5302 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5303 (syms_of_window): Replace Qleft_bitmap_area and
5304 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5305
7c132cba
EZ
53062001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5307
5308 * editfns.c (Fformat_time_string): Doc fix.
5309
c359dd9e
SM
53102001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5311
5312 * keymap.c (Fwhere_is_internal): Use the first valid binding
5313 if no ascii binding is found (when firstonly is t).
5314
ce070307
GM
53152001-01-31 Gerd Moellmann <gerd@gnu.org>
5316
b4f30ec5
GM
5317 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5318 instead of Finteractive_p.
5319
5320 * lisp.h (interactive_p): Add prototype.
5321
5322 * eval.c (interactive_p): New function.
5323 (Finteractive_p): Use it.
5324
ce070307
GM
5325 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5326
f57b6e64
DL
53272001-01-31 Dave Love <fx@gnu.org>
5328
d61c7afe
DL
5329 * .gdbinit (hook-run): Define to run xreload.
5330
f57b6e64
DL
5331 * textprop.c (Fset_text_properties): Fix newline in doc string.
5332
eef93f99
GM
53332001-01-30 Gerd Moellmann <gerd@gnu.org>
5334
52283633
SM
5335 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5336 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5337
5338 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5339 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5340 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5341
5342 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5343 height.
5344
d9c1f6f9
DL
53452001-01-30 Dave Love <fx@gnu.org>
5346
5347 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5348 AFTER_POTENTIAL_GC.
5349
e8f044a0
GM
53502001-01-29 Gerd Moellmann <gerd@gnu.org>
5351
52283633
SM
5352 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5353 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5354
8e1db7b3
EZ
53552001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5356
5357 * textprop.c (Fset_text_properties): Doc fix.
5358
4eefd9d2
GM
53592001-01-29 Gerd Moellmann <gerd@gnu.org>
5360
5361 * xdisp.c (forward_to_next_line_start): Remove xassert.
5362
fccb8288
EZ
53632001-01-29 Jason Rumney <jasonr@gnu.org>
5364
4eefd9d2 5365 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5366 returning without releasing it.
5367
76581eab
KH
53682001-01-29 Kenichi Handa <handa@etl.go.jp>
5369
5370 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5371 for '^', '$', and '\0'.
5372
83a96b4d
AC
53732001-01-28 Andrew Choi <akochoi@i-cable.com>
5374
5604ec34
AC
5375 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5376 regex for '^', '$', and '\0'.
5377
83a96b4d
AC
5378 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5379 only if current_sblock has been initialized.
5380
5381 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5382 terminal frame even if it is the only visible frame.
5383
c09a6440
KH
53842001-01-28 Kenichi Handa <handa@etl.go.jp>
5385
5386 * fontset.c (font_family_registry): Even if FONTNAME conform to
5387 XLFD, if it specifies other fields than family and registry,
52283633 5388 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5389 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5390 a signle byte character. Don't set FAMILY part to nil here.
5391 It is handled by the caller choose_face_font.
c09a6440
KH
5392 (Fnew_fontset): Call font_family_registry with FORCE 0.
5393 (Fset_fontset_font): Likewise.
5394
4dcd74e6
GM
53952001-01-27 Gerd Moellmann <gerd@gnu.org>
5396
5397 * xdisp.c (display_line): Don't treat a newline as fitting
5398 on the line.
5399
d2906bf8
GM
54002001-01-26 Gerd Moellmann <gerd@gnu.org>
5401
0130fe1a
GM
5402 * window.c (size_window): Set the window's orig_top to nil when
5403 changing heights, so that a future shrink_mini_window won't
5404 restore a bogus height.
5405
550f0e6a
GM
5406 * frame.c (do_switch_frame): If selected frame has a mini-window,
5407 resize that to exact size.
5408
b7b20fbd
GM
5409 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5410
a47b7816
GM
5411 * xdisp.c (display_line): Simplify check for glyphs fitting
5412 entirely in the line.
5413
d2906bf8
GM
5414 * xfns.c (xic_style): New variable.
5415 (create_frame_xic): Move static variable to global scope for
550f0e6a 5416 the case that `static' gets defined away.
d2906bf8 5417
73df2b1e
KH
54182001-01-26 Kenichi Handa <handa@etl.go.jp>
5419
5420 * coding.c (decode_coding): Set a flag for inhibiting
5421 inconsistent eol.
5422 (code_convert_region): Always set saved_coding_symbol.
5423 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5424 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5425
6613cfc4
GM
54262001-01-25 Gerd Moellmann <gerd@gnu.org>
5427
c5e6e06b
GM
5428 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5429 XClearArea.
5430
5431 * xterm.c (x_after_update_window_line): Don't clear if frame's
5432 internal border width is zero.
5433 (x_clear_area): New function.
5434 (x_after_update_window_line, x_clear_end_of_line)
5435 (x_scroll_bar_create, x_scroll_bar_set_handle)
5436 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5437 instead of XClearArea.
5438
5439 * xterm.h (x_clear_area): Add prototype.
5440
6613cfc4
GM
5441 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5442 which doesn't seem necessary anymore with Lesstif 0.92.
5443
650cc6cc
DL
54442001-01-25 Dave Love <fx@gnu.org>
5445
34ac3367
DL
5446 * puresize.h (BASE_PURESIZE): Up to 720000.
5447
650cc6cc
DL
5448 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5449
5e37dc22
GM
54502001-01-25 Gerd Moellmann <gerd@gnu.org>
5451
e1e441f9
GM
5452 * xdisp.c (echo_area_display): Don't call redisplay_internal
5453 when Emacs is shutting down. We can't run hooks etc. that
5454 would be necessary to do a redisplay.
5455
5e37dc22
GM
5456 * lread.c (read_integer): Use type EMACS_INT instead of int.
5457
0fb94c7f
EZ
54582001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5459
5460 * ccl.c (ccl_driver): Fix last change.
5461
e3778624
KH
54622001-01-25 Kenichi Handa <handa@etl.go.jp>
5463
5464 * ccl.h (sturct ccl_program): New member suppress_error.
5465
bb264518 5466 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5467 insert error message to the output.
5468 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5469
5470 * coding.h (struct coding_system): New member suppress_error.
5471
5472 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5473 (Fset_terminal_coding_system_internal): Set the member
5474 suppress_error to 1.
5475 (Fset_safe_terminal_coding_system_internal): Likewise.
5476
245ed2b1
SM
54772001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5478
5479 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5480 as if it was a `charset'.
5481
f9aaedb6
GM
54822001-01-24 Gerd Moellmann <gerd@gnu.org>
5483
5484 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5485 value in where_is_cache; the next lookup in the cache returns
5486 something bogus if we do.
5487
c3902c3e
EZ
54882001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5489
5490 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5491 if HAVE_WINDOW_SYSTEM isn't defined.
5492
3497f73e
GM
54932001-01-24 Gerd Moellmann <gerd@gnu.org>
5494
e7e41584
GM
5495 * fns.c (sweep_weak_table): Fix code taking items out of
5496 the hash collision chain. Some cleanup.
5497
3497f73e
GM
5498 * xterm.c (x_new_font): Don't change a tooltip's size.
5499
5500 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5501 background color by specifying a color for the default font
5502 in .Xdefaults.
5503
3d48e687
KH
55042001-01-24 Kenichi Handa <handa@etl.go.jp>
5505
96531b20
KH
5506 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5507 a workaround for SunOS 4's cc.
5508 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5509 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5510 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5511 statement.
3d48e687 5512
a30629d2
GM
55132001-01-23 Gerd Moellmann <gerd@gnu.org>
5514
5515 * xterm.c (x_set_window_size_1): New function extracted from
5516 x_set_window_size.
5517 (x_set_window_size): Use it.
5518 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5519 doesn't have a widget, like tooltips.
5520
5a43decf
EZ
55212001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5522
52283633 5523 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5524
b0e98867
KH
55252001-01-23 Kenichi Handa <handa@etl.go.jp>
5526
5527 * fns.c (Fset_char_table_default): Fix to make sub char-table
5528 correctly.
5529
50606b4c
GM
55302001-01-22 Gerd Moellmann <gerd@gnu.org>
5531
cb2ddc53 5532 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5533 a desired tool bar string, even if there are no tool bar items.
5534
57c28064
GM
5535 * xdisp.c (Ftool_bar_lines_needed): New function.
5536 (syms_of_xdisp): Defsubr it.
5537
50606b4c
GM
5538 * editfns.c (Fformat): Don't extend text properties from arguments
5539 to padding chars in the result.
5540
2f169c38
EZ
55412001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5542
5543 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5544
0f32f023
AI
55452001-01-20 Andrew Innes <andrewi@gnu.org>
5546
52283633 5547 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5548 (w32_initialize): Don't set term hooks that aren't actually needed
5549 in windowed mode.
5550
5551 * xfaces.c (realize_default_face):
5552 (realize_face):
5553 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5554
5555 * xdisp.c (handle_single_display_prop): Remove references to
5556 FRAME_W32_CONSOLE_P.
5557
52283633 5558 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5559
5560 * frame.h (output_method): Remove output_w32_console method.
5561 (FRAME_W32_CONSOLE_P): Remove macro.
5562
5563 * frame.c (Qw32_console): Remove variable.
5564 (Fframep): Remove references to it.
5565 (syms_of_frame): Ditto.
5566 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5567
5568 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5569 redefinition.
5570
7173eada
KH
55712001-01-20 Kenichi Handa <handa@etl.go.jp>
5572
5573 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5574
755b45ce
AI
55752001-01-19 Andrew Innes <andrewi@gnu.org>
5576
5577 * w32.c (init_environment): Add a version-independent site-lisp
5578 directory to EMACSLOADPATH, after the version dependent one.
5579
0a949811
GM
55802001-01-19 Gerd Moellmann <gerd@gnu.org>
5581
8501998a
GM
5582 * editfns.c (Fbuffer_substring): Doc fix.
5583
52283633
SM
5584 * xdisp.c (message_dolog, message2, message2_nolog):
5585 Rename parameter LEN to NBYTES.
0a949811 5586
e6ebcbbe
KH
55872001-01-19 Kenichi Handa <handa@etl.go.jp>
5588
200ecca2
KH
5589 * charset.c (strwidth): Use c_string_width.
5590 (c_string_width): New function.
5591 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5592 Caller changed.
5593
5594 * charset.h (c_string_width, lisp_string_width): Extern them.
5595
52283633 5596 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5597
e6ebcbbe
KH
5598 * indent.c (check_composition): Check validity of composition.
5599
200ecca2
KH
5600 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5601 characters by calling c_string_width.
5602 (x_consider_frame_title): Get byte length of frame tile string
5603 correctly.
5604 (display_mode_element): Pay attention to width of non-ASCII
5605 characters by calling strwidth.
5606
8692ca92
GM
56072001-01-18 Gerd Moellmann <gerd@gnu.org>
5608
8962e303
GM
5609 * xfns.c (Qcancel_timer): New variable.
5610 (syms_of_xfns): Initialize and staticpro it.
5611 (Fx_hide_tip, Fx_show_tip): Use it.
5612 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5613 the timer.
5614 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5615
91523be9
GM
5616 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5617
5618 * window.h (WINDOW_LIVE_P): New macro.
5619
b0b7ed0e
GM
5620 * window.c (window_size_fixed): New variable.
5621 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5622 the doc string.
5623
06bccf8e
GM
5624 * eval.c (specbind): If binding a per-buffer variable which
5625 doesn't have a buffer-local value in the current buffer, change
5626 the global value by changing the value of the symbol bound in all
5627 buffers not having their own value, to make it consistent with
5628 what happens with other buffer-local variables.
5629
8692ca92
GM
5630 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5631
5632 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5633 when searching for a newline.
5634
bb3a3b50
KH
56352001-01-18 Kenichi Handa <handa@etl.go.jp>
5636
5637 * xdisp.c (display_string): Fix previous change.
5638
c2cc16fa
JR
56392001-01-18 Jason Rumney <jasonr@gnu.org>
5640
5641 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5642 GLYPH_DEBUG is defined.
5643 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5644 true for images with `:ascent 100'.
5645 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5646 meantime, use face MOUSE_FACE_ID.
5647 If first glyph isn't a character glyph, use the ASCII NUL
5648 character to determine the face.
5649 (expose_area): Do not treat left margin specially.
5650 (note_mode_line_highlight): If no local_map, check global keymap.
5651 (note_mouse_highlight): Initialize overlay.
52283633 5652 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5653 (show_scroll_bars): Remove unused function.
5654 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5655 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5656 Clip to row.
52283633 5657 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5658 (x_free_frame_resources): Unload relief colors.
5659
9c11f79e
GM
56602001-01-17 Gerd Moellmann <gerd@gnu.org>
5661
3aec8722 5662 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5663 get_next_display_element when the newline is already found.
5664 This may change the iterator's position, when its current position is
3aec8722
GM
5665 equal to the iterator's stop_charpos.
5666
f3ffc2c3
GM
5667 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5668 zero, use this method only at the end of a line.
5669
52283633 5670 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5671 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5672 if SCALABLE_FONTS_P is set.
52283633 5673
d26d6fd9
GM
5674 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5675 so that scalable fonts are included.
5676
9c11f79e
GM
5677 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5678 In the cache, use a key containing the information if scalable
5679 fonts are included.
5680 (x_load_font): Adapt to change of keys in the font cache.
5681
56822001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5683
d26d6fd9
GM
5684 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5685 XListFonts to take advantage of font caching.
5686
9c11f79e
GM
5687 * xterm.c (x_list_fonts): Ensure caching font information when
5688 called for a null frame, which is the case frequently when Emacs
5689 starts.
5690
51446987
GM
56912001-01-17 Gerd Moellmann <gerd@gnu.org>
5692
f864120f
GM
5693 * xfns.c (QCconversion): Replaces QCalgorithm.
5694
5695 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5696
5697 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5698 of :algorithm.
52283633 5699
e37d1417
GM
5700 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5701 not everything could be displayed.
5702
51446987
GM
5703 * line.h, x-list-font.c: Files removed because unused.
5704
9ad4f3e5
AI
57052001-01-17 Andrew Innes <andrewi@gnu.org>
5706
5707 * dired.c (directory_files_internal): Convert result from readdir
5708 to a unibyte string initially, to avoid possible misinterpretation
5709 of some bytes as the internal form of Emacs characters.
5710
2eda09b5
KH
57112001-01-17 Kenichi Handa <handa@etl.go.jp>
5712
5713 * fns.c (concat): Be sure to avoid putting the same `composition'
5714 property on the adjacent regions.
5715
826f3788
GM
57162001-01-16 Gerd Moellmann <gerd@gnu.org>
5717
52283633 5718 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5719 (Fscroll_right, Fscroll_left): Set it here instead, if called
5720 interactively.
5721
d57b83b3
GM
5722 * buffer.c (Fset_buffer_modified_p): Set buffer's
5723 prevent_redisplay_optimizations_p flag.
5724
826f3788 5725 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5726 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5727 with additional arg.
5728
5729 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5730 Change prototype.
826f3788 5731
826f3788
GM
5732 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5733 FROM_WHERE, for debugging.
5734
261d788b
KH
57352001-01-16 Kenichi Handa <handa@etl.go.jp>
5736
5737 * ccl.c (Fregister_ccl_program): Handle the return value of
5738 resolve_symbol_ccl_program correctly.
52283633 5739 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5740
bccee4f2
GM
57412001-01-15 Gerd Moellmann <gerd@gnu.org>
5742
e4ded23c
GM
5743 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5744 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5745
5746 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5747 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5748 the display; we didn't open it.
5749
bccee4f2
GM
5750 * dispnew.c (save_or_restore_current_matrices): Function removed.
5751 (save_current_matrix, restore_current_matrix): New functions.
5752 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5753 restore the frame's current matrix. Due to the glyph pointer
5754 setup done in adjust_glyph_matrix, there is no easy way to make
5755 saving the current matrix in the desired matrix generally correct,
5756 so don't try it.
5757
ebeccffa
KH
57582001-01-15 Kenichi Handa <handa@etl.go.jp>
5759
5760 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5761 truncation glyphs.
5762 (display_line): Optimize for wide characters.
e4ded23c 5763 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5764 partially. On ttys, produce more than one truncation glyph for
5765 multi-column characters that don't fit on the line.
5766
64388126
KH
57672001-01-13 Kenichi Handa <handa@etl.go.jp>
5768
52283633
SM
5769 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5770 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5771
8edb0a6f
JR
57722001-01-13 Jason Rumney <jasonr@gnu.org>
5773
5774 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5775 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5776 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5777 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5778
52283633
SM
5779 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5780 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5781 (x_draw_image_glyph_string): Adapt to change of image margins.
5782
5783 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5784 variables.
5785
5786 * w32bdf.c (search_file_line, get_cached_font_char)
5787 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5788
5789 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5790
5791 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5792 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5793 (Fw32_send_sys_command): Remove unused variables.
5794 (w32_msg_pump): Add parentheses.
5795
5796 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5797 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5798 Add parentheses.
5799
4956d1ef
GM
58002001-01-12 Gerd Moellmann <gerd@gnu.org>
5801
b30623be
GM
5802 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5803 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5804 being a pair of margins.
5805 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5806 to DEFVAR_LISP. Extend doc.
5807
5808 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5809 margins.
5810 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5811 pair of integers `(X . Y)', use X for the horizontal and Y for the
5812 vertical margin.
5813 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5814 (parse_image_spec): Check it.
52283633
SM
5815 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5816 (tiff_format, gif_format, gs_format):
5817 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5818
52283633
SM
5819 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5820 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5821 (x_draw_image_glyph_string): Adapt to the change of image margins.
5822
5823 * dispextern.h (struct image): Replace member `margin' with
5824 `hmargin' and `vmargin'.
5825
4554cc79
GM
5826 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5827 and GLYPHS.
5828
5829 * dispnew.c (update_text_area): Put code which decrements the
5830 stop position when the row's face extends to the end of the
3bffc665 5831 line in #if 0.
4554cc79 5832
3cccce8d
GM
5833 * xfns.c (x_set_mouse_color): Fix color allocation.
5834
4956d1ef
GM
5835 * keyboard.c: Call get_local_map with new argument list.
5836
5837 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5838
5839 * intervals.h (enum map_property): Removed.
5840 (get_local_map): Change prototype.
5841
5842 * keymap.c: Call get_local_map with new argument list.
5843 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5844
2c2ff7f2
GM
58452001-01-11 Gerd Moellmann <gerd@gnu.org>
5846
a23887b9
GM
5847 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5848 of the size needed for the tool bar string. For the last image,
5849 use a `display' property that reaches to the end of the string.
5850
a7ee2d2e
GM
5851 * xselect.c (selection_request_dpyinfo): New variable.
5852 (x_handle_selection_request): Set it.
5853 (x_selection_request_lisp_error): Don't call
5854 x_decline_selection_request if selection request's display has
5855 been closed.
5856
52283633
SM
5857 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5858 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5859
457b792c
GM
58602001-01-10 Dave Love <fx@gnu.org>
5861
5862 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5863 ${SOME_MACHINE_LISP}, not ${lisp}.
5864
c1efd260
GM
58652001-01-10 Gerd Moellmann <gerd@gnu.org>
5866
52283633
SM
5867 * xdisp.c (display_line): On ttys, produce more than one truncation
5868 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5869
ac95a621
GM
5870 * xselect.c (x_reply_selection_request): Add a comment.
5871
c1efd260
GM
5872 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5873 XkbGetNames instead of XkbGetKeyboard.
5874
1bfb1345
DL
58752001-01-10 Dave Love <fx@gnu.org>
5876
5877 * sysdep.c (random): Revert the declaration.
5878
38119822
GM
58792001-01-09 Gerd Moellmann <gerd@gnu.org>
5880
52283633
SM
5881 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5882 Call function string_bytes.
35f464a7
GM
5883 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5884
5885 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5886 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5887 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5888 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5889 the current sblock.
5890 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5891 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5892 after sweeping strings, and at the end.
5893 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5894
38119822
GM
5895 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5896 ensure that pop_message is called.
5897
5898 * keyboard.c (Fexecute_extended_command): Use a
5899 record_unwind_protect to ensure that pop_message is called.
5900
5901 * lisp.h (push_message_unwind): Add prototype.
5902
5903 * xdisp.c (push_message_unwind): New function.
5904
5905 * fileio.c (do_auto_save_unwind): Do the pop_message here
5906 instead of in Fdo_auto_save.
5907 (Fdo_auto_save): Don't call pop_message.
5908
f47a9ec4
KR
59092001-01-08 Ken Raeburn <raeburn@gnu.org>
5910
5911 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5912 in inner block.
5913
a758f97d
GM
59142001-01-08 Gerd Moellmann <gerd@gnu.org>
5915
6d0afc03
GM
5916 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5917 when increasing window's vscroll.
5918
a758f97d
GM
5919 * macros.c (Qkbd_macro_termination_hook): New variable.
5920 (syms_of_macros): Initialize and staticpro it.
5921 (pop_kbd_macro): Run kbd-macro-termination-hook.
5922
5923 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5924
1bfb1345 59252001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5926
5927 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5928 arglist, for documentation's sake.
5929
0dac6924
AI
59302001-01-06 Andrew Innes <andrewi@gnu.org>
5931
5932 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5933 of *.pdb.
5934
8182406a
AI
59352001-01-05 Andrew Innes <andrewi@gnu.org>
5936
5937 * term.c (update_end): Don't check updating_frame; for some reason
5938 this can be 0 sometimes, such as after dismissing a popup menu,
5939 and isn't necessary given the explicit frame argument.
5940
3828218c
GM
59412001-01-05 Gerd Moellmann <gerd@gnu.org>
5942
5943 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5944 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5945
2f5ded21
GM
59462001-01-04 Gerd Moellmann <gerd@gnu.org>
5947
52283633 5948 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5949
5950 * xfns.c (x_create_tip_frame): Preserve the value of
5951 face_change_count around the creation of the tip frame.
52283633 5952
2f5ded21
GM
5953 * xfns.c (last_show_tip_args): New variable.
5954 (compute_tip_xy): New function.
5955 (Fx_show_tip): Reuse an existing tip frame, if possible.
5956 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5957
dfad65fa
DL
59582001-01-04 Dave Love <fx@gnu.org>
5959
64d4ec0f
DL
5960 * editfns.c (Fformat): Doc fix.
5961
dfad65fa
DL
5962 * systime.h (set_file_times): Prototype.
5963
5964 * widget.h (EmacsFrameSetCharSize_): Prototype.
5965
5966 * sysdep.c (random, srandom): Declare explicitly.
5967
5968 * dispextern.h (move_it_vertically_backward): Declare.
5969
85fe3b5e
GM
59702001-01-04 Gerd Moellmann <gerd@gnu.org>
5971
0f2ac578
GM
5972 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5973 like in Fx_create_frame.
5974
482cca61
GM
5975 * xfaces.c (set_font_frame_param): Don't do anything for
5976 non-graphical frames.
5977
85fe3b5e
GM
5978 * window.c (Fdelete_other_windows): Set window's window_end_valid
5979 to nil when changing the window's start. Don't change the
5980 window's start when its top position hasn't changed. If we do,
5981 this will set the window's optional_new_start, which act's like a
5982 force_start during redisplay with C-x 1 M-> under particular
5983 circumstances (see report from Per Starback to emacs-pretest-bug
5984 from 2000-12-13.).
5985
3e99d3b4
GM
59862001-01-03 Gerd Moellmann <gerd@gnu.org>
5987
a77dc1ec
GM
5988 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5989 short cut at the start of the function. Add an assertion.
5990 (reseat_at_next_visible_line_start): Add an assertion.
5991
2f3cad6c
GM
5992 * window.c (Frecenter): When changing the window start, set the
5993 window's window_end_valid to nil.
5994 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5995
5996 * dispextern.h (move_it_past_eol): Add prototype.
5997
5998 * xdisp.c (move_it_past_eol): New function.
5999
3e99d3b4
GM
6000 * window.c (Fwindow_end): Doc fix.
6001
60022001-01-03 Dave Love <fx@gnu.org>
6003
52283633 6004 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 6005
bafb434c
GM
60062001-01-03 Gerd Moellmann <gerd@gnu.org>
6007
6008 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
6009 the enabled_p flag of the glyph row at window_end_vpos to 0.
6010 (handle_single_display_prop): Fix last change.
6011
5297fb00
RS
60122001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6013
6014 * window.c (Frecenter): Doc fix.
6015
13d6a61c
AI
60162001-01-02 Andrew Innes <andrewi@gnu.org>
6017
6018 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
6019
6020 * frame.h (output_method): Add output_w32_console method.
6021 (FRAME_W32_CONSOLE_P): New macro.
6022
6023 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
6024 use output_w32_console method.
6025 (Qw32_console): New Lisp_Object.
6026 (Fframep): Return it.
6027 (syms_of_frame): Init it.
52283633 6028 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
6029
6030 * xfaces.c (realize_default_face): Set face foreground and
6031 background to unspecified for w32_console frames.
6032 (realize_face): Realize face cache for w32_console frames.
6033 (realize_tty_face): Accept w32_console frames.
6034
52283633 6035 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
6036 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
6037 necessary, even if running interactively.
6038
6039 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
6040 w32_console frames.
6041
52283633
SM
6042 * w32term.c (x_update_begin):
6043 (x_update_end):
6044 (x_clear_frame):
6045 (x_ins_del_lines):
6046 (x_change_line_highlight):
6047 (x_delete_glyphs):
6048 (w32_ring_bell):
6049 (x_update_begin):
6050 (x_update_end):
6051 (w32_reassert_line_highlight):
6052 (w32_frame_rehighlight):
13d6a61c
AI
6053 (w32_frame_raise_lower): Do nothing if not w32 frame.
6054
6055 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6056
6057 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6058 system doesn't tell us directly.
6059 (Fx_display_visual_class): Implement properly.
6060
d6bb0c0d
GM
60612001-01-02 Gerd Moellmann <gerd@gnu.org>
6062
6063 * window.c (Frecenter): Handle centering in graphical frames
6064 specially. Centering on the basis of line counts doesn't work
6065 reliably with variable-height lines.
52283633 6066
315f5865
EZ
60672001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6068
6069 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6070 and al[].
6071
52283633 6072 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
6073 (update_compositions): Remove unused variable `hook'.
6074
6075 * intervals.c (get_local_map): Remove unused variable `tem'.
6076
6077 * doprnt.c (doprnt1): Remove unused variable `size'.
6078
6079 * fns.c (Flength): Remove unused variable `tail'.
6080 (Fdelete): Remove unused variable `size'.
6081
6082 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6083 and `gcpro2'.
6084
52283633 6085 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6086
6087 * data.c (find_symbol_value): Remove extra 3rd argument in the
6088 call to swap_in_symval_forwarding.
6089
52283633 6090 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6091
6092 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6093 (trivial_regexp_p): Remove unused variable `c'.
6094 (boyer_moore): Remove unused variable `k'.
6095
6096 * indent.c (current_column): Remove unused variable `stopchar'.
6097 (Fcompute_motion): Remove unused variable `contin'.
6098
6099 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6100
6101 * dired.c (directory_files_internal): Fix a typo in a comment.
6102 Remove an unused variable `handler'.
52283633 6103 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6104 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6105 on BSD4_2.
6106
52283633 6107 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6108
6109 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6110 and `buf'.
6111 (Fmarker_insertion_type): Remove unused variable `buf'.
6112
6113 * insdel.c (make_gap): Remove unused variable `result'.
6114
52283633 6115 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6116 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6117 (menu_bar_items): Remove unused function-scope variable `tem'.
6118
6119 * fontset.c (fontset_ref): Remove unused variable `i'.
6120 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6121 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6122 (make_fontset_for_ascii_face): Remove unused variable `name'.
6123 (fs_load_font): Remove unused variable `font_idx'.
52283633 6124 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6125 (list_fontsets): Remove unused variable `tail'.
6126 (Fnew_fontset): Remove unused variables `family' and `registry'.
6127 (accumulate_font_info): Remove unused variable `tmp'.
6128 (Ffontset_font): Remove unused variable `id'.
6129 (syms_of_fontset): Remove unused variable `i'.
6130
6131 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6132 to x_term_init.
6133 (lookup_image): Remove unused variable `file'.
6134 (xbm_load): Remove unused variables `bitmap_data', `height', and
6135 `width'. Remove function-local variable `i', leave the
6136 block-local one.
6137 (gif_load): Remove unused variable `inc'.
6138
52283633 6139 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6140 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6141 leave only the one in the inner block.
6142
6143 * xfaces.c (face_fontset, realize_default_face): Remove unused
6144 variable `fontset'.
6145 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6146
6147 * term.c (encode_terminal_code): Remove unused variable `c'.
6148
6149 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6150 char *' instead of `char *'.
6151
6152 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6153 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6154 (Fchar_category_set): Remove unused variables `val', `charset',
6155 `c1' and `c2'.
6156
52283633
SM
6157 * coding.c (detect_coding_iso2022, setup_coding_system):
6158 Remove unused variable `i'.
315f5865
EZ
6159 (detect_coding_mask): Remove unused variable `idx'.
6160 (detect_coding): Remove unused variable `i'.
6161 (ccl_coding_driver): Remove unused variable `result'.
6162 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6163 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6164 (encode_coding_string): Remove unused variables `gcpro1' and
6165 `saved_coding_symbol'.
6166 (Ffind_coding_systems_region_internal): Remove function-local
6167 variable args[], leave only the block-local one.
6168 (code_convert_region1): Remove unused variable `len'.
6169
6170 * charset.c (char_printable_p): Remove unused variable `chars'.
6171 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6172 (str_to_multibyte): Remove unused variable `c'.
6173
6174 * window.c (size_window): Remove block-local variable `min_size'.
6175
6176 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6177 `header_line_height'.
6178 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6179 enum display_element_type.
6180
1a8a9daf
GM
61812001-01-02 Gerd Moellmann <gerd@gnu.org>
6182
6dde6abc 6183 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6184 statements that call X. Save away the error message in a local copy.
6185
1883b2c6
GM
6186 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6187 the start.
6188
a13be207
GM
6189 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6190 in or at the start of invisible text.
6191
1a8a9daf
GM
6192 * dispnew.c (update_window): Don't check_current_matrix_flags.
6193
3608c0f9
JR
61942001-01-01 Jason Rumney <jasonr@gnu.org>
6195
6196 * w32fns.c (x_figure_window_size): Do not allow new_height and
6197 new_width of frame to override specified values.
6198
abb1acc4
KH
61992000-12-30 Kenichi Handa <handa@etl.go.jp>
6200
52283633 6201 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6202
762a68ec
GM
62032000-12-29 Gerd Moellmann <gerd@gnu.org>
6204
52283633 6205 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6206 (update_window) [GLYPH_DEBUG]: Call it.
6207 (scrolling_window): Prevent including current rows which are below
6208 what's displayed in the window.
6209
6210 * xdisp.c (try_window_reusing_current_matrix)
6211 <new start <= old start>: Disable rows in the current matrix
6212 which are below the window after scrolling.
52283633 6213
762a68ec
GM
6214 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6215 is zero. It's not worth the complexity.
6216 (invisible_text_between_p): Put in #if 0 because unused.
6217
2d5912c1
GM
62182000-12-28 Gerd Moellmann <gerd@gnu.org>
6219
46f6a258
GM
6220 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6221 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6222
89f93679
GM
6223 * keyboard.c (echo_char): If C is an integer, always call
6224 push_key_description. Former code could signal an invalid
6225 character error.
6226
6227 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6228 If set, print multibyte text.
6229 (Fsingle_key_description): Call push_key_description with
6230 FORCE_MULTIBYTE set.
6231 (describe_buffer_bindings): Likewise.
6232
6233 * lisp.h (push_key_description): Add prototype.
6234
c06017fb
GM
6235 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6236 around the call to redisplay_internal.
6237
f1d2ce7f
GM
6238 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6239
2d5912c1
GM
6240 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6241
9371f831
KH
62422000-12-28 Kenichi Handa <handa@etl.go.jp>
6243
6244 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6245 (ccl_driver): New local variable `extra_bytes'.
6246
6247 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6248
52283633
SM
6249 * coding.c (setup_coding_system):
6250 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6251 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6252
0c80628a
KH
62532000-12-28 Kenichi Handa <handa@etl.go.jp>
6254
6255 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6256 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6257 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6258 (decode_composition_emacs_mule): New function.
6259 (decode_coding_emacs_mule): Decode composition sequence by calling
6260 decode_composition_emacs_mule.
6261 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6262 (encode_coding_emacs_mule): Changed from macro to function.
6263 If a text contains compositions, encode them correctly.
0c80628a
KH
6264 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6265 that decoding and encoding are required.
6266
3e32cc27
GM
62672000-12-27 Gerd Moellmann <gerd@gnu.org>
6268
5e25feee
GM
6269 * xfaces.c (PT_PER_INCH): New macro.
6270 (xlfd_point_size): Compute real point size from font's pixel size.
6271 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6272 instead of 72.
6273
892d8fcd
GM
6274 * .gdbinit: Comment out the line pointing to the Lesstif source
6275 directory.
6276
12c8b416
GM
6277 * window.c (Frecenter): Use displayed_window_lines instead
6278 of window_internal_height.
6279
6061fbf0
GM
6280 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6281 instead of x-toolkit-scroll-bars-p.
6282 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6283
6284 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6285 instead of x-toolkit-scroll-bars-p.
6286 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6287
3e32cc27
GM
6288 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6289 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6290 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6291 New variables.
6292 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6293 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6294 (build_frame_matrix_from_leaf_window): Remove unused code.
6295 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6296 redisplay history.
6297 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6298 (update_window) [GLYPH_DEBUG]: Likewise.
6299 (syms_of_display): Defsubr dump-redisplay-history.
6300
31798cfe
GM
63012000-12-23 Gerd Moellmann <gerd@gnu.org>
6302
f717c2ba
GM
6303 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6304 the end of the prompt. Set echo_after_prompt to the offset
6305 of echoptr in echobuf.
6306
aeb2b8fc
GM
6307 * xdisp.c (init_from_display_pos): Pop until the iterator's
6308 stack is empty; there may be frames for stretch or images
6309 on the stack.
6310
31798cfe
GM
6311 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6312 (save_or_restore_current_matrix): New function for the same
6313 purpose, but more efficient.
6314 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6315
f8156156
EZ
63162000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6317
6318 * xdisp.c (syms_of_xdisp): Fix last change.
6319
bdd6d4e8
GM
63202000-12-23 Gerd Moellmann <gerd@gnu.org>
6321
6322 * xdisp.c (syms_of_xdisp): Doc fix.
6323
6324 * xdisp.c (redisplay_window): Remove label restore_buffers;
6325 use finish_scroll_bars instead to make sure that scroll bars
6326 are redeemed. If we don't do this, flickering can result from
6327 scroll bars being destroyed and recreated.
6328
9436cdf9
JR
63292000-12-22 Jason Rumney <jasonr@gnu.org>
6330
6331 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6332 in the wrong colors when the foreground is not black.
6333 (expose_window): Don't redraw the window that's currently being
6334 updated.
6335
951f9df5
GM
63362000-12-22 Gerd Moellmann <gerd@gnu.org>
6337
856ff7a7
GM
6338 * window.c (size_window): When setting the window's too_small_ok
6339 flag, compare old size with minimum size depending on WIDTH_P,
6340 don't compare with window_min_width.
52283633 6341
951f9df5
GM
6342 * window.c (delete_window): Simplify somewhat.
6343 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6344 freeing window matrices. The flag windows_or_buffers_changed is
6345 set, so the next redisplay will consider all windows; this should
6346 suffice.
6347
886bc933
KH
63482000-12-22 Kenichi Handa <handa@etl.go.jp>
6349
6350 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6351
6352 * ccl.h (struct ccl_program): New member cr_consumed.
6353
6354 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6355 (CCL_READ_CHAR): Handle EOL conversion here.
6356 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6357
177f4e88
GM
63582000-12-21 Gerd Moellmann <gerd@gnu.org>
6359
52283633 6360 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6361
6362 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6363 otherwise tabs of different size compare equal.
6364
6365 * callint.c (Fcall_interactively): Prevent a compiler warning.
6366
6367 * print.c (print_unwind): Return nil.
6368 (PRINTDECLARE): Initialize all local variables.
6369 (print_preprocess): Add a default case.
6370
8e15274f
GM
6371 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6372
6373 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6374
52283633 6375 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6376 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6377
6378 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6379
6380 * dispnew.c (ensure_frame_matrix): Removed.
6381 (save_frame_matrix, restore_frame_matrix): New functions.
6382 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6383
6384 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6385 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6386
99012074
AI
63872000-12-21 Andrew Innes <andrewi@gnu.org>
6388
6389 * w32term.c (x_update_begin): Regenerate the palette here, rather
6390 than for each window.
6391
6392 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6393 palette is NULL, since this corrupts memory! Also get
6394 display_info reference from frame.
6395
29ef7d2d
JR
63962000-12-21 Jason Rumney <jasonr@gnu.org>
6397
6398 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6399
6400 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6401 to avoid returning without releasing it.
3e27fa1f 6402
3f9d67a6
KH
64032000-12-21 Kenichi Handa <handa@etl.go.jp>
6404
587fc3f9
KH
6405 * keymap.c (push_key_description): Don't convert eight-bit-control
6406 and eight-bit-graphic to multibyte character.
6407
3f9d67a6
KH
6408 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6409 generic character and CODE1 is nil, return the smallest character
6410 in CHARSET.
6411
774ba8c9
DL
64122000-12-20 Dave Love <fx@gnu.org>
6413
6414 * s/osf5-0.h (NSIG): Don't redefine.
6415
88416888
SM
64162000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6417
6418 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6419 excluding menu-bar and tool-bar.
6420 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6421 (menu_item_p): Remove.
6422 (where_is_internal_1): Don't ignore menu-items.
6423
a6426c6f
GM
64242000-12-20 Gerd Moellmann <gerd@gnu.org>
6425
03ff8aab
GM
6426 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6427 into account.
6428
6429 * window.c (make_window): Initialize window's min_hscroll.
6430 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6431 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6432 to zero.
6433 (struct saved_window): New member min_hscroll.
6434 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6435 (Fset_window_configuration): Set window's min_hscroll.
6436 (save_window_save): Save window's min_hscroll.
6437 (compare_window_configurations): Compare min_hscroll values.
6438
6439 * window.h (struct window): New member min_hscroll.
6440
6441 * keyboard.c (echo_prompt): Prevent a compiler warning.
6442
8de4aaf8
GM
6443 * xdisp.c (try_cursor_movement): Fix last change. The real
6444 condition is that PT is at the end of the row, and should
6445 be displayed at the start of the next row.
52283633 6446
3f7e3031
GM
6447 * xdisp.c (try_cursor_movement): If we end on a partially
6448 visible line, end we already decided to scroll, return -1.
6449
a6426c6f
GM
6450 * dispextern.h (ensure_frame_matrix): Add prototype.
6451
6452 * window.c (delete_window, Fsplit_window)
6453 (Fset_window_configuration): Call ensure_frame_matrix.
6454
52283633
SM
6455 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6456 New functions.
a6426c6f
GM
6457 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6458 completed, call fake_current_matrices instead of marking frame
6459 garbaged.
6460
57fa2774
JR
64612000-12-20 Jason Rumney <jasonr@gnu.org>
6462
6463 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6464
d925df90
EZ
64652000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6466
6467 * fns.c (Frequire): Doc fix.
6468
7b93a85b
GM
64692000-12-19 Gerd Moellmann <gerd@gnu.org>
6470
52283633 6471 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6472
c74e645b
GM
6473 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6474 currently displaying a message.
6475
7b93a85b
GM
6476 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6477 xterm.h.
6478 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6479
90d97e64
AI
64802000-12-18 Andrew Innes <andrewi@gnu.org>
6481
6482 * w32.c (w32_strerror): New function.
6483
6484 * w32.h (w32_strerror): New extern.
6485
6486 * w32fns.c (Fw32_shell_execute): Use it.
6487
91c9e6ce
GM
64882000-12-18 Gerd Moellmann <gerd@gnu.org>
6489
6490 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6491
6f4745e2
EZ
64922000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6493
6494 * msdos.c (IT_set_face): Obey inverse_video.
6495
c9e088ce
KH
64962000-12-18 Kenichi Handa <handa@etl.go.jp>
6497
6498 * dired.c (directory_files_internal): Always return decoded filenames.
6499
c3695f5f
GM
65002000-12-18 Gerd Moellmann <gerd@gnu.org>
6501
52d8e4ff
GM
6502 * xterm.c (x_connection_closed): Prevent being called recursively
6503 because of an error condition in XtCloseDisplay.
52283633 6504
62be9979
GM
6505 * xdisp.c (init_iterator): If noninteractive, and the frame's
6506 face cache is null, make one.
6507
52283633 6508 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6509
c3695f5f
GM
6510 * process.c (wait_reading_process_input): Check for pending
6511 input when running timers.
6512
78555fbe
EZ
65132000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6514
52283633 6515 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6516
b2b36264
KH
65172000-12-18 Kenichi Handa <handa@etl.go.jp>
6518
6519 * process.c (read_process_output): Don't run a filter if the code
6520 decoder produces nothing but carryover.
6521
9c543fbf
AI
65222000-12-17 Andrew Innes <andrewi@gnu.org>
6523
6524 * w32.c (sys_rename): Only check errno against EEXIST, and not
6525 EACCES, when determining whether rename failed because the target
6526 exists. This was resulting in indefinite looping on Windows 9x if
6527 the source file was locked by another process.
6528
6529 * w32fns.c (Ffile_system_info): New function.
6530 (syms_of_w32fns): Defsubr it.
6531
10c2b5a8
GM
65322000-12-17 Gerd Moellmann <gerd@gnu.org>
6533
b0228ace
GM
6534 * window.c (coordinates_in_window): Fix computation for
6535 position on vertical line between mode lines.
6536
10c2b5a8
GM
6537 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6538 Don't alter tip_frame or tip_window.
6539 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6540 was deleted.
6541
c844a81a
GM
6542 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6543 Don't alter tip_frame or tip_window.
6544 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6545 was deleted.
6546
6c825f8e
EZ
65472000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6548
6549 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6550 be consistent with the doc string. Reported by NAKAJIMA Mikio
6551 <minakaji@osaka.email.ne.jp>.
6552
af4bb4c8
KH
65532000-12-16 Kenichi Handa <handa@etl.go.jp>
6554
6555 * xfaces.c (Vface_ignored_fonts): New variable.
6556 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6557 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6558
8062e53a
GM
65592000-12-15 Gerd Moellmann <gerd@gnu.org>
6560
e87b8809
GM
6561 * dispnew.c (update_window): Detect pending input every nth line
6562 updated, i.e. do it depending on real work done, and not on the
6563 vpos of the line.
6564
6565 * xterm.c (expose_window): Don't redraw the window that's
6566 currently being updated.
6567
a6768cc5
GM
6568 * window.c (Fset_window_point): Remove test for
6569 cursor_in_non_selected_windows.
6570
4ea7fdca
GM
6571 * lread.c (read1): Recognize end of file after `\\'.
6572
8062e53a
GM
6573 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6574 not unwind_create_frame.
6575
bb7959c1
GM
65762000-12-15 Dave Love <fx@gnu.org>
6577
6578 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6579 bcopy & al.
6580
6581 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6582
ced04c42
KH
65832000-12-15 Kenichi Handa <handa@etl.go.jp>
6584
c5443913
KH
6585 * coding.c (setup_coding_system): Clear all members of the struct
6586 coding_system at first.
bc137305
KH
6587 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6588 argument.
6589 (code_convert_region): Don't override coding->src_multibyte and
6590 coding->dst_multibyte.
c5443913 6591
ced04c42
KH
6592 * fns.c (Fmd5): Docstring improved.
6593
c2d7f289
MB
65942000-12-15 Miles Bader <miles@gnu.org>
6595
6596 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6597 are actually marked as mode-lines; otherwise use
6598 estimate_mode_line_height.
6599
9d7d9263
GM
66002000-12-14 Gerd Moellmann <gerd@gnu.org>
6601
6602 * editfns.c (Fformat): Prevent a buffer overrun when the format
6603 specifies a precision.
6604
7cf0153a
EZ
66052000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6606
6607 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6608 argument is outside the range [2..3].
6609
1de0f662
AI
66102000-12-14 Andrew Innes <andrewi@gnu.org>
6611
6612 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6613 nothing to do. Bind inhibit-quit.
6614 (tip_frame): Make it a Lisp_Object.
6615 (x_create_tip_frame): Set tip_frame after it has been added to
6616 Vframe_list.
6617 (Fx_show_tip): Don't set tip_frame here.
52283633 6618 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6619 (unwind_create_frame, unwind_create_tip_frame): New functions.
6620 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6621 while a frame is only partially constructed.
6622
6623 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6624 (x_free_frame_resources): New function.
6625 (x_destroy_window): Use it.
6626
02387dcc
GM
66272000-12-14 Gerd Moellmann <gerd@gnu.org>
6628
6629 * xfns.c (Fx_backspace_delete_keys_p): New function.
6630 (syms_of_xfns): Defsubr it.
6631
6632 * config.in (HAVE_XKBGETKEYBOARD): Add.
6633
0544ef49
KH
66342000-12-14 Kenichi Handa <handa@etl.go.jp>
6635
98d62747
KH
6636 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6637 Always store string in multibyte representation in echobuf.
6638 (echo_char): Always store string in multibyte representation in
6639 echobuf.
6640 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6641 (read_key_sequence): Adjusted for the change of echo_prompt.
6642
a20193cd
KH
6643 * fns.c (Fmd5): Docstring improved.
6644
191b83b6
KH
6645 * lisp.h (detect_coding_system): Prototype adjusted.
6646
0544ef49
KH
6647 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6648 (detect_coding_emacs_mule, detect_coding_iso2022,)
6649 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6650 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6651 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6652 (detect_coding_mask, detect_coding_system): New argument
6653 MULTIBYTEP. Callers changed.
1da1bb05
KH
6654 (decode_coding_string): Set coding->src_multibyte and
6655 coding->dst_multibyte before calling detect_coding and detect_eol.
6656 Update them after some coding system is detected.
52283633 6657
d5b3eb1b
SM
66582000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6659
6660 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6661
6662 * keyboard.c (menu_bar_items, tool_bar_items):
6663 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6664
f7f8bb69
GM
66652000-12-13 Gerd Moellmann <gerd@gnu.org>
6666
52283633 6667 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6668 New variables.
6669 (unwind_create_frame, unwind_create_tip_frame): New functions.
6670 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6671 while a frame is only partially constructed.
6672
6673 * xterm.h (x_free_frame_resources): Declare.
6674
6675 * xterm.c (x_free_frame_resources): New function.
6676 (x_destroy_window): Use it.
6677
e10da507
GM
6678 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6679 don't interrupt the update for pending input initially, i.e.
6680 update at least some lines.
6681
6682 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6683
d5b3eb1b 6684 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6685
6686 * xfns.c (gray_bitmap_bits): Declare `char *'.
6687
90aa2856
GM
66882000-12-12 Gerd Moellmann <gerd@gnu.org>
6689
6690 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6691 lines start with a relief line.
6692
a308c9cd
DL
66932000-12-12 Dave Love <fx@gnu.org>
6694
6695 * window.c (Fdisplay_buffer): Doc fix.
6696 (Fwindow_list): Remove unused var.
6697
6698 * buffer.h (mmap_set_vars): Declare.
6699
6700 * window.h (Fset_window_point): Declare.
6701
d575011f
EZ
67022000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6703
bf6282d2 6704 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6705 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6706 variable `area'. When looking for a row under (X,Y), give up if some
6707 of the previous rows is not enabled.
d575011f 6708
ecf4d726
GM
67092000-12-12 Gerd Moellmann <gerd@gnu.org>
6710
2ebf6139
GM
6711 * window.c (Fset_window_point): If displaying cursors in windows
6712 other than the selected window, make sure redisplay updates
6713 other windows to show the new value of point in the window.
6714
6715 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6716
bfdb75ee
GM
6717 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6718 the buffer is the sole visible buffer when in the mini-buffer.
6719
52283633 6720 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6721 Bind `inhibit-read-only' to t.
6722 (unwind_with_echo_area_buffer): Use AREF.
6723
c0006262
GM
6724 * xfns.c (Fx_hide_tip): Simplified.
6725
52283633
SM
6726 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6727 instead of `1'.
e9a59cad 6728
ecf4d726
GM
6729 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6730
e5959a9a
GM
67312000-12-11 Gerd Moellmann <gerd@gnu.org>
6732
a3642e49 6733 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6734
44b5a125
GM
6735 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6736 nothing to do. Bind inhibit-quit.
6737 (tip_frame): Make it a Lisp_Object.
6738 (x_create_tip_frame): Set tip_frame after it has been added to
6739 Vframe_list.
6740 (Fx_show_tip): Don't set tip_frame here.
6741
6742 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6743
6744 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6745 Lisp_Object.
6746
6747 * dispextern.h: Change external declaration of tip_frame.
6748
d990421f
GM
6749 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6750 return an empty string.
6751
4db87380
GM
6752 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6753 of the window's update_mode_line flag, since the former is set by
6754 force-mode-line-update, not the latter. This makes
6755 column-number-mode slightly faster.
52283633 6756
e5959a9a
GM
6757 * xdisp.c (try_window_id) <all changes above window start>:
6758 Set the cursor.
6759
169fe44e
GM
67602000-12-11 Paul Eggert <eggert@twinsun.com>
6761
6762 * config.in (HAVE_FTELLO): Remove.
6763 (HAVE_FSEEKO): Add.
6764 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6765 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6766 HAVE_FTELLO.
6767 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6768 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6769
59ec59ae
MB
67702000-12-11 Miles Bader <miles@gnu.org>
6771
6772 * window.c (displayed_window_lines): Don't round up when
6773 converting empty space at bottom to lines.
ff904dd6
MB
6774 Handle non-newline-terminated final lines properly.
6775 (Fwindow_text_height): New function (used to be in lisp).
6776 (syms_of_window): Initialize it.
59ec59ae 6777
42ebfa31
SM
67782000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6779
6780 * syntax.c (scan_lists): Check that the right quote char has the
6781 right Sstring syntax when jumping over strings.
6782 (init_syntax_once): Use Smax rather than 13.
6783
5cdb3cf3
MB
67842000-12-09 Miles Bader <miles@gnu.org>
6785
6786 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6787 with PARTIALLY, inverting the sense.
6788 (window_scroll_pixel_based): Scroll partially visible lines into
6789 place if we hit the beginning or end of the buffer.
a12167c5
MB
6790 (displayed_window_lines): Don't include partially visible lines.
6791 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6792
842b2a94
GM
67932000-12-08 Gerd Moellmann <gerd@gnu.org>
6794
6795 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6796
6797 * tparam.c (tparam1): Change the way buffers are reallocated to be
6798 portable and less obfuscated.
6799
6800 * termcap.c (tgetent): Change the way buffers are reallocated to
6801 be portable and less obfuscated.
6802
6803 * macros.c (store_kbd_macro_char): Change the way buffers are
6804 reallocated to be portable and less obfuscated.
6805
6806 * lread.c (read1): Change the way buffers are reallocated to be
6807 portable and less obfuscated.
6808
6809 * doc.c (Fsubstitute_command_keys): Change the way buffers
6810 are reallocated so that it is portable.
6811
137cad7c
EZ
68122000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6813
6814 * dosfns.c (Ffile_system_info): New function.
6815 (syms_of_dosfns): Defsubr it.
6816
5c7f629c
SM
68172000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6818
6819 * alloc.c (gc_sweep): Add comment.
6820
959e647d
GM
68212000-12-07 Gerd Moellmann <gerd@gnu.org>
6822
52283633
SM
6823 * sound.c (vox_configure): Change order of ioctls.
6824 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6825 Ignore errors when changing volume.
6826 (vox_close): Don't reset the device.
6827
926b7e5e
GM
6828 * process.c (read_process_output): Make sure the process marker's
6829 position is valid when the process buffer is changed in
6830 after-change functions. W3 does that.
52283633 6831
959e647d
GM
6832 * xfns.c (x_free_gcs): New function.
6833
6834 * xterm.h (x_free_gcs): Add prototype.
6835
6836 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6837 freeing GCs here.
6838
6839 * xterm.c (x_destroy_window): Call x_free_gcs so that
6840 resources of non-toolkit X windows will be freed.
6841
478ea067
AI
68422000-12-07 Andrew Innes <andrewi@gnu.org>
6843
6844 * w32fns.c (xlfd_charset_of_font): Fix last change.
6845
fbee3231
DL
68462000-12-06 Dave Love <fx@gnu.org>
6847
67292061
DL
6848 * md5.h (__P): Don't define -- it comes from config.h.
6849
fbee3231
DL
6850 * strftime.c: Change some #if foo to #ifdef foo.
6851
4ee87dbb
AI
68522000-12-06 Andrew Innes <andrewi@gnu.org>
6853
6854 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6855
52283633 6856 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6857 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6858 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6859
9765b4a4
GM
68602000-12-06 Gerd Moellmann <gerd@gnu.org>
6861
d285b373
GM
6862 * alloc.c (gc_sweep): Prevent symbols read during loadup
6863 from being freed.
6864
384333ee
GM
6865 * xdisp.c (underlying_face_id): New function.
6866 (handle_face_prop, face_before_or_after_it_pos): Use it
6867 to determine the face ``under'' a string. Let strings inherit
6868 the face of the buffer under them.
6869
6870 * xfaces.c (face_at_string_position): Update function comment.
52283633 6871
d4b72d58
GM
6872 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6873 matrix if the window's left position has changed; we need to
6874 redraw it in this case.
6875
6876 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6877
e1d05387
GM
6878 * window.c (coordinates_in_window): Check mouse on mode-line or
6879 header-line first.
6880
eb1b0c74
GM
6881 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6882 advertized by the function documentation.
6883
d94d636f
GM
6884 * window.c (syms_of_window): Doc fix.
6885
3887b449
GM
6886 * sound.c (vox_configure): Set volume for left and right channel.
6887 (sound_cleanup): Return nil.
6888
efc8f57a
GM
6889 * xdisp.c (move_it_by_lines): Fix paren typo.
6890
9765b4a4
GM
6891 * xterm.c (x_load_font): Don't use the font's max_bounds for
6892 computing the height of the font. If max_bounds' ascent or
6893 descent are greater than the font's ascent or descent, this means
6894 glyphs overlap, which should be handled now by redisplay.
6895
6529ed87
GM
6896 * window.c (Veven_window_heights): New variable.
6897 (syms_of_window): DEFVAR_LISP it.
6898 (Fdisplay_buffer): Check Veven_window_heights before evening the
6899 window heights.
52283633 6900
0eb2ecde
MB
69012000-12-06 Miles Bader <miles@gnu.org>
6902
6903 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6904 update `default-frame-alist' instead of setting no frame parameters.
6905
03d7a167
KH
69062000-12-06 Kenichi Handa <handa@etl.go.jp>
6907
6908 * composite.c (update_compositions): Fix typo (use the correct
6909 variable).
6910
5f8803c2
JR
69112000-12-05 Jason Rumney <jasonr@gnu.org>
6912
6913 * md5.h: Remove underscores from function declarations.
6914 (__attribute__, __alignof__) [!__GNUC__]: Define.
6915
6916 * md5.c: Delay include of md5.h until after namespace cleaning.
6917
c28a075b
JR
6918 * makefile.w32-in (fns.o): Depend on md5.h
6919 (md5.o): New target.
6920 (sunfns.o): Remove.
6921
6922 * makefile.nt: Likewise.
6923
ff3c7056
JR
69242000-12-05 Jason Rumney <jasonr@altavista.net>
6925
6926 * w32term.c (expose_area): Complete last change.
6927
0c21eeeb
KR
69282000-12-05 Ken Raeburn <raeburn@gnu.org>
6929
6930 * minibuf.c: Include intervals.h.
6931
f201d732
JR
69322000-12-05 Jason Rumney <jasonr@gnu.org>
6933
6934 * w32term.c (x_produce_glyphs): If a font for a component of
6935 a composition is not found, use 1 pixel dot ascent and 0 dot
6936 descent value to avoid displaying terribly tall empty boxes.
6937 (expose_area): Pass x-coordinate relative to the exposed
6938 area to x_draw_glyphs instead of a window-relative coordinate.
6939
21999ab9
GM
69402000-12-05 Gerd Moellmann <gerd@gnu.org>
6941
4d2036e4
GM
6942 * xdisp.c (next_element_from_ellipsis): Save face before selective
6943 display in saved_face_id, and set face_before_selective_p.
6944 (reseat_1): Reset face_before_selective_p.
6945 (append_space, extend_face_to_end_of_line): If iterator's
6946 face_before_selective_p is set, use the face from saved_face_id.
6947 (extend_face_to_end_of_line): For tty frames, make sure to
6948 use the right face id when producing spaces at the end of
6949 the line.
6950
6951 * dispextern.h (struct it): Add face_before_selective_p.
6952
52be17cc
GM
6953 * keyboard.c (record_char): Don't record identical help-echo
6954 events in recent_keys.
6955
8a4f36cc
GM
6956 * xterm.c [USE_X_TOOLKIT]: Close the display.
6957 (xim_close_dpy): Handle case that the display has been closed.
6958
57d6e381
GM
6959 * xterm.c (x_destroy_window): Reset the frame's X window after
6960 destroying it.
6961
21999ab9
GM
6962 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6963 variable window_width.
6964 (line_draw_cost): Fix code skipping over spaces at the end of the
6965 line when must_write_spaces is not set.
6966 (scrolling_window): Fix code inserting runs in list of all runs.
6967
91372bb7
KH
69682000-12-05 Kenichi Handa <handa@etl.go.jp>
6969
6970 * coding.c (setup_coding_system): Be sure to initialize
6971 coding->category_idx.
6972
6c083b4c
GM
69732000-12-04 Gerd Moellmann <gerd@gnu.org>
6974
0c68ce6f 6975 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6976
6452929e
GM
6977 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6978 area to x_draw_glyphs instead of a window-relative coordinate.
6979
d7f31e22
GM
6980 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6981 error in the message.
6982
ae18aa3b
GM
6983 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6984 timer after having read a key. It's not good for code reading
6985 several keys in a loop, like an input method.
6986
caa15ef7
GM
6987 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6988 record undo information for format-decode.
6989
6990 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6991 current buffer is read-only, not if it isn't.
6992
6c083b4c
GM
6993 * keyboard.c (record_char): Record `help-echo' input events
6994 in recent_keys only if they display some help. Don't record
6995 `help-echo' events as macro char.
6996
caa15ef7
GM
69972000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6998
6999 * editfns.c (save_excursion_restore): Don't move point
7000 in another window if it is showing the wrong buffer.
7001 Avoid the call to Fwindow_live_p, for speed.
7002
5a13529b
KH
70032000-12-04 Kenichi Handa <handa@etl.go.jp>
7004
e225faa7
KH
7005 * xfaces.c (struct font_name): New member registry_priority.
7006 (split_font_name): Initialize the above member to zero.
7007 (concat_font_list): New function.
7008 (font_list): Include fonts of all alternative registries.
7009 (FONT_POINT_SIZE_QUANTUM): New macro.
7010 (better_font_p): Ignore point size difference less than
7011 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
7012
e89648b4
KH
7013 * xterm.c (x_produce_glyphs): If a font for a component of
7014 a composition is not found, use 1 pixel dot ascent and 0 dot
7015 descent value to avoid displaying terribly tall empty boxes.
7016
5a13529b
KH
7017 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
7018
d7935eb6
KR
70192000-12-03 Ken Raeburn <raeburn@gnu.org>
7020
7021 * coding.h (code_convert_string1): Declare.
7022
7023 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
7024
52283633 7025 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 7026
0dd5e255
JR
70272000-12-02 Jason Rumney <jasonr@gnu.org>
7028
7029 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
7030 correctly for single byte character case.
7031 (w32_per_char_metric): Do not try to make any assumptions about
7032 the metrics of BDF fonts.
250cfece 7033 (x_estimate_mode_line_height): If `mode-line' face
52283633 7034 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
7035 (note_mouse_highlight): Change the cursor shape on the vertical
7036 border between windows [not enabled].
7037
7038 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
7039
7040 * w32fns.c (Fx_create_frame): Reintroduce the call to
7041 face-set-after-frame-defaults.
7042 (Vx_window_horizontal_drag_shape): New variable.
7043 (syms_of_xfns): DEFVAR_LISP it.
7044 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
7045 enabled].
0dd5e255 7046
b5d8d2ca
GM
70472000-12-02 Simon Josefsson <simon@josefsson.org>
7048
7049 * fns.c (Fmd5): Use a different logic to decide the coding system
7050 to use.
7051
7052 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
7053
fbb87147
EZ
70542000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7055
52283633 7056 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 7057
447e9da0
GM
70582000-12-01 Gerd Moellmann <gerd@gnu.org>
7059
7708ced0
GM
7060 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7061 height for YNegative.
7062 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7063 height; also see comment there.
7064
447e9da0
GM
7065 * window.c (coordinates_in_window): Handle computations for
7066 positions on the vertical bar and fringes differently for
7067 window-system frames. Consider some pixels near the vertical bar
7068 as on the bar if the frame doesn't have vertical scroll bars.
7069 Associate positions between mode or header lines with the
7070 right window, the left one.
7071
86d1db20
JR
70722000-12-01 Jason Rumney <jasonr@gnu.org>
7073
7074 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7075
7076 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7077 invalid frame.
7078
a1d58e5b
GM
70792000-12-01 Gerd Moellmann <gerd@gnu.org>
7080
52283633 7081 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7082 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7083 (save_window_save, Fset_window_configuration): Save/restore
7084 window's orig_top and orig_height.
7085
89c609af
JR
70862000-12-01 Jason Rumney <jasonr@gnu.org>
7087
4d177746 7088 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7089
89c609af
JR
7090 * w32fns.c (x_set_cursor_color): Fix last change.
7091
eccc05db
GM
70922000-11-30 Gerd Moellmann <gerd@gnu.org>
7093
31b6671b
GM
7094 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7095 sure that the next redisplay displays the minibuffer, so that
7096 the cursor will be replaced with what the minibuffer wants.
7097
eccc05db
GM
7098 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7099 #ifndef instead of using #if.
7100 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7101 USE_TOOLKIT_SCROLL_BARS is defined.
7102
162de750
JR
71032000-11-30 Jason Rumney <jasonr@gnu.org>
7104
7105 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7106 x_display_cursor.
7107
693c4692
GM
71082000-11-30 Gerd Moellmann <gerd@gnu.org>
7109
7110 * fns.c (Fmd5): Doc fix.
7111
b5d8d2ca 71122000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7113
7114 * fns.c (Fmd5): New function.
7115 (syms_of_fns): Defsubr md5.
7116
7117 * Makefile.in (obj): Add md5.o
7118
b02cd40b
GM
71192000-11-30 Gerd Moellmann <gerd@gnu.org>
7120
edfb795e
GM
7121 * md5.h, md5.c: New files, taken from glibc.
7122
df3aedcf
GM
7123 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7124
b02cd40b 7125 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7126 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7127
8b5176cd
SM
71282000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7129
7130 * eval.c (Frun_hooks): Allow 0 arguments.
7131
346598f1
GM
71322000-11-29 Gerd Moellmann <gerd@gnu.org>
7133
f9396e03
GM
7134 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7135 is over the menu bar widget, say it's not on the frame.
7136
4a967a9b
GM
7137 * xfns.c (Fx_create_frame): Reintroduce the call to
7138 face-set-after-frame-defaults.
7139
346598f1
GM
7140 * eval.c (Fsignal): Reset handling_signal.
7141
222456a1
JR
71422000-11-28 Jason Rumney <jasonr@gnu.org>
7143
7144 * w32menu.c (add_menu_item): Reset menu item text when changing
7145 type to radio button.
7146
8049ddc0
GM
71472000-11-28 Gerd Moellmann <gerd@gnu.org>
7148
346598f1 7149 * xselect.c: Update copyright.
f4f4ee4d 7150
bebe4a2c
GM
7151 * window.c (coordinates_in_window): If on a mode or header line,
7152 but sufficiently close to its start, return ``on vertical
7153 border''. This gives us a way to drag windows horizontally when
7154 using toolkit scroll bars.
7155
7156 * xterm.c (note_mouse_highlight): Change the cursor shape
7157 on the vertical border between windows.
7158
7159 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7160
7161 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7162 (syms_of_xfns): DEFVAR_LISP it.
7163 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7164
8d2c2642
GM
7165 * textprop.c (text_read_only): New function.
7166 (verify_interval_modification): Use it instead of signaling
7167 `text-read-only'. This makes it easier to catch this error
52283633 7168 with a breakpoint.:
8d2c2642 7169
52283633 7170 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7171 not end of line, which includes CR.
7172
5a2bae6c
KH
71732000-11-28 Kenichi Handa <handa@etl.go.jp>
7174
7175 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7176 include no-conversion.
7177
ae31f84d
JR
71782000-11-27 Jason Rumney <jasonr@gnu.org>
7179
7180 * w32fns.c (w32_load_system_font): Always mark font as double byte
7181 if codepage is unicode.
7182
67f1cf4c
GM
71832000-11-27 Gerd Moellmann <gerd@gnu.org>
7184
4a74d071 7185 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7186 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7187
902ae620
GM
7188 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7189 `vertical-line', `mode-line' and `header-line' events.
7190
7191 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7192 of a character, a TAB for instance. This is easier than to set
7193 up the iterator exactly, and it's not a frequent case, so the
7194 additional effort wouldn't really pay off.
7195
c1e279c2
AC
71962000-11-26 Andrew Choi <akochoi@i-cable.com>
7197
67f1cf4c 7198 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7199 init_window_once.
7200
a609568a
JR
72012000-11-25 Jason Rumney <jasonr@gnu.org>
7202
52283633
SM
7203 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7204 Args to window_from_coordinates should be pixel coordinates.
48b21762 7205
a609568a
JR
7206 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7207 redisplay handles them properly.
7208
a658d039
MB
72092000-11-25 Miles Bader <miles@gnu.org>
7210
7211 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7212
d3416cca
JR
72132000-11-24 Jason Rumney <jasonr@gnu.org>
7214
7215 * w32.c (init_environment): Set LANG environment variable based on
7216 locale settings, if not set.
7217
7218 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7219 making tool bar smaller. When clearing the frame, also
7220 clear current matrices. Clear frame when tool bar disappears.
7221 Don't use more lines for the tool-bar than is available.
7222 (x_change_window_heights): New function.
7223
ba193890
GM
72242000-11-24 Gerd Moellmann <gerd@gnu.org>
7225
2be8f184
GM
7226 * xdisp.c (init_from_display_pos): If POS says we're already after
7227 an overlay string ending at POS, make sure to pop the iterator
7228 because it will be in front of that overlay string. When POS is
7229 ZV, we've thereby also ``processed'' overlay strings at ZV.
7230
ba193890
GM
7231 * xfaces.c (lface_from_face_name): Function comment fix.
7232
1862a24e
MB
72332000-11-24 Miles Bader <miles@gnu.org>
7234
7235 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7236 apply `mode-line-inverse-video' -- zero means force display using
7237 the default face, non-zero means display using the specialized face.
7238 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7239
f07fa1b8
KH
72402000-11-23 Kenichi Handa <handa@etl.go.jp>
7241
7242 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7243 hard coded `4'.
7244
2bcdf662
EZ
72452000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7246
7247 * coding.c (decode_coding_emacs_mule): Fix the case of
7248 CODING_EOL_LF, which used uninitialized value of c.
7249
ba8299ff
SM
72502000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7251
7252 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7253
f4117c4d
GM
72542000-11-22 Gerd Moellmann <gerd@gnu.org>
7255
03e757c1
GM
7256 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7257 buffer object.
7258
f4117c4d
GM
7259 * frame.h (struct frame): Replace desired_tool_bar_items,
7260 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7261 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7262
7263 * frame.c (make_frame): Change initialization of tool bar
7264 items accordingly.
7265
7266 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7267 Change references to members deleted from struct frame to use the
f4117c4d
GM
7268 new ones.
7269
7270 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7271 references to members deleted from struct frame to use the new ones.
f4117c4d 7272
52283633 7273 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7274
7275 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7276
7277 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7278 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7279 from struct frame to use the new ones.
7280
f8e2f3f2
MB
72812000-11-23 Miles Bader <miles@gnu.org>
7282
7283 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7284 the face's inverse-video attribute, rather than overriding it.
7285
60e8e0a5
GM
72862000-11-22 Gerd Moellmann <gerd@gnu.org>
7287
7288 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7289 making tool bar smaller.
7290
92dd1b29
DL
72912000-11-22 Dave Love <fx@gnu.org>
7292
7293 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7294
e672fdce
MB
72952000-11-22 Miles Bader <miles@gnu.org>
7296
3a17d6cc
MB
7297 * keyboard.c (Vminibuffer_message_timeout): New variable.
7298 (command_loop_1): Use it to determine message timeout.
7299 (syms_of_keyboard): Initialize it.
7300
60e8e0a5 7301 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7302
e9655d81
KH
73032000-11-22 Kenichi Handa <handa@etl.go.jp>
7304
7305 * sysdep.c: Move the code for declaring h_errno after #include
7306 <netdb.h>.
7307
77270fac
GM
73082000-11-21 Gerd Moellmann <gerd@gnu.org>
7309
cd913aae
GM
7310 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7311 the menu bar when the tooltip is unmapped.
7312
77270fac
GM
7313 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7314 sole visible buffer when we're currently in the mini-buffer, and
7315 give up if so.
52283633 7316
556635d6
JR
73172000-11-21 Jason Rumney <jasonr@gnu.org>
7318
7319 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7320 put on the clipboard.
7321 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7322 copy of what Emacs last put there. If they are the same, do not
52283633 7323 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7324
5b7bde64
MB
73252000-11-22 Miles Bader <miles@gnu.org>
7326
7327 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7328 (syms_of_minibuf): Initialize it.
7329 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7330 to prompt, don't make read-only.
7331
ff23e1dd
GM
73322000-11-21 Gerd Moellmann <gerd@gnu.org>
7333
52283633
SM
7334 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7335 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7336
7aaf4388
GM
7337 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7338
f5f47add 7339 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7340
ff23e1dd
GM
7341 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7342
37c35586
KH
73432000-11-21 Kenichi Handa <handa@etl.go.jp>
7344
7345 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7346 ... #endif scope.
7347
ff9ab414
GM
73482000-11-20 Gerd Moellmann <gerd@gnu.org>
7349
52283633 7350 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7351 screen supports it.
7352
29a01b72
GM
7353 * s/gnu-linux.h: Don't use `#cpu'.
7354
09dfdf85
GM
7355 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7356 not defined in mman.h.
7357
52283633 7358 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7359 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7360 and store an index in the XClientMessageEvent. Storing a
7361 Lisp_Object or pointer can fail on a 64 bit system, since X only
7362 transfers 32 bits.
52283633
SM
7363 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7364
81459ac9
DL
73652000-11-20 Dave Love <fx@gnu.org>
7366
7367 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7368
56c13ae6
GM
73692000-11-20 Gerd Moellmann <gerd@gnu.org>
7370
7371 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7372
495a6df3
KH
73732000-11-20 Kenichi Handa <handa@etl.go.jp>
7374
2bcf3714
KH
7375 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7376 by WIDTH.
7377
495a6df3
KH
7378 * alloc.c (make_string): Fix previous change. Be sure to make
7379 unibyte string correctly.
7380
6d950f4c
GM
73812000-11-19 Gerd Moellmann <gerd@gnu.org>
7382
39b39373
GM
7383 * window.c (Fwindow_list): Change parameter list to be XEmacs
7384 compatible.
7385 (window_list_1): New function.
7386 (window_loop): Use it instead of Fwindow_list.
7387
b95b34e5
GM
7388 * sysdep.c (emacs_ospeed): New variable.
7389 (toplevel): Don't declare ospeed extern.
7390 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7391
7392 * termcap.c (ospeed): Remove.
7393 (tputs) [!emacs]: Remove unused code.
7394 (tgetent): Avoid a compiler warning.
7395
e83dc917
GM
7396 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7397 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7398 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7399
7400 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7401 removed.
7402 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7403 Take the X display as additional argument.
7404 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7405 `Widget' is a pointer type that's not easily stored in Lisp_Object
7406 form in a portable way.
52283633 7407
6d950f4c
GM
7408 * dispnew.c (update_text_area): Fix last change.
7409
e47306e6
GM
74102000-11-18 Gerd Moellmann <gerd@gnu.org>
7411
fb3cd89b
GM
7412 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7413
7414 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7415 clear current matrices.
7416
edaa9aed
GM
7417 * buffer.c (mmap_enlarge): Don't print a message on stderr
7418 if mapping new memory at the end of the existing region fails.
7419
e47306e6
GM
7420 * dispnew.c (update_text_area): Don't skip over equal glyphs
7421 when the last current glyph overlaps the glyph to its right.
7422
509633e3
MB
74232000-11-18 Miles Bader <miles@gnu.org>
7424
7425 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7426 lines that *end* with "..." too (that's the most common case!).
7427
d392e9c5
GM
74282000-11-18 Gerd Moellmann <gerd@gnu.org>
7429
67988445
GM
7430 * xdisp.c (resize_mini_window): Temporarily change to the
7431 mini-window's buffer if necessary.
1bfdbe43 7432
d392e9c5
GM
7433 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7434 the tooltip obscures less text under it.
7435
74362000-11-17 Gerd Moellmann <gerd@gnu.org>
7437
7438 * puresize.h (BASE_PURESIZE): Increase to 700000.
7439
92bb977f
JR
74402000-11-18 Jason Rumney <jasonr@gnu.org>
7441
7442 * w32term.c (w32_draw_bitmap): Use face to set colors.
7443
26fbf20b
DL
74442000-11-17 Dave Love <fx@gnu.org>
7445
7446 * lread.c (Fload): Fix #ifdef for pcc.
7447
100b593b
GM
74482000-11-17 Gerd Moellmann <gerd@gnu.org>
7449
7450 * xdisp.c (pos_visible_p): Compute the default character height
7451 differently.
7452
a288d0d1
GM
74532000-11-16 Gerd Moellmann <gerd@gnu.org>
7454
cac94de6 7455 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7456 knowing the line's height; use the default font's height in that case.
cac94de6 7457
a288d0d1
GM
7458 * xfaces.c (weight_table): Add `demi' with the same meaning as
7459 `demibold'.
7460
981fb6f6
KH
74612000-11-16 Kenichi Handa <handa@etl.go.jp>
7462
2cca872d 7463 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7464 (clear_glyph_row): Delete local static variable null_row.
7465
e5fa381b
JR
74662000-11-15 Jason Rumney <jasonr@gnu.org>
7467
7468 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7469 (w32_alloc_lighter_color): Use new brightness calculations from
7470 xterm.c. Scale delta to be in the range expected by W32.
7471 (w32_draw_relief_rect): Use frame relief colors.
7472
8e42f043
GM
74732000-11-15 Gerd Moellmann <gerd@gnu.org>
7474
6d133d1f
GM
7475 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7476 (Qinhibit_default_face_x_resources): New variable.
7477 (syms_of_frame): Initialize it.
7478 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7479
7480 * xdisp.c (pos_visible_p): Improve function comment.
7481
7482 * lisp.h (BINDING_STACK_SIZE): New macro.
7483
8e42f043
GM
7484 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7485 reading the directory if readdir returns null and errno is EAGAIN
7486 or EINTR.
7487
e8c87124
SM
74882000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7489
7490 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7491 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7492 Set amount_to_scroll to max of dx and scroll_step so that
7493 scroll-conservatively doesn't defeat scroll-step>1.
7494 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7495 scroll-conservatively for line-at-a-time scrolling.
7496
5f0c971d
GM
74972000-11-14 Gerd Moellmann <gerd@gnu.org>
7498
7499 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7500 extra argument.
7501
7502 * xdisp.c (current_mode_line_height, current_header_line_height):
7503 New variables.
7504 (init_xdisp): Initialize them.
7505 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7506 and use exact mode line heights if it is set.
7507
7508 * lisp.h (pos_visible_p): Change prototype.
7509
7510 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7511 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7512 and current_header_line_height first.
52283633
SM
7513 (current_mode_line_height, current_header_line_height):
7514 Declare extern.
5f0c971d 7515
d7361edf
MB
75162000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7517
7518 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7519 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7520 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7521
ee5e440a
MB
75222000-11-14 Miles Bader <miles@gnu.org>
7523
7524 * xterm.c (x_alloc_lighter_color): Include an additive component
7525 too for dark colors, because FACTOR isn't enough.
7526 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7527 New macros.
7528
5ca020fc
GM
75292000-11-13 Gerd Moellmann <gerd@gnu.org>
7530
7531 * keyboard.c (show_help_echo): Call message3_nolog with number of
7532 bytes in the help string as 2nd parameter, instead of the number
7533 of characters.
7534
9d348294
MB
75352000-11-13 Miles Bader <miles@gnu.org>
7536
7537 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7538 (Fload): Use new openp return protocol.
7539 Don't try to use Vload_source_file_function to load .elc files.
7540 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7541 openp return protocol.
7542 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7543
1729bb9a
KH
75442000-11-11 Kenichi Handa <handa@etl.go.jp>
7545
4e677396
KH
7546 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7547
7548 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7549 Defined these macros.
7550 (NLIST_STRUCT): Avoid re-defining it.
7551
1729bb9a
KH
7552 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7553 -I/usr/contrib/X11R6/include.
7554 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7555
a82fe213
JR
75562000-11-10 Jason Rumney <jasonr@gnu.org>
7557
7558 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7559
7560 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7561 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7562
7563 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7564 (Qw32_charset_vietnamese): New symbol.
7565 (xlfd_charset_of_font): New function.
7566 (w32_load_system_font): Use it.
7567 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7568 when Vw32_charset_info_alist is nil to ensure default face always
7569 has font. Use Fcar and Fcdr for safety.
7570 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7571 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7572 pseudo-codepages for special cases.
7573 (w32_to_x_font): New parameter to allow charset portion to be
7574 specified where there is many to one mapping. Callers changed.
7575 (w32_list_fonts): Avoid listing fonts that won't display.
7576
52d89894
GM
75772000-11-10 Gerd Moellmann <gerd@gnu.org>
7578
7579 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7580 (font_list_1): Renamed from font_list.
7581 (font_list): New function, trying alternative registries from
7582 Vface_alternative_font_registry_alist.
7583 (Finternal_set_alternative_font_registry_alist): New function.
7584 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7585 Vface_alternative_font_registry_alist.
7586 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7587
651cd3da
KR
75882000-11-09 Ken Raeburn <raeburn@gnu.org>
7589
7590 * lisp.h (Flooking_at): Declare.
7591
388ac098
GM
75922000-11-09 Gerd Moellmann <gerd@gnu.org>
7593
778fbc46 7594 * dired.c (directory_files_internal): Fix a braino.
52283633 7595
388ac098
GM
7596 * dired.c (directory_files_internal): Add missing GCPRO's.
7597 Some cleanup.
7598
ecaedde1
GM
75992000-11-08 Gerd Moellmann <gerd@gnu.org>
7600
f7eb32aa
GM
7601 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7602 (resize_mini_window): Return quickly if Vresize_mini_window is
7603 nil. Don't return if Vmax_mini_window_height is nil.
7604
7605 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7606 (syms_of_xdisp): Initialize them.
7607 (resize_mini_window): Act according to the setting of
7608 Vresize_mini_window.
7609 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7610
ecaedde1
GM
7611 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7612 scroll bar widget after configuring it, so that it will appear at
7613 the right position from the start.
7614 (XTredeem_scroll_bar): Cleaned up.
7615
3747ef2c
KH
76162000-11-08 Kenichi Handa <handa@etl.go.jp>
7617
7618 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7619 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7620 division by two.
7621
7622 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7623
03391420
DL
76242000-11-07 Dave Love <fx@gnu.org>
7625
7758f1c1 7626 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7627
7628 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7629
b5de343d
GM
76302000-11-07 Gerd Moellmann <gerd@gnu.org>
7631
acad3c0b
GM
7632 * window.c (Fset_window_configuration): Don't try to preserve
7633 point in the current buffer, if that buffer is displayed in more
7634 than one window.
7635
b5de343d
GM
7636 * xfaces.c (lookup_named_face): If default face isn't realized,
7637 try to realize it. Return -1 if not successful.
7638 (Fx_list_fonts): Handle case that face cannot be determined.
7639 (Fface_font): Likewise.
7640
cdb1fe49
GM
76412000-11-06 Gerd Moellmann <gerd@gnu.org>
7642
7643 * window.c (displayed_window_lines): Detect partially
7644 visible lines at the bottom correctly.
7645
d3a67486
SM
76462000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7647
7648 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7649 when ensuring we don't do visit in indirect buffer.
7650
ff8dd5d5
KH
76512000-11-06 Kenichi Handa <handa@etl.go.jp>
7652
7653 * composite.h (compose_chars_in_text): Add prototype.
7654
7655 * composite.c (Vcomposition_function_table): New variable.
7656 (Qcomposition_function_table): New variable.
7657 (run_composition_function): Call
7658 Vcompose_chars_after_function with three arguments.
7659 (compose_chars_in_text): New function.
7660 (syms_of_composite): Modified the doc-string of
7661 Vcompose_chars_after_function. Declare composition-function-table
7662 as a lisp variable, and initialize it.
7663
7664 * xfns.c (x_encode_text): Suppress producing escape sequences for
7665 composition.
7666
7667 * xselect.c: Include composite.h.
7668 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7669
d1145f85
AI
76702000-11-05 Andrew Innes <andrewi@gnu.org>
7671
7672 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7673
7674 * sysdep.c (read_input_waiting): Remove extraneous argument to
7675 read_socket_hook.
7676
7677 * w32fns.c (Fx_server_version): Include w32_build_number in the
7678 return list.
7679
7680 * w32heap.c (w32_build_number): New variable.
7681 (cache_system_info): Set it.
7682
7683 * w32heap.h (w32_build_number): Add extern.
7684
7685 * emacs.c (syms_of_emacs): Update docstring for
7686 system-configuration, to reflect the actual usage on MS-Windows.
7687
e85ee976
GM
76882000-10-31 Gerd Moellmann <gerd@gnu.org>
7689
26dcb81b
GM
7690 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7691 process idle timers while waiting for another event.
7692
52283633 7693 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7694 the default face are colored.
7695
e85ee976
GM
7696 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7697 window height hasn't changed.
7698
01b220b6
JR
76992000-10-31 Jason Rumney <jasonr@gnu.org>
7700
7701 * w32term.c (x_produce_glyphs): Handle composite characters.
7702 (x_draw_glyph_string_foreground)
7703 (x_draw_composite_glyph_string_foreground): Restore old font.
7704
4e6b7204
MB
77052000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7706
7707 * minibuf.c (read_minibuf): Reset the undo history just before
7708 starting the recursive-edit.
7709
d4358b37
GM
77102000-10-30 Gerd Moellmann <gerd@gnu.org>
7711
563f68f1
GM
7712 * xfaces.c (menu_face_change_count): New variable.
7713 (Finternal_set_lisp_face_attribute): Increment it for changes
7714 of the `menu' face.
7715 (realize_basic_faces): Reflect changes in the `menu' faces
7716 in menu bars.
7717
82e274d1
GM
7718 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7719 dy obtained from the iterator's y-position after moving from
7720 scroll_margin_pos to PT; see comment there.
52283633 7721
0dbf9fd2
GM
7722 * xdisp.c (safe_eval_handler): Call add_to_log.
7723
906b3b14
GM
7724 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7725 is not a symbol or string.
7726
d4358b37
GM
7727 * xdisp.c (echo_area_display): Don't perform a display update from
7728 inside redisplay. The update will happen anyway at the end of
7729 redisplay, and it can confuse redisplay (GC messages while
7730 redisplaying, for instance.)
7731
70c825df
SM
77322000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7733
cf9b4b0b
SM
7734 * xrdb.c (x_load_resources): Use the class name in the defaults.
7735
70c825df
SM
7736 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7737 (regex_compile): Catch bogus \(\1\).
7738
a1d34b1e
GM
77392000-10-30 Gerd Moellmann <gerd@gnu.org>
7740
cae71efe
GM
7741 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7742 RGB values.
52283633 7743
35efe0a1
GM
7744 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7745 we have a color cache, check that the cached color equals the
7746 allocated color. If not, clear the color cache.
7747
1d3baf74
GM
7748 * window.c (displayed_window_lines): Change buffers if necessary.
7749 Fix computation of displayed lines.
7750
a1d34b1e
GM
7751 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7752 update_menu_bindings to DEFVAR_BOOL.
7753
70737ea9
KH
77542000-10-30 Kenichi Handa <handa@etl.go.jp>
7755
70c825df 7756 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7757
fa0cb51d
KH
7758 * puresize.h (BASE_PURESIZE): Increase to 680000.
7759
70737ea9
KH
7760 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7761
0e4c08e8
JR
77622000-10-29 Jason Rumney <jasonr@gnu.org>
7763
7764 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7765
7766 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7767 (w32_cache_char_metrics): Handle possibility that 'x' does not
7768 exist in a BDF font.
7769 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7770
7771 * w32bdf.h (bdffont): Add nchars.
7772
7773 * w32bdf.c (set_bdf_font_info): Set it.
7774 (w32_BDF_TextOut): Swap byte order of double byte characters.
7775 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7776
45b84006
EZ
77772000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7778
7779 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7780 don't override the colors in frame's param_alist, unless they are
7781 unspecified.
7782
7783 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7784 reverse the effect of the highlight flag.
7785
caf9deee
KR
77862000-10-27 Ken Raeburn <raeburn@gnu.org>
7787
7788 * window.h (Fwindow_live_p): Declare.
7789
ae0b9b46
KR
7790 * undo.c (record_delete): Check that last_undo_buffer is really a
7791 buffer before applying XBUFFER to it.
7792
7793 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7794 Faref.
7795
02067692
SM
77962000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7797
7798 * lisp.h (KEYMAPP): New macro.
7799 (get_keymap): Remove.
7800 (get_keymap_1): Rename get_keymap.
7801
7802 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7803
7804 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7805
7806 * xmenu.c (single_submenu): Use KEYMAPP.
7807 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7808 Use KEYMAPP rather than Fkeymapp.
7809
7810 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7811
7812 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7813 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7814 Use KEYMAPP rather than Fkeymapp.
7815 (single_submenu): Use KEYMAPP.
7816 (w32_menu_show, w32_dialog_show): Use TRUE.
7817
7818 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7819
7820 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7821 (Fkeymapp): Use KEYMAPP.
7822 (get_keymap): Rename from get_keymap_1. Remove old def.
7823 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7824 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7825 (Fminor_mode_key_binding): Don't raise an error if the binding
7826 is not a keymap.
7827 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7828 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7829
7830 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7831 Allow Vspecial_event_map to be autoloaded.
7832 (menu_bar_items): Fetch the keymap rather than using keymapp.
7833 (menu_bar_one_keymap): No need to follow func-indirect any more.
7834 (parse_menu_item): get_keymap_1 -> get_keymap.
7835 (tool_bar_items): Fetch the keymap rather than using keymapp.
7836 (read_key_sequence): Use KEYMAPP.
7837
7838 * intervals.c (get_local_map): Use get_keymap rather than following
7839 function-indirections explicitly.
7840
7841 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7842
f9d80af3
JR
78432000-10-27 Jason Rumney <jasonr@gnu.org>
7844
7845 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7846 point, as Windows has oversized fonts.
7847
7848 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7849
a3ba27da
GM
78502000-10-27 Gerd Moellmann <gerd@gnu.org>
7851
7852 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7853 (freehook, reallochook): Handle null pointer arguments.
7854 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7855
aa3b80cc
SM
78562000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7857
7858 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7859 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7860 Giving in to popular pressure to shut up the compiler with casts.
7861
e24e84cc
GM
78622000-10-27 Gerd Moellmann <gerd@gnu.org>
7863
7864 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7865 signed value, and use a default value computed from the font's
7866 maximum descent.
7867
05ea7ef2
MB
78682000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7869
7870 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7871 that specify a negative underline position can still use underlines.
7872
7873 * window.c (Fpos_visible_in_window_p): Make POS default to
7874 WINDOW's point, not the current buffer's point.
7875
0b95284b
DL
78762000-10-26 Dave Love <fx@gnu.org>
7877
7878 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7879 when it's necessary.
7880
6c5b90af
GM
78812000-10-26 Gerd Moellmann <gerd@gnu.org>
7882
8b6d9dc9
GM
7883 * window.c (size_window): Compute size difference from sum of old
7884 child window sizes instead of from parent's size.
7885
6bc92b2e
GM
7886 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7887 Handle obscured lines at the top of the window.
7888
7889 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7890 down after the last error condition check.
7891
6c5b90af
GM
7892 * frame.c (Fdelete_frame): Run delete-frame-hook.
7893
42f92d4d
KH
78942000-10-26 Kenichi Handa <handa@etl.go.jp>
7895
7896 * coding.c (decode_coding): Fix previous change (check also
7897 CODING_MODE_LAST_BLOCK).
7898
d97151cb
SM
78992000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7900
e7efc503
SM
7901 * regex.c: More `unsigned char' -> `re_char' changes.
7902 Also change several `int' into `re_wchar_t'.
7903 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7904 (PUSH_FAILURE_POINTER): Don't cast any more.
7905 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7906 We want GCC to complain, since this piece of code makes
7907 re_match non-reentrant, which *should* be fixed.
7908 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7909 (EXTEND_BUFFER): Use RETALLOC.
7910 (SET_LIST_BIT): Don't cast.
7911 (re_wchar_t): New type.
7912 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7913 that those two functions will always properly return.
7914 (IMMEDIATE_QUIT_CHECK): Cast to void.
7915 (analyse_first): Use recursion rather than an explicit stack.
7916 (re_compile_fastmap): Can't fail anymore.
7917 (re_search_2): Don't check re_compile_fastmap for failure.
7918 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7919 Now also sets the new value (passed in a new argument).
7920 (re_match_2_internal): Use it.
7921 Also, use a new var `reg' of type size_t when looping through regs
7922 rather than reuse the inappropriate `mcnt'.
7923
d97151cb
SM
7924 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7925 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7926 (where_is_internal): Renamed from Fwhere_is_internal.
7927 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7928 (Fwhere_is_internal): New function wrapping where_is_internal.
7929 (where_is_internal_1): Handle the case where we're filling the cache.
7930 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7931
d5789b65
MB
79322000-10-25 Miles Bader <miles@gnu.org>
7933
7934 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7935
4ecda532
GM
79362000-10-25 Gerd Moellmann <gerd@gnu.org>
7937
7938 * window.c (pos_fully_visible_p): Removed.
7939 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7940 if position is visible and/or fully visible.
7941
7942 * lisp.h (pos_visible_p): Add prototype.
7943
7944 * xdisp.c (pos_visible_p): New function.
7945
68c3a137
KH
79462000-10-25 Kenichi Handa <handa@etl.go.jp>
7947
7948 * process.c (send_process): If OBJECT is t, it means that the data
7949 is from C string, but we should encode it. Before calling
7950 setup_raw_text_coding_system, be sure to flush out data by the
7951 previous coding system.
7952
7ae1c032
MB
79532000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7954
ff4dcd4b
MB
7955 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7956 assignment of startpos to prev when startpos == pos.
7957
7ae1c032
MB
7958 * editfns.c (find_field): Set the field stickiness correctly from
7959 overlay fields. Use renamed `text_property_stickiness'.
7960 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7961 Only check text properties, not overlays.
7ae1c032
MB
7962 * textprop.c (get_char_property_and_overlay): New function.
7963 (Fget_char_property): Use it.
7964 * intervals.h (get_char_property_and_overlay): Add declaration.
7965
49801145
SM
79662000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7967
7968 * keymap.c: Use AREF, ASET and ASIZE macros.
7969 (Fmake_sparse_keymap): Docstring fix.
7970 (synkey): Remove.
7971 (shadow_lookup): Move up.
7972 Handle the case where lookup-key returns an integer.
7973 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7974 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7975 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7976 Simplify/rewrite the keymap-finding code.
7977 Add check for command shadowing, using shadow_lookup.
7978
39e776cd
SM
79792000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7980
7981 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7982 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7983 a symbol.
7984
2488aba5
AI
79852000-10-24 Andrew Innes <andrewi@gnu.org>
7986
7987 * dired.c (directory_files_internal_unwind): New function.
7988 (directory_files_internal): Use it to ensure closedir is called
7989 even if expand-file-name or file-attributes throw, eg. because of
7990 a user interrupt. Also enable immediate_quit while calling
7991 re_search, so that matching can be interrupted as well.
7992
b94fdf61
AI
79932000-10-24 Andrew Innes <andrewi@gnu.org>
7994
7995 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7996 NT-Emacs only.
7997 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7998 so that re_search functions only quit when callers expect them to.
7999
80002000-10-24 Kenichi Handa <handa@etl.go.jp>
8001
8002 * regex.c (regex_compile): Change the way of handling a range from
8003 a char less than 256 to a char not less than 256.
8004
1946f901
GM
80052000-10-24 Gerd Moellmann <gerd@gnu.org>
8006
7ae2f10f
GM
8007 * window.c (size_window): Prevent setting window's width or
8008 height to a negative value (esp. with XSETFASTINT).
8009
5dcab13e
GM
8010 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
8011 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
8012 (protect_malloc_state) [GC_MALLOC_CHECK &&
8013 GC_PROTECT_MALLOC_STATE]: New function.
8014 (PROTECT_MALLOC_STATE): New macro.
8015 (__malloc_initialize, morecore, _malloc_internal)
8016 (_free_internal) _realloc_internal): Use it to make _heapinfo
8017 read-only outside of gmalloc.
8018
63e1b552
GM
8019 * keymap.c: Update copyright.
8020
1946f901
GM
8021 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
8022 a symbol.
8023
4fa09beb
GM
80242000-10-24 Colin Walters <walters@cis.ohio-state.edu>
8025
8026 * filelock.c (unlock_all_files): Use unlock_file to expand each
8027 buffer's file_truename before trying remove its lock file.
8028
23afac01
EZ
80292000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
8030
8031 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
8032 or CRLF, decode EOLs.
8033
04448b95
KH
80342000-10-24 Kenichi Handa <handa@etl.go.jp>
8035
8036 * window.c (Fdisplay_buffer): Fix doc.
8037
3090a5a5
JR
80382000-10-23 Jason Rumney <jasonr@gnu.org>
8039
8040 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
8041 ASCII font of default fontset on Windows.
8042
8043 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
8044 xterm.c comment below).
8045
8046 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
8047
a83fee2c
GM
80482000-10-23 Gerd Moellmann <gerd@gnu.org>
8049
8050 * xterm.c (x_connection_closed): Reset handling_signal.
8051
52283633 8052 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 8053
6ffdb539
MB
80542000-10-23 Miles Bader <miles@gnu.org>
8055
8056 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8057 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8058 maintain old behavior.
8059 * minibuf.c (Fminibuffer_complete): Likewise.
8060
7f1c969b
MB
80612000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8062
8063 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8064 that when a font can't be exactly centered, it errs up rather than
8065 down.
8066
23afac01 80672000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 8068
52283633 8069 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 8070
1a578e9b
AC
80712000-10-23 Andrew Choi <akochoi@i-cable.com>
8072
8073 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8074
8075 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8076 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8077
8078 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8079 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8080 syms_of_search, x_term_init, and init_keyboard before calling
8081 init_window_once. Also, call syms_of_xmenu.
8082
8083 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8084 default fontset to Monaco.
8085
8086 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8087 NewMacWindow and DisposeMacWindow.
8088 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8089 instead of calling NewMacWindow and setting fields of
8090 f->output_data.mac directly. Call init_frame_faces.
8091 (Fdelete_frame) [macintosh]: Remove unused code.
8092 (Fmodify_frame_parameters) [macintosh]: Call
8093 x_set_frame_parameters instead of mac_set_frame_parameters.
8094
8095 * frame.h [macintosh]: Define menu_bar_lines field in struct
8096 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8097
8098 * keyboard.c [macintosh]: Include macterm.h.
8099 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8100 and menu_bar_activate_event type events as for X and NT.
8101 (make_lispy_event) [macintosh]: Construct lisp events of type
8102 MENU_BAR_EVENT as for X and NT.
8103
8104 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8105 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8106 (sys_subshell) [macintosh]: Remove definition entirely.
8107 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8108 Vwindow_system_version here. Remove initialization of
8109 Vx_bitmap_file_path.
8110 (read_input_waiting): Correct the number of parameters passed to
8111 read_socket_hook.
8112 Move all Macintosh functions to mac/mac.c.
8113
8114 * term.c [macintosh]: Include macterm.h.
8115
8116 * window.c [macintosh]: Include macterm.h.
8117
8118 * xdisp.c [macintosh]: Include macterm.h. Declare
8119 set_frame_menubar and pending_menu_activation.
8120 (echo_area_display) [macintosh]: Do not return if terminal frame
8121 is the selected frame.
8122 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8123 Allow only the selected frame to set menu bar.
8124 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8125 calling FRAME_EXTERNAL_MENU_BAR (f).
8126 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8127
8128 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8129 and check_x. Declare XCreateGC. Define x_create_gc and
8130 x_free_gc. Initialize font_sort_order.
8131 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8132 but call x_list_fonts instead of w32_list_fonts.
8133 (Finternal_face_x_get_resource) [macintosh]: Do not call
8134 display_x_get_resource.
8135 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8136 (realize_x_face) [macintosh]: Load the font if it is specified in
8137 ATTRS.
52283633 8138 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8139
1ffbabe3
SM
81402000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8141
8142 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8143 is nil: since we go to the end of submap anyway, we'd end up
8144 setting nil to nil.
8145 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8146 doesn't obey autoload.
8147
bed43f1d
EZ
81482000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8149
1ffbabe3 8150 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8151
ea4233a7
JR
81522000-10-21 Jason Rumney <jasonr@gnu.org>
8153
8154 * w32term.c (w32_cache_char_metrics): Double check that font is
8155 really fixed pitch before trusting tmPitchAndFamily.
8156
f3d3c491
AI
81572000-10-21 Andrew Innes <andrewi@gnu.org>
8158
8159 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8160
8161 * w32term.h: Extern decl for w32_cache_char_metrics.
8162
8163 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8164
8165 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8166 (w32_unload_font): Free per_char array if present.
8167
8168 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8169 cached information in emulated XFontStruct to handle common cases
8170 quickly. Do not allocate XCharStruct for return.
8171 (w32_native_per_char_metric): New function.
8172 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8173 allocating one.
8174 (x_produce_glyphs): Don't get an HDC. Change calls to
8175 w32_per_char_metric to match arg change above. Remove calls to
8176 free results.
8177 (w32_get_glyph_overhangs): Ditto.
8178 (w32_cache_char_metrics): New function.
8179
8180 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8181 ($(BLD)/casefiddle.$(O)): Remove compile command.
8182 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8183 ($(BLD)/dispnew.obj):
8184 ($(BLD)/keyboard.obj):
8185 ($(BLD)/w32inevt.obj):
8186 ($(BLD)/w32bdf.obj):
8187 ($(BLD)/alloc.obj):
8188 ($(BLD)/buffer.obj):
8189 ($(BLD)/editfns.obj):
8190 ($(BLD)/emacs.obj):
8191 ($(BLD)/fileio.obj):
8192 ($(BLD)/fns.obj):
8193 ($(BLD)/indent.obj):
8194 ($(BLD)/insdel.obj):
8195 ($(BLD)/intervals.obj):
8196 ($(BLD)/minibuf.obj):
8197 ($(BLD)/print.obj):
8198 ($(BLD)/scroll.obj):
8199 ($(BLD)/sysdep.obj):
8200 ($(BLD)/textprop.obj):
8201 ($(BLD)/widget.obj):
f3d3c491
AI
8202 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8203 ($(BLD)/term.obj): Add dependency on dispextern.h.
8204
52283633
SM
8205 * makefile.nt ($(BLD)\dispnew.obj):
8206 ($(BLD)\keyboard.obj):
8207 ($(BLD)\w32inevt.obj):
8208 ($(BLD)\w32bdf.obj):
8209 ($(BLD)\alloc.obj):
8210 ($(BLD)\buffer.obj):
8211 ($(BLD)\editfns.obj):
8212 ($(BLD)\emacs.obj):
8213 ($(BLD)\fileio.obj):
8214 ($(BLD)\fns.obj):
8215 ($(BLD)\indent.obj):
8216 ($(BLD)\insdel.obj):
8217 ($(BLD)\intervals.obj):
8218 ($(BLD)\minibuf.obj):
8219 ($(BLD)\print.obj):
8220 ($(BLD)\scroll.obj):
8221 ($(BLD)\sysdep.obj):
8222 ($(BLD)\textprop.obj):
8223 ($(BLD)\widget.obj):
f3d3c491
AI
8224 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8225 ($(BLD)\term.obj): Add dependency on dispextern.h
8226
18ad4821
EZ
82272000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8228
8229 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8230 with an additional argument of Qt.
8231
de54681a
MB
82322000-10-21 Miles Bader <miles@gnu.org>
8233
8234 * window.c (pos_fully_visible_in_window_p): New function.
8235 (Fpos_visible_in_window_p): Add FULLY argument.
8236 Use pos_fully_visible_in_window_p.
8237 (window_scroll_pixel_based, window_scroll_line_based): Update
8238 calls to Fpos_visible_in_window_p.
8239 * lisp.h (Fpos_visible_in_window_p): Update prototype
8240
13c844fb
GM
82412000-10-20 Gerd Moellmann <gerd@gnu.org>
8242
8243 * alloc.c (toplevel): Conditionalize compilation of mem_*
8244 functions differently.
52283633 8245
d9506268
JR
82462000-10-20 Jason Rumney <jasonr@gnu.org>
8247
8248 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8249 mem_init where it used to be. mem_z etc not defined otherwise.
8250
8094989b
GM
82512000-10-20 Gerd Moellmann <gerd@gnu.org>
8252
8253 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8254 GC_MALLOC_CHECK.
8255 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8256 structure definition and related variabled to the top of the file.
8257 Include this code when GC_MALLOC_CHECK is defined.
8258 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8259 register/unregister allocated region.
8260 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8261 which isn't allocated.
8262 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8263 something which is already in use.
8264 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8265 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8266 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8267 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8268
8269 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8270 _malloc_internal instead of malloc.
8271 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8272 of free.
8273
ea456eb4
AI
82742000-10-20 Andrew Innes <andrewi@gnu.org>
8275
8276 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8277 Windows.
8278 (my_strftime) <macro>: Don't use macro arg list when redefining as
8279 _strftime_copytm.
8280 (my_strftime) <function>: Supply 0 as ut argument.
8281
e64c3a75
JR
82822000-10-19 Jason Rumney <jasonr@altavista.net>
8283
8284 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8285 including dispextern.h, as it stops faces from working.
8286
8287 * w32fns.c (Fx_create_frame): Don't bother calling
8288 face-set-after-frame-default since the caller does it for us
8289 anyway. Clean up calls to x_get_arg to be consistent with X.
8290
8291 * w32term.c (x_produce_glyphs): Handle
8292 unibyte_display_via_language_environment correctly.
8293 (w32_draw_box_rect): Fix the calculation of width and height.
8294
8295 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8296 as it has stopped working.
8297 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8298 menu-bar.
8299
17401c97
GM
83002000-10-19 Gerd Moellmann <gerd@gnu.org>
8301
8302 * eval.c (skip_debugger): Prevent a compiler warning.
8303 (Fcondition_case): Likewise.
8304 (Fbacktrace_frame): Use a null interactive spec.
8305
773272d8
KH
83062000-10-19 Kenichi Handa <handa@etl.go.jp>
8307
8308 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8309
a42943e9
GM
83102000-10-18 Gerd Moellmann <gerd@gnu.org>
8311
e50517d9
GM
8312 * strftime.c: Sync with glibc, file version 1.78.
8313 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8314 should no longer be used according to ISO 8601.
8315
9035a35a
GM
8316 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8317 no map for meta_prefix_char, don't try to use it as a keymap.
8318 Instead, if T_OK is non-zero, look up a default binding, if any,
8319 otherwise, if T_OK is zero, return nil.
8320
a42943e9
GM
8321 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8322 (x_to_xcolors, png_load): Use x_query_color.
8323
52283633
SM
8324 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8325 New functions.
a42943e9
GM
8326 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8327 which can be slow.
8328 (x_copy_color, x_alloc_lighter_color): Likewise.
8329
8330 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8331 (x_query_color, x_query_colors): Add prototype.
8332
8333 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8334 check_string_bytes only if not noninteractive, increase count to 50.
8335
00de2987
MB
83362000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8337
8338 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8339 markers correctly.
8340
54918e2b
GM
83412000-10-17 Gerd Moellmann <gerd@gnu.org>
8342
1f0b3fd2
GM
8343 * alloc.c (pure_bytes_used): Renamed from pureptr.
8344 (ALIGN): New macro.
8345 (pure_alloc): New function.
8346 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8347 Use it.
8348 (Fpurecopy): Use PURE_POINTER_P.
8349
68c5d1db
GM
8350 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8351 PT has moved backward.
52283633 8352
9a038881
GM
8353 * xdisp.c (cursor_row_p): Take continued lines into account.
8354
361b097f
GM
8355 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8356 string's size_byte.
8357 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8358 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8359 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8360 string allocated.
8361
54918e2b
GM
8362 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8363 of selective display off while searching for the next line start.
8364
03ed0806
KH
83652000-10-17 Kenichi Handa <handa@etl.go.jp>
8366
8367 * Makefile.in (term.o): Depend on dispextern.h.
8368
7e05cdaf
SM
83692000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8370
8371 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8372
a6801fd1
GM
83732000-10-16 Gerd Moellmann <gerd@gnu.org>
8374
483de32b
GM
8375 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8376 the iterator at the beginning, so that they can be set later on,
8377 for instance in reseat_at_next_visible_line_start, without being
8378 overwritten.
8379
a6801fd1
GM
8380 * xfns.c (pbm_format): Add :foreground and :background keywords.
8381 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8382 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8383
dbf1fcc1
EZ
83842000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8385
8386 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8387
52283633 8388 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8389
8390 * msdos.c (IT_set_face): Compare highlighted face with the default
8391 face, and invert colors if these faces' colors are identical.
8392 (Fmsdos_remember_default_colors): Don't swap foreground and
8393 background colors in initial_colors[].
8394 (IT_set_frame_parameters): Don't swap frame's foreground and
8395 background pixels. If ALIST includes "(reverse . t)", swap
8396 foreground-color and background-color properties in frame's
8397 param_alist. If the original frame's param_alist doesn't specify
8398 the colors, store unspecified-fg and unspecified-bg, reversed if
8399 required.
8400
8401 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8402 the colors are unspecified and reversed, reverse fore- and back-
8403 ground in the returned value.
8404 (Fframe_parameter): Ditto.
8405
b41fe2c3 84062000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8407
3a6b59d9
GM
8408 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8409 get_last_unchanged_at_beg_row.
8410 (find_first_unchanged_at_end_row): Renamed from
8411 get_first_unchanged_at_end_row.
8412 (find_first_unchanged_at_end_row): Convert assertions to
8413 unconditional tests which abort. When looking for a row in
8414 unchanged text, don't go further back than first_text_row.
8415
b41fe2c3
GM
8416 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8417 Don't add in the last line's height when deciding if the new
8418 position is below the scroll margin.
9d1af64f 8419
b41fe2c3 84202000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8421
8422 * editfns.c (Fconstrain_to_field): Check carefully for field
8423 boundaries if either OLD_POS or NEW_POS has a non-nil field
8424 property, even if they're the same.
8425
c412cb7b
KH
84262000-10-16 Kenichi Handa <handa@etl.go.jp>
8427
8428 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8429 height for XFillRectangle.
8430
5586f3eb
SM
84312000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8432
8433 * syntax.c (Fstring_to_syntax): New function extracted from
8434 Fmodify_syntax_entry.
8435 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8436 (skip_chars, Fforward_comment): Remove unused variables.
8437 (syms_of_syntax): Add defsubr for string-to-syntax.
8438 (describe_syntax): Add code for comment and string fences.
8439
db785038
SM
84402000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8441
8442 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8443 Do the meta->esc mapping. Call get_keyelt before returning.
8444 Start scanning from the second element (the first is always `keymap')
8445 to make it easier to detect when we reach a parent map.
8446 Handle the case of inheriting from a symbol whose function is a map.
8447 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8448 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8449 (get_keyelt, Flookup_key): Update call to access_keymap.
8450 Remove the meta->esc mappings.
8451 (define_as_prefix): Delete old disabled code.
8452 (menu_item_p): New function.
8453 (where_is_internal_1): Skip over the few remaining menu items.
8454 * lisp.h (access_keymap): Update prototype.
8455 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8456 Update call to access_keymap.
8457 (follow_key, read_key_sequence): Update calls to access_keymap.
8458 Remove the meta->esc mappings.
8459
cafafe0b
GM
84602000-10-13 Gerd Moellmann <gerd@gnu.org>
8461
a2e2a7f6
GM
8462 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8463 with additional argument.
8464
cafafe0b
GM
8465 * xdisp.c (cursor_row_p): New function.
8466 (try_cursor_movement, display_line): Use it.
52283633 8467
cafafe0b
GM
8468 * xdisp.c (append_space): Also save/restore iterator's current
8469 character and its length.
8470
8471 * xdisp.c (init_from_display_pos): Add an assertion.
8472 (handle_stop): Don't set iterator's add_overlay_start.
8473 (handle_invisible_prop): Likewise.
8474 (load_overlay_strings): If text under an overlay is invisible,
8475 take both before- and after-strings into account when the iterator
8476 is positioned either at the start or at the end of the overlay.
8477 (forward_to_next_line_start): Rewritten.
8478 (reseat_at_next_visible_line_start): Rewritten.
8479 (set_iterator_to_next): Add parameter RESEAT_P.
8480
8481 * dispextern.h (struct it): Remove member add_overlay_start.
8482 (set_iterator_to_next): Change prototype.
8483
c744452b
KH
84842000-10-13 Kenichi Handa <handa@etl.go.jp>
8485
8486 * coding.c (code_convert_region): Be sure to initialize
8487 coding->category_idx.
e4a3f4e1
KH
8488 (decode_coding_string): Set coding->src_multibyte and
8489 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8490 (encode_coding_string): Set coding->src_multibyte and
8491 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8492
321fd26f
SM
84932000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8494
8495 * xfns.c (Fx_create_frame): Don't bother calling
8496 face-set-after-frame-default since the caller does it for us anyway.
8497
76832439
EZ
84982000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8499
8500 * window.c (coordinates_in_window): Fix detection of vertical line
8501 on character terminals.
8502
2483cf58
GM
85032000-10-12 Gerd Moellmann <gerd@gnu.org>
8504
8505 * editfns.c (save_excursion_save): Additionally record the
8506 selected window.
8507 (save_excursion_restore): If buffer was visible in a window, and a
8508 different window was selected, and the old selected window is
8509 still live, restore point in that window.
8510
eb991b25
KH
85112000-10-12 Kenichi Handa <handa@etl.go.jp>
8512
8a0eba09
KH
8513 * xterm.c (x_produce_glyphs): Handle
8514 unibyte_display_via_language_environment correctly.
8515
20401fcc
KH
8516 * regex.c (regex_compile): Change the way of handling a range from
8517 unibyte char to multibyte char.
8518
8519 * syntax.c (skip_chars): Change the way of handling a range from
8520 unibyte char to multibyte char.
8521
eb991b25
KH
8522 * process.c (read_process_output): Cancel previous change.
8523
365dd325
EZ
85242000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8525
c1b096cb
EZ
8526 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8527
365dd325
EZ
8528 * charset.c (Ffind_charset_string): Doc fix.
8529 (Ffind_charset_region): Doc fix.
8530
eb483c2b
KH
85312000-10-11 Kenichi Handa <handa@mule.m17n.org>
8532
8533 * process.c (read_process_output): Fix previous change. Adjust
8534 multibyteness of text to insert in a buffer by
52283633 8535 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8536
b40bfb99
AS
85372000-10-10 Andreas Schwab <schwab@suse.de>
8538
8539 * alloc.c (mark_object): Remove all workarounds installed on
8540 1993-08-08.
8541
caff31d4
KH
85422000-10-10 Kenichi Handa <handa@etl.go.jp>
8543
52283633 8544 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8545 (base64_encode_1): Make it work for a text of multibyte form.
8546 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8547 case. Don't call str_to_multibyte because base64_decode_1
8548 produces correct multibyte form for eight-bit codes.
52283633 8549 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8550 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8551 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8552 codes.
8553
8554 * charset.h (CHAR_STRING): Optimized for single byte characters.
8555
cba026ef
AS
85562000-10-09 Andreas Schwab <schwab@suse.de>
8557
8558 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8559 -1 after socket is closed, to fall through to error processing.
8560
1e21fe48
EZ
85612000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8562
8563 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8564 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8565 background-color, change also the colors of the default face for
8566 this frame.
8567
a640322e
EZ
85682000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8569
8570 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8571 them extern (they are defined on xfaces.c).
8572 (syms_of_msdos): Don't intern and don't staticpro
8573 Qbackground_color and Qforeground_color.
8574
a115794c
EZ
85752000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8576
8577 * frame.c (Fframe_parameter): For non-windowed frames, if
8578 f->param_alist says foreground or background color is unspecified,
8579 call tty_color_name to return the color name computed from the
8580 frame's current colors.
8581
f5533b63
DL
85822000-10-06 Dave Love <fx@gnu.org>
8583
8584 * terminfo.c (ospeed): Don't declare.
8585
8586 * sysdep.c: Don't include string.h.
8587 (h_errno): Declare conditional also on TRY_AGAIN.
8588
8589 * charset.c (Ffind_charset_string): Doc fix.
8590
52283633 8591 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8592 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8593 error messages.
8594
2b06561a
DL
85952000-10-05 Dave Love <fx@gnu.org>
8596
8597 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8598 position like menu-bar.
8599
ca839c85
GM
86002000-10-05 Gerd Moellmann <gerd@gnu.org>
8601
8602 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8603
8604 * xdisp.c (handle_single_display_prop): Use safe_call1.
8605 (safe_call): Renamed from call_function.
8606 (safe_call1): New function.
8607 (handle_fontified_prop): Use safe_call1 instead of call1.
8608 (safe_eval): Renamed from eval_form.
8609 (safe_eval_handler): Renamed from eval_handler.
8610 (handle_single_display_prop, display_mode_element): Use safe_eval
8611 instead of eval_form.
8612
8613 * xfaces.c (merge_face_heights): Use safe_call instead of
8614 call_function.
8615
8616 * keyboard.c (show_help_echo): Use safe_call instead of
8617 call_function; use safe_eval instead of eval_form.
8618
8619 * lisp.h (safe_call): Renamed from call_function.
8620 (safe_eval): Renamed from eval_form.
8621 (safe_call1): Add prototype.
8622
a3489ece
MB
86232000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8624
8625 * xfns.c (image_ascent): Rearrange ascent calculation for the
8626 has-a-font case.
8627
35810b6f
SM
86282000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8629
8630 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8631 (where_is_internal_1): Don't bother ignoring menu-items any more.
8632
3dc78168
GM
86332000-10-04 Gerd Moellmann <gerd@gnu.org>
8634
8635 * keyboard.c (update_menu_bindings): New variable.
8636 (parse_menu_item): Use AREF. If update_menu_bindings
8637 is 0, don't update menu bindings.
8638 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8639
1efc2bb9
EZ
86402000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8641
8642 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8643 to `mark_object'.
8644
3f679f55
SM
86452000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8646
8647 * syntax.c (forw_comment): Match nestedness of ender/starter.
8648 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8649 (prev_char_comstart_first): Remove.
8650 (back_comment): Check two-char comment markers more carefully
8651 to better handle overlapping cases like *//* or /* */* */ ...
8652 Match nestedness of ender/starter.
8653
2021ab61
DL
86542000-10-02 Dave Love <fx@gnu.org>
8655
8656 * config.in (HAVE_GAI_STRERROR): Add undef.
8657
8658 * process.c (Fopen_network_stream): Use it.
8659
8660 * m/alpha.h (NO_REMAP): Don't define.
8661
64e6cc18
GM
86622000-10-02 Gerd Moellmann <gerd@gnu.org>
8663
8664 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8665 return with a string converted to an integer or vice versa when
8666 Vmocklisp_arguments is t.
8667 (Fsignal): Likewise. The function can return for `quit'.
8668 (struct gcpro): Declare member `var' to point to a volatile
8669 Lisp_Object.
8670
8671 * eval.c (error): Prevent compiler warning.
8672
b1904cd9
SM
86732000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8674
8675 * keymap.c (keymap_memberp): New function.
8676 (Fset_keymap_parent): Use it.
8677 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8678 Use keymap_memberp to avoid creating cycles.
8679 (access_keymap): Use KEYMAPP.
8680
71c9ec51
GM
86812000-09-30 Gerd Moellmann <gerd@gnu.org>
8682
8683 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8684 gai_strerror. Make sure xerrno is set if connect fails. Improve
8685 error recovery.
71c9ec51 8686
c70c6b58
JR
86872000-09-29 Jason Rumney <jasonr@gnu.org>
8688
8689 * w32term.c (w32_char_font_type, w32_encode_char)
8690 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8691 (w32_bdf_per_char_metric): New function.
8692 (w32_per_char_metric): Use it.
8693 (x_draw_glyph_string_background): Always draw background for BDF
8694 glyphs.
8695
8696 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8697 GDI object which is a scarce resource.
8698
8699 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8700 (get_quoted_string): Fix limit on memchr search.
8701 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8702 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8703 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8704 (get_cached_font_char, cache_char_offset): Use macro
8705 BDF_CODEPOINT_RANGE_COVER_P.
8706 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8707 (clear_cached_bitmap_slots): New function.
8708 (GET_HEX_VALUE): G-Z, g-z are not hex.
8709 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8710 (get_bitmap_with_cache): Use new cache implementation.
8711 (create_offscreen_bitmap): New function.
8712 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8713
8714 * w32term.c (x_produce_glyphs): If the distance from the current
8715 position to the next tab stop is less than a canonical character
8716 width, use the tab stop after that.
8717 (x_draw_glyphs): Handle case START and END are out of bounds more
8718 carefully.
8719 (x_clear_mouse_face): Block/unblock input.
8720 (x_display_and_set_cursor): Don't show a hollow box cursor for
8721 buffers whose cursor_type is nil.
8722
fe01239f
GM
87232000-09-29 Gerd Moellmann <gerd@gnu.org>
8724
52283633 8725 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8726
8727 * dispextern.h (updating_frame): Declare extern.
8728
e7c52f1f
AS
87292000-09-29 Andreas Schwab <schwab@suse.de>
8730
8731 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8732
de6e1f7c
GM
87332000-09-29 Gerd Moellmann <gerd@gnu.org>
8734
25126faa
GM
8735 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8736 use its function definition.
8737 (tool_bar_items): Likewise.
8738
de6e1f7c 8739 * lisp.h (fatal): Declare NO_RETURN.
52283633 8740
454ee39b
KH
87412000-09-29 Kenichi Handa <handa@etl.go.jp>
8742
8743 * keymap.c: Remove the line "#undef NULL".
8744
96301c5f
GM
87452000-09-28 Gerd Moellmann <gerd@gnu.org>
8746
52283633 8747 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8748
efffeeb4
DL
87492000-09-28 Dave Love <fx@gnu.org>
8750
ecb8b666
DL
8751 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8752
dc3cd20f
DL
8753 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8754
8755 * .gdbinit (xreload): Note its need on GNU/Linux.
8756
efffeeb4
DL
8757 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8758 r_alloc, r_alloc_free.
8759
8610d903
KH
87602000-09-28 Kenichi Handa <handa@etl.go.jp>
8761
8762 * syntax.c (skip_chars): Handle negation correctly.
8763
8901d1ac
GM
87642000-09-27 Gerd Moellmann <gerd@gnu.org>
8765
6f22f1ad
GM
8766 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8767 with non-zero FORCE_P argument.
8768
52283633 8769 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8770 Add assertions.
8771
8772 * xdisp.c (window_box_height): Add an assertion.
8773
8774 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8775 tool-bar than is available.
8776 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8777
36f1966f
DL
87782000-09-27 Dave Love <fx@gnu.org>
8779
efffeeb4 8780 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8781
31d929e5
GM
87822000-09-26 Gerd Moellmann <gerd@gnu.org>
8783
c98863bf
GM
8784 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8785 instead of BITS_PER_INT.
8786 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8787 EMACS_UINT, respectively.
8788 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8789
8790 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8791
8792 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8793
77072ab1
GM
8794 * window.c (freeze_window_starts): Construct last argument for
8795 foreach_window differently.
8796
8797 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8798
8799 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8800 EMACS_UINT instead of `int' and `unsigned int'.
8801 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8802
8803 * frame.h (struct frame): Make the `nothing' member of union
8804 output_data an EMACS_INT.
8805
52283633 8806 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8807 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8808 size in the sdata structure.
8809 (SDATA_NBYTES, SDATA_DATA): New macros.
8810 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8811 differently for the different layout of the sdata structure.
8812 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8813 in sdata.
8814 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8815 Check that size recorded in the string size and size recorded in
8816 the sdata structure agree.
8817
3e60b029
DL
88182000-09-25 Dave Love <fx@gnu.org>
8819
8820 * buffer.c: Include stdio.h.
8821
8822 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8823
3e60b029
DL
8824 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8825
8826 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8827 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8828 (__malloc_extra_blocks): Declare as __malloc_size_t.
8829
8ff16b4e
GM
88302000-09-25 Gerd Moellmann <gerd@gnu.org>
8831
755a2ccd
GM
8832 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8833
d8b4516f
GM
8834 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8835 (read_char): If help-echo is showing, preserve the echo area
8836 when redisplaying.
8837
8838 * xdisp.c (help_echo_showing_p): New variable.
8839 (set_message): Reset it to 0.
8840 (init_xdisp): Initialize help_echo_showing_p.
8841
8842 * dispextern.h (help_echo_showing_p): Declare extern.
8843
8844 * config.in: Fix typo in __GNUC_MINOR__.
8845
8846 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8847
b11af2dd
GM
8848 * s/freebsd.h (POSIX_SIGNALS): Define.
8849
8ff16b4e
GM
8850 * xterm.c (x_clear_mouse_face): Block/unblock input.
8851
844eb643
DL
88522000-09-24 Dave Love <fx@gnu.org>
8853
8854 * fns.c (base64_encode_1): Fix last change.
8855
b30ab1b3
GM
88562000-09-22 Gerd Moellmann <gerd@gnu.org>
8857
8858 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8859
8860 * xdisp.c (try_window_reusing_current_matrix): More fixes
8861 for the case window has a header-line.
8862
c6cbe5f0
DL
88632000-09-22 Dave Love <fx@gnu.org>
8864
4c7c1f3f
DL
8865 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8866 a doc string.
8867
8868 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8869
c6cbe5f0
DL
8870 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8871
550a625e
GM
88722000-09-21 Gerd Moellmann <gerd@gnu.org>
8873
4c7c1f3f 8874 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8875 for GCC >= 2.5.
8876
52283633
SM
8877 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8878 Declare NO_RETURN.
fca99116 8879
80d26f99
GM
8880 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8881 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8882 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8883 warnings.
52283633 8884
80d26f99
GM
8885 * marker.c (byte_char_debug_check): Return void.
8886
623a0aae
GM
8887 * xfns.c (Fx_create_frame): Set default frame parameter value
8888 for tool-bar-lines to 1.
8889
8890 * dispnew.c (scrolling_window): Compare y-positions of rows
8891 equal at the start. Some simplification.
8892
8893 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8894 reused rows' y-position in the case window has a header-line, and
8895 new window start is greater than old window start.
8896
42ac0ae5
GM
8897 * process.c (process_sent_to): New variable.
8898 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8899 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8900 Declare more parameters volatile.
8901
550a625e
GM
8902 * lread.c (Vrecursive_load_depth_limit): New variable.
8903 (Fload): Check recursive loads whose recursion depth exceeds
8904 Vrecursive_load_depth_limit.
8905 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8906
8320414c
GM
89072000-09-20 Gerd Moellmann <gerd@gnu.org>
8908
f46c275e
GM
8909 * fileio.c (Fread_file_name): Doc fix.
8910
8911 * editfns.c (Fmessage_or_box): Doc fix.
8912
8913 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8914
b7e11c5b 8915 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8916
8320414c
GM
8917 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8918 symbols are specified, add color translations to the cache.
52283633 8919 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8920 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8921 xpm_cache_color.
8922 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8923 structures to xpm_init_color_cache.
8924
da1608d9
GM
89252000-09-19 Gerd Moellmann <gerd@gnu.org>
8926
52283633 8927 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8928
6badfa25
AI
89292000-09-19 Andrew Innes <andrewi@gnu.org>
8930
8931 * makefile.nt (bootstrap-emacs): Don't change directory.
8932
3a5f42bb
KH
89332000-09-19 Kenichi Handa <handa@etl.go.jp>
8934
1b7649bd
KH
8935 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8936
3a5f42bb
KH
8937 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8938 If output buffer is too small, signal an appropriated error.
8939
9f83cf0b
DL
89402000-09-18 Dave Love <fx@gnu.org>
8941
52283633 8942 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8943 (current_active_maps): Remove redundant get_local_map call.
8944
28c7826c
GM
89452000-09-18 Gerd Moellmann <gerd@gnu.org>
8946
5cefa566
GM
8947 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8948 cursor for buffers whose cursor_type is nil.
52283633 8949
6fed3546
GM
8950 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8951 a feature to implement that is already implemented.
8952 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8953 warnings.
8954
8955 * xfns.c (x_clear_image_1): New function.
8956 (x_clear_image): Use it.
52283633 8957 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8958
05b1f851
GM
8959 * dispnew.c (update_window): Move test for invisible lines
8960 at the top to update_window_line.
8961 (update_window_line): Handle invisible lines here.
8962
f4779de9
GM
8963 * xfns.c (clear_image_cache): Clear current matrices of all
8964 frames sharing an image cache. Block input while freeing
8965 images. Fix timestamp comparison.
8966 (x_clear_image): Also free the mask.
8967
28c7826c
GM
8968 * xfns.c (lookup_image): Block input while loading the image so
8969 that we won't get interrupted in a state where the image isn't yet
8970 set up completely.
8971 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8972 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8973 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8974 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8975
b7412313
GM
89762000-09-16 Gerd Moellmann <gerd@gnu.org>
8977
8978 * dispnew.c (update_window): Make sure to make desired rows
8979 current even if they are completely invisible at the top
8980 of a window.
8981
47e351a3
GM
89822000-09-15 Gerd Moellmann <gerd@gnu.org>
8983
7f8f1edc
GM
8984 * xfns.c (lookup_image): Build mask before applying an algorithm.
8985 Recognize algorithm `disabled'.
8986 (cross_disabled_images): New variable.
8987 (COLOR_INTENSITY): New macro.
8988 (x_detect_edges): Use COLOR_INTENSITY.
8989 (x_disable_image): New function.
8990 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8991
8992 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8993 disabled state, don't apply an image transformation algorithm if
8994 the user specified an image for the disabled state. Use
28c7826c 8995 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8996 user hasn't specified an image.
8997
ebb8f116
GM
8998 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8999 allocation functions with the XPM lib.
9000 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
9001 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
9002 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
9003 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 9004 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
9005 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
9006 functions, if possible, because these handle color allocation
9007 failure more gracefully.
9008 (Fimage_mask_p): New function.
9009
47e351a3
GM
9010 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
9011 (Qedge_detection, Qheuristic): New symbols.
9012 (syms_of_xfns): Initialize new symbols.
9013 (lookup_image): Handle `:mask X', `:algorithm emboss', and
9014 `algorithm (edge-detection ...)'.
9015 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
9016 (tiff_format, gif_format, gs_format): Add `:mask'.
9017 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
9018 (GIF_MASK, GS_MASK): New enumerators.
9019 (x_laplace_read_row, x_laplace_write_row): Functions removed.
9020 (emboss_matrix, laplace_matrix): New variables.
9021 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
9022 (x_edge_detection): New functions.
9023 (x_laplace): Rewritten in terms of x_detect_edges.
9024 (x_build_heuristic_mask): If image has a mask, free it.
9025
fe83b953
AI
90262000-09-14 Andrew Innes <andrewi@gnu.org>
9027
9028 * makefile.w32-in: Revert to Unix line endings.
9029
3021e816
AI
90302000-09-14 Andrew Innes <andrewi@gnu.org>
9031
9032 * makefile.w32-in: Standardize indentation somewhat.
9033 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
9034 cater for differences between shells.
9035
9036 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
9037
2a32b5ea
GM
90382000-09-14 Gerd Moellmann <gerd@gnu.org>
9039
9040 * xterm.c (x_produce_glyphs): If the distance from the current
9041 position to the next tab stop is less than a canonical character
9042 width, use the tab stop after that.
9043
b4331e96
DL
90442000-09-14 Dave Love <fx@gnu.org>
9045
9046 * buffer.c (alloc_buffer_text): Fix xmalloc call.
9047
ef9e4345
GM
90482000-09-14 Gerd Moellmann <gerd@gnu.org>
9049
085536c2
GM
9050 * xdisp.c (handle_fontified_prop): While running fontification
9051 functions, bind `fontification-functions' and
9052 `after-change-functions' to nil.
9053
ef9e4345
GM
9054 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9055 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9056
9057 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9058
9059 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9060 USE_MMAP_FOR_BUFFERS.
9061
9062 * insdel.c (make_gap): Use enlarge_buffer_text.
9063
9064 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9065 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9066 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9067 from former r_alloc_* functions in ralloc.c.
52283633 9068 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
9069 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9070 (mmap_init) [REL_ALLOC_MMAP]: New function.
9071 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9072 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9073 BUFFER_FREE.
9074
9075 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9076 (enlarge_buffer_text): Add prototype.
9077
9078 * ralloc.c: Remove everything having to do with the use of mmap.
9079
f8608968
GM
90802000-09-13 Gerd Moellmann <gerd@gnu.org>
9081
2a494b2d
GM
9082 * sound.c (Fplay_sound): Doc fix.
9083
8c907a56
GM
9084 * keyboard.c: Avoid some more compiler warnings.
9085 (parse_tool_bar_item): Ignore cached key bindings.
9086
f8608968
GM
9087 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9088 and allocation of Lisp data.
9089
6ab70e9a
GM
90902000-09-12 Gerd Moellmann <gerd@gnu.org>
9091
d12d0a9b
GM
9092 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9093 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9094 defaults first.
9095
6ab70e9a
GM
9096 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9097
63c36c3c
KH
90982000-09-12 Miyashita Hisashi <himi@meadowy.org>
9099
9100 * ccl.c: Comment fixed.
9101 (MAX_MAP_SET_LEVEL): Increased to 30.
9102 (PUSH_MAPPING_STACK): Enclose with do-while block.
9103 (POP_MAPPING_STACK): Likewise.
9104 (stack_idx_of_map_multiple): New variable.
9105 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9106 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9107 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9108 (ccl_driver) <CCL_MapSingle>: Likewise.
9109 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9110 with the case where looking up process reaches to the end of
9111 map-set, and call CCL programs as the above change.
9112
7ee3bd7b
GM
91132000-09-11 Gerd Moellmann <gerd@gnu.org>
9114
8ec8a5ec
GM
9115 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9116 that might be clobbered by longjmp.
9117 (check_x_display_info, x_decode_color, create_frame_xic)
9118 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9119 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9120
f74b0705
GM
9121 * lread.c (init_lread): Set Vloads_in_progress to nil.
9122 (Fload): Show list of recursively loaded files, when signaling an
9123 error.
9124
7ee3bd7b
GM
9125 * lread.c (Vloads_in_progress): New variable.
9126 (record_load_unwind): New function.
9127 (Fload): Check for recursive loads.
9128 (syms_of_lread): Initialize Vloads_in_progress.
9129 (read_integer, read1): Avoid some compiler warnings.
9130
9131 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9132 compiler warnings.
9133
974e1e5b
MB
91342000-09-11 Miles Bader <miles@gnu.org>
9135
9136 * editfns.c (Fbuffer_string): Doc fix.
9137
9824c4e3
GM
91382000-09-10 Gerd Moellmann <gerd@gnu.org>
9139
9140 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9141
6a72fdd1
KR
91422000-09-09 Ken Raeburn <raeburn@gnu.org>
9143
9144 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9145 whether to include other header files.
9146
28e6fb66
GM
91472000-09-09 Gerd Moellmann <gerd@gnu.org>
9148
52283633 9149 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9150 by Fmemq as a boolean.
28e6fb66 9151
7f8b6551
SM
91522000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9153
9154 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9155
a8710abf
GM
91562000-09-08 Gerd Moellmann <gerd@gnu.org>
9157
d1a02881
GM
9158 * ralloc.c (mmap_fd): Remove initializer which can make it
9159 read-only in a dumped Emacs.
9160 (mmap_fd_1): New variable.
9161 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9162 restore it from there.
9163 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9164 unconditionally so that mmap_fd can be initialized there.
9165 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9166 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9167 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9168
c454aac1
GM
9169 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9170
9171 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9172 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9173
fc653ef2
GM
9174 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9175
3015eec0
GM
9176 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9177 inheritance.
9178
bfe0ee88
GM
9179 * xdisp.c (try_window_id): When trying to locate cursor in
9180 unchanged rows at the top, handle the case that we can't find it.
9181
a8710abf
GM
9182 * xterm.c (x_draw_glyphs): Handle case START and END are out
9183 of bounds more carefully.
9184
6b7d4ae4
DL
91852000-09-08 Dave Love <fx@gnu.org>
9186
423193c5
DL
9187 * s/sol2.h (REL_ALLOC_MMAP): Define.
9188 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9189
9190 * ralloc.c: Don't include string.h (redundant).
9191 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9192 [!MAP_ANON]: Include fcntl.h.
9193 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9194 (r_alloc, r_re_alloc, r_alloc_free)
9195 (mmap_enlarge, mmap_set_vars): Use it.
9196 (r_alloc_init_fd): New function.
9197 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9198 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9199 malloc type.
9200
9201 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9202 Remove vm-limit.o.
9203
6b7d4ae4
DL
9204 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9205 change to __NetBSD__.
9206
44d31981
KH
92072000-09-08 Kenichi Handa <handa@etl.go.jp>
9208
9209 * search.c (compile_pattern): Check the multibyteness of cached
9210 string and PATTERN.
9211
aad40737
MB
92122000-09-08 Miles Bader <miles@gnu.org>
9213
9214 * xfaces.c (default_face_vector): Function removed.
9215 (Finternal_merge_in_global_face): Restore old global/local
9216 attribute override order. Use inline loop instead of calling
9217 default_face_vector.
9218
91a211b5
GM
92192000-09-07 Gerd Moellmann <gerd@gnu.org>
9220
9221 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9222 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9223 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9224 where necessary, in case POINTER_TYPE is `void'.
9225
03419440
EZ
92262000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9227
9228 * frame.c (make_terminal_frame): Initialize frame foreground and
9229 background colors to unspecified, for the initial instance of an
9230 MSDOS frame.
9231
f46f845b
GM
92322000-09-07 Gerd Moellmann <gerd@gnu.org>
9233
24f76fbf
GM
9234 * ralloc.c (mmap_find): Fix overlap computation.
9235 (mmap_enlarge): Compute nbytes before trying to find an
9236 overlapping region.
9237
f46f845b
GM
9238 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9239 instead of `!='.
9240
9241 * lread.c (syms_of_lread): Change value of regexp
9242 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9243
9244 * xmenu.c (xdialog_show): When looking up the selection in
9245 menu_items, take `quote' boundaries into account; this corresponds
9246 to a nil ITEM in x-popup-dialog.
9247
3c014385
KH
92482000-09-07 Kenichi Handa <handa@etl.go.jp>
9249
fd6f711b
KH
9250 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9251 not 0x81.
9252 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9253
3c014385 9254 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9255 encoding, not decoding. Fix the handling of latin-jisx0201.
9256 Check for the charset katakana-jisx0201 too.
3c014385 9257 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9258 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9259
0da3ecef
GM
92602000-09-07 Gerd Moellmann <gerd@gnu.org>
9261
ab0ee409
GM
9262 * xfaces.c (Vparam_value_alist): New variable.
9263 (syms_of_xfaces): Initialize it.
9264 (Finternal_set_lisp_face_attribute): Avoid more consing.
9265
9266 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9267 specially.
9268 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9269 (Qbackground_mode): New variable.
9270 (syms_of_frame_1): Initialize Qbackground_mode.
9271
9272 * lisp.h (Qdisplay): Declare extern.
1091dd67 9273
0da3ecef
GM
9274 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9275 change face on all frames, and change the default for new frames.
9276
b14654b9
DL
92772000-09-07 Dave Love <fx@gnu.org>
9278
9279 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9280
d24fd56f
KH
92812000-09-07 Kenichi Handa <handa@etl.go.jp>
9282
794f3670
KH
9283 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9284
0fddd0dc
KH
9285 * charset.c: Include composite.h
9286 (lisp_string_width): New function.
9287 (Fstring_width): Call lisp_string_width instead of strwidth.
9288
9289 * Makefile.in (charset.o): Depends on composite.h.
9290
d24fd56f
KH
9291 * process.c (read_process_output): Before inserting the decoded
9292 text in the buffer, adjust the multibyteness.
9293
fa0b693c
GM
92942000-09-06 Gerd Moellmann <gerd@gnu.org>
9295
52283633 9296 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9297 buffer's text buffer is null, map new memory.
9298
0a58f946
GM
9299 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9300 POINTER_TYPE and size_t.
9301 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9302 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9303 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9304 [REL_ALLOC_MMAP]: New macros.
9305 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9306 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9307 [REL_ALLOC_MMAP]: New functions.
9308
9309 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9310 before and after unexec.
9311
9312 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9313 text buffers if necessary.
9314
9315 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9316 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9317 in prototypes.
9318
fa0b693c
GM
9319 * config.in (HAVE_MMAP): Add #undef.
9320
877055f6
GM
93212000-09-05 Gerd Moellmann <gerd@gnu.org>
9322
08ba3862
GM
9323 * frame.c (Qdisplay_type): New variable.
9324 (syms_of_frame_1): Initialize it.
9325 (Fframe_parameter): New function that avoids consing.
9326 (syms_of_frame): Defsubr it.
9327
66ffe51c
GM
9328 * buffer.c (Fother_buffer): Consider buffers as invisible when
9329 they are displayed in a window on an invisible frame.
9330
877055f6
GM
9331 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9332 get-largest-window always return nil.
9333
bb970e67
GM
93342000-09-04 Gerd Moellmann <gerd@gnu.org>
9335
9336 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9337 variable; recognize Emacs 19 elc files.
9338
7a3d0e0e
MB
93392000-09-04 Miles Bader <miles@gnu.org>
9340
9341 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9342 before initially popping up the menu, so the menu doesn't flash
52283633 9343 when the face settings are significantly different from the defaults.
7a3d0e0e 9344
14473664
SM
93452000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9346
9347 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9348 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9349 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9350 (BIT_UNIBYTE): Remove.
9351 (re_match_2_internal): Delete corresponding code and streamline the
9352 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9353 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9354 (re_wctype_t): New type.
9355 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9356 (regex_compile): Use them and fix handling of overly long char classes.
9357
c1174479
AI
93582000-09-03 Andrew Innes <andrewi@gnu.org>
9359
f8803e97
AI
9360 * makefile.w32-in: Change to DOS line endings.
9361
c1174479
AI
9362 * s/ms-w32.h (ORDINARY_LINK): New define.
9363
9364 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9365 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9366
9367 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9368 (distclean): Delete them here instead.
9369
44ef7cf6
AI
9370 * w32proc.c (compare_env): Convert to uppercase for comparison,
9371 not lowercase, to match how the native Windows shell works.
9372
49b3bd82
JR
93732000-09-03 Jason Rumney <jasonr@gnu.org>
9374
9375 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9376 CVS changes the line-ends when checking in/out on DOS/Windows.
9377
9378 * makefile.nt (emacs): Do not change directory to run temacs, as
9379 the load-path is set relative to current directory.
9380
a3d35a39
MB
93812000-09-03 Miles Bader <miles@gnu.org>
9382
9383 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9384
d276b0cf
GM
93852000-09-02 Gerd Moellmann <gerd@gnu.org>
9386
715e84c9
GM
9387 * xdisp.c (redisplay_mode_lines): New function.
9388 (display_mode_lines): Return number of mode lines displayed.
9389 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9390 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9391
8892f40b
GM
9392 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9393 string.h and strings.h.
9394 (index) [HAVE_INDEX]: Add prototype.
9395
d276b0cf
GM
9396 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9397 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9398
9399 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9400 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9401
38404229
GM
94022000-09-01 Gerd Moellmann <gerd@gnu.org>
9403
9404 * lread.c (read1): Accept `?' as symbol constituent, for
9405 compatiblity with XEmacs.
9406
c0f9ea08
SM
94072000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9408
9409 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9410 (struct re_pattern_buffer): Remove newline_anchor.
9411 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9412 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9413 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9414 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9415 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9416 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9417 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9418 Get rid of references to newline_anchor.
9419 (regcomp): Allocate and precompute a fastmap.
9420
8c0f83fe
GM
94212000-08-31 Gerd Moellmann <gerd@gnu.org>
9422
9423 * lread.c (openp): GCPRO local variable `filename'.
9424
4bb91c68
SM
94252000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9426
9427 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9428
9429 * regex.c: Merge some changes from GNU libc. Add prototypes.
9430 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9431 Use memcmp and memcpy instead of bcopy and bcmp.
9432 (init_syntax_once): Use ISALNUM.
9433 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9434 (REG_UNSET_VALUE): Remove. Use NULL instead.
9435 (REG_UNSET, re_match_2_internal): Use NULL.
9436 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9437 New macros.
9438 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9439 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9440 (regex_compile): In handle_interval, return an error rather than try to
9441 unfetch the interval if we can't find the closing brace.
9442 Obey the RE_NO_GNU_OPS syntax bit.
9443 (TOLOWER): New macro.
9444 (regcomp): Use it.
9445 (regexec): Allocate regs.start and regs.end as one block.
9446
5226a931
GM
94472000-08-30 Gerd Moellmann <gerd@gnu.org>
9448
868dd24b
GM
9449 * xdisp.c (echo_area_display): Check display_completed instead
9450 of calling detect_input_pending.
9451
9452 * dispnew.c (update_frame): Only set display_completed here; move
9453 the update_begin and update_end calls here from update_frame_1.
9454 (update_frame_1): Don't set display_completed here, don't call
9455 update_begin/update_end.
9456
5226a931
GM
9457 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9458 instead of store_frame_param.
9459
2a8bd25f
GM
94602000-08-29 Gerd Moellmann <gerd@gnu.org>
9461
9462 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9463 desired window matrix hasn't been displayed, use the current row
9464 instead. Make sure that only those frame rows are updated for
9465 which there exists a corresponding enabled desired row.
52283633 9466
ba3478d9
MB
94672000-08-29 Miles Bader <miles@gnu.org>
9468
9469 * xfaces.c (default_face_vector): New function.
9470 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9471
87d0f685
GM
94722000-08-29 Gerd Moellmann <gerd@gnu.org>
9473
9474 * lread.c (openp): Prevent temporary string passed to
9475 Ffile_readable_p from being garbage collected.
9476
6fa86045
DL
94772000-08-28 Dave Love <fx@gnu.org>
9478
9479 * keymap.c (store_in_keymap): Add `static' to declaration.
9480
bb17930d
GM
94812000-08-28 Gerd Moellmann <gerd@gnu.org>
9482
9483 * emacs.c, callint.c, doc.c, editfns.c
9484 (toplevel) [HAVE_STRING_H]: Include string.h.
9485 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9486 (index): Remove prototypes which might conflict with non-standard
9487 definitions of index/strchr.
9488
9489 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9490 (rindex): Define only if !HAVE_RINDEX.
9491
9492 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9493
9494 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9495
87188200
MB
94962000-08-28 Miles Bader <miles@gnu.org>
9497
9498 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9499 made inconsistent by a font-related attribute in FROM.
9500 (merge_face_inheritance): Add function comment.
9501
41a68aef
KH
95022000-08-28 Kenichi Handa <handa@etl.go.jp>
9503
9504 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9505 the 4th arg (PREV_EVENT) Qt to suppress input method.
9506
f7c436c1
SM
95072000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9508
0b32bf0e
SM
9509 * regex.c: Indent cpp directives and remove parens after `defined'.
9510 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9511 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9512 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9513 (re_compile_pattern): Use size_t for length.
9514 (init_syntax_once): Move to a better place.
9515 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9516 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9517
f7c436c1
SM
9518 * syntax.c (back_comment): Detect cases where a comment-starter is
9519 actually inside another comment as in: /* a // b */ c // d \n.
9520 Make it clear that `comstart_pos' is unused for nested comments.
9521
9522 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9523 (KEYMAPP): New macro.
9524 (Fkeymap_parent, Fset_keymap_parent): Use it.
9525 (fix_submap_inheritance): Mark it static.
9526 (define_as_prefix, describe_buffer_bindings, describe_command)
9527 (describe_translation, describe_map): Complete prototypes.
9528
9529 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9530
9531 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9532 to better match the key-lookup behavior.
9533
6288c62f
GM
95342000-08-27 Gerd Moellmann <gerd@gnu.org>
9535
9536 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9537 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9538
e931344e
EZ
95392000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9540
9541 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9542 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9543 (xterm.o): Depend on coding.h
9544
d10dfeef
KH
95452000-08-26 Kenichi Handa <handa@etl.go.jp>
9546
9547 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9548 the corresponding '#endif'.
9549
2d73e8d3
MB
95502000-08-26 Miles Bader <miles@gnu.org>
9551
9552 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9553 * xfaces.c (QCinherit): New variable.
9554 (syms_of_xfaces): Initialize it.
9555 (LFACE_INHERIT): New macro.
9556 (Finternal_get_lisp_face_attribute)
52283633 9557 (merge_face_vector_with_property)
2d73e8d3
MB
9558 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9559 (check_lface_attrs): Allow new types of face height. Check
9560 inherit attribute.
9561 (CYCLE_CHECK): New macro.
9562 (merge_face_inheritance): New function.
9563 (merge_face_vectors): Merge inherited faces too. Add F and
9564 CYCLE_CHECK arguments.
9565 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9566 (lookup_named_face, lookup_derived_face, realize_named_face)
9567 (face_at_string_position, face_at_buffer_position): Supply
9568 new F and CYCLE_CHECK arguments to merge_face_vectors.
9569 (merge_face_heights): New function.
52283633 9570 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9571 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9572 handle relative face heights.
9573 (lface_same_font_attributes_p): Compare heights using EQ.
9574
6ce974d4
KH
95752000-08-26 Kenichi Handa <handa@etl.go.jp>
9576
9577 * charset.c (char_to_string): Check the character validity.
52283633 9578 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9579
dc1e502d
SM
95802000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9581
9582 * regex.c (PUSH_FAILURE_COUNT): New macro.
9583 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9584 Handle popping of a register's or a counter's data.
9585 (POP_FAILURE_POINT): Use the new name.
9586 (re_match_2_internal): Push counter data on the stack for succeed_n,
9587 jump_n and set_number_at and remove misleading dead code in succeed_n.
9588
bd9d0f3f
GM
95892000-08-25 Gerd Moellmann <gerd@gnu.org>
9590
9591 * xdisp.c (redisplay_internal): If considering all windows on all
9592 frames, update the display for each frame as soon as possible,
9593 instead of first building all desired matrices for all frames, and
9594 then updating them all.
9595 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9596
aa5b8e15
GM
95972000-08-24 Gerd Moellmann <gerd@gnu.org>
9598
17494071
GM
9599 * bytecode.c (mark_byte_stack): Add a comment.
9600
52283633
SM
9601 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9602 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9603 a graphical frame.
9604
c543db81
KH
96052000-08-24 Kenichi Handa <handa@etl.go.jp>
9606
d246d5f5
KH
9607 * minibuf.c (do_completion): Always use compare-string, not
9608 string-equal because the latter doesn't pay attention to
9609 multibyteness of strings.
9610
c543db81
KH
9611 * process.c (create_process): Don't setup raw-text coding here.
9612 (Fopen_network_stream): Don't set coding->src_multibyte and
9613 coding->dst_multibyte here.
9614 (read_process_output): For process filter, return unibyte string
9615 if default-enable-multibyte-characters is nil.
9616 (send_process): If OBJECT is multibyte text, be sure to encoded it
9617 by the specified coding system for the process. Otherwise, setup
9618 raw-text coding.
52283633 9619 (init_process): Don't initialize default-process-coding-system here.
c543db81 9620
9b47cfe0
EZ
96212000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9622
9623 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9624 <scroll-down-aggressively>: Likewise.
9625
f5a36960
KH
96262000-08-23 Kenichi Handa <handa@etl.go.jp>
9627
9628 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9629 zero. Set coding->produced_char correctly.
9630
69a7ffa7
AI
96312000-08-22 Andrew Innes <andrewi@gnu.org>
9632
9633 * makefile.w32-in: New file.
9634
9635 * unexw32.c (unexec): Ignore old_name, and use the actual location
9636 of the current executable instead. Base new_name on this.
9637
9638 * w32proc.c (create_child): Remove reference to security
9639 descriptor, which isn't needed and doesn't compile with mingw32.
9640
9641 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9642 up dllimport attributes.
9643 (x_update_window_end): Update prototype.
9644
9645 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9646 extern, which screws up dllimport attributes.
9647
9648 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9649 up dllimport attributes.
9650
9651 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9652 screws up dllimport attributes.
9653
9654 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9655 up dllimport attributes.
9656 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9657 screws up dllimport attributes.
9658
9659 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9660 up dllimport attributes.
9661
9662 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9663 screws up dllimport attributes.
9664
9665 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9666 screws up dllimport attributes.
9667
9668 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9669 up dllimport attributes.
9670
9671 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9672 unnecessary extern, which screws up dllimport attributes.
9673 (main): Ditto.
9674
9675 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9676 up dllimport attributes.
9677
9678 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9679 unnecessary extern, which screws up dllimport attributes.
9680
9681 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9682 screws up dllimport attributes.
9683
9684 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9685 up dllimport attributes.
9686
9687 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9688
52283633
SM
9689 * w32bdf.c (search_file_line):
9690 (set_bdf_font_info):
9691 (seek_char):
9692 (w32_get_bdf_glyph):
69a7ffa7
AI
9693 (w32_BDF_to_x_font): Fix compile warnings.
9694
52283633 9695 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9696
9697 * w32select.c: Include keyboard.h before frame.h.
9698
9699 * w32fns.c (max): Define macro.
9700 (JOHAB_CHARSET): Define if not known.
9701 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9702 (Fx_show_tip): Synch with X version.
9703
9704 * w32xfns.c: Include keyboard.h before frame.h.
9705
9706 * w32fns.c: Include keyboard.h before frame.h.
9707
9708 * w32term.c: Include keyboard.h before frame.h.
9709
9710 * fontset.c: Include keyboard.h before frame.h.
9711
9712 * w32inevt.c: Include keyboard.h before frame.h.
9713 (MOUSE_MOVED): Define if not known.
9714
9715 * minibuf.c: Include keyboard.h before frame.h.
9716
9717 * keyboard.c: Include keyboard.h before frame.h.
9718
9719 * indent.c: Include keyboard.h before frame.h.
9720
9721 * dispnew.c: Include keyboard.h before frame.h.
9722
9723 * buffer.c: Include keyboard.h before frame.h.
9724
9725 * alloc.c: Include keyboard.h before frame.h.
9726
9727 * print.c: Include keyboard.h before frame.h.
9728
9729 * process.c: Include keyboard.h before frame.h.
9730
9731 * scroll.c: Include keyboard.h before frame.h.
9732
9733 * sysdep.c: Include keyboard.h before frame.h.
9734
9735 * term.c: Include keyboard.h before frame.h.
9736
9737 * window.c: Include keyboard.h before frame.h.
9738
9739 * xdisp.c: Include keyboard.h before frame.h.
9740 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9741
9742 * frame.c: Include keyboard.h before frame.h.
9743
9744 * w32heap.h: Undefine min, max.
9745
9746 * w32gui.h: Undefine min, max.
9747
9748 * unexw32.c: Change PUCHAR to PCHAR.
9749 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9750 (relocate_offset):
9751 (get_section_info):
69a7ffa7
AI
9752 (copy_executable_and_dump_data): Remove unnecessary static defs.
9753 (copy_executable_and_dump_data): Fix compile warnings.
9754
9755 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9756
9757 * w32console.c (min): Define macro.
9758 (clear_frame, write_glyphs): Fix compile warning.
9759
52283633 9760 * w32proc.c (compare_env):
69a7ffa7
AI
9761 (find_child_console): Fix compile warning.
9762
9763 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9764 sys_errlist instead of _sys_errlist.
9765 (get_emacs_configuration_options): New function.
9766
9767 * s/ms-w32.h (sys_nerr): Provide default definition.
9768 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9769 name with _ prepended.
9770 (NSIG): Define if not known.
9771 (get_emacs_configuration): Provide extern declaration.
9772 (get_emacs_configuration_options): Provide extern declaration.
9773 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9774
9775 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9776 (map_w32_filename):
69a7ffa7
AI
9777 (read_unc_volume): Fix compile warning.
9778
9779 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9780 definitions from being used.
9781
9782 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9783
52283633 9784 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9785 (open_unc_volume): Make arg const.
9786
9787 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9788 (read_input_waiting): Remove excess parameter.
9789
9790 * w32.c (init_environment): Call _access.
9791 (check_windows_init_file): Call _close.
9792 (init_user_info): Call _putenv.
9793 (init_environment): Call _putenv and _strdup.
9794 (init_ntproc): Reset volume info cache on startup.
9795
9796 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9797 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9798 cannot override the CRT malloc.
9799
9800 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9801 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9802
9803 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9804 unless we are linking with a static CRT.
9805 (RVA_TO_PTR): Cast result to unsigned char*.
9806
9807 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9808 (add_volume_info): Use xstrdup.
9809
25060080
SM
98102000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9811
9812 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9813 (do_completion, Fminibuffer_complete_word): Use it.
9814 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9815 var so it can take non-boolean values.
9816
6917e6bb
GM
98172000-08-21 Gerd Moellmann <gerd@gnu.org>
9818
acb7cc89 9819 * editfns.c (find_field): Formatting changes.
52283633 9820 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9821 changed to prototypes, some new protypes added, some functions
9822 made static.
9823
9824 * lisp.h (set_time_zone_rule): Add prototype.
9825 (use_dialog_box): External declaration.
9826
0bbfdc25
GM
9827 * keyboard.c (gen_help_event): Add parameter SIZE.
9828 (kbd_buffer_events_waiting): Slightly rewritten.
9829 (clear_event): New function.
9830 (kbd_buffer_get_event): Use it, and clear the input_events of
9831 HELP_EVENTs.
9832 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9833 don't fill the newly created array with nils.
9834 (toplevel): Convert some old-style function forward declarations
9835 to prototypes.
9836
9837 * keyboard.h (gen_help_event): Change prototype.
9838
9839 * xterm.c (XTread_socket): Change calls to gen_help_event.
9840
9841 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9842
6917e6bb
GM
9843 * eval.c (Fmacroexpand): Doc fix.
9844
e5cd3d11
JR
98452000-08-20 Jason Rumney <jasonr@gnu.org>
9846
9847 * w32term.h (x_display_info_for_display): Remove as this function
9848 does not exist on W32.
9849
9850 * w32term.c (help_echo_window): New variable.
9851 (syms_of_w32term): staticpro it.
9852 (note_mode_line_highlight): Set it.
9853 (XTextExtents16): Removed as there is no equivalent on W32.
9854 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9855 the X way of doing this will not work for W32.
9856 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9857 (x_draw_image_foreground): Avoid drawing outside of the clip area
9858 when image doesn't have a mask.
9859 (note_mouse_highlight): Process overlays in the right order of
9860 priority. Set help_echo_window.
9861 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9862 because that's more visible for large images.
9863
9864 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9865 name to single_keymap_panes.
9866 (w32_menu_show): Set wv->title when dealing with titles.
9867 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9868
6e69ab8c
MB
98692000-08-21 Miles Bader <miles@gnu.org>
9870
9871 * minibuf.c (do_completion): Try again if we rewrite the input
9872 string, but no completion was done, so that any completion message
9873 will be correct.
9874
511bd4eb
GM
98752000-08-20 Gerd Moellmann <gerd@gnu.org>
9876
9877 * xfaces.c (lface_equal_p): Compare strings differently.
9878 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9879 (realize_tty_face): Use them.
9880 (syms_of_xfaces): Initialize new variables.
9881 (map_tty_color): New function, extracted from realize_tty_face.
9882 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9883 foreground or background color, store the new color name in the
9884 realized face; previous code trying to do this had no effect.
9885 (realize_tty_face): Use map_tty_color.
9886 (Fclear_face_cache): Set face_change_count and ensure thorough
9887 redisplay.
9888
1433385f
GM
98892000-08-19 Gerd Moellmann <gerd@gnu.org>
9890
511bd4eb
GM
9891 * undo.c (record_first_change, record_marker_adjustment): Don't
9892 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9893
419ac0a2
KH
98942000-08-18 Kenichi Handa <handa@etl.go.jp>
9895
9896 * coding.c (decode_coding_string): Set members consumed,
9897 consumed_char, produced, produced_char of *coding correctly. If
9898 decode_coding doesn't consume any byte, don't try anymore.
9899 (encode_coding_string): Likewise.
9900
7eb9e30d
GM
99012000-08-18 Gerd Moellmann <gerd@gnu.org>
9902
511bd4eb
GM
9903 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9904 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9905
9906 * xdisp.c (redisplay_internal): Compare windows for equality with
9907 EQ, instead of applying XWINDOW to something that might not
9908 be a window.
52283633 9909
dd34a735
KH
99102000-08-18 Kenichi Handa <handa@etl.go.jp>
9911
9912 * fontset.c (Finternal_char_font): Search only the selected frame
9913 for a window of the current buffer.
9914
385ff9e3
GM
99152000-08-18 Gerd Moellmann <gerd@gnu.org>
9916
511bd4eb 9917 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9918 Lisp_Objects.
9919
385ff9e3
GM
9920 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9921 second half of a HELP_EVENT is found at the start of kbd_buffer.
9922
d6abb4c7
MB
99232000-08-18 Miles Bader <miles@gnu.org>
9924
4618074a
MB
9925 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9926
d6abb4c7
MB
9927 * editfns.c (save_restriction_save): Rewrite to use markers.
9928 (save_restriction_restore): Rewrite to understand new form of data
9929 saved by save_restriction_save.
9930 (Fsave_restriction): Remove cautionary note in doc-string.
9931
a7b28523
GM
99322000-08-17 Gerd Moellmann <gerd@gnu.org>
9933
9934 * fileio.c (build_annotations): Add a comment explaining the
9935 return value of format-annotate-function. Replace a spurious call
9936 to Flength with a CONSP test. Call format-annotate-function with
9937 a fifth arg specifying how many times the function is been called
9938 in a row, to let it choose temporary buffers appropriately.
9939
03c9ed77
DL
99402000-08-17 Dave Love <fx@gnu.org>
9941
9942 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9943 declare make_temp_name twice.
9944
52283633 9945 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9946 (unreadpure): Give it an arg.
9947
9948 * unexalpha.c: Prototype fatal_unexec, mark_x,
9949 update_dynamic_symbols. Declare unexec as void.
9950
9951 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9952 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9953
9954 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9955 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9956
9957 * alloca.c: Use #error.
9958 [POINTER_TYPE]: Use it.
9959
9960 * eval.c (Fdefvar): Doc fix.
9961
9962 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9963 INITIALIZE_INTERVAL.
9964
9965 * buffer.h: Avoid DECLARE_INTERVALS.
9966
9967 * config.in: Add size_t.
9968
aae41d97
EZ
99692000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9970
9971 * w16select.c (set_clipboard_data): If there's not enough memory
9972 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9973 expects. In case of other failures, return 3.
9974 (system_error_msg): New error message.
9975 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9976 system_error_msg.
9977
65aa5e85
GM
99782000-08-16 Gerd Moellmann <gerd@gnu.org>
9979
9980 * term.c (write_glyphs): Also turn off inverse video after turning
9981 off other appearances in case TS_exit_attribute_mode is not equal
9982 to TS_end_standout_mode.
9983 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9984 with the same face.
9985 (turn_off_face): Reset standout_mode only if
9986 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9987 is equal to TS_end_standout_mode.
9988
ece23901
KH
99892000-08-16 Kenichi Handa <handa@etl.go.jp>
9990
9d7bcb2e
KH
9991 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9992 sequence at the end of the source block.
9993
ece23901
KH
9994 * ccl.c (Fccl_program_p): Docstring modified.
9995 (Fccl_execute): Likewise.
9996 (Fccl_execute_on_string): Likewise.
9997
5e30eaa2
EZ
99982000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9999
10000 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
10001
290602fd
KH
100022000-08-16 Kenichi Handa <handa@etl.go.jp>
10003
10004 The following changes are mainly to fix bugs of
10005 encode/decode-coding-string failing if encoding/decoding return
10006 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
10007 variable conversion_buffer.
10008
10009 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
10010 decrement dst_end to avoid buffer overflow in the later call of
10011 string_as_multibyte
10012
10013 * coding.h (conversion_buffer_size, conversion_buffer)
10014 (get_conversion_buffer): Extern deleted.
10015
10016 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
10017 (conversion_buffer, conversion_buffer_size): Variables deleted.
10018 (get_conversion_buffer): Function deleted.
10019 (struct conversion_buffer): New structure.
10020 (MAX_ALLOCA): New macro.
10021 (allocate_conversion_buffer): New macro.
10022 (extend_conversion_buffer, free_conversion_buffer): New functions.
10023 (ccl_coding_driver): Set coding->result.
10024 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
10025 this is the last block of source.
10026 (encode_coding): Likewise. Handle the source block as the last
10027 one only when the whole source text is consumed.
10028 (decode_coding_string): Handle the case that the output buffer is
10029 too small to decode the whole source text. Use
10030 allocate_conversion_buffer, extend_conversion_buffer and
10031 free_conversion_buffer, not get_conversion_buffer.
10032 (encode_coding_string): Likewise.
10033 (init_coding): Function deleted.
52283633 10034 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
10035
10036 * emacs.c (main): Don't call init_coding.
10037
52283633 10038 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
10039
10040 * term.c (write_glyphs): Use a locally declared conversion_buffer.
10041 (insert_glyphs): Likewise.
10042
10043 * w32console.c (write_glyphs): Use a locally declared
10044 conversion_buffer.
10045
b9f80d41
EZ
100462000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
10047
10048 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
10049 member of display_info is NULL.
10050
32dc52f7
GM
100512000-08-15 Gerd Moellmann <gerd@gnu.org>
10052
52283633 10053 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 10054
32dc52f7 10055 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 10056 appearances with capability `me'.
32dc52f7
GM
10057 (write_glyphs): Switch on inverse video before each face change.
10058
4eb22d33
DL
100592000-08-14 Dave Love <fx@gnu.org>
10060
10061 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10062 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10063 (lisp_free): Declare and make static.
10064
10065 * window.c: Fix embedded comment.
10066 (syms_of_window): Fix doc string.
10067
90cbf47e
GM
100682000-08-14 Gerd Moellmann <gerd@gnu.org>
10069
52283633 10070 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
10071 make sure to print `C-' before `M-', like in the manual.
10072
440fc135
GM
100732000-08-11 Gerd Moellmann <gerd@gnu.org>
10074
10075 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10076 since they aren't relocated anymore.
52283633 10077 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10078
10079 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10080 partially visible line which is smaller than the window's height.
440fc135 10081
6e264fad
KH
100822000-08-11 Kenichi Handa <handa@etl.go.jp>
10083
10084 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10085 the multibyte form of eight-bit-control characters.
6e264fad
KH
10086 (Fccl_execute_on_string): Initialize ccl->multibyte.
10087
10088 * ccl.h (struct ccl_program): New member multibyte.
10089
10090 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10091
c371f69a
KH
100922000-08-11 Kenichi Handa <handa@etl.go.jp>
10093
10094 * regex.c (regex_compile) <normal_char>: Pay attention to
10095 multibyteness.
10096 (analyse_first) <exactn>: Setup fastmap correctly for
10097 eight-bit-control characters.
10098
100992000-08-11 Kenichi Handa <handa@etl.go.jp>
10100
52283633 10101 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10102
10103 * keyboard.c (make_lispy_event): Handle the new event type
10104 multibyte_char_keystroke.
10105
10106 * xterm.c: Include coding.h.
10107 (XTread_socket): Work around a bug of XmbLookupString. If the
10108 input is from XIM, decode it according to the current locale. In
10109 that case, generate multibyte_char_keystroke events.
10110
b8ddbe71
KH
101112000-08-11 Kenichi Handa <handa@etl.go.jp>
10112
10113 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10114 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10115
47589c8c
GM
101162000-08-10 Gerd Moellmann <gerd@gnu.org>
10117
10118 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10119 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10120 (move_it_in_display_line_to): Record iterator's ascent and descent
10121 before producing glyphs, and restore them when we know the glyph
10122 doesn't fit on the line.
10123 (move_it_to): Restructured so that it's easier to debug. If
10124 moving to a vpos, and not moving to an x or character position,
10125 stop as soon as the specified vpos is reached; don't move further
10126 into that line because that might change the computed line height.
10127 (try_cursor_movement): New function, extracted from the cursor
10128 movement branch of redisplay_window. If ending on a partially
10129 visible line, don't try to scroll if the cursor line is taller
10130 than the window.
10131 (redisplay_window): Use try_cursor_movement.
10132
10133 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10134 because that function doesn't cope with variable-height lines.
10135
10136 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10137 box cursor because that's better visible for large images.
52283633 10138
c51bacd6
MB
101392000-08-10 Miles Bader <miles@gnu.org>
10140
10141 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10142
bea56df7
GM
101432000-08-10 Gerd Moellmann <gerd@gnu.org>
10144
10145 * xdisp.c (Vmessages_buffer_name): New variable.
10146 (message_dolog): Use it.
10147 (syms_of_xdisp): Initialize it.
10148
99cd7364
EZ
101492000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10150
52283633 10151 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10152 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10153 redundant now that keyboard.h is included.
10154
7d093d56
EZ
101552000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10156
10157 * keyboard.c (kbd_buffer_events_waiting): New function.
10158
10159 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10160
10161 * msdos.c: Include keyboard.h.
10162 (XMenuActivate): Empty no_event events from the event buffer. If
10163 no events are left after that, call clear_input_pending.
10164 (mouse_clear_clicks): New function, code moved from mouse_init.
10165 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10166 mouse driver to ``forget'' any past clicks.
10167
10168 * Makefile.in (msdos.o): Depend on keyboard.h.
10169
41e757a6
GM
101702000-08-09 Gerd Moellmann <gerd@gnu.org>
10171
8e7bd231
GM
10172 * lisp.h (input_pending): External declaration.
10173
10174 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10175
8e7bd231
GM
10176 * xdisp.c (echo_area_display): Display thoroughly if input is
10177 pending. Bind redisplay-dont-pause to t during the redisplay.
10178 in case input is pending.
10179
10180 * dispnew.c (Qredisplay_dont_pause): New variable.
10181 (syms_of_display): Initialize and staticpro it.
10182 (update_frame_1): Don't interrupt the display for pending input if
10183 redisplay_dont_pause is set.
52283633 10184
43028b7e
GM
10185 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10186
41e757a6
GM
10187 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10188
2f2174fa
KH
101892000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10190
10191 * callproc.c (Fcall_process): Terminate the unwind-protect around
10192 the post-read-conversion of coding system.
10193
0a6fd67e
MB
10194 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10195 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10196 * buffer.h (overlays_at): Update prototype.
10197 * xdisp.c (next_overlay_change): Update call to overlays_at.
10198 * xfaces.c (face_at_buffer_position): Likewise.
10199 * textprop.c (Fget_char_property): Likewise.
10200 * xterm.c (note_mouse_highlight): Likewise.
10201
0c80756e
MB
10202 * minibuf.c (do_completion): Don't consider a simple change of
10203 case as `completion'.
10204
975f250a
KR
102052000-08-08 Ken Raeburn <raeburn@gnu.org>
10206
52283633 10207 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10208 * undo.c (record_delete): Make sure last_point_position_buffer is
10209 a buffer before comparing pointers.
10210
10211 * coding.h (decode_coding_string): Declare.
10212
10213 * intervals.h (Fprevious_single_char_property_change): Declare.
10214
10215 * textprop.c (Fprevious_single_char_property_change): Don't do
10216 arithmetic directly on lisp objects.
10217
52283633 10218 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10219
10220 * keyboard.h (menu_item_eval_property): Declare.
10221
10222 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10223 reuse as buffer name, instead of recreating (and discarding) every
10224 time a message is logged.
10225 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10226 (current_message_1, truncate_message_1, set_message_1)
10227 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10228 (current_message, truncate_echo_area, display_echo_area)
10229 (resize_echo_area_axactly): Changed calls.
b347b3fd 10230
975f250a 10231 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10232 Lisp object.
975f250a 10233 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10234 must be an integer, not a Lisp object.
975f250a 10235
46dc9912
KH
102362000-08-08 Kenichi Handa <handa@etl.go.jp>
10237
10238 * charset.c (Fchar_width): Doc fix.
10239
9f6d1a6c
GM
102402000-08-08 Gerd Moellmann <gerd@gnu.org>
10241
10242 * charset.c (Fstring_width): Doc fix.
10243
ff3d9573
GM
102442000-08-07 Gerd Moellmann <gerd@gnu.org>
10245
41e757a6 10246 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10247 line, clear ascent and descent members of the iterator structure;
10248 the height of the continued line does not affect the height of the
10249 continuation line.
10250 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10251 line taller than the window.
10252 (redisplay_window) <forced window start>: Handle case that the
10253 middle of the window is not found in any row.
10254 (dump_glyph_row): Show more information.
10255 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10256 first text line in a glyph matrix.
10257
10258 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10259 of the clip area when image doesn't have a mask.
10260
70fc58b3
GM
10261 * fns.c (sweep_weak_table): Fix survival conditions for
10262 key-or-value and key-and-value weakness.
10263
10264 * .gdbinit (xhashtable): New command.
10265
ac0e96ee
GM
10266 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10267 tables out of the list of all weak hash tables.
10268
ff3d9573
GM
10269 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10270 a new buffer is created, make sure echo_area_buffer[] references
10271 the new buffer.
10272
e0d8827b
EZ
102732000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10274
10275 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10276 the doc string.
10277
c6f35378
KH
102782000-08-07 Kenichi Handa <handa@etl.go.jp>
10279
10280 * syntax.c (skip_chars): Fix previous change. Make the handling
10281 of unibyte string consistent with that of regex search.
10282
1fd4c450
GM
102832000-08-05 Gerd Moellmann <gerd@gnu.org>
10284
e49aa397
GM
10285 * xmenu.c (popup_get_selection): Use xfree instead of free.
10286
10287 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10288
10289 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10290
10291 * callproc.c (child_setup): Use xfree instead of free.
10292
10293 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10294 instead of malloc.
10295 (run_mac_command, closedir): Use `xfree' instead of `free'.
10296
10297 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10298
10299 * eval.c (error): Use xfree instead of free.
10300
1fd4c450
GM
10301 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10302
10303 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10304 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10305
82d497fc
KH
103062000-08-05 Kenichi Handa <handa@etl.go.jp>
10307
10308 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10309 conversion.
10310
59f953a2
NF
103112000-08-04 Noah Friedman <friedman@splode.com>
10312
10313 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10314 docstring.
10315
688351f2
GM
103162000-08-04 Gerd Moellmann <gerd@gnu.org>
10317
10318 * syntax.c (skip_chars): Fix typo in error message.
10319
2dad51cc
AS
103202000-08-04 Andreas Schwab <schwab@suse.de>
10321
10322 * m/ia64.h: Moved from s/ia64.h.
10323
99bb2c60
KH
103242000-08-04 Kenichi Handa <handa@etl.go.jp>
10325
082a1df2
KH
10326 * process.c (read_process_output): Big simplification. Handle
10327 composition and post-read-conversion of coding system correctly.
10328 (send_process): Handle composition correctly.
10329
10330 * callproc.c (Fcall_process): Handle post-read-conversion of
10331 coding system if any.
10332
99bb2c60
KH
10333 * coding.c (decode_coding_iso2022): More strict check for handling
10334 single shifting.
082a1df2
KH
10335 (coding_restore_composition): Pay attention to the case that
10336 cmp_data is not set properly (because of invalid code in the
10337 source text).
10338 (run_pre_post_conversion_on_str): Include text properties in the
10339 resulting string.
10340 (decode_coding_string): Set members of coding correctly.
99bb2c60 10341
f4988be7
GM
103422000-08-03 Gerd Moellmann <gerd@gnu.org>
10343
10344 * s/ia64.h: New file.
10345
10346 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10347 Use NULL instead of 0 at the end of variable argument list of
10348 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10349 sizeof (int) < sizeof (void *).
10350
10351 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10352 of variable argument lists of XtVaGetValues and XtVaSetValues.
10353
10354 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10355 variable argument lists of XtVaGetValues and XtVaSetValues.
10356
ead53494
GM
103572000-08-02 Gerd Moellmann <gerd@gnu.org>
10358
10359 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10360 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10361
10362 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10363 prototype.
10364
10365 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10366 in call to Fsingle_key_description.
10367
10368 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10369 Callers changed.
10370
103712000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10372
10373 * window.c (display_buffer_reuse_frames): New variable.
10374 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10375 frames displaying BUFFER.
52283633 10376 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10377
10b0f752
MB
103782000-08-01 Miles Bader <miles@gnu.org>
10379
10380 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10381 when to constrain NEW_POS (they were pretty screwed up before).
10382
16425c4a
EZ
103832000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10384
10385 * msdos.c (run_msdos_command): Save and restore the master
10386 environment, for the case that child_setup signals an error.
10387 When mirroring slashes in DOS shell commands, don't fail when
10388 argv[2] has embedded blanks.
da288c14
EZ
10389 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10390 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10391 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10392
10393 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10394 using alloca; free it after run_msdos_command returns.
10395
27f73852
DL
103962000-07-27 Dave Love <fx@gnu.org>
10397
52283633
SM
10398 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10399 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10400
10401 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10402
c0261b5e
EZ
104032000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10404
10405 * editfns.c (lisp_time_argument): Fix last change.
10406
b548072f
GM
104072000-07-27 Gerd Moellmann <gerd@gnu.org>
10408
3ab82477
GM
10409 * fns.c (Fdelete): Make it work on vectors and strings in addition
10410 to lists.
10411
b548072f
GM
10412 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10413 (syms_of_fns): Initialize new variables.
52283633 10414 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10415 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10416 weakness, with t meaning the same as `key-and-value'.
10417
91ae8751
KH
104182000-07-27 Kenichi Handa <handa@etl.go.jp>
10419
10420 * coding.h (struct coding_system): Member safe_charset deleted.
10421
10422 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10423 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10424 New variables.
91ae8751
KH
10425 (coding_safe_chars): New function.
10426 (CODING_SAFE_CHAR_P): New macro.
10427 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10428 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10429 (detect_coding_iso2022): New local variable safe_chars.
10430 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10431 safe_charsets member of the coding system.
10432 (decode_coding_iso2022): New local variable safe_chars.
10433 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10434 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10435 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10436 (ENCODE_UNSAFE_CHARACTER): New macro.
10437 (encode_coding_iso2022): New local variable safe_chars. Check
10438 unsafe chars.
10439 (setup_coding_system): Delete the code to initialize
10440 coding->safe_charses
10441 (intersection, find_safe_codings): New functions.
10442 (Ffind_coding_systems_region_internal): New function.
10443 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10444 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10445 variable and initialize it.
10446
10447 * fns.c (char_table_ref_and_index): New function.
10448
10449 * lisp.h (char_table_ref_and_index): Add prototype.
10450
34a7a267
SS
104512000-07-26 Sam Steingold <sds@gnu.org>
10452
10453 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10454 (Ffloat_time): New built-in Lisp function.
34a7a267 10455
a95cb10a
GM
104562000-07-26 Gerd Moellmann <gerd@gnu.org>
10457
3353ef5a
GM
10458 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10459 for the character code.
10460
10461 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10462 GNU/Linux.
10463
a95cb10a
GM
10464 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10465 if called for a popup menu.
10466 (xmenu_show): Store help string in widget values.
10467
b4a12321
DL
104682000-07-26 Dave Love <fx@gnu.org>
10469
10470 * syswait.h: Move some definitions.
10471 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10472 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10473 perspicuous definitions.
10474 (WTERMSIG): Fix bit pattern used.
10475
13f5ad37
KH
104762000-07-26 Kenichi Handa <handa@etl.go.jp>
10477
10478 * print.c (print_object): If vector printing is truncated, print
10479 "..." to indicate it as well as the case of list printing.
10480
070fe99c
GM
104812000-07-25 Gerd Moellmann <gerd@gnu.org>
10482
969065c3
GM
10483 * xdisp.c (next_element_from_display_vector): Improve comments.
10484
10485 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10486 for the character code, and the rest for the face id as in 20.x.
10487 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10488
10489 * window.c (window_display_table): Cleaned up.
10490
070fe99c
GM
10491 * syntax.c (Fforward_word): Add last arg nil in call of
10492 Fconstrain_to_field.
10493
bad77ef7
EZ
104942000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10495
969065c3 10496 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10497 identical but for the letter-case, don't call
10498 barf_or_query_if_file_exists.
bad77ef7 10499
c28da489
MB
105002000-07-25 Miles Bader <miles@gnu.org>
10501
10502 * editfns.c (find_field): Honor special `boundary' fields.
10503 (Qboundary): New variables.
10504 (syms_of_editfns): Initialize Qboundary.
10505 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10506 Use scan_buffer instead of find_before_next_newline, because it
10507 allows us to detect the boundary case where there's a newline at
10508 the search limit.
10509 * lisp.h (Fconstrain_to_field): Update external declaration.
10510
e3c31fd5
GM
105112000-07-24 Gerd Moellmann <gerd@gnu.org>
10512
10513 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10514 if that is nil.
c28da489 10515
c66c29a2
DL
105162000-07-24 Dave Love <fx@gnu.org>
10517
10518 * s/sunos4-0.h, s/sol2.h:
10519 (LIBS_TERMCAP): Move from m/sparc.h.
10520
10521 * m/sparc.h (TERMINFO): Moved to system files (probably only
10522 relevant for sunos4 judging by its vintage).
10523 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10524 __arch64__.
10525
fbe0a958
EZ
105262000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10527
10528 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10529 name to single_keymap_panes.
10530
7d88e5c9
AS
105312000-07-24 Andreas Schwab <schwab@suse.de>
10532
10533 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10534
e024b101
GM
105352000-07-24 Gerd Moellmann <gerd@gnu.org>
10536
10537 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10538 parameters instead of using int parameters. Expect FN to accept
10539 EMACS_INT parameters.
10540 (display_echo_area, resize_echo_area_axactly, current_message)
10541 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10542 with new argument list.
10543 (resize_mini_window_1): New callback function.
10544 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10545 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10546
25c1a9ce
KH
105472000-07-24 Kenichi Handa <handa@etl.go.jp>
10548
10549 * fontset.c (fontset_ref): Remove INLINE declaration.
10550 (fontset_ref_via_base): Likewise.
10551 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10552 to downcase.
10553
7f987ac0
EZ
105542000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10555
10556 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10557 correct order of priority. If help echo was found in an overlay,
10558 use that overlay as the object in which the help echo was found.
10559
e2db3069
MB
105602000-07-22 Miles Bader <miles@gnu.org>
10561
10562 * textprop.c (Fprevious_single_char_property_change): The initial
10563 property value should be from the position preceding POSITION, not
10564 following it.
10565
5e3203e4
EZ
105662000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10567
10568 * coding.c (syms_of_coding): Doc fix for
10569 inhibit-iso-escape-detection.
10570
62145073
GM
105712000-07-21 Gerd Moellmann <gerd@gnu.org>
10572
c20aeb83
GM
10573 * xterm.c (note_mouse_highlight): Process overlays in the right
10574 order of priority.
34a7a267 10575
743934db
GM
10576 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10577
10578 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10579 overlay, use that overlay as the object in which the help was found.
743934db 10580
d1dc7e43 10581 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10582
62145073
GM
10583 * window.c (foreach_window): Instead of a fake variable argument
10584 list, take one USER_DATA argument.
10585 (foreach_window_1): Likewise, and call callback functions with two
10586 args, the window and USER_DATA.
10587 (struct check_window_data): New struct.
10588 (check_window_containing): Use it.
10589 (window_from_coordinates): Set up a struct check_window_data for
10590 foreach_window.
10591 (add_window_to_list, freeze_window_start): Change parameters
10592 according to new calling convention.
10593
10594 * window.h (foreach_window): Change prototype.
10595
10596 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10597
105982000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10599
10600 * xmenu.c (menu_help_callback): Call show_help_echo with
10601 additional arguments OBJECT and POS.
10602
11270583
KH
106032000-07-21 Kenichi Handa <handa@etl.go.jp>
10604
07b14857
KH
10605 * data.c (Faset): Allow storing any multibyte character in a
10606 string. Convert unibyte string to multibyte if necessary.
10607
11270583
KH
10608 * xfns.c (x_encode_text): New function.
10609 (x_set_name): Use x_encode_text.
10610 (x_set_title): Likewise.
10611
10612 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10613
10614 * xterm.h (x_encode_text): Add prototype.
10615
bc75b4fd
DL
106162000-07-20 Dave Love <fx@gnu.org>
10617
10618 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10619 xfree, not free.
10620
48c14970
EZ
106212000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10622
10623 * msdos.c (help_echo_window): New variable.
10624 (syms_of_msdos): Initialize and staticpro it.
10625 (IT_note_mode_line_highlight): Set help_echo_window.
10626 (IT_note_mouse_highlight): Ditto.
10627 (dos_rawgetc): Store help_echo_window in the second event produced
10628 for HELP_EVENTs.
10629
10630 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10631 Record the object that generated the help echo and the position of
10632 that object in help_echo_object and help_echo_pos. Record that
10633 some glyphs in a row are displayed in mouse-face.
10634 (IT_update_begin): Don't clear mouse highlight unless one of the
10635 enabled glyph rows is marked as being displayed in mouse-face.
10636 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10637 and position recorded in help_echo_object and help_echo_pos to the
10638 event queue.
10639 (IT_menu_display): Accept a new argument PN: the pane number of
10640 the current menu pane. Record the pane number and the item
10641 number of the item which has associated help string.
10642 (XMenuActivate): Update the prototype for help_callback in
10643 function declaration. Call IT_menu_display with the current menu
10644 pane number as an additional argument. Call help_callback with
10645 two additional arguments: the pane number and the item number of
10646 the menu item associated with the help text.
10647 (help_echo_object, help_echo_pos): New variables.
10648 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10649
10650 * msdos.h (XMenuActivate): Update prototype.
10651
4279296d
GM
106522000-07-19 Gerd Moellmann <gerd@gnu.org>
10653
47db06aa
GM
10654 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10655 Add some more prototypes.
10656
10657 * xterm.c, xterm.h: Add some more prototypes.
10658
10659 * lisp.h (Fnext_single_char_property_change): Add prototype.
10660
10661 * dispnew.c (direct_output_for_insert): Remove confusing
10662 outer local variable mouse_face_overwritten_p.
10663 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10664
4279296d
GM
10665 * alloc.c (allocate_string_data): Don't copy old string contents.
10666
670acd62
KH
106672000-07-19 Kenichi Handa <handa@etl.go.jp>
10668
10669 * coding.c (code_convert_region): Delete text properties before
10670 shrinking the conversion region.
10671
7cea38bc
GM
106722000-07-18 Gerd Moellmann <gerd@gnu.org>
10673
dc1cac59
GM
10674 * dispnew.c (update_text_area): Write the whole row if it
10675 has mouse-face in it.
10676
85a8aca9
GM
10677 * xfaces.c (face-alternative-font-family-alist): Remove
10678 DEFVAR_LISP; staticpro instead.
10679
34a7a267 10680 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10681 new arguments.
10682
10683 * keyboard.c (show_help_echo): Add parameter WINDOW.
10684 (read_char): Call show_help_echo with window extracted from Lisp
10685 help event.
10686 (gen_help_event): Add parameter WINDOW.
10687
10688 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10689
10690 * xterm.c (help_echo_window): New variable.
52283633 10691 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10692 (XTread_socket): Pass help_echo_window to gen_help_event.
10693 (syms_of_xterm): Initialize and staticpro help_echo_window.
10694
f8276b77
DL
106952000-07-18 Dave Love <fx@gnu.org>
10696
52283633 10697 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10698
088831a6
GM
106992000-07-18 Gerd Moellmann <gerd@gnu.org>
10700
3d6cd763
GM
10701 * alloc.c (allocate_string_data): If string had already data
10702 assigned, copy old contents to new string data.
10703
10704 * coding.c (syms_of_coding): Fix typo in spelling of variable
10705 `inhibit-iso-escape-detection'.
10706
088831a6
GM
10707 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10708
10709 * Makefile.in: Add dependencies on dispextern.h.
10710 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10711 `free'; both can conflict with system header files.
10712
bc8a8d55
KH
107132000-07-18 Kenichi Handa <handa@etl.go.jp>
10714
10715 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10716 undefined.
10717
069f5950
DL
107182000-07-18 Dave Love <fx@gnu.org>
10719
10720 * window.c (Fwindow_list): Declare arg `window'.
10721
aa96c820
KH
107222000-07-18 Kenichi Handa <handa@etl.go.jp>
10723
10724 * coding.c (setup_coding_system): Don't override the explicitly
10725 specified designations.
10726
06be8d32
MB
107272000-07-15 Miles Bader <miles@gnu.org>
10728
10729 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10730 from `text_property_eq' and `text_property_stickiness', respectively.
10731 (find_field, Fconstrain_to_field, char_property_eq)
10732 (char_property_stickiness): Changed to call char-property functions
10733 instead of text-property-only ones.
10734
10735 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10736 `next_single_char_property_change'). Do more error checking, and
10737 cleanup limit behavior.
10738 (Fprevious_single_char_property_change): New function.
10739 (syms_of_textprop): Initialize new subrs.
10740
10741 * xdisp.c (display_prop_end, invisible_text_between_p):
10742 Call Fnext_single_char_property_change instead of
10743 next_single_char_property_change.
10744
3fddcdc3
JR
107452000-07-15 Jason Rumney <jasonr@gnu.org>
10746
10747 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10748 after menu is finished with.
10749 (add_menu_item): Only consider wv->title as a menu title.
10750 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10751
10752 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10753 null title.
10754 (FONT_REGEXP): Remove unused macro, and its sub-components.
10755 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10756
10757 * w32term.c (help_echo_object, help_echo_pos): New variables.
10758 (note_mode_line_highlight): Store additional information about the
10759 help-echo in help_echo_object and help_echo_pos. Check both
10760 `local-map' and `keymap' properties for changing the cursor
10761 (note_mouse_highlight): Store additional information about the
10762 help-echo in help_echo_object and help_echo_pos.
10763 (note_tool_bar_highlight): Set help_echo_object to nil and
10764 help_echo_pos to -1.
10765 (w32_read_socket): Use gen_help_event instead of filling
10766 input_events manually.
10767 (syms_of_w32term): Staticpro help_echo_object.
10768 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10769 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10770 (x_clear_mouse_face): New function.
10771 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10772 (x_update_window_begin): No need to turn off the mouse
10773 highlight here.
10774 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10775 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10776 (x_fill_stretch_glyph_string): Consume runs of stretch
10777 glyphs instead of a single one.
10778 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10779 with new argument list.
10780 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10781 (x_append_glyph, x_append_composite_glyph)
10782 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10783 changes in struct glyph starting 1999-12-27. See comments for
10784 xterm.c on 2000-07-05.
10785
178c5d9c
SS
107862000-07-14 Sam Steingold <sds@gnu.org>
10787
10788 * xfaces.c (realize_x_face): Fix the last patch:
10789 check `default_face' before dereferencing.
10790
6fe533f6
DL
107912000-07-14 Dave Love <fx@gnu.org>
10792
069f5950 10793 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10794
dd7b81cf
KH
107952000-07-14 Kenichi Handa <handa@etl.go.jp>
10796
0693904a 10797 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10798 default_face's fontset, not using the default fontset.
0693904a 10799
dd7b81cf
KH
10800 * coding.c (inhibit_iso_escape_detection): New variable.
10801 (syms_of_coding): Make it a Lisp variable.
10802 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10803 nonzero, ignore ISO2022's escape sequence.
10804
d5aa31d8
GM
108052000-07-14 Gerd Moellmann <gerd@gnu.org>
10806
e5acf0ca
GM
10807 * alloca.c (malloc) [emacs]: Define as xmalloc.
10808
bd23a692
GM
10809 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10810 use that instead of the mouse position. Add parameters DX and DY.
10811
10812 * dispextern.h (Fx_show_tip): Adjust number of parameters
10813 in prototype.
10814
9662da0b
GM
10815 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10816 if HELP is a function, call it with OBJECT and POS as parameters
10817 to get the help to display.
10818 (gen_help_event, kbd_buffer_store_help_event): New functions.
10819 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10820 (read_char): Call show_help_echo with new parameters.
10821
178c5d9c 10822 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10823 Add prototypes.
10824
10825 * xterm.c (help_echo_object, help_echo_pos): New variables.
10826 (note_mode_line_highlight): Store additional information about the
10827 help-echo in help_echo_object and help_echo_pos. Check both
10828 `local-map' and `keymap' properties for changing the cursor
10829 (note_mouse_highlight): Store additional information about the
10830 help-echo in help_echo_object and help_echo_pos.
10831 (note_tool_bar_highlight): Set help_echo_object to nil and
10832 help_echo_pos to -1.
10833 (XTread_socket): Use gen_help_event instead of filling
10834 input_events manually.
10835 (syms_of_xterm): Staticpro help_echo_object.
10836
10837 * xmenu.c (menu_highlight_callback): Use
10838 kbd_buffer_store_help_event instead of setting up and input_event
10839 structure manually.
10840
10841 * xdisp.c (eval_form): GCPRO argument sexpr.
10842 (call_function): New function.
10843 (handle_single_display_prop): Use call_function and FUNCTIONP
10844 instead of checking whether if font_height is a symbol and
10845 using eval_form.
10846
10847 * eval.c (internal_condition_case_2): New function.
10848
10849 * lisp.h (FUNCTIONP): New macro.
10850 (internal_condition_case_2, call_function): Add prototypes.
10851
d5aa31d8
GM
10852 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10853 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10854 Always set `arg' member of input_events.
10855 (construct_menu_click): Unused function removed.
10856
10857 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10858
10859 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10860 (construct_drag_n_drop, x_scroll_bar_handle_click)
10861 (w32_read_socket): Always set `arg' member of input_events.
10862
10863 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10864
10865 * lisp.h (eval_form): Add prototype.
10866
10867 * xdisp.c (eval_form): Make it externally visible.
10868
0f1a9b23
GM
108692000-07-13 Gerd Moellmann <gerd@gnu.org>
10870
10871 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10872 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10873 consing. For prefix events, store the frame in the `arg' slot of
10874 the event, otherwise store the key there.
10875 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10876 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10877
10878 * xmenu.c (menu_highlight_callback): Store help string in the
10879 `arg' member of the input event; don't cons.
10880 (menubar_selection_callback): Use the `arg' slot of input events
10881 to queue additional information, instead of consing.
10882
10883 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10884
10885 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10886 TOOL_BAR_EVENTs.
10887 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10888
10889 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10890 input events to queue additional information, instead of consing.
10891
10892 * keyboard.c (kbd_buffer_gcpro): Renamed from
10893 kbd_buffer_frame_or_window. Now used for all Lisp objects
10894 referenced from the input queue.
10895 (kbd_buffer_store_event): Always use structure assignment for
10896 copying input events. Record all Lisp objects referenced from
10897 events in kbd_buffer_gcpro.
10898 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10899 differently from input events. Test for prefix menu_bar_events
10900 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10901 event in kbd_buffer_gcpro to nil.
10902 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10903 frame_or_window is equal to its arg member as prefix events.
10904 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10905 used by an input event to nil.
10906 (init_keyboard): Use two times the size of the input queue
10907 for kbd_buffer_gcpro.
10908 (syms_of_keyboard): Likewise.
10909
52283633
SM
10910 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10911 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10912
10913 * termhooks.h (struct input_event): Add member `arg'.
10914 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10915 (USER_SIGNAL_EVENT): Renamed from user_signal.
10916
10917 * xfaces.c (ASET): Remove definition.
10918
10919 * lisp.h (AREF, ASET, ASIZE): New macros.
10920
10921 * fontset.c (AREF, ASIZE): Remove definitions.
10922
10923 * fns.c (AREF): Remove definition.
178c5d9c 10924
0f1a9b23
GM
10925 * composite.c (AREF): Remove definition.
10926
712eaef2
GM
109272000-07-12 Gerd Moellmann <gerd@gnu.org>
10928
d8ee7803
GM
10929 * dispnew.c (redraw_overlapped_rows): Add missing local.
10930 (scrolling_window): Remove debug code.
10931
712eaef2
GM
10932 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10933 Before scrolling, turn off a mouse-highlight in the window
10934 being scrolled.
10935
10936 * xterm.c (x_update_window_end): Add parameter
10937 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10938 redisplay in XTframe_up_to_date.
10939 (x_clear_mouse_face): New function.
10940 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10941
10942 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10943 current glyph row.
10944 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10945 it when any row is written to that contains glyphs highlighted in
10946 mouse-face.
10947 (update_window): Call the window update end hook with new
10948 parameter MOUSE_FACE_OVERWRITTEN_P.
10949 (direct_output_for_insert): Give up if row contains mouse-face.
10950
10951 * dispextern.h (struct redisplay_interface): Add parameter
10952 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10953 (clear_mouse_face): New function pointer member.
10954
02010917
SM
109552000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10956
10957 * syntax.c (back_comment): Use one switch rather than a few `if's.
10958 Obey open_paren_in_column_0_is_defun_start.
10959 When reverting to the `slow' method, try to nicely handle the case
10960 of nested comments by checking that the comment-starter we found
10961 does indeed match the comment-ender.
10962 (scan_sexps_forward, scan_sexps_forward):
10963 Ignore excessive opening parenthesis rather than throwing an error.
10964
d76c03ea
GM
109652000-07-11 Gerd Moellmann <gerd@gnu.org>
10966
10967 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10968 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10969
10970 * dispnew.c (direct_output_forward_char): Give up if currently
10971 displaying a message instead of the minibuffer contents.
10972
10973 * xterm.c (x_update_window_begin): No need to turn off the mouse
10974 highlight here.
10975 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10976 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10977
10978 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10979 compare the mouse_face_p flags of both rows.
10980
10981 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10982
d55ead18
EZ
109832000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10984
10985 * keyboard.c (show_help_echo): Accept additional parameter
10986 ok_to_overwrite_keystroke_echo.
10987 (read_char): Call show_help_echo with a zero
10988 ok_to_overwrite_keystroke_echo argument.
52283633 10989 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10990 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10991 ok_to_overwrite_keystroke_echo argument.
10992 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10993 non-zero ok_to_overwrite_keystroke_echo argument.
10994
df75b1a3
GM
109952000-07-10 Gerd Moellmann <gerd@gnu.org>
10996
4b92c49a
GM
10997 * xdisp.c (try_window_id): If changes are all below what is
10998 displayed in the window, and point is in the window, we still
10999 might have to find point on the display.
11000
11001 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
11002 glyphs instead of a single one.
11003 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
11004 with new argument list.
11005 (x_set_glyph_string_gc): Make sure the face's GC is valid.
11006
df75b1a3
GM
11007 * keymap.c (get_keymap_1): Add comment that this function can GC.
11008 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
11009 comment that functions can GC.
11010 (Fset_keymap_parent): GCPRO arg KEYMAP.
11011
4314cf3e
EZ
110122000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
11013
11014 * msdos.c (XMenuActivate): After exiting the menu, restore the
11015 echo area message and erase it.
11016
ab49ce15
KH
110172000-07-10 Kenichi Handa <handa@etl.go.jp>
11018
11019 * fontset.c (Ffontset_info): Make the return value more compatible
11020 with that of Emacs 20.
11021
090a072f
GM
110222000-07-07 Gerd Moellmann <gerd@gnu.org>
11023
11024 * eval.c (Fsignal): Handle case that backtrace_list is null.
11025
f92de4a6
KH
110262000-07-07 Kenichi Handa <handa@etl.go.jp>
11027
11028 * ccl.c (Fccl_execute): Typo fixed.
11029
dd8888a1
GM
110302000-07-06 Gerd Moellmann <gerd@gnu.org>
11031
e5c81191 11032 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 11033
dd8888a1
GM
11034 * window.c (Fwindow_list): Reverse list at the end.
11035 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
11036 means allow windows on OWINDOW's frame, only.
11037 (window_loop): Simplified; use Fwindow_list.
11038
11039 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
11040
485266d0
GM
110412000-07-05 Gerd Moellmann <gerd@gnu.org>
11042
11043 * xterm.c (XTread_socket): Increment handling_signal at the start,
11044 decrement it at the end.
11045
11046 * eval.c (handling_signal): New variable.
11047 (Fsignal): Abort if handling_signal is non-zero.
11048
11049 * lisp.h (handling_signal): External declaration.
178c5d9c 11050
485266d0
GM
11051 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
11052
80fcd514
KR
110532000-07-05 Ken Raeburn <raeburn@gnu.org>
11054
11055 Sound support for NetBSD through "Linux emulation" support:
11056 * config.in (HAVE_SOUNDCARD_H): Undef.
11057 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11058 * Makefile.in (LIBSOUND): New variable.
11059 (LIBES): Include it.
52283633
SM
11060 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11061 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
11062 (vox_open): Use DEFAULT_SOUND_DEVICE.
11063 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11064
d5c5cddd
GM
110652000-07-05 Gerd Moellmann <gerd@gnu.org>
11066
11067 * print.c (print_error_message): If Vsignaling_function is set,
11068 show it in *Messages*.
11069
11070 * lisp.h (Vsignaling_function): External declaration.
11071
11072 * eval.c (Vsignaling_function): New variable.
11073 (Fsignal): Compute it.
11074 (syms_of_eval): Staticpro it.
11075
65171e3a
DL
110762000-07-05 Dave Love <fx@gnu.org>
11077
11078 * syswait.h: Use the autoconf recommended approach. Old code
11079 #if'd out in case we need to revert.
11080
178c5d9c 11081 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11082
e2c46326
AI
110832000-07-05 Andrew Innes <andrewi@gnu.org>
11084
11085 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11086 when non-NULL instead of __morecore, to take account of buffer
11087 memory. This also solves a problem with spurious memory warnings
11088 on Windows.
11089
11090 * ralloc.c: Make real_morecore non-static.
11091
11092 * eval.c (internal_condition_case): Comment out abort if
11093 interrupt_input_blocked is not zero.
11094
11095 * makefile.nt: Add support for `bootstrap' and related targets.
11096 Include minimal debug info in emacs.exe in release build.
11097 Remove all dependencies on lisp.h, and fixup some others.
11098
11099 * w32.c (init_environment): Install code from 20.7 for providing
11100 default values for environment variables, based on the
11101 executable's own location.
52283633 11102 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11103 (sys_socket): Install socket inheritance bug fix from 20.7.
11104
11105 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11106 here via blockinput.h).
11107
a027a91b
SM
111082000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11109
e4b31601
SM
11110 * w32menu.c (w32_menu_display_help):
11111 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11112
11113 * keyboard.h (show_help_echo): Declare.
11114
11115 * keyboard.c (show_help_echo): New function, extracted from read_char.
11116 Feval its `msg' argument if it's a cons cell.
11117 (read_char): Use it.
4cf8d9d5 11118 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11119
178c5d9c 11120 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11121 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11122 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11123 (dos_rawgetc):
11124 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11125 (note_tool_bar_highlight, w32_read_socket):
11126 Do not gratuitously ignore non-string `help-echo' properties.
11127
88d75730
GM
111282000-07-05 Gerd Moellmann <gerd@gnu.org>
11129
969f7e79
GM
11130 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11131
71201b00
GM
11132 * window.c (delete_all_subwindows): Reset Vwindow_list.
11133
88d75730
GM
11134 * xterm.c (x_append_glyph, x_append_composite_glyph)
11135 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11136 changes in struct glyph starting 1999-12-27. Some bit-fields of
11137 struct glyph were not set, which made glyphs unequal when compared
11138 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11139 effects were the result. This also depended on the contents of
11140 memory returned by xmalloc. If flickering happens again, activate
11141 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11142 gone with that, chances are that it is caused by something similar.
88d75730
GM
11143
11144 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11145
88d75730
GM
11146 * dispextern.h: Add some comments.
11147
11148 * window.c (add_window_to_list): Add parameter LIST.
11149 (window_list): Order list so that, for each frame, windows are
11150 in canonical order, and so that frames appear in the list in
11151 the order given by Vframe_list.
11152 (next_window): Reverse the handling of NEXT_P.
11153
53654733
GM
111542000-07-04 Gerd Moellmann <gerd@gnu.org>
11155
87efd256
GM
11156 * window.c (Vwindow_list): New variable.
11157 (make_window, delete_window): Set Vwindow_list to nil.
11158 (check_window_containing): New function.
11159 (window_from_coordinates): Rewritten.
11160 (add_window_to_list, window_list, candidate_window_p)
11161 (decode_next_window_args, next_window): New functions.
52283633 11162 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11163 (Fwindow_list): New function.
11164 (Fother_window): Cleaned up.
11165 (foreach_window): Add a longer "variable argument list". Let
11166 callback function return 0 to indicate that cycling over windows
11167 should stop.
11168 (foreach_window_1): Likewise.
11169 (freeze_window_start): Return int.
11170 (init_window): New function.
11171 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11172
11173 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11174 input_event with bzero.
11175 (main): Call init_window.
11176
53654733
GM
11177 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11178 a menu filter.
11179
4a8c194f
KH
111802000-07-04 Kenichi Handa <handa@etl.go.jp>
11181
11182 * composite.h (make_composition_value_copy): Extern it.
11183
11184 * composite.c (make_composition_value_copy): New function.
11185
11186 * editfns.c (Fformat): While copying text properties, make each
11187 composition property value a copy.
11188
11189 * fns.c (concat): While copying text properties, make each
11190 composition property value a copy.
11191
831a6cb0
GM
111922000-07-03 Gerd Moellmann <gerd@gnu.org>
11193
2f516940
GM
11194 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11195
178c5d9c 11196 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11197 marked already.
11198
831a6cb0
GM
11199 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11200 include those frames as candidates which have their focus
11201 redirected to the minibuffer frame.
11202
d9c4f922
SM
112032000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11204
11205 * fns.c (Fputhash): Return `value' rather than nil.
11206
3780bc22
GM
112072000-06-30 Gerd Moellmann <gerd@gnu.org>
11208
97d176db
GM
11209 * frame.c (next_frame): Don't check focus redirection in case
11210 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11211 unless their focus is redirected, which contradicts the
11212 specification of next-frame, and leads to infinite loops in
11213 certain situations when cycling through windows with next-window.
11214
dca9961d
KH
112152000-06-30 Kenichi Handa <handa@etl.go.jp>
11216
11217 * coding.c (code_convert_region): Even if the length of text is
11218 zero, try to convert it if coding->type is coding_type_ccl.
11219 (decode_coding_string, encode_coding_string): Likewise.
11220
d5483ab1
GM
112212000-06-28 Gerd Moellmann <gerd@gnu.org>
11222
af5c25e1 11223 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11224 the display if windows_or_buffers_changed.
af5c25e1
GM
11225
11226 * dispnew.c (struct row_entry): New structure.
11227 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11228 (row_table_size, old_lines, new_lines, old_lines_size)
11229 (new_lines_size, run_pool, runs_size, runs): New variables.
11230 (add_row_entry): New function.
11231 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11232 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11233 holding them in local variables. Use a larger hash table whose
11234 size depends on glyph matrix sizes. Don't use bzero to clear the
11235 hash table; instead, clear used slots only.
11236
11237 * fns.c (next_almost_prime): Make it externally visible.
11238
11239 * lisp.h (next_almost_prime): Add prototype.
11240
d5483ab1
GM
11241 * s/isc4-0.h (sigunblock): Define.
11242
11243 * s/sco5.h (sigunblock): Define.
11244
93e40f40
DL
112452000-06-27 Dave Love <fx@gnu.org>
11246
11247 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11248 (moved to osf5-0.h).
11249 [!NOT_C_CODE]: Protect string.h stuff.
11250
11251 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11252 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11253
3c4b7685
GM
112542000-06-27 Gerd Moellmann <gerd@gnu.org>
11255
97d176db 11256 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11257 below the last line from the needed window height.
11258
32cad0aa
SM
112592000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11260
11261 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11262 (Fwidget_get): Use it.
11263 (syms_of_fns): Defsubr it.
11264
2c69ced2
GM
112652000-06-26 Gerd Moellmann <gerd@gnu.org>
11266
178c5d9c 11267 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11268 display info for XIM.
11269 (xim_open_dpy): Likewise.
11270 (xim_close_dpy): Don't free the display info's XIM.
11271
11272 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11273
11274 * config.in (USE_XIM): New define.
11275
3fc720e4
GM
11276 * keymap.c (get_keyelt): For menu-items containing a `:filter
11277 FILTER', apply FILTER to the menu-item's definition to get the
11278 real definition to use.
11279
11280 * lisp.h (QCfilter): External declaration.
11281
2c69ced2
GM
11282 * xfns.c (Fimage_size): New function.
11283 (syms_of_xfns): Defsubr it.
11284
f978b2a2
AS
112852000-06-26 Andreas Schwab <schwab@suse.de>
11286
11287 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11288 Fstring_as_unibyte.
11289
94cc7892
DL
112902000-06-25 Dave Love <fx@gnu.org>
11291
52283633 11292 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11293
11294 * Makefile.in (blockinput.h): Depend on atimer.h.
11295 (atimer.h): Depend on systime.h.
11296
52283633 11297 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11298
52283633 11299 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11300
11301 * lisp.h (swap_in_global_binding): Declare.
11302
b8c24556
KR
113032000-06-24 Ken Raeburn <raeburn@gnu.org>
11304
11305 * process.c (Fopen_network_stream): Turn off atimers for duration
11306 of call to connect. (Patch from Gerd.)
11307
8cf8560b
DL
113082000-06-23 Dave Love <fx@gnu.org>
11309
511c7541
DL
11310 * ralloc.c: Maybe include unistd.h
11311
8cf8560b
DL
11312 * emacs.c (setgrp): Undefine before defining.
11313 (malloc_warning, set_time_zone_rule, index): Prototype.
11314
11315 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11316 HAVE_STRUCT_TIMEZONE.
11317
11318 * s/osf1.h: Move string.h hack here from alpha.h and make it
11319 conditional.
11320 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11321 _XOPEN_SOURCE.
11322 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11323 (SOCKLEN_TYPE): Don't define.
11324
11325 * m/alpha.h: Remove string.h hack.
11326
11327 * s/osf5-0.h: New file.
11328
11329 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11330 include time.h, done by systime.h.
11331 [__FreeBSD__]: Remove redundant includes.
11332
3fc720e4 11333 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11334 (delete_temp_file): Return Qnil to avoid warning.
11335
11336 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11337
11338 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11339 HAVE_X_WINDOWS.
11340
11341 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11342
11343 * composite.h (compose_text): Declare.
11344
11345 * xterm.c: Don't include sys/types.h unconditionally. Don't
11346 protect its inclusion with !USG (following xmenu.c).
11347
ea055732
GM
113482000-06-23 Gerd Moellmann <gerd@gnu.org>
11349
11350 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11351 in x_create_frame.
11352
74b01b80
EZ
113532000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11354
11355 * coding.c (decode_eol_post_ccl): Special handling for undecided
11356 and inconsistent EOL types.
11357
64f3a166
GM
113582000-06-22 Gerd Moellmann <gerd@gnu.org>
11359
16cf31f7
GM
11360 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11361 trough color and main window's background color.
11362
52283633 11363 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11364
11365 * xterm.h (Xt_app_con): External declaration.
11366
11367 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11368
486a103d
GM
11369 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11370
64f3a166
GM
11371 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11372 (handle_invisible_prop): Record the start of invisible text in
11373 it->add_overlay_start.
11374 (struct overlay_entry): Add member `overlay'.
11375 (handle_overlay_change): Simplify.
11376 (next_overlay_string): After having processed overlay strings at the
11377 end of the buffer, record that fact in
11378 it->overlay_strings_at_end_processed_p.
11379 (compare_overlay_entries): If before- and after-strings come
11380 from the same overlay, let before-strings come first.
11381 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11382 (load_overlay_strings): Take it->add_overlay_start into account
11383 when adding overlay strings.
11384
11385 * dispextern.h (struct it): Add member add_overlay_start.
11386
bb746ea6
DL
113872000-06-22 Dave Love <fx@gnu.org>
11388
11389 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11390
11391 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11392
a8f573f3
KH
113932000-06-22 Kenichi Handa <handa@etl.go.jp>
11394
11395 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11396 is greater than 0.
11397
9f2bbc92
DL
113982000-06-21 Dave Love <fx@gnu.org>
11399
178c5d9c 11400 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11401
3ee5041c
SM
114022000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11403
11404 * syntax.c (back_comment): Simplify string-parity counting (with
11405 the added benefit of handling multiple string-styles as long as
11406 they are not intertwined).
11407 Jump to the slow code as soon as a comment starter is found in
11408 a "string_lossage" position. Fixes the case: " /* " /* " */.
11409
4c343001
DL
114102000-06-21 Dave Love <fx@gnu.org>
11411
11412 * Makefile.in: Use GETLOADAVG_LIBS.
11413
11414 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11415 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11416
e6365855
SM
114172000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11418
11419 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11420 (Fforward_comment, scan_lists):
11421 Check the comstyle of single-char comment-starters.
11422 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11423 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11424 Check the comstyle of single-char comment-starters.
11425 Clarify control-flow around the Scomment case.
e6365855 11426
5700d2cc
DL
114272000-06-20 Dave Love <fx@gnu.org>
11428
d355bd8a
SM
11429 * fns.c (make_hash_table, maybe_resize_hash_table):
11430 Cast arg of next_almost_prime.
5700d2cc 11431
178c5d9c 11432 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11433
11434 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11435 and unistd.h.
11436
4a27bdfb
GM
114372000-06-20 Gerd Moellmann <gerd@gnu.org>
11438
a61d762c 11439 * keyboard.c (adjust_point_for_property): Check if display
52283633 11440 property should be treated as intangible by looking at its value.
a61d762c 11441
178c5d9c 11442 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11443 (display_prop_intangible_p): New functions.
11444
11445 * dispextern.h (display_prop_intangible_p): Add prototype.
11446
11447 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11448
4a27bdfb
GM
11449 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11450 argument to sigprocmask.
11451
11452 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11453 argument to sigprocmask.
11454
11455 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11456 sigprocmask_set, and pass a pointer to it to sigprocmask.
11457
11458 * sysdep.c (sigprocmask_set): New variable.
11459
11460 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11461 report_file_error.
11462
427ec082
SS
114632000-06-20 Sam Steingold <sds@gnu.org>
11464
11465 * xrdb.c: Don't declare xmalloc, xrealloc.
11466
8972fe79 114672000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11468
11469 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11470 (re_comp): Cast gettext return value to avoid complaints when
11471 !HAVE_LIBINTL.
11472
074b6efe
DL
114732000-06-20 Dave Love <fx@gnu.org>
11474
52283633 11475 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11476
5700d2cc 11477 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11478
d355bd8a 11479 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11480
11481 * m/alpha.h: Don't declare xmalloc, xrealloc.
11482
0af4f205
DL
11483 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11484
11485 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11486
11487 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11488
11489 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11490 HAVE_GETWD.
11491
074b6efe
DL
11492 * keyboard.h (poll_for_input_1): Declare.
11493
11494 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11495
11496 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11497
11498 * doprnt.c: Don't declare xmalloc, xrealloc.
11499
11500 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11501 (getenv, ctime, getwd): Removed.
11502 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11503
11504 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11505 x_set_tool_bar_lines.
11506
11507 * config.in: Add HAVE_GETWD. Move some definitions above
11508 machine/system includes.
11509
68a5e97b
KH
115102000-06-20 Kenichi Handa <handa@etl.go.jp>
11511
95417e1e
KH
11512 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11513
68a5e97b
KH
11514 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11515 contain information about ENCODING.
11516
11517 * fontset.c (FONTSET_ASCII): Use the first element of char table
11518 for an ASCII font, not defalt slot.
11519 (fontset_ref_via_base): If FONTSET doesn't contain information for
11520 C, try the default fontset.
11521 (make_fontset): Don't copy the default fontset.
11522 (fontset_font_pattern): Likewise.
11523 (accumulate_font_info): If ELT is nil, use the corresponding
11524 element in the default fontset.
11525
3b4fa1b2
DL
115262000-06-19 Dave Love <fx@gnu.org>
11527
943e731c
DL
11528 * syntax.c (Fparse_partial_sexp): Doc fix.
11529
11530 * regex.h: Test PROTOTYPES as well as __STDC__.
11531
3b4fa1b2
DL
11532 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11533 errno, strerror. Put text after #endif in comment.
11534
52283633 11535 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11536
11537 * xterm.c (x_frame_of_widget): Likewise.
11538
cdf0357b
GM
115392000-06-19 Gerd Moellmann <gerd@gnu.org>
11540
11541 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11542 to Vfundamental_mode_abbrev_table.
11543
11544 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11545 bogus objects are marked. This slows down GC by ~80 percent, but
11546 it might be worth trying when debugging GC-related problems.
11547 This feature requires conservative stack marking to be enabled.
11548
11549 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11550 returns XLookupChars, reset `modifiers' to zero.
11551
998e9f8c
DL
115522000-06-19 Dave Love <fx@gnu.org>
11553
11554 * mktime.c: Unprotoized.
11555
18e21ce8 115562000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11557
11558 * data.c (set_internal): If variable is frame-local,
11559 store the new value immediately into the frame parameter alist.
11560
140c4ac6
KR
115612000-06-19 Ken Raeburn <raeburn@gnu.org>
11562
14358466
KR
11563 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11564 in the custom handler pointer.
11565
140c4ac6
KR
11566 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11567 value, or checks for CHAR_META can fail when Lisp_Object is a
11568 union type.
11569 * keymap.c (get_keyelt): Likewise.
11570
10d7bf84
KH
115712000-06-19 Kenichi Handa <handa@etl.go.jp>
11572
11573 * ccl.h (struct ccl_program): New member eol_type.
11574 (struct ccl_spec): New member cr_carryover.
11575
11576 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11577 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11578
11579 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11580 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11581 (decode_eol_post_ccl): New function.
11582 (decode_coding): Don't detect EOL format here for CCL based coding
11583 systems.
11584 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11585 decode_eol_post_ccl after running the CCL program.
11586 (code_convert_region): Don't detect EOL format here for CCL based
11587 coding systems.
11588 (decode_coding_string): Likewise.
11589
52e386c2
KR
115902000-06-18 Ken Raeburn <raeburn@gnu.org>
11591
11592 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11593 when treating it as an integer.
11594
11595 * coding.h (encode_coding_string): Declare.
11596
11597 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11598 it as an integer.
11599
11600 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11601 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11602 to be passed to get_local_map.
11603
11604 * sound.c (Fplay_sound): Don't call make_number on
11605 Frun_hook_with_args count argument.
11606
11607 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11608 for lisp objects in X event structure data field, when lisp
11609 objects are represented with unions.
11610 (x_scroll_bar_to_input_event): Ditto.
11611
b357b9d4
KR
116122000-06-16 Ken Raeburn <raeburn@gnu.org>
11613
11614 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11615 termination of string. Fix sense of test whether
11616 Vline_number_display_limit is an integer.
b357b9d4 11617
a871441d
GM
116182000-06-16 Gerd Moellmann <gerd@gnu.org>
11619
a9021acd
GM
11620 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11621 only if HAVE_X_WINDOWS.
11622
6344985d
GM
11623 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11624 of titles.
11625
427ec082 11626 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11627 out of bounds.
11628
228b083e
EZ
116292000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11630
11631 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11632 of its headers.
11633
c25b53a2
KH
116342000-06-15 Kenichi Handa <handa@etl.go.jp>
11635
11636 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11637 start of the while loop.
11638
a6981b11
GM
116392000-06-15 Gerd Moellmann <gerd@gnu.org>
11640
e9924e52
GM
11641 * atimer.c (alarm_signal_handler): Add forward declaration.
11642
a6981b11
GM
11643 * data.c (set_internal): Remove debug code.
11644
25fa6deb
GM
116452000-06-14 Gerd Moellmann <gerd@gnu.org>
11646
dce6b995
GM
11647 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11648
9f817ea4
GM
11649 * unexec.c (toplevel) [COFF]: Include coff.h.
11650
11651 * s/lynxos.h: New file.
11652
11653 * keymap.c (Fsingle_key_description): Enclose function key and
11654 event symbol names in angle brackets.
11655
8a4e3c0c
GM
11656 * xdisp.c (setup_echo_area_for_printing): Call
11657 message_log_maybe_newline if message_buf_print is not set.
11658
11659 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11660 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11661 function does something useful even when message_buf_print is
11662 already set.
11663
52283633
SM
11664 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11665 New variables.
25fa6deb
GM
11666 (ensure_echo_area_buffers): Initialize echo buffer's
11667 truncate lines setting to nil.
11668 (with_echo_area_buffer): Don't set the echo buffer's truncate
11669 lines setting here.
8a4e3c0c 11670 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11671 of message_truncate_lines.
11672 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11673 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11674 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11675
11676 * keyboard.c (read_char): Bind message-truncate-lines to t
11677 while displaying a help-echo.
11678
11679 * lisp.h (Qmessage_truncate_lines): External declaration.
11680
163dcff3
GM
116812000-06-13 Gerd Moellmann <gerd@gnu.org>
11682
1681ead6
GM
11683 * xdisp.c (Vline_number_display_limit): Renamed from
11684 line_number_display_limit.
11685 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11686 Extend documentation string. Initialize
11687 Vline_number_display_limit to nil meaning no limit.
11688 (decode_mode_spec): Use Vline_number_display_limit with its new
11689 meaning.
11690
163dcff3
GM
11691 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11692
18e21ce8 116932000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11694
11695 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11696
163dcff3
GM
11697 * xfns.c (x_set_frame_parameters): Comment fix.
11698
11699 * frame.c (store_frame_param): Call swap_in_global_binding if the
11700 variable's current binding was chosen based on this frame.
11701
11702 * data.c (swap_in_global_binding): New function.
11703
a704139d
EZ
117042000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11705
11706 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11707 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11708
9b6610db
EZ
117092000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11710
11711 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11712
c68833d2
JR
117132000-06-12 Jason Rumney <jasonr@gnu.org>
11714
11715 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11716
11717 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11718
11719 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11720
11721 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11722
ed1056b3
GM
117232000-06-12 Gerd Moellmann <gerd@gnu.org>
11724
11725 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11726 (syms_of_xfaces): Defsubr Sdump_colors.
11727 (x_free_colors): Don't treat b&w specially on default visual.
11728 (x_free_dpy_colors): New function.
11729 (free_face_colors): Don't check visual class; it's done
11730 in x_free_colors.
11731
11732 * xterm.c (x_frame_of_widget): New function.
11733 (x_alloc_nearest_color_for_widget): Use it.
11734 (x_copy_dpy_color): New function.
11735 (x_destroy_window): Free various colors.
11736
5050a2ef
KH
117372000-06-12 Kenichi Handa <handa@etl.go.jp>
11738
11739 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11740
11741 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11742
11743 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11744
11745 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11746
11747 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11748
fb1b041d
DL
117492000-06-11 Dave Love <fx@gnu.org>
11750
11751 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11752
ff96b5f4
EZ
117532000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11754
11755 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11756
db8eeecd
GM
117572000-06-11 Gerd Moellmann <gerd@gnu.org>
11758
ed1056b3 11759 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11760 to `XEvent *'.
11761
49b71c5f
KH
117622000-06-10 Kenichi Handa <handa@etl.go.jp>
11763
c479bd55
KH
11764 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11765 (regex_compile): Fix the code for handling the case of single byte
11766 char and multibyte char being mixed in a range within [...].
11767
ff6a65c2
KH
11768 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11769 and dst_multibyte members of coding.
11770
49b71c5f
KH
11771 * charset.c (update_charset_table): Update the table
11772 bytes_by_char_head.
11773 (init_charset_once): Initialize elements of bytes_by_char_head to
11774 1 except for leading codes for private charases.
11775
11776 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11777 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11778
9e80b57d
KR
117792000-06-09 Ken Raeburn <raeburn@gnu.org>
11780
11781 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11782 access the data it doesn't point to.
11783
f83fe4b4
GM
117842000-06-08 Gerd Moellmann <gerd@gnu.org>
11785
11786 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11787 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11788 event queue. This is necessary because Emacs otherwise won't
11789 perform a switch-frame to a new frame until some other event, for
11790 example a keystroke event, forces it to do so. This has various
11791 effects, one visible being that the cursor of a frame created with
11792 C-x 5 2 or switched to with a window manager key binding like
11793 A-TAB stays hollow because selected_window isn't on the newly
11794 focused frame until the switch-frame is performed.
11795
11796 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11797 generating a switch-frame event if necessary.
11798
11799 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11800
11801 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11802 it's an integer.
11803
0890801b
KH
118042000-06-08 Kenichi Handa <handa@etl.go.jp>
11805
52283633 11806 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11807
173cbca8
GM
118082000-06-07 Gerd Moellmann <gerd@gnu.org>
11809
3091c2a6
GM
11810 * window.c (displayed_window_lines): Take empty lines at
11811 the bottom of a window into account.
427ec082 11812
f38952fe
GM
11813 * window.c (displayed_window_lines): New function.
11814 (Fmove_to_window_line): Use displayed_window_lines to determine
11815 the number of lines to move, instead of using the window's height.
11816
11817 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11818 to stop reading, even if the form read sets point to a different
11819 value when evaluated.
11820
427ec082 11821 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11822 put the cursor.
11823
6ba6c818
KH
118242000-06-07 Kenichi Handa <handa@etl.go.jp>
11825
11826 * fileio.c (e_write): Free composition data if stored in
11827 coding->cmp_data.
11828
5f1aea9a
GM
118292000-06-06 Gerd Moellmann <gerd@gnu.org>
11830
666852af
GM
11831 * xdisp.c (display_line): Set row's and iterator's
11832 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11833 Set cursor even if row ends in the middle of a character.
11834 (dump_glyph_row): Print values of new flags.
11835 (redisplay_window) <cursor movement in unchanged window>: When
11836 point has been moved forward, and PT is at the end of the cursor
11837 row, don't place the cursor in the next row if the cursor row ends
11838 in the middle of a character or at ZV.
11839
11840 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11841 (struct glyph_row): Add starts_in_middle_of_char_p and
11842 ends_in_middle_of_char_p.
11843 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11844 ends_in_middle_of_char_p flag.
11845 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11846
d13f3e2e
GM
11847 * term.c (append_glyph): Revert change of 2000-06-06.
11848
11849 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11850 padding glyph not fitting on line as whole character not
11851 fitting on line.
11852
5f1aea9a
GM
11853 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11854 this isn't true for images with `:ascent 100'.
11855
10cda9b0
KH
118562000-06-06 Kenichi Handa <handa@etl.go.jp>
11857
ed00559d
KH
11858 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11859 as modified if it is originally unmodified.
11860
10cda9b0
KH
11861 * term.c (encode_terminal_code): Change the way to check if
11862 terminal coding does any conversion.
11863 (append_glyph): Set glyph->pixel_width correctly.
11864
11865 * xdisp.c (display_line): While checking line continuation, pay
11866 attention to a padding glyph.
11867
1969fae2
GM
118682000-06-05 Gerd Moellmann <gerd@gnu.org>
11869
11870 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11871
162ccef4
DL
118722000-06-05 Dave Love <fx@gnu.org>
11873
f19f32dd
DL
11874 * xdisp.c: Include fontset.h.
11875
11876 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11877
11878 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11879
11880 * dispnew.c: Conditionally include term.h.
11881
11882 * coding.h: Declare code_convert_string_norecord.
11883
11884 * frame.h (struct frame): Use volatile unconditionally.
11885
11886 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11887
11888 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11889
11890 * systime.h: Protect against multiple inclusion.
11891 (timezone) [USG5_4]: Define as time_t.
11892
11893 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11894 (Foptimize_char_table, make_temp_name): Declare.
11895
11896 * Makefile.in (xdisp.o): Depend on fontset.h.
11897
11898 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11899
11900 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11901 (Foptimize_char_table, make_temp_name): Declare.
11902
427ec082 11903 * s/irix4-0.h:
162ccef4
DL
11904 * s/irix5-0.h:
11905 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11906
2082fe81
DL
119072000-06-02 Dave Love <fx@gnu.org>
11908
11909 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11910
dcf671d2
GM
119112000-06-02 Gerd Moellmann <gerd@gnu.org>
11912
11913 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11914 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11915 be freed.
11916
11917 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11918 glyph, use the ASCII NUL character to determine the face.
11919
d42122a3
DL
119202000-06-02 Dave Love <fx@gnu.org>
11921
11922 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11923 (VFORK_RETURN_TYPE): Remove.
427ec082 11924
d42122a3
DL
11925 * config.in: Add NO_MATHERR.
11926
dd432f16
DL
119272000-06-01 Dave Love <fx@gnu.org>
11928
90aa4ea8
DL
11929 * cmds.c (internal_self_insert): Don't check
11930 Vbefore_change_function, Vafter_change_function.
11931
11932 * insdel.c (signal_before_change, signal_after_change): Likewise.
11933
11934 * buffer.c (Vbefore_change_function, Vafter_change_function):
11935 Variables and their initializations deleted.
11936
2330c9d4
DL
11937 * callint.c (Fcall_interactively): Doc fix.
11938
dd432f16
DL
11939 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11940
bf9e8804
DL
119412000-05-31 Dave Love <fx@gnu.org>
11942
11943 * textprop.c: Revert last change -- duplicated.
11944
3694b4ab
GM
119452000-05-31 Gerd Moellmann <gerd@gnu.org>
11946
11947 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11948 in #if 0.
11949
11950 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11951
f14156cd
JR
119522000-05-31 Jason Rumney <jasonr@gnu.org>
11953
8119aab8
JR
11954 * search.c (Fre_search_forward, Fre_search_backward)
11955 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11956
f14156cd
JR
11957 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11958
4aab9be3
JR
119592000-05-30 Jason Rumney <jasonr@gnu.org>
11960
11961 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11962 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11963
52283633 11964 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11965
11966 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11967 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11968 expand a nil default_filename.
11969
11970 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11971 pointer to glyph_to_pixel_coords, not a frame.
11972
11973 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11974 coding.h to dependencies.
11975
11976 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11977
11978 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11979 window pointer to be consistent with w32term.c and xterm.c.
11980
11981 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11982 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11983 (Qline_spacing, Qcenter): New variables.
11984 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11985 (x_set_line_spacing): New function.
52283633 11986 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11987 (x_specified_cursor_type): New function.
11988 (x_set_cursor_type): Use it.
11989 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11990 and icon strings.
11991 (validate_x_resource_name, x_get_resource_string): Measure lengths
11992 of external strings in bytes.
11993 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11994 GetTextExtentPoint32 with NULL title.
11995 (Fx_create_frame): Initialize Qline_spacing.
11996 (w32_load_system_font): Initialize font->double_byte_p.
11997 (x_to_w32_charset): Use Vw32_charset_info_alist.
11998 (Image, busy cursor, tooltip functions): Merged changes from
11999 xfns.c. Not yet functional on Windows.
12000
12001 * w32gui.h (W32FontStruct): Add double_byte_p member.
12002
12003 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
12004 (emacs_button_translation): Use it.
12005 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
12006 in `mask' to be set.
12007
12008 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
12009 menu strings.
12010
12011 * w32term.c: Format and doc changes to bring closer to xterm.c.
12012 (w32_char_font_type): New enum.
12013 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
12014 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
12015 (w32_encode_char): New function.
12016 (x_encode_char): Removed.
12017 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
12018 x_encode_char and w32_font_is_double_byte.
12019 (x_produce_image_glyph): Use image_ascent.
12020 (x_produce_glyphs): Use new version of w32_per_char_metric and
12021 handle NULL return value. Allow extra line spacing.
12022 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
12023 (w32_get_glyph_overhangs): Remove unicode_p param. Use
12024 w32_font_type member of glyph instead.
12025 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
12026 (fast_find_position): Make sure not to consider rows not visible
12027 in the window.
12028 (w32_read_socket) [WM_MENUSELECT]: Cannot call
12029 w32_menu_display_help with input blocked, as it can abort.
12030 (x_display_and_set_cursor): Choose cursor depending
12031 on buffer-local value of cursor_type.
12032 (x_draw_bar_cursor): Add parameter WIDTH.
12033
12034 * w32term.h (CP_DEFAULT): Define.
12035 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
12036
10fc3187
GM
120372000-05-30 Gerd Moellmann <gerd@gnu.org>
12038
12039 * search.c (Fre_search_forward, Fre_search_backward)
12040 (Fposix_search_backward, Fposix_search_forward): Doc fix.
12041
d0555360
KH
120422000-05-30 Kenichi Handa <handa@etl.go.jp>
12043
12044 * coding.c (detect_coding_iso2022): Fix code for checking
12045 CODING_CATEGORY_MASK_ISO_8_2.
12046
f1ad044f
SM
120472000-05-29 Stefan Monnier <monnier@cs.yale.edu>
12048
12049 * regex.c (PREFETCH_NOLIMIT): New function.
12050 (re_match_2_internal): Use it and adjust the end_match_2 logic.
12051
84ec3b4b
GM
120522000-05-29 Gerd Moellmann <gerd@gnu.org>
12053
66254a13
GM
12054 * syntax.c (find_defun_start): Move test for
12055 open_paren_in_column_0_is_defun_start outside of the loop.
12056
49e70dec
GM
12057 * xdisp.c (redisplay_window): Really switch buffers when
12058 displaying mode lines, and temporarily set selected_frame to the
12059 frame of the window that's redisplayed.
12060
84ec3b4b
GM
12061 * xfaces.c (free_realized_faces): Block/unblock input.
12062 (free_realized_multibyte_face): Ditto.
12063
869a3a14
DL
120642000-05-29 Dave Love <fx@gnu.org>
12065
12066 * textprop.c (Qkeymap): New variable.
12067 (syms_of_textprop): Intern it.
12068
12069 * keymap.c: Include intervals.h.
12070 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12071
12072 * Makefile.in (keymap.o): Depend on intervals.h.
12073
12074 * keyboard.c (menu_bar_items, tool_bar_items)
12075 (Fexecute_extended_command): Deal with `keymap' property.
12076 (read_key_sequence): Track map from `keymap' property as well as
12077 `local_map'.
12078
12079 * intervals.c (get_local_map): Extra arg to allow looking for
12080 `keymap' too.
12081
12082 * intervals.h (map_property): New enum.
12083 (get_local_map): Extra arg using it.
12084 (Qkeymap): Declare.
12085
84ec3b4b 12086 * lisp.h (get_local_map): Don't declare here.
869a3a14 12087
89d0c844
KH
120882000-05-29 Kenichi Handa <handa@etl.go.jp>
12089
12090 * Makefile.in (callproc.o): Depend on composite.h.
12091
12092 * callproc.c: Include composite.h.
12093 (Fcall_process): Handle composition correctly.
12094
12095 * coding.h (coding_allocate_composition_data): Extern it.
12096 (coding_restore_composition): Likewise.
12097
12098 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12099 yet allocated, finish decoding with result
12100 CODING_FINISH_INSUFFICIENT_CMP.
12101 (coding_allocate_composition_data): Make it non-static.
12102 (coding_restore_composition): Likewise.
12103
797a084a
EZ
121042000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12105
12106 * charset.c (syms_of_charset): Revert last change.
12107
cf872af5
EZ
121082000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12109
12110 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12111 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12112 Handa.
cf872af5 12113
5b1ae051
EZ
121142000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12115
12116 * charset.c (syms_of_charset): Set width of character sets
12117 eight-bit-control and eight-bit-graphic to 1 column.
12118
34ec9ebe
GM
121192000-05-26 Gerd Moellmann <gerd@gnu.org>
12120
12121 * config.in (HAVE_SPEED_T): New define.
12122
12123 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12124 `extern speed_t'.
12125
dd854dc2
DL
121262000-05-26 Dave Love <fx@gnu.org>
12127
12128 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12129
12130 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12131 (Fsubr_arity): New function.
12132 (syms_of_data): Install them.
12133
ba9f8f95
KH
121342000-05-26 Kenichi Handa <handa@etl.go.jp>
12135
0f3e0672
KH
12136 * charset.c (init_charset_once): Set the table bytes_by_char_head
12137 correctly.
12138
cebefb44
KH
12139 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12140 the default fontset to what Emacs uses by default.
0f3e0672
KH
12141 (check_registry_encoding): This function deleted.
12142 (Fset_fontset_font): Remove the adhoc condition for the default
12143 fontset. Allow cons in FONTNAME.
cebefb44 12144
0f3e0672
KH
12145 * fns.c (map_char_table): Ignore char-table entries for
12146 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12147
7a18af49
KR
121482000-05-25 Ken Raeburn <raeburn@gnu.org>
12149
12150 * emacs.c (main): Initialize keyboard syms before initializing
12151 window code, so face names are available.
12152
d2af47df
SM
121532000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12154
12155 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12156 of an anchor at the beginning of a shy-group.
12157
fc6a6a4e
GM
121582000-05-25 Gerd Moellmann <gerd@gnu.org>
12159
12160 * xdisp.c (handle_invisible_prop): Don't try to skip over
12161 invisible text if end of text is already reached.
12162
005f0d35
DL
121632000-05-25 Dave Love <fx@gnu.org>
12164
02513cdd
DL
12165 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12166
005f0d35
DL
12167 * coding.c (encode_eol): Add null statement after label.
12168
89f6ca4e
EZ
121692000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12170
12171 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12172 2000-05-20.
12173
a4e1759e
KH
121742000-05-25 Kenichi Handa <handa@etl.go.jp>
12175
12176 * ccl.c (ccl_driver): Fix previous change.
12177
eacfd7fe
KH
121782000-05-25 Kenichi Handa <handa@etl.go.jp>
12179
46ab33a9
KH
12180 * coding.c (run_pre_post_conversion_on_str): Set point to the
12181 beginning of buffer before calling coding->post_read_conversion.
12182 (decode_coding_string): Give correct args to
12183 run_pre_post_conversion_on_str.
12184 (encode_coding_string): Likewise.
12185
eacfd7fe
KH
12186 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12187 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12188 eight-bit-graphic correctly.
12189
f8569325
DL
121902000-05-24 Kenichi HANDA <handa@etl.go.jp>
12191
12192 * fileio.c (Finsert_file_contents): Even if a file is not found,
12193 execute codes for setting up coding system. Call
12194 after-insert-file-functions unconditionally.
12195
04545643
GM
121962000-05-24 Gerd Moellmann <gerd@gnu.org>
12197
12198 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12199 BSD_PGRPS are not defined.
12200
747d90ea
KH
122012000-05-24 Kenichi Handa <handa@etl.go.jp>
12202
12203 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12204 DESCRIPTION.
12205 (syms_of_charset): Avoid building same strings.
12206
716e3b88
GM
122072000-05-23 Gerd Moellmann <gerd@gnu.org>
12208
12209 * lread.c (Fload): Add a comment about the meaning of
12210 Vuser_init_file being t.
12211
12212 * puresize.h (BASE_PURESIZE): Increase to 675000.
12213
12214 * s/gnu-linux.h (setpgrp): Don't define it here because this
12215 prevents compilation on GNU/Linux systems with glib 2.2.
12216
12217 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12218 as setpgid.
427ec082 12219
9aeb39fa
EZ
122202000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12221
12222 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12223 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12224 version.
12225 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12226
29ced61b
KH
122272000-05-23 Kenichi Handa <handa@etl.go.jp>
12228
52283633 12229 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12230
3d80f24d
KH
12231 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12232
52283633 12233 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12234
29ced61b
KH
12235 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12236
d7e00792
KH
122372000-05-22 Kenichi Handa <handa@etl.go.jp>
12238
c9d80d38
KH
12239 * keyboard.c (read_char): Allow character codes 128..255 to be
12240 handled by input-method-function.
12241
d7e00792
KH
12242 * insdel.c (adjust_markers_for_replace): Fix previous change.
12243 (adjust_after_replace): If PREV_TEXT is nil, call
12244 adjust_markers_for_insert, not adjust_markers_for_replace.
12245
087121cc 122462000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12247
087121cc
GM
12248 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12249 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12250 [HAVE_GRANDPT]: Define.
12251 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12252
12253 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12254 like SYSV_PTYS.
12255
12256 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12257
12258 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12259
c9671f81
KH
122602000-05-20 Kenichi Handa <handa@etl.go.jp>
12261
12262 The following changes are to handle 8-bit characters in a
12263 multibyte buffer/string without facing with byte combining
12264 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12265 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12266
12267 * Makefile.in (fns.o): Depend on charset.h.
12268
12269 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12270 convert it to unibyte.
12271 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12272
12273 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12274 apparent char boundary.
12275 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12276 0x80..0x9F to/from multibyte form.
12277
12278 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12279 to unibyte.
12280
12281 * callproc.c (Fcall_process): Always encode an argument string if
12282 it is multibyte. Setup src_multibyte and dst_multibyte members of
12283 process_coding properly.
ce75fd23 12284
c9671f81
KH
12285 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12286 SPLIT_NON_ASCII_CHAR.
12287
12288 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12289 as is.
12290 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12291
52283633 12292 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12293 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12294 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12295 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12296 and eight-bit-graphic.
12297 (char_to_string): Likewise. Signal an error for too large
12298 character code.
12299 (char_printable_p): Return 0 for 8-bit characters.
12300 (update_charset_table): Update iso_charset_table only when a final
12301 character is non-negative.
12302 (find_charset_in_text): Renamed from find_charset_in_str.
12303 Arguments and return value changed. Callers changed.
12304 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12305 be -1 if CHARSET is used only internally.
12306 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12307 eight-bit-graphic.
12308 (Fcharset_after): Simplified.
12309 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12310 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12311 (multibyte_chars_in_text): Simplified by assuming there's no
12312 invalid multibyte sequence.
52283633
SM
12313 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12314 (str_as_unibyte): New functions.
12315 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12316 (init_charset_once): Initialization for
12317 LEADING_CODE_8_BIT_CONTROL.
12318 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12319 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12320 eight-bit-control and eight-bit-graphic.
12321
52283633
SM
12322 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12323 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12324 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12325 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12326 (CHARSET_REVERSE_CHARSET): Likewise.
12327 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12328 eight-bit-graphic.
12329 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12330 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12331 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12332 encounter an invalid multibyte sequence.
12333 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12334 sequence is always valid.
12335 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12336 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12337 (CHAR_STRING): For 8-bit characters, call char_to_string.
12338 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12339 multibyte sequence is always valid.
12340 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12341 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12342 (str_as_unibyte): Extern them.
c9671f81 12343 (BCOPY_SHORT): Fix a bug.
52283633 12344 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12345 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12346 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12347 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12348
bd4bde7f 12349 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12350 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12351 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12352 (EMIT_BYTES): New macros.
12353 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12354 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12355 macros deleted.
12356 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12357 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12358 check the validity of multibyte sequence.
12359 (decode_coding_emacs_mule): New function.
12360 (encode_coding_emacs_mule): New macro.
12361 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12362 the source.
12363 (DECODE_ISO_CHARACTER): Just return a character code.
12364 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12365 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12366 EMIT_CHAR to produced decoded characters. Exit the loop only by
12367 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12368 block here.
12369 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12370 only position codes for an invalid character.
12371 (encode_designation_at_bol): Return new destination pointer. 5th
12372 arg DSTP is changed to DST.
12373 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12374 from the source by ONE_MORE_CHAR. Don't handle the case of last
12375 block here.
12376 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12377 macros deleted.
52283633
SM
12378 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12379 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12380 TWO_MORE_BYTES to fetch a byte from the source.
12381 (encode_eol): Pay attention to coding->src_multibyte.
12382 (detect_coding, detect_eol): Preserve members src_multibyte and
12383 dst_multibyte.
12384 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12385 (encoding_buffer_size): Set magnification to 3 for all coding
12386 systems that require encoding.
12387 (ccl_coding_driver): For decoding, be sure that the result is
12388 valid multibyte sequence.
12389 (decode_coding): Initialize coding->errors and coding->result.
12390 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12391 and raw-text, always call decode_eol. Handle the case of last
12392 block here. If not coding->dst_multibyte, convert the resulting
12393 sequence to unibyte.
12394 (encode_coding): Initialize coding->errors and coding->result.
12395 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12396 and raw-text, always call encode_eol. Handle the case of last
12397 block here.
12398 (shrink_decoding_region, shrink_encoding_region): Detect cases
12399 that we can't skip data more rigidly.
12400 (code_convert_region): Setup src_multibyte and dst_multibyte
12401 members of coding. For decoding, if the buffer is multibyte,
12402 convert the source sequence to unibyte in advance. For encoding,
12403 if the buffer is multibyte, convert the resulting sequence to
12404 multibyte afterward.
12405 (run_pre_post_conversion_on_str): New function.
12406 (code_convert_string): Deleted and divided into the following two.
12407 (decode_coding_string, encode_coding_string): New functions.
12408 (code_convert_string1, code_convert_string_norecord): Call one of
12409 above.
12410 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12411 MAKE_NON_ASCII_CHAR.
52283633
SM
12412 (Fset_terminal_coding_system_internal)
12413 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12414 and dst_multibyte members.
12415 (init_coding_once): Initialize iso_code_class with new enum
12416 ISO_control_0 and ISO_control_1.
12417
12418 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12419 devided into ISO_control_0 and ISO_control_1.
12420 (struct coding_system): New members src_multibyte, dst_multibyte,
12421 errors, and result. Delete member fake_multibyte.
12422 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12423 nonzero.
12424 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12425 nonzero.
12426
12427 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12428 (Faset): Likewise.
12429
12430 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12431 multibyte form.
12432 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12433 combining occurs.
12434 (Ftranspose_region): Delete codes for handling byte combining.
12435
12436 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12437 dst_multibyte members of coding. On handling REPLACE on unibyte
12438 buffer, convert the result of decode_coding to unibyte. On
12439 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12440 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12441 multibyteness of the source (buffer or string).
12442
12443 * fns.c (concat): Handle 8-bit characters correctly.
12444 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12445 unibyte in the result.
12446 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12447 valid multibyte form in the result.
12448 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12449 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12450 return -1, signal an error.
12451 (base64_encode_1): New arg MULTIBYTE. Get each character by
12452 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12453 character is found, return -1.
12454 (Fbase64_decode_region): Delete codes for handling byte-combining.
12455 Treat each decoded byte as a unibyte character.
12456 (Fbase64_decode_string): Return unibyte string.
12457 (Fcompare_strings, concat, string_byte_to_char): Use
12458 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12459 FETCH_STRING_CHAR_ADVANCE.
12460 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12461 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12462
12463 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12464 SPLIT_NON_ASCII_CHAR.
12465 (fontset_ref_via_base, fontset_set): Likewise
12466
12467 * insdel.c (adjust_markers_for_record_delete): Deleted.
12468 (adjust_markers_for_insert): Argument changed. Caller changed.
12469 (adjust_markers_for_replace): Likewise.
52283633
SM
12470 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12471 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12472 (copy_text): Delete unused local varialbe c_save. For converting
12473 to multibyte, be sure to make all 8-bit characters in valid
12474 multibyte form.
12475 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12476 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12477 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12478 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12479 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12480 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12481 handling byte combining.
12482 (adjust_before_replace): Deleted.
427ec082 12483
c9671f81
KH
12484 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12485 SPLIT_NON_ASCII_CHAR.
12486 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12487 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12488 (Fkey_description): Likewise.
12489
12490 * lread.c (read1): On reading multibyte string, be sure to make
12491 all 8-bit chararacters in valid multibyte form.
12492 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12493
12494 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12495 unconditionally.
12496
12497 * process.c (Fstart_process): GCPRO current_dir before calling
12498 Ffind_operation_coding_system. Encode arguments here.
12499 (create_process): Don't encode arguments here. Setup
12500 src_multibyte and dst_multibyte members of struct coding.
12501 (read_process_output): Setup src_multibyte and dst_multibyte
12502 members of struct coding. If the output is to multibyte buffer,
12503 always decode the output of the process. Adjust the
52283633 12504 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12505 (send_process): Setup coding->src_multibyte according to the
12506 multibyteness of the source.
12507
52283633 12508 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12509 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12510 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12511
52283633 12512 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12513
12514 * w16select.c (Fw16_set_clipboard_data): Setup members
12515 src_multibyte and dst_multibyte of coding. Adjusted for the
12516 change for find_charset_in_str.
12517 (Fw16_get_clipboard_data): Likewise.
12518
12519 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12520 dst_multibyte of coding.
12521 (x_to_w32_font): Likewise.
12522
12523 * w32select.c (Fw32_set_clipboard_data): Setup members
12524 src_multibyte and dst_multibyte of coding. Adjusted for the
12525 change for find_charset_in_str.
12526 (Fw32_get_clipboard_data): Likewise.
12527
12528 * xdisp.c (get_next_display_element): Handle 8-bit characters
12529 correctly.
52283633
SM
12530 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12531 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12532
12533 * xselect.c (selection_data_to_lisp_data): Setup members
12534 src_multibyte and dst_multibyte of coding. Adjusted for the
12535 change for find_charset_in_str.
12536 (lisp_data_to_selection_data): Likewise.
12537
5f64c9e0
GM
125382000-05-19 Gerd Moellmann <gerd@gnu.org>
12539
52283633 12540 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12541
5f64c9e0
GM
12542 * dispextern.h (Vimage_types): Add extern declaration.
12543
12544 * xdisp.c (Vimage_types): Moved here from xfns.c.
12545 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12546
12547 * xfns.c (Vimages_types): Moved to xdisp.c.
12548 (syms_of_xfns): Move `image-types' to xdisp.c.
12549
12550 * w32fns.c (Vimage_types): Removed.
12551 (syms_of_w32fns): Remove `image-types'.
12552
813086ea
KH
125532000-05-18 Kenichi Handa <handa@etl.go.jp>
12554
12555 * fns.c (map_char_table): Pay attention to character number of
12556 charset. Check the validity of charset at the first level. For
12557 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12558 the default value.
12559
12560 * fontset.c: Include "buffer.h".
12561 (fs_load_font): If the face has fontset, record the face ID in
12562 that fontset.
12563 (Finternal_char_font): New function.
12564 (accumulate_font_info): New function.
12565 (Ffontset_info): Rewritten for the new fontset implementation.
12566 (syms_of_fontset): Register Vdefault_fontset in the first element
12567 of Vfontset_table. Include Vdefault_fontset in
12568 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12569 function.
12570
bdaebbf0
DL
125712000-05-16 Dave Love <fx@gnu.org>
12572
12573 * m/iris5d.h: Deleted -- unused.
12574
cb613bb8
GM
125752000-05-16 Gerd Moellmann <gerd@gnu.org>
12576
b15f3b77
GM
12577 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12578 `invalid' instead of `illegal'.
12579
12580 * indent.c (Fmove_to_column): When ending within a tab, insert
12581 spaces first so that markers at the end of the tab get adjusted.
12582
835c1b36
GM
12583 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12584 buffer list that wasn't selected in that frame.
12585
cb613bb8
GM
12586 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12587 is needed on mescaline, use a 2 char prefix, and call
12588 make_temp_name with second arg non-zero.
12589
12590 * fileio.c (make_temp_name): New function, extracted from
12591 Fmake_temp_name.
12592 (Fmake_temp_name): Use it.
12593
f685bea9
EZ
125942000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12595
52283633 12596 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12597
a1b8d58b
GM
125982000-05-15 Gerd Moellmann <gerd@gnu.org>
12599
12600 * Makefile.in (lisp): Add env.elc.
12601
12602 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12603
a265079f
GM
126042000-05-12 Gerd Moellmann <gerd@gnu.org>
12605
12606 * search.c (Freplace_match): Handle case of `\N' in the
12607 replacement when there's no group N.
12608
da4496b6
GM
126092000-05-11 Gerd Moellmann <gerd@gnu.org>
12610
0ace421a
GM
12611 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12612 of the message to message_dolog.
12613
1172eb8d
GM
12614 * keyboard.c (read_char): Don't clear current message for help
12615 events; let the code handling help events handle this. Change
12616 code detecting help events that should be ignored.
12617
da4496b6
GM
12618 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12619 we're interating over a string.
12620
0623e40f
DL
126212000-05-09 Dave Love <fx@gnu.org>
12622
12623 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12624 that offset before writing. Move gcpro region past call of
12625 Ffile_regular_p.
12626
bae2503b
DL
126272000-05-04 Dave Love <fx@gnu.org>
12628
12629 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12630
ec82fb2f
GM
126312000-05-04 Gerd Moellmann <gerd@gnu.org>
12632
12633 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12634 of inserted characters when BUF equals the current buffer, and PT
12635 is in front of or equal to FROM.
12636
cbf18892
GM
126372000-05-03 Gerd Moellmann <gerd@gnu.org>
12638
4ff40dd0
GM
12639 * xdisp.c (handle_single_display_prop): If display property value
12640 is invalid, or something not supported on the frame, restore
12641 iterator's position to what it was initially. Make sure to return
12642 0 for invalid and unsupported property values.
12643
cbf18892
GM
12644 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12645 that x_per_char_metric returns null.
12646
1b0672c3
GM
126472000-05-02 Gerd Moellmann <gerd@gnu.org>
12648
576da55d
GM
12649 * xterm.h (struct face): Add forward declaration.
12650 (struct image): Ditto.
12651 (image_ascent): Add prototype.
12652
12653 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12654 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12655 image_ascent instead of using IMAGE_ASCENT.
12656
12657 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12658 (IMAGE_ASCENT): Removed.
12659
12660 * xfns.c (Qcenter): New variable.
12661 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12662 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12663 (image_ascent): New function.
12664 (lookup_image): Recognize `:ascent center'.
12665 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12666 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12667 (xbm_load): Don't set image's ascent here.
12668 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12669 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12670 check ascent values here.
12671 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12672 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12673 (syms_of_xfns): Initialize Qcenter.
12674
1b0672c3
GM
12675 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12676 to the limits, increase the limits.
12677
0d7811ed
KH
126782000-05-01 Kenichi Handa <handa@etl.go.jp>
12679
12680 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12681 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12682
a943a5ca
GM
126832000-04-28 Gerd Moellmann <gerd@gnu.org>
12684
12685 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12686 taller than the window.
12687
5dba1e29
KH
126882000-04-28 Kenichi Handa <handa@etl.go.jp>
12689
12690 * xfaces.c (realize_x_face): Fix the argument of the second
12691 xassert. BASE_FACE may not be a face for ASCII.
12692
353964e3
GM
126932000-04-27 Gerd Moellmann <gerd@gnu.org>
12694
c76e04a8
GM
12695 * print.c (print_object): Treat print-length < 0 as nil.
12696
12697 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12698
12699 * s/freebsd.h (TERMCAP_OBJ): Removed.
12700 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12701
12702 * lread.c (read1): Don't treat period followed by certain
12703 characters as symbol start.
12704
12705 * xfns.c (slurp_file): New function.
12706 (xbm_image_p): Handle case of in-memory XBM files.
12707 (xbm_scan): Rewritten to work on memory buffers instead of files.
12708 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12709 Work on memory buffers instead of files. If DATA is null test
12710 if buffer looks like an in-memory XBM file.
12711 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12712 memory buffers instead of files.
12713 (xbm_file_p): New function.
12714 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12715
353964e3
GM
12716 * lread.c (end_of_file_error): New function.
12717 (read1): Call it instead of signaling `end-of-file' directly.
12718
427ec082 12719 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12720 with Fprinc instead of Fprin1.
12721
24d744ac
KR
127222000-04-26 Ken Raeburn <raeburn@gnu.org>
12723
12724 * window.c (freeze_window_start): Check that minibuffer scroll
12725 window isn't nil before extracting the window structure pointer
12726 from it.
12727
12728 * undo.c (record_delete): If we hit the end of the undo list, stop
12729 picking elements apart.
12730
7464346d
GM
127312000-04-26 Gerd Moellmann <gerd@gnu.org>
12732
12733 * xdisp.c (display_line): If lines are continued, restore
12734 iterator's ascent/descent information to the values before the
12735 first glyph not fitting on the line.
12736
612839b6
GM
127372000-04-25 Gerd Moellmann <gerd@gnu.org>
12738
12739 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12740 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12741
12742 * dispnew.c (increment_matrix_positions): Renamed from
12743 increment_glyph_matrix_buffer_positions.
12744 (increment_row_positions): Renamed from
12745 increment_glyph_row_buffer_positions.
12746
12747 * dispextern.h: Change names of renamed functions from dispnew.c
12748 in prototypes.
12749
cc181e95
GM
127502000-04-24 Gerd Moellmann <gerd@gnu.org>
12751
abfcc168
GM
12752 * fileio.c (Fdo_auto_save): Create directories for auto-save
12753 list file if necessary.
12754
cc181e95
GM
12755 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12756 from buffer or frame.
12757 (automatic_hscrolling_p): New variable.
12758 (hscroll_windows): Scroll windows horizontally only if automatic
12759 hscrolling is allowed.
12760 (syms_of_xdisp): New variable `automatic-hscrolling'.
12761
12762 * frame.h (struct frame): Add member extra_line_spacing.
12763
12764 * xfns.c (x_set_line_spacing): New function.
12765 (Fx_create_frame): Set line spacing from resources.
12766 (Qline_spacing): New variable.
12767 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12768
cc181e95
GM
12769 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12770
12771 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12772 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12773 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12774 extra_line_spacing from default value.
12775 (init_buffer_once): Initialize default value of extra_line_spacing.
12776
12777 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12778 and extra3.
12779
12780 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12781 prompt_width. Add extra line spacing.
12782
12783 * term.c (produce_glyphs): Remove reference to struct it's
12784 prompt_width.
12785
12786 * dispextern.h (struct it): Remove member prompt_width, add
12787 extra_line_spacing.
12788
58827478
GM
127892000-04-22 Gerd Moellmann <gerd@gnu.org>
12790
12791 * dispnew.c (update_frame_line): When writing a whole line, make
12792 sure cursor is in the right row afterwards, otherwise a use of
12793 capability `ch' in cmgoto might leave the cursor in the row below.
12794
25a87f42
GM
127952000-04-21 Gerd Moellmann <gerd@gnu.org>
12796
12797 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12798
12799 * keyboard.c (timer_check): Fix typo in comment.
12800
54edf5c2
KH
128012000-04-21 Kenichi Handa <handa@etl.go.jp>
12802
12803 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12804 name change: ch -> character.
12805
3a64eef5
GM
128062000-04-20 Gerd Moellmann <gerd@gnu.org>
12807
12808 * keyboard.c (echo_message_buffer): New variable.
12809 (echo_now): Set echo_message_buffer to the echo area buffer used
12810 to display the echo.
12811 (cancel_echoing): Reset echo_message_buffer to nil.
12812 (read_char): Code rewritten that handles canceling an echo or
12813 echoing a dash, respectively.
12814
12815 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12816 directory doesn't exist.
12817
6142fdcb
DL
128182000-04-19 Dave Love <fx@gnu.org>
12819
12820 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12821 (concat): Don't allow numeric args.
12822 (Fconcat): Doc change.
6142fdcb 12823
ac6b5352
SM
128242000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12825
12826 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12827 instead define end_match(1|2) more carefully.
12828 Use GET_CHAR_BEFORE_2 for `begline'.
12829
cb9215e4
GM
128302000-04-19 Gerd Moellmann <gerd@gnu.org>
12831
5e3dac3f
GM
12832 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12833 on 64-bit systems where NULL is defined as `0'.
12834
12835 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12836 the `variable argument list' to make it work on Alpha.
12837
cb9215e4
GM
12838 * m/alpha.h (_LP64) [!_LP64]: Define.
12839 (ORDINARY_LINK): Define for NetBSD.
12840
12841 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12842
f532dca0
DL
128432000-04-19 Dave Love <fx@gnu.org>
12844
c750667e
DL
12845 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12846 change.
12847
12848 * Makefile.in (LIBS): Don't use.
12849 (GETLOADAVG_OBJ): Define again.
12850 (otherobj): Add GETLOADAVG_OBJ.
12851
f532dca0
DL
12852 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12853
1c7e22fd
GM
128542000-04-18 Gerd Moellmann <gerd@gnu.org>
12855
f6d3257b
GM
12856 * lread.c (read_filtered_event): Cancel and start busy cursor.
12857
427ec082 12858 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12859 that the per-character metrics may be null.
12860
e10f64e7
GM
128612000-04-17 Gerd Moellmann <gerd@gnu.org>
12862
0daee095
GM
12863 * buffer.c (clone_per_buffer_values): New function.
12864 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12865 clone_per_buffer_values if CLONE is not nil.
12866
e10f64e7
GM
12867 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12868
38687d43
DL
128692000-04-16 Dave Love <fx@gnu.org>
12870
12871 * Makefile.in: Remove obsolete localcpp stuff.
12872 (GETLOADAVG_OBJ): Don't define.
12873 (obj): Move LIBOBJS...
12874 (otherobj): ... to here.
12875 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12876 whitespace-only lines after the continuation (Irix).
12877
c21c7262
GM
128782000-04-14 Gerd Moellmann <gerd@gnu.org>
12879
12880 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12881
12882 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12883
314767c0
DL
128842000-04-14 Dave Love <fx@gnu.org>
12885
12886 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12887 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12888 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12889 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12890 NLIST_STRUCT.
12891
12892 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12893 autoconfiscated HAVE_GETLOADAVG.
12894
12895 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12896 BROKEN_MKTIME.
12897
a2522dca
GM
128982000-04-14 Gerd Moellmann <gerd@gnu.org>
12899
12900 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12901 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12902
33744b5d
DL
129032000-04-14 Dave Love <fx@gnu.org>
12904
c21c7262 12905 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12906 (INTERVAL_SRC): Convert to make variable.
12907 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12908 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12909 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12910 add LIBOBJS.
12911 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12912 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12913 (shortlisp): Add facemenu, float-sup, frame.
12914 (SOME_MACHINE_LISP): Remove them from here.
12915 (LIBES): Change unused LDLIBS to autoconf LIBS.
12916
12917 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12918
9d3d5916
KH
129192000-04-14 Kenichi Handa <handa@etl.go.jp>
12920
12921 * composite.c (update_compositions): If FROM and TO are not in a
12922 valid range, do nothing.
12923
198e3c7a
GM
129242000-04-13 Gerd Moellmann <gerd@gnu.org>
12925
52283633 12926 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12927
52283633 12928 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12929
12930 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12931 as TERMCAP_OBJ.
12932
055a28c9
EZ
129332000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12934
12935 * fileio.c (a_write): Remove redundant semi-colons.
12936 (e_write): Return -1 if failed to write all the data.
12937 This fixes the changes made at 1999-12-15.
12938
f5c75033
DL
129392000-04-12 Dave Love <fx@gnu.org>
12940
12941 * fns.c (mapcar1): Test for null vals to support mapc.
12942 (Fmapc): New function.
12943
0c3cfc51
EZ
129442000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12945
12946 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12947 (IT_frame_up_to_date): Support the buffer local value of
12948 cursor-type, if defined.
12949
33465a31
DL
129502000-04-10 Dave Love <fx@gnu.org>
12951
12952 * editfns.c (preceding-char, following-char): Doc fix.
12953
6ed56568
KR
129542000-04-10 Ken Raeburn <raeburn@gnu.org>
12955
12956 * Makefile.in (temacs): Revert 2000-03-12 change.
12957
7cf80d4e
JR
129582000-04-10 Jason Rumney <jasonr@gnu.org>
12959
12960 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12961
34f3f342
GM
129622000-04-10 Gerd Moellmann <gerd@gnu.org>
12963
1a1b1895
GM
12964 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12965 area buffer, if it's not set up yet.
12966
34f3f342
GM
12967 * indent.c (compute_motion): Set immediate_quit.
12968
be0dbdab
GM
129692000-04-09 Gerd Moellmann <gerd@gnu.org>
12970
52283633 12971 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12972 (realize_tty_face): Suppress boldness if colors are the inverse of
12973 the default colors, and tty_suppress_bold_inverse_default_colors_p
12974 is set.
12975 (Ftty_suppress_bold_inverse_default_colors): New function.
12976 (syms_of_xfaces): Defsubr it.
12977
be0dbdab
GM
12978 * buffer.c (Frestore_buffer_modified_p): New function.
12979 (syms_of_buffer): Defsubr it.
12980
e8413c3b
KR
129812000-04-08 Ken Raeburn <raeburn@gnu.org>
12982
87f67317
KR
12983 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12984 charset id (int) argument, not a charset (Lisp_Object).
12985
e8413c3b
KR
12986 * coding.h (code_convert_string): Declare.
12987 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12988 object, as the fourth argument to code_convert_string.
12989
52283633 12990 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12991 (Fset_fontset_font): Use EQ to compare lisp objects.
12992
7c752c80
KR
129932000-04-05 Ken Raeburn <raeburn@gnu.org>
12994
c0333abc
KR
12995 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12996 a pointer that looks like a lisp object.
12997 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12998 zero, instead see whether it's an integer object, since they can't
12999 have intervals.
13000 (GET_INTERVAL_OBJECT): Simply assign to the destination.
13001
52283633
SM
13002 * dispnew.c (allocate_matrices_for_frame_redisplay)
13003 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
13004 to convert between (unsigned) int values and lisp integers.
13005 * keyboard.c (read_key_sequence): Likewise.
13006 * lread.c (substitute_object_recurse): Likewise.
13007 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
13008 * minibuf.c (do_completion, Fminibuffer_complete_word)
13009 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
13010 * term.c (produce_special_glyphs): Likewise.
13011
13012 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
13013 * print.c (print_preprocess, print_object): Likewise.
13014
13015 * search.c (compile_pattern): Use NILP when checking for nil.
13016
74e49b38
KR
13017 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
13018 __OPTIMIZE__]: Provide a GNU C macro version that handles
13019 lisp-object unions.
13020 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
13021 field, to better cope with ENABLE_CHECKING and calls that modify a
13022 Lisp_Object using its old value.
13023
685e5ed2
GM
130242000-04-04 Gerd Moellmann <gerd@gnu.org>
13025
c407c570
GM
13026 * window.c (compare_window_configurations): Signal an error
13027 if parameters C1 or C2 aren't window configurations.
13028
685e5ed2
GM
13029 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
13030 AFTER_POTENTIAL_GC calls around calls to functions that can
13031 signal an error and thus invoke the debugger.
13032
587a49ab
GM
130332000-04-03 Gerd Moellmann <gerd@gnu.org>
13034
62f20204
GM
13035 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
13036 an error if decoding fails.
13037
587a49ab
GM
13038 * keyboard.c (lispy_mouse_names): Variable removed.
13039 (Vlispy_mouse_stem): New variable.
13040 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
13041 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
13042 for any mouse button number. Increase size of mouse_syms and
13043 button_down_location as needed. Call modify_event_symbol with
13044 different arguments.
13045 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
13046 Call modify_event_symbol with different arguments.
13047 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
13048 for any button number. Call modify_event_symbol with different
13049 arguments.
13050 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
13051 Accept a string for NAME_ALIST_OR_STEM.
13052
13053 * lisp.h (larger_vector): Add prototype.
13054
13055 * fns.c (larger_vector): Make externally visible.
13056
13057 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13058
2d1675e4
SM
130592000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13060
13061 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13062 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13063 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13064 we are between str1 and str2.
13065 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13066 (PATFETCH): Use `TRANSLATE'.
13067 (PATFETCH_RAW): Fetch multibyte char if applicable.
13068 (PATUNFETCH): Remove.
13069 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13070 When writing a char, write it directly into the pattern buffer rather
13071 than going needlessly through a temp char-array.
13072 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13073 multibyte magic and remove the useless `#ifdef emacs'.
13074 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13075 buffer.
13076
13077 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13078 conditional on `emacs'.
13079
13080 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13081
cc2d8c6b
KR
130822000-04-01 Ken Raeburn <raeburn@gnu.org>
13083
13084 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13085 non-union-type versions of XMARK and friends here, because XMARK
13086 and friends won't work on an integer field if NO_UNION_TYPE is not
13087 defined.
52283633 13088 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13089
52283633 13090 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13091 (syms_of_composite): Delete local var NARGS, pass an int as first
13092 argument to Fmake_hash_table.
13093
2387b382
KR
13094 * editfns.c (text_property_stickiness): Use NILP to test
13095 Lisp_Object boolean value.
13096 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13097 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13098 problems reading from and changing the same lisp value in an
13099 XSETSTRING call.
13100
27660e89
GM
131012000-04-01 Gerd Moellmann <gerd@gnu.org>
13102
13103 * term.c (TN_no_color_video): New variable.
13104 (term_init): Intitialize TN_no_color_video.
13105 (enum no_color_bit): New enumeration.
13106 (MAY_USE_WITH_COLORS_P): New macro.
13107 (turn_on_face): Use it to determine if attributes may be used
13108 combined with colors.
13109
3578db3c
KR
131102000-04-01 Ken Raeburn <raeburn@gnu.org>
13111
13112 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13113 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13114 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13115 proper accessor macros.
13116 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13117 (grow_mini_window): Fix typo getting int value of root->height.
13118
6fc556fd
KR
13119 * xdisp.c (compute_string_pos): Fix order of arguments to
13120 string_pos_nchars_ahead.
13121 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13122 count arg to variable-arg routines like Frun_hook_with_args and
13123 Fformat.
587a49ab
GM
13124 (back_to_previous_visible_line_start)
13125 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13126 fixed-arg routines like Fget_char_property and Fmake_string.
13127 (reconsider_clip_changes): Use XINT when comparing integer lisp
13128 objects, or passing them as int arguments.
587a49ab
GM
13129 (mark_window_display_accurate, insert_left_trunc_glyphs)
13130 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13131 storing or passing integer values as lisp objects.
13132 (set_cursor_from_row, highlight_trailing_whitespace): Use
13133 INTEGERP, not implicit test against zero, for glyph object.
13134 (try_window_id): Don't use make_number when we want an int value.
13135
13136 * xfaces.c (xlfd_symbolic_value): Make last argument a
13137 Lisp_Object, to be consistent with callers.
13138 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13139 (lface_hash): Apply XFASTINT to lisp values before folding in.
13140
13141 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13142 fill in window width and height. Pass an int, not a lisp object,
13143 as first arg to Finsert.
13144
6e7b2457
GM
131452000-04-01 Gerd Moellmann <gerd@gnu.org>
13146
610d841e
GM
13147 * xfaces.c (realize_basic_faces): Block input while realizing
13148 the faces.
13149
6e7b2457
GM
13150 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13151
13152 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13153
aa110c0c
GM
131542000-03-31 Gerd Moellmann <gerd@gnu.org>
13155
13156 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13157 or ASCII, handle case that per-char metric is null.
aa110c0c 13158
8801a864
KR
131592000-03-30 Ken Raeburn <raeburn@gnu.org>
13160
c6129d7e
KR
13161 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13162
52283633
SM
13163 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13164 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13165 pointer, using eassert.
13166 * frame.h (XFRAME): Likewise.
13167
52283633
SM
13168 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13169 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13170 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13171 * data.c (set_internal): Likewise.
52283633
SM
13172 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13173 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13174 * fileio.c (auto_save_1): Likewise.
13175 * insdel.c (check_markers): Likewise.
13176 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13177 * undo.c (record_insert): Likewise.
13178 * vmsproc.c (child_sig): Likewise.
13179 * window.c (unshow_buffer, window_loop): Likewise.
13180 * xterm.c (x_erase_phys_cursor): Likewise.
13181
8e7af858
GM
131822000-03-30 Gerd Moellmann <gerd@gnu.org>
13183
13184 * xfns.c (free_image_cache): Free the cache structure itself
13185 last, after all its members have been freed.
13186
13187 * lisp.h (xstrdup): Add prototype.
13188
13189 * alloc.c (xstrdup): Moved here from xfaces.c.
13190 (allocating_for_lisp): Variable removed.
52283633 13191 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13192
13193 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13194 of Fsymbol_value.
13195 (xstrdup): Moved to alloc.c.
13196
e0b8c689
KR
131972000-03-29 Ken Raeburn <raeburn@gnu.org>
13198
b96f9fb7
KR
13199 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13200
13201 * emacs.c (main): Fix sense of no-loadup test.
13202
e0b8c689
KR
13203 * config.in (ENABLE_CHECKING): Undef.
13204
13205 * lisp.h (struct interval): Replace "parent" field with a union of
13206 interval pointer and Lisp_Object; add new bitfield to use as
13207 discriminant. Change other flag fields to bitfields.
13208 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13209 is defined and the supplied test fails, print a message and abort.
13210 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13211
13212 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13213 pointers; abort if the value looks like a lisp object.
52283633
SM
13214 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13215 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13216 Modify for new interval parent definition.
13217
52283633
SM
13218 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13219 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13220 addressable lisp object in the interval structure.
13221 (die): New function.
13222 (suppress_checking): New variable.
13223
13224 * intervals.c (interval_start_pos): Just return 0 if there's no
13225 parent object.
13226
f83c5440
GM
132272000-03-29 Gerd Moellmann <gerd@gnu.org>
13228
13229 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13230 and earlier Emacs versions.
13231
13232 * keyboard.c (Ftop_level): Cancel busy-cursor.
13233
13234 * eval.c (call_debugger): Cancel busy-cursor.
13235
fdce64ff
KH
132362000-03-29 Kenichi Handa <handa@etl.go.jp>
13237
13238 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13239 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13240
f6a3f532
SM
132412000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13242
13243 * regex.c (analyse_first): New function obtained by ripping out most
13244 of re_compile_fastmap and generalizing it a little bit so that it
13245 can also just return whether a given (sub)pattern can match the empty
13246 string or not.
13247 (regex_compile): Use `analyse_first' to decide whether the loop-check
13248 needs to be done or not for *, +, *? and +? (the loop check is costly
13249 for non-greedy repetition).
13250 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13251
e9b309ac
DL
132522000-03-28 Dave Love <fx@gnu.org>
13253
52283633 13254 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13255
e9b309ac
DL
13256 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13257
ed0767d8
SM
132582000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13259
13260 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13261 an expression.
13262 (enum re_opcode_t): Update description of succeed_n.
13263 (PATFETCH): Always define.
13264 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13265 operators, char classes, shy-groups and intervals).
13266 Optimize special cases of intervals so as to only use succeed_n and
13267 jump_n when really needed.
13268 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13269 that we don't have to handle the special cases any more.
13270 Simplify on_failure_jump handling as well.
13271
e11e7e46
JR
132722000-03-28 Jason Rumney <jasonr@gnu.org>
13273
13274 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13275
88faab89
GM
132762000-03-27 Gerd Moellmann <gerd@gnu.org>
13277
182ff242
GM
13278 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13279
13280 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13281
182ff242
GM
13282 * alloc.c (mark_maybe_object): New function.
13283 (mark_memory): Use it.
13284 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13285 (setjmp_tested_p, longjmp_done): New variables.
13286 (test_setjmp): New function.
13287 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13288 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13289
c1005d06
GM
13290 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13291 to DEC_TEXT_POS and INC_TEXT_POS.
13292
13293 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13294 with parameter MULTIBYTE_P.
13295
52283633 13296 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13297
7439e5b9 13298 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13299 buffers because it looks for multibyte character byte sequences
13300 which don't exist in unibyte text.
7439e5b9 13301
d9c545da
GM
13302 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13303
11fd416e 13304 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13305 [DEBUG_X_COLORS]: New functions.
13306 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13307
13308 * xfns.c (x_set_cursor_color): Get color reference counts right.
13309
13310 * xterm.c (x_copy_color): New function.
13311 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13312
13313 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13314 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13315 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13316 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13317 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13318 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13319 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13320 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13321 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13322 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13323
11fd416e
GM
13324 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13325 names for handling per-buffer variables.
d9c545da
GM
13326
13327 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13328 instead of MAX_BUFFER_LOCAL_VARS.
13329 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13330
13331 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13332
88faab89
GM
13333 * xfns.c (x_specified_cursor_type): New function.
13334 (x_set_cursor_type): Use it.
13335
13336 * buffer.h (struct buffer): Add cursor_type.
13337
d80f42b7
SM
133382000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13339
13340 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13341 (print_partial_compiled_pattern, re_compile_fastmap):
13342 Handle new opcode.
d80f42b7
SM
13343 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13344 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13345 executing it as well as when popping it off the stack to find infinite
13346 loops in non-greedy repetition operators.
13347
89e80928
GM
133482000-03-26 Gerd Moellmann <gerd@gnu.org>
13349
3d4ff2dd
GM
13350 * doc.c (Qfunction_documentation): New variable.
13351 (syms_of_doc): Initialize Qfunction_documentation.
13352 (Fdocumentation): If FUNCTION is a symbol with non-nil
13353 `function-documentation' property, return a documentation derived
13354 from that.
13355
bd96bd79
GM
13356 * buffer.c (syms_of_buffer): Add default-cursor-type.
13357 (init_buffer_once): Don't let cursor_type have a local value
13358 in every buffer.
13359
19d1bc27
GM
13360 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13361 on buffer-local value of cursor_type.
13362 (x_draw_bar_cursor): Add parameter WIDTH.
13363
13364 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13365 (init_buffer_once): Set default cursor_type value to t.
13366 Mark cursor_type as local everywhere.
13367 (syms_of_buffer): New per-buffer variable cursor-type.
13368
89e80928
GM
13369 * buffer.h (struct buffer): Remove member local_var_flags,
13370 add local_flags.
13371 (MAX_BUFFER_LOCAL_VARS): New macro.
13372 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13373 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13374 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13375 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13376
52283633 13377 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13378
13379 * category.c (Fset_category_table): Use new macros for per-buffer
13380 variables.
13381
13382 * buffer.c (buffer_permanent_local_flags): Make a char array.
13383 (max_buffer_local_idx): New variable.
13384 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13385 for new handling of per-buffer variables.
13386 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13387 (init_buffer_once): Initialize per-buffer vars differently.
13388 Set max_buffer_local_idx.
13389
13390 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13391 variables.
13392
52283633 13393 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13394
13395 * data.c (do_symval_forwarding, store_symval_forwarding)
13396 (find_symbol_value, set_internal, default_value, Fset_default)
13397 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13398 per-buffer variables.
13399
13400 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13401
9a0dd3dc
GM
134022000-03-24 Gerd Moellmann <gerd@gnu.org>
13403
b68c375f
GM
13404 * xterm.c (x_term_init): Unblock input around call1 of
13405 Qvendor_specific_keysyms.
13406
9a0dd3dc
GM
13407 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13408 (find_defun_start): Consider an open parenthesis in column 0
13409 a defun start only if open_paren_in_column_0_is_defun_start is set.
13410 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13411
7973e637
SM
134122000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13413
13414 * eval.c (Fautoload): Add entry in load-history (if after dump).
13415 * lread.c (load-history): Update docstring.
13416
39210e90
GM
134172000-03-24 Gerd Moellmann <gerd@gnu.org>
13418
13419 * indent.c (Fvertical_motion): Always use the current buffer.
13420 Temporarily change the window's buffer, if necessary.
13421
72db3ab5
GM
134222000-03-23 Gerd Moellmann <gerd@gnu.org>
13423
13424 * xterm.c (fast_find_position): Make sure not to consider rows
13425 not visible in the window.
13426
990b2375
SM
134272000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13428
13429 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13430 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13431
ff4df011
JR
134322000-03-22 Jason Rumney <jasonr@gnu.org>
13433
13434 * w32menu.c (single_submenu): Set help string to NULL if none.
13435 (w32_menu_show): Set help string correctly.
13436 (add-menu-item): Set help string in MIIM_DATA for menu item.
13437 Load SetMenuItemInfoA explicitly.
13438 (w32_menu_display_help): New function.
427ec082 13439
ff4df011
JR
13440 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13441 (QCdata): Moved to xdisp.c.
13442
13443 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13444 (Vw32_charset_to_codepage_alist): Removed.
13445 (Vw32_charset_info_alist): New variable.
52283633
SM
13446 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13447 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13448 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13449 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13450 with TODO comment.
13451 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13452 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13453 Define Vw32_charset_info_alist and w32_charset symbols.
13454
134552000-03-22 Jason Rumney <jasonr@gnu.org>
13456
13457 * makefile.nt (w32bdf.obj): Update dependencies.
13458
13459 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13460
13461 * w32fns.c: Include fontset.h after dispextern.h.
13462 (Fx_create_frame): Do not create fontset.
13463 (w32_load_system_font): Doc fix.
13464 (Fx_close_connection): Free full_name if it is not shared.
13465
13466 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13467 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13468 Callers updated.
ff4df011
JR
13469 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13470 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13471 (w32_font_is_double_byte): New function, needs body.
13472 (x_append_glyph): Set glyph->glyph_not_available_p.
13473 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13474 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13475 character, convert it to a unibyte character.
13476 (struct glyph_string): Delete member `charset'.
13477 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13478 calculating it is found.
13479 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13480 the case that per char metric is not available correctly.
13481 (x_fill_glyph_string): Handle the case that the specific glyph is
13482 not available correctly.
13483 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13484 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13485 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13486 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13487 fontset. Don't call FS_LOAD_FONT.
13488
439d5cb4
KR
134892000-03-22 Ken Raeburn <raeburn@gnu.org>
13490
13491 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13492 (INT_LISPLIKE): New macro.
13493 (NULL_INTERVAL_P): Use it.
52283633
SM
13494 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13495 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13496 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13497
13498 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13499 explicit references to "parent" field of struct interval and
13500 associated unclean type conversions.
52283633
SM
13501 * intervals.c (create_root_interval, root_interval, rotate_right)
13502 (rotate_left, balance_possible_root_interval, split_interval_right)
13503 (split_interval_left, interval_start_pos, find_interval)
13504 (next_interval, previous_interval, update_interval)
13505 (adjust_intervals_for_insertion, delete_node, delete_interval)
13506 (adjust_intervals_for_deletion, merge_interval_right)
13507 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13508 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13509 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13510 Likewise.
13511 * syntax.c (update_syntax_table): Likewise.
13512
13513 * intervals.c (reproduce_tree_obj): New function, like
13514 reproduce_tree but takes a Lisp_Object for the parent. Declare
13515 with prototype.
13516 (graft_intervals_into_buffer): Use it when appropriate.
13517 (reproduce_tree): Declare with prototype.
13518 (balance_possible_root_interval): Check that the parent is a lisp
13519 object before trying to examine its type.
13520
ee1c5b21
GM
135212000-03-22 Gerd Moellmann <gerd@gnu.org>
13522
13523 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13524 as strings only if both are known to be strings.
13525
13526 * s/openbsd.h (LIBS_TERMCAP): Undef.
13527
1fb352e0
SM
135282000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13529
13530 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13531 definitions for non-Emacs compilation.
13532 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13533 outside of `#ifdef emacs'.
13534 (print_partial_compiled_pattern): Update.
13535 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13536 (re_compile_fastmap): Merge handling of charset and charset_not (for
13537 emacs and non-emacs compilation as well).
13538 Similarly for (not)categoryspec and (not)syntaxspec.
13539 Don't use the fastmap when reaching `anychar' since the added
13540 complexity is not justified.
13541 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13542 and (not)syntaxspec. Merge (not)categoryspec.
13543
fdaa1f77
KH
135442000-03-22 Kenichi Handa <handa@etl.go.jp>
13545
52283633
SM
13546 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13547 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13548 --without-x.
fdaa1f77 13549
d152fb46
DL
135502000-03-21 Dave Love <fx@gnu.org>
13551
13552 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13553 doc string.
13554
d2cafc8c
GM
135552000-03-21 Gerd Moellmann <gerd@gnu.org>
13556
13557 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13558 (lface_fully_specified_p): Don't check contents of
13559 LFACE_FONT_INDEX because that attribute is optional.
13560 (realize_x_face): Remove now unwarranted xassert.
13561
9111d4b5
KH
135622000-03-21 Kenichi HANDA <handa@etl.go.jp>
13563
13564 The following changes are to make font selection based on
13565 characters, not charset. In addition, they recover fontset
13566 facilities while utilizing the new font selection mechanism.
13567
6c4bfdc0
KH
13568 * Makefile.in (fontset.o): Depend on dispextern.h.
13569
13570 * alloc.c (mark_face_cache): Don't mark face->registry.
13571
9111d4b5
KH
13572 * dispextern.h (struct glyph): New member glyph_not_available_p.
13573 Use 22 bits for face_id.
13574 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13575 (struct face): Delete member registry, new member ascii_face.
13576 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13577 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13578 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13579 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13580
13581 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13582 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13583 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13584 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13585 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13586 (fs_free_face_fontset, fontset_font_pattern)
13587 (face_suitable_for_char_p, face_for_char)
13588 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13589 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13590 (FS_LOAD_FACE_FONT): New macro.
13591
13592 * fontset.c: All codes rewritten or adjusted for the change of
13593 fontset implementation. Now fontset is represented by char table.
52283633
SM
13594 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13595 Variables removed.
9111d4b5 13596 (my_strcasecmp): Function removed.
52283633 13597 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13598 (AREF, ASIZE): New macros.
52283633
SM
13599 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13600 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13601 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13602 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13603 (fontset_id_valid_p, font_family_registry, fontset_name)
13604 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13605 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13606 New functions.
13607 (fs_load_font): New arg FACE. Caller changed.
13608 (fs_query_fontset): Argument changed. Caller changed.
13609 (Fquery_fontset): call fs_query_fontset.
13610 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13611 Functions removed.
52283633
SM
13612 (clear_fontset_elements, check_registry_encoding)
13613 (check_fontset_name): New functions.
9111d4b5
KH
13614 (syms_of_fontset): Set char-table-extra-slots property of fontset
13615 to 3. Staticpro and initialize Vfontset_table and
13616 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13617
13618 * frame.h (struct frame): Member `fontset_data' removed.
13619 (FRAME_FONTSET_DATA): Macro removed.
13620
13621 * frame.c (make_frame): Don't allocate f->fontset_data.
13622 (Fdelete_frame): Don't free f->fontset_data.
13623
6c4bfdc0
KH
13624 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13625
9111d4b5
KH
13626 * xdisp.c (charset_at_position): Function removed.
13627 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13628 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13629 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13630 Likewise.
13631 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13632 FACE_FOR_CHARSET.
52283633
SM
13633 (get_next_display_element, append_space)
13634 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13635
13636 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13637 Variables removed.
13638 (clear_font_table, frame_update_line_height, load_face_font):
13639 Adjusted for the change of fontset implementation.
13640 (load_face_fontset_font): Function removed.
13641 (pixel_point_size): New function.
13642 (font_list): Argument type changed. Caller changed.
13643 (LFACE_FONT): New macro.
13644 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13645 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13646 Lisp_Object. Determine the font name by actually loading a font
13647 by the specified pattern. Set LFACE_FONT (lface) to the specified
13648 pattern. Even if a font is not found, don't try alternatives.
13649 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13650 (set_font_frame_param): If `font' is specified in lface, use it.
13651 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13652 (lface_same_font_attributes_p): Likewise.
13653 (make_realized_face): Arguent changed. Caller changed. Set
13654 face->ascii_face to face itself.
13655 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13656 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13657 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13658 (free_realized_multibyte_face): New function.
13659 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13660 changed. Caller changed.
13661 (try_font_list): Argument type changed.
13662 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13663 (choose_face_font): Argument changed. Handle fontset properly.
13664 (choose_face_fontset_font): Function removed.
13665 (realize_default_face, realize_named_face): Don't remove the
13666 former face here.
13667 (realize_face): Argument changed. Caller changed. Remove face
52283633 13668 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13669 (realize_x_face): Argument changed. Caller changed. For a
13670 multibyte character, share fontset with base_face. For a single
52283633 13671 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13672 (realize_tty_face): Argument changed. Caller changed.
13673 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13674 (face_at_buffer_position): Don't check multibyte_p for returning
13675 DEFAULT_FACE_ID.
13676 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13677 FACE_SUITABLE_FOR_CHARSET_P.
13678 (syms_of_xfaces): Remove code for Qx_charset_registry and
13679 Vface_default_registry.
13680
6c4bfdc0
KH
13681 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13682 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13683 (x_per_char_metric): Don't try FONT->default_char. Even if
13684 pcm->width is zero, glyph bits may exist.
13685 (x_encode_char): Always initialize char2b->byte1.
13686 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13687 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13688 (x_append_glyph): Set glyph->glyph_not_available_p.
13689 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13690 it->charset. Handle the case that per char metric is not
13691 available. If it->multibyte_p is zero and it->c is a multibyte
13692 character, convert it to a unibyte character.
13693 (struct glyph_string): Delete member `charset'.
13694 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13695 the case that per char metric is not available correctly.
13696 (x_fill_glyph_string): Handle the case that the specific glyph is
13697 not available correctly.
13698 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13699 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13700 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13701 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13702 fontset. Don't call FS_LOAD_FONT.
13703
13704 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13705 (x_create_tip_frame): Likewise.
13706 (Fx_close_connection): Free full_name of font_info.
13707
13708 * fns.c (optimize_sub_char_table): New function.
13709 (Foptimize_char_table): New function.
13710 (syms_of_fns): Defsubr Soptimize_char_table.
13711
b33dd3b0
GM
137122000-03-20 Gerd Moellmann <gerd@gnu.org>
13713
13714 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13715 only if buffer is displayed in some window.
13716
13717 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13718 (try_window_reusing_current_matrix): Don't call scroll run
13719 function if run's current and desired position are the same;
13720 this prevents cursor flickering.
13721
4e8a9132
SM
137222000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13723
13724 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13725
13726 * regex.c (RE_STRING_CHAR): New macro.
13727 (GET_CHAR_AFER_2): Remove.
13728 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13729 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13730 (print_partial_compiled_pattern, re_compile_fastmap)
13731 (re_match_2_internal): Remove on_failure_jump_exclusive.
13732 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13733 optimization only need to work for * (ie. can use of_keep_string_jump).
13734 Remove the special case for .*\n since it is now covered by the general
13735 optimization.
13736 (re_search_2): Don't bother with `room'.
13737 (skip_one_char): New function.
13738 (skip_noops): Simplify since `memory' is not needed any more.
13739 (mutually_exclusive_p): Restructure slightly to use `switch' and
13740 add handling for "all" remaining cases.
13741 (re_match_2_internal): Change on_failure_jump_smart to use
13742 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13743 rather than on_failure_jump_exclusive.
13744
2136fdd4
GM
137452000-03-19 Gerd Moellmann <gerd@gnu.org>
13746
13747 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13748 number of bits per RGB because it's everywhere used as the depth
13749 of the visual.
13750
13751 * term.c (calculate_costs): Remove code dealing with X frames.
13752
18e21ce8 137532000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13754
13755 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13756
d7b511c4
GM
137572000-03-18 Gerd Moellmann <gerd@gnu.org>
13758
13759 * lread.c (read_integer): Unread the last char not consumed.
13760
16b5d424
GM
137612000-03-17 Gerd Moellmann <gerd@gnu.org>
13762
13763 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13764 which are in the process of being deleted.
16b5d424 13765
1fa28578
GM
137662000-03-16 Gerd Moellmann <gerd@gnu.org>
13767
83488cce
GM
13768 * Makefile.in (mostlyclean): Add `*.core'.
13769 (clean): Add `bootstrap-emacs'.
13770
1fa28578
GM
13771 * lread.c (read_integer): New function.
13772 (read1): Support read syntax #o, #x, #b, #r.
13773
99633e97
SM
137742000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13775
1fa28578
GM
13776 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13777 make sure POINTER_TO_OFFSET gives the same value before and after
13778 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13779 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13780 (debug): Now only active if > 0 rather than if != 0.
13781 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13782 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13783 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13784 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13785 (store_op1, store_op2, insert_op1, insert_op2)
13786 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13787 (group_in_compile_stack): Move to after its arg's types are
13788 declared and add a prototype.
99633e97 13789 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13790 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13791 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13792 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13793 indentation of the greedy-op and shy-group code.
99633e97
SM
13794 (at_(beg|end)line_loc_p): Fix argument's types.
13795 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13796 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13797 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13798 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13799 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13800 QUIT unconditionally.
99633e97 13801
699238d9
GM
138022000-03-15 Gerd Moellmann <gerd@gnu.org>
13803
13804 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13805 a sole completion.
13806
13807 * process.c (send_process): Add a hint that the function
13808 can call Lisp code to its comment.
13809
13810 * lread.c (load_dangerous_libraries): New variable.
13811 (Vbytecomp_version_regexp): New variable.
13812 (safe_to_load_p): New function.
13813 (Fload): Handle files not compiled with Emacs specially.
13814 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13815
34e23e5a
GM
138162000-03-14 Gerd Moellmann <gerd@gnu.org>
13817
9c763cca
GM
13818 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13819
13820 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13821 support functions only if HAVE_X11R6_XIM is defined.
13822 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13823
13824 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13825
13826 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13827 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13828 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13829
13830 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13831 (HAVE_X11R6_XIM): Define.
13832
13833 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13834
34e23e5a
GM
13835 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13836 If set, call XSynchronize.
13837
66f0296e
SM
138382000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13839
34e23e5a
GM
13840 * regex.c: Declare a new type `re_char' used throughout the code
13841 for the string char type. It's `const unsigned char' to match the
13842 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13843 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13844 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13845 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13846 code duplication.
66f0296e
SM
13847
13848 * charset.h (GET_CHAR_AFTER_2): Remove.
13849 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13850
854a025c
KR
138512000-03-12 Ken Raeburn <raeburn@gnu.org>
13852
13853 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13854 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13855 of them try to use backquotes.
13856
b9d2c7e2
DL
138572000-03-12 Dave Love <fx@gnu.org>
13858
13859 * unexelf.c: Restore changes of 1999-10-19.
13860 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13861 fix its type and alignment; copy it from current process.
13862
5e5dff44
GM
138632000-03-12 Gerd Moellmann <gerd@gnu.org>
13864
9b2f3c38
GM
13865 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13866 has been found. Fix bug not computing timer's predecessor.
13867
427ec082 13868 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13869 file name.
13870
e1cff360
GM
13871 * window.c (Fsave_window_excursion): Doc fix.
13872
52283633 13873 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13874
e411ce4b
EZ
138752000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13876
13877 * msdos.c (vga_installed): New function, code moved from
13878 dos_set_window_size.
13879 (Qbar, Qcursor_type, outside_cursor): New variables.
13880 (syms_of_msdos): Intern and staticpro them.
13881 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13882 shape used outside Emacs when called for the first time.
13883 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13884 cursor shape used outside Emacs.
13885 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13886 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13887 type has changed.
13888 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13889 parameters specify the cursor. Make qreverse a global
13890 variable (renamed to Qreverse).
13891
80460654
GM
138922000-03-09 Gerd Moellmann <gerd@gnu.org>
13893
13894 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13895
95cd4c40
SM
138962000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13897
13898 This is a big redesign of failure-stack and register handling, prompted
13899 by bugs revealed when trying to add shy-groups. Overall, what happened
13900 is that loops are now structured a little differently, groups can be
13901 shy and the code is a little simpler.
13902
13903 * regex.h: Update the copyright.
13904 (RE_SHY_GROUPS): New value.
13905 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13906 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13907
80460654
GM
13908 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13909 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13910 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13911 for (start|stop)_memory since they now only take one argument (the
13912 second has becomes unnecessary).
52283633 13913 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13914 (print_compiled_pattern): Use %ld to printf long ints and flush to
13915 make debugging a little easier.
95cd4c40
SM
13916 (union fail_stack_elt): Make the integer unsigned.
13917 (struct fail_stack_type): Add a `frame' element.
13918 (INIT_FAIL_STACK): Init `frame' as well.
13919 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13920 (DEBUG_PUSH, DEBUG_POP): Remove.
13921 (NUM_REG_ITEMS): Remove.
13922 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13923 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13924 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13925 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13926 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13927 New macros.
80460654
GM
13928 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13929 address pushed is not the destination of the jump but the source
13930 of it instead.
95cd4c40
SM
13931 (NUM_FAILURE_ITEMS): Remove.
13932 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13933 registers before the actual failure point). Don't hardcode any
13934 meaning for str==NULL anymore.
95cd4c40 13935 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13936 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13937 Remove.
95cd4c40
SM
13938 (REG_UNSET_VALUE): Use NULL (why not?).
13939 (compile_range): Remove declaration since it doesn't exist.
13940 (struct compile_stack_elt_t): Remove inner_group_offset.
13941 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13942 (regex_grow_registers): Remove dead code.
13943 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13944 (regex_compile): Add shy-groups Change loops to use
13945 on_failure_jump_smart&jump instead of
13946 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13947 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13948 variable to me). Use `jump' instead of `jump_past_alt' and don't
13949 bother with push_dummy_failure in alternatives since it is now
13950 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13951 emacs' for (re)allocating the stack.
13952 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13953 from loop when bufp->can_be_null rather than jumping to `done'.
13954 Avoid jumping backwards so as to ensure termination. Use
13955 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13956 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13957 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13958 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13959 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13960 (lowest_active_reg, highest_active_reg)
13961 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13962 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13963 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13964 variables. Push register (in `start_memory') on the stack rather
13965 than storing it in old_reg(start|end). Remove the cycle detection
13966 from `stop_memory', replaced by the use of on_failure_jump_loop
13967 for greedy loops. Add code for the new on_failure_jump_<foo>.
13968 Remove ad-hoc code in `on_failure_jump' to push more registers in
13969 the case of a loop. Take out code from `maybe_pop_jump' into
13970 separate functions and adapt it to the semantics of
13971 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13972 and push_dummy_failure. Remove dummy_failure handling and
13973 handling of `failures to jump to on_failure_jump' (this last one
13974 was already dead code, it seems).
13975 (group_match_null_string_p, alt_match_null_string_p)
13976 (common_op_match_null_string_p): Remove.
95cd4c40 13977
7397acc4
DL
139782000-03-08 Dave Love <fx@gnu.org>
13979
13980 * config.in: Don't depend on __STDC__ for volatile.
13981 Add POINTER_TYPE, PTR, PROTOTYPES.
13982
13983 * hftctl.c, strftime.c: Use PROTOTYPES.
13984 * eval.c (find_handler_clause): Likewise.
13985
13986 * mem-limits.h: Use POINTER_TYPE.
13987
13988 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13989 (memory_warnings): Declare using POINTER_TYPE.
13990
5e91ff9e
GM
139912000-03-08 Gerd Moellmann <gerd@gnu.org>
13992
feab4fba
GM
13993 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13994
52283633 13995 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13996
5e91ff9e
GM
13997 * xfns.c: Remove obsolete code in #if 0.
13998 (Fx_focus_frame): New function.
13999
a735b7e1
KH
140002000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14001
14002 * coding.c (coding_category_name): Add coding-category-utf-8,
14003 coding-category-utf-16-be, coding-category-utf-16-le.
14004 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
14005 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
14006 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
14007 (detect_coding_utf_8): New function.
14008 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
14009 UTF_16_LOW_SURROGATE_P): New macros.
14010 (detect_coding_utf_16): New function
14011 (detect_coding_mask): When priorities are specified, skip any
14012 categories that have `nil' coding-system. Fix bug of returning
14013 wrong mask when PRIORITIES is specified and detect_coding_XXX()
14014 returns a mask not set in PRIORITIES.
14015 (detect_eol_type_in_2_octet_form): New function.
14016 (detect_eol): selects detect_eol_type_XXX to call according to
14017 cooding->category_idx.
14018 (detect_coding_system): Remove `nil' coding-system in the result.
14019 (Fupdate_coding_systems_internal): Update all coding-categories.
14020
52283633
SM
14021 * coding.h (CODING_CATEGORY_IDX_UTF_8)
14022 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
14023 New macros.
14024 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
14025 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
14026 (CODING_CATEGORY_IDX_UTF_16_LE)
14027 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
14028 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
14029 (CODING_CATEGORY_MASK_ANY): Include the above macros.
14030 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
14031
9994cc69
GM
140322000-03-07 Gerd Moellmann <gerd@gnu.org>
14033
e9b4e5ff
GM
14034 * doc.c (Fdocumentation_property): If value is not a string,
14035 and doesn't refer to etc/DOC, evaluate it to obtain a string.
14036
f7daf1e1
GM
14037 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
14038 close the display with XtCloseDisplay. This caused a bus error
14039 on OpenWindows.
14040
9994cc69
GM
14041 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
14042 complete but not unique.
14043
4336c705
GM
140442000-03-06 Gerd Moellmann <gerd@gnu.org>
14045
18bb0684
GM
14046 * process.c (send_process): Remove local variable `procname' that
14047 might become invalid when a GC happens. Instead, access the
14048 process name slot directly.
14049
4336c705
GM
14050 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
14051 orig_height if set.
14052
14053 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14054 orig_height if set.
14055
515d0d0e
EZ
140562000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14057
14058 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14059 glyph matrices have been freed.
14060
100b3cbb
GM
140612000-03-05 Gerd Moellmann <gerd@gnu.org>
14062
50df5e5a 14063 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 14064 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
14065
14066 * xfns.c (QCdata): Moved to xdisp.c.
14067
14068 * xdisp.c (QCdata): Moved here from xfns.c.
14069 (syms_of_xdisp): Initialize QCdata.
14070
14071 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14072
14073 * window.c (coordinates_in_window): Use
14074 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14075 FRAME_INTERNAL_BORDER_WIDTH.
14076
100b3cbb 14077 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14078 it is obviously invalid.
100b3cbb
GM
14079
14080 * xterm.c (x_term_init): Create a colormap if not using the
14081 default visual.
14082
14083 * xterm.h (select_visual): Change prototype.
14084
14085 * xfns.c (select_visual): Rewritten. Recognize user-specified
14086 visual classes.
14087 (visual_classes): New variable.
14088
64d739c4
GM
140892000-03-04 Gerd Moellmann <gerd@gnu.org>
14090
14091 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14092 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14093 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14094 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14095 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14096 XtNcolormap resources.
14097 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14098 (Fx_create_frame): Initialize color members of x_output structure.
14099 (xpm_load): Pass colormap to XPM lib.
14100
14101 * xfaces.c (x_free_colors): Access colormap of frame using
14102 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14103 when default colormap is used.
14104
14105 * xterm.c (x_term_init): Set Colormap member of x_display_info
14106 structure. Copy colormap if resource `privateColormap' is
14107 specified (PseudoColor only).
14108 (x_setup_relief_color): Access colormap of frame using
14109 FRAME_X_COLORMAP.
14110
14111 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14112 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14113
c3cee013
JR
141142000-03-04 Jason Rumney <jasonr@gnu.org>
14115
14116 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14117 other non-platform-specific equivalents.
64d739c4 14118 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14119 specific functions and macros as their w32 equivalents where
14120 non-platform-specifics are not available.
14121 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14122 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14123 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14124 (frame_update_line_height): Use macros to access f->output_data.
14125 (defined_color): Remove FIXME comments; fixed.
14126 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14127 into #ifdef blocks. Add WINDOWSNT blocks.
14128 (Fx_list_fonts): Use macros for accessing font data.
14129 (set_lface_from_font_name): Different default fonts for X and
14130 WINDOWSNT.
14131 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14132 scalable for backward compatibility.
64d739c4 14133 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14134 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14135
64d739c4 14136 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14137 syms_of_w32faces.
14138
14139 * makefile.nt (w32faces.obj): Remove.
14140 (xfaces.obj): Add.
14141
807cc41c
JR
141422000-03-03 Jason Rumney <jasonr@gnu.org>
14143
14144 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14145 correct parameters.
14146
0007072a
KR
141472000-03-03 Ken Raeburn <raeburn@gnu.org>
14148
14149 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14150 standard ELF definitions here if the system header does not.
14151
71a6ba55
GM
141522000-03-03 Gerd Moellmann <gerd@gnu.org>
14153
14154 * xterm.c (PER_CHAR_METRIC): Removed.
14155 (x_per_char_metric_1, x_default_char): New functions.
14156 (x_per_char_metric): If font's default char is invalid, return
14157 metrics of a suitably chosen usable default char.
14158 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14159 char, replace occurrences of unprintable chars with a suitably
14160 chosen usable default char.
71a6ba55 14161
900fa1f1
GM
141622000-03-02 Gerd Moellmann <gerd@gnu.org>
14163
42f55fe0
GM
14164 * xterm.c (note_mouse_highlight): Return quickly if frame's
14165 glyph matrices have been freed.
14166
14167 * dispnew.c (free_glyphs): Block input while freeing matrices.
14168
900fa1f1
GM
14169 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14170
52283633
SM
14171 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14172 Use x_free_colors.
900fa1f1
GM
14173
14174 * dispextern.h (x_free_colors): Add prototype.
14175
14176 * xfaces.c (x_free_colors): New function.
14177 (unload_color, free_face_colors): Use it.
14178
2f950292
EZ
141792000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14180
14181 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14182
14183 * window.c [MSDOS]: Include msdos.h.
14184
54d04320
DL
141852000-03-02 Dave Love <fx@gnu.org>
14186
14187 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14188
14189 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14190 set C_OPTIMIZE_SWITCH for gcc.
14191
0ba93ac4
KH
141922000-03-02 Kenichi Handa <handa@etl.go.jp>
14193
14194 * coding.c (coding_save_composition): Be sure to allocate
14195 composition data area in coding even if there's no composition in
14196 the current run.
14197
a2bc11d4
JR
141982000-03-01 Jason Rumney <jasonr@gnu.org>
14199
14200 * w32term.c: Equivalent changes to those made to xterm.c on
14201 2000-02-25 and 2000-02-24.
14202
14203 * w32fns.c: Equivalent changes to those made to xfns.c on
14204 2000-02-25 and 2000-02-21.
14205
14206 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14207 correct line-end convention is followed.
14208
14209 * w32menu.c [HAVE_BOXES]: Remove #undef.
14210 (single_keymap_panes): Remove code for simulating checkmarks.
14211 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14212 Remove code for drawing simulated checkmarks.
14213 (w32_menu_show): make unibyte help string correctly.
14214 (add_menu_item): draw standard Windows checkmarks. Draw radio
14215 buttons as radio buttons if possible.
14216
72d19d75
GM
142172000-03-01 Gerd Moellmann <gerd@gnu.org>
14218
2df636f4
GM
14219 * sysdep.c (start_of_text): Don't define this function for NetBSD
14220 with ELF.
14221
427ec082 14222 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14223 Don't define.
14224 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14225 (LINKER): Don't undef if __NetBSD__ is defined.
14226
14227 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14228
14229 * fileio.c [__NetBSD__]: Define `unix'.
14230
72d19d75
GM
14231 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14232
ed4d0512
GM
142332000-02-29 Gerd Moellmann <gerd@gnu.org>
14234
50b1039f
GM
14235 * atimer.c (start_atimer): Don't abort when timers are stopped.
14236 (append_atimer_lists): New function.
14237 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14238 arbitrary lists of stopped and running atimers.
14239
ed4d0512
GM
14240 * atimer.c (cancel_atimer): Handle canceling an atimer when
14241 some timers are stopped.
14242
14243 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14244 after canceling it.
14245
14246 * fns.c (maybe_resize_hash_table): Handle case of new size
14247 coming out as being the same as old size.
14248
387023ee
JR
142492000-02-27 Jason Rumney <jasonr@gnu.org>
14250
14251 * makefile.nt: Add atimer.h to dependencies.
14252 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14253 * w32console.c: Only disable window system features for dispextern.h
14254 (initialize_w32_display): Build a display info for the console.
14255 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14256 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14257 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14258 as 2 button mice.
14259 * w32gui.h (struct W32FontStruct): Revert last change after change
14260 to xdisp.c.
14261 * w32menu.c (single_submenu): Set up help string.
14262 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14263 (w32_dialog_show): Set up help string.
14264 * w32term.c (w32_display_info_for_display): Remove unused function.
14265 (w32_draw_bitmap): Use pre-built bitmaps.
14266 (w32_initialize_display_info): New function to initialize parts of
14267 display info that are common to both GUI and console frames.
14268 (w32_term_init): Use w32_initialize_display_info. Do not set
14269 Vw32_num_mouse_buttons here, as it is not called for console
14270 frames. Build bitmaps for indicating truncated lines etc.
14271 (x_delete_display): Destroy pre-built bitmaps.
14272 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14273 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14274
4516715a
DL
142752000-02-27 Dave Love <fx@gnu.org>
14276
14277 * lisp.h: Add a bunch of prototypes.
14278
171ca836
KH
142792000-02-26 Kenichi Handa <handa@etl.go.jp>
14280
14281 * keyboard.c (read_char): Set `usec' correctly.
14282
4013921d
KH
142832000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14284
14285 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14286 `lambda', set reg[RRR] to the map index.
14287 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14288 reg[RRR] to 0. Otherwise, set it to -1.
14289
9244a058
GM
142902000-02-25 Gerd Moellmann <gerd@gnu.org>
14291
2df636f4 14292 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14293
18e21ce8 142942000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14295
f43d79c1
GM
14296 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14297 and contains a `:', prepend `/:'.
14298
14299 * window.c (select_window_1): If selected_window is nil,
14300 don't "swap out" the buffer's point.
14301 (Fset_window_configuration): Set selected_window to nil
14302 before calling Fselect_window.
14303 (unshow_buffer): Don't set point in buffer from window's point
14304 if another more recently selected window also shows the buffer.
14305
bed0c171
GM
143062000-02-25 Gerd Moellmann <gerd@gnu.org>
14307
449c3c52
GM
14308 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14309
f5b58615
GM
14310 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14311 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14312 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14313 New variables.
f5b58615
GM
14314 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14315 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14316 (hide_busy_cursor): New functions.
14317 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14318
14319 * minibuf.c (read_minibuf): Cancel busy-cursor.
14320
14321 * keyboard.c (command_loop_1): Call start_busy_cursor before
14322 Fcommand_execute and cancel_busy_cursor after it.
14323 (timer_check): Remove busy-cursor code.
14324 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14325 cursor timer.
14326
14327 * process.c (wait_reading_process_input): Remove busy-cursor code.
14328
14329 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14330 Fx_hide_busy_cursor.
14331
14332 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14333 Remove prototyoes.
14334 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14335
14336 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14337
14338 * xterm.c (XTread_socket): Remove busy-cursor code.
14339
4eb8436f
GM
14340 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14341 (build_frame_matrix_from_leaf_window): Put code handling
14342 glyph row's not being a slice of a frame row in #if 0.
14343 (sync_window_with_frame_matrix_rows): New function.
14344 (frame_row_to_window): New function.
14345 (mirror_line_dance): Handle copies between windows.
14346
3cb65b0e
GM
14347 * lread.c (Fload): Use `xfree' instead of `free'.
14348 (init_obarray): Use `xmalloc' instead of `malloc'.
14349
bed0c171
GM
14350 * window.c (Fset_window_buffer): Set WINDOW to the window
14351 after decoding.
2add4349
GM
14352 (coordinates_in_window): Take frame's internal border width
14353 into account.
bed0c171 14354
42088c12
GM
143552000-02-24 Gerd Moellmann <gerd@gnu.org>
14356
14357 * xterm.c (x_display_and_set_cursor): Display cursor of
14358 non-selected windows depending on the setting of
14359 cursor_in_non_selected_windows.
14360
14361 * xdisp.c (cursor_in_non_selected_windows): New variable.
14362 (syms_of_xdisp): DEFVAR_BOOL it.
14363
d1e103b2
GM
143642000-02-23 Gerd Moellmann <gerd@gnu.org>
14365
723e779c
GM
14366 * data.c (Fstring_to_number): If number is greater than what
14367 fits into an integer, return a float.
14368
d1e103b2
GM
14369 * eval.c (specbind): Remove references to
14370 keyword_symbols_constant_flag.
14371
14372 * data.c (keyword_symbols_constant_flag): Removed.
14373 (Fmakunbound, set_internal, syms_of_data): Remove references to
14374 keyword_symbols_constant_flag.
14375
14376 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14377
214f877f
KH
143782000-02-23 Kenichi Handa <handa@etl.go.jp>
14379
14380 * syntax.c (multibyte_syntax_as_symbol): New variable.
14381 (syms_of_syntax): Declare it as a Lisp variable.
14382 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14383 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14384 nonzero, treat all multibyte characters as symbol.
52283633 14385 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14386
130adcb7
EZ
143872000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14388
3cb65b0e 14389 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14390 a deleted frame.
130adcb7 14391
17cbbf95
GM
143922000-02-21 Gerd Moellmann <gerd@gnu.org>
14393
14394 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14395
14396 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14397 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14398
beb0bc36
DL
143992000-02-21 Dave Love <fx@gnu.org>
14400
14401 * frame.c (Vmouse_position_function): New variable.
14402 (Fmouse_position): Use it.
14403 (syms_of_frame): Install it.
14404
14405 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14406
1d92afcd
GM
144072000-02-20 Gerd Moellmann <gerd@gnu.org>
14408
14409 * fileio.c (Finsert_file_contents): Unbind the binding of
14410 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14411
14412 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14413 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14414 (specbind, unbind_to): Handle most common case of non-constant
14415 symbol with trivial value specially.
14416
14417 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14418
18e21ce8 144192000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14420
14421 * data.c (Fmake_variable_buffer_local): Doc fix.
14422 Init found_for_buffer to 0.
14423 (Fmake_variable_frame_local): If the variable has already
14424 been buffer-local, set the check_frame field.
14425
1d4311c3
EZ
144262000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14427
14428 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14429 produced for CODING_MODE_LAST_BLOCK requires.
14430
2dc95ddd
DL
144312000-02-18 Dave Love <fx@gnu.org>
14432
14433 * keyboard.c (echo_keystrokes): Remove declaration.
14434 (Vecho_keystrokes) New variable.
14435 (read_char, record_menu_key, read_key_sequence): Use it to allow
14436 use of float value.
14437 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14438
14439 * lread.c: Undef feature selection macros before defining.
14440
f0930f35
GM
144412000-02-18 Gerd Moellmann <gerd@gnu.org>
14442
14443 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14444 for symbols other than the symbol in question.
14445
e3d4de90
DL
144462000-02-17 Dave Love <fx@gnu.org>
14447
14448 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14449
0b378936
GM
144502000-02-17 Gerd Moellmann <gerd@gnu.org>
14451
d621caf7
GM
14452 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14453
0b378936
GM
14454 * alloc.c (enum mem_type): Compile unconditionally.
14455
3b451f74
EZ
144562000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14457
14458 * xfaces.c (tty_defined_color): Don't return faulire indication
14459 for unspecified-fg and unspecified-bg pseudo-colors.
14460
10689a01
GM
144612000-02-17 Gerd Moellmann <gerd@gnu.org>
14462
1216f5e4
GM
14463 * alloc.c (mark_object): Don't mark symbol names in pure space.
14464 (gc_sweep): Don't unmark symbol names in pure space.
14465
14466 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14467 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14468 [GC_MARK_STACK]: New defines.
427ec082 14469 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14470 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14471
14472 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14473
14474 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14475 allocate_buffer instead of xmalloc.
14476
14477 * alloc.c (toplevel): Include setjmp.h.
14478 (PURE_POINTER_P): New define.
14479 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14480 (Vdead) [GC_MARK_STACK]: New variable.
14481 (lisp_malloc): Add parameter TYPE, call mem_insert if
14482 GC_MARK_STACK is defined.
14483 (allocate_buffer): New function.
427ec082 14484 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14485 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14486 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14487 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14488 (MEM_NIL) [GC_MARK_STACK]: New define.
14489 (struct mem_node) [GC_MARK_STACK]: New structure.
14490 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14491 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14492 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14493 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14494 (mark_stack) [GC_MARK_STACK]: New functions.
14495 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14496 (clear_marks): Removed.
14497 (gc_sweep): Set free conses' car, free floats' type, free
14498 symbols' function to Vdead. Use lisp_free to free buffers.
14499 (init_alloc_once): Initialize Vdead.
14500 (survives_gc_p): Return non-zero for pure objects.
14501
14502 * alloc.c: Add comments throughout the file.
14503
2503c8b1
GM
14504 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14505 that unblocks alarms.
14506
8389e1e2
GM
14507 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14508 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14509 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14510
10689a01 14511 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14512
bfc17d18
KH
145132000-02-17 Kenichi Handa <handa@etl.go.jp>
14514
4a09dee0
KH
14515 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14516 avoid infinite error signaling. Allocate sufficient memory for
14517 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14518
2b927d02
SM
145192000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14520
14521 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14522 depends on the previous behavior.
14523
b49cb764
GM
145242000-02-16 Gerd Moellmann <gerd@gnu.org>
14525
14526 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14527
99e95407
GM
145282000-02-15 Gerd Moellmann <gerd@gnu.org>
14529
14530 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14531
14532 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14533 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14534 write(2).
14535
6ffd3cf7
RS
145362000-02-15 Richard M. Stallman <rms@gnu.org>
14537
14538 * data.c (set_internal): Don't make variable buffer-local
14539 if within a let-binding for the same buffer.
14540 (let_shadows_buffer_binding_p): New function.
14541
14542 * eval.c (specbind): For buffer-local value,
14543 record the current buffer also.
14544 (unbind_to): Cope with that change.
14545
cad53475
GM
145462000-02-15 Gerd Moellmann <gerd@gnu.org>
14547
14548 * window.c (Fsave_window_excursion): Doc fix.
14549
1aa963c8
SM
145502000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14551
14552 * syntax.c (back_comment): Make sure we only consider comment-starters
14553 of the relevant style and return -1 in case of a failure to find the
14554 beginning of the comment.
14555 (Fforward_comment): If back_comment fails, go back to the position just
14556 after the comment-end.
14557 (scan_lists): Add comment describing a very minor bug.
14558
b9b84fd3
SM
145592000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14560
14561 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14562 `completion-regexp-list' in the docstring.
14563
3a28db80
DL
145642000-02-14 Dave Love <fx@gnu.org>
14565
14566 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14567
fb4a568d
SM
145682000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14569
14570 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14571 to Emacs' syntax. Also fix the comment about set/not-set meanings
14572 since Emacs syntax is not the value 0 any more.
14573 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14574 since it's now part of RE_SYNTAX_EMACS.
14575
1063ebb5
DL
145762000-02-12 Dave Love <fx@gnu.org>
14577
52283633 14578 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14579
fb07a302
GM
145802000-02-12 Gerd Moellmann <gerd@gnu.org>
14581
14582 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14583
aaf2320c
DL
145842000-02-12 Dave Love <fx@gnu.org>
14585
14586 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14587
14588 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14589 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14590 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14591
14592 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14593
14594 * s/nextstep.h: Don't define HAVE_ALLOCA.
14595
14596 * config.in: Add vfork bits.
14597
eedf8bde
GM
145982000-02-12 Gerd Moellmann <gerd@gnu.org>
14599
14600 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14601 unwind function to undo the effect of stopping atimers.
14602
52283633 14603 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14604
14605 * atimer.c (stopped_atimers): New variable.
14606 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14607 New functions.
14608
14609 * atimer.h (stop_other_atimers, run_all_atimers)
14610 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14611
eedf8bde
GM
14612 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14613
8476c2f8
KR
146142000-02-11 Ken Raeburn <raeburn@gnu.org>
14615
14616 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14617 library may depend on jpeg.
14618 (atimer.o): Depends on atimer.c.
14619
0e85e4a3
KH
146202000-02-11 Kenichi Handa <handa@etl.go.jp>
14621
14622 * insdel.c (del_range_1): Call update_compositions.
14623 (del_range_both): Call update_compositions just once..
14624
97fa0cc8
DL
146252000-02-10 Dave Love <fx@gnu.org>
14626
14627 * xfns.c (create_frame_xic): Fix initialization of automatic
14628 aggregates for pcc.
14629
25566a3c
KH
146302000-02-09 Kenichi Handa <handa@etl.go.jp>
14631
14632 * ccl.c (CCL_MAKE_CHAR): New macro.
14633 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14634 registers by CCL_MAKE_CHAR before calling translate_char.
14635 <CCL_TranslateCharacterConstTbl> Likewise.
14636
69da54ba
DL
146372000-02-08 Dave Love <fx@gnu.org>
14638
14639 * lread.c (__EXTENSIONS__): Define.
14640
f7136ee8
GM
146412000-02-08 Gerd Moellmann <gerd@gnu.org>
14642
14643 * puresize.h (BASE_PURESIZE): Increase to 650000.
14644
7768790b
EZ
146452000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14646
14647 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14648 the help message.
14649
38fd211b
EZ
146502000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14651
14652 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14653 md, mh, mb, mr, and me to the fake termcap entry.
14654
66e4690f
KR
146552000-02-06 Ken Raeburn <raeburn@gnu.org>
14656
14657 * sound.c (sound_cleanup): Don't call device close routine if the
14658 function pointer is null.
14659
a75dfea0
AI
146602000-02-06 Andrew Innes <andrewi@gnu.org>
14661
14662 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14663 around image definitions and prototypes.
14664 (gamma_correct) [WINDOWSNT]: New prototype.
14665
14666 * w32term.c (x_make_frame_visible): Replace call to
14667 input_poll_signal with poll_for_input.
14668
14669 * window.c [WINDOWSNT]: Include w32term.h.
14670
14671 * xdisp.c [WINDOWSNT]: Include w32term.h.
14672
14673 * makefile.nt: Add dependencies on w32gui.h.
14674 (OBJ1): Include atimer.obj.
14675 ($(BLD)\atimer.obj): New dependency rule.
14676
14677 * w32.c (sigmask): New function (does nothing).
14678 (sigunblock): Ditto.
14679
14680 * frame.c [WINDOWSNT]: Include w32term.h.
14681
14682 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14683
14684 * lread.c (syms_of_lread): Fix literal newlines.
14685
14686 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14687 the string constant limit (2048 bytes) in MSVC.
14688 (main): Ditto.
14689
59ddecde
GM
146902000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14691
52283633 14692 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14693 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14694 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14695 dispatch the event.
14696
07590973
DL
146972000-02-04 Dave Love <fx@gnu.org>
14698
14699 * fileio.c: Remove some unused vars.
14700 (_GNU_SOURCE): Define (for euidaccess).
14701
14702 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14703
14704 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14705 gcpro1, gcpro2.
14706 (read_minibuf): Deal with allow_props correctly.
14707
649351f9
EZ
147082000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14709
14710 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14711
66e4690f 147122000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14713
14714 * search.c (compile_pattern): If a cache entry has a nil regexp,
14715 fill in that entry instead of clobbering a previously cached
14716 string regexp.
14717
66e4690f 147182000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14719
14720 * puresize.h (BASE_PURESIZE): Increase to 610000.
14721
d240a249
GM
147222000-02-02 Gerd Moellmann <gerd@gnu.org>
14723
14724 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14725 can GC.
14726
ca91fb26
KH
147272000-02-02 Kenichi Handa <handa@etl.go.jp>
14728
25660570
KH
14729 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14730 instead of incrementing ic directly.
14731 <CCL_WriteExprConst> Likewise.
14732 <ccl_set_expr>: Set ic to jump_address.
14733
ca91fb26
KH
14734 * fileio.c (e_write): Fix the handling of
14735 CODING_FINISH_INSUFFICIENT_SRC.
14736
2ede9689
DL
147372000-02-01 Dave Love <fx@gnu.org>
14738
14739 * editfns.c (Fpropertize): Doc fix.
14740
14741 * process.c (Fstart_process): Doc fix.
14742
14743 * eval.c: Fix various doc strings not to duplicate information
14744 from help-manyarg-func-alist.
14745
52283633 14746 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14747
14748 * doc.c (Vhelp_manyarg_func_alist): New variable.
14749 (Fdocumentation): Use it.
14750 (syms_of_doc): Define it.
14751
b6680a0e
GM
147522000-01-31 Gerd Moellmann <gerd@gnu.org>
14753
2cb750ba
GM
14754 * xterm.c (xim_open_dpy): Remove unused local variable.
14755
52283633 14756 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14757
14758 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14759 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14760
b6680a0e
GM
14761 * fns.c (sweep_weak_table): New function.
14762 (sweep_weak_hash_tables): Use it. Keep on marking until there
14763 is no more change.
14764
994c5afe
GM
147652000-01-30 Gerd Moellmann <gerd@gnu.org>
14766
14767 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14768 that XTread_socket does not crash by trying to call XNoOp on a
14769 closed display.
427ec082 14770
f00276e3
JR
147712000-01-30 Jason Rumney <jasonr@gnu.org>
14772
14773 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14774 Change selected_frame to SELECTED_FRAME ().
14775 (w32_console_mouse_position): Remove #ifndef MULE from around
14776 `insist' parameter.
14777
14778 * makefile.nt: Remove dosfns.obj.
14779
14780 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14781
14782 * w32fns.c (w32_defined_color): Check for valid frame before
14783 applying gamma correction. Eliminate dependency on frame elsewhere.
14784 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14785 (w32_to_x_font): Use resx and resy not height_in and width_in.
14786 (x_to_w32_font): Doc fix.
14787 (xlfd_strip_height): New function to strip and return font height.
14788 (w32_font_match): Compare height separately from rest of xlfd
14789 spec, using xlfd_strip_height.
14790
14791 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14792 width_in. Use w32_defined_color in place of defined_color.
14793
14794 * w32faces.c: Merge more of DOS and X specifics in preparation for
14795 merge with xfaces.c.
14796 (defined_color): Remove FIXME comment.
14797 (tty_color_name): Provide w32-specific function.
14798 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14799
14800 * w32console.c (turn_on_face, turn_off_face): Removed.
14801 (w32_face_attributes): New function.
14802 (Global_variables): Reduce scope where possible.
14803 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14804 fill attribute.
14805 (hl_mode): Don't modify text attributes.
14806 (write_glyphs): Don't do anything if len <= 0. Use
14807 w32_face_attributes to get attributes for drawing. Write
14808 terminating codes using char_attr_normal.
14809 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14810 (update_begin, update_end): Likewise.
14811 (vga_stdcolor_name): New function.
14812 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14813 (Fset_screen_color): Remove char_attr_reverse.
14814
b08e8bb2
GM
148152000-01-29 Gerd Moellmann <gerd@gnu.org>
14816
14817 * xfns.c (xic_set_preeditarea): Take window parameter and
14818 window-relative pixel-positions.
14819
14820 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14821 is its frame's selected window.
14822 (xim_instantiate_callback): Likewise.
14823
14824 * xfns.c (x_create_im): Removed.
14825 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14826 (supported_xim_styles): Renamed from supported_styles.
14827 (best_xim_style): Renamed from best_style.
14828 (create_frame_xic): Renamed from xic_create_frame.
14829 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14830
b08e8bb2
GM
148312000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14832
14833 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14834 our frames, call XFilterEvent with 2nd parameter `None'.
14835 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14836 returning XBufferOverflow.
52283633 14837 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14838 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14839 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14840 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14841 (xim_initialize, xim_close)
14842 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14843 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14844 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14845 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14846
14847 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14848 and `xim_styles'.
14849 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14850 `xic_style' and `xic_xfs'.
14851 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14852 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14853 (FRAME_XIM): Removed.
14854
14855 * xfns.c (supported_styles): New variable.
14856 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14857 (xic_create_xfontset, best_style, xic_create_frame)
14858 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14859 (xic_set_xfontset): New functions.
14860
142e109c
DL
148612000-01-28 Dave Love <fx@gnu.org>
14862
14863 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14864
14865 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14866
b02786f9
GM
148672000-01-28 Gerd Moellmann <gerd@gnu.org>
14868
d060bc9f
GM
14869 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14870 for *scratch* if it already existed.
14871
b02786f9
GM
14872 * emacs.c (USAGE): New macro.
14873 (main): Use it to display usage information.
14874
2c52d7e4
EZ
148752000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14876
14877 Support for the menu-help feature:
14878
52283633 14879 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14880
14881 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14882 part of the line to the termscript file.
14883 (IT_clear_to_end): Clear the entire line, not just its beginning.
14884 (menu_help_message, prev_menu_help_message): New variables.
14885 (IT_menu_make_room): Make room for the help_text member.
14886 (IT_menu_display): New argument disp_help; all callers changed.
14887 If disp_help is non-zero, store the help text of the active menu
14888 item in menu_help_message.
14889 (XMenuAddPane): Initialize the help_text member to NULL.
14890 (XMenuAddSelection): New argument help_text. Store it in the
14891 XMenu structure.
14892 (XMenuActivate): New argument help_callback. If the value of
14893 menu_help_message has changed since the last time, display the
14894 menu help message text while waiting for the mouse to move. Clear
14895 the echo area before exiting.
14896 (XMenuDestroy): Free the help_text member.
14897
ffe0bcd1
GM
148982000-01-27 Gerd Moellmann <gerd@gnu.org>
14899
14900 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14901 XMenuAddSelection. Pass help callback to XMenuActivate.
14902 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14903
50dbd23f
EZ
149042000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14905
14906 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14907 and EMACS_SET_USECS.
14908
f5941bf8
GM
149092000-01-26 Dave Love <fx@gnu.org>
14910
6c67ddee
DL
14911 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14912
f5941bf8
GM
14913 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14914 an error may be signalled.
14915
9e49c990
GM
149162000-01-26 Gerd Moellmann <gerd@gnu.org>
14917
fc3cb460
GM
14918 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14919 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14920
9e49c990
GM
14921 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14922
d0c037d8
GM
149232000-01-25 Gerd Moellmann <gerd@gnu.org>
14924
14925 * charset.c (Fstring): If there is a multibyte char among
14926 the args, always return a multibyte string.
14927
e12489f9
GM
149282000-01-25 Gerd Moellmann <gerd@gnu.org>
14929
14930 * sysdep.c (sys_select): Turn atimers off and on instead of
14931 recording and restoring old alarm handler
14932
14933 * process.c (toplevel): Include atimer.h.
14934 (create_process_1): Rewritten.
14935 (create_process): Use atimers instead of alarm.
14936 (wait_reading_process_input) [hpux]: Turn atimers off instead
14937 of turning off SIGALRM.
14938 (wait_reading_process_input): Turn off atimers instead off
14939 calling stop_polling.
14940
14941 * emacs.c (main): Call init_atimer.
14942
14943 * keyboard.c (toplevel): Include systime.h and atimer.h.
14944 (polling_for_input): Removed because unused.
14945 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14946 (poll_timer): New variable.
14947 (poll_for_input, poll_for_input_1): New functions.
14948 (start_polling, stop_polling): Rewritten.
14949
14950 * keyboard.h (polling_for_input): Removed.
427ec082 14951
e12489f9
GM
14952 * atimer.h, atimer.c: New files.
14953
14954 * Makefile.in (obj): Add atimer.o.
14955 (atimer.o): New target.
14956
14957 * blockinput.h (pending_atimers): Add extern declaration.
14958 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14959
14960 * lisp.h (popup_activated_flag): Add extern declaration.
14961
14962 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14963 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14964 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14965
14966 * xterm.c (toplevel): Include atimer.h.
14967 (toolkit_scroll_bar_interaction): New variable.
14968 (Fxt_process_timeouts): Removed.
14969 (x_process_timeouts): New function.
14970 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14971 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14972 (x_make_frame_visible): Call poll_for_input_1 instead of
14973 input_poll_signal. Don't call alarm.
14974 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14975
1e5279b9
DL
149762000-01-24 Dave Love <fx@gnu.org>
14977
6c67ddee 14978 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14979 Don't use -cckr -- apparently not now necessary.
14980
edf6aeb8
EZ
149812000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14982
14983 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14984 screen boundary.
14985
9badad41
JR
149862000-01-23 Jason Rumney <jasonr@gnu.org>
14987
14988 * w32fns.c (w32_defined_color): Apply gamma correction before
14989 trying to map to the palette.
14990 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14991 to w32_clear_rect.
14992
14993 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14994 here. Callers changed to always pass real device context.
14995 (w32_draw_bitmap): Likewise.
14996 (w32_get_glyph_overhangs): Likewise.
52283633 14997 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14998 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14999 pfnSetScrollInfo and SetScrollRange.
15000 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
15001 back into MULE characters after decoding them.
15002 (x_get_glyph_face_and_encoding): Likewise.
15003 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
15004 GetCharABCWidthsW fails, since this is defined on Windows 9x.
15005 (x_produce_glyphs): Calculate per char metrics for a character
15006 that we know exists in default font when font_not_found_p is true.
15007
63bd786b
JR
150082000-01-22 Jason Rumney <jasonr@gnu.org>
15009
15010 * makefile.nt (intervals.obj, composite.obj): New modules.
15011 (composite.h): Added as dependency where appropriate.
15012
15013 * w32gui.h (XGCValue): New struct for emulating X GCs.
15014
15015 * w32term.h (XCharStruct): New struct for emulating X.
15016
15017 * w32console.c (turn_on_face, turn_off_face): New functions.
15018 (change_line_highlight): New prototype for new redisplay.
15019 (write_glyphs): Support multibyte text. Support faces.
15020
52283633 15021 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
15022
15023 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
15024 throughout. struct frame * in place of FRAME_PTR.
15025 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 15026 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
15027 (w32_get_arg): Renamed from x_get_arg.
15028 (Fx_file_dialog): New function.
15029 (w32_list_fonts): Check cache before asking system.
15030 (Vw32_enable_synthesized_fonts): New variable.
15031 (Vw32_enable_italics): Obsolete, removed.
15032
15033 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15034 Use SELECTED_FRAME macro.
15035
15036 * w32menu.c: Add skeleton support for help strings on menus.
15037 (add_menu_item): Native checkbox and radio support added, but not
15038 yet enabled due to bugs.
15039 (push_menu_item): Add parameters type, selection and help.
15040 Callers updated.
15041 Formatting changes to reduce unnecessary diffs with xmenu.c.
15042
15043 * w32select.c (Fw32_set_clipboard_data): Update call to
15044 find_charset_in_str.
15045
15046 * w32term.c: Complete rewrite for new redisplay based on new
15047 xterm.c with necessary sections merged back in from old w32term.c.
15048
6ffd3cf7 150492000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
15050
15051 * data.c (set_internal): Further fix in same criterion.
15052
6ffd3cf7 150532000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
15054
15055 * data.c (set_internal): Fix the criteria for whether
15056 to swap out the old cached binding.
15057
60af03f1
DL
150582000-01-19 Dave Love <fx@gnu.org>
15059
15060 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15061
f9be074f
KH
150622000-01-18 Kenichi Handa <handa@etl.go.jp>
15063
15064 * regex.c (re_compile_fastmap): While checking a range table for
15065 `charset', skip flag bits for a character class correctly.
15066
52b8dbf9
GM
150672000-01-17 Gerd Moellmann <gerd@gnu.org>
15068
d36100c9
GM
15069 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15070
52283633 15071 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
15072
15073 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 15074 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15075
15076 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15077 MENU_ITEMS_ITEM_.*.
15078 (MENU_ITEMS_ITEM_HELP): New enumerator.
15079 (push_menu_item): Add parameter HELP. Record help in menu_items.
15080 (single_menu_item, single_submenu, list_of_items): Call
15081 push_menu_item with new parameter.
15082 (single_submenu): Set help string in widget value.
15083 (menu_highlight_callback): New function.
15084 (set_frame_menubar): Call lw_create_widget with new
15085 parameter list.
15086 (xmenu_show, xdialog_show): Ditto.
15087
3139018f
GM
150882000-01-13 Gerd Moellmann <gerd@gnu.org>
15089
15090 * sound.c (Fplay_sound): Improve doc string.
15091
83c8f461
RS
150922000-01-11 Richard M. Stallman <rms@gnu.org>
15093
15094 * lisp.h (set_internal): Enter the new arg.
15095
15096 * eval.c (specbind): Record buffer-local variables specially,
15097 indicating which buffer's binding was saved.
15098 (unbind_to): Restore buffer-local variables specially
15099 in the proper buffer.
15100
15101 * data.c (set_internal): New arg BUF.
427ec082 15102
83c8f461
RS
15103 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15104 * data.c (Fset): Pass new arg to set_internal.
15105 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15106
1fab1775
GM
151072000-01-11 Gerd Moellmann <gerd@gnu.org>
15108
52283633 15109 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15110
83c8f461 151112000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15112
15113 * minibuf.c (Ftry_completion): Doc fix.
15114
7a85e4df
GM
151152000-01-11 Gerd Moellmann <gerd@gnu.org>
15116
15117 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15118 vector, too.
15119
a970dae4
AS
151202000-01-11 Andreas Schwab <schwab@suse.de>
15121
15122 * coding.c (code_convert_region): Initialize total_skip.
15123
c65d14ee
DL
151242000-01-08 Dave Love <fx@gnu.org>
15125
15126 * eval.c (Fuser_variable_p): Check customizability too.
15127
834938d2
GM
151282000-01-07 Gerd Moellmann <gerd@gnu.org>
15129
15130 * minibuf.c (Fcompleting_read): Doc fix.
15131
e0303cd6
GM
151322000-01-05 Gerd Moellmann <gerd@gnu.org>
15133
8a26744b
GM
15134 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15135 -L /usr/local/lib.
15136
e0303cd6
GM
15137 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15138 Check that input style is supported before trying to create an
15139 IC for it.
15140 (x_window): Call x_create_im.
427ec082 15141
2e471eb5
GM
151422000-01-04 Gerd Moellmann <gerd@gnu.org>
15143
560a7bd2
GM
15144 * xfns.c (current_gif_memory_src): New variable.
15145 (gif_load): Record the address of the current memory source
15146 in current_gif_memory_src.
15147 (gif_read_from_memory): Use current_gif_memory_src.
15148
f9ee84a3
GM
15149 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15150 macros statement form.
15151
d1299cde
GM
15152 * sound.c (struct sound): Renamed from struct sound_file.
15153 (struct sound): Add members `data' and `header_size'.
15154 (enum sound_attr): Add SOUND_DATA.
15155 (current_sound, current_sound_device): Variables renamed from
15156 sound_file and sound_device.
15157 (parse_sound): Parse :data.
15158 (parse_sound): Handle sound data in strings.
15159 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15160 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15161 needed header size.
15162 (wav_play, au_play): Play sounds from string data.
15163
2e471eb5
GM
15164 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15165
15166 * lisp.h: Add prototype for allocate_string_data.
15167
52283633 15168 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15169
15170 * alloc.c (mark_buffer): Remove code in #if 0.
15171 (gc_sweep): Ditto.
15172 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15173 (strings_consed): New variable.
15174 (allocate_string): Set it.
15175 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15176 (Fmemory_use_counts): Return strings_consed. Use Flist.
15177
15178 * alloc.c: General cleanup in comments etc. Remove conditional
15179 compilation for `standalone'.
15180
15181 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15182
15183 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15184 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15185 (DONT_COPY_FLAG): Removed.
15186 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15187 (struct sdata, struct sblock): New
15188 (struct string_block): Rewritten.
15189 (STRINGS_IN_STRING_BLOCK): New macro.
15190 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15191 (large_sblocks, string_blocks, string_free_list): New variables.
15192 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15193 (init_strings): Rewritten.
15194 (allocate_string, allocate_string_data, compact_small_strings)
15195 (free_large_strings, sweep_strings): New functions.
15196 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15197 (struct string_block_head, current_string_block)
15198 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15199 (STRING_PAD): Removed.
15200 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15201 (Fgarbage_collect): Don't set mark bit in large strings.
15202 (mark_object): Mark strings differently. Mark symbol names
15203 differently.
15204 (survives_gc_p): Test marked strings differently.
427ec082 15205 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15206 symbol names.
15207 (compact_strings): Removed.
15208
42608ba8
EZ
152092000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15210
15211 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15212 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15213
e0a09e1a
KH
152142000-01-04 Kenichi Handa <handa@etl.go.jp>
15215
dd9f0750 15216 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15217 in a non-empty buffer.
dd9f0750 15218
3c0f3b15 15219 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15220
44cd3ae5
GM
152212000-01-03 Gerd Moellmann <gerd@gnu.org>
15222
15223 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15224 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15225
15226 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15227
c182a70f
EZ
152282000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15229
15230 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15231 need to test for MSDOS frames.
15232
24480d5b
EZ
152332000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15234
15235 * dosfns.c (unspecified_colors): Remove.
15236 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15237 unspecified_bg.
15238 (msdos_stdcolor_name): Return strings for unspecified fore- and
15239 back-ground colors.
15240
15241 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15242 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15243 (tty_color_name): Return Lisp strings for unspecified fore- and
15244 back-ground colors.
15245 (Finternal_set_lisp_face_attribute): Remove the special treatment
15246 for Qunspecified_{f,b}g.
52283633 15247 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15248
047f434a
GM
152492000-01-03 Gerd Moellmann <gerd@gnu.org>
15250
15251 * xdisp.c (reseat_at_next_visible_line_start): Position before
15252 newline only if ending up on a newline.
15253 (next_element_from_ellipsis): Return success. Handle case of
52283633 15254 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15255 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15256 returns 0.
15257
d684c676
EZ
152582000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15259
15260 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15261 (Fcolor_supported_p): Renamed from face-color-supported-p.
15262
5fe1d139
EZ
152632000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15264
15265 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15266 list of colors renamed to tty-defined-color-alist.
15267 (tty_color_name): Pass the frame to tty-color-by-index.
15268 (realize_tty_face): tty-color-alist is now a function which
15269 accepts the frame as argument.
15270
52283633 15271 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15272
816be8b8
EZ
152732000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15274
15275 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15276 encode_terminal_code.
15277
b635321e
EZ
152782000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15279
15280 * dispnew.c (mode_line_string): Support termcap frames as well.
15281
9b784e96
GM
152822000-01-01 Gerd Moellmann <gerd@gnu.org>
15283
27189709
GM
15284 * syntax.c (Fforward_word): Undo previous change.
15285
15286 * editfns.c (Fconstrain_to_field): Don't constrain if
15287 inhibit-field-text-motion is non-nil.
15288 (Fline_beginning_position): Undo previous change.
15289 (Fline_end_position): Ditto.
15290
15291 * syntax.c (Fforward_word): Notice field boundaries only if
15292 inhibit-field-text-motion is nil.
15293
15294 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15295
15296 * editfns.c (Vinhibit_field_text_motion): New variable.
15297 (inhibit-field-text-motion): New DEFVAR_LISP.
15298 (Fline_beginning_position, Fline_end_position): Notice field
15299 boundaries only if inhibit-field-text-motion is nil.
15300
45158a91
GM
15301 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15302 All calls adjusted.
15303 (x_build_heuristic_mask): Likewise.
15304 (xbm_load_image_from_file): Change error output.
15305 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15306 (gif_load, gs_load, x_kill_gs_process): Ditto.
15307
9b784e96
GM
15308 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15309 color indices when accessing raster pixels.
63cec32f
GM
15310 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15311 one of :file or :data.
15312 (enum pbm_keyword_index): Add PBM_DATA.
15313 (pbm_format): Add :data.
15314 (pbm_image_p): Allow either :file or :data.
15315 (pbm_read_file): New function.
15316 (pbm_scan_number): Rewritten to read from string.
15317 (pbm_load): Support :data.
9b784e96 15318
2cb085db 15319See ChangeLog.8 for earlier changes.
6922b018
KH
15320
15321;; Local Variables:
49b3bd82 15322;; coding: iso-2022-7bit
6922b018 15323;; End:
2a34a036
GM
15324
15325 Copyright (C) 2001 Free Software Foundation, Inc.
15326 Copying and distribution of this file, with or without modification,
15327 are permitted provided the copyright notice and this notice are preserved.