(line-move-invisible): New subroutine.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1ab964d7
KR
12001-12-27 Ken Raeburn <raeburn@gnu.org>
2
3 * window.c (enlarge_window): In new preserve_before code, convert
4 CURBEG from lisp object to integer before doing arithmetic.
5
749f499f
RS
62001-12-27 Richard M. Stallman <rms@gnu.org>
7
8 * bytecode.c (Fbyte_code): Undo previous change.
9
b5d9aaba
KS
102001-12-26 Kim F. Storm <storm@cua.dk>
11
12 * keyboard.c (record_char): Ignore duplicate help-echo events only
13 separated by mouse-movement. When tracking mouse, only record
14 first and last mouse-movement event in same window.
15 Don't record mouse-movement events in keyboard macros.
16
d0fd26dd
RS
172001-12-25 Richard M. Stallman <rms@gnu.org>
18
b4c45162
RS
19 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
20 (Fenlarge_window): New arg PRESERVE_BEFORE.
21
d0fd26dd
RS
22 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
23 instead of Fstring_as_unibyte.
24
c95eaa61
PJ
252001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
26
27 The following changes remove mocklisp support:
28
29 * mocklisp.h, mocklisp.c: Files removed.
30
31 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
32 `Qmocklisp' and `Qmocklisp_arguments'.
33 Remove prototype of syms_of_mocklisp.
34
35 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
36 files.
37
38 * callint.c: Do not include mocklisp.h.
39 (Fcall_interactively): Do not test for mocklisp case.
40
41 * eval.c: Remove variables `Qmocklisp_arguments',
42 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
43 ml_apply.
44 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
45 not test for mocklisp case.
46 (Fwhile): Remove unused variable `tem'.
47 (syms_of_eval): Remove variable `moclisp-arguments'.
48
49 * data.c (wrong_type_argument): Remove mocklisp case.
50
51 * doc.c (Fdocumentation): Remove mocklisp case.
52
53 * emacs.c (main): Do not call syms_of_mocklisp.
54
31877e0a
RS
552001-12-21 Richard M. Stallman <rms@gnu.org>
56
57 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
58 to the left or to the right of the pointer, put it against
59 the left screen edge.
60
e2c3786a
EZ
612001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
62
63 * Makefile.in (distclean): Remove .gdbinit if we are building
64 outside the source tree.
65
c513fc03
EZ
662001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
67
bf794306
EZ
68 * w32.c (emacs_root_dir): New function.
69
70 * msdos.c (emacs_root_dir): New function.
71
72 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
73 of the current drive as the fallback for default_directory.
74
62582985
EZ
75 * dired.c (file_name_completion): Run the elements of
76 completion-ignored-extensions through ENCODE_FILE.
77
c513fc03
EZ
78 * lisp.h (scmp): Remove prototype, since it's now a static
79 function private to dired.c.
80
3509a04c
RS
812001-12-18 Richard M. Stallman <rms@gnu.org>
82
83 * dired.c (scmp): Function moved from minibuf.c.
84 Delete multibyte handling--used only on encoded strings.
85
86 * minibuf.c (scmp): Function moved to dired.c.
87
88 * fns.c (merge): Add QUIT call.
89
1e9a6186
DL
902001-12-18 Dave Love <fx@gnu.org>
91
92 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
93 language/georgian.el.
94
e4e34e31
EZ
952001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
96
97 * Makefile.in (lisp, shortlisp): Synchronize with changes to
98 lisp/Makefile.in:DONTCOMPILE.
99
4521d1fc
PJ
1002001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
101
7c75be36
PJ
102 * xdisp.c (window_box_height): Do not return negative values.
103 From Gerd Moellmann <gerd@gnu.org>.
104
4521d1fc
PJ
105 * keyboard.c (head_table): Add missing braces around initializer.
106
107 * term.c (keys): Likewise.
108
109 * xfns.c (x_frame_parms, visual_classes): Likewise.
110
93dec019
SS
1112001-12-17 Sam Steingold <sds@gnu.org>
112
113 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
114 patch (COMPOSING_P, not COMPOSING).
115
905cc05a
RS
1162001-12-17 Richard M. Stallman <rms@gnu.org>
117
2ed06289
RS
118 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
119
0e79d667
RS
120 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
121 before calling decode_coding.
122
123 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
124
125 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
126 instead of only for COMPOSITION_DISABLED.
127
82a7ab23
RS
1282001-12-16 Richard M. Stallman <rms@gnu.org>
129
d75bec6a
RS
130 * alloc.c (pure_alloc): After overflow, allocate just a small block.
131
52dcb476
RS
132 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
133
82a7ab23
RS
134 * buffer.h (struct buffer): New field `display_error_modiff'.
135 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
136
137 * window.c (Frecenter): Clear display_error_modiff field.
138
139 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
140 Call redisplay_window, but not if display_error_modiff field says no.
141 (redisplay_window_error): New function.
142 (displayed_buffer): New variable.
143 (redisplay_internal, redisplay_windows): Call the new functions
144 instead of redisplay_window directly.
145
4d0fa4f3
RS
1462001-12-15 Richard M. Stallman <rms@gnu.org>
147
148 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
149
493faf20
AI
1502001-12-14 Andrew Innes <andrewi@gnu.org>
151
325111e9
AI
152 * makefile.w32-in (EMACSLOADPATH): Define.
153 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
154 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 155
4971e491
EZ
1562001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
157
397b3b50 158 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
159 parameter have a numeric value all the time.
160
161 * w32fns.c (x_report_frame_params): Likewise.
162
d911a0fa
RS
1632001-12-12 Richard M. Stallman <rms@gnu.org>
164
165 * fileio.c (Fwrite_region): Doc fix.
166
167 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
168 (redisplay_internal): Call clear_image_cache only for window terminals.
169
201c831a
GM
1702001-12-12 Gerd Moellmann <gerd@gnu.org>
171
172 * xdisp.c (move_it_vertically_backward): Change heuristic
173 for the case that we didn't move far enough initially.
174
175 * window.c (Frecenter): Simplify computation in the case of window
176 system frames and ARG < 0; use window_box_height.
177
34e39c95
RS
1782001-12-11 Richard M. Stallman <rms@gnu.org>
179
180 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
181 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
182
d77fbc16
AI
1832001-12-11 Andrew Innes <andrewi@gnu.org>
184
185 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
186 arg is negative.
187
61e3b944
RS
1882001-12-11 Richard M. Stallman <rms@gnu.org>
189
190 * m/hp800.h: Split the __hpux conditional into the parts
191 that are right for GNU/Linux too and the parts that are not.
192 Use the former if GNU_LINUX.
193 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
194
195 * s/gnu-linux.h (GNU_LINUX): Defined.
196
70da46c3
PJ
1972001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
198
199 * macros.c, msdos.c, w16select.c: Change doc-string comments to
200 `new style' [w/`doc:' keyword].
201
8af01033
JR
2022001-12-10 Jason Rumney <jasonr@gnu.org>
203
204 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
205 before using.
206
7363986a
PJ
2072001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
208
209 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
210 keyword].
211
d9e6c4b1
EZ
2122001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
213
d20fc48a
EZ
214 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
215
d9e6c4b1
EZ
216 * s/hpux10.h (srand48): Don't undefine.
217
f1a85b89
JR
2182001-12-09 Jason Rumney <jasonr@gnu.org>
219
220 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
221 comment to explain where the struct came from.
222 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
223 (add_menu_item): Process pop-up menus first to avoid memory leak.
224 (add_menu_item, w32_menu_display_help): Use `help' field as
225 Lisp_Object.
226 (w32_free_submenu_strings): Only free owner-drawn strings.
227
3a62677f
PJ
2282001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
229
72244db2
PJ
230 * COPYING: Moved back.
231
3a62677f
PJ
232 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
233 Add parentheses around && within ||.
234
235 * indent.c (compute_motion): Likewise.
236
237 * intervals.c (merge_properties_sticky): Likewise.
238
239 * coding.c (setup_coding_system, shrink_encoding_region)
240 (Fdecode_sjis_char): Likewise.
241
9d113d9d
AS
2422001-12-07 Andreas Schwab <schwab@suse.de>
243
b8523839
AS
244 * xdisp.c (display_mode_element): Don't read past end of string if
245 it ends with '%'.
246
9464dea4
AS
247 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
248 can hold.
249
9d113d9d
AS
250 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
251 from most_positive_fixnum and most_negative_fixnum, resp., and
252 type changed to Lisp_Object.
253 (syms_of_data): DEFVAR_LISP them.
254
70ec1377
RS
2552001-12-07 Richard M. Stallman <rms@gnu.org>
256
257 * callproc.c (init_callproc): Set Vdata_directory based on the source
258 location whenever Emacs was run uninstalled.
259
92f7dd37
PE
2602001-12-06 Paul Eggert <eggert@twinsun.com>
261
262 * config.in (HAVE_WORKING_VFORK): New #undefs.
263 * process.c (create_process):
264 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
265 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
266 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
267 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
268 * m/intel386.h (HAVE_VFORK): Likewise.
269 * m/mips-siemens.h (HAVE_VFORK): Likewise.
270 * m/mips.h (HAVE_VFORK): Likewise.
271 * s/freebsd.h (vfork): Remove #define.
272 * s/lynxos.h (HAVE_VFORK): Remove #undef.
273 * s/usg5-4-2.h: Fix comment about vfork.
274
c93674bb
RS
2752001-12-06 Richard M. Stallman <rms@gnu.org>
276
277 * s/hpux10.h (random): Add undef.
278 (HAVE_RANDOM): Define it just once.
279
59b59892
SM
2802001-12-06 Stefan Monnier <monnier@cs.yale.edu>
281
282 * eval.c: Undo last change: the standard syntax is not wanted.
283
c6ea2775
EZ
2842001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
285
286 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
287 scroll bars of the frame before deleting the frame itself. If the
288 frame has a widget, delete the frame with XtDestroyWidget, and do
289 not call XDestroyWindow before that.
290
91175673
KS
2912001-12-06 Kim F. Storm <storm@cua.dk>
292
293 * xfns.c (x_report_frame_params): Return actual fringe widths.
294
295 * w32fns.c (x_report_frame_params): Return actual fringe widths.
296
e0fead5d
AI
2972001-12-05 Andrew Innes <andrewi@gnu.org>
298
299 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
300 excessively large.
301
302 * insdel.c (make_gap_larger): New function.
303 (make_gap_smaller): New function.
304 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
305 make_gap_smaller if arg is negative.
306
c186cdb3
SM
3072001-12-04 Stefan Monnier <monnier@cs.yale.edu>
308
309 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
310 Pass a dummy argument when calling interrupt_signal.
311 (parse_menu_item): Mark disabled items before checking for empty def.
312 (read_char_minibuf_menu_prompt): Make safety more visible.
313 (read_key_sequence): Add a `first_unbound' variable.
314 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
315 unbound prefix as soon as we can detect it.
316
317 * doc.c (Fsnarf_documentation): Add prototype.
318 (get_doc_string): Handle negative arguments.
319 (Fdocumentation): Use AREF and ASIZE.
320 Move the calls to get_doc_string to a single place.
321 Don't confuse an interactive-spec for a docstring reference.
322 (Fdocumentation_property): Take advantage of the fact that
323 get_doc_string now ignores the sign of the docstring position.
324
325 * eval.c: Use standard syntax for usage in docstrings.
326
58cfce98
PJ
3272001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
328
c186cdb3 329 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 330
62854fe2
PJ
3312001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
332
333 * xterm.c (x_draw_image_relief): Use predefined macro instead of
334 constant when the value of `tool_bar_button_relief' is negative.
335
656f46bb
RS
3362001-12-02 Richard M. Stallman <rms@gnu.org>
337
338 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
339 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
340
341 * fileio.c (read_non_regular): Delete Fsignal call.
342
036e218d
SM
3432001-12-01 Stefan Monnier <monnier@cs.yale.edu>
344
345 * lisp.h (run_hook_list_with_args): Undo last change.
346
7ddb2c16
GM
3472001-12-01 Gerd Moellmann <gerd@gnu.org>
348
349 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
350
ace9b298
JR
3512001-12-01 Jason Rumney <jasonr@gnu.org>
352
90647b07
JR
353 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
354
355 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
356 [!WM_MOUSELEAVE]: Define.
357
ace9b298
JR
358 * w32menu.c (current_popup_menu, get_menu_item_info):
359 (set_menu_item_info): New vars.
360 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
361 (w32_menu_show): Set current_popup_menu.
362 (add_menu_item): Allocate new strings for owner-drawn menu items
363 and help strings.
364 Use owner-draw for disabled menu items again.
365 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
366 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
367
368 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
369 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
370 <WM_EXITMENULOOP>: Free menu strings.
371 <WM_MOUSELEAVE>: Stop tracking mouse.
372 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
373
374 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
375 and mouse face.
376
a9549909 3772001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
378
379 The following changes add left-fringe and right-fringe
380 frame parameters to adjust fringe widths, or remove one or
381 both fringes.
036e218d 382
9fbc32aa
KS
383 * frame.h (struct frame): Remove trunc_area_pixel_width and
384 trunc_area_cols fields.
385 (Qleft_fringe, Qright_fringe): Declare.
386 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
387
388 * frame.c (Qleft_fringe, Qright_fringe): New vars.
389 (syms_of_frame): Initialize them.
390
391 * window.c (coordinates_in_window): Handle separate left and right
392 fringe widths.
393
394 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
395 and fringe_cols fields.
396 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
397 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
398 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
399 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
400 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
401 (x_compute_fringe_widths): Add prototype.
402
403 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
404 fill fringe evenly with small dashes.
405 (x_draw_fringe_bitmap): Clear background if necessary. Align and
406 clip the new ZV bitmap to avoid jitter between rows.
407 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
408 background. Don't draw fringe bitmaps if fringe width is zero.
409 (x_compute_fringe_widths): New function.
410 (x_new_font, x_set_window_size_1): Use it.
411
412 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
413 (x_set_frame_parameters): Process Process `font' parameter before other
414 parameters as fringe widths depend on it.
415 (x_set_fringe_width): New function.
416 (x_figure_window_size): Use x_compute_fringe_widths.
417 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
418 parameters.
419
420 * widget.c (set_frame_size): Use x_compute_fringe_widths.
421 (EmacsFrameSetCharSize): Ditto.
422
423 * w32term.h: Merged changes from xterm.h.
424 * w32term.c: Merged changes from xterm.c.
425 * w32fns.c: Merged changes from xfns.c.
426
0142178a
PJ
4272001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
428
429 * COPYING: Removed.
430
d4824a5d
DL
4312001-11-29 Dave Love <fx@gnu.org>
432
433 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
434 extra extra slot.
435 (detect_coding_mask): Fix call of detect_coding_iso2022.
436
b1356234
PJ
4372001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
438
439 * fileio.c (file-name-coding-system)
440 (default-file-name-coding-system): Doc fix (links to referenced
441 variables added).
442
3ce081f5
SM
4432001-11-28 Stefan Monnier <monnier@cs.yale.edu>
444
99e380ee
SM
445 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
446 Add dummy uses of gcproN variables.
447
3ce081f5 448 * category.c (describe_category, describe_category_1)
2ad56c09 449 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
450 (syms_of_category): Don't defsubr Sdescribe_categories.
451
66458f32
RS
4522001-11-28 Richard M. Stallman <rms@gnu.org>
453
454 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
455
456 * Makefile.in (lispdir): New variable, referring to build dir.
457 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
458
59a86c99
AI
4592001-11-28 Andrew Innes <andrewi@gnu.org>
460
461 * w32menu.c (w32_menu_display_help): Actually add the new argument
462 OWNER.
463
eb77a5f4
JR
4642001-11-28 Jason Rumney <jasonr@gnu.org>
465
466 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
467 menu items. From David Ponce <dponce@wanadoo.fr>.
468 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
469 conditionally.
470 (w32_menu_display_help): New argument OWNER. Rewritten to store a
471 help event in the owner frame's keyboard buffer.
472
473 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
474 (Fx_show_tip): Don't subtract last width from row width.
475
476 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
477 (w32_read_socket): Use EQ to compare frames.
478
bb313871
GM
4792001-11-28 Gerd Moellmann <gerd@gnu.org>
480
481 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
482 OVERLAPS_P.
483
55b43a63
PJ
4842001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
485
6052529b
PJ
486 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
487 `gcpro3' and `gcpro4'.
488
3ce081f5
SM
489 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
490
4912001-11-28 Stefan Monnier <monnier@cs.yale.edu>
492
493 * ccl.c: Use AREF and ASIZE.
494
4952001-11-27 Stefan Monnier <monnier@cs.yale.edu>
496
497 * lisp.h (run_hook_list_with_args): Remove.
498 (LIST_END_P): Fix call to wrong_type_argument.
499 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 500
111ed14e
SM
5012001-11-26 Stefan Monnier <monnier@cs.yale.edu>
502
9fabb2f5
SM
503 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
504 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
505
506 * eval.c: Use AREF and ASIZE.
507 (Ffetch_bytecode): Add the file name to the error message.
508
509 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
510 which match the end of the file-name.
511 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
512 is not a valid env var, but leave it as is instead.
513
111ed14e
SM
514 * keymap.c (access_keymap): Handle t bindings like nil bindings.
515 Make nil bindings in char-tables transparent.
516 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
517
2fa0eedf
RS
5182001-11-26 Richard M. Stallman <rms@gnu.org>
519
d1420435
RS
520 * textprop.c (set_text_properties_1): Allow START, END in either order.
521 Do nothing if range is empty.
522
2fa0eedf
RS
523 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
524
ebcbef4e
RS
525 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
526 (clean): Not here.
527
5c131048
SM
5282001-11-25 Stefan Monnier <monnier@cs.yale.edu>
529
530 * textprop.c (set_text_properties_1): Clearly mark that the
531 interval should not be empty.
532
533 * intervals.c (graft_intervals_into_buffer):
534 Don't call set_text_properties_1 on an empty interval.
535
96d276c3
RS
5362001-11-25 Richard M. Stallman <rms@gnu.org>
537
6108b49c
RS
538 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
539
96d276c3
RS
540 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
541 don't lose the data in it.
542
5eea19a4
RS
5432001-11-25 Juanma Barranquero <lektu@terra.es>
544
545 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
546
547 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
548
549 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
550
438e57dd
SM
5512001-11-25 Stefan Monnier <monnier@cs.yale.edu>
552
553 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
554
c88e5347
EZ
5552001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
556
557 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
558 Niemitalo <kon@iki.fi>.
559
59ce1461
JR
5602001-11-25 Jason Rumney <jasonr@gnu.org>
561
562 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
563
564 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
565 (Fx_show_tip): Block input during frame creation.
566 (Fx_show_tip, Fx_hide_tip): Enable.
567
8727d588
RS
5682001-11-24 Richard M. Stallman <rms@gnu.org>
569
570 * lread.c (Fload): Detect recursive load error for more than 3
571 nestings of the same file.
572 (Vrecursive_load_depth_limit): Variable deleted.
573 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
574
cc63037e
JR
5752001-11-24 Jason Rumney <jasonr@gnu.org>
576
577 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
578 mouse position if either left or top is not specified.
579
580 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
581 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
582 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
583 (my_create_tip_window): Assign tip_window.
584 (x_create_tip_frame): Use same defaults as X.
585 (compute_tip_xy): Remove unused variable. Use full screen width.
586 (Fx_show_tip): Do not double height. Call ShowWindow directly.
587
588 * w32term.c (x_after_update_window_line): Doc fix.
589 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
590 frames.
591 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
592
593 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
594 for all Windowed systems.
595
deece6f5
EZ
5962001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
597
598 * msdos.c (IT_clear_screen): If the frame's faces are not yet
599 realized, use the initial screen colors to clear the screen.
600
1b944d9c
PJ
6012001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
602
28ff4293
PJ
603 * textprop.c (Fset_text_properties): Remove unused variables
604 `unchanged', `prev_changed', `s' and `len'.
605
56167cc5
PJ
606 * search.c (Freplace_match): Remove unused variable `inslen'.
607
1b944d9c
PJ
608 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
609
ca56d953
JR
6102001-11-22 Jason Rumney <jasonr@gnu.org>
611
612 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
613 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
614 (my_create_tip_window): New function.
615 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 616 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 617
33399dce
JR
6182001-11-20 Jason Rumney <jasonr@gnu.org>
619
620 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
621 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
622
623 * w32fns.c (Vw32_system_coding_system): Remove.
624 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
625
9b46de40
SM
6262001-11-19 Stefan Monnier <monnier@cs.yale.edu>
627
6710ea06
SM
628 * fileio.c (Fwrite_region): Move choose_write_coding_system to
629 after build_annotations.
630
a395ef6a
SM
631 * syntax.c (describe_syntax): Add dummy arg.
632 (describe_syntax_1): Update call to describe_vector.
633
634 * category.c (describe_category): Add dummy arg.
635 (describe_category_1): Update call to describe_vector.
636
637 * keymap.c (Fdescribe_vector): Add `describer' parameter.
638 (describe_command, describe_translation): Add dummy second param.
639 (describe_map): Call elt_describer with two arguments.
640 (describe_vector_princ): Add `fun' parameter.
641 Call it instead of the hardcoded `princ'.
642 (describe_vector): Add arg `args'.
643 Pass it as a new second argument to elt_describer.
644
645 * keymap.h (describe_vector): Update prototype.
646
9b46de40
SM
647 * frame.c: Don't include keymap.h any more.
648 (keys_of_frame): Remove.
649
650 * lisp.h (keys_of_frame): Remove declaration.
651
652 * emacs.c (main): Don't call `keys_of_frame' any more.
653
aff37336
SS
6542001-11-14 Andreas Schwab <schwab@suse.de>
655
656 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
657 if defined, 0 otherwise.
9b46de40 658 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
659 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
660
b9937f07
RS
6612001-11-19 Richard M. Stallman <rms@gnu.org>
662
663 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
664
2cd23960
JR
6652001-11-18 Jason Rumney <jasonr@gnu.org>
666
667 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
668 (x_draw_bar_cursor): If the background color of the glyph under
669 the cursor equals the frame's cursor color, use the glyph's
670 foreground color for drawing the bar cursor.
671 (x_after_update_window_line): Clear internal border in different
672 circumstances.
673 (w32_set_vertical_scroll_bar): Check for width and height > 0.
674 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
675 (x_set_glyph_string_background_width):
676 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
677 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
678 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
679 if cursor_in_non_selected_windows is false.
9b46de40 680 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
681 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
682 Notice if cursor gets overwritten.
683 (notice_overwritten_cursor): Renamed from
684 note_overwritten_text_cursor. Rewritten to take glyph widths
685 into account, and to take X positions as parameters.
686 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
687 around call to x_draw_glyphs.
688 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
689 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
690 color to use for image glyph reliefs.
691 (x_draw_image_relief): Accept zero tool_bar_button_relief.
692 (glyph_rect): Remove unused variable `area'.
693
694 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
695 some items.
696 (x_set_internal_border_width): Set frame garbaged when window
697 doesn't exist yet.
698 (Fx_create_frame): Accept zero tool_bar_button_relief.
699 (x_clear_image_1, four_corners_best, image_background)
700 (image_background_transparent): New functions.
701 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
702 (gs_format): Add `:background' entry.
703 (lookup_image): Set IMG's background color if specified.
704 (pbm_load, xbm_load_image, png_load): Set IMG's background field
705 when appropriate.
706 (x_clear_image_1): Reset `background_valid' and
707 `background_transparent_valid' fields.
708 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
709 calculating it here. Set IMG's background_transparent field.
710 (enum xpm_keyword_index): Add XPM_BACKGROUND.
711 (enum png_keyword_index): Add PNG_BACKGROUND.
712 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
713 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
714 (enum gif_keyword_index): Add GIF_BACKGROUND.
715 (enum gs_keyword_index): Add GS_BACKGROUND.
716 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
717 Pre-calculate image background color where necessary.
9b46de40
SM
718 (x_create_x_image_and_pixmap, xbm_load, gs_load):
719 Use display info's n_cbits entry for screen depth.
2cd23960
JR
720 (Fx_show_tip): Remove unused variables `buffer', `top',
721 `left', `max_width' and `max_height'.
722
723 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
724
a4184c1c
GM
7252001-11-18 Gerd Moellmann <gerd@gnu.org>
726
727 * puresize.h (BASE_PURESIZE): Increase to 750000.
728
f6fa0866
PJ
7292001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
730
731 * frame.c (Fframe_live_p): Doc fix.
732
f4ca4b00
RS
7332001-11-18 Richard M. Stallman <rms@gnu.org>
734
735 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
736 (message_dolog_marker3): New static variables hold three markers.
737 (syms_of_xdisp): Initialize and staticpro them.
738 (message_dolog): Use message_dolog_marker1..3 instead of
739 allocating markers each time. Unchain them when done.
740
f4e25f94
RS
7412001-11-17 Richard M. Stallman <rms@gnu.org>
742
743 * doc.c (Fsnarf_documentation): Doc fix.
744
91c153e2
AS
7452001-11-17 Andreas Schwab <schwab@suse.de>
746
747 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
748
65b7d3e7
RS
7492001-11-17 Richard M. Stallman <rms@gnu.org>
750
751 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
752
6b5f6311
JR
7532001-11-17 Jason Rumney <jasonr@gnu.org>
754
755 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
756
be676094
GM
7572001-11-17 Gerd Moellmann <gerd@gnu.org>
758
759 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
760 with invalid position.
761
032a857d
RS
7622001-11-16 Richard M. Stallman <rms@gnu.org>
763
764 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
765
766 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
767 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
768 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
769
770 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
771
b6270150
SM
7722001-11-16 Stefan Monnier <monnier@cs.yale.edu>
773
774 * fileio.c (build_annotations): Split off the tail.
775 (build_annotations_2): New fun. Extracted from build_annotations.
776 (Fwrite_region): Split the call to build_annotations into two
777 calls to build_annotations and build_annotations_2.
778
792e5cbd
PJ
7792001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
780
98cbb9fa
PJ
781 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
782 clear_waiting_for_input with argument.
783
784 * xterm.h (x_update_cursor): Remove duplicated prototype.
785
b6270150 786 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 787
ea904403 788 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 789
ea904403 790 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 791
fa336b91
SM
7922001-11-16 Stefan Monnier <monnier@cs.yale.edu>
793
794 * fileio.c (choose_write_coding_system): New fun, extracted
795 from Fwrite_region.
796 (Fwrite_region): Use it.
797
798 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
799 (funcall_lambda, run_hook_with_args): Make static and add prototype.
800 (ml_apply, find_handler_clause): Add prototype.
801
077907d4
EZ
8022001-11-16 Eli Zaretskii <eliz@gnu.org>
803
aa2af83a
EZ
804 * config.in: Add #undef HAVE_COFF_H.
805
077907d4
EZ
806 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
807 Required for ISC 4.1.
808
1756e2fb
EZ
8092001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
810
811 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
812 Andrew Wiseman <a.wiseman@btclick.com>.
813
06e8f738
KS
8142001-11-16 Kim F. Storm <storm@cua.dk>
815
816 The following changes are made to clean up the various internal
817 references to the fringes to actually use the term `fringe' for
818 them. Previously, they were called `flags areas', `bitmap areas',
819 `left/right side of windows', or implicitly as `flags' or
820 `bitmaps':
821
822 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
823 Comments fixed. Use renamed symbols.
fa336b91 824
06e8f738 825 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 826
06e8f738
KS
827 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
828 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
829 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 830
06e8f738 831 * msdos.c: Comment fix.
fa336b91 832
06e8f738 833 * w32fns.c: Use renamed symbols.
fa336b91 834
06e8f738
KS
835 * w32term.c: Comment fixes. Use renamed symbols.
836 (fringe_bitmap_type): Renamed from bitmap_type.
837 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
838 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
839 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 840
06e8f738
KS
841 * w32term.h: Comment fixes. Use renamed symbols.
842 (fringes_extra): Renamed from flags_areas_extra.
843 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
844 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
845 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
846 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
847 (FRAME_X_LEFT_FRINGE_WIDTH):
848 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
849 (FRAME_X_RIGHT_FRINGE_WIDTH):
850 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
851
06e8f738 852 * widget.c: Use renamed symbols.
fa336b91 853
06e8f738
KS
854 * window.c: Comment fixes. Use renamed symbols.
855 (coordinates-in-window-p): Doc fix.
fa336b91 856
06e8f738 857 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 858
06e8f738 859 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 860
06e8f738 861 * xfns.c: Use renamed symbols.
fa336b91 862
06e8f738
KS
863 * xterm.c: Comment fixes. Use renamed symbols.
864 (fringe_bitmap_type): Renamed from bitmap_type.
865 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
866 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
867 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
868
869 * xterm.h: Comment fixes. Use renamed symbols.
870 (fringes_extra): Renamed from flags_areas_extra.
871 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
872 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
873 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
874 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
875 (FRAME_X_LEFT_FRINGE_WIDTH):
876 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
877 (FRAME_X_RIGHT_FRINGE_WIDTH):
878 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 879
9ce647f4
JR
8802001-11-15 Jason Rumney <jasonr@gnu.org>
881
882 * w32menu.c (add-menu-item): Make help_echo and radio buttons
883 work for most menu items. From David Ponce
884 <david.ponce@wanadoo.fr>.
885
9b784ab8
GM
8862001-11-15 Gerd Moellmann <gerd@gnu.org>
887
9f7e52b4
GM
888 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
889 Some x_set_* function expect to be called even if old and new
890 value are equal.
891
892 * xdisp.c (build_desired_tool_bar_string): Accept zero
893 tool_bar_button_relief.
894
895 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
896
897 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 898
34e5d0af
GM
899 * xterm.c (x_draw_bar_cursor): If the background color of the
900 glyph under the cursor equals the frame's cursor color, use
901 the glyph's foreground color for drawing the bar cursor.
902
9b784ab8
GM
903 * dispnew.c (direct_output_forward_char): Fix character/byte
904 position comparison.
905
89512fcd
MB
9062001-11-15 Miles Bader <miles@gnu.org>
907
908 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
909 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
910 Update arguments to find_field.
911 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
912 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
913 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
914 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
915
7d18891d
RS
9162001-11-14 Richard M. Stallman <rms@gnu.org>
917
d2936d21
RS
918 * editfns.c (Fpropertize): Allow call with 1 arg.
919
7d18891d
RS
920 * dispextern.h (image_background, image_background_transparent):
921 Conditionalize on HAVE_X_WINDOWS.
922
9232001-11-13 Richard M. Stallman <rms@gnu.org>
924
925 * print.c (Fprin1_to_string): Doc fix.
926
927 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
928
929 * floatfns.c (Fceiling, Ffloor): Doc fixes.
930
931 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
932
933 * fileio.c (Ffile_accessible_directory_p): Doc fix.
934
935 * eval.c (syms_of_eval): Doc fix.
936
937 * coding.c (syms_of_coding): Doc fix.
938
939 * doc.c (Fsnarf_documentation): Doc fix.
940
941 * dispnew.c (syms_of_display): Doc fix.
942
943 * category.c (Fget_unused_category): Doc fix.
944
945 * buffer.c (syms_of_buffer): Doc fixes.
946
9474c847
EZ
9472001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
948
949 * print.c (prin1, print): Doc fix.
950
e3059a5d
PJ
9512001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
952
2b6f3c2b 953 * fontset.h: Remove declarations of variables
e3059a5d
PJ
954 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
955
956 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
957 `Vclip_large_size_font'.
958
b3700ae7
JR
9592001-11-13 Jason Rumney <jasonr@gnu.org>
960
961 * w32fns.c: Doc fix.
962
eae936e2
PJ
9632001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
964
4bb962be
PJ
965 * xfaces.c (Fface_attributes_as_vector): Doc fix.
966
0a332240
PJ
967 * w32fns.c (Fx_synchronize): Reindent.
968
ddb67bdc
PJ
969 * fns.c: Doc fix.
970
3467c402
PJ
971 * emacs.c: Doc fix.
972
973 * coding.c: Doc fix.
974
6e1b91d7
PJ
975 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
976 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
977 `new style' [w/`doc:' keyword].
978
f6e34773
PJ
979 * xmenu.c (x-popup-menu): Reindent.
980 (x-popup-dialog): Likewise.
981
fa336b91 982 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 983
c2552f79
PJ
984 * xdisp.c (Fdump_tool_bar_row): Reindent.
985
94c7167b
PJ
986 * minibuf.c (Fminibuffer_complete_word): Reindent.
987 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 988 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
989 (Fminibuffer_message): Likewise.
990
462a5e3a
PJ
991 * fns.c (Freverse): Reindent.
992
b8de5714
PJ
993 * eval.c (Fif): Reindent.
994 (Fand): Likewise.
995
deb8e082
PJ
996 * editfns.c (Fuser_real_login_name): Reindent.
997 (Finsert_buffer_substring): Likewise.
998 (Fcompare_buffer_substrings): Likewise.
999 (Fsubst_char_in_region): Likewise.
1000
bacf09b4
PJ
1001 * dispnew.c (Fsit_for): Reindent.
1002 (Fframe_or_buffer_changed_p): Likewise.
1003 (Finternal_show_cursor_p): Likewise.
1004 (syms_of_display): Likewise.
1005
eae936e2
PJ
1006 * alloc.c (Flist): Reindent.
1007 (Fvector): Likewise.
1008
1c1d3d69
RS
10092001-11-12 Richard M. Stallman <rms@gnu.org>
1010
1011 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1012 LeaveNotify events. Only FocusIn and FocusOut do that now.
1013 (x_display_and_set_cursor): Do display hollow cursors in active
1014 minibuffer windows when they are not selected.
1015
b6f4c7ba
JR
10162001-11-12 Jason Rumney <jasonr@gnu.org>
1017
1018 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1019 * w32term.c: Change doc-string comments to `new style'.
1020 [w/`doc:' keyword]. Doc fixes.
1021
1022 * w32fns.c: Don't define max.
1023 (Fx_open_connection): Only execute once.
1024
a89f435d
PJ
10252001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1026
1027 * ccl.c: Change macros to use do-while block instead of if-else.
1028 Use braces to follow GNU Coding Standards.
1029
a4cd0cd7
RS
10302001-11-11 Richard M. Stallman <rms@gnu.org>
1031
eafb659a
RS
1032 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1033
1034 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1035
a4cd0cd7
RS
1036 * insdel.c (replace_range): Use adjust_markers_for_replace
1037 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1038
1039 * intervals.h: Declare set_text_properties and set_text_properties_1.
1040
1041 * textprop.c (set_text_properties_1): New subroutine
1042 broken out of set_text_properties.
1043 (set_text_properties): Use set_text_properties_1.
1044
1045 * intervals.c (graft_intervals_into_buffer):
1046 Use set_text_properties_1 to clear out properties.
1047
1048 * search.c (Freplace_match): Use replace_range to insert
1049 and delete. Don't request property inheritance from
1050 surrounding text.
1051
91823618
JR
10522001-11-10 Jason Rumney <jasonr@gnu.org>
1053
1054 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1055 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1056 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1057
86928dfb
GM
10582001-11-10 Gerd Moellmann <gerd@gnu.org>
1059
fa336b91 1060 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1061 instead of malloc/free.
1062
40ef1eda
PJ
10632001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1064
ab8469eb
PJ
1065 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1066 Coding Standards.
1067 (Finternal_set_lisp_face_attribute): Likewise.
1068
a78e0303
PJ
1069 * buffer.c (Fbury_buffer): Likewise.
1070
40ef1eda
PJ
1071 * indent.c (current_column_1): Remove unused variable `prev_col'.
1072
fabf4a91
PJ
1073 * coding.c (encode_coding): Use precomputed value of `src'.
1074 (encode_coding): Remove unused variable `src_end'.
1075 (code_convert_region): Remove unused variables `count'.
1076
0c99b139
JR
10772001-11-07 Jason Rumney <jasonr@gnu.org>
1078
1079 * w32term.c (x_display_and_set_cursor): Do not move system caret
1080 if cursor_glyph is NULL.
1081
830ddd77
PJ
10822001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1083
1084 * keymap.c (access_keymap): Fix compilation error.
1085
55c6d645
MB
10862001-11-07 Miles Bader <miles@gnu.org>
1087
1088 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1089
5de38842
PJ
10902001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1091
7a4564a4
PJ
1092 * intervals.c (graft_intervals_into_buffer):
1093 Remove #ifdef'd-out code.
1094 (graft_intervals_into_buffer): Remove unused variable `middle'.
1095
5de38842
PJ
1096 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1097 code (eval-current-buffer).
1098 Change doc-string comments to `new style' [w/`doc:' keyword].
1099
4fa23df5
RS
11002001-11-06 Richard M. Stallman <rms@gnu.org>
1101
1102 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1103
7a6a97d7
SM
11042001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1105
c191d13c
SM
1106 * lread.c (read1): Fix behavior with nested backquoting.
1107
7a6a97d7
SM
1108 * keyboard.c (make_lispy_event): Check integerness and fix
1109 Lisp_Object/int mixup.
1110
44dc78e0
PJ
11112001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1112
1113 * fns.c (copy_hash_table): Remove unused variable `v'.
1114
17893c65
PJ
1115 * fontset.c (fontset_font_pattern): Remove unused variable
1116 `family_registry'.
1117
4d994a79
PJ
1118 * indent.c (current_column_1): Remove unused variable `prev_col'.
1119
d5360cc7
RS
11202001-11-05 Richard M. Stallman <rms@gnu.org>
1121
1122 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1123
1124 * buffer.c (Fkill_buffer): Don't delete auto save file
1125 if buffer is modified.
1126
96238a5a
AI
11272001-11-05 Andrew Innes <andrewi@gnu.org>
1128
1129 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1130 CHECK_NUMBER_CDR.
1131
d9d54213
RS
11322001-11-05 Richard M. Stallman <rms@gnu.org>
1133
1134 * unexelf.c (unexec): Minor changes; clean up comments.
1135
b116830b
SS
11362001-11-05 Sam Steingold <sds@gnu.org>
1137
1138 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1139
3297e2a1
AS
11402001-11-05 Andreas Schwab <schwab@suse.de>
1141
1142 * sound.c (sound_perror): Save errno from being clobbered.
1143
9212319f 11442001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1145
1146 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1147 the program image directly.
1148
7dd73b78
PJ
11492001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1150
1151 * buffer.h (Fbuffer_local_value): Add prototype.
1152
982f6c7e
RS
11532001-11-04 Richard M. Stallman <rms@gnu.org>
1154
d31053f9
RS
1155 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1156 and CHECK_BUFFER.
1157
1158 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1159 (record_char): Likewise.
1160
1161 * keyboard.c (make_lispy_event): Don't insist a drag event must
1162 move to a different buffer position. Instead, check for moving at
1163 least double_click_fuzz.
1164
1165 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1166
1167 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1168
982f6c7e
RS
1169 * indent.c (current_column_1, Fmove_to_column): Separate the code
1170 for display-table glyphs from the code buffer text, to fix
1171 bugs in the former.
1172
830047fd
RS
11732001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1174
1175 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1176 (syms_of_buffer): Defsubr it.
b116830b 1177
830047fd
RS
1178 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1179 value of `cursor-in-non-selected-windows'.
1180
1181 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1182 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1183 (syms_of_xdisp): Initialize it.
b116830b 1184
2df5238c
PJ
11852001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1186
4e397688
PJ
1187 * xfns.c (Fx_create_frame): Doc fix.
1188
48b0f3ae
PJ
1189 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1190 keyword].
1191
2df5238c
PJ
1192 * eval.c (top_level_value, top_level_set): Remove commented and
1193 #ifdef'd-out code.
1194 (Fdefvar): Fix usage in doc-string.
1195
3ecaf7e5
RS
11962001-11-03 Richard M. Stallman <rms@gnu.org>
1197
1198 * xfns.c: Include unistd.h, if it exists.
1199
1200 * editfns.c: Move the include of ctype.h after unistd.h.
1201
1202 * gmalloc.c: Test BROKEN_PROTOTYPES.
1203
8db2e33b
KR
12042001-11-03 Ken Raeburn <raeburn@gnu.org>
1205
1206 * lisp.h (CHECK_STRING_CAR): New macro.
1207 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1208 treating XCAR and XCDR as lvalues.
1209 (openp): Use CHECK_STRING_CAR.
1210 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1211
aed29b97
EZ
12122001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1213
1214 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1215 (SIGMASKTYPE): Define.
aed29b97
EZ
1216
1217 * syssignal.h (sigunblock): Don't define if already defined.
1218
6cb16f95
PJ
12192001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1220
16b45be4
EZ
1221 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1222 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1223 Fix typos in comments.
1224
020f9b38
PJ
1225 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1226 and #ifdef'd-out code.
1227 Fix and reindent comments.
1228
c191d13c 1229 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1230
6cb16f95
PJ
1231 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1232 argument `i' in macros.
1233
1234 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1235 `i' in macros.
1236
16b45be4
EZ
1237 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1238 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1239 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1240 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1241 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1242 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1243 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1244 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1245 in macros.
1246
1247 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
1248 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1249 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1250 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1251 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1252 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1253 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1254 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1255 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
1256 (remove unused second argument).
1257
7e9d3c2f
SM
12582001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1259
1260 * syntax.c (describe_syntax): New wrapper.
1261 (Finternal_describe_syntax_value): Rename from describe_syntax.
1262 Don't insert space at front and \n at the end.
1263 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1264
1265 * regex.c (re_wctype): Try to fix some warnings.
1266 (regcomp, regexec): Don't forget the __restrict.
1267
e6bff182
RS
12682001-11-02 Richard M. Stallman <rms@gnu.org>
1269
1270 * textprop.c (Fget_char_property): Doc fix.
1271
9ba48103
PJ
12722001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1273
1274 * process.c (Fstart_process): Add usage to doc-string.
1275
1276 * data.c (Fsetq_default): Ditto.
1277
1278 * callint.c (Finteractive): Ditto.
1279
c22e59e1
SM
12802001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1281
1282 * macros.c: Don't include keymap.h any more.
1283
9271ed2c
RS
12842001-11-01 Richard M. Stallman <rms@gnu.org>
1285
e6bff182
RS
1286 * data.c (Fmake_local_variable): Doc fix.
1287
1288 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1289 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1290
9271ed2c
RS
1291 * keymap.c (Fdescribe_buffer_bindings): Print character property
1292 bindings along with or instead of the buffer local map.
1293 Make the overriding maps override what they should.
1294
8b8bd9c6
PJ
12952001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1296
1297 * window.c (grow_mini_window): Fix typo in comment.
1298
27188d11
GM
12992001-11-01 Gerd Moellmann <gerd@gnu.org>
1300
7b49b9d2
GM
1301 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1302 (XTset_vertical_scroll_bar): Likewise.
1303
43f7c3ea
GM
1304 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1305 instead of IMAGE_BACKGROUND.
c22e59e1 1306
b350c2e5
GM
1307 * xfns.c (four_corners_best): Reindent.
1308
c22e59e1 1309 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1310 Handle :box so that it is possible to specify sexprs.
1311
d576358b
PJ
13122001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1313
1314 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1315 (Fface_font): Ditto.
1316 (Finternal_set_alternative_font_registry_alist): Ditto.
1317 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1318
1319 * xfns.c (x-get-resource): Reindent.
1320
bf00d461
EZ
13212001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1322
1323 * s/hpux11.h: New file.
1324
4e10df59
PJ
13252001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1326
2b209b97
PJ
1327 * emacs.c (USAGE1): Show command line option --no-window-system
1328 instead of --no-windows in usage.
1329 (standard_args): Rename --no-windows to --no-window-system.
1330 (bug_reporting_address): Follow Emacs coding conventions.
1331
9dbc9081
PJ
1332 * eval.c (Fcommandp): Doc fix.
1333 Change doc-string comments to `new style' [w/`doc:' keyword].
1334
4e10df59
PJ
1335 * frame.c (Fframe_live_p): Doc fix.
1336
1337 * buffer.c (selective-display-ellipses): Doc fix.
1338
dd387b25
GM
13392001-10-31 Gerd Moellmann <gerd@gnu.org>
1340
fe957e65
GM
1341 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1342
dd387b25
GM
1343 * xfaces.c (realize_x_face): If C is not a single-byte character,
1344 set the face's colors_copied_bitwise_p instead of the defaulted_p
1345 members which have a different meaning.
1346 (free_face_colors): Do nothing for a face whose colors have been
1347 copied bitwise.
1348
c22e59e1 1349 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1350
2e1280f8
PJ
13512001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1352
687784e8
PJ
1353 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1354 [w/`doc:' keyword].
2e1280f8 1355
b9d9a9b9
GM
13562001-10-31 Gerd Moellmann <gerd@gnu.org>
1357
1358 * fns.c (require_unwind): Return Lisp_Object.
1359
48400103
PJ
13602001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1361
fa1361cb
PJ
1362 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1363 (last-input-char): Revert doc-string to be the same as the
1364 doc-string of `last-input-event'.
1365
48400103
PJ
1366 * xdisp.c: Fix typos in comments.
1367
eafa3196
GM
13682001-10-31 Gerd Moellmann <gerd@gnu.org>
1369
1370 * window.c (grow_mini_window): Handle case that the root
1371 window is already smaller than the nominal mininum height.
1372
747d3f2a
SM
13732001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1374
bf9bb76f
SM
1375 * emacs.c (main): Don't call keys_of_macros any more.
1376
1377 * lisp.h (keys_of_macros): Remove.
1378
1379 * macros.c (keys_of_macros): Remove.
1380
747d3f2a
SM
1381 * xfaces.c (Fface_attribute_relative_p): Declare args.
1382
5e905a57
JR
13832001-10-30 Jason Rumney <jasonr@gnu.org>
1384
1385 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1386 (enum_font_cb2): Ignore fonts with vertical orientation.
1387
3a426197
RS
13882001-10-30 Richard M. Stallman <rms@gnu.org>
1389
1390 * keyboard.c (Finput_pending_p): Doc fix.
1391
a742d646
GM
13922001-10-30 Gerd Moellmann <gerd@gnu.org>
1393
259cf6bc
GM
1394 * xterm.c (x_after_update_window_line): Don't run the code
1395 clearing in borders for rows whose visible height is 0.
1396
3f99f948
GM
1397 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1398 resized_p flag is set. If not set, use the much less flickering
1399 method previously used.
1400
1401 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1402
1403 * frame.h (struct frame) <resized_p>: New member.
1404
b4a3be43
GM
1405 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1406 as large as the number of bytes to convert.
747d3f2a 1407
a742d646
GM
1408 * lread.c (to_multibyte): New function.
1409 (read1): Use it.
1410
cacbb9e9
EZ
14112001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1412
1413 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1414
99cb6b2f
GM
14152001-10-30 Gerd Moellmann <gerd@gnu.org>
1416
327f42ee 1417 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1418 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1419 if the row's fill_line_p is set and drawing the last glyph with
1420 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1421
99cb6b2f
GM
1422 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1423
8e8223e2
SM
14242001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1425
1426 * xmenu.c: Include coding.h and charset.h.
1427 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1428 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1429 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1430 Explicitly set wv->help. Use `TRUE' rather than `True'.
1431 (menu_help_callback): Use empty_string.
1432
1433 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1434 (Fx_popup_dialog): Explicitly init f.
1435 (w32_menu_display_help): Use empty_string.
1436
4d083a8f
RS
14372001-10-29 Richard M. Stallman <rms@gnu.org>
1438
b2304472
RS
1439 * fns.c (Frequire): Detect recursive try to require the same
1440 feature 3 or more levels deep, and get error.
1441 (require_unwind): New subroutine.
1442 (require_nesting_list): New variable.
1443 (syms_of_fns): Init and staticpro it.
1444
4d083a8f
RS
1445 * print.c (print_object): Clarify indication of insertion type.
1446
2fe41216
EZ
14472001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1448
90480000
EZ
1449 * coding.c (syms_of_coding): Document that locale-coding-system is
1450 used for decoding input on X.
1451
2fe41216
EZ
1452 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1453
74e79967
PJ
14542001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1455
1456 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1457 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1458
60ebcfe8
GM
14592001-10-29 Gerd Moellmann <gerd@gnu.org>
1460
9a7bdceb
GM
1461 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1462 use NO_CURSOR if cursor_in_non_selected_windows is false.
1463
3f08fcd2
GM
1464 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1465 the slant attribute if FRAME is t.
1466
0ccfdad2
GM
1467 * xfns.c (x_set_internal_border_width): Set frame garbaged
1468 when X window doesn't exist yet.
1469
ef253080
GM
1470 * xterm.c (x_after_update_window_line): Clear internal border
1471 in different circumstances.
b116830b 1472
60ebcfe8
GM
1473 * xterm.c (XTread_socket) <KeyPress>: Don't use
1474 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1475 <handa@etl.go.jp>.
1476
73d25f9c
EZ
14772001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1478
1479 * m/ibms390.h: New file. From Adam Thornton
1480 <athornton@sinenomine.net>.
1481
cac1daf0
GM
14822001-10-28 Gerd Moellmann <gerd@gnu.org>
1483
053b3256 1484 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1485
cac1daf0
GM
1486 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1487 a loop counter.
1488
13b1a09c
PJ
14892001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1490
186486eb
PJ
1491 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1492
4707d2d0
PJ
1493 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1494 keyword].
1495 Fix typos in comments.
b116830b 1496
d883731c
PJ
1497 * emacs.c (bug_reporting_address): New function.
1498 Use it when displaying usage message.
1499
04012254
PJ
1500 * minibuf.c (read_minibuf): Remove unused external declaration of
1501 variable `Qread_only'.
1502
13b1a09c
PJ
1503 * keymap.c (access_keymap): Remove unused variable `charset'.
1504
5bbf4378
MB
15052001-10-28 Miles Bader <miles@gnu.org>
1506
1507 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1508 Remove #ifdef'd-out code.
1509 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1510 (syms_of_xfaces): Initialize them.
1511
1ce1e4ee
JR
15122001-10-27 Jason Rumney <jasonr@gnu.org>
1513
1514 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1515 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1516 position using the system caret.
1517
1518 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1519 (w32_system_caret_height, w32_system_caret_x)
1520 (w32_system_caret_y): New variables for tracking system caret.
1521 (w32_initialize): Initialize them.
c2d53558 1522 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1523
c2d53558
SM
1524 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1525 New messages types.
1ce1e4ee
JR
1526
1527 * w32term.c (note_mouse_highlight): Clear old help_echo.
1528
4e30ce42
PJ
15292001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1530
bb4600a4
PJ
1531 * xterm.c: Fix typo in a comment.
1532
7db35a48
PJ
1533 * emacs.c: Fix typos in comments.
1534 Remove unnecessary spaces.
1535 Change doc-string comments to `new style' [w/`doc:' keyword].
1536 (USAGE2): Fix typos in usage string.
1537
a7248e4f
PJ
1538 * xterm.c: Fix typo in a comment.
1539
4e30ce42
PJ
1540 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1541 emacs.c.
1542
62725a92
GM
15432001-10-27 Gerd Moellmann <gerd@gnu.org>
1544
798dbe1f 1545 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1546 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1547 farther backward when target_y was not reached.
1548
62725a92
GM
1549 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1550 Display errno only if non-zero.
1551 (sound_warning): New function.
1552 (vox_configure): Don't treat failing to set sample rate as error.
1553 (various places): Improve error messages.
1554
d4e34d24
EZ
15552001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1556
944e6f60
EZ
1557 * fileio.c (Faccess_file): Run the argument filename through
1558 Fexpand_file_name, before using it.
1559
d4e34d24
EZ
1560 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1561 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1562
38d2af0c
GM
15632001-10-26 Gerd Moellmann <gerd@gnu.org>
1564
da80a8d5
GM
1565 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1566
38d2af0c
GM
1567 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1568 Fix clearing in the case of scroll bars on the right.
c2d53558 1569
56f508dd
EZ
15702001-10-26 Juanma Barranquero <lektu@terra.es>
1571
1572 * w32gui.h (XImage): Add a dummy typedef.
1573
fbd5ceb2
GM
15742001-10-26 Gerd Moellmann <gerd@gnu.org>
1575
c2d53558 1576 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1577
b23236fb
EZ
15782001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1579
1580 * frame.c (Fframe_parameter): Fix last change.
1581
5d991fc4
EZ
1582 * fileio.c: Revert last change (which removed old commented-out
1583 version of expand-file-name). Add a comment that explains why
1584 this old version should not be removed.
1585
879eadc3
GM
15862001-10-25 Gerd Moellmann <gerd@gnu.org>
1587
75700ff2
GM
1588 * frame.c (Fframe_parameter): Fix a bug whereby some
1589 ``artificial'' frame parameters, like `minibuffer' were not
1590 obtained by calling Fframe_parameters.
1591
dfe92a6a
GM
1592 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1593 cursor differently.
1594
879eadc3
GM
1595 * xdisp.c (move_it_vertically_backward): Compute line height
1596 differently. Add heuristic to try to be more compatible to 20.x.
1597
e1010ebe
SM
15982001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1599
d73a471b
SM
1600 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1601
d6da5a06
GM
1602 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1603 boolean.
e1010ebe 1604
f66bd220
MB
16052001-10-25 Miles Bader <miles@gnu.org>
1606
1607 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1608 BG is a pointer to a structure, not a structure.
1609 (gif_format, png_format): Add missing commas.
1610
d436d538
RS
16112001-10-24 Richard M. Stallman <rms@gnu.org>
1612
1613 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1614 (syms_of_xfaces): Defsubr it.
d436d538 1615
075c507b
PJ
16162001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1617
1618 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1619 variable `area'.
1620
d492b584
PJ
16212001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1622
c2d53558 1623 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1624
e2a57b34
MB
16252001-10-25 Miles Bader <miles@gnu.org>
1626
1627 * dispextern.h (struct image): Add `background',
1628 `background_valid', and `background_transparent' fields.
1629 (image_background, image_background_transparent): New declarations.
1630 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1631 * xfns.c (image_background, image_background_transparent)
1632 (four_corners_best): New functions.
c2d53558 1633 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1634 (gs_format): Add `:background' entry.
1635 (lookup_image): Set IMG's background color if specified.
1636 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1637 when appropriate.
1638 (x_clear_image_1): Reset `background_valid' and
1639 `background_transparent_valid' fields.
1640 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1641 calculating it here. Set IMG's background_transparent field.
1642 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1643 (enum png_keyword_index): Add PNG_BACKGROUND.
1644 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1645 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1646 (enum gif_keyword_index): Add GIF_BACKGROUND.
1647 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1648 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1649 Pre-calculate image background color where necessary.
1650 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1651 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1652 color to use for image glyph reliefs.
1653
b547b6e8
GM
16542001-10-24 Gerd Moellmann <gerd@gnu.org>
1655
d9e3b8c6
GM
1656 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1657 in full-width rows.
c2d53558 1658
b547b6e8
GM
1659 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1660 Fix clearing of area not covered by scroll bar.
1661
2beb36f9
PJ
16622001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1663
1664 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1665 and `real_start'.
c2d53558 1666 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1667 (glyph_rect): Remove unused variable `area'.
1668
76cb5e06
GM
16692001-10-24 Gerd Moellmann <gerd@gnu.org>
1670
bdbdebff 1671 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1672
1673 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1674 (row_containing_pos): Take additional argument DY.
1675 Treat rows ending in middle of char differently.
62e33982
GM
1676 (display_line): Handle tabs on window systems differently.
1677
1678 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1679 with additional argument.
1680
1681 * dispextern.h (row_containing_pos): Adjust prototype.
1682
76cb5e06
GM
1683 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1684 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1685 (try_window_id, try_window_reusing_current_matrix)
1686 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1687 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1688
996fee11
PJ
16892001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1690
c9e60620
PJ
1691 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1692 gnuemacs).
1693 (HAVE_BOXES): Fix typo in comment.
1694 (push_menu_pane): Fix typo in comment.
1695
3b552d56
PJ
1696 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1697 of `Qwhen'.
1698 (single_display_prop_string_p): Remove unused local declarations
1699 of `Qwhen' and `Qmargin'.
1700 (string_buffer_position): Remove unused variable `around'.
1701 (store_frame_title): Remove unused variable `width'.
1702
15c565ac
PJ
1703 * window.c: Don't define max.
1704 (coordinates_in_window): Remove unused variable `uy'.
1705
a8818eb9
PJ
1706 * widget.c: Don't define max.
1707
996fee11
PJ
1708 * process.c: Don't define max.
1709 (create_process): Remove unused variable `buffer'.
1710
496e1a5b
GM
17112001-10-23 Gerd Moellmann <gerd@gnu.org>
1712
c2d53558 1713 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1714
5905ae8b
EZ
17152001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1716
1717 * xfaces.c (Finternal_set_lisp_face_attribute)
1718 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1719 frame is on a windowed display.
1720
24db49fb
GM
17212001-10-23 Gerd Moellmann <gerd@gnu.org>
1722
c2d53558
SM
1723 * dispnew.c (sync_window_with_frame_matrix_rows):
1724 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1725 of marginal areas.
1726
c2d53558 1727 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1728
f0487f05
EZ
17292001-10-23 Andreas Schwab <schwab@suse.de>
1730
1731 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1732 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1733
f0a48a01
GM
17342001-10-23 Gerd Moellmann <gerd@gnu.org>
1735
c2d53558 1736 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1737 REAL_END. Notice if cursor gets overwritten.
1738 (notice_overwritten_cursor): Take X positions as parameters.
1739 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1740 around call to x_draw_glyphs.
1741
a50a10a0
PJ
17422001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1743
fc11dff0
PJ
1744 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1745 instead of C) and usage.
a50a10a0 1746
fc11dff0
PJ
1747 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1748 of C) and usage.
a50a10a0
PJ
1749
1750 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1751 `left', `max_width' and `max_height'.
1752
8738febd
GM
17532001-10-23 Gerd Moellmann <gerd@gnu.org>
1754
1755 * xdisp.c (display_line): For a tab continued to the next line,
1756 set row's ends_in_middle_of_char_p.
1757
653c329b
GM
17582001-10-22 Gerd Moellmann <gerd@gnu.org>
1759
1760 * xdisp.c (display_line): Fix computation of continuation lines
1761 width for TABs.
1762
f958c5ac
PJ
17632001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1764
7ba51063
PJ
1765 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1766 `Qlaplace'.
1767
f958c5ac
PJ
1768 * fileio.c: Remove unused code.
1769
eb360291
MB
17702001-10-22 Miles Bader <miles@gnu.org>
1771
1772 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1773 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1774 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1775
98515cf0
JR
17762001-10-21 Jason Rumney <jasonr@gnu.org>
1777
1778 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1779
93026d88
EZ
17802001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1781
1782 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1783 (Finsert_string): Avoid the multi-line string literals warning.
1784
c9a95b79
MB
17852001-10-22 Miles Bader <miles@gnu.org>
1786
1787 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1788 (Fdocumentation): Don't use it.
1789 (syms_of_doc): Don't initialize it.
1790
1791 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1792 * print.c (Fwith_output_to_temp_buffer): Likewise.
1793 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1794 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1795 (Fsave_restriction): Likewise.
c2d53558
SM
1796 * eval.c (Frun_hooks, Frun_hook_with_args)
1797 (Frun_hook_with_args_until_failure)
1798 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1799 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1800 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1801 (Funwind_protect, Fcondition_case): Likewise.
1802 * coding.c (Ffind_operation_coding_system): Likewise.
1803 * keyboard.c (Ftrack_mouse): Likewise.
1804
a3b10252
MB
18052001-10-21 Miles Bader <miles@gnu.org>
1806
c2d53558 1807 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1808 (Fmake_hash_table): Add usage: string to doc string.
1809 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1810 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1811 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1812 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1813 (Fml_prefix_argument_loop): Likewise.
1814
c6f73eec
PJ
18152001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1816
c2d53558 1817 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1818
c6f73eec
PJ
1819 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1820 style' [w/`doc:' keyword].
1821
1822 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1823 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1824 comments to `new style' [w/`doc:' keyword].
1825
3cf3436e
JR
18262001-10-21 Jason Rumney <jasonr@gnu.org>
1827
1828 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1829
c169b8f1
JR
1830 * w32term.c (remember_mouse_glyph): New function.
1831 (w32_mouse_position): Use it.
1832 (note_mouse_movement): If the mouse moved off the glyph, remember
1833 its new position.
c2d53558 1834
4fdd691b
JR
1835 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1836 (w32_display_info): Add mouse_face_overlay.
1837
c169b8f1
JR
1838 * w32term.c (notice_overwritten_cursor): Renamed from
1839 note_overwritten_text_cursor. Rewritten to take glyph widths into
1840 account.
1841 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1842 (fast_find_string_pos): New function.
1843 (fast_find_position): Return the correct vpos. Add parameter
1844 STOP. In the final row, stop before glyphs having STOP as object.
1845 Don't consider glyphs that are not from a buffer.
1846 (fast_find_position) [0]: Add a presumably more correct version
1847 for after 21.1.
1848 (expose_window_tree, expose_frame): Don't compute intersections here.
1849 (expose_window): Do it here instead.
1850 (expose_window_tree, expose_window, expose_line): Return 1 when
1851 overwriting mouse-face.
1852 (expose_window): If W is the window currently being updated, mark
1853 the frame garbaged.
1854 (expose_frame): If mouse-face was overwritten, redo it.
1855 (x_use_underline_position_properties): New variable.
1856 (syms_of_xterm): DEFVAR_BOOL it.
1857 (x_draw_glyph_string): Add comment to use it in future.
1858 (x_draw_glyph_string): Restore clipping after drawing box.
1859 Fix a computation of the underline position.
1860 (w32_get_glyph_string_clip_rect): Minor cleanup.
1861 (x_fill_stretch_glyph_string): Remove an assertion.
1862 (x_produce_glyphs): Don't convert multibyte characters
1863 to unibyte characters in unibyte buffers.
1864 (cursor_in_mouse_face_p): New function.
1865 (x_draw_stretch_glyph_string): Use it to choose a different GC
1866 when drawing a cursor within highlighted text. Don't draw
1867 background again if it has already been drawn.
1868 (x_draw_glyph_string_box): Don't draw a full-width
1869 box just because the glyph row's full_width_p flag is set.
1870 (x_draw_glyphs): Fix computation of rightmost x for
1871 full-width rows.
1872 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1873 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1874 change bottom shadow accordingly. Some cleanup.
1875 (x_update_window_end): Handle overwritten mouse face
1876 also for tool bar windows.
1877 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1878 DRAW is DRAW_IMAGE_RAISED.
1879 (clear_mouse_face): Return 1 if text with mouse face was
1880 actually redrawn. Make the function static. Reset
1881 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1882 optimize away highlighting if we pass over that same overlay again.
1883 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1884 to detect a case where we have to highlight a different region
1885 despite not having left the currently highlighted region.
1886 Set mouse_face_overlay in the x_display_info. Avoid changing the
1887 mouse pointer shape when show_mouse_face has already done it, or
1888 there is no need. Handle mouse-face and help-echo in strings.
1889 (glyph_rect): New function.
1890 (w32_mouse_position): Use it to raise the threshold for mouse
1891 movement event generation.
1892 (w32_initialize_display_info): Initialize the x_display_info's
1893 mouse_face_overlay.
1894 (w32_set_vertical_scroll_bar): Don't clear a zero height
1895 or width area.
1896 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1897 a widget to zero height.
1898
3cf3436e 1899 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1900 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1901 equivalents in menu_items.
1902 (w32_menu_show): Don't overwrite an item's name with its key
1903 description in case the description is a multibyte string.
1904 (single_submenu): Some cleanup.
1905
1906 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1907 (postprocess_image): New function.
1908 (lookup_image): Call it for all image types except PostScript.
1909 (x_kill_gs_process): Call postprocess_image.
1910 (tiff_error_handler, tiff_warning_handler): New functions.
1911 (tiff_load): Install them as handlers.
1912 (x_kill_gs_process): Recognize if someone has cleared the image
1913 cache under us.
1914 (valid_image_p): Protect better against invalid image
1915 specifications. Previous code could signal an error.
1916 (Fx_hide_tip, Fshow_tip): Doc fix.
1917 (Fv_max_tooltip_size): New variable.
1918 (syns_of_xfns): DEFVAR_LISP it.
1919 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1920 window buffer to *tip* right after creating the frame. Set frame's
1921 window_width. Use a maximum tooltip size specified by
1922 Vx_max_tooltip_size, if that has valid contents.
1923 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1924 Make sure the tooltip is completely visible.
1925 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1926 (Fx_create_frame): Adjust the frame's height for presence
1927 of the tool bar before calling x_figure_window_size.
1928 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1929 when the window gets smaller.
1930 (x_set_foreground_color): Set frame's cursor_pixel.
1931 (x_set_foreground_color, x_set_background_color): Cleaned up.
1932 (x_set_font): Handle case of x_new_fontset returning the same name
1933 as before, although there was a change in fontsets.
1934
386ca361
MB
19352001-10-21 Miles Bader <miles@gnu.org>
1936
c2d53558 1937 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1938 (Flogxor): Add usage: string to doc string.
1939 * charset.c (Fstring): Likewise.
1940 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1941 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1942
14ff1ee0
PJ
19432001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1944
03be2694
PJ
1945 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1946
1947 * alloc.c: Reindent DEFUNs with doc: keywords.
1948
1949 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1950
14ff1ee0
PJ
1951 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1952 keyword].
1953
71431a0e
GM
19542001-10-20 Gerd Moellmann <gerd@gnu.org>
1955
6aa97356 1956 * (Version 21.1 released.)
71431a0e 1957
39f624fa
PJ
19582001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1959
c2d53558 1960 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1961
1962 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1963 0 because unused.
1964
1965 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1966 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1967 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1968
abcce93a
MB
19692001-10-20 Miles Bader <miles@gnu.org>
1970
1971 The following changes remove the glyph_row `inverse_p' field,
1972 which is never set anymore, due to other changes:
1973
1974 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1975 (reassert_line_highlight, change_line_highlight): Declarations removed.
1976 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1977 (line_hash_code, row_equal_p, fake_current_matrices)
1978 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1979 (update_frame_line, update_frame_line, update_frame_line):
1980 Don't use `inverse_p' field.
1981 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1982 change_line_highlight_hook.
1983 (XTreassert_line_highlight, x_change_line_highlight):
1984 Functions removed.
c2d53558 1985 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1986 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1987 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1988 `inverse_p' field.
c2d53558 1989 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1990 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1991 (w32_reassert_line_highlight, x_change_line_highlight):
1992 Functions removed.
1993 * w32console.c (reassert_line_highlight, change_line_highlight):
1994 Functions removed.
1995 (initialize_w32_display): Don't set reassert_line_highlight_hook
1996 or change_line_highlight_hook.
1997 (hl_mode): Function removed.
c2d53558
SM
1998 (reset_terminal_modes, set_terminal_modes, update_begin)
1999 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2000 (clear_frame, ins_del_lines): Don't call it.
2001 * termhooks.h (reassert_line_highlight_hook)
2002 (change_line_highlight_hook): Declarations removed.
2003 * term.c (reassert_line_highlight_hook)
2004 (change_line_highlight_hook): Variables removed.
2005 (reassert_line_highlight, change_line_highlight): Functions removed.
2006 * msdos.c (IT_reassert_line_highlight)
2007 (IT_change_line_highlight): Functions removed.
2008 (internal_terminal_init): Don't set reassert_line_highlight_hook
2009 or change_line_highlight_hook.
2010 (highlight): Variable removed.
c2d53558 2011 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2012 (IT_set_terminal_modes): Don't set or use it.
2013
2014 The following changes remove inverse-video support for terminals
2015 that use a `magic cookie' standout mode. Due to changes in the
2016 way mode-lines are displayed, such support no longer works
2017 anyway, and it's probable that almost no one uses such terminals
2018 anymore:
2019
2020 * term.c (standout_requested): Variable removed.
2021 (update_end, highlight_if_desired): Don't use it.
2022 (chars_wasted, copybuf): Variables removed.
2023 (write_standout_marker): Function removed.
c2d53558 2024 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2025 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2026 Don't use `chars_wasted' or `copybuf'.
2027 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2028 Set `costs_set' to true.
2029 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2030 `chars_wasted'.
2031 (clear_end_of_line): Function removed.
2032 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2033 (clear_to_end): Call `clear_end_of_line' instead of
2034 `clear_end_of_line_raw'.
54800acb
MB
2035 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2036 (term_init): Don't set them.
2037 Turn off any standout/underline modes that require magic cookies.
c2d53558 2038 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2039 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2040 Remove special processing for magic-cookie standout modes.
2041 (turn_off_face, turn_on_face): Remove special processing for
2042 underline magic-cookie glitch.
abcce93a 2043
0b5f679f
RS
20442001-10-19 Richard M. Stallman <rms@gnu.org>
2045
2046 * eval.c (syms_of_eval): Doc fixes.
2047
5a4a5bd4
GM
20482001-10-19 Gerd Moellmann <gerd@gnu.org>
2049
2050 * xdisp.c (redisplay_internal): Don't clear echo area if the
2051 mini-window is selected.
2052
79f1f96c
MB
20532001-10-19 Miles Bader <miles@gnu.org>
2054
b57c2708
MB
2055 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2056 doesn't take precedence if the affected property's value is nil.
2057
2058 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2059
79f1f96c
MB
2060 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2061 with fields and suggest using `forward-line' to avoid them.
2062 * editfns.c (Fline_beginning_position, Fline_end_position):
2063 Clarify documentation.
2064
ef879104
SM
20652001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2066
2067 * keymap.c (current_minor_maps): `override' only shadows its
2068 correspondent in minor-mode-map-alist, not the whole tail.
2069
97f4db8c
AI
20702001-10-18 Andrew Innes <andrewi@gnu.org>
2071
2072 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2073 optimization. The fontp->encoding array was not being initialized
2074 correctly when compiled with optimizations by MSVC.
2075
e6b70fd8
GM
20762001-10-18 Gerd Moellmann <gerd@gnu.org>
2077
30903479 2078 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2079
0e804d38
AI
20802001-10-17 Andrew Innes <andrewi@gnu.org>
2081
2082 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2083
2084 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2085 font_info.charset field.
2086
2087 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2088 rather than working it out by calling w32_codepage_for_font for
2089 every glyph.
2090
66e5868a
AI
20912001-10-17 Andrew Innes <andrewi@gnu.org>
2092
2093 * w32term.c (w32_read_socket): Determine clipping rectangle for
2094 the entire frame, including areas covered by scrollbars and the
2095 menubar. This avoids internal arguments about whether a frame is
2096 fully obscured or not.
2097
15b00083
GM
20982001-10-17 Gerd Moellmann <gerd@gnu.org>
2099
23e8bd86
GM
2100 * xdisp.c (try_window_id): Undo last change. Give up if
2101 window ends in strings.
30903479 2102
9c6ba6d1 2103 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2104 end if the rest of the window after the window end was already blank.
23e8bd86 2105
30903479 2106 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2107 for the release of 21.1.
2108
30903479 2109 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2110
945220bd
MB
21112001-10-17 Miles Bader <miles@gnu.org>
2112
2113 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2114 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2115 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2116 Change doc-string comments to `new style' [w/`doc:' keyword].
2117 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2118 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2119 out make-docfile.
2120
14242528
MB
21212001-10-16 Miles Bader <miles@gnu.org>
2122
2123 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2124
3ddf952f
GM
21252001-10-16 Gerd Moellmann <gerd@gnu.org>
2126
2127 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2128 *scratch*.
2129
f3fbd155
KR
21302001-10-16 Ken Raeburn <raeburn@gnu.org>
2131
2132 Avoid the assumption that car and cdr slots of cons cells are
2133 addressable lvalues; this allows for easier experimentation with
2134 other lisp implementations that may not permit such accesses for
2135 various reasons. Not quite complete -- buffer.c still needs some
2136 work, and w32/mac files need rechecking -- so compile-time
2137 enforcement is left disabled for now.
2138
2139 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2140 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2141 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2142 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2143 (XSETCAR, XSETCDR): New macros.
2144 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2145 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2146 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2147 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2148 XSETCDR.
2149 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2150 * buffer.c (record_buffer, Fbury_buffer)
2151 (swap_out_buffer_local_variables, recenter_overlay_lists)
2152 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2153 fields of a cons cell respectively.
2154 * callint.c (quotify_args, Fcall_interactively): Likewise.
2155 * ccl.c (Fregister_code_conversion_map): Likewise.
2156 * coding.c (detect_coding_system): Likewise.
2157 * composite.c (get_composition_id, make_composition_value_copy):
2158 Likewise.
30903479
SM
2159 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2160 (swap_in_symval_forwarding, set_internal, Fset_default)
2161 (Fmake_variable_buffer_local, Fmake_local_variable)
2162 (Fmake_variable_frame_local): Likewise.
f3fbd155 2163 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2164 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2165 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2166 * minibuf.c (get_minibuffer): Likewise.
2167 * search.c (Fmatch_data): Likewise.
2168 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2169 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2170 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2171 Likewise.
2172 * w32term.c (x_delete_display): Likewise.
2173 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2174 Likewise.
c2d53558 2175 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2176 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2177 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2178 (Fread_file_name): Use XSETCAR.
2179 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2180 CHECK_NUMBER_CDR.
2181 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2182 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2183 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2184 CHECK_NUMBER_CDR.
2185 * keyboard.c (read_char): Alter list traversal to avoid taking the
2186 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2187 (parse_menu_item): Use XSETCAR and XSETCDR.
2188 (reach_char_x_menu_prompt): Use XSETCAR.
2189 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2190 (Fcommand_execute): Use XSETCDR.
2191 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2192 (openp): Change list traversal to avoid using XCAR as lvalue.
2193 (read_list): Use XSETCDR.
2194 * process.c (wait_reading_process_input): Change wait_for_cell
2195 handling to avoid taking addresses of cons cell slots.
30903479
SM
2196 * xselect.c (x_own_selection, x_handle_selection_clear)
2197 (x_clear_frame_selections): Use XSETCDR.
2198 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2199 (x_handle_property_notify, x_get_foreign_selection)
2200 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2201
502150e5
PJ
22022001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2203
018ba359
PJ
2204 * buffer.c: Put doc strings in comments.
2205
30903479 2206 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2207
b56ba8de
SS
22082001-10-15 Sam Steingold <sds@gnu.org>
2209
2210 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2211
6a0b793a
PJ
22122001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2213
30903479
SM
2214 * process.c (process-inherit-coding-system-flag)
2215 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2216 in comment.
2217
a1f17501 2218 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2219 arguments. Put doc strings in comments.
a65da641
PJ
2220
2221 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2222
aa601ad0
GM
22232001-10-15 Gerd Moellmann <gerd@gnu.org>
2224
30903479 2225 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2226
aa601ad0
GM
2227 * window.c (select_window_1): Unfreeze window start. Remove a
2228 doubled test for WINDOW being live.
2229
288148a1
PJ
22302001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2231
dd8d1e71
PJ
2232 * fns.c (Fmapconcat): Fix typo in a doc string.
2233
288148a1
PJ
2234 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2235
9f5eb4a3
GM
22362001-10-15 Gerd Moellmann <gerd@gnu.org>
2237
2238 * xterm.c (x_draw_glyph_string): Restore clipping after
2239 drawing box.
2240
dbae44c8
PJ
22412001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2242
30903479 2243 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2244
0c88c937
SM
22452001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2246
56378db4
GM
2247 * indent.c (skip_invisible): Use new retval of
2248 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2249
845e4cf4
SM
2250 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2251 If a parent is reached and noinherit is set, exit immediately.
2252 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2253
0c88c937
SM
2254 * s/ms-w32.h (EXEC_SUFFIXES):
2255 * s/msdos.h (EXEC_SUFFIXES):
2256 * process.h (EXEC_SUFFIXES): Remove.
2257
2258 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2259 (decode_suffixes): Remove.
2260
2261 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2262 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2263 (invisible_ellipsis_p): Remove.
0c88c937
SM
2264
2265 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2266 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2267 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2268 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2269 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2270
d19be8a9
PJ
22712001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2272
04d7d066
PJ
2273 * lisp.h (Ftop_level): Add prototype.
2274
d624284c
PJ
2275 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2276 (XTread_socket): Improve style of comments to follow other
2277 comments.
2278
a87414f9
PJ
2279 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2280 is already prototyped in included lisp.h).
2281
d19be8a9
PJ
2282 * frame.c (Fset_mouse_position): Improve style of comment to
2283 follow other comments.
2284 (Fset_mouse_pixel_position): Improve style of comment to follow
2285 other comments.
2286 (Fmake_frame_visible): Doc fix and typo in comment.
2287 (Fmake_frame_invisible): Doc fix and typo in comment.
2288 (Ficonify_frame): Fix typo in comment.
2289
c061c855
GM
22902001-10-14 Gerd Moellmann <gerd@gnu.org>
2291
37f6b5b6 2292 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2293 * term.c, alloc.c: Put doc strings in comments.
c061c855 2294
e641b454
GM
22952001-10-13 Gerd Moellmann <gerd@gnu.org>
2296
2297 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2298 Provide definitions for doc strings in comments.
2299
2300 * fns.c: Put doc strings in comments.
2301
51724e26
EZ
23022001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2303
2304 * dired.c (file_name_completion): Ignore a candidate directory if
2305 it matches an element in completion-ignored-extensions that ends
2306 in a slash.
2307 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2308 feature in the doc string.
2309 (Ffile_name_completion): Ditto.
2310
be5fc59b
SM
23112001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2312
5a1373f3
SM
2313 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2314
2315 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2316
2317 * lisp.h (Fprovide): Update prototype.
2318 (Ffeaturep, invisible_p): Remove.
2319
bbc4a3d3 2320 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2321 (DOLIST, LOOP_PROPVAL): New macros.
2322 (invisible_p, invisible_ellipsis_p): Use them.
2323 (invisible_noellipsis_p): New function.
2324 (syms_of_xdisp): Use empty_string.
2325
2326 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2327
2328 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2329 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2330
2331 * print.c (Fwith_output_to_temp_buffer): Align with
2332 internal_with_output_to_temp_buffer.
2333 (print_preprocess): Use traverse_intervals_noorder.
2334 (print_object): Update call to traverse_intervals.
2335
2336 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2337 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2338
2339 * intervals.c (traverse_intervals_noorder): New function.
2340 (search_for_interval, count_intervals): Use it.
2341 (traverse_intervals): Use less stack space and drop `depth' arg.
2342
2343 * fns.c (Ffeaturep): Add new `subfeature' arg.
2344 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2345 (Qsubfeatures): New var.
2346 (syms_of_fns): Initialize it.
2347
026f408d
SM
2348 * keymap.c (Fkey_description): Use empty_string.
2349 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2350 (syms_of_keymap): Setup inheritance between maps.
2351 Don't export Sdescribe_bindings_internal any more.
2352
be5fc59b
SM
2353 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2354
3365175e
GM
23552001-10-12 Gerd Moellmann <gerd@gnu.org>
2356
2357 * xterm.c (notice_overwritten_cursor): Renamed from
2358 note_overwritten_text_cursor. Rewritten to take glyph widths into
2359 account.
2360
2ab7765c
EZ
23612001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2362
2363 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2364 multi-line strings without a trailing "\n\".
2365
311346bb
PJ
23662001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2367
2368 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2369 defined.
2370
2168e04d
SM
23712001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2372
026f408d
SM
2373 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2374
c0ec53ad
SM
2375 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2376 * w32proc.c (sys_spawnve):
2377 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2378 * w32.c (check_windows_init_file):
2379 * sound.c (Fplay_sound):
026f408d 2380 * emacs.c (init_cmdargs):
c0ec53ad
SM
2381 * process.c (Fstart_process): Update calls to openp.
2382
2383 * callproc.c (Vexec_suffixes): New var.
2384 (Fcall_process): Update call to openp.
2385 (decode_suffixes): New function.
2386 (syms_of_callproc): Init exec-suffixes.
2387
2388 * lread.c (Vload_suffixes, default_suffixes): New vars.
2389 (openp): Take a lisp list of suffixes.
2390 Check for file-name-handlers even if the file was absolute already.
2391 (syms_of_lread): Declare load-suffixes.
2392 (Fload): Fix up call to openp.
2393 Don't bother checking for file-name-handler at the very beginning.
2394
f6333468
SM
2395 * keymap.h (Fcopy_keymap): Don't export.
2396
2397 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2398 (Vload_suffixes, Vexec_suffixes): Declare.
2399 (openp): Update prototype.
f6333468
SM
2400
2401 * emacs.c (empty_string): New var.
2402 (syms_of_emacs): Initialize it.
2403
2404 * search.c (wordify): Use it.
2405
2406 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2407 selected window if it's not displayed there. Handle the case
2408 when the window is dedicated.
2409 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2410
2411 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2412
2168e04d
SM
2413 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2414 Remove left_ok and right_ok.
2415 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2416 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2417 new meaning of b_property.
2418
2419 * syntax.c (update_syntax_table): Simplify.
2420 (Fforward_comment): Don't skip quoted chars when going backward.
2421
13d95cc0
GM
24222001-10-11 Gerd Moellmann <gerd@gnu.org>
2423
beb0990f
GM
2424 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2425 in case I is of some unsigned type, in which case
2426 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2427 comparison becomes bogus.
2428
cb938d46
GM
2429 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2430 (Fuser_full_name): Fix bug treating a float as a fixnum.
2431
2432 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2433
2434 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2435
13d95cc0
GM
2436 * lisp.h (circular_list_error): Add prototype.
2437
2438 * data.c (Qcircular_list): New variable.
2439 (circular_list_error): New function.
2440 (syms_of_data): Initialize it Qcircular_list.
2441
e35f6ff7
SM
24422001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2443
2444 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2445 casefiddle.c, buffer.c: Include keymap.h.
2446
619632ac
GM
24472001-10-10 Gerd Moellmann <gerd@gnu.org>
2448
2449 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2450 options. From Dave Love <d.love@dl.ac.uk>.
2451
5e5388f6
GM
24522001-10-09 Gerd Moellmann <gerd@gnu.org>
2453
2454 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2455 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2456
14a3dff7
GM
2457 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2458 unsigned char.
2459 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2460
76ba8daf
AI
24612001-10-08 Andrew Innes <andrewi@gnu.org>
2462
2463 * lisp.h [max]: Undef min and max before redefining them.
2464
2465 * w32gui.h: Do not undef min and max.
2466
2467 * w32heap.h: Do not undef min and max.
2468
2469 * s/ms-w32.h: Do not undef min and max.
2470
166253cb
SM
24712001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2472
2473 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2474
0c4d9527
SS
24752001-10-08 Sam Steingold <sds@gnu.org>
2476
2477 * keymap.c (current-active-maps): Quote newlines (compilation error).
2478
14bfa771
EZ
24792001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2480
2481 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2482 bindings.elc, since otherwise doc strings in bindings.el get wrong
2483 offsets in etc/DOC.
2484
bdb7aa47
SM
24852001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2486
9985827f
SM
2487 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2488
2489 * keyboard.h (map_prompt): Remove.
2490
2491 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2492 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2493
bdb7aa47
SM
2494 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2495
2496 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2497
2498 * keyboard.c (map_prompt): Remove.
2499 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2500 Use Fkeymap_prompt.
2501
2502 * keymap.h: New file. Extracted from lisp.h.
2503
9985827f
SM
2504 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2505 (accessible_keymaps_1): New function.
2506 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2507 (Fwhere_is_internal): Use Fcurrent_active_maps.
2508 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2509 Insert in current buffer rather than standard-output.
2510 Don't call `help-mode'. Export to elisp.
2511 (describe_buffer_bindings): New wrapper.
2512 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2513 and Sdescribe_buffer_bindings.
2514
402c9a51
GM
25152001-10-08 Gerd Moellmann <gerd@gnu.org>
2516
9985827f 2517 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2518 Remove code setting signal handler.
2519
9985827f 2520 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2521 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2522
3fe81fdf
PJ
25232001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2524
2525 * keyboard.c: Don't define min/max.
2526
55fa7820
GM
25272001-10-08 Gerd Moellmann <gerd@gnu.org>
2528
9985827f 2529 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2530 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2531 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2532 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2533 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2534 Don't define min/max.
2535
2536 * lisp.h (min, max): New macros.
2537
55fa7820
GM
2538 * puresize.h (BASE_PURESIZE): Increase to 725000.
2539
1aad31e4
PJ
25402001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2541
9180dc8c
PJ
2542 * xfaces.c (free_frame_menubar): Add prototype.
2543
01f67d2c
PJ
2544 * lisp.h (init_window): Add prototype.
2545
2546 * editfns.c: Include ctype.h.
2547
2548 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2549 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2550 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2551 variable `sb'.
2552
5f351ff1
PJ
2553 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2554 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2555 `popup_activated_flag' and `title'.
2556
479dfe87
PJ
2557 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2558
dff49fc8
PJ
2559 * emacs.c (main): Remove extra `;'.
2560
248ac615
PJ
2561 * atimer.h (struct atimer): Fix typos in a comment.
2562
2563 * atimer.c: Fix typo.
2564
af232c7d
PJ
2565 * Makefile.in: Fix typo.
2566
2567 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2568
d876f455
MB
25692001-10-07 Miles Bader <miles@gnu.org>
2570
2571 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2572
0037e2f2
KR
25732001-10-07 Ken Raeburn <raeburn@gnu.org>
2574
b056f36d
KR
2575 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2576 Lisp_Object.
2577
0037e2f2
KR
2578 * lisp.h (Ffield_end): Declare.
2579
1a4372ef
GM
25802001-10-07 Gerd Moellmann <gerd@gnu.org>
2581
a4a74e8c
GM
2582 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2583
2584 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2585
2586 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2587
2588 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2589
1a4372ef
GM
2590 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2591 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2592
2593 * alloc.c (inhibit_garbage_collection): Simplify.
2594 (Fmemory_use_counts): Ditto.
2595
9985827f 2596 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2597 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2598 most-negative-fixnum.
2599
9985827f 2600 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2601 (FIXNUM_OVERFLOW_P): New macros.
2602
4650e362
MB
26032001-10-06 Miles Bader <miles@gnu.org>
2604
2605 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2606 scroll_bar_bottom_shadow_pixel fields.
2607 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2608 for the shadows, and tell the toolkit about them if we succeed.
2609 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2610 Free scroll-bar shadow colors.
2611 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2612 Free scroll-bar shadow colors when the background color changes.
2613 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2614 Initialize scroll-bar shadow-color fields.
2615
ace64e0a
GM
26162001-10-05 Gerd Moellmann <gerd@gnu.org>
2617
2618 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2619
ec66bdc7
MB
26202001-10-05 Miles Bader <miles@gnu.org>
2621
9985827f
SM
2622 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2623 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2624 New functions (were in simple.el).
9985827f 2625 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2626 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2627 (syms_of_minibuf): Initialize them.
2628
a0fb4492
GM
26292001-10-05 Gerd Moellmann <gerd@gnu.org>
2630
2631 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2632 (tiff_load): Install them as error and warning handler.
2633
0bcf87c1
AI
26342001-10-04 Andrew Innes <andrewi@gnu.org>
2635
2636 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2637 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2638 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2639 (x_to_w32_charset): Handle private format for unknown charsets.
2640 Handle wildcards in charset spec, by ignoring them.
2641 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2642 "*-" prefix from charset.
2643 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2644 handle the truncated font spec form constructed by font_list_1, so
2645 that we correctly identify the charset fields. Don't remove "*-"
2646 prefix from charset.
2647 (w32_list_synthesized_fonts): Fix argument to alloca.
2648
c89e4bc5
GM
26492001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2650
2651 * window.h (MINI_WINDOW_P): Use NILP.
2652
2653 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2654
2655 * termhooks.h (struct input_event): Use proper type for `kind'.
2656
26572001-10-04 Gerd Moellmann <gerd@gnu.org>
2658
2659 This handles unknown keysyms better than before. For example,
2660 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2661 Emacs formerly completely ignored F5. With the change, it derives
2662 a key symbol from the name of the X keysym, `ccaron' in this case.
2663 Reported by Martin Buchholz.
2664
2665 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2666 unknown keysyms.
2667
2668 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2669 that EVENT->code isn't a function key, use the keysym's name.
2670
26712001-10-04 Gerd Moellmann <gerd@gnu.org>
2672
2673 FOREACH is a macro that should make it easier to loop over Lisp
2674 lists with checks for cycles and proper lists.
2675
2676 * lisp.h (LIST_END_P, FOREACH): New macros.
2677
26782001-10-04 Gerd Moellmann <gerd@gnu.org>
2679
2680 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2681 called for a lost connection. Prevent dumping core in this case.
2682 Instead print the X error, and exit. On user request.
2683
2684 * xterm.c (error_msg): New variable.
2685 (x_fatal_error_signal): New function.
2686 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2687 as fatal_error_signal_hook around the call to XtCloseDisplay.
2688
2689 * emacs.c (fatal_error_signal_hook): New variable.
2690 (fatal_error_signal): Call that function.
2691
26922001-10-04 Gerd Moellmann <gerd@gnu.org>
2693
2694 With this, Emacs prints how much pure storage it will
2695 approximately need in case pure storage overflows while dumping.
2696
2697 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2698 New variables.
2699 (init_alloc_once): Initialize new variables.
2700 (PURE_POINTER_P): Use new variables.
2701 (pure_alloc): If pure storage overflows, allocate from the heap.
2702 (check_pure_size): New function.
2703 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2704
2705 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2706 (check_pure_size): Add prototype.
2707
2708 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2709
27102001-10-04 Gerd Moellmann <gerd@gnu.org>
2711
2712 This adds a post-gc-hook that's run with GC inhibited.
2713 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2714
2715 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2716 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2717 (Fgarbage_collect): Run post-gc-hook.
2718
27192001-10-04 Gerd Moellmann <gerd@gnu.org>
2720
2721 This adds `defvaralias' and `indirect-variable'. Changes not
2722 directly related to this feature are there to gain the same
2723 performance again as before variable aliases.
2724
2725 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2726 code to get and set symbol values, to take defvaralias into account.
2727
2728 (Note: the new `constant' bit-flag in symbols would make it
2729 possible to define arbitrary read-only variables, e.g. with
2730 `defconst'.)
2731
2732 Documentation is in lispref/variables.texi. Added to NEWS.
2733
2734 * lisp.h (enum symbol_interned): New enumeration.
2735 (struct Lisp_Symbol): Remove member `obarray', add
2736 `indirect_variable', `constant', and `interned'.
2737 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2738 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2739 (indirect_variable): Add prototype.
2740
2741 * print.c (print_preprocess, print_object): Test internedness of
2742 symbols differently.
2743
2744 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2745 bit-fields.
2746 (init_obarray): Likewise for t and nil.
2747
2748 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2749 (Fdefvaralias): New function.
2750 (specbind): Simplify the test if symbol is a constant.
2751 (syms_of_eval): Defsubr Fdefvaralias.
2752
2753 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2754 (Qcyclic_variable_indirection): New variable.
2755 (Fkeywordp): Check for internedness differently.
2756 (Fmakunbound): Simplify the test if symbol is a constant.
2757 (indirect_variable, Findirect_variable): New functions.
2758 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2759 aliased symbol.
2760 (let_shadows_buffer_binding_p): Check for variable aliases.
2761 (set_internal): Simplify the test if SYMBOL is a constant.
2762 If SYMBOL has a buffer-local value and is an alias, use the aliased
2763 symbol instead.
2764 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2765 Sindirect_variable.
2766
2767 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2768 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2769 set directly.
2770
2771 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2772
2773 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2774 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2775 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2776
ab952a4f
GM
27772001-10-04 Gerd Moellmann <gerd@gnu.org>
2778
2779 * Branch for 21.1.
b56ba8de 2780
ba88ff28
MB
27812001-10-03 Miles Bader <miles@gnu.org>
2782
2783 * callproc.c (syms_of_callproc): Explicitly state in the
2784 documentation for `process-environment' that earlier entries take
2785 precedence over later ones.
2786
ae1a9581
MB
27872001-10-02 Miles Bader <miles@gnu.org>
2788
2789 * textprop.c (Fnext_char_property_change)
2790 (Fprevious_char_property_change): Remove reference to non-existant
2791 argument OBJECT from doc-string.
2792
257e3f57
GM
27932001-10-01 Gerd Moellmann <gerd@gnu.org>
2794
2795 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2796 (try_window_id): Skip back over lines ending in a newline from a
2797 string.
2798
2799 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2800 New bit flag
2801
c1f29759
RS
28022001-10-01 Richard M. Stallman <rms@gnu.org>
2803
2804 * search.c (Freplace_match): Doc fix.
2805
c30dce3d
AI
28062001-09-28 Andrew Innes <andrewi@gnu.org>
2807
2808 * w32menu.c (set_frame_menubar): Take into account that
2809 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2810 <raeburn@gnu.org>.
2811
03be5931
EZ
28122001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2813
2814 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2815
75bec752
PJ
28162001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2817
2818 * s/gnu-linux.h: Fix a typo in comment.
2819
83100e0a
AS
28202001-09-28 Andreas Schwab <schwab@suse.de>
2821
2822 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2823 nocombreloc, in case -z combreloc is the default.
2824
a74b48cf
GM
28252001-09-28 Gerd Moellmann <gerd@gnu.org>
2826
2827 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2828 really going on here.
2829
09c4719e
SM
28302001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2831
2832 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2833
f7d5d963
EZ
28342001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2835
2836 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2837 utf-8, menu-bar, and latin-N.
2838 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2839 unconditionally now.
2840 (lisp): Add latin-N, since they are preloaded.
2841
9240e746
GM
28422001-09-27 Gerd Moellmann <gerd@gnu.org>
2843
14531065
GM
2844 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2845 to the left. Some cleanup.
2846
9240e746
GM
2847 * xdisp.c (display_mode_element): One more case where a string's
2848 multibyteness should be used for display.
2849
edd1e654
GM
28502001-09-26 Gerd Moellmann <gerd@gnu.org>
2851
b02439c8
GM
2852 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2853 reading at EOF.
2854
032906b1 2855 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2856 of the only temporarily set echoing flag for deciding when
032906b1
GM
2857 the cancel echoing.
2858
2859 * keyboard.c (echo_kboard): Make externally visible.
2860
2861 * lisp.h (echo_kboard): Declare extern.
2862
cb617e7c 2863 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2864 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2865 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2866 this round of redisplay if make_cursor_line_fully_visible fails.
2867 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2868 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2869
2870 * dispextern.h (required_matrix_width, required_matrix_height):
2871 Add prototypes.
2872
09c4719e
SM
2873 * dispnew.c (required_matrix_width, required_matrix_height):
2874 New functions.
cb617e7c 2875 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2876 (allocate_matrices_for_frame_redisplay: Use them.
2877 Remove parameters CH_DIM.
cb617e7c 2878
edd1e654
GM
2879 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2880 and selected_window to the frame of the window whose mode-lines
2881 are displayed, and to the window itself.
2882 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2883 here.
edd1e654 2884
924b604c
GM
28852001-09-25 Gerd Moellmann <gerd@gnu.org>
2886
daba7643
GM
2887 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2888 the image cache under us.
2889
b7a22712 2890 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2891 with a string value, use that string's multibyteness for displaying.
b7a22712 2892
ad648212
GM
2893 * keyboard.c (read_char): Don't clear a message for a switch-frame
2894 event. From Stefan Monnier <monnier@cs.yale.edu>.
2895
9f8531e5
GM
2896 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2897 version for after 21.1.
2898
2899 * xdisp.c (row_containing_pos): Make externally visible.
2900
2901 * dispextern.h (row_containing_pos): Add prototype.
2902
924b604c
GM
2903 * process.c (send_process): Disable composition if from_byte < 0.
2904 From Kenichi Handa <handa@etl.go.jp>.
2905
6f3f0db4
GM
29062001-09-24 Gerd Moellmann <gerd@gnu.org>
2907
c69c0ebc
GM
2908 * xterm.c (refreshicon): Function removed.
2909
d1182bc4
GM
2910 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2911
2912 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2913
2914 * xterm.c (toplevel): Remove includes in #if 0.
2915
6f3f0db4
GM
2916 * process.c (sigchld_handler) [LINUX]: Don't return from
2917 the signal handler at the end of the loop.
2918
59957f85
GM
29192001-09-21 Gerd Moellmann <gerd@gnu.org>
2920
09c4719e
SM
2921 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2922 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2923
a0528984
EZ
29242001-09-21 Markus Rost <rost@math.ohio-state.edu>
2925
2926 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2927
db92b288
GM
29282001-09-20 Gerd Moellmann <gerd@gnu.org>
2929
3fed8ad5
GM
2930 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2931 since this function can be called during GC.
2932
db92b288
GM
2933 * callproc.c (Fcall_process): Handle errors from pipe(2).
2934 (child_setup): Delete code in #ifdef vipc.
2935
7121b85a
GM
29362001-09-19 Gerd Moellmann <gerd@gnu.org>
2937
72f62cb5
GM
2938 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2939 (display_mode_element): Display the string from decode_mode_spec
2940 depending on its multibyteness.
2941
a2697022
GM
2942 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2943
7121b85a
GM
2944 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2945
bfc97351
GM
29462001-09-18 Gerd Moellmann <gerd@gnu.org>
2947
c9063433
GM
2948 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2949 recursive_edit_unwind.
2950 (recursive_edit_unwind): Set kboard state according to
2951 SINGLE-KBOARD.
2952
3fbdba3e
GM
2953 * buffer.c (modify_overlay): Don't do nothing if START == END;
2954 This can still be a modification, for example when an overlay has
2955 a before-string or after-string.
2956 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2957 an overlay with before-string or after-string.
2958
1270031d
GM
2959 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2960 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2961
bfc97351
GM
2962 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2963 first_unchanged_at_end_row is in front of
2964 last_unchanged_at_beg_row. This code should be removed after the
2965 release of 21.1.
2966
d8a973aa
GM
29672001-09-17 Gerd Moellmann <gerd@gnu.org>
2968
e18c8b8d
GM
2969 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2970 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2971
d8a973aa
GM
2972 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2973 versions >= 2.95.
2974
ed7d6ba4
EZ
29752001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2976
2977 * dired.c (Ffile_attributes): Doc fix.
2978
551629f9
GM
29792001-09-14 Gerd Moellmann <gerd@gnu.org>
2980
2981 * fileio.c (Ffile_symlink_p): Fix last change.
2982
2983 * filelock.c (current_lock_owner): Fix last change.
2984
4c8c7926
GM
29852001-09-13 Gerd Moellmann <gerd@gnu.org>
2986
620c4704
GM
2987 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2988 take that to mean that the buffer is too small.
2989
81c3310d
GM
2990 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2991 that to mean that the buffer is too small.
2992
06fd3792
GM
2993 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2994 current buffer's multibyteness when discarding the iterator's
2995 stack.
2996
4c8c7926
GM
2997 * xfns.c (Fx_window_property): Handle case that property gets
2998 deleted between the two calls to XGetWindowProperty.
2999
9a72e4c1
GM
30002001-09-11 Gerd Moellmann <gerd@gnu.org>
3001
bd819d14 3002 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3003
a41edd99
GM
3004 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3005 in addition to read-only.
3006
3007 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3008 to t in addition to read-only.
3009
3010 * lisp.h (Qinhibit_modification_hooks): Declare.
3011
3012 * insdel.c (Qinhibit_modification_hooks): New variable.
3013 (syms_of_insdel): Initialize and staticpro it.
3014
d4881c6a
GM
3015 * textprop.c (verify_interval_modification): Don't run
3016 modification-hooks if inhibit_modification_hooks.
3017
3018 * dispnew.c (set_window_cursor_after_update): Fix code
3019 finding glyph row containing cursor when cursor_in_echo_area
3020 is >= 0.
3021
9a72e4c1
GM
3022 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3023 (add_to_log): Use bcopy instead of strcpy.
3024 (init_from_display_pos): Use an explicit loop over bytes in
3025 overlay strings instead of calling index.
3026
f4a374a1
GM
30272001-09-10 Gerd Moellmann <gerd@gnu.org>
3028
300e57bd
GM
3029 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3030
3031 * dispnew.c (direct_output_for_insert): Don't change IT's
3032 stop_charpos to something in front of its current position.
3033
f4a374a1
GM
3034 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3035 `format'.
3036
7e4cbc91
RS
30372001-09-10 Richard M. Stallman <rms@gnu.org>
3038
3039 * frame.c (Fmouse_position): Doc fix.
3040
6afad91e
GM
30412001-09-07 Gerd Moellmann <gerd@gnu.org>
3042
3043 * xdisp.c (init_from_display_pos): Don't compare the result
3044 of calling index with NULL.
3045
f76e0368
GM
30462001-09-06 Gerd Moellmann <gerd@gnu.org>
3047
3048 * xfns.c (x_set_background_color): Don't change the colors
3049 of the X window of scroll bar widgets.
3050
9ead1b60
AI
30512001-09-05 Andrew Innes <andrewi@gnu.org>
3052
3053 * w32fns.c (w32_createwindow): Undo last change.
3054
c3b497b3
GM
30552001-09-05 Gerd Moellmann <gerd@gnu.org>
3056
08e1d6df
GM
3057 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3058
c3b497b3
GM
3059 * xdisp.c (string_buffer_position): Use *single_char_property*
3060 functions instead of the *single_property* functions.
b56ba8de 3061
8f860180
AI
30622001-09-04 Andrew Innes <andrewi@gnu.org>
3063
9a72e4c1
GM
3064 * w32term.c (w32_read_socket): Add more information to debugging
3065 output.
8f860180
AI
3066
3067 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3068 from Emacs frames, so that calls to GetClipBox in w32term.c
3069 correctly report when part of a frame is visible (including
3070 scrollbars, etc). This prevents repeated redrawing of frames when
3071 only a scrollbar is visible.
3072 (w32_wnd_proc): Add more frame information to debugging output.
3073
2ee1aa00
SM
30742001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3075
3076 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3077
e3b22517
GM
30782001-09-03 Gerd Moellmann <gerd@gnu.org>
3079
7e376260
GM
3080 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3081 help-echo for a string which doesn't have help-echo itself, use
3082 get-char-property to obtain the help-echo from the string's buffer
3083 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3084 have mouse-face, look ``under'' the string for mouse-face from an
3085 overlay.
3086 (fast_find_position): Add parameter STOP. In the final row, stop
3087 before glyphs having STOP as object. Don't consider glyphs that
3088 are not from a buffer.
3089
e3b22517
GM
3090 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3091
9a249bba
EZ
30922001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3093
3094 * fns.c (Fmd5): Doc fix.
3095
c9979669
GM
30962001-08-31 Gerd Moellmann <gerd@gnu.org>
3097
3098 * composite.c (update_compositions): Do nothing if
3099 inhibit-modification-hooks is set.
3100
9584e63a
GM
31012001-08-30 Gerd Moellmann <gerd@gnu.org>
3102
986ec8f2 3103 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3104 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3105 glyph matrices etc. in a core dump.
3106
92a25631
GM
3107 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3108 (syms_of_xdisp): Initialize them.
3109 (handle_single_display_prop): Don't change point, bind `object',
3110 `position', and `buffer-position' instead to the object having the
2ee1aa00 3111 `display' property, position in the object and position in the buffer.
92a25631 3112
9584e63a
GM
3113 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3114 of the buffer if REPLACE is non-nil.
3115
d38633a3
GM
31162001-08-29 Gerd Moellmann <gerd@gnu.org>
3117
3118 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3119
f4fccc1e
EZ
31202001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3121
3122 * w32term.c (x_set_glyph_string_background_width)
3123 (show_mouse_face): Track the last changes in xterm.c.
3124
eaaa65b0
GM
31252001-08-28 Gerd Moellmann <gerd@gnu.org>
3126
7b0870b2
GM
3127 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3128 string's background width so that multi-line mouse-face is drawn
3129 to the right edge of the window.
3130 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3131 glyphs.
3132
6b6e2422 3133 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3134 before inserting/writing glyphs.
6b6e2422 3135
eaaa65b0
GM
3136 * xdisp.c (display_mode_element): Use string_byte_to_char to
3137 determine character positions in strings, use chars_in_text
3138 instead of strwidth.
3139 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3140 a matrix as parameter; this is easier to use from GDB.
3141
9ad62cf8
MB
31422001-08-28 Miles Bader <miles@gnu.org>
3143
2ee1aa00
SM
3144 * textprop.c (Fprevious_single_char_property_change)
3145 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3146
32171635
GM
31472001-08-27 Gerd Moellmann <gerd@gnu.org>
3148
47d57b22
GM
3149 * fileio.c (Finsert_file_contents): Allocate, restore, and
3150 free composition data in the case of REPLACE not being nil.
3151
3152 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3153 there exist overlay strings with newlines at POS.
3154 (text_outside_line_unchanged_p): Return 0 if changes start at
3155 START and overlays exist at START. Likewise for END.
3156 (try_window_id): Give up if init_to_row_end returns 0.
3157
32171635
GM
3158 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3159 unconditionally.
3160
e1249666
GM
31612001-08-24 Gerd Moellmann <gerd@gnu.org>
3162
33954c45
GM
3163 * keymap.c (access_keymap): Return the cdr of the binding of
3164 a generic character instead of its definition (KEY . BINDING).
3165
e1249666
GM
3166 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3167 to 0 also in the REPLACE case.
3168
fb4c6c96
AC
31692001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3170
3171 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3172 open to determine whether file is readable (as for DOS_NT).
3173
59ecf80b
GM
31742001-08-23 Gerd Moellmann <gerd@gnu.org>
3175
3176 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3177 coding.type is coding_type_no_conversion or coding_type_raw_text,
3178 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3179 non-nil instead of just setting enable_multibyte_characters in the
3180 buffer to nil.
3181
40e33037
GM
31822001-08-22 Gerd Moellmann <gerd@gnu.org>
3183
374388c3
GM
3184 * dispextern.h (struct face_cache): Add member
3185 menu_face_changed_p.
3186
3187 * xfaces.c (menu_face_changed_default): New variable.
3188 (menu_face_changed_count): Variable removed.
3189 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3190 the menu_face_changed_default flag, otherwise set the FRAME's
3191 menu_face_changed_p flag if the `menu' face has been changed.
3192 Prevent calling set_font_frame_param if FRAME is t.
3193 (make_face_cache): Initialize cache's menu_face_changed_p
3194 from menu_face_changed_default.
3195 (realize_basic_faces): Look into the frame's face cache to
3196 determine if the menu appearance needs updating.
3197
40e33037
GM
3198 * keymap.c (access_keymap): Fix last change to not consider
3199 IDX when it has modifiers.
3200
859ea4b8
GM
32012001-08-21 Gerd Moellmann <gerd@gnu.org>
3202
3203 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3204 . BINDING) exists, where GENERIC-CHAR is the generic character of
3205 the charset of IDX, return BINDING unless there exists a binding
3206 for IDX itself.
3207
e8660d73
GM
32082001-08-16 Gerd Moellmann <gerd@gnu.org>
3209
cca1b1d7
GM
3210 * xrdb.c (SYSV): Don't define on Solaris 2.
3211 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3212
e8660d73 3213 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3214 of the screen line, not text line, containing IT's current position.
e8660d73 3215
93aba6fc
GM
32162001-08-15 Gerd Moellmann <gerd@gnu.org>
3217
288d4e06
GM
3218 * window.c (window_scroll_pixel_based): Don't recenter if
3219 PT is partially visible in the window.
3220
3452efc2
SM
3221 * xterm.c (expose_window_tree, expose_window, expose_line):
3222 Return 1 when overwriting mouse-face.
82f053ab
GM
3223 (expose_frame): If mouse-face was overwritten, redo it.
3224
93aba6fc
GM
3225 * xfaces.c (x_update_menu_appearance): Don't call
3226 set_frame_menubar, let the next redisplay do it.
3227
858a55c1
AI
32282001-08-14 Andrew Innes <andrewi@gnu.org>
3229
3230 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3231 drawing glyph string.
3232
3a990b67
EZ
32332001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3234
3235 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3236 running HI-UX/MPP.
3237
04386463
GM
32382001-08-14 Gerd Moellmann <gerd@gnu.org>
3239
3240 * xfaces.c (x_update_menu_appearance): Save and restore value of
3241 interrupt_input_blocked.
3242
3e6385a4
GM
32432001-08-13 Gerd Moellmann <gerd@gnu.org>
3244
b0e619b4
GM
3245 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3246 a line start, move back to the line start.
3452efc2 3247
0de73d5a
GM
3248 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3249 exactly when a mini-buffer is active.
3250
3e6385a4
GM
3251 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3252 in units of 1/8 character on non window-system frames.
3253 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3254
d1b5f629
EZ
32552001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3256
3257 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3258 a doc string.
3259
eaa2319f
GM
32602001-08-09 Gerd Moellmann <gerd@gnu.org>
3261
8e3189f0
GM
3262 * keyboard.c (Vpre_help_message): New variable.
3263 (syms_of_keyboard): Initialize and staticpro it.
3264 (show_help_echo): Record current message before displaying a
3265 help-echo, and restore that message when clearing the help.
3266
eaa2319f
GM
3267 * xfns.c (x_create_im): Remove prototype.
3268
3269 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3270
3271 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3272
eaa2319f
GM
32732001-08-08 Gerd Moellmann <gerd@gnu.org>
3274
3275 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3276 windows whose height has changed, disable partially visible lines.
eaa2319f 3277
17fdcfc8
GM
32782001-08-07 Gerd Moellmann <gerd@gnu.org>
3279
22d01aed 3280 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3281 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3282
17fdcfc8
GM
3283 * xdisp.c (start_display): Don't try to determine the continuation
3284 lines width if lines are truncated. It's superfluous and leads to
3285 incorrect results if POS is not visible in the window after
3286 reseating the iterator at the previous line start.
3287
8e3fe78e
GM
32882001-08-06 Gerd Moellmann <gerd@gnu.org>
3289
3290 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3291
98a8938c
GM
32922001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3293
3294 * alloc.c (init_stack): Remove declaration.
3295
18f9986a
GM
32962001-08-03 Gerd Moellmann <gerd@gnu.org>
3297
5e1f85e0
GM
3298 * keyboard.c (read_key_sequence): Check that key is an integer
3299 before comparing it with quit_char.
3300 (add_command_key): Use larger_vector.
3301 (read_char_x_menu_prompt): Instead of converting symbol and
3302 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3303 which cannot be confused with valid events.
5e1f85e0
GM
3304 (read_char): When reading from Vunread_command_events, check for
3305 events of the form (EVENT . disabled) instead of
3306 (EVENT . nil).
3307
18f9986a
GM
3308 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3309 a float, determine the max height from the frame's height.
3310
fbc7f2a6
GM
33112001-08-02 Gerd Moellmann <gerd@gnu.org>
3312
3313 * xdisp.c (redisplay_internal): Take message_cleared_p into
3314 account only if minibuf_level == 0.
3315
81b1a79d
GM
33162001-08-01 Gerd Moellmann <gerd@gnu.org>
3317
e5c60873
GM
3318 * xdisp.c (redisplay_internal): Add a check for the last
3319 displayed message.
3452efc2 3320
6e019995
GM
3321 * xdisp.c (message_cleared_p): New variable.
3322 (clear_message): Set message_cleared_p when clearing the current
3323 message.
3324 (redisplay_internal): Look at message_cleared_p to capture
3325 the case that the echo area should be cleared.
3326
308a74d8
GM
3327 * keyboard.c (command_loop_1): Fix spelling of
3328 resize_echo_area_exactly.
3329
3452efc2 3330 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3331
3332 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3333
81b1a79d
GM
3334 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3335 current matrix when the window gets smaller.
3336
ada329e6
EZ
33372001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3338
3339 * print.c (strout): Cast the character passed to insert_char to
3340 unsigned char, to avoid sign extension when it is promoted to int.
3341
ed86208c
GM
33422001-07-31 Gerd Moellmann <gerd@gnu.org>
3343
3344 * fileio.c (Finsert_file_contents): Don't treat a return value
3345 of 0 from emacs_read as an IO error.
3346
6594ac22
GM
33472001-07-30 Gerd Moellmann <gerd@gnu.org>
3348
cef68af5
GM
3349 * keyboard.c (abs): New macro.
3350 (double_click_fuzz): New variable.
3351 (make_lispy_event): Use it to determine what makes a double-click.
3352 (syms_of_keyboard): DEFVAR_INT it.
3353
6594ac22
GM
3354 * xmenu.c (set_frame_menubar): Take into account that
3355 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3356 <raeburn@gnu.org>.
3357
75c5350a
GM
33582001-07-27 Gerd Moellmann <gerd@gnu.org>
3359
3360 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3361
3362 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3363 of row's visible height.
3364
3365 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3366 deal with the first overlay string having an image `display' property.
3367 (try_window_reusing_current_matrix, compute_line_metrics):
3368 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3369 row is invisible above and part of the row is at the same time
3370 invisible below the window.
3371
ac49effe
GM
33722001-07-26 Gerd Moellmann <gerd@gnu.org>
3373
3374 * xfns.c (x-show-tip): Doc fix.
3452efc2 3375
ac49effe
GM
3376 * xfns.c (Vx_max_tooltip_size): New variable.
3377 (syms_of_xfns): DEFVAR_LISP it.
3378 (Fx_show_tip): Set frame's window_width to the width of the
3379 window. Use a maximum tooltip size specified by
3380 Vx_max_tooltip_size, if that has valid contents.
3381 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3382
8c3b00cb
AI
33832001-07-26 Andrew Innes <andrewi@gnu.org>
3384
3385 * w32term.c (x_display_list): New variable.
3386 (w32_term_init): Set it.
3387
3388 * w32term.h (x_display_list): New extern.
3389
16098288
GM
33902001-07-26 Gerd Moellmann <gerd@gnu.org>
3391
3392 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3393 is non-nil, instead of when redisplaying_p is non-zero.
3394 See comment there.
16098288
GM
3395 (mark_window_display_accurate_1): Add an assertion.
3396
64c5be50
GM
33972001-07-25 Gerd Moellmann <gerd@gnu.org>
3398
e743f599
GM
3399 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3400
563b384d
GM
3401 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3402 events so that we get a chance of processing expose events.
3403
64c5be50
GM
3404 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3405
296808a5
GM
34062001-07-24 Gerd Moellmann <gerd@gnu.org>
3407
3408 * xfns.c (valid_image_p): Protect better against invalid image
3409 specifications. Previous code could signal an error.
3410
5247262a
GM
34112001-07-23 Gerd Moellmann <gerd@gnu.org>
3412
3452efc2 3413 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3414 presence of display table entries.
3415 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3416
dd42b31a
GM
3417 * dispnew.c (adjust_glyph_matrix): In the optimization for
3418 windows whose height has changed, use the new window height
3419 to compute which rows to invalidate.
3420
9e5a7f2a
GM
3421 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3422 (MAX_10_EXP): New macro.
3423 (Fformat): Use it.
3424
5247262a
GM
3425 * coding.c (code_convert_region): Handle the multibyte case if
3426 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3427
177ab8ce
GM
34282001-07-20 Gerd Moellmann <gerd@gnu.org>
3429
6e07c0a5
GM
3430 * dispextern.h (struct face): Change type of `stipple' to
3431 int; it's an ID.
3432
177ab8ce
GM
3433 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3434
b5b80599
GM
34352001-07-19 Gerd Moellmann <gerd@gnu.org>
3436
4e2a256b
GM
3437 * dispnew.c (update_window): Don't set the cursor at the end
3438 of the update if display update has been paused.
3439
3452efc2 3440 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3441
c1fd9232
KR
34422001-07-18 Ken Raeburn <raeburn@gnu.org>
3443
3444 * fns.c (Fset_char_table_default): Check that a charset is defined
3445 before checking its dimension.
3446
928a85c1
KR
34472001-07-17 Ken Raeburn <raeburn@gnu.org>
3448
3449 * coding.c (setup_coding_system): Don't do any designation based
3450 on reg_bits if charset is not yet defined.
3451
fb4c6c96 3452 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3453 pointer, using eassert.
3454
de11c1ea
GM
34552001-07-17 Gerd Moellmann <gerd@gnu.org>
3456
3452efc2
SM
3457 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3458 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3459
467f1209
GM
34602001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3461
3462 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3463
c3d6be34
GM
34642001-07-16 Gerd Moellmann <gerd@gnu.org>
3465
c1d61a7d
GM
3466 * fileio.c (unwind_read): Function removed.
3467 (read_non_regular, read_non_regular_quit): New functions.
3468 (Finsert_file_contents): When reading from non-regular files,
3469 arrange to catch a `quit' and terminate the loop. Rearrange
3470 code so that a `quit' when reading from a regular file doesn't
3471 insert text in the buffer.
3472
c3d6be34
GM
3473 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3474 Clear faces afterwards.
3475 (clear_font_table): Take a x_display_info parameter. Don't free
3476 fonts being the default font of any frame on the given display.
3477
e06aa1f9
GM
34782001-07-13 Gerd Moellmann <gerd@gnu.org>
3479
3480 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3481 instead of CHAR_STRING which can signal an error.
3482
3483 * charset.c (char_to_string_1): Extracted from char_to_string.
3484 Return -1 instead of signaling an error.
3485 (char_to_string): Use it.
3486
3487 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3488
176c92e6
SM
34892001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3490
3491 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3492 is t, don't try to append anything to it.
3493
1c56232f
EZ
34942001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3495
3496 * dired.c (file_name_completion): Pass dp->d_name to
3497 Fstring_match, not elt, which is always nil here.
3498
1d2b2268
GM
34992001-07-12 Gerd Moellmann <gerd@gnu.org>
3500
3501 * xselect.c (x_decline_selection_request): Handle errors
3502 caused by receivers that have vanished.
3503
3504 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3505 ignoring events on foreign windows in #if 0. Always dispatch
3506 the event after checking it with x_handle_property_notify.
3507
3508 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3509 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3510 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3511 (toplevel): Add prototypes for file-local functions.
3512 (x_atom_to_symbol): Remove DPYINFO parameter.
3513
fe5a0162
SM
35142001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3515
3516 * w32menu.c (menubar_selection_callback, w32_menu_show):
3517 Initialize `entry' to nil.
3518 (w32_dialog_show): Remove unused `save_wv' variable.
3519 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3520
a777242c
GM
35212001-07-11 Gerd Moellmann <gerd@gnu.org>
3522
8ee5b6a3
GM
3523 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3524
d0e2444e
GM
3525 * fileio.c (unwind_read): Print a message when discarding inserted
3526 text or switching the buffer to unibyte. Change parameter.
3527 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3528
a777242c
GM
3529 * fileio.c (unwind_read): New function.
3530 (Finsert_file_contents): Record it as unwind-function for
3531 the case that reading is interrupted by C-g.
3532
ae794295
GM
35332001-07-10 Gerd Moellmann <gerd@gnu.org>
3534
fe5a0162 3535 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3536 update when scrolling_window returns 0.
3537
6b05fae3
GM
3538 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3539
3540 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3541 for the case that x_decode_color signals an error.
6b05fae3 3542
ae794295
GM
3543 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3544
bb6e8cee
GM
35452001-07-09 Gerd Moellmann <gerd@gnu.org>
3546
3547 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3548 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3549 around ioctls.
3550
36b40a8a
EZ
35512001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3552
24b97d4b
EZ
3553 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3554 doc string line for dos-timezone-offset.
3555
36b40a8a
EZ
3556 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3557 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3558 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3559 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3560
3561 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3562
0967b4b0
GM
35632001-07-05 Gerd Moellmann <gerd@gnu.org>
3564
f25cfe53
GM
3565 * sound.c: Include Emacs' header files with #include "...".
3566
0967b4b0
GM
3567 * eval.c (specbind): Additionally record the buffer that was
3568 current when a buffer-local or frame-local variable was bound.
3569
c347a1c3
GM
35702001-07-04 Gerd Moellmann <gerd@gnu.org>
3571
3572 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3573 to unibyte characters in unibyte buffers.
3574
6332ca8a
GM
35752001-07-03 Gerd Moellmann <gerd@gnu.org>
3576
38472d44
GM
3577 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3578 the frame on the binding stack. Change format of entries for
3579 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3580 (unbind_to): Handle unbinding a frame-local variable.
3581
6332ca8a 3582 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3583 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3584 (dump_glyph_row): Print row's continuation_lines_width.
3585 (try_window_id): Take the shortcut if ZV is visible in the
3586 window, but there are actually no changes at ZV.
3587
63d1b174
GM
35882001-07-02 Gerd Moellmann <gerd@gnu.org>
3589
4c175203
GM
3590 * xterm.h (x_free_dpy_colors): Add prototype.
3591
3592 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3593 right number of arguments.
3594
0b54ce28
GM
3595 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3596 ($(lwlibdir)TAGS): New target.
4c175203 3597 (TAGS): Fix dependency list.
0b54ce28 3598
63d1b174
GM
3599 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3600 with input blocked.
3601
d827466c
GM
36022001-06-30 Gerd Moellmann <gerd@gnu.org>
3603
3604 * emacs.c (main): Remove extern declaration for sys_nerr, which
3605 isn't used and causes a compilation error with GCC 3.0 on
3606 FreeBSD 4.3.
3607
b5cb1ada
GM
36082001-06-27 Gerd Moellmann <gerd@gnu.org>
3609
a5d3ec3f 3610 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3611 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3612 (toplevel): Include <signal.h> and syssignal.h.
3613
b5cb1ada
GM
3614 * sound.c (vox_configure, vox_close): Turn off atimers
3615 around ioctls.
3616
d9bad487
GM
36172001-06-26 Gerd Moellmann <gerd@gnu.org>
3618
fdbb67fe
GM
3619 * keyboard.c (read_char) <non_reread>: Record the previous idle
3620 start time before calling timer_stop_idle.
3621 (read_char) <reread_first>: After processing a help-echo event,
3622 restore the previous idle start time.
3623
d9bad487
GM
3624 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3625 the start of invisible text.
3626 (setup_for_ellipsis): New function.
3627 (next_overlay_string): After all overlay strings have been
3628 processed, display an ellipsis if necessary.
3629 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3630 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3631
3632 * dispextern.h (struct iterator_stack_entry): Add member
3633 display_ellipsis_p.
3634
2b9c25e0
GM
36352001-06-25 Gerd Moellmann <gerd@gnu.org>
3636
80de57df
GM
3637 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3638 on the value of the wait-for-wm frame parameter.
3639
3640 * xterm.h (struct x_output): Add member wait_for_wm.
3641
3642 * xfns.c (Qwait_for_wm): New variable.
3643 (x_frame_parms): Add entry for `wait-for-wm".
3644 (x_set_wait_for_wm): New function.
3645 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3646 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3647
2b9c25e0
GM
3648 * xdisp.c (try_window_id) <all changes below window end>: Don't
3649 take this shortcut if ZV is visible in the window.
3650 (try_window_id): When checking for window start being in changed
3651 text, don't check that the buffer's size has changed.
3652
f772775c
RS
36532001-06-23 Richard M. Stallman <rms@gnu.org>
3654
3655 * minibuf.c (Fcompleting_read): Doc fix.
3656
fa9090b8
GM
36572001-06-19 Gerd Moellmann <gerd@gnu.org>
3658
3659 * composite.c (Ffind_composition_internal): Accept ZV
3660 and a string's end position as POS.
3661
f6f1beba
GM
36622001-06-18 Gerd Moellmann <gerd@gnu.org>
3663
3664 * composite.c (Ffind_composition_internal): Check POS
3665 for validity.
3666
0ae83348
EZ
36672001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3668
3669 * editfns.c (Fmessage_box): If the frame is not under a window
3670 system, output the message in the echo area.
3671
e4cdc335
RS
36722001-06-14 Richard M. Stallman <rms@gnu.org>
3673
3674 * xdisp.c (try_window_id): When EOB is visible, don't treat
3675 insertion at EOB as if it were "off the bottom of the screen."
3676
a55a5f3c
AI
36772001-06-11 Andrew Innes <andrewi@gnu.org>
3678
3679 * w32proc.c (create_child): Add new parameter is_gui_app.
3680 (w32_executable_type): Add new parameter is_gui_app.
3681 (sys_spawnve): Use it.
3682 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3683 SIGQUIT. This matches better how the signals are interpreted by
3684 MSVC compiled programs.
3685 (syms_of_ntproc): Update docstring.
3686
1b85dc1c
SM
36872001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3688
3689 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3690 well otherwise note_mouse_highlight might optimize away highlighting
3691 if we pass over that same overlay again.
3692
b75f8eab
EZ
36932001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3694
3695 * lread.c (Fload): Document that the argument is run via
3696 substitute-in-file-name.
3697
94843cc1
GM
36982001-05-31 Gerd Moellmann <gerd@gnu.org>
3699
b14659e6
GM
3700 * Makefile.in (bootstrap-doc): New target.
3701 (bootstrap-emacs): Depend on it.
3702
0894672f
GM
3703 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3704 auto-save-list-file-name when shutting down Emacs, because
3705 creating the directory might signal an error, and leaves
3706 Emacs in a strange state.
3707
94843cc1
GM
3708 * term.c: (tty_cursor_hidden): New variable.
3709 (update_begin): Don't call tty_hide_cursor. Clean up.
3710 (update_end, set_terminal_window, set_scroll_region): Clean up.
3711 (ring_bell, reset_terminal_modes): Clean up.
3712 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3713 on tty_cursor_hidden.
3714 (write_glyphs): Call tty_hide_cursor.
3715
db3a49a6
SM
37162001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3717
3718 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3719
8bd189fb
GM
37202001-05-30 Gerd Moellmann <gerd@gnu.org>
3721
6f1be3b9
GM
3722 * xfns.c (enum image_value_type): New enumerator
3723 IMAGE_STRING_OR_NIL_VALUE.
3724 (parse_image_spec): Handle it.
3725 (xbm_format, pbm_format): Use it for :foreground and :background.
3726 (xbm_load, pbm_load): Check for nil color names.
3727
8bd189fb
GM
3728 * xterm.c (note_mouse_highlight): If an overlapping overlay
3729 exists, but we find that we highlight the same overlay as before,
3730 don't do the highlighting again.
3731
7bdba03c
GM
37322001-05-29 Gerd Moellmann <gerd@gnu.org>
3733
4c329aa8
GM
3734 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3735 Protect unibyte strings created by replacing their multibyte
3736 equivalents in menu_items.
3737
e15e2828
GM
3738 * keymap.c (Fsingle_key_description): NUL-terminate the string
3739 buffer before calling build_string.
3740
7bdba03c
GM
3741 * callproc.c (Fcall_process): Deal with decode_coding returning
3742 CODING_FINISH_INCONSISTENT_EOL.
3743
89c8dc6c
GM
37442001-05-28 Gerd Moellmann <gerd@gnu.org>
3745
db3a49a6 3746 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3747 an item's name with its key description in case the description
3748 is a multibyte string.
3749
3750 * keymap.c (Fsingle_key_description): Create a multibyte string
3751 only if necessary.
3752
eb04d6cd
GM
3753 * macros.c (Fstart_kbd_macro): Doc fix.
3754
8bd6307f
GM
3755 * xterm.c (cursor_in_mouse_face_p): New function.
3756 (x_draw_stretch_glyph_string): Use it to choose a different GC
3757 when drawing a cursor within highlighted text.
3758
e26c4089
GM
3759 * editfns.c (char_property_eq): Put in #if 0.
3760
3761 * indent.c (string_display_width): Put in #if 0.
3762
3763 * lread.c (Fload): Remove unused label.
3764
89c8dc6c
GM
3765 * termcap.c (speeds): Put in #if 0.
3766
9a1211f2
GM
37672001-05-18 Gerd Moellmann <gerd@gnu.org>
3768
29148a3f
GM
3769 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3770
9a1211f2
GM
3771 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3772 transformation matrix by 10.
3773
09393d07
GM
37742001-05-16 Gerd Moellmann <gerd@gnu.org>
3775
3776 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3777 only if it's equal to the former foreground pixel color.
db3a49a6 3778 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3779 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3780
460e6bae
GM
37812001-05-16 Dave Love <fx@gnu.org>
3782
3783 * insdel.c (signal_before_change, signal_after_change): Consider a
3784 local change hook which changes the buffer.
99c78ce8
GM
3785
3786 * process.c (read_process_output): Don't call signal_after_change
3787 and update_compositions after insert_from_string_before_markers.
3788
dbcf3c03
GM
37892001-05-16 Gerd Moellmann <gerd@gnu.org>
3790
a90b3d3c
GM
3791 * xfaces.c (split_font_name): Use the right field when
3792 checking for `[...]' syntax.
3793
1b7818b4
GM
3794 * buffer.c (copy_overlays): New function.
3795 (clone_per_buffer_values): Use it.
3796
3797 * buffer.h (OVERLAY_PLIST): New macro.
3798
9bae8781
GM
3799 * keymap.c (Fsingle_key_description): Replace a build_string with
3800 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3801
dbcf3c03
GM
3802 * fontset.c (Ffontset_info): Check that face is non-null
3803 before accessing its fields.
3804
8a1ae4dd
GM
38052001-05-15 Gerd Moellmann <gerd@gnu.org>
3806
18a0a39e
GM
3807 * keyboard.c (read_key_sequence): Prevent generating a fake
3808 prefix key twice.
3809
e335b66a
GM
3810 * xfaces.c (split_font_name): Handle `[...]' for the right
3811 font name fields.
3812
8a1ae4dd
GM
3813 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3814 of CCL_STAT_INVALID_CMD.
3815
3cf80731
SM
38162001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3817
33568849
SM
3818 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3819 in <var> has no default value yet.
3820
3cf80731
SM
3821 * xfaces.c (try_alternative_families): First try the FAMILY.
3822 And if nothing is found in the end, try again with scalable fonts.
3823 (try_font_list): Let try_alternative_families do a bit more of
3824 the work. Only use FAMILY if it is not nil.
3825 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3826
933b0249
GM
38272001-05-14 Gerd Moellmann <gerd@gnu.org>
3828
58e5af83
GM
3829 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3830 pointer shape when show_mouse_face has already done it.
33568849 3831
58e5af83 3832 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3833 full-width rows.
3834
7b16a6bf
GM
3835 * xfaces.c (split_font_name): Make sure to leave the loop
3836 with the right value of `i'.
3cf80731 3837
933b0249
GM
3838 * xfaces.c (split_font_name): Handle matrix transformations
3839 in the pixel and point size fields of XLFD font names.
3840 (xlfd_point_size): Likewise.
3841
dddcbf00
EZ
38422001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3843
3cf80731 3844 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3845 (x_to_w32_font): Add prototype.
3846
7689ef0b
EZ
3847 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3848 redefining, to avoid compiler warnings.
3849
e7c15bba
EZ
3850 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3851
dddcbf00
EZ
3852 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3853 (w32_get_bdf_glyph): Cast between unsigned char and char when
3854 passing arguments to subroutines, to shut up compiler warnings.
3855 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3856 GET_HEX_VAL.
3857
3858 * xfaces.c: Include keyboard.h before frame.h, not after it.
3859
3860 * widget.c: Include keyboard.h before frame.h.
3861
3862 * w32term.h (struct image, struct face): Forward declaration, to
3863 avoid compiler warnings.
3864
7bd2d083
GM
38652001-05-11 Gerd Moellmann <gerd@gnu.org>
3866
47e72862
GM
3867 * keyboard.c (read_key_sequence): Don't modify events when
3868 generating fake prefix keys (mode-line, scroll-bar, ...) since
3869 this prevents proper processing of such events when pushed back
3870 into unread-command-events.
3871
dd5f324b
GM
3872 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3873 actually redrawn. Make the function static.
3874 (note_mouse_highlight): Fix a case where the mouse cursor
3875 was changed back to the text cursor.
3876
3877 * xterm.h (clear_mouse_face): Remove prototype.
3878
d88a79d4
GM
3879 * xdisp.c (try_window_id): Fix the fix and set the right
3880 window_end_vpos.
3881
3882 * xdisp.c (try_window_id): Fix computation of window end in the
3883 case that lines were deleted at the end of the window. Add some
3884 more debug_method_adds.
0416532f 3885
7bd2d083
GM
3886 * xfaces.c (try_alternative_families): New function.
3887 (try_font_list): Use it. If ATTRS specifies a family, check
3888 fonts from that family first.
3889 (choose_face_font): Remove code setting the family part of
3890 the pattern to nil.
3891
23fca891
GM
38922001-05-10 Gerd Moellmann <gerd@gnu.org>
3893
ff9aa2ca
GM
3894 * xdisp.c (try_window_id): Fix case of all changes before
3895 the window start.
7b2654b5 3896
23fca891
GM
3897 * xdisp.c (try_window_id): Add some xasserts.
3898
e9726794
GM
38992001-05-09 Gerd Moellmann <gerd@gnu.org>
3900
3901 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3902
9e53a675
GM
39032001-05-09 Dave Love <fx@gnu.org>
3904
3905 * xdisp.c (GIVE_UP): Fix for K&R C.
3906
0d487c52
GM
39072001-05-09 Gerd Moellmann <gerd@gnu.org>
3908
fe88d421
GM
3909 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3910
0d487c52
GM
3911 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3912 back to the text cursor shape without need.
3913
1e9fc92e
GM
39142001-05-07 Gerd Moellmann <gerd@gnu.org>
3915
a2a6232e
GM
3916 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3917
3918 * dispextern.h (inverse_video): Declare extern.
3919
1e9fc92e
GM
3920 * keyboard.c (delete_kboard): Handle the case that selected_frame
3921 has been deleted in the course of x_connection_closed.
3922
12949a7f
EZ
39232001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3924
7b2654b5
SM
3925 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3926 Fix the change from 2001-04-30.
12949a7f 3927
2fa2f461
GM
39282001-05-03 Gerd Moellmann <gerd@gnu.org>
3929
a779d213
GM
3930 * xfns.c (file_dialog_unmap_cb): New function.
3931 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3932 where a dialog is closed via the window manager.
3933
7b2654b5 3934 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3935 the window start or all below the window end mostly rewritten.
3936 (redisplay_window): Move the tests if try_window_id is
3937 applicable to try_window_id.
3938 (GIVE_UP): New macro.
3939
3356df63
GM
39402001-05-02 Gerd Moellmann <gerd@gnu.org>
3941
a39202f6 3942 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3943 currently being updated, mark the frame garbaged.
3944 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3945 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3946
3356df63
GM
3947 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3948 again if it has already been drawn.
3949
a9d2fd1d
SM
39502001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3951
3952 * syntax.c (update_syntax_table): Check that oldi has the same
3953 properties as old_prop before deciding not to invalidate.
3954
c95fc5f1
GM
39552001-04-30 Gerd Moellmann <gerd@gnu.org>
3956
a9793e45
GM
3957 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3958 read-only text that is so because of text properties.
3959
c95fc5f1 3960 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3961 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3962 windows that are components of a Lucid menu bar.
3963
5a5d9185
GM
39642001-04-27 Gerd Moellmann <gerd@gnu.org>
3965
3966 * term.c (turn_on_face): Fix reverse video handling on terminals
3967 that don't support colors.
3968
ba973f7a
GM
39692001-04-26 Gerd Moellmann <gerd@gnu.org>
3970
3971 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3972 a non-buffer.
3973
8c56a983
GM
39742001-04-25 Gerd Moellmann <gerd@gnu.org>
3975
a728644c
GM
3976 * term.c (toggle_highlight): New function.
3977 (turn_on_face): Change handling of reverse video.
3978
7b2654b5
SM
3979 * process.c (wait_reading_process_input):
3980 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3981
bfd8410f
GM
3982 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3983 of the number of overlays to check.
3984
be2488ca
GM
3985 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3986
8c56a983
GM
3987 * xdisp.c (try_window_id): Fix a case where window_end_pos
3988 and window_end_bytepos were not adjusted.
3989
522d42f7
GM
39902001-04-23 Gerd Moellmann <gerd@gnu.org>
3991
3992 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3993 zero instead of -1.
3994
78c1afb6
EZ
39952001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3996
a9d2fd1d
SM
3997 * process.c (wait_reading_process_input) [!subprocesses]:
3998 Don't reference waiting_for_user_input_p, it's not defined in the
3999 branch without async subprocesses support.
78c1afb6 4000
a2fab450
GM
40012001-04-19 Gerd Moellmann <gerd@gnu.org>
4002
a122a38e
GM
4003 * keyboard.c (delete_kboard): Prevent a dangling reference
4004 from current_kboard to KB, which is freed.
4005
a9d2fd1d
SM
4006 * process.c (wait_reading_process_input):
4007 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4008 read_key_sequence aware of buffer changes from under it.
4009
0f8d6dc7
GM
40102001-04-18 Gerd Moellmann <gerd@gnu.org>
4011
eeffb293
GM
4012 * xfaces.c (Qscalable_fonts_allowed): New variable.
4013 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4014 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4015 removed.
eeffb293 4016 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4017 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4018 for scalable-fonts-allowed to t.
eeffb293 4019
0f8d6dc7
GM
4020 * fileio.c (Finsert_file_contents): If the file size returned from
4021 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4022 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4023
eec2d1de
EZ
40242001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4025
4026 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4027 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4028 (__memalign_hook): Make the two prototypes consistent.
4029
f4f480bd
GM
40302001-04-17 Gerd Moellmann <gerd@gnu.org>
4031
4032 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4033 matrix of mini-windows.
4034
52283633
SM
40352001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4036
4037 * intervals.c (find_interval): Don't rebalance during signal handling.
4038
ec2423c9
GM
40392001-04-11 Gerd Moellmann <gerd@gnu.org>
4040
30cb0001 4041 * fns.c: Include blockinput.h.
52283633 4042
ec2423c9
GM
4043 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4044
719d83ad
GM
40452001-04-10 Gerd Moellmann <gerd@gnu.org>
4046
60f8d735
GM
4047 * fns.c (Fcompare_strings): Fix return values.
4048
afffeb57
GM
4049 * window.c (window_scroll): Change the meaning of N to mean
4050 N screen-fulls or N lines.
4051 (window_scroll_pixel_based, window_scroll_line_based)
4052 (scroll_command, Fscroll_other_window): Change accordingly.
4053
52283633
SM
4054 * window.c (window_scroll_pixel_based, Frecenter):
4055 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4056 height of the window.
4057
4058 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4059 instead of using it.last_visible_y for the height of the window.
52283633 4060
719d83ad 4061 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4062 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4063
4064 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4065 able to write to hidden and system files. From Dan Holmsand
4066 <dan@eyebee.com>.
719d83ad 4067
8ddf3ee1
GM
4068 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4069 Holmsand <dan@eyebee.com>.
719d83ad 4070
522ed7fb
GM
40712001-04-09 Gerd Moellmann <gerd@gnu.org>
4072
9170e5d4
GM
4073 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4074
522ed7fb
GM
4075 * window.c (window_internal_height): Return 1 less if the
4076 window has a header line.
4077
4078 * xdisp.c (try_window_id): When scrolling on a terminal, take
4079 the change of window_internal_height into account.
4080
ceeb3d7d
EZ
40812001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4082
4083 * gmalloc.c (align): If the argument SIZE would overflow
4084 __malloc_ptrdiff_t, fail right away.
4085
63685b9d
GM
40862001-04-06 Gerd Moellmann <gerd@gnu.org>
4087
4088 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4089 Make sure the tooltip is completely visible.
4090 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4091
4092 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4093
4094 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4095
3ffb33bb
DL
40962001-04-06 Dave Love <fx@gnu.org>
4097
52283633
SM
4098 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4099 Fix test of `from'.
3ffb33bb 4100
869fb12c
GM
41012001-04-06 Gerd Moellmann <gerd@gnu.org>
4102
52283633 4103 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4104
869fb12c
GM
4105 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4106
441bf856
GM
41072001-04-05 Gerd Moellmann <gerd@gnu.org>
4108
4d664b04
GM
4109 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4110
52283633 4111 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4112
30ca89f5
GM
4113 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4114 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4115
4116 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4117 shell widget's position only if it is non-null.
4118
52283633
SM
4119 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4120 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4121
81a81c0f
GM
4122 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4123 FILENAME to bring it in synch with the documentation.
4124
441bf856
GM
4125 * xfaces.c (realizing_basic_faces_p): Renamed from
4126 realize_default_face_p.
4127 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4128 (realize_default_face): Don't set the flag.
4129
702a1e8e
GM
41302001-04-04 Gerd Moellmann <gerd@gnu.org>
4131
1013f4e3
GM
4132 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4133
52283633
SM
4134 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4135
1013f4e3
GM
4136 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4137 the buffer that was used for echoing.
4138
702a1e8e
GM
4139 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4140 (first_font_matching): Removed unused function.
4141 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4142 (may_use_scalable_font_p): Remove parameter FONT; rename
4143 parameter NAME to FONT.
4144 (x_face_list_fonts): Fix missing bounds check.
4145 (realizing_default_face_p): New variable.
4146 (realize_default_face): Set and clear that flag.
4147 (x_face_list_fonts): When called during the realization of the
4148 default face, and no matching fonts are found when ignoring
4149 scalable fonts and fonts matching a regexp from
4150 face-ignored-fonts, try without ignoring fonts.
4151
f9dbcda4
GM
41522001-04-03 Gerd Moellmann <gerd@gnu.org>
4153
ad18ffb1
GM
4154 * xfns.c (postprocess_image): New function.
4155 (lookup_image): Call it for all image types except PostScript.
4156 (x_kill_gs_process): Call postprocess_image.
4157
f9dbcda4
GM
4158 * xterm.c (x_use_underline_position_properties): New variable.
4159 (x_draw_glyph_string): Use it.
4160 (syms_of_xterm): DEFVAR_BOOL it.
4161
651f03b6
GM
41622001-04-02 Gerd Moellmann <gerd@gnu.org>
4163
4164 * xterm.c (x_alloc_nearest_color_1): New function.
4165 (x_alloc_nearest_color): Use it.
4166 (x_color_cells): Take a Display as argument, instead of a frame.
4167 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4168 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4169 (x_initialize): Register cvt_string_to_pixel as resource converter
4170 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4171
73d75a62
GM
41722001-03-30 Gerd Moellmann <gerd@gnu.org>
4173
b2046df8
GM
4174 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4175 (set_iterator_to_next): If a string from a display property ends,
4176 consider the case that this might also be the end of an
4177 overlay string having the display property.
4178
52283633 4179 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4180
87d8eba4
GM
4181 * xdisp.c (reseat_to_string): Undo last change.
4182
73d75a62
GM
4183 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4184 matrix of a window when the header line changes, when
4185 new rows are allocated, or when the width changes.
4186
911a2406
EZ
41872001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4188
52283633 4189 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4190
aea51abe
EZ
41912001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4192
4193 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4194 deprecated.
4195
176bc847
GM
41962001-03-29 Gerd Moellmann <gerd@gnu.org>
4197
ed31fabf
GM
4198 * data.c (Fsubr_interactive_form): New function.
4199 (syms_of_data): Defsubr it.
4200
176bc847
GM
4201 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4202 (live_float_p, live_misc_p): Return 1 only if the offset of the
4203 pointer in its block is >= 0.
4204
e59d0e9d
GM
42052001-03-28 Paul Eggert <eggert@twinsun.com>
4206
4207 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4208 microseconds calcuation. Avoid double-rounding problem.
4209 In doc string, warn that the result is approximate.
4210
f827b862
GM
42112001-03-28 Gerd Moellmann <gerd@gnu.org>
4212
30a3f61c
GM
4213 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4214 bind `inhibit-eval-during-redisplay' to t.
4215
4216 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4217
4218 * xdisp.c (inhibit_eval_during_redisplay)
4219 (Qinhibit_eval_during_redisplay): New variables.
4220 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4221 don't eval, return nil instead.
4222 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4223 Initialize Qinhibit_eval_during_redisplay.
4224
e719f5ae
GM
4225 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4226 the iterator's multibyte_p flag.
4227
deb2613a
GM
4228 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4229 instead of setting it to zero; it's incremented for each frame
4230 where the menu face is changed.
4231
52283633
SM
4232 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4233 change bottom shadow accordingly.
4234
4235 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4236 intersections here.
4237 (expose_window): Do it here instead.
52283633 4238 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4239
f827b862
GM
4240 * bytecode.c (BYTE_CODE_QUIT): New macro.
4241 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4242
4bde0ebb
GM
42432001-03-27 Gerd Moellmann <gerd@gnu.org>
4244
607ec83c
GM
4245 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4246 Give up if matrix starts in an ellipsis.
4247 (init_from_display_pos): Do nothing if POS doesn't specify
4248 a dpvec_index but the iterator has such a position.
4249
0245398f
GM
4250 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4251
aba25348
GM
4252 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4253 x/y position is (0, 0) after destroying the menu bar, restore
4254 its original position.
4255
4bde0ebb
GM
4256 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4257 (init_from_display_pos): Use it.
4258 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4259
8cdb267e
GM
42602001-03-26 Gerd Moellmann <gerd@gnu.org>
4261
4262 * xdisp.c (try_window_id): Undo last change.
4263
9948db79
EZ
42642001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4265
4266 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4267
4268 * buffer.c (syms_of_buffer): Doc fix.
4269
2eddf899
GM
42702001-03-26 Gerd Moellmann <gerd@gnu.org>
4271
4272 * xfaces.c (x_update_menu_appearance): Use local variable
4273 popup_path for setting font resources.
4274
6c145d35
EZ
42752001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4276
6a65b1b5
EZ
4277 * frame.c (Fframe_list): Don't reference tip_frame if
4278 HAVE_WINDOW_SYSTEM is not defined.
4279
6c145d35
EZ
4280 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4281 <wl@gnu.org>.
4282
d74c1900
GM
42832001-03-25 Gerd Moellmann <gerd@gnu.org>
4284
20fbd925
GM
4285 * xdisp.c (init_from_display_pos): Test invisible property
4286 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4287
927c5b3b
GM
4288 * xdisp.c (redisplay_internal) <update one window>: Make sure
4289 last_arrow_position and last_arrow_string are set.
4290
d74c1900
GM
4291 * frame.c (Fframe_list): Don't return a tooltip frame.
4292
091f8878
GM
42932001-03-23 Gerd Moellmann <gerd@gnu.org>
4294
52283633
SM
4295 * xdisp.c (mark_window_display_accurate_1): New function,
4296 extracted from mark_window_display_accurate.
4297 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4298 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4299 (mark_window_display_accurate): Use it.
4300 (redisplay_internal): Use it for the selected window.
4301 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4302 for the selected frame.
4303
ac90c44f
GM
4304 * xdisp.c Use make_number, for readability.
4305 (try_window_id): Disable rows below the window end.
4306 (try_window_reusing_current_matrix): Use cursor_row_p.
4307 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4308 of rows.
4309 (init_from_display_pos): If POS specifies a position in a display
4310 vector, maybe get the iterator set up for that ellipsis.
43c09969 4311
091f8878
GM
4312 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4313
991786dd
EZ
43142001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4315
4316 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4317
6c29b43c
GM
43182001-03-23 Gerd Moellmann <gerd@gnu.org>
4319
4320 * xfaces.c (x_update_menu_appearance): Use a different path
4321 for Lucid popup menus.
4322
d8731202
SM
43232001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4324
4325 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4326
4327 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4328 (string_buffer_position): Use `make_number'.
4329
f61a541b
GM
43302001-03-22 Gerd Moellmann <gerd@gnu.org>
4331
3c9e997b
GM
4332 * xfaces.c (x_update_menu_appearance): Renamed from
4333 x_set_menu_face_resources. Use different resources for popups.
4334
4335 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4336 (GC_CHECK_STRING_BYTES): Don't define.
4337
364cd450
GM
4338 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4339 Removed, together with subroutines.
4340 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4341 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4342
d8731202
SM
4343 * dispextern.h (x_set_menu_resources_from_menu_face):
4344 Remove prototype.
364cd450 4345
d8731202 4346 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4347 Remove calls to x_set_menu_resources_from_menu_face.
4348
d8731202
SM
4349 * xfaces.c (xm_set_menu_resources_from_menu_face):
4350 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4351
4352 * xmenu.c: Include widget.h.
4353 (single_submenu): Return int. Some cleanup.
4354 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4355
140330de
GM
43562001-03-21 Gerd Moellmann <gerd@gnu.org>
4357
4358 * xterm.c (x_update_window_end): Handle overwritten mouse face
4359 also for tool bar windows.
4360 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4361 DRAW is DRAW_IMAGE_RAISED.
4362
1741905c
GM
43632001-03-20 Gerd Moellmann <gerd@gnu.org>
4364
fa88947e
GM
4365 * print.c (syms_of_print): Doc fixes.
4366
1741905c
GM
4367 * fns.c (Fmd5): Doc fix.
4368
ade0bee1
GM
43692001-03-19 Gerd Moellmann <gerd@gnu.org>
4370
357e7376
GM
4371 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4372 Clear area of the frame not occupied by the scroll bar.
4373
c2c097cc
GM
4374 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4375 tip frame's root window buffer to *tip* right after creating
4376 the frame.
4377
ade0bee1
GM
4378 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4379 is an integer don't have to be for space characters.
4380
88c6e37e
GM
43812001-03-16 Gerd Moellmann <gerd@gnu.org>
4382
52283633
SM
4383 * indent.c (current_column, current_column_1, Fmove_to_column)
4384 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4385
c62eed76
KH
43862001-03-15 Kenichi Handa <handa@etl.go.jp>
4387
4388 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4389 drawing glyph string.
4390
c899e7e6
GM
43912001-03-15 Gerd Moellmann <gerd@gnu.org>
4392
d0bbfc99
GM
4393 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4394 (command_loop_1): Undo last change.
4395
03d1a189
GM
4396 * xterm.c (fast_find_position): Return the correct vpos.
4397
c899e7e6 4398 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4399 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4400 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4401 Call store_symval_forwarding with BUF null.
4402 (set_internal): Call store_symval_forwarding with the BUF
4403 parameter passed to set_internal. Formerly, the value was always
4404 set in the current buffer; the buffer recorded in specbind for
4405 this case wasn't used.
4406 (arith_driver): Reindent.
4407
52283633
SM
4408 * buffer.c (swap_out_buffer_local_variables):
4409 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4410
4411 * lisp.h (store_symval_forwarding): Change prototype.
4412
4413 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4414
57ac7c81
GM
44152001-03-14 Gerd Moellmann <gerd@gnu.org>
4416
697617d9
GM
4417 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4418 FOR_DELETION. Avoid resizing the mini-window of the selected
4419 frame if FOR_DELETION is set.
4420 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4421 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4422 signature.
4423
4424 * window.c (Fset_window_configuration): Change call to
4425 do_switch_frame to new format.
4426
4427 * keyboard.c (quit_throw_to_read_char): Change call to
4428 do_switch_frame to new format.
4429
4430 * lisp.h (do_switch_frame): Change prototype.
4431
819dce0f
GM
4432 * frame.c (Fframe_parameters): In the `buffer-list' frame
4433 parameter, store the buffer list of FRAME, not the list of the
4434 selected frame.
4435
57ac7c81
GM
4436 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4437 box just because the glyph row's full_width_p flag is set.
4438
65008712
GM
44392001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4440
4441 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4442 skip the padding blanks inserted in extend_face_to_end_of_line,
4443 before checking for trailing whitespace.
4444
159cf431
GM
44452001-03-13 Gerd Moellmann <gerd@gnu.org>
4446
52283633 4447 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4448 Remove special handling for LessTif/Motif.
4449 (toplevel): Don't include Xm/Xm.h.
4450
52283633
SM
4451 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4452 Remove workaround code for LessTif; it doesn't work anymore.
4453
2564ea1b 4454 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4455 Xm/ScrollBarP.h.
afcdc0a1 4456
52283633
SM
4457 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4458 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4459 contemporary LessTif.
4460
52283633
SM
4461 * xfaces.c (xm_set_menu_resources_from_menu_face):
4462 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4463
159cf431
GM
4464 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4465 removing button grabs.
4466
c6f7429a
KH
44672001-03-13 Kenichi Handa <handa@etl.go.jp>
4468
cb82d767
KH
4469 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4470 and clip-large-size-font as obsolete.
4471
c6f7429a
KH
4472 * lread.c (read_multibyte): Check the validity of multibyte
4473 sequence. If invalid, return the first byte.
4474
760cefb5
GM
44752001-03-12 Gerd Moellmann <gerd@gnu.org>
4476
4477 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4478 before running the command; timer functions or process
4479 filters may have set it.
4480
5141f9d0
EZ
44812001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4482
4483 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4484 Doc fix.
4485
b6a15240
GM
44862001-03-12 Gerd Moellmann <gerd@gnu.org>
4487
4488 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4489 to sprintf.
4490
95522746
GM
44912001-03-09 Gerd Moellmann <gerd@gnu.org>
4492
db14cfc5
GM
4493 * dispextern.h (string_buffer_position): Add prototype.
4494
52283633 4495 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4496 (single_display_prop_string_p): New functions.
4497
4498 * xterm.c (note_mouse_highlight): If there's no help-echo on
4499 a string, look at the buffer text ``under'' it.
4500
4501 * keyboard.c (make_lispy_event): Add string info to the event,
4502 analogous to what's done on mode lines.
4503 (read_key_sequence): For a click on a string, consider `local-map'
4504 and `keymap' of that string.
4505
52283633
SM
4506 * keyboard.c (make_lispy_event, make_lispy_movement):
4507 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4508
4509 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4510
4511 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4512 POS; return void.
4513
95522746
GM
4514 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4515 flags argument to emacs_open; it seems to conflict with O_EXCL.
4516
898a399d
KH
45172001-03-09 Kenichi Handa <handa@etl.go.jp>
4518
28cd4910
KH
4519 * composite.h (struct composition): Change types of members;
4520 glyph_len to unsigned, width to unsigned short.
898a399d 4521
4cdf6a6c
AI
45222001-03-08 Andrew Innes <andrewi@gnu.org>
4523
4524 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4525 menu titles.
4526
129004d3
GM
45272001-03-08 Gerd Moellmann <gerd@gnu.org>
4528
221dd3e7
GM
4529 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4530 instead of nil.
4531
52283633 4532 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4533 help-echo in strings.
4534 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4535 (fast_find_string_pos): New function.
4536
52283633
SM
4537 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4538 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4539
4540 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4541 Handle `mouse-face'.
4542
4543 * dispextern.h (face_at_string_position): Change prototype.
4544
52283633 4545 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4546
129004d3
GM
4547 * keyboard.c (make_lispy_event): Avoid generating drag events
4548 if the mouse hasn't actually moved to another buffer position.
52283633 4549
80c8ab8c
DL
45502001-03-08 Dave Love <fx@gnu.org>
4551
129004d3 4552 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4553
989521fd
GM
45542001-03-08 Gerd Moellmann <gerd@gnu.org>
4555
4556 * process.c (Fset_process_window_size): Fix a typo.
4557
bb5c338d
KH
45582001-03-08 Kenichi Handa <handa@etl.go.jp>
4559
4560 * coding.c (detect_coding_sjis): Do more rigid check.
4561 (detect_coding_big5): Likewise.
4562 (decode_coding_sjis_big5): Likewise.
4563 (Fdetect_coding_region): Call detect_coding_system with tailing
4564 anchor byte `\0' for more rigid detection.
52283633 4565 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4566 (Fdetect_coding_string): Likewise.
4567
8b8f9197
SM
45682001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4569
4570 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4571 a string before extracting its data.
4572
3bdf2660
GM
45732001-03-07 Gerd Moellmann <gerd@gnu.org>
4574
4575 * window.c (Frecenter): Rewrite code handling negative values
4576 of ARG on graphical frames.
4577
45782001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4579
4580 * window.c (displayed_window_lines): If W->start is outside the
4581 accessible portion of the buffer, call start_display with BEGV or
4582 ZV instead of W->start.
4583
471f86b9
GM
45842001-03-07 Gerd Moellmann <gerd@gnu.org>
4585
2ab62c6c
GM
4586 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4587
471f86b9
GM
4588 * process.c (Fset_process_filter): Don't crash if the input
4589 file descriptor of PROCESS is closed.
4590 (Fset_process_window_size): Likewise.
4591
101922c3
GM
45922001-03-06 Kenichi Handa <handa@etl.go.jp>
4593
4594 * xterm.c (XTflash): Make the timeout of select shorter, and call
4595 select repeatedly until the desired time expires.
4596
45d051a7
GM
45972001-03-06 Gerd Moellmann <gerd@gnu.org>
4598
4599 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4600
4601 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4602
4603 * lisp.h (Vwindow_list): Declare extern.
4604
8f372c46
EZ
46052001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4606
4607 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4608
f16a7aa5
GM
46092001-03-06 Gerd Moellmann <gerd@gnu.org>
4610
157ae273
GM
4611 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4612 to detect a case where we have to highlight a different region
4613 despite not having left the currently highlighted region.
4614 Set mouse_face_overlay in the x_display_info.
45d051a7 4615 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4616
4617 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4618
4619 * buffer.c (mouse_face_overlay_overlaps): New function.
4620
4621 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4622 (Qmouse_face): Declare extern.
4623
f16a7aa5
GM
4624 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4625 if face_change_count is non-zero.
4626
827afcac
KH
46272001-03-06 Kenichi Handa <handa@etl.go.jp>
4628
4629 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4630 that the source is unibyte.
4631
14c7242e
DL
46322001-03-05 Dave Love <fx@gnu.org>
4633
827afcac 4634 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4635
c28b847b
GM
46362001-03-05 Gerd Moellmann <gerd@gnu.org>
4637
4638 * minibuf.c (read_minibuf): Clean up the binding stack if
4639 called noninteractively.
4640
b86644f2
KH
46412001-03-05 Kenichi Handa <handa@etl.go.jp>
4642
4643 * coding.c (syms_of_coding): Docstring modified.
4644
203682cc 46452001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4646
4647 * charset.c (char_to_string): If a single byte char has modifier
4648 bits that can't be reflected to the character code, ignore them
45d051a7 4649 instead of signaling an error.
b86644f2 4650
e30bd7b7
EZ
46512001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4652
4653 * s/msdos.h: Update copyright notice.
4654
4655 * dosfns.h: Update copyright notice.
4656
4657 * dosfns.c: Update copyright notice.
4658
4659 * msdos.c: Update copyright notice.
4660
b52b65bd
GM
46612001-03-02 Gerd Moellmann <gerd@gnu.org>
4662
4663 * xterm.c (glyph_rect): New function.
4664 (XTmouse_position): Use it to raise the threshold for mouse
4665 movement event generation.
4666
53c4b1e6
EZ
46672001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4668
4669 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4670 specifies (reverse . t), reverse the initial screen colors.
4671 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4672 but we are reversing the colors, set bg_set, not fg_set.
4673 Likewise for setting background-color and reversing: set fg_set.
4674 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4675 in effect.
4676
4677 * xfaces.c (Finternal_set_lisp_face_attribute)
4678 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4679 parameters alist.
4680
f964b4d7
GM
46812001-03-02 Gerd Moellmann <gerd@gnu.org>
4682
ef53d75e
GM
4683 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4684 to a single slash in the middle of file names.
4685
52283633 4686 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4687 Accept only alphanumeric time zone names.
4688
f964b4d7
GM
4689 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4690 or width area.
4691 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4692 a widget to zero height.
52283633 4693
c3c45f65
GM
46942001-03-01 Gerd Moellmann <gerd@gnu.org>
4695
4696 * window.c (Fwindow_end): Call move_it_past_eol only if
4697 ending up on a partially visible line.
4698
028d739a
DL
46992001-03-01 Dave Love <fx@gnu.org>
4700
4701 * ccl.c (Fccl_execute): Doc fix.
4702
57c5889c
GM
47032001-03-01 Gerd Moellmann <gerd@gnu.org>
4704
35f59f6b
GM
4705 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4706 of the tool bar before calling x_figure_window_size.
4707
f84ff02c
GM
4708 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4709 NULL after destroying it, otherwise XTread_socket can access a
4710 destroyed widget when input is unblocked.
4711
8b8f9197 4712 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4713
57c5889c
GM
4714 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4715 same name as before, although there was a change in fontsets.
4716
224227d1
KR
47172001-02-28 Ken Raeburn <raeburn@gnu.org>
4718
4560730a
KR
4719 * lisp.h (Fframe_parameter): Declare.
4720
224227d1 4721 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4722 Lisp_Object.
224227d1 4723
ece93c02
GM
47242001-02-28 Gerd Moellmann <gerd@gnu.org>
4725
11ef99b9
GM
4726 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4727 NULL instead.
4728
4729 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4730 NULL instead.
4731
ece93c02
GM
4732 * alloc.c (toplevel): Include process.h.
4733 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4734 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4735 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4736 (allocate_vector, allocate_hash_table, allocate_window)
4737 (allocate_frame, allocate_process, allocate_other_vector):
4738 New functions.
ece93c02
GM
4739 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4740 (mark_maybe_pointer): New function.
52283633 4741 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4742 remain and not Lisp_Objects.
4743 (min_heap_address, max_heap_address): New variables.
4744 (mem_find): Return MEM_NIL if START is below min_heap_address or
4745 above max_heap_address.
4746 (mem_insert): Compute min_heap_address and max_heap_address.
4747
4748 * process.c (make_process): Use allocate_process.
4749
4750 * frame.c (make_frame): Use allocate_frame.
4751
4752 * window.c (make_window, make_dummy_parent): Use allocate_window.
4753 (Fcurrent_window_configuration): Use allocate_other_vector.
4754
4755 * lisp.h (allocate_vectorlike): Remove prototype.
4756 (allocate_vector, allocate_other_vector, allocate_frame)
4757 (allocate_window, allocate_process, allocate_hash_table):
4758 Add prototypes.
4759
4760 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4761 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4762
063af457
KH
47632001-02-27 Kenichi Handa <handa@etl.go.jp>
4764
4765 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4766 treat the produced bytes as a valid multibyte sequence.
4767
4768 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4769 (ccl_driver) <CCL_WriteMultibyteChar2>:
4770 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4771 <ccl_finish>: Set ccl->eight_bit_control properly.
4772
4773 * ccl.h (struct ccl_program): New member eight_bit_control.
4774
f58c6494
SM
47752001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4776
4777 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4778 accessible_keymaps_char_table.
4779 (accessible_keymaps_char_table): Obey `is_metized'.
4780 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4781 Lisp_Object.
4782
c596c392
GM
47832001-02-26 Gerd Moellmann <gerd@gnu.org>
4784
4785 * dispnew.c: Check HAVE_TERM_H before including term.h.
4786
425de386
AI
47872001-02-24 Andrew Innes <andrewi@gnu.org>
4788
4789 * makefile.w32-in: Update copyright notice.
4790
2ba11bbd
SM
47912001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4792
4793 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4794
66c56ed1
KH
47952001-02-24 Kenichi Handa <handa@etl.go.jp>
4796
4c1593ce
KH
4797 * Makefile.in (lisp): Add international/utf-8.elc.
4798
66c56ed1
KH
4799 * fontset.c (Fnew_fontset): Fix handling of the case that an
4800 element of FONTLIST is a cons of family and registry.
4801
796ead7e
JR
48022001-02-23 Jason Rumney <jasonr@gnu.org>
4803
4804 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4805 to height unconditionally.
4806
4807 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4808 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4809 (x_insert_glyphs): Call window_box_left to obtain the left
4810 x-coordinate of the area to shift.
4811
4812 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4813 safe_run_hooks.
4814
f6839838
AI
48152001-02-22 Andrew Innes <andrewi@gnu.org>
4816
52283633 4817 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4818 ($(BLD)\dispnew.obj):
4819 ($(BLD)\editfns.obj):
4820 ($(BLD)\fileio.obj):
4821 ($(BLD)\filelock.obj):
4822 ($(BLD)\keyboard.obj):
4823 ($(BLD)\w32proc.obj):
4824 ($(BLD)\process.obj):
4825 ($(BLD)\sysdep.obj): Ditto.
4826
4827 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4828 header files.
52283633
SM
4829 ($(BLD)/dispnew.$(O)):
4830 ($(BLD)/editfns.$(O)):
4831 ($(BLD)/fileio.$(O)):
4832 ($(BLD)/filelock.$(O)):
4833 ($(BLD)/keyboard.$(O)):
4834 ($(BLD)/w32proc.$(O)):
4835 ($(BLD)/process.$(O)):
f6839838
AI
4836 ($(BLD)/sysdep.$(O)): Ditto.
4837
c224f70b
GM
48382001-02-22 Gerd Moellmann <gerd@gnu.org>
4839
51695746
GM
4840 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4841 at the start of the function, check that the \n in it->c is
4842 from the iterator's current position.
52283633 4843
a61b7058
GM
4844 * xdisp.c (handle_single_display_prop): Add parameter
4845 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4846 properties which replace the display of text with something else.
4847 (handle_display_prop): Call handle_single_display_prop with
4848 additional argument saying if we already replaced text display
4849 with something else. Use AREF.
52283633 4850 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4851 (decode_mode_spec_coding): Use AREF and ASIZE.
4852
3473f362
GM
4853 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4854 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4855 * vmstime.h: Files removed.
52283633 4856
2bb58df3
GM
4857 * unexencap.c, unexfx2800.c: Files removed.
4858
c224f70b
GM
4859 * dispnew.c (direct_output_for_insert): Give up if we are showing
4860 a message or just cleared the message because we might need to
4861 resize the echo area window or display an empty echo area.
4862
ffc9ff0c
GM
48632001-02-21 Gerd Moellmann <gerd@gnu.org>
4864
0528abe1
GM
4865 * xdisp.c (redisplay_internal): Do the
4866 mark_window_display_accurate after all windows have been
4867 redisplayed because this call resets flags in buffers which are
4868 needed for proper redisplay.
4869
52283633
SM
4870 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4871 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4872 the old names.
4873
52283633
SM
4874 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4875 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4876
4877 * msdos.h (struct x_output): Rename busy_window to
4878 hourglass_window, busy_p to hourglass_p.
4879
52283633
SM
4880 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4881 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4882
4883 * xfns.c: Rename everything containing *busy_cursor* and similar
4884 to *hourglass*.
4885 (syms_of_w32fns): Rename x-busy-pointer-shape to
4886 x-hourglass-pointer-shape, display-busy-cursor to
4887 display-hourglass, busy-cursor-delay to hourglass-delay.
4888
4889 * w32fns.c: Rename everything containing *busy_cursor* and similar
4890 to *hourglass*.
4891 (syms_of_w32fns): Rename x-busy-pointer-shape to
4892 x-hourglass-pointer-shape, display-busy-cursor to
4893 display-hourglass, busy-cursor-delay to hourglass-delay.
4894
4895 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4896 of its busy_p flag.
4897
4898 * dispextern.h (start_hourglass, cancel_hourglass)
4899 (display_hourglass_p): Renamed from *busy_cursor*.
4900
ab2c5f0a
GM
49012001-02-20 Gerd Moellmann <gerd@gnu.org>
4902
d17e49a8
GM
4903 * keyboard.c (read_char): When an event from unread-command-events
4904 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4905
fa97adf6
GM
4906 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4907 equal to the current buffer.
4908
ab2c5f0a
GM
4909 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4910 nil, otherwise we're left with truncate_lines t when a message
4911 is printed with message-truncate-lines bound to t.
4912
aeac019e
GM
49132001-02-19 Gerd Moellmann <gerd@gnu.org>
4914
c8bc6f65
GM
4915 * window.c (Fmove_to_window_line): Undo last change.
4916 (displayed_window_lines): Call line_bottom_y to determine
4917 the line's bottom position.
4918
4919 * dispextern.h (line_bottom_y): Add prototype.
4920
52283633 4921 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4922 (pos_visible_p): Use it.
4923
980a2d69
GM
4924 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4925 set redisplaying_p to 0 here instead of in Frecursive_edit.
4926 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4927 set redisplaying_p.
4928
52283633 4929 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4930 New variables.
4931 (syms_of_xdisp): Initialize new variables.
4932 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4933 Specbind `inhibit-menubar-update' when updating the menu bar.
4934
65048e97
GM
4935 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4936 safe_run_hooks.
4937
4938 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4939 safe_run_hooks.
4940
a57c4026
GM
4941 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4942 is null.
4943
aeac019e
GM
4944 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4945 to the start of the file.
4946
76846b31
GM
49472001-02-16 Gerd Moellmann <gerd@gnu.org>
4948
f3f053f3 4949 * window.c (set_window_buffer): Fix last change.
52283633 4950
f3f053f3
GM
4951 * window.c (set_window_buffer): Set window's vscroll to 0.
4952
dad75588
GM
4953 * window.c (coordinates_in_window): Increase width of area
4954 where the vertical line can be dragged.
4955
c220b753
GM
4956 * xterm.c (x_set_glyph_string_background_width): Extend the
4957 background face to the end of the drawing area in the text
4958 area, only.
4959
c56b1c1b
GM
4960 * xdisp.c (handle_single_display_prop): Set iterator's position
4961 to where the `display' property starts, like for images.
4962 (dump_glyph): New function.
4963 (dump_glyph_row): Use it. Dump info about marginal areas.
4964
4965 * dispnew.c (direct_output_for_insert): Recognize more cases where
4966 glyphs can be written instead of being inserted.
4967
4968 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4969 the left x-coordinate of the area to shift.
4970
76846b31
GM
4971 * dired.c (directory_files_internal): Set result list to nil
4972 before retrying.
4973
0fc71a77
KH
49742001-02-15 Kenichi Handa <handa@etl.go.jp>
4975
4976 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4977 invalid multibyte sequence, treat *SRC as a character of
4978 eight-bit-graphic.
4979
25078b54
EZ
49802001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4981
4982 * textprop.c (Fset_text_properties): Doc fix.
4983
8399f8a0
GM
49842001-02-15 Gerd Moellmann <gerd@gnu.org>
4985
4986 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4987
9a2a6f73
DL
49882001-02-14 Dave Love <fx@gnu.org>
4989
4990 * coding.c: Doc and message fixes.
4991
bf853fee
AI
49922001-02-14 Andrew Innes <andrewi@gnu.org>
4993
4994 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4995 Emacs frame above the screen size.
4996
78c663d8
GM
49972001-02-14 Gerd Moellmann <gerd@gnu.org>
4998
4999 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5000
7cc9f69f
GM
50012001-02-13 Gerd Moellmann <gerd@gnu.org>
5002
0a411995
GM
5003 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5004 case that TO ends up beyond ZV after running before-change-functions.
5005
5ddc1b75
GM
5006 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5007 the selected window if it is showing the buffer in question.
5008
7cc9f69f
GM
5009 * dired.c (directory_files_internal): Initialize errno.
5010 (toplevel): Include errno.h.
5011
2e6621ca
GM
50122001-02-13 Kenichi Handa <handa@etl.go.jp>
5013
5014 * xfaces.c (best_matching_font): New parameter width_ratio.
5015 Multiply avgwidth by width_ratio.
5016 (choose_face_font): Call best_matching_font with width_ratio
5017 calculated from the column width of C.
5018
60222d69
AI
50192001-02-12 Andrew Innes <andrewi@gnu.org>
5020
5021 The following changes are to draw box lines inside characters area
5022 if line-width is negative.
52283633 5023
60222d69
AI
5024 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5025 face->box_line_width is negative.
5026 (x_produce_stretch_glyph): Likewise.
5027 (x_produce_glyphs): Likewise.
5028 (x_estimate_mode_line_height): Likewise.
5029 (x_draw_glyph_string_background): Likewise.
5030 (x_draw_glyph_string_foreground): Likewise.
5031 (x_draw_composite_glyph_string_foreground): Likewise.
5032 (x_draw_glyph_string_box): Likewise.
5033 (x_draw_image_foreground): Likewise.
5034 (x_draw_image_relief): Likewise.
5035 (x_draw_image_foreground_1): Likewise.
5036 (x_draw_image_glyph_string): Likewise.
5037
9804b846
KH
50382001-02-09 Kenichi Handa <handa@etl.go.jp>
5039
5040 The following changes are to draw box lines inside characters area
5041 if line-width is negative.
52283633 5042
9804b846
KH
5043 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5044 face->box_line_width is negative.
5045 (x_produce_stretch_glyph): Likewise.
5046 (x_produce_glyphs): Likewise.
5047 (x_estimate_mode_line_height): Likewise.
5048 (x_draw_glyph_string_background): Likewise.
5049 (x_draw_glyph_string_foreground): Likewise.
5050 (x_draw_composite_glyph_string_foreground): Likewise.
5051 (x_draw_glyph_string_box): Likewise.
5052 (x_draw_image_foreground): Likewise.
5053 (x_draw_image_relief): Likewise.
5054 (x_draw_image_foreground_1): Likewise.
5055 (x_draw_image_glyph_string): Likewise.
5056
5057 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5058 and :line-width can be negative.
52283633 5059 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5060
49be9f70
JR
50612001-02-09 Jason Rumney <jasonr@gnu.org>
5062
5063 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5064 characters the same as ASCII and latin-1.
5065 (x_display_and_set_cursor): Check for the focus frame's selected
5066 window instead of selected_window.
5067 (x_after_update_window_line): Don't clear if frame's internal
5068 border width is zero.
5069 (x_new_font): Don't change a tooltip's size.
5070 (w32_initialize): Set char_ins_del_ok to 1.
5071
5072 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5073 (x_set_font): If font hasn't changed, avoid recomputing
5074 faces and other things.
52283633
SM
5075 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5076 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5077 (x_create_tip_frame): Prevent changing the tooltip's
5078 background color by specifying a color for the default font
5079 in .Xdefaults.
5080 (Qcancel_timer): New variable.
5081 (syms_of_w32fns): Initialize and staticpro it.
5082 (Fx_hide_tip, Fx_show_tip): Use it.
5083 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5084 the timer.
5085 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5086
5087 * w32.c (init_environment): Duplicate local string before putenv.
5088
555e35d2
SZ
50892001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5090
5091 * charset.c (Fstring): A typo.
5092
19c92c94
KH
50932001-02-09 Kenichi Handa <handa@etl.go.jp>
5094
e47a1c33
KH
5095 * charset.c (Fstring): If all arguments are less than 256, return
5096 a unibyte string.
5097
5098 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5099 return a unibyte string.
5100
19c92c94
KH
5101 * coding.c (code_convert_region): After detecting a coding, if
5102 nothing found, set coding->composing to COMPOSITION_NO.
5103 (decode_coding_string): Likewise.
5104
d8e675f5
SM
51052001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5106
5107 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5108 to avoid overflow.
5109
bd503487
KH
51102001-02-07 Kenichi Handa <handa@etl.go.jp>
5111
5112 * charset.c (parse_str_to_multibyte): New function.
5113
5114 * charset.h (parse_str_to_multibyte): Extern it.
5115
5116 * print.c (print_string): If we are going to print a unibyte
5117 string into a multibyte buffer, convert the string to multibyte by
5118 str_to_multibyte.
5119
a8370d72
AI
51202001-02-06 Andrew Innes <andrewi@gnu.org>
5121
5122 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5123 been created. It seems we can get sent window messages such as
5124 WM_ERASEBKGND before we properly update a frame.
5125
c363a1d6
GM
51262001-02-06 Gerd Moellmann <gerd@gnu.org>
5127
5128 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5129 Avoid some unnecessary cursor positioning.
5130
a08332c0
GM
51312001-02-05 Gerd Moellmann <gerd@gnu.org>
5132
52283633 5133 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5134 (LFACE_AVGWIDTH): New macro.
5135 (LFACEP): Use AREF.
5136 (check_lface_attrs): Check LFACE_AVGWIDTH.
5137 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5138 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5139 (merge_face_vectors): Check LFACE_AVGWIDTH.
5140 (Finternal_make_lisp_face): Use AREF.
5141 (xm_set_menu_resources_from_menu_face)
5142 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5143 (Finternal_lisp_face_empty_p): Use AREF.
5144 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5145 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5146 Compare average widths..
5147 (best_matching_font): Arrange for comparing average widths.
5148
52283633
SM
5149 * dispextern.h (enum lface_attribute_index):
5150 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5151
5cb3c8d4
DL
51522001-02-05 Dave Love <fx@gnu.org>
5153
5154 * puresize.h: Revert last change following loadup.el change.
5155
193fba87
AI
51562001-02-05 Andrew Innes <andrewi@gnu.org>
5157
5158 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5159 invocation of temacs, to work with Windows 2000.
5160 (bootstrap-emacs): Ditto.
5161
e16f52ce
GM
51622001-02-05 Gerd Moellmann <gerd@gnu.org>
5163
7a58ab59
GM
5164 * xterm.c (x_display_and_set_cursor): Check for the focus
5165 frame's selected window instead of selected_window.
5166
e89aaabd
GM
5167 * xdisp.c (try_scrolling): If point is in the line below the
5168 window, make sure to move the iterator at least a canonical
5169 char height down.
5170
52283633 5171 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5172
789ce875
KH
51732001-02-05 Kenichi Handa <handa@etl.go.jp>
5174
52283633
SM
5175 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5176 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5177 (ccl_driver): If the CCL program is terminated because of
5178 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5179 destination instead of throwing them away.
5180
20b28f82
GM
51812001-02-02 Gerd Moellmann <gerd@gnu.org>
5182
79fb38c0
GM
5183 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5184 faces and other things.
5185
20b28f82
GM
5186 * xdisp.c (get_next_display_element): Fix case of empty
5187 display table entry.
5188
5a72551e
EZ
51892001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5190
eb24d0bf
EZ
5191 * editfns.c (Fconstrain_to_field): Doc fix.
5192
6a3f48c7
EZ
5193 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5194 into `thoroughly', to make it consistent with the doc string.
5195
5a72551e
EZ
5196 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5197
01acdb05
GM
51982001-02-01 Gerd Moellmann <gerd@gnu.org>
5199
0353b28f
GM
5200 * search.c (search_buffer): Call set_search_regs with a byte
5201 position, not a character position.
5202
01acdb05
GM
5203 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5204 minibuffer-only,
5205
e86b5133
EZ
52062001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5207
5208 * frame.c (Fmodify_frame_parameters): Doc fix.
5209
7442878f
GM
52102001-01-31 Gerd Moellmann <gerd@gnu.org>
5211
01acdb05
GM
5212 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5213 identifier which is not reserved by Standard C.
52283633 5214
7442878f
GM
5215 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5216
5217 * window.c (enum window_part): New enumeration.
5218 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5219 Qright_bitmap_area.
5220 (coordinates_in_window): Return an enumerator from enum
5221 window_part. Fix handling of right scroll bar.
5222 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5223 `right-fringe' instead of `left-bitmap-area' and
5224 `right-bitmap-area'. Use enumerators from enum window_part
5225 instead of hard-coded integers.
52283633
SM
5226 (check_window_containing, window_from_coordinates):
5227 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5228 (syms_of_window): Replace Qleft_bitmap_area and
5229 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5230
7c132cba
EZ
52312001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5232
5233 * editfns.c (Fformat_time_string): Doc fix.
5234
c359dd9e
SM
52352001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5236
5237 * keymap.c (Fwhere_is_internal): Use the first valid binding
5238 if no ascii binding is found (when firstonly is t).
5239
ce070307
GM
52402001-01-31 Gerd Moellmann <gerd@gnu.org>
5241
b4f30ec5
GM
5242 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5243 instead of Finteractive_p.
5244
5245 * lisp.h (interactive_p): Add prototype.
5246
5247 * eval.c (interactive_p): New function.
5248 (Finteractive_p): Use it.
5249
ce070307
GM
5250 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5251
f57b6e64
DL
52522001-01-31 Dave Love <fx@gnu.org>
5253
d61c7afe
DL
5254 * .gdbinit (hook-run): Define to run xreload.
5255
f57b6e64
DL
5256 * textprop.c (Fset_text_properties): Fix newline in doc string.
5257
eef93f99
GM
52582001-01-30 Gerd Moellmann <gerd@gnu.org>
5259
52283633
SM
5260 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5261 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5262
5263 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5264 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5265 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5266
5267 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5268 height.
5269
d9c1f6f9
DL
52702001-01-30 Dave Love <fx@gnu.org>
5271
5272 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5273 AFTER_POTENTIAL_GC.
5274
e8f044a0
GM
52752001-01-29 Gerd Moellmann <gerd@gnu.org>
5276
52283633
SM
5277 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5278 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5279
8e1db7b3
EZ
52802001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5281
5282 * textprop.c (Fset_text_properties): Doc fix.
5283
4eefd9d2
GM
52842001-01-29 Gerd Moellmann <gerd@gnu.org>
5285
5286 * xdisp.c (forward_to_next_line_start): Remove xassert.
5287
fccb8288
EZ
52882001-01-29 Jason Rumney <jasonr@gnu.org>
5289
4eefd9d2 5290 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5291 returning without releasing it.
5292
76581eab
KH
52932001-01-29 Kenichi Handa <handa@etl.go.jp>
5294
5295 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5296 for '^', '$', and '\0'.
5297
83a96b4d
AC
52982001-01-28 Andrew Choi <akochoi@i-cable.com>
5299
5604ec34
AC
5300 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5301 regex for '^', '$', and '\0'.
5302
83a96b4d
AC
5303 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5304 only if current_sblock has been initialized.
5305
5306 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5307 terminal frame even if it is the only visible frame.
5308
c09a6440
KH
53092001-01-28 Kenichi Handa <handa@etl.go.jp>
5310
5311 * fontset.c (font_family_registry): Even if FONTNAME conform to
5312 XLFD, if it specifies other fields than family and registry,
52283633 5313 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5314 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5315 a signle byte character. Don't set FAMILY part to nil here.
5316 It is handled by the caller choose_face_font.
c09a6440
KH
5317 (Fnew_fontset): Call font_family_registry with FORCE 0.
5318 (Fset_fontset_font): Likewise.
5319
4dcd74e6
GM
53202001-01-27 Gerd Moellmann <gerd@gnu.org>
5321
5322 * xdisp.c (display_line): Don't treat a newline as fitting
5323 on the line.
5324
d2906bf8
GM
53252001-01-26 Gerd Moellmann <gerd@gnu.org>
5326
0130fe1a
GM
5327 * window.c (size_window): Set the window's orig_top to nil when
5328 changing heights, so that a future shrink_mini_window won't
5329 restore a bogus height.
5330
550f0e6a
GM
5331 * frame.c (do_switch_frame): If selected frame has a mini-window,
5332 resize that to exact size.
5333
b7b20fbd
GM
5334 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5335
a47b7816
GM
5336 * xdisp.c (display_line): Simplify check for glyphs fitting
5337 entirely in the line.
5338
d2906bf8
GM
5339 * xfns.c (xic_style): New variable.
5340 (create_frame_xic): Move static variable to global scope for
550f0e6a 5341 the case that `static' gets defined away.
d2906bf8 5342
73df2b1e
KH
53432001-01-26 Kenichi Handa <handa@etl.go.jp>
5344
5345 * coding.c (decode_coding): Set a flag for inhibiting
5346 inconsistent eol.
5347 (code_convert_region): Always set saved_coding_symbol.
5348 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5349 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5350
6613cfc4
GM
53512001-01-25 Gerd Moellmann <gerd@gnu.org>
5352
c5e6e06b
GM
5353 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5354 XClearArea.
5355
5356 * xterm.c (x_after_update_window_line): Don't clear if frame's
5357 internal border width is zero.
5358 (x_clear_area): New function.
5359 (x_after_update_window_line, x_clear_end_of_line)
5360 (x_scroll_bar_create, x_scroll_bar_set_handle)
5361 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5362 instead of XClearArea.
5363
5364 * xterm.h (x_clear_area): Add prototype.
5365
6613cfc4
GM
5366 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5367 which doesn't seem necessary anymore with Lesstif 0.92.
5368
650cc6cc
DL
53692001-01-25 Dave Love <fx@gnu.org>
5370
34ac3367
DL
5371 * puresize.h (BASE_PURESIZE): Up to 720000.
5372
650cc6cc
DL
5373 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5374
5e37dc22
GM
53752001-01-25 Gerd Moellmann <gerd@gnu.org>
5376
e1e441f9
GM
5377 * xdisp.c (echo_area_display): Don't call redisplay_internal
5378 when Emacs is shutting down. We can't run hooks etc. that
5379 would be necessary to do a redisplay.
5380
5e37dc22
GM
5381 * lread.c (read_integer): Use type EMACS_INT instead of int.
5382
0fb94c7f
EZ
53832001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5384
5385 * ccl.c (ccl_driver): Fix last change.
5386
e3778624
KH
53872001-01-25 Kenichi Handa <handa@etl.go.jp>
5388
5389 * ccl.h (sturct ccl_program): New member suppress_error.
5390
bb264518 5391 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5392 insert error message to the output.
5393 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5394
5395 * coding.h (struct coding_system): New member suppress_error.
5396
5397 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5398 (Fset_terminal_coding_system_internal): Set the member
5399 suppress_error to 1.
5400 (Fset_safe_terminal_coding_system_internal): Likewise.
5401
245ed2b1
SM
54022001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5403
5404 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5405 as if it was a `charset'.
5406
f9aaedb6
GM
54072001-01-24 Gerd Moellmann <gerd@gnu.org>
5408
5409 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5410 value in where_is_cache; the next lookup in the cache returns
5411 something bogus if we do.
5412
c3902c3e
EZ
54132001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5414
5415 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5416 if HAVE_WINDOW_SYSTEM isn't defined.
5417
3497f73e
GM
54182001-01-24 Gerd Moellmann <gerd@gnu.org>
5419
e7e41584
GM
5420 * fns.c (sweep_weak_table): Fix code taking items out of
5421 the hash collision chain. Some cleanup.
5422
3497f73e
GM
5423 * xterm.c (x_new_font): Don't change a tooltip's size.
5424
5425 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5426 background color by specifying a color for the default font
5427 in .Xdefaults.
5428
3d48e687
KH
54292001-01-24 Kenichi Handa <handa@etl.go.jp>
5430
96531b20
KH
5431 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5432 a workaround for SunOS 4's cc.
5433 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5434 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5435 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5436 statement.
3d48e687 5437
a30629d2
GM
54382001-01-23 Gerd Moellmann <gerd@gnu.org>
5439
5440 * xterm.c (x_set_window_size_1): New function extracted from
5441 x_set_window_size.
5442 (x_set_window_size): Use it.
5443 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5444 doesn't have a widget, like tooltips.
5445
5a43decf
EZ
54462001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5447
52283633 5448 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5449
b0e98867
KH
54502001-01-23 Kenichi Handa <handa@etl.go.jp>
5451
5452 * fns.c (Fset_char_table_default): Fix to make sub char-table
5453 correctly.
5454
50606b4c
GM
54552001-01-22 Gerd Moellmann <gerd@gnu.org>
5456
cb2ddc53 5457 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5458 a desired tool bar string, even if there are no tool bar items.
5459
57c28064
GM
5460 * xdisp.c (Ftool_bar_lines_needed): New function.
5461 (syms_of_xdisp): Defsubr it.
5462
50606b4c
GM
5463 * editfns.c (Fformat): Don't extend text properties from arguments
5464 to padding chars in the result.
5465
2f169c38
EZ
54662001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5467
5468 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5469
0f32f023
AI
54702001-01-20 Andrew Innes <andrewi@gnu.org>
5471
52283633 5472 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5473 (w32_initialize): Don't set term hooks that aren't actually needed
5474 in windowed mode.
5475
5476 * xfaces.c (realize_default_face):
5477 (realize_face):
5478 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5479
5480 * xdisp.c (handle_single_display_prop): Remove references to
5481 FRAME_W32_CONSOLE_P.
5482
52283633 5483 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5484
5485 * frame.h (output_method): Remove output_w32_console method.
5486 (FRAME_W32_CONSOLE_P): Remove macro.
5487
5488 * frame.c (Qw32_console): Remove variable.
5489 (Fframep): Remove references to it.
5490 (syms_of_frame): Ditto.
5491 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5492
5493 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5494 redefinition.
5495
7173eada
KH
54962001-01-20 Kenichi Handa <handa@etl.go.jp>
5497
5498 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5499
755b45ce
AI
55002001-01-19 Andrew Innes <andrewi@gnu.org>
5501
5502 * w32.c (init_environment): Add a version-independent site-lisp
5503 directory to EMACSLOADPATH, after the version dependent one.
5504
0a949811
GM
55052001-01-19 Gerd Moellmann <gerd@gnu.org>
5506
8501998a
GM
5507 * editfns.c (Fbuffer_substring): Doc fix.
5508
52283633
SM
5509 * xdisp.c (message_dolog, message2, message2_nolog):
5510 Rename parameter LEN to NBYTES.
0a949811 5511
e6ebcbbe
KH
55122001-01-19 Kenichi Handa <handa@etl.go.jp>
5513
200ecca2
KH
5514 * charset.c (strwidth): Use c_string_width.
5515 (c_string_width): New function.
5516 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5517 Caller changed.
5518
5519 * charset.h (c_string_width, lisp_string_width): Extern them.
5520
52283633 5521 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5522
e6ebcbbe
KH
5523 * indent.c (check_composition): Check validity of composition.
5524
200ecca2
KH
5525 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5526 characters by calling c_string_width.
5527 (x_consider_frame_title): Get byte length of frame tile string
5528 correctly.
5529 (display_mode_element): Pay attention to width of non-ASCII
5530 characters by calling strwidth.
5531
8692ca92
GM
55322001-01-18 Gerd Moellmann <gerd@gnu.org>
5533
8962e303
GM
5534 * xfns.c (Qcancel_timer): New variable.
5535 (syms_of_xfns): Initialize and staticpro it.
5536 (Fx_hide_tip, Fx_show_tip): Use it.
5537 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5538 the timer.
5539 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5540
91523be9
GM
5541 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5542
5543 * window.h (WINDOW_LIVE_P): New macro.
5544
b0b7ed0e
GM
5545 * window.c (window_size_fixed): New variable.
5546 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5547 the doc string.
5548
06bccf8e
GM
5549 * eval.c (specbind): If binding a per-buffer variable which
5550 doesn't have a buffer-local value in the current buffer, change
5551 the global value by changing the value of the symbol bound in all
5552 buffers not having their own value, to make it consistent with
5553 what happens with other buffer-local variables.
5554
8692ca92
GM
5555 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5556
5557 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5558 when searching for a newline.
5559
bb3a3b50
KH
55602001-01-18 Kenichi Handa <handa@etl.go.jp>
5561
5562 * xdisp.c (display_string): Fix previous change.
5563
c2cc16fa
JR
55642001-01-18 Jason Rumney <jasonr@gnu.org>
5565
5566 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5567 GLYPH_DEBUG is defined.
5568 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5569 true for images with `:ascent 100'.
5570 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5571 meantime, use face MOUSE_FACE_ID.
5572 If first glyph isn't a character glyph, use the ASCII NUL
5573 character to determine the face.
5574 (expose_area): Do not treat left margin specially.
5575 (note_mode_line_highlight): If no local_map, check global keymap.
5576 (note_mouse_highlight): Initialize overlay.
52283633 5577 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5578 (show_scroll_bars): Remove unused function.
5579 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5580 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5581 Clip to row.
52283633 5582 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5583 (x_free_frame_resources): Unload relief colors.
5584
9c11f79e
GM
55852001-01-17 Gerd Moellmann <gerd@gnu.org>
5586
3aec8722 5587 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5588 get_next_display_element when the newline is already found.
5589 This may change the iterator's position, when its current position is
3aec8722
GM
5590 equal to the iterator's stop_charpos.
5591
f3ffc2c3
GM
5592 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5593 zero, use this method only at the end of a line.
5594
52283633 5595 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5596 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5597 if SCALABLE_FONTS_P is set.
52283633 5598
d26d6fd9
GM
5599 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5600 so that scalable fonts are included.
5601
9c11f79e
GM
5602 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5603 In the cache, use a key containing the information if scalable
5604 fonts are included.
5605 (x_load_font): Adapt to change of keys in the font cache.
5606
56072001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5608
d26d6fd9
GM
5609 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5610 XListFonts to take advantage of font caching.
5611
9c11f79e
GM
5612 * xterm.c (x_list_fonts): Ensure caching font information when
5613 called for a null frame, which is the case frequently when Emacs
5614 starts.
5615
51446987
GM
56162001-01-17 Gerd Moellmann <gerd@gnu.org>
5617
f864120f
GM
5618 * xfns.c (QCconversion): Replaces QCalgorithm.
5619
5620 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5621
5622 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5623 of :algorithm.
52283633 5624
e37d1417
GM
5625 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5626 not everything could be displayed.
5627
51446987
GM
5628 * line.h, x-list-font.c: Files removed because unused.
5629
9ad4f3e5
AI
56302001-01-17 Andrew Innes <andrewi@gnu.org>
5631
5632 * dired.c (directory_files_internal): Convert result from readdir
5633 to a unibyte string initially, to avoid possible misinterpretation
5634 of some bytes as the internal form of Emacs characters.
5635
2eda09b5
KH
56362001-01-17 Kenichi Handa <handa@etl.go.jp>
5637
5638 * fns.c (concat): Be sure to avoid putting the same `composition'
5639 property on the adjacent regions.
5640
826f3788
GM
56412001-01-16 Gerd Moellmann <gerd@gnu.org>
5642
52283633 5643 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5644 (Fscroll_right, Fscroll_left): Set it here instead, if called
5645 interactively.
5646
d57b83b3
GM
5647 * buffer.c (Fset_buffer_modified_p): Set buffer's
5648 prevent_redisplay_optimizations_p flag.
5649
826f3788 5650 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5651 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5652 with additional arg.
5653
5654 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5655 Change prototype.
826f3788 5656
826f3788
GM
5657 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5658 FROM_WHERE, for debugging.
5659
261d788b
KH
56602001-01-16 Kenichi Handa <handa@etl.go.jp>
5661
5662 * ccl.c (Fregister_ccl_program): Handle the return value of
5663 resolve_symbol_ccl_program correctly.
52283633 5664 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5665
bccee4f2
GM
56662001-01-15 Gerd Moellmann <gerd@gnu.org>
5667
e4ded23c
GM
5668 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5669 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5670
5671 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5672 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5673 the display; we didn't open it.
5674
bccee4f2
GM
5675 * dispnew.c (save_or_restore_current_matrices): Function removed.
5676 (save_current_matrix, restore_current_matrix): New functions.
5677 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5678 restore the frame's current matrix. Due to the glyph pointer
5679 setup done in adjust_glyph_matrix, there is no easy way to make
5680 saving the current matrix in the desired matrix generally correct,
5681 so don't try it.
5682
ebeccffa
KH
56832001-01-15 Kenichi Handa <handa@etl.go.jp>
5684
5685 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5686 truncation glyphs.
5687 (display_line): Optimize for wide characters.
e4ded23c 5688 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5689 partially. On ttys, produce more than one truncation glyph for
5690 multi-column characters that don't fit on the line.
5691
64388126
KH
56922001-01-13 Kenichi Handa <handa@etl.go.jp>
5693
52283633
SM
5694 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5695 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5696
8edb0a6f
JR
56972001-01-13 Jason Rumney <jasonr@gnu.org>
5698
5699 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5700 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5701 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5702 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5703
52283633
SM
5704 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5705 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5706 (x_draw_image_glyph_string): Adapt to change of image margins.
5707
5708 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5709 variables.
5710
5711 * w32bdf.c (search_file_line, get_cached_font_char)
5712 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5713
5714 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5715
5716 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5717 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5718 (Fw32_send_sys_command): Remove unused variables.
5719 (w32_msg_pump): Add parentheses.
5720
5721 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5722 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5723 Add parentheses.
5724
4956d1ef
GM
57252001-01-12 Gerd Moellmann <gerd@gnu.org>
5726
b30623be
GM
5727 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5728 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5729 being a pair of margins.
5730 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5731 to DEFVAR_LISP. Extend doc.
5732
5733 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5734 margins.
5735 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5736 pair of integers `(X . Y)', use X for the horizontal and Y for the
5737 vertical margin.
5738 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5739 (parse_image_spec): Check it.
52283633
SM
5740 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5741 (tiff_format, gif_format, gs_format):
5742 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5743
52283633
SM
5744 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5745 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5746 (x_draw_image_glyph_string): Adapt to the change of image margins.
5747
5748 * dispextern.h (struct image): Replace member `margin' with
5749 `hmargin' and `vmargin'.
5750
4554cc79
GM
5751 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5752 and GLYPHS.
5753
5754 * dispnew.c (update_text_area): Put code which decrements the
5755 stop position when the row's face extends to the end of the
3bffc665 5756 line in #if 0.
4554cc79 5757
3cccce8d
GM
5758 * xfns.c (x_set_mouse_color): Fix color allocation.
5759
4956d1ef
GM
5760 * keyboard.c: Call get_local_map with new argument list.
5761
5762 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5763
5764 * intervals.h (enum map_property): Removed.
5765 (get_local_map): Change prototype.
5766
5767 * keymap.c: Call get_local_map with new argument list.
5768 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5769
2c2ff7f2
GM
57702001-01-11 Gerd Moellmann <gerd@gnu.org>
5771
a23887b9
GM
5772 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5773 of the size needed for the tool bar string. For the last image,
5774 use a `display' property that reaches to the end of the string.
5775
a7ee2d2e
GM
5776 * xselect.c (selection_request_dpyinfo): New variable.
5777 (x_handle_selection_request): Set it.
5778 (x_selection_request_lisp_error): Don't call
5779 x_decline_selection_request if selection request's display has
5780 been closed.
5781
52283633
SM
5782 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5783 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5784
457b792c
GM
57852001-01-10 Dave Love <fx@gnu.org>
5786
5787 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5788 ${SOME_MACHINE_LISP}, not ${lisp}.
5789
c1efd260
GM
57902001-01-10 Gerd Moellmann <gerd@gnu.org>
5791
52283633
SM
5792 * xdisp.c (display_line): On ttys, produce more than one truncation
5793 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5794
ac95a621
GM
5795 * xselect.c (x_reply_selection_request): Add a comment.
5796
c1efd260
GM
5797 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5798 XkbGetNames instead of XkbGetKeyboard.
5799
1bfb1345
DL
58002001-01-10 Dave Love <fx@gnu.org>
5801
5802 * sysdep.c (random): Revert the declaration.
5803
38119822
GM
58042001-01-09 Gerd Moellmann <gerd@gnu.org>
5805
52283633
SM
5806 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5807 Call function string_bytes.
35f464a7
GM
5808 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5809
5810 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5811 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5812 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5813 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5814 the current sblock.
5815 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5816 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5817 after sweeping strings, and at the end.
5818 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5819
38119822
GM
5820 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5821 ensure that pop_message is called.
5822
5823 * keyboard.c (Fexecute_extended_command): Use a
5824 record_unwind_protect to ensure that pop_message is called.
5825
5826 * lisp.h (push_message_unwind): Add prototype.
5827
5828 * xdisp.c (push_message_unwind): New function.
5829
5830 * fileio.c (do_auto_save_unwind): Do the pop_message here
5831 instead of in Fdo_auto_save.
5832 (Fdo_auto_save): Don't call pop_message.
5833
f47a9ec4
KR
58342001-01-08 Ken Raeburn <raeburn@gnu.org>
5835
5836 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5837 in inner block.
5838
a758f97d
GM
58392001-01-08 Gerd Moellmann <gerd@gnu.org>
5840
6d0afc03
GM
5841 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5842 when increasing window's vscroll.
5843
a758f97d
GM
5844 * macros.c (Qkbd_macro_termination_hook): New variable.
5845 (syms_of_macros): Initialize and staticpro it.
5846 (pop_kbd_macro): Run kbd-macro-termination-hook.
5847
5848 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5849
1bfb1345 58502001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5851
5852 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5853 arglist, for documentation's sake.
5854
0dac6924
AI
58552001-01-06 Andrew Innes <andrewi@gnu.org>
5856
5857 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5858 of *.pdb.
5859
8182406a
AI
58602001-01-05 Andrew Innes <andrewi@gnu.org>
5861
5862 * term.c (update_end): Don't check updating_frame; for some reason
5863 this can be 0 sometimes, such as after dismissing a popup menu,
5864 and isn't necessary given the explicit frame argument.
5865
3828218c
GM
58662001-01-05 Gerd Moellmann <gerd@gnu.org>
5867
5868 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5869 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5870
2f5ded21
GM
58712001-01-04 Gerd Moellmann <gerd@gnu.org>
5872
52283633 5873 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5874
5875 * xfns.c (x_create_tip_frame): Preserve the value of
5876 face_change_count around the creation of the tip frame.
52283633 5877
2f5ded21
GM
5878 * xfns.c (last_show_tip_args): New variable.
5879 (compute_tip_xy): New function.
5880 (Fx_show_tip): Reuse an existing tip frame, if possible.
5881 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5882
dfad65fa
DL
58832001-01-04 Dave Love <fx@gnu.org>
5884
64d4ec0f
DL
5885 * editfns.c (Fformat): Doc fix.
5886
dfad65fa
DL
5887 * systime.h (set_file_times): Prototype.
5888
5889 * widget.h (EmacsFrameSetCharSize_): Prototype.
5890
5891 * sysdep.c (random, srandom): Declare explicitly.
5892
5893 * dispextern.h (move_it_vertically_backward): Declare.
5894
85fe3b5e
GM
58952001-01-04 Gerd Moellmann <gerd@gnu.org>
5896
0f2ac578
GM
5897 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5898 like in Fx_create_frame.
5899
482cca61
GM
5900 * xfaces.c (set_font_frame_param): Don't do anything for
5901 non-graphical frames.
5902
85fe3b5e
GM
5903 * window.c (Fdelete_other_windows): Set window's window_end_valid
5904 to nil when changing the window's start. Don't change the
5905 window's start when its top position hasn't changed. If we do,
5906 this will set the window's optional_new_start, which act's like a
5907 force_start during redisplay with C-x 1 M-> under particular
5908 circumstances (see report from Per Starback to emacs-pretest-bug
5909 from 2000-12-13.).
5910
3e99d3b4
GM
59112001-01-03 Gerd Moellmann <gerd@gnu.org>
5912
a77dc1ec
GM
5913 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5914 short cut at the start of the function. Add an assertion.
5915 (reseat_at_next_visible_line_start): Add an assertion.
5916
2f3cad6c
GM
5917 * window.c (Frecenter): When changing the window start, set the
5918 window's window_end_valid to nil.
5919 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5920
5921 * dispextern.h (move_it_past_eol): Add prototype.
5922
5923 * xdisp.c (move_it_past_eol): New function.
5924
3e99d3b4
GM
5925 * window.c (Fwindow_end): Doc fix.
5926
59272001-01-03 Dave Love <fx@gnu.org>
5928
52283633 5929 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5930
bafb434c
GM
59312001-01-03 Gerd Moellmann <gerd@gnu.org>
5932
5933 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5934 the enabled_p flag of the glyph row at window_end_vpos to 0.
5935 (handle_single_display_prop): Fix last change.
5936
5297fb00
RS
59372001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5938
5939 * window.c (Frecenter): Doc fix.
5940
13d6a61c
AI
59412001-01-02 Andrew Innes <andrewi@gnu.org>
5942
5943 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5944
5945 * frame.h (output_method): Add output_w32_console method.
5946 (FRAME_W32_CONSOLE_P): New macro.
5947
5948 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5949 use output_w32_console method.
5950 (Qw32_console): New Lisp_Object.
5951 (Fframep): Return it.
5952 (syms_of_frame): Init it.
52283633 5953 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5954
5955 * xfaces.c (realize_default_face): Set face foreground and
5956 background to unspecified for w32_console frames.
5957 (realize_face): Realize face cache for w32_console frames.
5958 (realize_tty_face): Accept w32_console frames.
5959
52283633 5960 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5961 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5962 necessary, even if running interactively.
5963
5964 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5965 w32_console frames.
5966
52283633
SM
5967 * w32term.c (x_update_begin):
5968 (x_update_end):
5969 (x_clear_frame):
5970 (x_ins_del_lines):
5971 (x_change_line_highlight):
5972 (x_delete_glyphs):
5973 (w32_ring_bell):
5974 (x_update_begin):
5975 (x_update_end):
5976 (w32_reassert_line_highlight):
5977 (w32_frame_rehighlight):
13d6a61c
AI
5978 (w32_frame_raise_lower): Do nothing if not w32 frame.
5979
5980 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5981
5982 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5983 system doesn't tell us directly.
5984 (Fx_display_visual_class): Implement properly.
5985
d6bb0c0d
GM
59862001-01-02 Gerd Moellmann <gerd@gnu.org>
5987
5988 * window.c (Frecenter): Handle centering in graphical frames
5989 specially. Centering on the basis of line counts doesn't work
5990 reliably with variable-height lines.
52283633 5991
315f5865
EZ
59922001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5993
5994 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5995 and al[].
5996
52283633 5997 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5998 (update_compositions): Remove unused variable `hook'.
5999
6000 * intervals.c (get_local_map): Remove unused variable `tem'.
6001
6002 * doprnt.c (doprnt1): Remove unused variable `size'.
6003
6004 * fns.c (Flength): Remove unused variable `tail'.
6005 (Fdelete): Remove unused variable `size'.
6006
6007 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6008 and `gcpro2'.
6009
52283633 6010 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6011
6012 * data.c (find_symbol_value): Remove extra 3rd argument in the
6013 call to swap_in_symval_forwarding.
6014
52283633 6015 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6016
6017 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6018 (trivial_regexp_p): Remove unused variable `c'.
6019 (boyer_moore): Remove unused variable `k'.
6020
6021 * indent.c (current_column): Remove unused variable `stopchar'.
6022 (Fcompute_motion): Remove unused variable `contin'.
6023
6024 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6025
6026 * dired.c (directory_files_internal): Fix a typo in a comment.
6027 Remove an unused variable `handler'.
52283633 6028 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6029 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6030 on BSD4_2.
6031
52283633 6032 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6033
6034 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6035 and `buf'.
6036 (Fmarker_insertion_type): Remove unused variable `buf'.
6037
6038 * insdel.c (make_gap): Remove unused variable `result'.
6039
52283633 6040 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6041 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6042 (menu_bar_items): Remove unused function-scope variable `tem'.
6043
6044 * fontset.c (fontset_ref): Remove unused variable `i'.
6045 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6046 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6047 (make_fontset_for_ascii_face): Remove unused variable `name'.
6048 (fs_load_font): Remove unused variable `font_idx'.
52283633 6049 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6050 (list_fontsets): Remove unused variable `tail'.
6051 (Fnew_fontset): Remove unused variables `family' and `registry'.
6052 (accumulate_font_info): Remove unused variable `tmp'.
6053 (Ffontset_font): Remove unused variable `id'.
6054 (syms_of_fontset): Remove unused variable `i'.
6055
6056 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6057 to x_term_init.
6058 (lookup_image): Remove unused variable `file'.
6059 (xbm_load): Remove unused variables `bitmap_data', `height', and
6060 `width'. Remove function-local variable `i', leave the
6061 block-local one.
6062 (gif_load): Remove unused variable `inc'.
6063
52283633 6064 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6065 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6066 leave only the one in the inner block.
6067
6068 * xfaces.c (face_fontset, realize_default_face): Remove unused
6069 variable `fontset'.
6070 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6071
6072 * term.c (encode_terminal_code): Remove unused variable `c'.
6073
6074 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6075 char *' instead of `char *'.
6076
6077 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6078 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6079 (Fchar_category_set): Remove unused variables `val', `charset',
6080 `c1' and `c2'.
6081
52283633
SM
6082 * coding.c (detect_coding_iso2022, setup_coding_system):
6083 Remove unused variable `i'.
315f5865
EZ
6084 (detect_coding_mask): Remove unused variable `idx'.
6085 (detect_coding): Remove unused variable `i'.
6086 (ccl_coding_driver): Remove unused variable `result'.
6087 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6088 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6089 (encode_coding_string): Remove unused variables `gcpro1' and
6090 `saved_coding_symbol'.
6091 (Ffind_coding_systems_region_internal): Remove function-local
6092 variable args[], leave only the block-local one.
6093 (code_convert_region1): Remove unused variable `len'.
6094
6095 * charset.c (char_printable_p): Remove unused variable `chars'.
6096 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6097 (str_to_multibyte): Remove unused variable `c'.
6098
6099 * window.c (size_window): Remove block-local variable `min_size'.
6100
6101 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6102 `header_line_height'.
6103 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6104 enum display_element_type.
6105
1a8a9daf
GM
61062001-01-02 Gerd Moellmann <gerd@gnu.org>
6107
6dde6abc 6108 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6109 statements that call X. Save away the error message in a local copy.
6110
1883b2c6
GM
6111 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6112 the start.
6113
a13be207
GM
6114 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6115 in or at the start of invisible text.
6116
1a8a9daf
GM
6117 * dispnew.c (update_window): Don't check_current_matrix_flags.
6118
3608c0f9
JR
61192001-01-01 Jason Rumney <jasonr@gnu.org>
6120
6121 * w32fns.c (x_figure_window_size): Do not allow new_height and
6122 new_width of frame to override specified values.
6123
abb1acc4
KH
61242000-12-30 Kenichi Handa <handa@etl.go.jp>
6125
52283633 6126 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6127
762a68ec
GM
61282000-12-29 Gerd Moellmann <gerd@gnu.org>
6129
52283633 6130 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6131 (update_window) [GLYPH_DEBUG]: Call it.
6132 (scrolling_window): Prevent including current rows which are below
6133 what's displayed in the window.
6134
6135 * xdisp.c (try_window_reusing_current_matrix)
6136 <new start <= old start>: Disable rows in the current matrix
6137 which are below the window after scrolling.
52283633 6138
762a68ec
GM
6139 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6140 is zero. It's not worth the complexity.
6141 (invisible_text_between_p): Put in #if 0 because unused.
6142
2d5912c1
GM
61432000-12-28 Gerd Moellmann <gerd@gnu.org>
6144
46f6a258
GM
6145 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6146 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6147
89f93679
GM
6148 * keyboard.c (echo_char): If C is an integer, always call
6149 push_key_description. Former code could signal an invalid
6150 character error.
6151
6152 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6153 If set, print multibyte text.
6154 (Fsingle_key_description): Call push_key_description with
6155 FORCE_MULTIBYTE set.
6156 (describe_buffer_bindings): Likewise.
6157
6158 * lisp.h (push_key_description): Add prototype.
6159
c06017fb
GM
6160 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6161 around the call to redisplay_internal.
6162
f1d2ce7f
GM
6163 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6164
2d5912c1
GM
6165 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6166
9371f831
KH
61672000-12-28 Kenichi Handa <handa@etl.go.jp>
6168
6169 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6170 (ccl_driver): New local variable `extra_bytes'.
6171
6172 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6173
52283633
SM
6174 * coding.c (setup_coding_system):
6175 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6176 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6177
0c80628a
KH
61782000-12-28 Kenichi Handa <handa@etl.go.jp>
6179
6180 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6181 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6182 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6183 (decode_composition_emacs_mule): New function.
6184 (decode_coding_emacs_mule): Decode composition sequence by calling
6185 decode_composition_emacs_mule.
6186 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6187 (encode_coding_emacs_mule): Changed from macro to function.
6188 If a text contains compositions, encode them correctly.
0c80628a
KH
6189 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6190 that decoding and encoding are required.
6191
3e32cc27
GM
61922000-12-27 Gerd Moellmann <gerd@gnu.org>
6193
5e25feee
GM
6194 * xfaces.c (PT_PER_INCH): New macro.
6195 (xlfd_point_size): Compute real point size from font's pixel size.
6196 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6197 instead of 72.
6198
892d8fcd
GM
6199 * .gdbinit: Comment out the line pointing to the Lesstif source
6200 directory.
6201
12c8b416
GM
6202 * window.c (Frecenter): Use displayed_window_lines instead
6203 of window_internal_height.
6204
6061fbf0
GM
6205 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6206 instead of x-toolkit-scroll-bars-p.
6207 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6208
6209 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6210 instead of x-toolkit-scroll-bars-p.
6211 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6212
3e32cc27
GM
6213 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6214 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6215 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6216 New variables.
6217 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6218 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6219 (build_frame_matrix_from_leaf_window): Remove unused code.
6220 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6221 redisplay history.
6222 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6223 (update_window) [GLYPH_DEBUG]: Likewise.
6224 (syms_of_display): Defsubr dump-redisplay-history.
6225
31798cfe
GM
62262000-12-23 Gerd Moellmann <gerd@gnu.org>
6227
f717c2ba
GM
6228 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6229 the end of the prompt. Set echo_after_prompt to the offset
6230 of echoptr in echobuf.
6231
aeb2b8fc
GM
6232 * xdisp.c (init_from_display_pos): Pop until the iterator's
6233 stack is empty; there may be frames for stretch or images
6234 on the stack.
6235
31798cfe
GM
6236 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6237 (save_or_restore_current_matrix): New function for the same
6238 purpose, but more efficient.
6239 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6240
f8156156
EZ
62412000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6242
6243 * xdisp.c (syms_of_xdisp): Fix last change.
6244
bdd6d4e8
GM
62452000-12-23 Gerd Moellmann <gerd@gnu.org>
6246
6247 * xdisp.c (syms_of_xdisp): Doc fix.
6248
6249 * xdisp.c (redisplay_window): Remove label restore_buffers;
6250 use finish_scroll_bars instead to make sure that scroll bars
6251 are redeemed. If we don't do this, flickering can result from
6252 scroll bars being destroyed and recreated.
6253
9436cdf9
JR
62542000-12-22 Jason Rumney <jasonr@gnu.org>
6255
6256 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6257 in the wrong colors when the foreground is not black.
6258 (expose_window): Don't redraw the window that's currently being
6259 updated.
6260
951f9df5
GM
62612000-12-22 Gerd Moellmann <gerd@gnu.org>
6262
856ff7a7
GM
6263 * window.c (size_window): When setting the window's too_small_ok
6264 flag, compare old size with minimum size depending on WIDTH_P,
6265 don't compare with window_min_width.
52283633 6266
951f9df5
GM
6267 * window.c (delete_window): Simplify somewhat.
6268 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6269 freeing window matrices. The flag windows_or_buffers_changed is
6270 set, so the next redisplay will consider all windows; this should
6271 suffice.
6272
886bc933
KH
62732000-12-22 Kenichi Handa <handa@etl.go.jp>
6274
6275 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6276
6277 * ccl.h (struct ccl_program): New member cr_consumed.
6278
6279 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6280 (CCL_READ_CHAR): Handle EOL conversion here.
6281 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6282
177f4e88
GM
62832000-12-21 Gerd Moellmann <gerd@gnu.org>
6284
52283633 6285 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6286
6287 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6288 otherwise tabs of different size compare equal.
6289
6290 * callint.c (Fcall_interactively): Prevent a compiler warning.
6291
6292 * print.c (print_unwind): Return nil.
6293 (PRINTDECLARE): Initialize all local variables.
6294 (print_preprocess): Add a default case.
6295
8e15274f
GM
6296 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6297
6298 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6299
52283633 6300 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6301 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6302
6303 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6304
6305 * dispnew.c (ensure_frame_matrix): Removed.
6306 (save_frame_matrix, restore_frame_matrix): New functions.
6307 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6308
6309 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6310 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6311
99012074
AI
63122000-12-21 Andrew Innes <andrewi@gnu.org>
6313
6314 * w32term.c (x_update_begin): Regenerate the palette here, rather
6315 than for each window.
6316
6317 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6318 palette is NULL, since this corrupts memory! Also get
6319 display_info reference from frame.
6320
29ef7d2d
JR
63212000-12-21 Jason Rumney <jasonr@gnu.org>
6322
6323 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6324
6325 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6326 to avoid returning without releasing it.
3e27fa1f 6327
3f9d67a6
KH
63282000-12-21 Kenichi Handa <handa@etl.go.jp>
6329
587fc3f9
KH
6330 * keymap.c (push_key_description): Don't convert eight-bit-control
6331 and eight-bit-graphic to multibyte character.
6332
3f9d67a6
KH
6333 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6334 generic character and CODE1 is nil, return the smallest character
6335 in CHARSET.
6336
774ba8c9
DL
63372000-12-20 Dave Love <fx@gnu.org>
6338
6339 * s/osf5-0.h (NSIG): Don't redefine.
6340
88416888
SM
63412000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6342
6343 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6344 excluding menu-bar and tool-bar.
6345 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6346 (menu_item_p): Remove.
6347 (where_is_internal_1): Don't ignore menu-items.
6348
a6426c6f
GM
63492000-12-20 Gerd Moellmann <gerd@gnu.org>
6350
03ff8aab
GM
6351 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6352 into account.
6353
6354 * window.c (make_window): Initialize window's min_hscroll.
6355 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6356 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6357 to zero.
6358 (struct saved_window): New member min_hscroll.
6359 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6360 (Fset_window_configuration): Set window's min_hscroll.
6361 (save_window_save): Save window's min_hscroll.
6362 (compare_window_configurations): Compare min_hscroll values.
6363
6364 * window.h (struct window): New member min_hscroll.
6365
6366 * keyboard.c (echo_prompt): Prevent a compiler warning.
6367
8de4aaf8
GM
6368 * xdisp.c (try_cursor_movement): Fix last change. The real
6369 condition is that PT is at the end of the row, and should
6370 be displayed at the start of the next row.
52283633 6371
3f7e3031
GM
6372 * xdisp.c (try_cursor_movement): If we end on a partially
6373 visible line, end we already decided to scroll, return -1.
6374
a6426c6f
GM
6375 * dispextern.h (ensure_frame_matrix): Add prototype.
6376
6377 * window.c (delete_window, Fsplit_window)
6378 (Fset_window_configuration): Call ensure_frame_matrix.
6379
52283633
SM
6380 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6381 New functions.
a6426c6f
GM
6382 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6383 completed, call fake_current_matrices instead of marking frame
6384 garbaged.
6385
57fa2774
JR
63862000-12-20 Jason Rumney <jasonr@gnu.org>
6387
6388 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6389
d925df90
EZ
63902000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6391
6392 * fns.c (Frequire): Doc fix.
6393
7b93a85b
GM
63942000-12-19 Gerd Moellmann <gerd@gnu.org>
6395
52283633 6396 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6397
c74e645b
GM
6398 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6399 currently displaying a message.
6400
7b93a85b
GM
6401 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6402 xterm.h.
6403 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6404
90d97e64
AI
64052000-12-18 Andrew Innes <andrewi@gnu.org>
6406
6407 * w32.c (w32_strerror): New function.
6408
6409 * w32.h (w32_strerror): New extern.
6410
6411 * w32fns.c (Fw32_shell_execute): Use it.
6412
91c9e6ce
GM
64132000-12-18 Gerd Moellmann <gerd@gnu.org>
6414
6415 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6416
6f4745e2
EZ
64172000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6418
6419 * msdos.c (IT_set_face): Obey inverse_video.
6420
c9e088ce
KH
64212000-12-18 Kenichi Handa <handa@etl.go.jp>
6422
6423 * dired.c (directory_files_internal): Always return decoded filenames.
6424
c3695f5f
GM
64252000-12-18 Gerd Moellmann <gerd@gnu.org>
6426
52d8e4ff
GM
6427 * xterm.c (x_connection_closed): Prevent being called recursively
6428 because of an error condition in XtCloseDisplay.
52283633 6429
62be9979
GM
6430 * xdisp.c (init_iterator): If noninteractive, and the frame's
6431 face cache is null, make one.
6432
52283633 6433 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6434
c3695f5f
GM
6435 * process.c (wait_reading_process_input): Check for pending
6436 input when running timers.
6437
78555fbe
EZ
64382000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6439
52283633 6440 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6441
b2b36264
KH
64422000-12-18 Kenichi Handa <handa@etl.go.jp>
6443
6444 * process.c (read_process_output): Don't run a filter if the code
6445 decoder produces nothing but carryover.
6446
9c543fbf
AI
64472000-12-17 Andrew Innes <andrewi@gnu.org>
6448
6449 * w32.c (sys_rename): Only check errno against EEXIST, and not
6450 EACCES, when determining whether rename failed because the target
6451 exists. This was resulting in indefinite looping on Windows 9x if
6452 the source file was locked by another process.
6453
6454 * w32fns.c (Ffile_system_info): New function.
6455 (syms_of_w32fns): Defsubr it.
6456
10c2b5a8
GM
64572000-12-17 Gerd Moellmann <gerd@gnu.org>
6458
b0228ace
GM
6459 * window.c (coordinates_in_window): Fix computation for
6460 position on vertical line between mode lines.
6461
10c2b5a8
GM
6462 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6463 Don't alter tip_frame or tip_window.
6464 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6465 was deleted.
6466
c844a81a
GM
6467 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6468 Don't alter tip_frame or tip_window.
6469 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6470 was deleted.
6471
6c825f8e
EZ
64722000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6473
6474 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6475 be consistent with the doc string. Reported by NAKAJIMA Mikio
6476 <minakaji@osaka.email.ne.jp>.
6477
af4bb4c8
KH
64782000-12-16 Kenichi Handa <handa@etl.go.jp>
6479
6480 * xfaces.c (Vface_ignored_fonts): New variable.
6481 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6482 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6483
8062e53a
GM
64842000-12-15 Gerd Moellmann <gerd@gnu.org>
6485
e87b8809
GM
6486 * dispnew.c (update_window): Detect pending input every nth line
6487 updated, i.e. do it depending on real work done, and not on the
6488 vpos of the line.
6489
6490 * xterm.c (expose_window): Don't redraw the window that's
6491 currently being updated.
6492
a6768cc5
GM
6493 * window.c (Fset_window_point): Remove test for
6494 cursor_in_non_selected_windows.
6495
4ea7fdca
GM
6496 * lread.c (read1): Recognize end of file after `\\'.
6497
8062e53a
GM
6498 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6499 not unwind_create_frame.
6500
bb7959c1
GM
65012000-12-15 Dave Love <fx@gnu.org>
6502
6503 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6504 bcopy & al.
6505
6506 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6507
ced04c42
KH
65082000-12-15 Kenichi Handa <handa@etl.go.jp>
6509
c5443913
KH
6510 * coding.c (setup_coding_system): Clear all members of the struct
6511 coding_system at first.
bc137305
KH
6512 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6513 argument.
6514 (code_convert_region): Don't override coding->src_multibyte and
6515 coding->dst_multibyte.
c5443913 6516
ced04c42
KH
6517 * fns.c (Fmd5): Docstring improved.
6518
c2d7f289
MB
65192000-12-15 Miles Bader <miles@gnu.org>
6520
6521 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6522 are actually marked as mode-lines; otherwise use
6523 estimate_mode_line_height.
6524
9d7d9263
GM
65252000-12-14 Gerd Moellmann <gerd@gnu.org>
6526
6527 * editfns.c (Fformat): Prevent a buffer overrun when the format
6528 specifies a precision.
6529
7cf0153a
EZ
65302000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6531
6532 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6533 argument is outside the range [2..3].
6534
1de0f662
AI
65352000-12-14 Andrew Innes <andrewi@gnu.org>
6536
6537 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6538 nothing to do. Bind inhibit-quit.
6539 (tip_frame): Make it a Lisp_Object.
6540 (x_create_tip_frame): Set tip_frame after it has been added to
6541 Vframe_list.
6542 (Fx_show_tip): Don't set tip_frame here.
52283633 6543 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6544 (unwind_create_frame, unwind_create_tip_frame): New functions.
6545 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6546 while a frame is only partially constructed.
6547
6548 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6549 (x_free_frame_resources): New function.
6550 (x_destroy_window): Use it.
6551
02387dcc
GM
65522000-12-14 Gerd Moellmann <gerd@gnu.org>
6553
6554 * xfns.c (Fx_backspace_delete_keys_p): New function.
6555 (syms_of_xfns): Defsubr it.
6556
6557 * config.in (HAVE_XKBGETKEYBOARD): Add.
6558
0544ef49
KH
65592000-12-14 Kenichi Handa <handa@etl.go.jp>
6560
98d62747
KH
6561 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6562 Always store string in multibyte representation in echobuf.
6563 (echo_char): Always store string in multibyte representation in
6564 echobuf.
6565 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6566 (read_key_sequence): Adjusted for the change of echo_prompt.
6567
a20193cd
KH
6568 * fns.c (Fmd5): Docstring improved.
6569
191b83b6
KH
6570 * lisp.h (detect_coding_system): Prototype adjusted.
6571
0544ef49
KH
6572 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6573 (detect_coding_emacs_mule, detect_coding_iso2022,)
6574 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6575 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6576 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6577 (detect_coding_mask, detect_coding_system): New argument
6578 MULTIBYTEP. Callers changed.
1da1bb05
KH
6579 (decode_coding_string): Set coding->src_multibyte and
6580 coding->dst_multibyte before calling detect_coding and detect_eol.
6581 Update them after some coding system is detected.
52283633 6582
d5b3eb1b
SM
65832000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6584
6585 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6586
6587 * keyboard.c (menu_bar_items, tool_bar_items):
6588 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6589
f7f8bb69
GM
65902000-12-13 Gerd Moellmann <gerd@gnu.org>
6591
52283633 6592 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6593 New variables.
6594 (unwind_create_frame, unwind_create_tip_frame): New functions.
6595 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6596 while a frame is only partially constructed.
6597
6598 * xterm.h (x_free_frame_resources): Declare.
6599
6600 * xterm.c (x_free_frame_resources): New function.
6601 (x_destroy_window): Use it.
6602
e10da507
GM
6603 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6604 don't interrupt the update for pending input initially, i.e.
6605 update at least some lines.
6606
6607 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6608
d5b3eb1b 6609 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6610
6611 * xfns.c (gray_bitmap_bits): Declare `char *'.
6612
90aa2856
GM
66132000-12-12 Gerd Moellmann <gerd@gnu.org>
6614
6615 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6616 lines start with a relief line.
6617
a308c9cd
DL
66182000-12-12 Dave Love <fx@gnu.org>
6619
6620 * window.c (Fdisplay_buffer): Doc fix.
6621 (Fwindow_list): Remove unused var.
6622
6623 * buffer.h (mmap_set_vars): Declare.
6624
6625 * window.h (Fset_window_point): Declare.
6626
d575011f
EZ
66272000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6628
bf6282d2 6629 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6630 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6631 variable `area'. When looking for a row under (X,Y), give up if some
6632 of the previous rows is not enabled.
d575011f 6633
ecf4d726
GM
66342000-12-12 Gerd Moellmann <gerd@gnu.org>
6635
2ebf6139
GM
6636 * window.c (Fset_window_point): If displaying cursors in windows
6637 other than the selected window, make sure redisplay updates
6638 other windows to show the new value of point in the window.
6639
6640 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6641
bfdb75ee
GM
6642 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6643 the buffer is the sole visible buffer when in the mini-buffer.
6644
52283633 6645 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6646 Bind `inhibit-read-only' to t.
6647 (unwind_with_echo_area_buffer): Use AREF.
6648
c0006262
GM
6649 * xfns.c (Fx_hide_tip): Simplified.
6650
52283633
SM
6651 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6652 instead of `1'.
e9a59cad 6653
ecf4d726
GM
6654 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6655
e5959a9a
GM
66562000-12-11 Gerd Moellmann <gerd@gnu.org>
6657
a3642e49 6658 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6659
44b5a125
GM
6660 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6661 nothing to do. Bind inhibit-quit.
6662 (tip_frame): Make it a Lisp_Object.
6663 (x_create_tip_frame): Set tip_frame after it has been added to
6664 Vframe_list.
6665 (Fx_show_tip): Don't set tip_frame here.
6666
6667 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6668
6669 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6670 Lisp_Object.
6671
6672 * dispextern.h: Change external declaration of tip_frame.
6673
d990421f
GM
6674 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6675 return an empty string.
6676
4db87380
GM
6677 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6678 of the window's update_mode_line flag, since the former is set by
6679 force-mode-line-update, not the latter. This makes
6680 column-number-mode slightly faster.
52283633 6681
e5959a9a
GM
6682 * xdisp.c (try_window_id) <all changes above window start>:
6683 Set the cursor.
6684
169fe44e
GM
66852000-12-11 Paul Eggert <eggert@twinsun.com>
6686
6687 * config.in (HAVE_FTELLO): Remove.
6688 (HAVE_FSEEKO): Add.
6689 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6690 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6691 HAVE_FTELLO.
6692 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6693 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6694
59ec59ae
MB
66952000-12-11 Miles Bader <miles@gnu.org>
6696
6697 * window.c (displayed_window_lines): Don't round up when
6698 converting empty space at bottom to lines.
ff904dd6
MB
6699 Handle non-newline-terminated final lines properly.
6700 (Fwindow_text_height): New function (used to be in lisp).
6701 (syms_of_window): Initialize it.
59ec59ae 6702
42ebfa31
SM
67032000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6704
6705 * syntax.c (scan_lists): Check that the right quote char has the
6706 right Sstring syntax when jumping over strings.
6707 (init_syntax_once): Use Smax rather than 13.
6708
5cdb3cf3
MB
67092000-12-09 Miles Bader <miles@gnu.org>
6710
6711 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6712 with PARTIALLY, inverting the sense.
6713 (window_scroll_pixel_based): Scroll partially visible lines into
6714 place if we hit the beginning or end of the buffer.
a12167c5
MB
6715 (displayed_window_lines): Don't include partially visible lines.
6716 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6717
842b2a94
GM
67182000-12-08 Gerd Moellmann <gerd@gnu.org>
6719
6720 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6721
6722 * tparam.c (tparam1): Change the way buffers are reallocated to be
6723 portable and less obfuscated.
6724
6725 * termcap.c (tgetent): Change the way buffers are reallocated to
6726 be portable and less obfuscated.
6727
6728 * macros.c (store_kbd_macro_char): Change the way buffers are
6729 reallocated to be portable and less obfuscated.
6730
6731 * lread.c (read1): Change the way buffers are reallocated to be
6732 portable and less obfuscated.
6733
6734 * doc.c (Fsubstitute_command_keys): Change the way buffers
6735 are reallocated so that it is portable.
6736
137cad7c
EZ
67372000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6738
6739 * dosfns.c (Ffile_system_info): New function.
6740 (syms_of_dosfns): Defsubr it.
6741
5c7f629c
SM
67422000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6743
6744 * alloc.c (gc_sweep): Add comment.
6745
959e647d
GM
67462000-12-07 Gerd Moellmann <gerd@gnu.org>
6747
52283633
SM
6748 * sound.c (vox_configure): Change order of ioctls.
6749 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6750 Ignore errors when changing volume.
6751 (vox_close): Don't reset the device.
6752
926b7e5e
GM
6753 * process.c (read_process_output): Make sure the process marker's
6754 position is valid when the process buffer is changed in
6755 after-change functions. W3 does that.
52283633 6756
959e647d
GM
6757 * xfns.c (x_free_gcs): New function.
6758
6759 * xterm.h (x_free_gcs): Add prototype.
6760
6761 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6762 freeing GCs here.
6763
6764 * xterm.c (x_destroy_window): Call x_free_gcs so that
6765 resources of non-toolkit X windows will be freed.
6766
478ea067
AI
67672000-12-07 Andrew Innes <andrewi@gnu.org>
6768
6769 * w32fns.c (xlfd_charset_of_font): Fix last change.
6770
fbee3231
DL
67712000-12-06 Dave Love <fx@gnu.org>
6772
67292061
DL
6773 * md5.h (__P): Don't define -- it comes from config.h.
6774
fbee3231
DL
6775 * strftime.c: Change some #if foo to #ifdef foo.
6776
4ee87dbb
AI
67772000-12-06 Andrew Innes <andrewi@gnu.org>
6778
6779 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6780
52283633 6781 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6782 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6783 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6784
9765b4a4
GM
67852000-12-06 Gerd Moellmann <gerd@gnu.org>
6786
d285b373
GM
6787 * alloc.c (gc_sweep): Prevent symbols read during loadup
6788 from being freed.
6789
384333ee
GM
6790 * xdisp.c (underlying_face_id): New function.
6791 (handle_face_prop, face_before_or_after_it_pos): Use it
6792 to determine the face ``under'' a string. Let strings inherit
6793 the face of the buffer under them.
6794
6795 * xfaces.c (face_at_string_position): Update function comment.
52283633 6796
d4b72d58
GM
6797 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6798 matrix if the window's left position has changed; we need to
6799 redraw it in this case.
6800
6801 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6802
e1d05387
GM
6803 * window.c (coordinates_in_window): Check mouse on mode-line or
6804 header-line first.
6805
eb1b0c74
GM
6806 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6807 advertized by the function documentation.
6808
d94d636f
GM
6809 * window.c (syms_of_window): Doc fix.
6810
3887b449
GM
6811 * sound.c (vox_configure): Set volume for left and right channel.
6812 (sound_cleanup): Return nil.
6813
efc8f57a
GM
6814 * xdisp.c (move_it_by_lines): Fix paren typo.
6815
9765b4a4
GM
6816 * xterm.c (x_load_font): Don't use the font's max_bounds for
6817 computing the height of the font. If max_bounds' ascent or
6818 descent are greater than the font's ascent or descent, this means
6819 glyphs overlap, which should be handled now by redisplay.
6820
6529ed87
GM
6821 * window.c (Veven_window_heights): New variable.
6822 (syms_of_window): DEFVAR_LISP it.
6823 (Fdisplay_buffer): Check Veven_window_heights before evening the
6824 window heights.
52283633 6825
0eb2ecde
MB
68262000-12-06 Miles Bader <miles@gnu.org>
6827
6828 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6829 update `default-frame-alist' instead of setting no frame parameters.
6830
03d7a167
KH
68312000-12-06 Kenichi Handa <handa@etl.go.jp>
6832
6833 * composite.c (update_compositions): Fix typo (use the correct
6834 variable).
6835
5f8803c2
JR
68362000-12-05 Jason Rumney <jasonr@gnu.org>
6837
6838 * md5.h: Remove underscores from function declarations.
6839 (__attribute__, __alignof__) [!__GNUC__]: Define.
6840
6841 * md5.c: Delay include of md5.h until after namespace cleaning.
6842
c28a075b
JR
6843 * makefile.w32-in (fns.o): Depend on md5.h
6844 (md5.o): New target.
6845 (sunfns.o): Remove.
6846
6847 * makefile.nt: Likewise.
6848
ff3c7056
JR
68492000-12-05 Jason Rumney <jasonr@altavista.net>
6850
6851 * w32term.c (expose_area): Complete last change.
6852
0c21eeeb
KR
68532000-12-05 Ken Raeburn <raeburn@gnu.org>
6854
6855 * minibuf.c: Include intervals.h.
6856
f201d732
JR
68572000-12-05 Jason Rumney <jasonr@gnu.org>
6858
6859 * w32term.c (x_produce_glyphs): If a font for a component of
6860 a composition is not found, use 1 pixel dot ascent and 0 dot
6861 descent value to avoid displaying terribly tall empty boxes.
6862 (expose_area): Pass x-coordinate relative to the exposed
6863 area to x_draw_glyphs instead of a window-relative coordinate.
6864
21999ab9
GM
68652000-12-05 Gerd Moellmann <gerd@gnu.org>
6866
4d2036e4
GM
6867 * xdisp.c (next_element_from_ellipsis): Save face before selective
6868 display in saved_face_id, and set face_before_selective_p.
6869 (reseat_1): Reset face_before_selective_p.
6870 (append_space, extend_face_to_end_of_line): If iterator's
6871 face_before_selective_p is set, use the face from saved_face_id.
6872 (extend_face_to_end_of_line): For tty frames, make sure to
6873 use the right face id when producing spaces at the end of
6874 the line.
6875
6876 * dispextern.h (struct it): Add face_before_selective_p.
6877
52be17cc
GM
6878 * keyboard.c (record_char): Don't record identical help-echo
6879 events in recent_keys.
6880
8a4f36cc
GM
6881 * xterm.c [USE_X_TOOLKIT]: Close the display.
6882 (xim_close_dpy): Handle case that the display has been closed.
6883
57d6e381
GM
6884 * xterm.c (x_destroy_window): Reset the frame's X window after
6885 destroying it.
6886
21999ab9
GM
6887 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6888 variable window_width.
6889 (line_draw_cost): Fix code skipping over spaces at the end of the
6890 line when must_write_spaces is not set.
6891 (scrolling_window): Fix code inserting runs in list of all runs.
6892
91372bb7
KH
68932000-12-05 Kenichi Handa <handa@etl.go.jp>
6894
6895 * coding.c (setup_coding_system): Be sure to initialize
6896 coding->category_idx.
6897
6c083b4c
GM
68982000-12-04 Gerd Moellmann <gerd@gnu.org>
6899
0c68ce6f 6900 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6901
6452929e
GM
6902 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6903 area to x_draw_glyphs instead of a window-relative coordinate.
6904
d7f31e22
GM
6905 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6906 error in the message.
6907
ae18aa3b
GM
6908 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6909 timer after having read a key. It's not good for code reading
6910 several keys in a loop, like an input method.
6911
caa15ef7
GM
6912 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6913 record undo information for format-decode.
6914
6915 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6916 current buffer is read-only, not if it isn't.
6917
6c083b4c
GM
6918 * keyboard.c (record_char): Record `help-echo' input events
6919 in recent_keys only if they display some help. Don't record
6920 `help-echo' events as macro char.
6921
caa15ef7
GM
69222000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6923
6924 * editfns.c (save_excursion_restore): Don't move point
6925 in another window if it is showing the wrong buffer.
6926 Avoid the call to Fwindow_live_p, for speed.
6927
5a13529b
KH
69282000-12-04 Kenichi Handa <handa@etl.go.jp>
6929
e225faa7
KH
6930 * xfaces.c (struct font_name): New member registry_priority.
6931 (split_font_name): Initialize the above member to zero.
6932 (concat_font_list): New function.
6933 (font_list): Include fonts of all alternative registries.
6934 (FONT_POINT_SIZE_QUANTUM): New macro.
6935 (better_font_p): Ignore point size difference less than
6936 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6937
e89648b4
KH
6938 * xterm.c (x_produce_glyphs): If a font for a component of
6939 a composition is not found, use 1 pixel dot ascent and 0 dot
6940 descent value to avoid displaying terribly tall empty boxes.
6941
5a13529b
KH
6942 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6943
d7935eb6
KR
69442000-12-03 Ken Raeburn <raeburn@gnu.org>
6945
6946 * coding.h (code_convert_string1): Declare.
6947
6948 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6949
52283633 6950 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6951
0dd5e255
JR
69522000-12-02 Jason Rumney <jasonr@gnu.org>
6953
6954 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6955 correctly for single byte character case.
6956 (w32_per_char_metric): Do not try to make any assumptions about
6957 the metrics of BDF fonts.
250cfece 6958 (x_estimate_mode_line_height): If `mode-line' face
52283633 6959 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6960 (note_mouse_highlight): Change the cursor shape on the vertical
6961 border between windows [not enabled].
6962
6963 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6964
6965 * w32fns.c (Fx_create_frame): Reintroduce the call to
6966 face-set-after-frame-defaults.
6967 (Vx_window_horizontal_drag_shape): New variable.
6968 (syms_of_xfns): DEFVAR_LISP it.
6969 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6970 enabled].
0dd5e255 6971
b5d8d2ca
GM
69722000-12-02 Simon Josefsson <simon@josefsson.org>
6973
6974 * fns.c (Fmd5): Use a different logic to decide the coding system
6975 to use.
6976
6977 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6978
fbb87147
EZ
69792000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6980
52283633 6981 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6982
447e9da0
GM
69832000-12-01 Gerd Moellmann <gerd@gnu.org>
6984
7708ced0
GM
6985 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6986 height for YNegative.
6987 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6988 height; also see comment there.
6989
447e9da0
GM
6990 * window.c (coordinates_in_window): Handle computations for
6991 positions on the vertical bar and fringes differently for
6992 window-system frames. Consider some pixels near the vertical bar
6993 as on the bar if the frame doesn't have vertical scroll bars.
6994 Associate positions between mode or header lines with the
6995 right window, the left one.
6996
86d1db20
JR
69972000-12-01 Jason Rumney <jasonr@gnu.org>
6998
6999 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7000
7001 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7002 invalid frame.
7003
a1d58e5b
GM
70042000-12-01 Gerd Moellmann <gerd@gnu.org>
7005
52283633 7006 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7007 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7008 (save_window_save, Fset_window_configuration): Save/restore
7009 window's orig_top and orig_height.
7010
89c609af
JR
70112000-12-01 Jason Rumney <jasonr@gnu.org>
7012
4d177746 7013 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7014
89c609af
JR
7015 * w32fns.c (x_set_cursor_color): Fix last change.
7016
eccc05db
GM
70172000-11-30 Gerd Moellmann <gerd@gnu.org>
7018
31b6671b
GM
7019 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7020 sure that the next redisplay displays the minibuffer, so that
7021 the cursor will be replaced with what the minibuffer wants.
7022
eccc05db
GM
7023 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7024 #ifndef instead of using #if.
7025 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7026 USE_TOOLKIT_SCROLL_BARS is defined.
7027
162de750
JR
70282000-11-30 Jason Rumney <jasonr@gnu.org>
7029
7030 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7031 x_display_cursor.
7032
693c4692
GM
70332000-11-30 Gerd Moellmann <gerd@gnu.org>
7034
7035 * fns.c (Fmd5): Doc fix.
7036
b5d8d2ca 70372000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7038
7039 * fns.c (Fmd5): New function.
7040 (syms_of_fns): Defsubr md5.
7041
7042 * Makefile.in (obj): Add md5.o
7043
b02cd40b
GM
70442000-11-30 Gerd Moellmann <gerd@gnu.org>
7045
edfb795e
GM
7046 * md5.h, md5.c: New files, taken from glibc.
7047
df3aedcf
GM
7048 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7049
b02cd40b 7050 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7051 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7052
8b5176cd
SM
70532000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7054
7055 * eval.c (Frun_hooks): Allow 0 arguments.
7056
346598f1
GM
70572000-11-29 Gerd Moellmann <gerd@gnu.org>
7058
f9396e03
GM
7059 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7060 is over the menu bar widget, say it's not on the frame.
7061
4a967a9b
GM
7062 * xfns.c (Fx_create_frame): Reintroduce the call to
7063 face-set-after-frame-defaults.
7064
346598f1
GM
7065 * eval.c (Fsignal): Reset handling_signal.
7066
222456a1
JR
70672000-11-28 Jason Rumney <jasonr@gnu.org>
7068
7069 * w32menu.c (add_menu_item): Reset menu item text when changing
7070 type to radio button.
7071
8049ddc0
GM
70722000-11-28 Gerd Moellmann <gerd@gnu.org>
7073
346598f1 7074 * xselect.c: Update copyright.
f4f4ee4d 7075
bebe4a2c
GM
7076 * window.c (coordinates_in_window): If on a mode or header line,
7077 but sufficiently close to its start, return ``on vertical
7078 border''. This gives us a way to drag windows horizontally when
7079 using toolkit scroll bars.
7080
7081 * xterm.c (note_mouse_highlight): Change the cursor shape
7082 on the vertical border between windows.
7083
7084 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7085
7086 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7087 (syms_of_xfns): DEFVAR_LISP it.
7088 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7089
8d2c2642
GM
7090 * textprop.c (text_read_only): New function.
7091 (verify_interval_modification): Use it instead of signaling
7092 `text-read-only'. This makes it easier to catch this error
52283633 7093 with a breakpoint.:
8d2c2642 7094
52283633 7095 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7096 not end of line, which includes CR.
7097
5a2bae6c
KH
70982000-11-28 Kenichi Handa <handa@etl.go.jp>
7099
7100 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7101 include no-conversion.
7102
ae31f84d
JR
71032000-11-27 Jason Rumney <jasonr@gnu.org>
7104
7105 * w32fns.c (w32_load_system_font): Always mark font as double byte
7106 if codepage is unicode.
7107
67f1cf4c
GM
71082000-11-27 Gerd Moellmann <gerd@gnu.org>
7109
4a74d071 7110 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7111 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7112
902ae620
GM
7113 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7114 `vertical-line', `mode-line' and `header-line' events.
7115
7116 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7117 of a character, a TAB for instance. This is easier than to set
7118 up the iterator exactly, and it's not a frequent case, so the
7119 additional effort wouldn't really pay off.
7120
c1e279c2
AC
71212000-11-26 Andrew Choi <akochoi@i-cable.com>
7122
67f1cf4c 7123 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7124 init_window_once.
7125
a609568a
JR
71262000-11-25 Jason Rumney <jasonr@gnu.org>
7127
52283633
SM
7128 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7129 Args to window_from_coordinates should be pixel coordinates.
48b21762 7130
a609568a
JR
7131 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7132 redisplay handles them properly.
7133
a658d039
MB
71342000-11-25 Miles Bader <miles@gnu.org>
7135
7136 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7137
d3416cca
JR
71382000-11-24 Jason Rumney <jasonr@gnu.org>
7139
7140 * w32.c (init_environment): Set LANG environment variable based on
7141 locale settings, if not set.
7142
7143 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7144 making tool bar smaller. When clearing the frame, also
7145 clear current matrices. Clear frame when tool bar disappears.
7146 Don't use more lines for the tool-bar than is available.
7147 (x_change_window_heights): New function.
7148
ba193890
GM
71492000-11-24 Gerd Moellmann <gerd@gnu.org>
7150
2be8f184
GM
7151 * xdisp.c (init_from_display_pos): If POS says we're already after
7152 an overlay string ending at POS, make sure to pop the iterator
7153 because it will be in front of that overlay string. When POS is
7154 ZV, we've thereby also ``processed'' overlay strings at ZV.
7155
ba193890
GM
7156 * xfaces.c (lface_from_face_name): Function comment fix.
7157
1862a24e
MB
71582000-11-24 Miles Bader <miles@gnu.org>
7159
7160 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7161 apply `mode-line-inverse-video' -- zero means force display using
7162 the default face, non-zero means display using the specialized face.
7163 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7164
f07fa1b8
KH
71652000-11-23 Kenichi Handa <handa@etl.go.jp>
7166
7167 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7168 hard coded `4'.
7169
2bcdf662
EZ
71702000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7171
7172 * coding.c (decode_coding_emacs_mule): Fix the case of
7173 CODING_EOL_LF, which used uninitialized value of c.
7174
ba8299ff
SM
71752000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7176
7177 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7178
f4117c4d
GM
71792000-11-22 Gerd Moellmann <gerd@gnu.org>
7180
03e757c1
GM
7181 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7182 buffer object.
7183
f4117c4d
GM
7184 * frame.h (struct frame): Replace desired_tool_bar_items,
7185 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7186 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7187
7188 * frame.c (make_frame): Change initialization of tool bar
7189 items accordingly.
7190
7191 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7192 Change references to members deleted from struct frame to use the
f4117c4d
GM
7193 new ones.
7194
7195 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7196 references to members deleted from struct frame to use the new ones.
f4117c4d 7197
52283633 7198 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7199
7200 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7201
7202 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7203 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7204 from struct frame to use the new ones.
7205
f8e2f3f2
MB
72062000-11-23 Miles Bader <miles@gnu.org>
7207
7208 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7209 the face's inverse-video attribute, rather than overriding it.
7210
60e8e0a5
GM
72112000-11-22 Gerd Moellmann <gerd@gnu.org>
7212
7213 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7214 making tool bar smaller.
7215
92dd1b29
DL
72162000-11-22 Dave Love <fx@gnu.org>
7217
7218 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7219
e672fdce
MB
72202000-11-22 Miles Bader <miles@gnu.org>
7221
3a17d6cc
MB
7222 * keyboard.c (Vminibuffer_message_timeout): New variable.
7223 (command_loop_1): Use it to determine message timeout.
7224 (syms_of_keyboard): Initialize it.
7225
60e8e0a5 7226 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7227
e9655d81
KH
72282000-11-22 Kenichi Handa <handa@etl.go.jp>
7229
7230 * sysdep.c: Move the code for declaring h_errno after #include
7231 <netdb.h>.
7232
77270fac
GM
72332000-11-21 Gerd Moellmann <gerd@gnu.org>
7234
cd913aae
GM
7235 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7236 the menu bar when the tooltip is unmapped.
7237
77270fac
GM
7238 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7239 sole visible buffer when we're currently in the mini-buffer, and
7240 give up if so.
52283633 7241
556635d6
JR
72422000-11-21 Jason Rumney <jasonr@gnu.org>
7243
7244 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7245 put on the clipboard.
7246 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7247 copy of what Emacs last put there. If they are the same, do not
52283633 7248 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7249
5b7bde64
MB
72502000-11-22 Miles Bader <miles@gnu.org>
7251
7252 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7253 (syms_of_minibuf): Initialize it.
7254 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7255 to prompt, don't make read-only.
7256
ff23e1dd
GM
72572000-11-21 Gerd Moellmann <gerd@gnu.org>
7258
52283633
SM
7259 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7260 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7261
7aaf4388
GM
7262 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7263
f5f47add 7264 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7265
ff23e1dd
GM
7266 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7267
37c35586
KH
72682000-11-21 Kenichi Handa <handa@etl.go.jp>
7269
7270 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7271 ... #endif scope.
7272
ff9ab414
GM
72732000-11-20 Gerd Moellmann <gerd@gnu.org>
7274
52283633 7275 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7276 screen supports it.
7277
29a01b72
GM
7278 * s/gnu-linux.h: Don't use `#cpu'.
7279
09dfdf85
GM
7280 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7281 not defined in mman.h.
7282
52283633 7283 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7284 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7285 and store an index in the XClientMessageEvent. Storing a
7286 Lisp_Object or pointer can fail on a 64 bit system, since X only
7287 transfers 32 bits.
52283633
SM
7288 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7289
81459ac9
DL
72902000-11-20 Dave Love <fx@gnu.org>
7291
7292 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7293
56c13ae6
GM
72942000-11-20 Gerd Moellmann <gerd@gnu.org>
7295
7296 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7297
495a6df3
KH
72982000-11-20 Kenichi Handa <handa@etl.go.jp>
7299
2bcf3714
KH
7300 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7301 by WIDTH.
7302
495a6df3
KH
7303 * alloc.c (make_string): Fix previous change. Be sure to make
7304 unibyte string correctly.
7305
6d950f4c
GM
73062000-11-19 Gerd Moellmann <gerd@gnu.org>
7307
39b39373
GM
7308 * window.c (Fwindow_list): Change parameter list to be XEmacs
7309 compatible.
7310 (window_list_1): New function.
7311 (window_loop): Use it instead of Fwindow_list.
7312
b95b34e5
GM
7313 * sysdep.c (emacs_ospeed): New variable.
7314 (toplevel): Don't declare ospeed extern.
7315 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7316
7317 * termcap.c (ospeed): Remove.
7318 (tputs) [!emacs]: Remove unused code.
7319 (tgetent): Avoid a compiler warning.
7320
e83dc917
GM
7321 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7322 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7323 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7324
7325 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7326 removed.
7327 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7328 Take the X display as additional argument.
7329 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7330 `Widget' is a pointer type that's not easily stored in Lisp_Object
7331 form in a portable way.
52283633 7332
6d950f4c
GM
7333 * dispnew.c (update_text_area): Fix last change.
7334
e47306e6
GM
73352000-11-18 Gerd Moellmann <gerd@gnu.org>
7336
fb3cd89b
GM
7337 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7338
7339 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7340 clear current matrices.
7341
edaa9aed
GM
7342 * buffer.c (mmap_enlarge): Don't print a message on stderr
7343 if mapping new memory at the end of the existing region fails.
7344
e47306e6
GM
7345 * dispnew.c (update_text_area): Don't skip over equal glyphs
7346 when the last current glyph overlaps the glyph to its right.
7347
509633e3
MB
73482000-11-18 Miles Bader <miles@gnu.org>
7349
7350 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7351 lines that *end* with "..." too (that's the most common case!).
7352
d392e9c5
GM
73532000-11-18 Gerd Moellmann <gerd@gnu.org>
7354
67988445
GM
7355 * xdisp.c (resize_mini_window): Temporarily change to the
7356 mini-window's buffer if necessary.
1bfdbe43 7357
d392e9c5
GM
7358 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7359 the tooltip obscures less text under it.
7360
73612000-11-17 Gerd Moellmann <gerd@gnu.org>
7362
7363 * puresize.h (BASE_PURESIZE): Increase to 700000.
7364
92bb977f
JR
73652000-11-18 Jason Rumney <jasonr@gnu.org>
7366
7367 * w32term.c (w32_draw_bitmap): Use face to set colors.
7368
26fbf20b
DL
73692000-11-17 Dave Love <fx@gnu.org>
7370
7371 * lread.c (Fload): Fix #ifdef for pcc.
7372
100b593b
GM
73732000-11-17 Gerd Moellmann <gerd@gnu.org>
7374
7375 * xdisp.c (pos_visible_p): Compute the default character height
7376 differently.
7377
a288d0d1
GM
73782000-11-16 Gerd Moellmann <gerd@gnu.org>
7379
cac94de6 7380 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7381 knowing the line's height; use the default font's height in that case.
cac94de6 7382
a288d0d1
GM
7383 * xfaces.c (weight_table): Add `demi' with the same meaning as
7384 `demibold'.
7385
981fb6f6
KH
73862000-11-16 Kenichi Handa <handa@etl.go.jp>
7387
2cca872d 7388 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7389 (clear_glyph_row): Delete local static variable null_row.
7390
e5fa381b
JR
73912000-11-15 Jason Rumney <jasonr@gnu.org>
7392
7393 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7394 (w32_alloc_lighter_color): Use new brightness calculations from
7395 xterm.c. Scale delta to be in the range expected by W32.
7396 (w32_draw_relief_rect): Use frame relief colors.
7397
8e42f043
GM
73982000-11-15 Gerd Moellmann <gerd@gnu.org>
7399
6d133d1f
GM
7400 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7401 (Qinhibit_default_face_x_resources): New variable.
7402 (syms_of_frame): Initialize it.
7403 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7404
7405 * xdisp.c (pos_visible_p): Improve function comment.
7406
7407 * lisp.h (BINDING_STACK_SIZE): New macro.
7408
8e42f043
GM
7409 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7410 reading the directory if readdir returns null and errno is EAGAIN
7411 or EINTR.
7412
e8c87124
SM
74132000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7414
7415 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7416 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7417 Set amount_to_scroll to max of dx and scroll_step so that
7418 scroll-conservatively doesn't defeat scroll-step>1.
7419 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7420 scroll-conservatively for line-at-a-time scrolling.
7421
5f0c971d
GM
74222000-11-14 Gerd Moellmann <gerd@gnu.org>
7423
7424 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7425 extra argument.
7426
7427 * xdisp.c (current_mode_line_height, current_header_line_height):
7428 New variables.
7429 (init_xdisp): Initialize them.
7430 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7431 and use exact mode line heights if it is set.
7432
7433 * lisp.h (pos_visible_p): Change prototype.
7434
7435 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7436 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7437 and current_header_line_height first.
52283633
SM
7438 (current_mode_line_height, current_header_line_height):
7439 Declare extern.
5f0c971d 7440
d7361edf
MB
74412000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7442
7443 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7444 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7445 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7446
ee5e440a
MB
74472000-11-14 Miles Bader <miles@gnu.org>
7448
7449 * xterm.c (x_alloc_lighter_color): Include an additive component
7450 too for dark colors, because FACTOR isn't enough.
7451 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7452 New macros.
7453
5ca020fc
GM
74542000-11-13 Gerd Moellmann <gerd@gnu.org>
7455
7456 * keyboard.c (show_help_echo): Call message3_nolog with number of
7457 bytes in the help string as 2nd parameter, instead of the number
7458 of characters.
7459
9d348294
MB
74602000-11-13 Miles Bader <miles@gnu.org>
7461
7462 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7463 (Fload): Use new openp return protocol.
7464 Don't try to use Vload_source_file_function to load .elc files.
7465 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7466 openp return protocol.
7467 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7468
1729bb9a
KH
74692000-11-11 Kenichi Handa <handa@etl.go.jp>
7470
4e677396
KH
7471 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7472
7473 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7474 Defined these macros.
7475 (NLIST_STRUCT): Avoid re-defining it.
7476
1729bb9a
KH
7477 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7478 -I/usr/contrib/X11R6/include.
7479 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7480
a82fe213
JR
74812000-11-10 Jason Rumney <jasonr@gnu.org>
7482
7483 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7484
7485 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7486 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7487
7488 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7489 (Qw32_charset_vietnamese): New symbol.
7490 (xlfd_charset_of_font): New function.
7491 (w32_load_system_font): Use it.
7492 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7493 when Vw32_charset_info_alist is nil to ensure default face always
7494 has font. Use Fcar and Fcdr for safety.
7495 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7496 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7497 pseudo-codepages for special cases.
7498 (w32_to_x_font): New parameter to allow charset portion to be
7499 specified where there is many to one mapping. Callers changed.
7500 (w32_list_fonts): Avoid listing fonts that won't display.
7501
52d89894
GM
75022000-11-10 Gerd Moellmann <gerd@gnu.org>
7503
7504 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7505 (font_list_1): Renamed from font_list.
7506 (font_list): New function, trying alternative registries from
7507 Vface_alternative_font_registry_alist.
7508 (Finternal_set_alternative_font_registry_alist): New function.
7509 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7510 Vface_alternative_font_registry_alist.
7511 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7512
651cd3da
KR
75132000-11-09 Ken Raeburn <raeburn@gnu.org>
7514
7515 * lisp.h (Flooking_at): Declare.
7516
388ac098
GM
75172000-11-09 Gerd Moellmann <gerd@gnu.org>
7518
778fbc46 7519 * dired.c (directory_files_internal): Fix a braino.
52283633 7520
388ac098
GM
7521 * dired.c (directory_files_internal): Add missing GCPRO's.
7522 Some cleanup.
7523
ecaedde1
GM
75242000-11-08 Gerd Moellmann <gerd@gnu.org>
7525
f7eb32aa
GM
7526 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7527 (resize_mini_window): Return quickly if Vresize_mini_window is
7528 nil. Don't return if Vmax_mini_window_height is nil.
7529
7530 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7531 (syms_of_xdisp): Initialize them.
7532 (resize_mini_window): Act according to the setting of
7533 Vresize_mini_window.
7534 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7535
ecaedde1
GM
7536 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7537 scroll bar widget after configuring it, so that it will appear at
7538 the right position from the start.
7539 (XTredeem_scroll_bar): Cleaned up.
7540
3747ef2c
KH
75412000-11-08 Kenichi Handa <handa@etl.go.jp>
7542
7543 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7544 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7545 division by two.
7546
7547 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7548
03391420
DL
75492000-11-07 Dave Love <fx@gnu.org>
7550
7758f1c1 7551 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7552
7553 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7554
b5de343d
GM
75552000-11-07 Gerd Moellmann <gerd@gnu.org>
7556
acad3c0b
GM
7557 * window.c (Fset_window_configuration): Don't try to preserve
7558 point in the current buffer, if that buffer is displayed in more
7559 than one window.
7560
b5de343d
GM
7561 * xfaces.c (lookup_named_face): If default face isn't realized,
7562 try to realize it. Return -1 if not successful.
7563 (Fx_list_fonts): Handle case that face cannot be determined.
7564 (Fface_font): Likewise.
7565
cdb1fe49
GM
75662000-11-06 Gerd Moellmann <gerd@gnu.org>
7567
7568 * window.c (displayed_window_lines): Detect partially
7569 visible lines at the bottom correctly.
7570
d3a67486
SM
75712000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7572
7573 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7574 when ensuring we don't do visit in indirect buffer.
7575
ff8dd5d5
KH
75762000-11-06 Kenichi Handa <handa@etl.go.jp>
7577
7578 * composite.h (compose_chars_in_text): Add prototype.
7579
7580 * composite.c (Vcomposition_function_table): New variable.
7581 (Qcomposition_function_table): New variable.
7582 (run_composition_function): Call
7583 Vcompose_chars_after_function with three arguments.
7584 (compose_chars_in_text): New function.
7585 (syms_of_composite): Modified the doc-string of
7586 Vcompose_chars_after_function. Declare composition-function-table
7587 as a lisp variable, and initialize it.
7588
7589 * xfns.c (x_encode_text): Suppress producing escape sequences for
7590 composition.
7591
7592 * xselect.c: Include composite.h.
7593 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7594
d1145f85
AI
75952000-11-05 Andrew Innes <andrewi@gnu.org>
7596
7597 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7598
7599 * sysdep.c (read_input_waiting): Remove extraneous argument to
7600 read_socket_hook.
7601
7602 * w32fns.c (Fx_server_version): Include w32_build_number in the
7603 return list.
7604
7605 * w32heap.c (w32_build_number): New variable.
7606 (cache_system_info): Set it.
7607
7608 * w32heap.h (w32_build_number): Add extern.
7609
7610 * emacs.c (syms_of_emacs): Update docstring for
7611 system-configuration, to reflect the actual usage on MS-Windows.
7612
e85ee976
GM
76132000-10-31 Gerd Moellmann <gerd@gnu.org>
7614
26dcb81b
GM
7615 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7616 process idle timers while waiting for another event.
7617
52283633 7618 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7619 the default face are colored.
7620
e85ee976
GM
7621 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7622 window height hasn't changed.
7623
01b220b6
JR
76242000-10-31 Jason Rumney <jasonr@gnu.org>
7625
7626 * w32term.c (x_produce_glyphs): Handle composite characters.
7627 (x_draw_glyph_string_foreground)
7628 (x_draw_composite_glyph_string_foreground): Restore old font.
7629
4e6b7204
MB
76302000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7631
7632 * minibuf.c (read_minibuf): Reset the undo history just before
7633 starting the recursive-edit.
7634
d4358b37
GM
76352000-10-30 Gerd Moellmann <gerd@gnu.org>
7636
563f68f1
GM
7637 * xfaces.c (menu_face_change_count): New variable.
7638 (Finternal_set_lisp_face_attribute): Increment it for changes
7639 of the `menu' face.
7640 (realize_basic_faces): Reflect changes in the `menu' faces
7641 in menu bars.
7642
82e274d1
GM
7643 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7644 dy obtained from the iterator's y-position after moving from
7645 scroll_margin_pos to PT; see comment there.
52283633 7646
0dbf9fd2
GM
7647 * xdisp.c (safe_eval_handler): Call add_to_log.
7648
906b3b14
GM
7649 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7650 is not a symbol or string.
7651
d4358b37
GM
7652 * xdisp.c (echo_area_display): Don't perform a display update from
7653 inside redisplay. The update will happen anyway at the end of
7654 redisplay, and it can confuse redisplay (GC messages while
7655 redisplaying, for instance.)
7656
70c825df
SM
76572000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7658
cf9b4b0b
SM
7659 * xrdb.c (x_load_resources): Use the class name in the defaults.
7660
70c825df
SM
7661 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7662 (regex_compile): Catch bogus \(\1\).
7663
a1d34b1e
GM
76642000-10-30 Gerd Moellmann <gerd@gnu.org>
7665
cae71efe
GM
7666 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7667 RGB values.
52283633 7668
35efe0a1
GM
7669 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7670 we have a color cache, check that the cached color equals the
7671 allocated color. If not, clear the color cache.
7672
1d3baf74
GM
7673 * window.c (displayed_window_lines): Change buffers if necessary.
7674 Fix computation of displayed lines.
7675
a1d34b1e
GM
7676 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7677 update_menu_bindings to DEFVAR_BOOL.
7678
70737ea9
KH
76792000-10-30 Kenichi Handa <handa@etl.go.jp>
7680
70c825df 7681 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7682
fa0cb51d
KH
7683 * puresize.h (BASE_PURESIZE): Increase to 680000.
7684
70737ea9
KH
7685 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7686
0e4c08e8
JR
76872000-10-29 Jason Rumney <jasonr@gnu.org>
7688
7689 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7690
7691 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7692 (w32_cache_char_metrics): Handle possibility that 'x' does not
7693 exist in a BDF font.
7694 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7695
7696 * w32bdf.h (bdffont): Add nchars.
7697
7698 * w32bdf.c (set_bdf_font_info): Set it.
7699 (w32_BDF_TextOut): Swap byte order of double byte characters.
7700 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7701
45b84006
EZ
77022000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7703
7704 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7705 don't override the colors in frame's param_alist, unless they are
7706 unspecified.
7707
7708 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7709 reverse the effect of the highlight flag.
7710
caf9deee
KR
77112000-10-27 Ken Raeburn <raeburn@gnu.org>
7712
7713 * window.h (Fwindow_live_p): Declare.
7714
ae0b9b46
KR
7715 * undo.c (record_delete): Check that last_undo_buffer is really a
7716 buffer before applying XBUFFER to it.
7717
7718 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7719 Faref.
7720
02067692
SM
77212000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7722
7723 * lisp.h (KEYMAPP): New macro.
7724 (get_keymap): Remove.
7725 (get_keymap_1): Rename get_keymap.
7726
7727 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7728
7729 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7730
7731 * xmenu.c (single_submenu): Use KEYMAPP.
7732 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7733 Use KEYMAPP rather than Fkeymapp.
7734
7735 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7736
7737 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7738 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7739 Use KEYMAPP rather than Fkeymapp.
7740 (single_submenu): Use KEYMAPP.
7741 (w32_menu_show, w32_dialog_show): Use TRUE.
7742
7743 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7744
7745 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7746 (Fkeymapp): Use KEYMAPP.
7747 (get_keymap): Rename from get_keymap_1. Remove old def.
7748 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7749 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7750 (Fminor_mode_key_binding): Don't raise an error if the binding
7751 is not a keymap.
7752 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7753 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7754
7755 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7756 Allow Vspecial_event_map to be autoloaded.
7757 (menu_bar_items): Fetch the keymap rather than using keymapp.
7758 (menu_bar_one_keymap): No need to follow func-indirect any more.
7759 (parse_menu_item): get_keymap_1 -> get_keymap.
7760 (tool_bar_items): Fetch the keymap rather than using keymapp.
7761 (read_key_sequence): Use KEYMAPP.
7762
7763 * intervals.c (get_local_map): Use get_keymap rather than following
7764 function-indirections explicitly.
7765
7766 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7767
f9d80af3
JR
77682000-10-27 Jason Rumney <jasonr@gnu.org>
7769
7770 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7771 point, as Windows has oversized fonts.
7772
7773 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7774
a3ba27da
GM
77752000-10-27 Gerd Moellmann <gerd@gnu.org>
7776
7777 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7778 (freehook, reallochook): Handle null pointer arguments.
7779 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7780
aa3b80cc
SM
77812000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7782
7783 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7784 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7785 Giving in to popular pressure to shut up the compiler with casts.
7786
e24e84cc
GM
77872000-10-27 Gerd Moellmann <gerd@gnu.org>
7788
7789 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7790 signed value, and use a default value computed from the font's
7791 maximum descent.
7792
05ea7ef2
MB
77932000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7794
7795 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7796 that specify a negative underline position can still use underlines.
7797
7798 * window.c (Fpos_visible_in_window_p): Make POS default to
7799 WINDOW's point, not the current buffer's point.
7800
0b95284b
DL
78012000-10-26 Dave Love <fx@gnu.org>
7802
7803 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7804 when it's necessary.
7805
6c5b90af
GM
78062000-10-26 Gerd Moellmann <gerd@gnu.org>
7807
8b6d9dc9
GM
7808 * window.c (size_window): Compute size difference from sum of old
7809 child window sizes instead of from parent's size.
7810
6bc92b2e
GM
7811 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7812 Handle obscured lines at the top of the window.
7813
7814 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7815 down after the last error condition check.
7816
6c5b90af
GM
7817 * frame.c (Fdelete_frame): Run delete-frame-hook.
7818
42f92d4d
KH
78192000-10-26 Kenichi Handa <handa@etl.go.jp>
7820
7821 * coding.c (decode_coding): Fix previous change (check also
7822 CODING_MODE_LAST_BLOCK).
7823
d97151cb
SM
78242000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7825
e7efc503
SM
7826 * regex.c: More `unsigned char' -> `re_char' changes.
7827 Also change several `int' into `re_wchar_t'.
7828 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7829 (PUSH_FAILURE_POINTER): Don't cast any more.
7830 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7831 We want GCC to complain, since this piece of code makes
7832 re_match non-reentrant, which *should* be fixed.
7833 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7834 (EXTEND_BUFFER): Use RETALLOC.
7835 (SET_LIST_BIT): Don't cast.
7836 (re_wchar_t): New type.
7837 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7838 that those two functions will always properly return.
7839 (IMMEDIATE_QUIT_CHECK): Cast to void.
7840 (analyse_first): Use recursion rather than an explicit stack.
7841 (re_compile_fastmap): Can't fail anymore.
7842 (re_search_2): Don't check re_compile_fastmap for failure.
7843 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7844 Now also sets the new value (passed in a new argument).
7845 (re_match_2_internal): Use it.
7846 Also, use a new var `reg' of type size_t when looping through regs
7847 rather than reuse the inappropriate `mcnt'.
7848
d97151cb
SM
7849 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7850 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7851 (where_is_internal): Renamed from Fwhere_is_internal.
7852 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7853 (Fwhere_is_internal): New function wrapping where_is_internal.
7854 (where_is_internal_1): Handle the case where we're filling the cache.
7855 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7856
d5789b65
MB
78572000-10-25 Miles Bader <miles@gnu.org>
7858
7859 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7860
4ecda532
GM
78612000-10-25 Gerd Moellmann <gerd@gnu.org>
7862
7863 * window.c (pos_fully_visible_p): Removed.
7864 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7865 if position is visible and/or fully visible.
7866
7867 * lisp.h (pos_visible_p): Add prototype.
7868
7869 * xdisp.c (pos_visible_p): New function.
7870
68c3a137
KH
78712000-10-25 Kenichi Handa <handa@etl.go.jp>
7872
7873 * process.c (send_process): If OBJECT is t, it means that the data
7874 is from C string, but we should encode it. Before calling
7875 setup_raw_text_coding_system, be sure to flush out data by the
7876 previous coding system.
7877
7ae1c032
MB
78782000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7879
ff4dcd4b
MB
7880 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7881 assignment of startpos to prev when startpos == pos.
7882
7ae1c032
MB
7883 * editfns.c (find_field): Set the field stickiness correctly from
7884 overlay fields. Use renamed `text_property_stickiness'.
7885 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7886 Only check text properties, not overlays.
7ae1c032
MB
7887 * textprop.c (get_char_property_and_overlay): New function.
7888 (Fget_char_property): Use it.
7889 * intervals.h (get_char_property_and_overlay): Add declaration.
7890
49801145
SM
78912000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7892
7893 * keymap.c: Use AREF, ASET and ASIZE macros.
7894 (Fmake_sparse_keymap): Docstring fix.
7895 (synkey): Remove.
7896 (shadow_lookup): Move up.
7897 Handle the case where lookup-key returns an integer.
7898 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7899 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7900 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7901 Simplify/rewrite the keymap-finding code.
7902 Add check for command shadowing, using shadow_lookup.
7903
39e776cd
SM
79042000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7905
7906 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7907 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7908 a symbol.
7909
2488aba5
AI
79102000-10-24 Andrew Innes <andrewi@gnu.org>
7911
7912 * dired.c (directory_files_internal_unwind): New function.
7913 (directory_files_internal): Use it to ensure closedir is called
7914 even if expand-file-name or file-attributes throw, eg. because of
7915 a user interrupt. Also enable immediate_quit while calling
7916 re_search, so that matching can be interrupted as well.
7917
b94fdf61
AI
79182000-10-24 Andrew Innes <andrewi@gnu.org>
7919
7920 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7921 NT-Emacs only.
7922 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7923 so that re_search functions only quit when callers expect them to.
7924
79252000-10-24 Kenichi Handa <handa@etl.go.jp>
7926
7927 * regex.c (regex_compile): Change the way of handling a range from
7928 a char less than 256 to a char not less than 256.
7929
1946f901
GM
79302000-10-24 Gerd Moellmann <gerd@gnu.org>
7931
7ae2f10f
GM
7932 * window.c (size_window): Prevent setting window's width or
7933 height to a negative value (esp. with XSETFASTINT).
7934
5dcab13e
GM
7935 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7936 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7937 (protect_malloc_state) [GC_MALLOC_CHECK &&
7938 GC_PROTECT_MALLOC_STATE]: New function.
7939 (PROTECT_MALLOC_STATE): New macro.
7940 (__malloc_initialize, morecore, _malloc_internal)
7941 (_free_internal) _realloc_internal): Use it to make _heapinfo
7942 read-only outside of gmalloc.
7943
63e1b552
GM
7944 * keymap.c: Update copyright.
7945
1946f901
GM
7946 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7947 a symbol.
7948
4fa09beb
GM
79492000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7950
7951 * filelock.c (unlock_all_files): Use unlock_file to expand each
7952 buffer's file_truename before trying remove its lock file.
7953
23afac01
EZ
79542000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7955
7956 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7957 or CRLF, decode EOLs.
7958
04448b95
KH
79592000-10-24 Kenichi Handa <handa@etl.go.jp>
7960
7961 * window.c (Fdisplay_buffer): Fix doc.
7962
3090a5a5
JR
79632000-10-23 Jason Rumney <jasonr@gnu.org>
7964
7965 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7966 ASCII font of default fontset on Windows.
7967
7968 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7969 xterm.c comment below).
7970
7971 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7972
a83fee2c
GM
79732000-10-23 Gerd Moellmann <gerd@gnu.org>
7974
7975 * xterm.c (x_connection_closed): Reset handling_signal.
7976
52283633 7977 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7978
6ffdb539
MB
79792000-10-23 Miles Bader <miles@gnu.org>
7980
7981 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7982 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7983 maintain old behavior.
7984 * minibuf.c (Fminibuffer_complete): Likewise.
7985
7f1c969b
MB
79862000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7987
7988 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7989 that when a font can't be exactly centered, it errs up rather than
7990 down.
7991
23afac01 79922000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7993
52283633 7994 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7995
1a578e9b
AC
79962000-10-23 Andrew Choi <akochoi@i-cable.com>
7997
7998 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7999
8000 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8001 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8002
8003 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8004 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8005 syms_of_search, x_term_init, and init_keyboard before calling
8006 init_window_once. Also, call syms_of_xmenu.
8007
8008 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8009 default fontset to Monaco.
8010
8011 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8012 NewMacWindow and DisposeMacWindow.
8013 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8014 instead of calling NewMacWindow and setting fields of
8015 f->output_data.mac directly. Call init_frame_faces.
8016 (Fdelete_frame) [macintosh]: Remove unused code.
8017 (Fmodify_frame_parameters) [macintosh]: Call
8018 x_set_frame_parameters instead of mac_set_frame_parameters.
8019
8020 * frame.h [macintosh]: Define menu_bar_lines field in struct
8021 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8022
8023 * keyboard.c [macintosh]: Include macterm.h.
8024 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8025 and menu_bar_activate_event type events as for X and NT.
8026 (make_lispy_event) [macintosh]: Construct lisp events of type
8027 MENU_BAR_EVENT as for X and NT.
8028
8029 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8030 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8031 (sys_subshell) [macintosh]: Remove definition entirely.
8032 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8033 Vwindow_system_version here. Remove initialization of
8034 Vx_bitmap_file_path.
8035 (read_input_waiting): Correct the number of parameters passed to
8036 read_socket_hook.
8037 Move all Macintosh functions to mac/mac.c.
8038
8039 * term.c [macintosh]: Include macterm.h.
8040
8041 * window.c [macintosh]: Include macterm.h.
8042
8043 * xdisp.c [macintosh]: Include macterm.h. Declare
8044 set_frame_menubar and pending_menu_activation.
8045 (echo_area_display) [macintosh]: Do not return if terminal frame
8046 is the selected frame.
8047 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8048 Allow only the selected frame to set menu bar.
8049 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8050 calling FRAME_EXTERNAL_MENU_BAR (f).
8051 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8052
8053 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8054 and check_x. Declare XCreateGC. Define x_create_gc and
8055 x_free_gc. Initialize font_sort_order.
8056 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8057 but call x_list_fonts instead of w32_list_fonts.
8058 (Finternal_face_x_get_resource) [macintosh]: Do not call
8059 display_x_get_resource.
8060 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8061 (realize_x_face) [macintosh]: Load the font if it is specified in
8062 ATTRS.
52283633 8063 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8064
1ffbabe3
SM
80652000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8066
8067 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8068 is nil: since we go to the end of submap anyway, we'd end up
8069 setting nil to nil.
8070 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8071 doesn't obey autoload.
8072
bed43f1d
EZ
80732000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8074
1ffbabe3 8075 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8076
ea4233a7
JR
80772000-10-21 Jason Rumney <jasonr@gnu.org>
8078
8079 * w32term.c (w32_cache_char_metrics): Double check that font is
8080 really fixed pitch before trusting tmPitchAndFamily.
8081
f3d3c491
AI
80822000-10-21 Andrew Innes <andrewi@gnu.org>
8083
8084 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8085
8086 * w32term.h: Extern decl for w32_cache_char_metrics.
8087
8088 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8089
8090 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8091 (w32_unload_font): Free per_char array if present.
8092
8093 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8094 cached information in emulated XFontStruct to handle common cases
8095 quickly. Do not allocate XCharStruct for return.
8096 (w32_native_per_char_metric): New function.
8097 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8098 allocating one.
8099 (x_produce_glyphs): Don't get an HDC. Change calls to
8100 w32_per_char_metric to match arg change above. Remove calls to
8101 free results.
8102 (w32_get_glyph_overhangs): Ditto.
8103 (w32_cache_char_metrics): New function.
8104
8105 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8106 ($(BLD)/casefiddle.$(O)): Remove compile command.
8107 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8108 ($(BLD)/dispnew.obj):
8109 ($(BLD)/keyboard.obj):
8110 ($(BLD)/w32inevt.obj):
8111 ($(BLD)/w32bdf.obj):
8112 ($(BLD)/alloc.obj):
8113 ($(BLD)/buffer.obj):
8114 ($(BLD)/editfns.obj):
8115 ($(BLD)/emacs.obj):
8116 ($(BLD)/fileio.obj):
8117 ($(BLD)/fns.obj):
8118 ($(BLD)/indent.obj):
8119 ($(BLD)/insdel.obj):
8120 ($(BLD)/intervals.obj):
8121 ($(BLD)/minibuf.obj):
8122 ($(BLD)/print.obj):
8123 ($(BLD)/scroll.obj):
8124 ($(BLD)/sysdep.obj):
8125 ($(BLD)/textprop.obj):
8126 ($(BLD)/widget.obj):
f3d3c491
AI
8127 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8128 ($(BLD)/term.obj): Add dependency on dispextern.h.
8129
52283633
SM
8130 * makefile.nt ($(BLD)\dispnew.obj):
8131 ($(BLD)\keyboard.obj):
8132 ($(BLD)\w32inevt.obj):
8133 ($(BLD)\w32bdf.obj):
8134 ($(BLD)\alloc.obj):
8135 ($(BLD)\buffer.obj):
8136 ($(BLD)\editfns.obj):
8137 ($(BLD)\emacs.obj):
8138 ($(BLD)\fileio.obj):
8139 ($(BLD)\fns.obj):
8140 ($(BLD)\indent.obj):
8141 ($(BLD)\insdel.obj):
8142 ($(BLD)\intervals.obj):
8143 ($(BLD)\minibuf.obj):
8144 ($(BLD)\print.obj):
8145 ($(BLD)\scroll.obj):
8146 ($(BLD)\sysdep.obj):
8147 ($(BLD)\textprop.obj):
8148 ($(BLD)\widget.obj):
f3d3c491
AI
8149 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8150 ($(BLD)\term.obj): Add dependency on dispextern.h
8151
18ad4821
EZ
81522000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8153
8154 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8155 with an additional argument of Qt.
8156
de54681a
MB
81572000-10-21 Miles Bader <miles@gnu.org>
8158
8159 * window.c (pos_fully_visible_in_window_p): New function.
8160 (Fpos_visible_in_window_p): Add FULLY argument.
8161 Use pos_fully_visible_in_window_p.
8162 (window_scroll_pixel_based, window_scroll_line_based): Update
8163 calls to Fpos_visible_in_window_p.
8164 * lisp.h (Fpos_visible_in_window_p): Update prototype
8165
13c844fb
GM
81662000-10-20 Gerd Moellmann <gerd@gnu.org>
8167
8168 * alloc.c (toplevel): Conditionalize compilation of mem_*
8169 functions differently.
52283633 8170
d9506268
JR
81712000-10-20 Jason Rumney <jasonr@gnu.org>
8172
8173 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8174 mem_init where it used to be. mem_z etc not defined otherwise.
8175
8094989b
GM
81762000-10-20 Gerd Moellmann <gerd@gnu.org>
8177
8178 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8179 GC_MALLOC_CHECK.
8180 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8181 structure definition and related variabled to the top of the file.
8182 Include this code when GC_MALLOC_CHECK is defined.
8183 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8184 register/unregister allocated region.
8185 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8186 which isn't allocated.
8187 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8188 something which is already in use.
8189 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8190 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8191 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8192 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8193
8194 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8195 _malloc_internal instead of malloc.
8196 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8197 of free.
8198
ea456eb4
AI
81992000-10-20 Andrew Innes <andrewi@gnu.org>
8200
8201 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8202 Windows.
8203 (my_strftime) <macro>: Don't use macro arg list when redefining as
8204 _strftime_copytm.
8205 (my_strftime) <function>: Supply 0 as ut argument.
8206
e64c3a75
JR
82072000-10-19 Jason Rumney <jasonr@altavista.net>
8208
8209 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8210 including dispextern.h, as it stops faces from working.
8211
8212 * w32fns.c (Fx_create_frame): Don't bother calling
8213 face-set-after-frame-default since the caller does it for us
8214 anyway. Clean up calls to x_get_arg to be consistent with X.
8215
8216 * w32term.c (x_produce_glyphs): Handle
8217 unibyte_display_via_language_environment correctly.
8218 (w32_draw_box_rect): Fix the calculation of width and height.
8219
8220 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8221 as it has stopped working.
8222 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8223 menu-bar.
8224
17401c97
GM
82252000-10-19 Gerd Moellmann <gerd@gnu.org>
8226
8227 * eval.c (skip_debugger): Prevent a compiler warning.
8228 (Fcondition_case): Likewise.
8229 (Fbacktrace_frame): Use a null interactive spec.
8230
773272d8
KH
82312000-10-19 Kenichi Handa <handa@etl.go.jp>
8232
8233 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8234
a42943e9
GM
82352000-10-18 Gerd Moellmann <gerd@gnu.org>
8236
e50517d9
GM
8237 * strftime.c: Sync with glibc, file version 1.78.
8238 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8239 should no longer be used according to ISO 8601.
8240
9035a35a
GM
8241 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8242 no map for meta_prefix_char, don't try to use it as a keymap.
8243 Instead, if T_OK is non-zero, look up a default binding, if any,
8244 otherwise, if T_OK is zero, return nil.
8245
a42943e9
GM
8246 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8247 (x_to_xcolors, png_load): Use x_query_color.
8248
52283633
SM
8249 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8250 New functions.
a42943e9
GM
8251 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8252 which can be slow.
8253 (x_copy_color, x_alloc_lighter_color): Likewise.
8254
8255 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8256 (x_query_color, x_query_colors): Add prototype.
8257
8258 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8259 check_string_bytes only if not noninteractive, increase count to 50.
8260
00de2987
MB
82612000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8262
8263 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8264 markers correctly.
8265
54918e2b
GM
82662000-10-17 Gerd Moellmann <gerd@gnu.org>
8267
1f0b3fd2
GM
8268 * alloc.c (pure_bytes_used): Renamed from pureptr.
8269 (ALIGN): New macro.
8270 (pure_alloc): New function.
8271 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8272 Use it.
8273 (Fpurecopy): Use PURE_POINTER_P.
8274
68c5d1db
GM
8275 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8276 PT has moved backward.
52283633 8277
9a038881
GM
8278 * xdisp.c (cursor_row_p): Take continued lines into account.
8279
361b097f
GM
8280 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8281 string's size_byte.
8282 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8283 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8284 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8285 string allocated.
8286
54918e2b
GM
8287 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8288 of selective display off while searching for the next line start.
8289
03ed0806
KH
82902000-10-17 Kenichi Handa <handa@etl.go.jp>
8291
8292 * Makefile.in (term.o): Depend on dispextern.h.
8293
7e05cdaf
SM
82942000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8295
8296 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8297
a6801fd1
GM
82982000-10-16 Gerd Moellmann <gerd@gnu.org>
8299
483de32b
GM
8300 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8301 the iterator at the beginning, so that they can be set later on,
8302 for instance in reseat_at_next_visible_line_start, without being
8303 overwritten.
8304
a6801fd1
GM
8305 * xfns.c (pbm_format): Add :foreground and :background keywords.
8306 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8307 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8308
dbf1fcc1
EZ
83092000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8310
8311 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8312
52283633 8313 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8314
8315 * msdos.c (IT_set_face): Compare highlighted face with the default
8316 face, and invert colors if these faces' colors are identical.
8317 (Fmsdos_remember_default_colors): Don't swap foreground and
8318 background colors in initial_colors[].
8319 (IT_set_frame_parameters): Don't swap frame's foreground and
8320 background pixels. If ALIST includes "(reverse . t)", swap
8321 foreground-color and background-color properties in frame's
8322 param_alist. If the original frame's param_alist doesn't specify
8323 the colors, store unspecified-fg and unspecified-bg, reversed if
8324 required.
8325
8326 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8327 the colors are unspecified and reversed, reverse fore- and back-
8328 ground in the returned value.
8329 (Fframe_parameter): Ditto.
8330
b41fe2c3 83312000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8332
3a6b59d9
GM
8333 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8334 get_last_unchanged_at_beg_row.
8335 (find_first_unchanged_at_end_row): Renamed from
8336 get_first_unchanged_at_end_row.
8337 (find_first_unchanged_at_end_row): Convert assertions to
8338 unconditional tests which abort. When looking for a row in
8339 unchanged text, don't go further back than first_text_row.
8340
b41fe2c3
GM
8341 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8342 Don't add in the last line's height when deciding if the new
8343 position is below the scroll margin.
9d1af64f 8344
b41fe2c3 83452000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8346
8347 * editfns.c (Fconstrain_to_field): Check carefully for field
8348 boundaries if either OLD_POS or NEW_POS has a non-nil field
8349 property, even if they're the same.
8350
c412cb7b
KH
83512000-10-16 Kenichi Handa <handa@etl.go.jp>
8352
8353 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8354 height for XFillRectangle.
8355
5586f3eb
SM
83562000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8357
8358 * syntax.c (Fstring_to_syntax): New function extracted from
8359 Fmodify_syntax_entry.
8360 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8361 (skip_chars, Fforward_comment): Remove unused variables.
8362 (syms_of_syntax): Add defsubr for string-to-syntax.
8363 (describe_syntax): Add code for comment and string fences.
8364
db785038
SM
83652000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8366
8367 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8368 Do the meta->esc mapping. Call get_keyelt before returning.
8369 Start scanning from the second element (the first is always `keymap')
8370 to make it easier to detect when we reach a parent map.
8371 Handle the case of inheriting from a symbol whose function is a map.
8372 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8373 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8374 (get_keyelt, Flookup_key): Update call to access_keymap.
8375 Remove the meta->esc mappings.
8376 (define_as_prefix): Delete old disabled code.
8377 (menu_item_p): New function.
8378 (where_is_internal_1): Skip over the few remaining menu items.
8379 * lisp.h (access_keymap): Update prototype.
8380 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8381 Update call to access_keymap.
8382 (follow_key, read_key_sequence): Update calls to access_keymap.
8383 Remove the meta->esc mappings.
8384
cafafe0b
GM
83852000-10-13 Gerd Moellmann <gerd@gnu.org>
8386
a2e2a7f6
GM
8387 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8388 with additional argument.
8389
cafafe0b
GM
8390 * xdisp.c (cursor_row_p): New function.
8391 (try_cursor_movement, display_line): Use it.
52283633 8392
cafafe0b
GM
8393 * xdisp.c (append_space): Also save/restore iterator's current
8394 character and its length.
8395
8396 * xdisp.c (init_from_display_pos): Add an assertion.
8397 (handle_stop): Don't set iterator's add_overlay_start.
8398 (handle_invisible_prop): Likewise.
8399 (load_overlay_strings): If text under an overlay is invisible,
8400 take both before- and after-strings into account when the iterator
8401 is positioned either at the start or at the end of the overlay.
8402 (forward_to_next_line_start): Rewritten.
8403 (reseat_at_next_visible_line_start): Rewritten.
8404 (set_iterator_to_next): Add parameter RESEAT_P.
8405
8406 * dispextern.h (struct it): Remove member add_overlay_start.
8407 (set_iterator_to_next): Change prototype.
8408
c744452b
KH
84092000-10-13 Kenichi Handa <handa@etl.go.jp>
8410
8411 * coding.c (code_convert_region): Be sure to initialize
8412 coding->category_idx.
e4a3f4e1
KH
8413 (decode_coding_string): Set coding->src_multibyte and
8414 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8415 (encode_coding_string): Set coding->src_multibyte and
8416 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8417
321fd26f
SM
84182000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8419
8420 * xfns.c (Fx_create_frame): Don't bother calling
8421 face-set-after-frame-default since the caller does it for us anyway.
8422
76832439
EZ
84232000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8424
8425 * window.c (coordinates_in_window): Fix detection of vertical line
8426 on character terminals.
8427
2483cf58
GM
84282000-10-12 Gerd Moellmann <gerd@gnu.org>
8429
8430 * editfns.c (save_excursion_save): Additionally record the
8431 selected window.
8432 (save_excursion_restore): If buffer was visible in a window, and a
8433 different window was selected, and the old selected window is
8434 still live, restore point in that window.
8435
eb991b25
KH
84362000-10-12 Kenichi Handa <handa@etl.go.jp>
8437
8a0eba09
KH
8438 * xterm.c (x_produce_glyphs): Handle
8439 unibyte_display_via_language_environment correctly.
8440
20401fcc
KH
8441 * regex.c (regex_compile): Change the way of handling a range from
8442 unibyte char to multibyte char.
8443
8444 * syntax.c (skip_chars): Change the way of handling a range from
8445 unibyte char to multibyte char.
8446
eb991b25
KH
8447 * process.c (read_process_output): Cancel previous change.
8448
365dd325
EZ
84492000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8450
c1b096cb
EZ
8451 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8452
365dd325
EZ
8453 * charset.c (Ffind_charset_string): Doc fix.
8454 (Ffind_charset_region): Doc fix.
8455
eb483c2b
KH
84562000-10-11 Kenichi Handa <handa@mule.m17n.org>
8457
8458 * process.c (read_process_output): Fix previous change. Adjust
8459 multibyteness of text to insert in a buffer by
52283633 8460 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8461
b40bfb99
AS
84622000-10-10 Andreas Schwab <schwab@suse.de>
8463
8464 * alloc.c (mark_object): Remove all workarounds installed on
8465 1993-08-08.
8466
caff31d4
KH
84672000-10-10 Kenichi Handa <handa@etl.go.jp>
8468
52283633 8469 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8470 (base64_encode_1): Make it work for a text of multibyte form.
8471 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8472 case. Don't call str_to_multibyte because base64_decode_1
8473 produces correct multibyte form for eight-bit codes.
52283633 8474 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8475 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8476 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8477 codes.
8478
8479 * charset.h (CHAR_STRING): Optimized for single byte characters.
8480
cba026ef
AS
84812000-10-09 Andreas Schwab <schwab@suse.de>
8482
8483 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8484 -1 after socket is closed, to fall through to error processing.
8485
1e21fe48
EZ
84862000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8487
8488 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8489 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8490 background-color, change also the colors of the default face for
8491 this frame.
8492
a640322e
EZ
84932000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8494
8495 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8496 them extern (they are defined on xfaces.c).
8497 (syms_of_msdos): Don't intern and don't staticpro
8498 Qbackground_color and Qforeground_color.
8499
a115794c
EZ
85002000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8501
8502 * frame.c (Fframe_parameter): For non-windowed frames, if
8503 f->param_alist says foreground or background color is unspecified,
8504 call tty_color_name to return the color name computed from the
8505 frame's current colors.
8506
f5533b63
DL
85072000-10-06 Dave Love <fx@gnu.org>
8508
8509 * terminfo.c (ospeed): Don't declare.
8510
8511 * sysdep.c: Don't include string.h.
8512 (h_errno): Declare conditional also on TRY_AGAIN.
8513
8514 * charset.c (Ffind_charset_string): Doc fix.
8515
52283633 8516 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8517 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8518 error messages.
8519
2b06561a
DL
85202000-10-05 Dave Love <fx@gnu.org>
8521
8522 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8523 position like menu-bar.
8524
ca839c85
GM
85252000-10-05 Gerd Moellmann <gerd@gnu.org>
8526
8527 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8528
8529 * xdisp.c (handle_single_display_prop): Use safe_call1.
8530 (safe_call): Renamed from call_function.
8531 (safe_call1): New function.
8532 (handle_fontified_prop): Use safe_call1 instead of call1.
8533 (safe_eval): Renamed from eval_form.
8534 (safe_eval_handler): Renamed from eval_handler.
8535 (handle_single_display_prop, display_mode_element): Use safe_eval
8536 instead of eval_form.
8537
8538 * xfaces.c (merge_face_heights): Use safe_call instead of
8539 call_function.
8540
8541 * keyboard.c (show_help_echo): Use safe_call instead of
8542 call_function; use safe_eval instead of eval_form.
8543
8544 * lisp.h (safe_call): Renamed from call_function.
8545 (safe_eval): Renamed from eval_form.
8546 (safe_call1): Add prototype.
8547
a3489ece
MB
85482000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8549
8550 * xfns.c (image_ascent): Rearrange ascent calculation for the
8551 has-a-font case.
8552
35810b6f
SM
85532000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8554
8555 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8556 (where_is_internal_1): Don't bother ignoring menu-items any more.
8557
3dc78168
GM
85582000-10-04 Gerd Moellmann <gerd@gnu.org>
8559
8560 * keyboard.c (update_menu_bindings): New variable.
8561 (parse_menu_item): Use AREF. If update_menu_bindings
8562 is 0, don't update menu bindings.
8563 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8564
1efc2bb9
EZ
85652000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8566
8567 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8568 to `mark_object'.
8569
3f679f55
SM
85702000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8571
8572 * syntax.c (forw_comment): Match nestedness of ender/starter.
8573 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8574 (prev_char_comstart_first): Remove.
8575 (back_comment): Check two-char comment markers more carefully
8576 to better handle overlapping cases like *//* or /* */* */ ...
8577 Match nestedness of ender/starter.
8578
2021ab61
DL
85792000-10-02 Dave Love <fx@gnu.org>
8580
8581 * config.in (HAVE_GAI_STRERROR): Add undef.
8582
8583 * process.c (Fopen_network_stream): Use it.
8584
8585 * m/alpha.h (NO_REMAP): Don't define.
8586
64e6cc18
GM
85872000-10-02 Gerd Moellmann <gerd@gnu.org>
8588
8589 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8590 return with a string converted to an integer or vice versa when
8591 Vmocklisp_arguments is t.
8592 (Fsignal): Likewise. The function can return for `quit'.
8593 (struct gcpro): Declare member `var' to point to a volatile
8594 Lisp_Object.
8595
8596 * eval.c (error): Prevent compiler warning.
8597
b1904cd9
SM
85982000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8599
8600 * keymap.c (keymap_memberp): New function.
8601 (Fset_keymap_parent): Use it.
8602 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8603 Use keymap_memberp to avoid creating cycles.
8604 (access_keymap): Use KEYMAPP.
8605
71c9ec51
GM
86062000-09-30 Gerd Moellmann <gerd@gnu.org>
8607
8608 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8609 gai_strerror. Make sure xerrno is set if connect fails. Improve
8610 error recovery.
71c9ec51 8611
c70c6b58
JR
86122000-09-29 Jason Rumney <jasonr@gnu.org>
8613
8614 * w32term.c (w32_char_font_type, w32_encode_char)
8615 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8616 (w32_bdf_per_char_metric): New function.
8617 (w32_per_char_metric): Use it.
8618 (x_draw_glyph_string_background): Always draw background for BDF
8619 glyphs.
8620
8621 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8622 GDI object which is a scarce resource.
8623
8624 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8625 (get_quoted_string): Fix limit on memchr search.
8626 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8627 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8628 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8629 (get_cached_font_char, cache_char_offset): Use macro
8630 BDF_CODEPOINT_RANGE_COVER_P.
8631 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8632 (clear_cached_bitmap_slots): New function.
8633 (GET_HEX_VALUE): G-Z, g-z are not hex.
8634 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8635 (get_bitmap_with_cache): Use new cache implementation.
8636 (create_offscreen_bitmap): New function.
8637 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8638
8639 * w32term.c (x_produce_glyphs): If the distance from the current
8640 position to the next tab stop is less than a canonical character
8641 width, use the tab stop after that.
8642 (x_draw_glyphs): Handle case START and END are out of bounds more
8643 carefully.
8644 (x_clear_mouse_face): Block/unblock input.
8645 (x_display_and_set_cursor): Don't show a hollow box cursor for
8646 buffers whose cursor_type is nil.
8647
fe01239f
GM
86482000-09-29 Gerd Moellmann <gerd@gnu.org>
8649
52283633 8650 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8651
8652 * dispextern.h (updating_frame): Declare extern.
8653
e7c52f1f
AS
86542000-09-29 Andreas Schwab <schwab@suse.de>
8655
8656 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8657
de6e1f7c
GM
86582000-09-29 Gerd Moellmann <gerd@gnu.org>
8659
25126faa
GM
8660 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8661 use its function definition.
8662 (tool_bar_items): Likewise.
8663
de6e1f7c 8664 * lisp.h (fatal): Declare NO_RETURN.
52283633 8665
454ee39b
KH
86662000-09-29 Kenichi Handa <handa@etl.go.jp>
8667
8668 * keymap.c: Remove the line "#undef NULL".
8669
96301c5f
GM
86702000-09-28 Gerd Moellmann <gerd@gnu.org>
8671
52283633 8672 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8673
efffeeb4
DL
86742000-09-28 Dave Love <fx@gnu.org>
8675
ecb8b666
DL
8676 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8677
dc3cd20f
DL
8678 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8679
8680 * .gdbinit (xreload): Note its need on GNU/Linux.
8681
efffeeb4
DL
8682 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8683 r_alloc, r_alloc_free.
8684
8610d903
KH
86852000-09-28 Kenichi Handa <handa@etl.go.jp>
8686
8687 * syntax.c (skip_chars): Handle negation correctly.
8688
8901d1ac
GM
86892000-09-27 Gerd Moellmann <gerd@gnu.org>
8690
6f22f1ad
GM
8691 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8692 with non-zero FORCE_P argument.
8693
52283633 8694 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8695 Add assertions.
8696
8697 * xdisp.c (window_box_height): Add an assertion.
8698
8699 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8700 tool-bar than is available.
8701 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8702
36f1966f
DL
87032000-09-27 Dave Love <fx@gnu.org>
8704
efffeeb4 8705 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8706
31d929e5
GM
87072000-09-26 Gerd Moellmann <gerd@gnu.org>
8708
c98863bf
GM
8709 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8710 instead of BITS_PER_INT.
8711 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8712 EMACS_UINT, respectively.
8713 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8714
8715 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8716
8717 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8718
77072ab1
GM
8719 * window.c (freeze_window_starts): Construct last argument for
8720 foreach_window differently.
8721
8722 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8723
8724 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8725 EMACS_UINT instead of `int' and `unsigned int'.
8726 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8727
8728 * frame.h (struct frame): Make the `nothing' member of union
8729 output_data an EMACS_INT.
8730
52283633 8731 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8732 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8733 size in the sdata structure.
8734 (SDATA_NBYTES, SDATA_DATA): New macros.
8735 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8736 differently for the different layout of the sdata structure.
8737 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8738 in sdata.
8739 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8740 Check that size recorded in the string size and size recorded in
8741 the sdata structure agree.
8742
3e60b029
DL
87432000-09-25 Dave Love <fx@gnu.org>
8744
8745 * buffer.c: Include stdio.h.
8746
8747 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8748
3e60b029
DL
8749 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8750
8751 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8752 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8753 (__malloc_extra_blocks): Declare as __malloc_size_t.
8754
8ff16b4e
GM
87552000-09-25 Gerd Moellmann <gerd@gnu.org>
8756
755a2ccd
GM
8757 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8758
d8b4516f
GM
8759 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8760 (read_char): If help-echo is showing, preserve the echo area
8761 when redisplaying.
8762
8763 * xdisp.c (help_echo_showing_p): New variable.
8764 (set_message): Reset it to 0.
8765 (init_xdisp): Initialize help_echo_showing_p.
8766
8767 * dispextern.h (help_echo_showing_p): Declare extern.
8768
8769 * config.in: Fix typo in __GNUC_MINOR__.
8770
8771 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8772
b11af2dd
GM
8773 * s/freebsd.h (POSIX_SIGNALS): Define.
8774
8ff16b4e
GM
8775 * xterm.c (x_clear_mouse_face): Block/unblock input.
8776
844eb643
DL
87772000-09-24 Dave Love <fx@gnu.org>
8778
8779 * fns.c (base64_encode_1): Fix last change.
8780
b30ab1b3
GM
87812000-09-22 Gerd Moellmann <gerd@gnu.org>
8782
8783 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8784
8785 * xdisp.c (try_window_reusing_current_matrix): More fixes
8786 for the case window has a header-line.
8787
c6cbe5f0
DL
87882000-09-22 Dave Love <fx@gnu.org>
8789
4c7c1f3f
DL
8790 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8791 a doc string.
8792
8793 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8794
c6cbe5f0
DL
8795 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8796
550a625e
GM
87972000-09-21 Gerd Moellmann <gerd@gnu.org>
8798
4c7c1f3f 8799 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8800 for GCC >= 2.5.
8801
52283633
SM
8802 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8803 Declare NO_RETURN.
fca99116 8804
80d26f99
GM
8805 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8806 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8807 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8808 warnings.
52283633 8809
80d26f99
GM
8810 * marker.c (byte_char_debug_check): Return void.
8811
623a0aae
GM
8812 * xfns.c (Fx_create_frame): Set default frame parameter value
8813 for tool-bar-lines to 1.
8814
8815 * dispnew.c (scrolling_window): Compare y-positions of rows
8816 equal at the start. Some simplification.
8817
8818 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8819 reused rows' y-position in the case window has a header-line, and
8820 new window start is greater than old window start.
8821
42ac0ae5
GM
8822 * process.c (process_sent_to): New variable.
8823 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8824 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8825 Declare more parameters volatile.
8826
550a625e
GM
8827 * lread.c (Vrecursive_load_depth_limit): New variable.
8828 (Fload): Check recursive loads whose recursion depth exceeds
8829 Vrecursive_load_depth_limit.
8830 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8831
8320414c
GM
88322000-09-20 Gerd Moellmann <gerd@gnu.org>
8833
f46c275e
GM
8834 * fileio.c (Fread_file_name): Doc fix.
8835
8836 * editfns.c (Fmessage_or_box): Doc fix.
8837
8838 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8839
b7e11c5b 8840 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8841
8320414c
GM
8842 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8843 symbols are specified, add color translations to the cache.
52283633 8844 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8845 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8846 xpm_cache_color.
8847 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8848 structures to xpm_init_color_cache.
8849
da1608d9
GM
88502000-09-19 Gerd Moellmann <gerd@gnu.org>
8851
52283633 8852 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8853
6badfa25
AI
88542000-09-19 Andrew Innes <andrewi@gnu.org>
8855
8856 * makefile.nt (bootstrap-emacs): Don't change directory.
8857
3a5f42bb
KH
88582000-09-19 Kenichi Handa <handa@etl.go.jp>
8859
1b7649bd
KH
8860 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8861
3a5f42bb
KH
8862 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8863 If output buffer is too small, signal an appropriated error.
8864
9f83cf0b
DL
88652000-09-18 Dave Love <fx@gnu.org>
8866
52283633 8867 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8868 (current_active_maps): Remove redundant get_local_map call.
8869
28c7826c
GM
88702000-09-18 Gerd Moellmann <gerd@gnu.org>
8871
5cefa566
GM
8872 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8873 cursor for buffers whose cursor_type is nil.
52283633 8874
6fed3546
GM
8875 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8876 a feature to implement that is already implemented.
8877 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8878 warnings.
8879
8880 * xfns.c (x_clear_image_1): New function.
8881 (x_clear_image): Use it.
52283633 8882 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8883
05b1f851
GM
8884 * dispnew.c (update_window): Move test for invisible lines
8885 at the top to update_window_line.
8886 (update_window_line): Handle invisible lines here.
8887
f4779de9
GM
8888 * xfns.c (clear_image_cache): Clear current matrices of all
8889 frames sharing an image cache. Block input while freeing
8890 images. Fix timestamp comparison.
8891 (x_clear_image): Also free the mask.
8892
28c7826c
GM
8893 * xfns.c (lookup_image): Block input while loading the image so
8894 that we won't get interrupted in a state where the image isn't yet
8895 set up completely.
8896 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8897 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8898 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8899 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8900
b7412313
GM
89012000-09-16 Gerd Moellmann <gerd@gnu.org>
8902
8903 * dispnew.c (update_window): Make sure to make desired rows
8904 current even if they are completely invisible at the top
8905 of a window.
8906
47e351a3
GM
89072000-09-15 Gerd Moellmann <gerd@gnu.org>
8908
7f8f1edc
GM
8909 * xfns.c (lookup_image): Build mask before applying an algorithm.
8910 Recognize algorithm `disabled'.
8911 (cross_disabled_images): New variable.
8912 (COLOR_INTENSITY): New macro.
8913 (x_detect_edges): Use COLOR_INTENSITY.
8914 (x_disable_image): New function.
8915 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8916
8917 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8918 disabled state, don't apply an image transformation algorithm if
8919 the user specified an image for the disabled state. Use
28c7826c 8920 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8921 user hasn't specified an image.
8922
ebb8f116
GM
8923 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8924 allocation functions with the XPM lib.
8925 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8926 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8927 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8928 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8929 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8930 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8931 functions, if possible, because these handle color allocation
8932 failure more gracefully.
8933 (Fimage_mask_p): New function.
8934
47e351a3
GM
8935 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8936 (Qedge_detection, Qheuristic): New symbols.
8937 (syms_of_xfns): Initialize new symbols.
8938 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8939 `algorithm (edge-detection ...)'.
8940 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8941 (tiff_format, gif_format, gs_format): Add `:mask'.
8942 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8943 (GIF_MASK, GS_MASK): New enumerators.
8944 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8945 (emboss_matrix, laplace_matrix): New variables.
8946 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8947 (x_edge_detection): New functions.
8948 (x_laplace): Rewritten in terms of x_detect_edges.
8949 (x_build_heuristic_mask): If image has a mask, free it.
8950
fe83b953
AI
89512000-09-14 Andrew Innes <andrewi@gnu.org>
8952
8953 * makefile.w32-in: Revert to Unix line endings.
8954
3021e816
AI
89552000-09-14 Andrew Innes <andrewi@gnu.org>
8956
8957 * makefile.w32-in: Standardize indentation somewhat.
8958 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8959 cater for differences between shells.
8960
8961 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8962
2a32b5ea
GM
89632000-09-14 Gerd Moellmann <gerd@gnu.org>
8964
8965 * xterm.c (x_produce_glyphs): If the distance from the current
8966 position to the next tab stop is less than a canonical character
8967 width, use the tab stop after that.
8968
b4331e96
DL
89692000-09-14 Dave Love <fx@gnu.org>
8970
8971 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8972
ef9e4345
GM
89732000-09-14 Gerd Moellmann <gerd@gnu.org>
8974
085536c2
GM
8975 * xdisp.c (handle_fontified_prop): While running fontification
8976 functions, bind `fontification-functions' and
8977 `after-change-functions' to nil.
8978
ef9e4345
GM
8979 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8980 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8981
8982 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8983
8984 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8985 USE_MMAP_FOR_BUFFERS.
8986
8987 * insdel.c (make_gap): Use enlarge_buffer_text.
8988
8989 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8990 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8991 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8992 from former r_alloc_* functions in ralloc.c.
52283633 8993 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8994 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8995 (mmap_init) [REL_ALLOC_MMAP]: New function.
8996 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8997 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8998 BUFFER_FREE.
8999
9000 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9001 (enlarge_buffer_text): Add prototype.
9002
9003 * ralloc.c: Remove everything having to do with the use of mmap.
9004
f8608968
GM
90052000-09-13 Gerd Moellmann <gerd@gnu.org>
9006
2a494b2d
GM
9007 * sound.c (Fplay_sound): Doc fix.
9008
8c907a56
GM
9009 * keyboard.c: Avoid some more compiler warnings.
9010 (parse_tool_bar_item): Ignore cached key bindings.
9011
f8608968
GM
9012 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9013 and allocation of Lisp data.
9014
6ab70e9a
GM
90152000-09-12 Gerd Moellmann <gerd@gnu.org>
9016
d12d0a9b
GM
9017 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9018 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9019 defaults first.
9020
6ab70e9a
GM
9021 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9022
63c36c3c
KH
90232000-09-12 Miyashita Hisashi <himi@meadowy.org>
9024
9025 * ccl.c: Comment fixed.
9026 (MAX_MAP_SET_LEVEL): Increased to 30.
9027 (PUSH_MAPPING_STACK): Enclose with do-while block.
9028 (POP_MAPPING_STACK): Likewise.
9029 (stack_idx_of_map_multiple): New variable.
9030 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9031 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9032 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9033 (ccl_driver) <CCL_MapSingle>: Likewise.
9034 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9035 with the case where looking up process reaches to the end of
9036 map-set, and call CCL programs as the above change.
9037
7ee3bd7b
GM
90382000-09-11 Gerd Moellmann <gerd@gnu.org>
9039
8ec8a5ec
GM
9040 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9041 that might be clobbered by longjmp.
9042 (check_x_display_info, x_decode_color, create_frame_xic)
9043 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9044 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9045
f74b0705
GM
9046 * lread.c (init_lread): Set Vloads_in_progress to nil.
9047 (Fload): Show list of recursively loaded files, when signaling an
9048 error.
9049
7ee3bd7b
GM
9050 * lread.c (Vloads_in_progress): New variable.
9051 (record_load_unwind): New function.
9052 (Fload): Check for recursive loads.
9053 (syms_of_lread): Initialize Vloads_in_progress.
9054 (read_integer, read1): Avoid some compiler warnings.
9055
9056 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9057 compiler warnings.
9058
974e1e5b
MB
90592000-09-11 Miles Bader <miles@gnu.org>
9060
9061 * editfns.c (Fbuffer_string): Doc fix.
9062
9824c4e3
GM
90632000-09-10 Gerd Moellmann <gerd@gnu.org>
9064
9065 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9066
6a72fdd1
KR
90672000-09-09 Ken Raeburn <raeburn@gnu.org>
9068
9069 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9070 whether to include other header files.
9071
28e6fb66
GM
90722000-09-09 Gerd Moellmann <gerd@gnu.org>
9073
52283633 9074 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9075 by Fmemq as a boolean.
28e6fb66 9076
7f8b6551
SM
90772000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9078
9079 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9080
a8710abf
GM
90812000-09-08 Gerd Moellmann <gerd@gnu.org>
9082
d1a02881
GM
9083 * ralloc.c (mmap_fd): Remove initializer which can make it
9084 read-only in a dumped Emacs.
9085 (mmap_fd_1): New variable.
9086 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9087 restore it from there.
9088 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9089 unconditionally so that mmap_fd can be initialized there.
9090 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9091 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9092 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9093
c454aac1
GM
9094 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9095
9096 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9097 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9098
fc653ef2
GM
9099 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9100
3015eec0
GM
9101 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9102 inheritance.
9103
bfe0ee88
GM
9104 * xdisp.c (try_window_id): When trying to locate cursor in
9105 unchanged rows at the top, handle the case that we can't find it.
9106
a8710abf
GM
9107 * xterm.c (x_draw_glyphs): Handle case START and END are out
9108 of bounds more carefully.
9109
6b7d4ae4
DL
91102000-09-08 Dave Love <fx@gnu.org>
9111
423193c5
DL
9112 * s/sol2.h (REL_ALLOC_MMAP): Define.
9113 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9114
9115 * ralloc.c: Don't include string.h (redundant).
9116 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9117 [!MAP_ANON]: Include fcntl.h.
9118 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9119 (r_alloc, r_re_alloc, r_alloc_free)
9120 (mmap_enlarge, mmap_set_vars): Use it.
9121 (r_alloc_init_fd): New function.
9122 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9123 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9124 malloc type.
9125
9126 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9127 Remove vm-limit.o.
9128
6b7d4ae4
DL
9129 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9130 change to __NetBSD__.
9131
44d31981
KH
91322000-09-08 Kenichi Handa <handa@etl.go.jp>
9133
9134 * search.c (compile_pattern): Check the multibyteness of cached
9135 string and PATTERN.
9136
aad40737
MB
91372000-09-08 Miles Bader <miles@gnu.org>
9138
9139 * xfaces.c (default_face_vector): Function removed.
9140 (Finternal_merge_in_global_face): Restore old global/local
9141 attribute override order. Use inline loop instead of calling
9142 default_face_vector.
9143
91a211b5
GM
91442000-09-07 Gerd Moellmann <gerd@gnu.org>
9145
9146 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9147 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9148 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9149 where necessary, in case POINTER_TYPE is `void'.
9150
03419440
EZ
91512000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9152
9153 * frame.c (make_terminal_frame): Initialize frame foreground and
9154 background colors to unspecified, for the initial instance of an
9155 MSDOS frame.
9156
f46f845b
GM
91572000-09-07 Gerd Moellmann <gerd@gnu.org>
9158
24f76fbf
GM
9159 * ralloc.c (mmap_find): Fix overlap computation.
9160 (mmap_enlarge): Compute nbytes before trying to find an
9161 overlapping region.
9162
f46f845b
GM
9163 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9164 instead of `!='.
9165
9166 * lread.c (syms_of_lread): Change value of regexp
9167 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9168
9169 * xmenu.c (xdialog_show): When looking up the selection in
9170 menu_items, take `quote' boundaries into account; this corresponds
9171 to a nil ITEM in x-popup-dialog.
9172
3c014385
KH
91732000-09-07 Kenichi Handa <handa@etl.go.jp>
9174
fd6f711b
KH
9175 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9176 not 0x81.
9177 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9178
3c014385 9179 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9180 encoding, not decoding. Fix the handling of latin-jisx0201.
9181 Check for the charset katakana-jisx0201 too.
3c014385 9182 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9183 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9184
0da3ecef
GM
91852000-09-07 Gerd Moellmann <gerd@gnu.org>
9186
ab0ee409
GM
9187 * xfaces.c (Vparam_value_alist): New variable.
9188 (syms_of_xfaces): Initialize it.
9189 (Finternal_set_lisp_face_attribute): Avoid more consing.
9190
9191 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9192 specially.
9193 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9194 (Qbackground_mode): New variable.
9195 (syms_of_frame_1): Initialize Qbackground_mode.
9196
9197 * lisp.h (Qdisplay): Declare extern.
1091dd67 9198
0da3ecef
GM
9199 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9200 change face on all frames, and change the default for new frames.
9201
b14654b9
DL
92022000-09-07 Dave Love <fx@gnu.org>
9203
9204 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9205
d24fd56f
KH
92062000-09-07 Kenichi Handa <handa@etl.go.jp>
9207
794f3670
KH
9208 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9209
0fddd0dc
KH
9210 * charset.c: Include composite.h
9211 (lisp_string_width): New function.
9212 (Fstring_width): Call lisp_string_width instead of strwidth.
9213
9214 * Makefile.in (charset.o): Depends on composite.h.
9215
d24fd56f
KH
9216 * process.c (read_process_output): Before inserting the decoded
9217 text in the buffer, adjust the multibyteness.
9218
fa0b693c
GM
92192000-09-06 Gerd Moellmann <gerd@gnu.org>
9220
52283633 9221 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9222 buffer's text buffer is null, map new memory.
9223
0a58f946
GM
9224 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9225 POINTER_TYPE and size_t.
9226 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9227 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9228 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9229 [REL_ALLOC_MMAP]: New macros.
9230 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9231 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9232 [REL_ALLOC_MMAP]: New functions.
9233
9234 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9235 before and after unexec.
9236
9237 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9238 text buffers if necessary.
9239
9240 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9241 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9242 in prototypes.
9243
fa0b693c
GM
9244 * config.in (HAVE_MMAP): Add #undef.
9245
877055f6
GM
92462000-09-05 Gerd Moellmann <gerd@gnu.org>
9247
08ba3862
GM
9248 * frame.c (Qdisplay_type): New variable.
9249 (syms_of_frame_1): Initialize it.
9250 (Fframe_parameter): New function that avoids consing.
9251 (syms_of_frame): Defsubr it.
9252
66ffe51c
GM
9253 * buffer.c (Fother_buffer): Consider buffers as invisible when
9254 they are displayed in a window on an invisible frame.
9255
877055f6
GM
9256 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9257 get-largest-window always return nil.
9258
bb970e67
GM
92592000-09-04 Gerd Moellmann <gerd@gnu.org>
9260
9261 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9262 variable; recognize Emacs 19 elc files.
9263
7a3d0e0e
MB
92642000-09-04 Miles Bader <miles@gnu.org>
9265
9266 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9267 before initially popping up the menu, so the menu doesn't flash
52283633 9268 when the face settings are significantly different from the defaults.
7a3d0e0e 9269
14473664
SM
92702000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9271
9272 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9273 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9274 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9275 (BIT_UNIBYTE): Remove.
9276 (re_match_2_internal): Delete corresponding code and streamline the
9277 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9278 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9279 (re_wctype_t): New type.
9280 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9281 (regex_compile): Use them and fix handling of overly long char classes.
9282
c1174479
AI
92832000-09-03 Andrew Innes <andrewi@gnu.org>
9284
f8803e97
AI
9285 * makefile.w32-in: Change to DOS line endings.
9286
c1174479
AI
9287 * s/ms-w32.h (ORDINARY_LINK): New define.
9288
9289 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9290 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9291
9292 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9293 (distclean): Delete them here instead.
9294
44ef7cf6
AI
9295 * w32proc.c (compare_env): Convert to uppercase for comparison,
9296 not lowercase, to match how the native Windows shell works.
9297
49b3bd82
JR
92982000-09-03 Jason Rumney <jasonr@gnu.org>
9299
9300 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9301 CVS changes the line-ends when checking in/out on DOS/Windows.
9302
9303 * makefile.nt (emacs): Do not change directory to run temacs, as
9304 the load-path is set relative to current directory.
9305
a3d35a39
MB
93062000-09-03 Miles Bader <miles@gnu.org>
9307
9308 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9309
d276b0cf
GM
93102000-09-02 Gerd Moellmann <gerd@gnu.org>
9311
715e84c9
GM
9312 * xdisp.c (redisplay_mode_lines): New function.
9313 (display_mode_lines): Return number of mode lines displayed.
9314 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9315 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9316
8892f40b
GM
9317 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9318 string.h and strings.h.
9319 (index) [HAVE_INDEX]: Add prototype.
9320
d276b0cf
GM
9321 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9322 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9323
9324 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9325 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9326
38404229
GM
93272000-09-01 Gerd Moellmann <gerd@gnu.org>
9328
9329 * lread.c (read1): Accept `?' as symbol constituent, for
9330 compatiblity with XEmacs.
9331
c0f9ea08
SM
93322000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9333
9334 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9335 (struct re_pattern_buffer): Remove newline_anchor.
9336 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9337 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9338 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9339 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9340 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9341 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9342 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9343 Get rid of references to newline_anchor.
9344 (regcomp): Allocate and precompute a fastmap.
9345
8c0f83fe
GM
93462000-08-31 Gerd Moellmann <gerd@gnu.org>
9347
9348 * lread.c (openp): GCPRO local variable `filename'.
9349
4bb91c68
SM
93502000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9351
9352 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9353
9354 * regex.c: Merge some changes from GNU libc. Add prototypes.
9355 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9356 Use memcmp and memcpy instead of bcopy and bcmp.
9357 (init_syntax_once): Use ISALNUM.
9358 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9359 (REG_UNSET_VALUE): Remove. Use NULL instead.
9360 (REG_UNSET, re_match_2_internal): Use NULL.
9361 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9362 New macros.
9363 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9364 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9365 (regex_compile): In handle_interval, return an error rather than try to
9366 unfetch the interval if we can't find the closing brace.
9367 Obey the RE_NO_GNU_OPS syntax bit.
9368 (TOLOWER): New macro.
9369 (regcomp): Use it.
9370 (regexec): Allocate regs.start and regs.end as one block.
9371
5226a931
GM
93722000-08-30 Gerd Moellmann <gerd@gnu.org>
9373
868dd24b
GM
9374 * xdisp.c (echo_area_display): Check display_completed instead
9375 of calling detect_input_pending.
9376
9377 * dispnew.c (update_frame): Only set display_completed here; move
9378 the update_begin and update_end calls here from update_frame_1.
9379 (update_frame_1): Don't set display_completed here, don't call
9380 update_begin/update_end.
9381
5226a931
GM
9382 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9383 instead of store_frame_param.
9384
2a8bd25f
GM
93852000-08-29 Gerd Moellmann <gerd@gnu.org>
9386
9387 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9388 desired window matrix hasn't been displayed, use the current row
9389 instead. Make sure that only those frame rows are updated for
9390 which there exists a corresponding enabled desired row.
52283633 9391
ba3478d9
MB
93922000-08-29 Miles Bader <miles@gnu.org>
9393
9394 * xfaces.c (default_face_vector): New function.
9395 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9396
87d0f685
GM
93972000-08-29 Gerd Moellmann <gerd@gnu.org>
9398
9399 * lread.c (openp): Prevent temporary string passed to
9400 Ffile_readable_p from being garbage collected.
9401
6fa86045
DL
94022000-08-28 Dave Love <fx@gnu.org>
9403
9404 * keymap.c (store_in_keymap): Add `static' to declaration.
9405
bb17930d
GM
94062000-08-28 Gerd Moellmann <gerd@gnu.org>
9407
9408 * emacs.c, callint.c, doc.c, editfns.c
9409 (toplevel) [HAVE_STRING_H]: Include string.h.
9410 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9411 (index): Remove prototypes which might conflict with non-standard
9412 definitions of index/strchr.
9413
9414 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9415 (rindex): Define only if !HAVE_RINDEX.
9416
9417 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9418
9419 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9420
87188200
MB
94212000-08-28 Miles Bader <miles@gnu.org>
9422
9423 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9424 made inconsistent by a font-related attribute in FROM.
9425 (merge_face_inheritance): Add function comment.
9426
41a68aef
KH
94272000-08-28 Kenichi Handa <handa@etl.go.jp>
9428
9429 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9430 the 4th arg (PREV_EVENT) Qt to suppress input method.
9431
f7c436c1
SM
94322000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9433
0b32bf0e
SM
9434 * regex.c: Indent cpp directives and remove parens after `defined'.
9435 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9436 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9437 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9438 (re_compile_pattern): Use size_t for length.
9439 (init_syntax_once): Move to a better place.
9440 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9441 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9442
f7c436c1
SM
9443 * syntax.c (back_comment): Detect cases where a comment-starter is
9444 actually inside another comment as in: /* a // b */ c // d \n.
9445 Make it clear that `comstart_pos' is unused for nested comments.
9446
9447 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9448 (KEYMAPP): New macro.
9449 (Fkeymap_parent, Fset_keymap_parent): Use it.
9450 (fix_submap_inheritance): Mark it static.
9451 (define_as_prefix, describe_buffer_bindings, describe_command)
9452 (describe_translation, describe_map): Complete prototypes.
9453
9454 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9455
9456 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9457 to better match the key-lookup behavior.
9458
6288c62f
GM
94592000-08-27 Gerd Moellmann <gerd@gnu.org>
9460
9461 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9462 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9463
e931344e
EZ
94642000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9465
9466 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9467 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9468 (xterm.o): Depend on coding.h
9469
d10dfeef
KH
94702000-08-26 Kenichi Handa <handa@etl.go.jp>
9471
9472 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9473 the corresponding '#endif'.
9474
2d73e8d3
MB
94752000-08-26 Miles Bader <miles@gnu.org>
9476
9477 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9478 * xfaces.c (QCinherit): New variable.
9479 (syms_of_xfaces): Initialize it.
9480 (LFACE_INHERIT): New macro.
9481 (Finternal_get_lisp_face_attribute)
52283633 9482 (merge_face_vector_with_property)
2d73e8d3
MB
9483 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9484 (check_lface_attrs): Allow new types of face height. Check
9485 inherit attribute.
9486 (CYCLE_CHECK): New macro.
9487 (merge_face_inheritance): New function.
9488 (merge_face_vectors): Merge inherited faces too. Add F and
9489 CYCLE_CHECK arguments.
9490 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9491 (lookup_named_face, lookup_derived_face, realize_named_face)
9492 (face_at_string_position, face_at_buffer_position): Supply
9493 new F and CYCLE_CHECK arguments to merge_face_vectors.
9494 (merge_face_heights): New function.
52283633 9495 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9496 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9497 handle relative face heights.
9498 (lface_same_font_attributes_p): Compare heights using EQ.
9499
6ce974d4
KH
95002000-08-26 Kenichi Handa <handa@etl.go.jp>
9501
9502 * charset.c (char_to_string): Check the character validity.
52283633 9503 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9504
dc1e502d
SM
95052000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9506
9507 * regex.c (PUSH_FAILURE_COUNT): New macro.
9508 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9509 Handle popping of a register's or a counter's data.
9510 (POP_FAILURE_POINT): Use the new name.
9511 (re_match_2_internal): Push counter data on the stack for succeed_n,
9512 jump_n and set_number_at and remove misleading dead code in succeed_n.
9513
bd9d0f3f
GM
95142000-08-25 Gerd Moellmann <gerd@gnu.org>
9515
9516 * xdisp.c (redisplay_internal): If considering all windows on all
9517 frames, update the display for each frame as soon as possible,
9518 instead of first building all desired matrices for all frames, and
9519 then updating them all.
9520 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9521
aa5b8e15
GM
95222000-08-24 Gerd Moellmann <gerd@gnu.org>
9523
17494071
GM
9524 * bytecode.c (mark_byte_stack): Add a comment.
9525
52283633
SM
9526 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9527 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9528 a graphical frame.
9529
c543db81
KH
95302000-08-24 Kenichi Handa <handa@etl.go.jp>
9531
d246d5f5
KH
9532 * minibuf.c (do_completion): Always use compare-string, not
9533 string-equal because the latter doesn't pay attention to
9534 multibyteness of strings.
9535
c543db81
KH
9536 * process.c (create_process): Don't setup raw-text coding here.
9537 (Fopen_network_stream): Don't set coding->src_multibyte and
9538 coding->dst_multibyte here.
9539 (read_process_output): For process filter, return unibyte string
9540 if default-enable-multibyte-characters is nil.
9541 (send_process): If OBJECT is multibyte text, be sure to encoded it
9542 by the specified coding system for the process. Otherwise, setup
9543 raw-text coding.
52283633 9544 (init_process): Don't initialize default-process-coding-system here.
c543db81 9545
9b47cfe0
EZ
95462000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9547
9548 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9549 <scroll-down-aggressively>: Likewise.
9550
f5a36960
KH
95512000-08-23 Kenichi Handa <handa@etl.go.jp>
9552
9553 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9554 zero. Set coding->produced_char correctly.
9555
69a7ffa7
AI
95562000-08-22 Andrew Innes <andrewi@gnu.org>
9557
9558 * makefile.w32-in: New file.
9559
9560 * unexw32.c (unexec): Ignore old_name, and use the actual location
9561 of the current executable instead. Base new_name on this.
9562
9563 * w32proc.c (create_child): Remove reference to security
9564 descriptor, which isn't needed and doesn't compile with mingw32.
9565
9566 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9567 up dllimport attributes.
9568 (x_update_window_end): Update prototype.
9569
9570 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9571 extern, which screws up dllimport attributes.
9572
9573 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9574 up dllimport attributes.
9575
9576 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9577 screws up dllimport attributes.
9578
9579 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9580 up dllimport attributes.
9581 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9582 screws up dllimport attributes.
9583
9584 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9585 up dllimport attributes.
9586
9587 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9588 screws up dllimport attributes.
9589
9590 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9591 screws up dllimport attributes.
9592
9593 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9594 up dllimport attributes.
9595
9596 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9597 unnecessary extern, which screws up dllimport attributes.
9598 (main): Ditto.
9599
9600 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9601 up dllimport attributes.
9602
9603 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9604 unnecessary extern, which screws up dllimport attributes.
9605
9606 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9607 screws up dllimport attributes.
9608
9609 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9610 up dllimport attributes.
9611
9612 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9613
52283633
SM
9614 * w32bdf.c (search_file_line):
9615 (set_bdf_font_info):
9616 (seek_char):
9617 (w32_get_bdf_glyph):
69a7ffa7
AI
9618 (w32_BDF_to_x_font): Fix compile warnings.
9619
52283633 9620 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9621
9622 * w32select.c: Include keyboard.h before frame.h.
9623
9624 * w32fns.c (max): Define macro.
9625 (JOHAB_CHARSET): Define if not known.
9626 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9627 (Fx_show_tip): Synch with X version.
9628
9629 * w32xfns.c: Include keyboard.h before frame.h.
9630
9631 * w32fns.c: Include keyboard.h before frame.h.
9632
9633 * w32term.c: Include keyboard.h before frame.h.
9634
9635 * fontset.c: Include keyboard.h before frame.h.
9636
9637 * w32inevt.c: Include keyboard.h before frame.h.
9638 (MOUSE_MOVED): Define if not known.
9639
9640 * minibuf.c: Include keyboard.h before frame.h.
9641
9642 * keyboard.c: Include keyboard.h before frame.h.
9643
9644 * indent.c: Include keyboard.h before frame.h.
9645
9646 * dispnew.c: Include keyboard.h before frame.h.
9647
9648 * buffer.c: Include keyboard.h before frame.h.
9649
9650 * alloc.c: Include keyboard.h before frame.h.
9651
9652 * print.c: Include keyboard.h before frame.h.
9653
9654 * process.c: Include keyboard.h before frame.h.
9655
9656 * scroll.c: Include keyboard.h before frame.h.
9657
9658 * sysdep.c: Include keyboard.h before frame.h.
9659
9660 * term.c: Include keyboard.h before frame.h.
9661
9662 * window.c: Include keyboard.h before frame.h.
9663
9664 * xdisp.c: Include keyboard.h before frame.h.
9665 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9666
9667 * frame.c: Include keyboard.h before frame.h.
9668
9669 * w32heap.h: Undefine min, max.
9670
9671 * w32gui.h: Undefine min, max.
9672
9673 * unexw32.c: Change PUCHAR to PCHAR.
9674 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9675 (relocate_offset):
9676 (get_section_info):
69a7ffa7
AI
9677 (copy_executable_and_dump_data): Remove unnecessary static defs.
9678 (copy_executable_and_dump_data): Fix compile warnings.
9679
9680 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9681
9682 * w32console.c (min): Define macro.
9683 (clear_frame, write_glyphs): Fix compile warning.
9684
52283633 9685 * w32proc.c (compare_env):
69a7ffa7
AI
9686 (find_child_console): Fix compile warning.
9687
9688 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9689 sys_errlist instead of _sys_errlist.
9690 (get_emacs_configuration_options): New function.
9691
9692 * s/ms-w32.h (sys_nerr): Provide default definition.
9693 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9694 name with _ prepended.
9695 (NSIG): Define if not known.
9696 (get_emacs_configuration): Provide extern declaration.
9697 (get_emacs_configuration_options): Provide extern declaration.
9698 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9699
9700 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9701 (map_w32_filename):
69a7ffa7
AI
9702 (read_unc_volume): Fix compile warning.
9703
9704 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9705 definitions from being used.
9706
9707 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9708
52283633 9709 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9710 (open_unc_volume): Make arg const.
9711
9712 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9713 (read_input_waiting): Remove excess parameter.
9714
9715 * w32.c (init_environment): Call _access.
9716 (check_windows_init_file): Call _close.
9717 (init_user_info): Call _putenv.
9718 (init_environment): Call _putenv and _strdup.
9719 (init_ntproc): Reset volume info cache on startup.
9720
9721 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9722 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9723 cannot override the CRT malloc.
9724
9725 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9726 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9727
9728 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9729 unless we are linking with a static CRT.
9730 (RVA_TO_PTR): Cast result to unsigned char*.
9731
9732 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9733 (add_volume_info): Use xstrdup.
9734
25060080
SM
97352000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9736
9737 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9738 (do_completion, Fminibuffer_complete_word): Use it.
9739 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9740 var so it can take non-boolean values.
9741
6917e6bb
GM
97422000-08-21 Gerd Moellmann <gerd@gnu.org>
9743
acb7cc89 9744 * editfns.c (find_field): Formatting changes.
52283633 9745 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9746 changed to prototypes, some new protypes added, some functions
9747 made static.
9748
9749 * lisp.h (set_time_zone_rule): Add prototype.
9750 (use_dialog_box): External declaration.
9751
0bbfdc25
GM
9752 * keyboard.c (gen_help_event): Add parameter SIZE.
9753 (kbd_buffer_events_waiting): Slightly rewritten.
9754 (clear_event): New function.
9755 (kbd_buffer_get_event): Use it, and clear the input_events of
9756 HELP_EVENTs.
9757 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9758 don't fill the newly created array with nils.
9759 (toplevel): Convert some old-style function forward declarations
9760 to prototypes.
9761
9762 * keyboard.h (gen_help_event): Change prototype.
9763
9764 * xterm.c (XTread_socket): Change calls to gen_help_event.
9765
9766 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9767
6917e6bb
GM
9768 * eval.c (Fmacroexpand): Doc fix.
9769
e5cd3d11
JR
97702000-08-20 Jason Rumney <jasonr@gnu.org>
9771
9772 * w32term.h (x_display_info_for_display): Remove as this function
9773 does not exist on W32.
9774
9775 * w32term.c (help_echo_window): New variable.
9776 (syms_of_w32term): staticpro it.
9777 (note_mode_line_highlight): Set it.
9778 (XTextExtents16): Removed as there is no equivalent on W32.
9779 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9780 the X way of doing this will not work for W32.
9781 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9782 (x_draw_image_foreground): Avoid drawing outside of the clip area
9783 when image doesn't have a mask.
9784 (note_mouse_highlight): Process overlays in the right order of
9785 priority. Set help_echo_window.
9786 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9787 because that's more visible for large images.
9788
9789 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9790 name to single_keymap_panes.
9791 (w32_menu_show): Set wv->title when dealing with titles.
9792 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9793
6e69ab8c
MB
97942000-08-21 Miles Bader <miles@gnu.org>
9795
9796 * minibuf.c (do_completion): Try again if we rewrite the input
9797 string, but no completion was done, so that any completion message
9798 will be correct.
9799
511bd4eb
GM
98002000-08-20 Gerd Moellmann <gerd@gnu.org>
9801
9802 * xfaces.c (lface_equal_p): Compare strings differently.
9803 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9804 (realize_tty_face): Use them.
9805 (syms_of_xfaces): Initialize new variables.
9806 (map_tty_color): New function, extracted from realize_tty_face.
9807 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9808 foreground or background color, store the new color name in the
9809 realized face; previous code trying to do this had no effect.
9810 (realize_tty_face): Use map_tty_color.
9811 (Fclear_face_cache): Set face_change_count and ensure thorough
9812 redisplay.
9813
1433385f
GM
98142000-08-19 Gerd Moellmann <gerd@gnu.org>
9815
511bd4eb
GM
9816 * undo.c (record_first_change, record_marker_adjustment): Don't
9817 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9818
419ac0a2
KH
98192000-08-18 Kenichi Handa <handa@etl.go.jp>
9820
9821 * coding.c (decode_coding_string): Set members consumed,
9822 consumed_char, produced, produced_char of *coding correctly. If
9823 decode_coding doesn't consume any byte, don't try anymore.
9824 (encode_coding_string): Likewise.
9825
7eb9e30d
GM
98262000-08-18 Gerd Moellmann <gerd@gnu.org>
9827
511bd4eb
GM
9828 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9829 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9830
9831 * xdisp.c (redisplay_internal): Compare windows for equality with
9832 EQ, instead of applying XWINDOW to something that might not
9833 be a window.
52283633 9834
dd34a735
KH
98352000-08-18 Kenichi Handa <handa@etl.go.jp>
9836
9837 * fontset.c (Finternal_char_font): Search only the selected frame
9838 for a window of the current buffer.
9839
385ff9e3
GM
98402000-08-18 Gerd Moellmann <gerd@gnu.org>
9841
511bd4eb 9842 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9843 Lisp_Objects.
9844
385ff9e3
GM
9845 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9846 second half of a HELP_EVENT is found at the start of kbd_buffer.
9847
d6abb4c7
MB
98482000-08-18 Miles Bader <miles@gnu.org>
9849
4618074a
MB
9850 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9851
d6abb4c7
MB
9852 * editfns.c (save_restriction_save): Rewrite to use markers.
9853 (save_restriction_restore): Rewrite to understand new form of data
9854 saved by save_restriction_save.
9855 (Fsave_restriction): Remove cautionary note in doc-string.
9856
a7b28523
GM
98572000-08-17 Gerd Moellmann <gerd@gnu.org>
9858
9859 * fileio.c (build_annotations): Add a comment explaining the
9860 return value of format-annotate-function. Replace a spurious call
9861 to Flength with a CONSP test. Call format-annotate-function with
9862 a fifth arg specifying how many times the function is been called
9863 in a row, to let it choose temporary buffers appropriately.
9864
03c9ed77
DL
98652000-08-17 Dave Love <fx@gnu.org>
9866
9867 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9868 declare make_temp_name twice.
9869
52283633 9870 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9871 (unreadpure): Give it an arg.
9872
9873 * unexalpha.c: Prototype fatal_unexec, mark_x,
9874 update_dynamic_symbols. Declare unexec as void.
9875
9876 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9877 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9878
9879 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9880 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9881
9882 * alloca.c: Use #error.
9883 [POINTER_TYPE]: Use it.
9884
9885 * eval.c (Fdefvar): Doc fix.
9886
9887 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9888 INITIALIZE_INTERVAL.
9889
9890 * buffer.h: Avoid DECLARE_INTERVALS.
9891
9892 * config.in: Add size_t.
9893
aae41d97
EZ
98942000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9895
9896 * w16select.c (set_clipboard_data): If there's not enough memory
9897 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9898 expects. In case of other failures, return 3.
9899 (system_error_msg): New error message.
9900 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9901 system_error_msg.
9902
65aa5e85
GM
99032000-08-16 Gerd Moellmann <gerd@gnu.org>
9904
9905 * term.c (write_glyphs): Also turn off inverse video after turning
9906 off other appearances in case TS_exit_attribute_mode is not equal
9907 to TS_end_standout_mode.
9908 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9909 with the same face.
9910 (turn_off_face): Reset standout_mode only if
9911 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9912 is equal to TS_end_standout_mode.
9913
ece23901
KH
99142000-08-16 Kenichi Handa <handa@etl.go.jp>
9915
9d7bcb2e
KH
9916 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9917 sequence at the end of the source block.
9918
ece23901
KH
9919 * ccl.c (Fccl_program_p): Docstring modified.
9920 (Fccl_execute): Likewise.
9921 (Fccl_execute_on_string): Likewise.
9922
5e30eaa2
EZ
99232000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9924
9925 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9926
290602fd
KH
99272000-08-16 Kenichi Handa <handa@etl.go.jp>
9928
9929 The following changes are mainly to fix bugs of
9930 encode/decode-coding-string failing if encoding/decoding return
9931 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9932 variable conversion_buffer.
9933
9934 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9935 decrement dst_end to avoid buffer overflow in the later call of
9936 string_as_multibyte
9937
9938 * coding.h (conversion_buffer_size, conversion_buffer)
9939 (get_conversion_buffer): Extern deleted.
9940
9941 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9942 (conversion_buffer, conversion_buffer_size): Variables deleted.
9943 (get_conversion_buffer): Function deleted.
9944 (struct conversion_buffer): New structure.
9945 (MAX_ALLOCA): New macro.
9946 (allocate_conversion_buffer): New macro.
9947 (extend_conversion_buffer, free_conversion_buffer): New functions.
9948 (ccl_coding_driver): Set coding->result.
9949 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9950 this is the last block of source.
9951 (encode_coding): Likewise. Handle the source block as the last
9952 one only when the whole source text is consumed.
9953 (decode_coding_string): Handle the case that the output buffer is
9954 too small to decode the whole source text. Use
9955 allocate_conversion_buffer, extend_conversion_buffer and
9956 free_conversion_buffer, not get_conversion_buffer.
9957 (encode_coding_string): Likewise.
9958 (init_coding): Function deleted.
52283633 9959 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9960
9961 * emacs.c (main): Don't call init_coding.
9962
52283633 9963 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9964
9965 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9966 (insert_glyphs): Likewise.
9967
9968 * w32console.c (write_glyphs): Use a locally declared
9969 conversion_buffer.
9970
b9f80d41
EZ
99712000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9972
9973 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9974 member of display_info is NULL.
9975
32dc52f7
GM
99762000-08-15 Gerd Moellmann <gerd@gnu.org>
9977
52283633 9978 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9979
32dc52f7 9980 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9981 appearances with capability `me'.
32dc52f7
GM
9982 (write_glyphs): Switch on inverse video before each face change.
9983
4eb22d33
DL
99842000-08-14 Dave Love <fx@gnu.org>
9985
9986 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9987 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9988 (lisp_free): Declare and make static.
9989
9990 * window.c: Fix embedded comment.
9991 (syms_of_window): Fix doc string.
9992
90cbf47e
GM
99932000-08-14 Gerd Moellmann <gerd@gnu.org>
9994
52283633 9995 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9996 make sure to print `C-' before `M-', like in the manual.
9997
440fc135
GM
99982000-08-11 Gerd Moellmann <gerd@gnu.org>
9999
10000 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10001 since they aren't relocated anymore.
52283633 10002 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10003
10004 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10005 partially visible line which is smaller than the window's height.
440fc135 10006
6e264fad
KH
100072000-08-11 Kenichi Handa <handa@etl.go.jp>
10008
10009 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10010 the multibyte form of eight-bit-control characters.
6e264fad
KH
10011 (Fccl_execute_on_string): Initialize ccl->multibyte.
10012
10013 * ccl.h (struct ccl_program): New member multibyte.
10014
10015 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10016
c371f69a
KH
100172000-08-11 Kenichi Handa <handa@etl.go.jp>
10018
10019 * regex.c (regex_compile) <normal_char>: Pay attention to
10020 multibyteness.
10021 (analyse_first) <exactn>: Setup fastmap correctly for
10022 eight-bit-control characters.
10023
100242000-08-11 Kenichi Handa <handa@etl.go.jp>
10025
52283633 10026 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10027
10028 * keyboard.c (make_lispy_event): Handle the new event type
10029 multibyte_char_keystroke.
10030
10031 * xterm.c: Include coding.h.
10032 (XTread_socket): Work around a bug of XmbLookupString. If the
10033 input is from XIM, decode it according to the current locale. In
10034 that case, generate multibyte_char_keystroke events.
10035
b8ddbe71
KH
100362000-08-11 Kenichi Handa <handa@etl.go.jp>
10037
10038 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10039 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10040
47589c8c
GM
100412000-08-10 Gerd Moellmann <gerd@gnu.org>
10042
10043 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10044 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10045 (move_it_in_display_line_to): Record iterator's ascent and descent
10046 before producing glyphs, and restore them when we know the glyph
10047 doesn't fit on the line.
10048 (move_it_to): Restructured so that it's easier to debug. If
10049 moving to a vpos, and not moving to an x or character position,
10050 stop as soon as the specified vpos is reached; don't move further
10051 into that line because that might change the computed line height.
10052 (try_cursor_movement): New function, extracted from the cursor
10053 movement branch of redisplay_window. If ending on a partially
10054 visible line, don't try to scroll if the cursor line is taller
10055 than the window.
10056 (redisplay_window): Use try_cursor_movement.
10057
10058 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10059 because that function doesn't cope with variable-height lines.
10060
10061 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10062 box cursor because that's better visible for large images.
52283633 10063
c51bacd6
MB
100642000-08-10 Miles Bader <miles@gnu.org>
10065
10066 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10067
bea56df7
GM
100682000-08-10 Gerd Moellmann <gerd@gnu.org>
10069
10070 * xdisp.c (Vmessages_buffer_name): New variable.
10071 (message_dolog): Use it.
10072 (syms_of_xdisp): Initialize it.
10073
99cd7364
EZ
100742000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10075
52283633 10076 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10077 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10078 redundant now that keyboard.h is included.
10079
7d093d56
EZ
100802000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10081
10082 * keyboard.c (kbd_buffer_events_waiting): New function.
10083
10084 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10085
10086 * msdos.c: Include keyboard.h.
10087 (XMenuActivate): Empty no_event events from the event buffer. If
10088 no events are left after that, call clear_input_pending.
10089 (mouse_clear_clicks): New function, code moved from mouse_init.
10090 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10091 mouse driver to ``forget'' any past clicks.
10092
10093 * Makefile.in (msdos.o): Depend on keyboard.h.
10094
41e757a6
GM
100952000-08-09 Gerd Moellmann <gerd@gnu.org>
10096
8e7bd231
GM
10097 * lisp.h (input_pending): External declaration.
10098
10099 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10100
8e7bd231
GM
10101 * xdisp.c (echo_area_display): Display thoroughly if input is
10102 pending. Bind redisplay-dont-pause to t during the redisplay.
10103 in case input is pending.
10104
10105 * dispnew.c (Qredisplay_dont_pause): New variable.
10106 (syms_of_display): Initialize and staticpro it.
10107 (update_frame_1): Don't interrupt the display for pending input if
10108 redisplay_dont_pause is set.
52283633 10109
43028b7e
GM
10110 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10111
41e757a6
GM
10112 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10113
2f2174fa
KH
101142000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10115
10116 * callproc.c (Fcall_process): Terminate the unwind-protect around
10117 the post-read-conversion of coding system.
10118
0a6fd67e
MB
10119 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10120 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10121 * buffer.h (overlays_at): Update prototype.
10122 * xdisp.c (next_overlay_change): Update call to overlays_at.
10123 * xfaces.c (face_at_buffer_position): Likewise.
10124 * textprop.c (Fget_char_property): Likewise.
10125 * xterm.c (note_mouse_highlight): Likewise.
10126
0c80756e
MB
10127 * minibuf.c (do_completion): Don't consider a simple change of
10128 case as `completion'.
10129
975f250a
KR
101302000-08-08 Ken Raeburn <raeburn@gnu.org>
10131
52283633 10132 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10133 * undo.c (record_delete): Make sure last_point_position_buffer is
10134 a buffer before comparing pointers.
10135
10136 * coding.h (decode_coding_string): Declare.
10137
10138 * intervals.h (Fprevious_single_char_property_change): Declare.
10139
10140 * textprop.c (Fprevious_single_char_property_change): Don't do
10141 arithmetic directly on lisp objects.
10142
52283633 10143 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10144
10145 * keyboard.h (menu_item_eval_property): Declare.
10146
10147 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10148 reuse as buffer name, instead of recreating (and discarding) every
10149 time a message is logged.
10150 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10151 (current_message_1, truncate_message_1, set_message_1)
10152 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10153 (current_message, truncate_echo_area, display_echo_area)
10154 (resize_echo_area_axactly): Changed calls.
b347b3fd 10155
975f250a 10156 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10157 Lisp object.
975f250a 10158 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10159 must be an integer, not a Lisp object.
975f250a 10160
46dc9912
KH
101612000-08-08 Kenichi Handa <handa@etl.go.jp>
10162
10163 * charset.c (Fchar_width): Doc fix.
10164
9f6d1a6c
GM
101652000-08-08 Gerd Moellmann <gerd@gnu.org>
10166
10167 * charset.c (Fstring_width): Doc fix.
10168
ff3d9573
GM
101692000-08-07 Gerd Moellmann <gerd@gnu.org>
10170
41e757a6 10171 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10172 line, clear ascent and descent members of the iterator structure;
10173 the height of the continued line does not affect the height of the
10174 continuation line.
10175 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10176 line taller than the window.
10177 (redisplay_window) <forced window start>: Handle case that the
10178 middle of the window is not found in any row.
10179 (dump_glyph_row): Show more information.
10180 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10181 first text line in a glyph matrix.
10182
10183 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10184 of the clip area when image doesn't have a mask.
10185
70fc58b3
GM
10186 * fns.c (sweep_weak_table): Fix survival conditions for
10187 key-or-value and key-and-value weakness.
10188
10189 * .gdbinit (xhashtable): New command.
10190
ac0e96ee
GM
10191 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10192 tables out of the list of all weak hash tables.
10193
ff3d9573
GM
10194 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10195 a new buffer is created, make sure echo_area_buffer[] references
10196 the new buffer.
10197
e0d8827b
EZ
101982000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10199
10200 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10201 the doc string.
10202
c6f35378
KH
102032000-08-07 Kenichi Handa <handa@etl.go.jp>
10204
10205 * syntax.c (skip_chars): Fix previous change. Make the handling
10206 of unibyte string consistent with that of regex search.
10207
1fd4c450
GM
102082000-08-05 Gerd Moellmann <gerd@gnu.org>
10209
e49aa397
GM
10210 * xmenu.c (popup_get_selection): Use xfree instead of free.
10211
10212 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10213
10214 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10215
10216 * callproc.c (child_setup): Use xfree instead of free.
10217
10218 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10219 instead of malloc.
10220 (run_mac_command, closedir): Use `xfree' instead of `free'.
10221
10222 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10223
10224 * eval.c (error): Use xfree instead of free.
10225
1fd4c450
GM
10226 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10227
10228 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10229 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10230
82d497fc
KH
102312000-08-05 Kenichi Handa <handa@etl.go.jp>
10232
10233 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10234 conversion.
10235
59f953a2
NF
102362000-08-04 Noah Friedman <friedman@splode.com>
10237
10238 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10239 docstring.
10240
688351f2
GM
102412000-08-04 Gerd Moellmann <gerd@gnu.org>
10242
10243 * syntax.c (skip_chars): Fix typo in error message.
10244
2dad51cc
AS
102452000-08-04 Andreas Schwab <schwab@suse.de>
10246
10247 * m/ia64.h: Moved from s/ia64.h.
10248
99bb2c60
KH
102492000-08-04 Kenichi Handa <handa@etl.go.jp>
10250
082a1df2
KH
10251 * process.c (read_process_output): Big simplification. Handle
10252 composition and post-read-conversion of coding system correctly.
10253 (send_process): Handle composition correctly.
10254
10255 * callproc.c (Fcall_process): Handle post-read-conversion of
10256 coding system if any.
10257
99bb2c60
KH
10258 * coding.c (decode_coding_iso2022): More strict check for handling
10259 single shifting.
082a1df2
KH
10260 (coding_restore_composition): Pay attention to the case that
10261 cmp_data is not set properly (because of invalid code in the
10262 source text).
10263 (run_pre_post_conversion_on_str): Include text properties in the
10264 resulting string.
10265 (decode_coding_string): Set members of coding correctly.
99bb2c60 10266
f4988be7
GM
102672000-08-03 Gerd Moellmann <gerd@gnu.org>
10268
10269 * s/ia64.h: New file.
10270
10271 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10272 Use NULL instead of 0 at the end of variable argument list of
10273 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10274 sizeof (int) < sizeof (void *).
10275
10276 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10277 of variable argument lists of XtVaGetValues and XtVaSetValues.
10278
10279 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10280 variable argument lists of XtVaGetValues and XtVaSetValues.
10281
ead53494
GM
102822000-08-02 Gerd Moellmann <gerd@gnu.org>
10283
10284 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10285 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10286
10287 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10288 prototype.
10289
10290 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10291 in call to Fsingle_key_description.
10292
10293 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10294 Callers changed.
10295
102962000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10297
10298 * window.c (display_buffer_reuse_frames): New variable.
10299 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10300 frames displaying BUFFER.
52283633 10301 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10302
10b0f752
MB
103032000-08-01 Miles Bader <miles@gnu.org>
10304
10305 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10306 when to constrain NEW_POS (they were pretty screwed up before).
10307
16425c4a
EZ
103082000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10309
10310 * msdos.c (run_msdos_command): Save and restore the master
10311 environment, for the case that child_setup signals an error.
10312 When mirroring slashes in DOS shell commands, don't fail when
10313 argv[2] has embedded blanks.
da288c14
EZ
10314 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10315 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10316 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10317
10318 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10319 using alloca; free it after run_msdos_command returns.
10320
27f73852
DL
103212000-07-27 Dave Love <fx@gnu.org>
10322
52283633
SM
10323 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10324 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10325
10326 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10327
c0261b5e
EZ
103282000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10329
10330 * editfns.c (lisp_time_argument): Fix last change.
10331
b548072f
GM
103322000-07-27 Gerd Moellmann <gerd@gnu.org>
10333
3ab82477
GM
10334 * fns.c (Fdelete): Make it work on vectors and strings in addition
10335 to lists.
10336
b548072f
GM
10337 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10338 (syms_of_fns): Initialize new variables.
52283633 10339 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10340 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10341 weakness, with t meaning the same as `key-and-value'.
10342
91ae8751
KH
103432000-07-27 Kenichi Handa <handa@etl.go.jp>
10344
10345 * coding.h (struct coding_system): Member safe_charset deleted.
10346
10347 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10348 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10349 New variables.
91ae8751
KH
10350 (coding_safe_chars): New function.
10351 (CODING_SAFE_CHAR_P): New macro.
10352 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10353 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10354 (detect_coding_iso2022): New local variable safe_chars.
10355 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10356 safe_charsets member of the coding system.
10357 (decode_coding_iso2022): New local variable safe_chars.
10358 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10359 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10360 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10361 (ENCODE_UNSAFE_CHARACTER): New macro.
10362 (encode_coding_iso2022): New local variable safe_chars. Check
10363 unsafe chars.
10364 (setup_coding_system): Delete the code to initialize
10365 coding->safe_charses
10366 (intersection, find_safe_codings): New functions.
10367 (Ffind_coding_systems_region_internal): New function.
10368 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10369 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10370 variable and initialize it.
10371
10372 * fns.c (char_table_ref_and_index): New function.
10373
10374 * lisp.h (char_table_ref_and_index): Add prototype.
10375
34a7a267
SS
103762000-07-26 Sam Steingold <sds@gnu.org>
10377
10378 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10379 (Ffloat_time): New built-in Lisp function.
34a7a267 10380
a95cb10a
GM
103812000-07-26 Gerd Moellmann <gerd@gnu.org>
10382
3353ef5a
GM
10383 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10384 for the character code.
10385
10386 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10387 GNU/Linux.
10388
a95cb10a
GM
10389 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10390 if called for a popup menu.
10391 (xmenu_show): Store help string in widget values.
10392
b4a12321
DL
103932000-07-26 Dave Love <fx@gnu.org>
10394
10395 * syswait.h: Move some definitions.
10396 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10397 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10398 perspicuous definitions.
10399 (WTERMSIG): Fix bit pattern used.
10400
13f5ad37
KH
104012000-07-26 Kenichi Handa <handa@etl.go.jp>
10402
10403 * print.c (print_object): If vector printing is truncated, print
10404 "..." to indicate it as well as the case of list printing.
10405
070fe99c
GM
104062000-07-25 Gerd Moellmann <gerd@gnu.org>
10407
969065c3
GM
10408 * xdisp.c (next_element_from_display_vector): Improve comments.
10409
10410 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10411 for the character code, and the rest for the face id as in 20.x.
10412 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10413
10414 * window.c (window_display_table): Cleaned up.
10415
070fe99c
GM
10416 * syntax.c (Fforward_word): Add last arg nil in call of
10417 Fconstrain_to_field.
10418
bad77ef7
EZ
104192000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10420
969065c3 10421 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10422 identical but for the letter-case, don't call
10423 barf_or_query_if_file_exists.
bad77ef7 10424
c28da489
MB
104252000-07-25 Miles Bader <miles@gnu.org>
10426
10427 * editfns.c (find_field): Honor special `boundary' fields.
10428 (Qboundary): New variables.
10429 (syms_of_editfns): Initialize Qboundary.
10430 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10431 Use scan_buffer instead of find_before_next_newline, because it
10432 allows us to detect the boundary case where there's a newline at
10433 the search limit.
10434 * lisp.h (Fconstrain_to_field): Update external declaration.
10435
e3c31fd5
GM
104362000-07-24 Gerd Moellmann <gerd@gnu.org>
10437
10438 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10439 if that is nil.
c28da489 10440
c66c29a2
DL
104412000-07-24 Dave Love <fx@gnu.org>
10442
10443 * s/sunos4-0.h, s/sol2.h:
10444 (LIBS_TERMCAP): Move from m/sparc.h.
10445
10446 * m/sparc.h (TERMINFO): Moved to system files (probably only
10447 relevant for sunos4 judging by its vintage).
10448 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10449 __arch64__.
10450
fbe0a958
EZ
104512000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10452
10453 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10454 name to single_keymap_panes.
10455
7d88e5c9
AS
104562000-07-24 Andreas Schwab <schwab@suse.de>
10457
10458 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10459
e024b101
GM
104602000-07-24 Gerd Moellmann <gerd@gnu.org>
10461
10462 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10463 parameters instead of using int parameters. Expect FN to accept
10464 EMACS_INT parameters.
10465 (display_echo_area, resize_echo_area_axactly, current_message)
10466 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10467 with new argument list.
10468 (resize_mini_window_1): New callback function.
10469 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10470 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10471
25c1a9ce
KH
104722000-07-24 Kenichi Handa <handa@etl.go.jp>
10473
10474 * fontset.c (fontset_ref): Remove INLINE declaration.
10475 (fontset_ref_via_base): Likewise.
10476 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10477 to downcase.
10478
7f987ac0
EZ
104792000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10480
10481 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10482 correct order of priority. If help echo was found in an overlay,
10483 use that overlay as the object in which the help echo was found.
10484
e2db3069
MB
104852000-07-22 Miles Bader <miles@gnu.org>
10486
10487 * textprop.c (Fprevious_single_char_property_change): The initial
10488 property value should be from the position preceding POSITION, not
10489 following it.
10490
5e3203e4
EZ
104912000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10492
10493 * coding.c (syms_of_coding): Doc fix for
10494 inhibit-iso-escape-detection.
10495
62145073
GM
104962000-07-21 Gerd Moellmann <gerd@gnu.org>
10497
c20aeb83
GM
10498 * xterm.c (note_mouse_highlight): Process overlays in the right
10499 order of priority.
34a7a267 10500
743934db
GM
10501 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10502
10503 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10504 overlay, use that overlay as the object in which the help was found.
743934db 10505
d1dc7e43 10506 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10507
62145073
GM
10508 * window.c (foreach_window): Instead of a fake variable argument
10509 list, take one USER_DATA argument.
10510 (foreach_window_1): Likewise, and call callback functions with two
10511 args, the window and USER_DATA.
10512 (struct check_window_data): New struct.
10513 (check_window_containing): Use it.
10514 (window_from_coordinates): Set up a struct check_window_data for
10515 foreach_window.
10516 (add_window_to_list, freeze_window_start): Change parameters
10517 according to new calling convention.
10518
10519 * window.h (foreach_window): Change prototype.
10520
10521 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10522
105232000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10524
10525 * xmenu.c (menu_help_callback): Call show_help_echo with
10526 additional arguments OBJECT and POS.
10527
11270583
KH
105282000-07-21 Kenichi Handa <handa@etl.go.jp>
10529
07b14857
KH
10530 * data.c (Faset): Allow storing any multibyte character in a
10531 string. Convert unibyte string to multibyte if necessary.
10532
11270583
KH
10533 * xfns.c (x_encode_text): New function.
10534 (x_set_name): Use x_encode_text.
10535 (x_set_title): Likewise.
10536
10537 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10538
10539 * xterm.h (x_encode_text): Add prototype.
10540
bc75b4fd
DL
105412000-07-20 Dave Love <fx@gnu.org>
10542
10543 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10544 xfree, not free.
10545
48c14970
EZ
105462000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10547
10548 * msdos.c (help_echo_window): New variable.
10549 (syms_of_msdos): Initialize and staticpro it.
10550 (IT_note_mode_line_highlight): Set help_echo_window.
10551 (IT_note_mouse_highlight): Ditto.
10552 (dos_rawgetc): Store help_echo_window in the second event produced
10553 for HELP_EVENTs.
10554
10555 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10556 Record the object that generated the help echo and the position of
10557 that object in help_echo_object and help_echo_pos. Record that
10558 some glyphs in a row are displayed in mouse-face.
10559 (IT_update_begin): Don't clear mouse highlight unless one of the
10560 enabled glyph rows is marked as being displayed in mouse-face.
10561 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10562 and position recorded in help_echo_object and help_echo_pos to the
10563 event queue.
10564 (IT_menu_display): Accept a new argument PN: the pane number of
10565 the current menu pane. Record the pane number and the item
10566 number of the item which has associated help string.
10567 (XMenuActivate): Update the prototype for help_callback in
10568 function declaration. Call IT_menu_display with the current menu
10569 pane number as an additional argument. Call help_callback with
10570 two additional arguments: the pane number and the item number of
10571 the menu item associated with the help text.
10572 (help_echo_object, help_echo_pos): New variables.
10573 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10574
10575 * msdos.h (XMenuActivate): Update prototype.
10576
4279296d
GM
105772000-07-19 Gerd Moellmann <gerd@gnu.org>
10578
47db06aa
GM
10579 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10580 Add some more prototypes.
10581
10582 * xterm.c, xterm.h: Add some more prototypes.
10583
10584 * lisp.h (Fnext_single_char_property_change): Add prototype.
10585
10586 * dispnew.c (direct_output_for_insert): Remove confusing
10587 outer local variable mouse_face_overwritten_p.
10588 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10589
4279296d
GM
10590 * alloc.c (allocate_string_data): Don't copy old string contents.
10591
670acd62
KH
105922000-07-19 Kenichi Handa <handa@etl.go.jp>
10593
10594 * coding.c (code_convert_region): Delete text properties before
10595 shrinking the conversion region.
10596
7cea38bc
GM
105972000-07-18 Gerd Moellmann <gerd@gnu.org>
10598
dc1cac59
GM
10599 * dispnew.c (update_text_area): Write the whole row if it
10600 has mouse-face in it.
10601
85a8aca9
GM
10602 * xfaces.c (face-alternative-font-family-alist): Remove
10603 DEFVAR_LISP; staticpro instead.
10604
34a7a267 10605 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10606 new arguments.
10607
10608 * keyboard.c (show_help_echo): Add parameter WINDOW.
10609 (read_char): Call show_help_echo with window extracted from Lisp
10610 help event.
10611 (gen_help_event): Add parameter WINDOW.
10612
10613 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10614
10615 * xterm.c (help_echo_window): New variable.
52283633 10616 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10617 (XTread_socket): Pass help_echo_window to gen_help_event.
10618 (syms_of_xterm): Initialize and staticpro help_echo_window.
10619
f8276b77
DL
106202000-07-18 Dave Love <fx@gnu.org>
10621
52283633 10622 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10623
088831a6
GM
106242000-07-18 Gerd Moellmann <gerd@gnu.org>
10625
3d6cd763
GM
10626 * alloc.c (allocate_string_data): If string had already data
10627 assigned, copy old contents to new string data.
10628
10629 * coding.c (syms_of_coding): Fix typo in spelling of variable
10630 `inhibit-iso-escape-detection'.
10631
088831a6
GM
10632 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10633
10634 * Makefile.in: Add dependencies on dispextern.h.
10635 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10636 `free'; both can conflict with system header files.
10637
bc8a8d55
KH
106382000-07-18 Kenichi Handa <handa@etl.go.jp>
10639
10640 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10641 undefined.
10642
069f5950
DL
106432000-07-18 Dave Love <fx@gnu.org>
10644
10645 * window.c (Fwindow_list): Declare arg `window'.
10646
aa96c820
KH
106472000-07-18 Kenichi Handa <handa@etl.go.jp>
10648
10649 * coding.c (setup_coding_system): Don't override the explicitly
10650 specified designations.
10651
06be8d32
MB
106522000-07-15 Miles Bader <miles@gnu.org>
10653
10654 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10655 from `text_property_eq' and `text_property_stickiness', respectively.
10656 (find_field, Fconstrain_to_field, char_property_eq)
10657 (char_property_stickiness): Changed to call char-property functions
10658 instead of text-property-only ones.
10659
10660 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10661 `next_single_char_property_change'). Do more error checking, and
10662 cleanup limit behavior.
10663 (Fprevious_single_char_property_change): New function.
10664 (syms_of_textprop): Initialize new subrs.
10665
10666 * xdisp.c (display_prop_end, invisible_text_between_p):
10667 Call Fnext_single_char_property_change instead of
10668 next_single_char_property_change.
10669
3fddcdc3
JR
106702000-07-15 Jason Rumney <jasonr@gnu.org>
10671
10672 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10673 after menu is finished with.
10674 (add_menu_item): Only consider wv->title as a menu title.
10675 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10676
10677 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10678 null title.
10679 (FONT_REGEXP): Remove unused macro, and its sub-components.
10680 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10681
10682 * w32term.c (help_echo_object, help_echo_pos): New variables.
10683 (note_mode_line_highlight): Store additional information about the
10684 help-echo in help_echo_object and help_echo_pos. Check both
10685 `local-map' and `keymap' properties for changing the cursor
10686 (note_mouse_highlight): Store additional information about the
10687 help-echo in help_echo_object and help_echo_pos.
10688 (note_tool_bar_highlight): Set help_echo_object to nil and
10689 help_echo_pos to -1.
10690 (w32_read_socket): Use gen_help_event instead of filling
10691 input_events manually.
10692 (syms_of_w32term): Staticpro help_echo_object.
10693 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10694 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10695 (x_clear_mouse_face): New function.
10696 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10697 (x_update_window_begin): No need to turn off the mouse
10698 highlight here.
10699 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10700 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10701 (x_fill_stretch_glyph_string): Consume runs of stretch
10702 glyphs instead of a single one.
10703 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10704 with new argument list.
10705 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10706 (x_append_glyph, x_append_composite_glyph)
10707 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10708 changes in struct glyph starting 1999-12-27. See comments for
10709 xterm.c on 2000-07-05.
10710
178c5d9c
SS
107112000-07-14 Sam Steingold <sds@gnu.org>
10712
10713 * xfaces.c (realize_x_face): Fix the last patch:
10714 check `default_face' before dereferencing.
10715
6fe533f6
DL
107162000-07-14 Dave Love <fx@gnu.org>
10717
069f5950 10718 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10719
dd7b81cf
KH
107202000-07-14 Kenichi Handa <handa@etl.go.jp>
10721
0693904a 10722 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10723 default_face's fontset, not using the default fontset.
0693904a 10724
dd7b81cf
KH
10725 * coding.c (inhibit_iso_escape_detection): New variable.
10726 (syms_of_coding): Make it a Lisp variable.
10727 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10728 nonzero, ignore ISO2022's escape sequence.
10729
d5aa31d8
GM
107302000-07-14 Gerd Moellmann <gerd@gnu.org>
10731
e5acf0ca
GM
10732 * alloca.c (malloc) [emacs]: Define as xmalloc.
10733
bd23a692
GM
10734 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10735 use that instead of the mouse position. Add parameters DX and DY.
10736
10737 * dispextern.h (Fx_show_tip): Adjust number of parameters
10738 in prototype.
10739
9662da0b
GM
10740 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10741 if HELP is a function, call it with OBJECT and POS as parameters
10742 to get the help to display.
10743 (gen_help_event, kbd_buffer_store_help_event): New functions.
10744 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10745 (read_char): Call show_help_echo with new parameters.
10746
178c5d9c 10747 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10748 Add prototypes.
10749
10750 * xterm.c (help_echo_object, help_echo_pos): New variables.
10751 (note_mode_line_highlight): Store additional information about the
10752 help-echo in help_echo_object and help_echo_pos. Check both
10753 `local-map' and `keymap' properties for changing the cursor
10754 (note_mouse_highlight): Store additional information about the
10755 help-echo in help_echo_object and help_echo_pos.
10756 (note_tool_bar_highlight): Set help_echo_object to nil and
10757 help_echo_pos to -1.
10758 (XTread_socket): Use gen_help_event instead of filling
10759 input_events manually.
10760 (syms_of_xterm): Staticpro help_echo_object.
10761
10762 * xmenu.c (menu_highlight_callback): Use
10763 kbd_buffer_store_help_event instead of setting up and input_event
10764 structure manually.
10765
10766 * xdisp.c (eval_form): GCPRO argument sexpr.
10767 (call_function): New function.
10768 (handle_single_display_prop): Use call_function and FUNCTIONP
10769 instead of checking whether if font_height is a symbol and
10770 using eval_form.
10771
10772 * eval.c (internal_condition_case_2): New function.
10773
10774 * lisp.h (FUNCTIONP): New macro.
10775 (internal_condition_case_2, call_function): Add prototypes.
10776
d5aa31d8
GM
10777 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10778 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10779 Always set `arg' member of input_events.
10780 (construct_menu_click): Unused function removed.
10781
10782 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10783
10784 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10785 (construct_drag_n_drop, x_scroll_bar_handle_click)
10786 (w32_read_socket): Always set `arg' member of input_events.
10787
10788 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10789
10790 * lisp.h (eval_form): Add prototype.
10791
10792 * xdisp.c (eval_form): Make it externally visible.
10793
0f1a9b23
GM
107942000-07-13 Gerd Moellmann <gerd@gnu.org>
10795
10796 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10797 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10798 consing. For prefix events, store the frame in the `arg' slot of
10799 the event, otherwise store the key there.
10800 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10801 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10802
10803 * xmenu.c (menu_highlight_callback): Store help string in the
10804 `arg' member of the input event; don't cons.
10805 (menubar_selection_callback): Use the `arg' slot of input events
10806 to queue additional information, instead of consing.
10807
10808 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10809
10810 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10811 TOOL_BAR_EVENTs.
10812 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10813
10814 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10815 input events to queue additional information, instead of consing.
10816
10817 * keyboard.c (kbd_buffer_gcpro): Renamed from
10818 kbd_buffer_frame_or_window. Now used for all Lisp objects
10819 referenced from the input queue.
10820 (kbd_buffer_store_event): Always use structure assignment for
10821 copying input events. Record all Lisp objects referenced from
10822 events in kbd_buffer_gcpro.
10823 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10824 differently from input events. Test for prefix menu_bar_events
10825 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10826 event in kbd_buffer_gcpro to nil.
10827 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10828 frame_or_window is equal to its arg member as prefix events.
10829 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10830 used by an input event to nil.
10831 (init_keyboard): Use two times the size of the input queue
10832 for kbd_buffer_gcpro.
10833 (syms_of_keyboard): Likewise.
10834
52283633
SM
10835 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10836 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10837
10838 * termhooks.h (struct input_event): Add member `arg'.
10839 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10840 (USER_SIGNAL_EVENT): Renamed from user_signal.
10841
10842 * xfaces.c (ASET): Remove definition.
10843
10844 * lisp.h (AREF, ASET, ASIZE): New macros.
10845
10846 * fontset.c (AREF, ASIZE): Remove definitions.
10847
10848 * fns.c (AREF): Remove definition.
178c5d9c 10849
0f1a9b23
GM
10850 * composite.c (AREF): Remove definition.
10851
712eaef2
GM
108522000-07-12 Gerd Moellmann <gerd@gnu.org>
10853
d8ee7803
GM
10854 * dispnew.c (redraw_overlapped_rows): Add missing local.
10855 (scrolling_window): Remove debug code.
10856
712eaef2
GM
10857 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10858 Before scrolling, turn off a mouse-highlight in the window
10859 being scrolled.
10860
10861 * xterm.c (x_update_window_end): Add parameter
10862 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10863 redisplay in XTframe_up_to_date.
10864 (x_clear_mouse_face): New function.
10865 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10866
10867 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10868 current glyph row.
10869 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10870 it when any row is written to that contains glyphs highlighted in
10871 mouse-face.
10872 (update_window): Call the window update end hook with new
10873 parameter MOUSE_FACE_OVERWRITTEN_P.
10874 (direct_output_for_insert): Give up if row contains mouse-face.
10875
10876 * dispextern.h (struct redisplay_interface): Add parameter
10877 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10878 (clear_mouse_face): New function pointer member.
10879
02010917
SM
108802000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10881
10882 * syntax.c (back_comment): Use one switch rather than a few `if's.
10883 Obey open_paren_in_column_0_is_defun_start.
10884 When reverting to the `slow' method, try to nicely handle the case
10885 of nested comments by checking that the comment-starter we found
10886 does indeed match the comment-ender.
10887 (scan_sexps_forward, scan_sexps_forward):
10888 Ignore excessive opening parenthesis rather than throwing an error.
10889
d76c03ea
GM
108902000-07-11 Gerd Moellmann <gerd@gnu.org>
10891
10892 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10893 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10894
10895 * dispnew.c (direct_output_forward_char): Give up if currently
10896 displaying a message instead of the minibuffer contents.
10897
10898 * xterm.c (x_update_window_begin): No need to turn off the mouse
10899 highlight here.
10900 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10901 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10902
10903 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10904 compare the mouse_face_p flags of both rows.
10905
10906 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10907
d55ead18
EZ
109082000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10909
10910 * keyboard.c (show_help_echo): Accept additional parameter
10911 ok_to_overwrite_keystroke_echo.
10912 (read_char): Call show_help_echo with a zero
10913 ok_to_overwrite_keystroke_echo argument.
52283633 10914 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10915 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10916 ok_to_overwrite_keystroke_echo argument.
10917 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10918 non-zero ok_to_overwrite_keystroke_echo argument.
10919
df75b1a3
GM
109202000-07-10 Gerd Moellmann <gerd@gnu.org>
10921
4b92c49a
GM
10922 * xdisp.c (try_window_id): If changes are all below what is
10923 displayed in the window, and point is in the window, we still
10924 might have to find point on the display.
10925
10926 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10927 glyphs instead of a single one.
10928 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10929 with new argument list.
10930 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10931
df75b1a3
GM
10932 * keymap.c (get_keymap_1): Add comment that this function can GC.
10933 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10934 comment that functions can GC.
10935 (Fset_keymap_parent): GCPRO arg KEYMAP.
10936
4314cf3e
EZ
109372000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10938
10939 * msdos.c (XMenuActivate): After exiting the menu, restore the
10940 echo area message and erase it.
10941
ab49ce15
KH
109422000-07-10 Kenichi Handa <handa@etl.go.jp>
10943
10944 * fontset.c (Ffontset_info): Make the return value more compatible
10945 with that of Emacs 20.
10946
090a072f
GM
109472000-07-07 Gerd Moellmann <gerd@gnu.org>
10948
10949 * eval.c (Fsignal): Handle case that backtrace_list is null.
10950
f92de4a6
KH
109512000-07-07 Kenichi Handa <handa@etl.go.jp>
10952
10953 * ccl.c (Fccl_execute): Typo fixed.
10954
dd8888a1
GM
109552000-07-06 Gerd Moellmann <gerd@gnu.org>
10956
e5c81191 10957 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10958
dd8888a1
GM
10959 * window.c (Fwindow_list): Reverse list at the end.
10960 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10961 means allow windows on OWINDOW's frame, only.
10962 (window_loop): Simplified; use Fwindow_list.
10963
10964 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10965
485266d0
GM
109662000-07-05 Gerd Moellmann <gerd@gnu.org>
10967
10968 * xterm.c (XTread_socket): Increment handling_signal at the start,
10969 decrement it at the end.
10970
10971 * eval.c (handling_signal): New variable.
10972 (Fsignal): Abort if handling_signal is non-zero.
10973
10974 * lisp.h (handling_signal): External declaration.
178c5d9c 10975
485266d0
GM
10976 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10977
80fcd514
KR
109782000-07-05 Ken Raeburn <raeburn@gnu.org>
10979
10980 Sound support for NetBSD through "Linux emulation" support:
10981 * config.in (HAVE_SOUNDCARD_H): Undef.
10982 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10983 * Makefile.in (LIBSOUND): New variable.
10984 (LIBES): Include it.
52283633
SM
10985 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10986 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10987 (vox_open): Use DEFAULT_SOUND_DEVICE.
10988 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10989
d5c5cddd
GM
109902000-07-05 Gerd Moellmann <gerd@gnu.org>
10991
10992 * print.c (print_error_message): If Vsignaling_function is set,
10993 show it in *Messages*.
10994
10995 * lisp.h (Vsignaling_function): External declaration.
10996
10997 * eval.c (Vsignaling_function): New variable.
10998 (Fsignal): Compute it.
10999 (syms_of_eval): Staticpro it.
11000
65171e3a
DL
110012000-07-05 Dave Love <fx@gnu.org>
11002
11003 * syswait.h: Use the autoconf recommended approach. Old code
11004 #if'd out in case we need to revert.
11005
178c5d9c 11006 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11007
e2c46326
AI
110082000-07-05 Andrew Innes <andrewi@gnu.org>
11009
11010 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11011 when non-NULL instead of __morecore, to take account of buffer
11012 memory. This also solves a problem with spurious memory warnings
11013 on Windows.
11014
11015 * ralloc.c: Make real_morecore non-static.
11016
11017 * eval.c (internal_condition_case): Comment out abort if
11018 interrupt_input_blocked is not zero.
11019
11020 * makefile.nt: Add support for `bootstrap' and related targets.
11021 Include minimal debug info in emacs.exe in release build.
11022 Remove all dependencies on lisp.h, and fixup some others.
11023
11024 * w32.c (init_environment): Install code from 20.7 for providing
11025 default values for environment variables, based on the
11026 executable's own location.
52283633 11027 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11028 (sys_socket): Install socket inheritance bug fix from 20.7.
11029
11030 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11031 here via blockinput.h).
11032
a027a91b
SM
110332000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11034
e4b31601
SM
11035 * w32menu.c (w32_menu_display_help):
11036 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11037
11038 * keyboard.h (show_help_echo): Declare.
11039
11040 * keyboard.c (show_help_echo): New function, extracted from read_char.
11041 Feval its `msg' argument if it's a cons cell.
11042 (read_char): Use it.
4cf8d9d5 11043 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11044
178c5d9c 11045 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11046 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11047 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11048 (dos_rawgetc):
11049 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11050 (note_tool_bar_highlight, w32_read_socket):
11051 Do not gratuitously ignore non-string `help-echo' properties.
11052
88d75730
GM
110532000-07-05 Gerd Moellmann <gerd@gnu.org>
11054
969f7e79
GM
11055 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11056
71201b00
GM
11057 * window.c (delete_all_subwindows): Reset Vwindow_list.
11058
88d75730
GM
11059 * xterm.c (x_append_glyph, x_append_composite_glyph)
11060 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11061 changes in struct glyph starting 1999-12-27. Some bit-fields of
11062 struct glyph were not set, which made glyphs unequal when compared
11063 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11064 effects were the result. This also depended on the contents of
11065 memory returned by xmalloc. If flickering happens again, activate
11066 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11067 gone with that, chances are that it is caused by something similar.
88d75730
GM
11068
11069 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11070
88d75730
GM
11071 * dispextern.h: Add some comments.
11072
11073 * window.c (add_window_to_list): Add parameter LIST.
11074 (window_list): Order list so that, for each frame, windows are
11075 in canonical order, and so that frames appear in the list in
11076 the order given by Vframe_list.
11077 (next_window): Reverse the handling of NEXT_P.
11078
53654733
GM
110792000-07-04 Gerd Moellmann <gerd@gnu.org>
11080
87efd256
GM
11081 * window.c (Vwindow_list): New variable.
11082 (make_window, delete_window): Set Vwindow_list to nil.
11083 (check_window_containing): New function.
11084 (window_from_coordinates): Rewritten.
11085 (add_window_to_list, window_list, candidate_window_p)
11086 (decode_next_window_args, next_window): New functions.
52283633 11087 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11088 (Fwindow_list): New function.
11089 (Fother_window): Cleaned up.
11090 (foreach_window): Add a longer "variable argument list". Let
11091 callback function return 0 to indicate that cycling over windows
11092 should stop.
11093 (foreach_window_1): Likewise.
11094 (freeze_window_start): Return int.
11095 (init_window): New function.
11096 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11097
11098 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11099 input_event with bzero.
11100 (main): Call init_window.
11101
53654733
GM
11102 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11103 a menu filter.
11104
4a8c194f
KH
111052000-07-04 Kenichi Handa <handa@etl.go.jp>
11106
11107 * composite.h (make_composition_value_copy): Extern it.
11108
11109 * composite.c (make_composition_value_copy): New function.
11110
11111 * editfns.c (Fformat): While copying text properties, make each
11112 composition property value a copy.
11113
11114 * fns.c (concat): While copying text properties, make each
11115 composition property value a copy.
11116
831a6cb0
GM
111172000-07-03 Gerd Moellmann <gerd@gnu.org>
11118
2f516940
GM
11119 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11120
178c5d9c 11121 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11122 marked already.
11123
831a6cb0
GM
11124 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11125 include those frames as candidates which have their focus
11126 redirected to the minibuffer frame.
11127
d9c4f922
SM
111282000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11129
11130 * fns.c (Fputhash): Return `value' rather than nil.
11131
3780bc22
GM
111322000-06-30 Gerd Moellmann <gerd@gnu.org>
11133
97d176db
GM
11134 * frame.c (next_frame): Don't check focus redirection in case
11135 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11136 unless their focus is redirected, which contradicts the
11137 specification of next-frame, and leads to infinite loops in
11138 certain situations when cycling through windows with next-window.
11139
dca9961d
KH
111402000-06-30 Kenichi Handa <handa@etl.go.jp>
11141
11142 * coding.c (code_convert_region): Even if the length of text is
11143 zero, try to convert it if coding->type is coding_type_ccl.
11144 (decode_coding_string, encode_coding_string): Likewise.
11145
d5483ab1
GM
111462000-06-28 Gerd Moellmann <gerd@gnu.org>
11147
af5c25e1 11148 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11149 the display if windows_or_buffers_changed.
af5c25e1
GM
11150
11151 * dispnew.c (struct row_entry): New structure.
11152 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11153 (row_table_size, old_lines, new_lines, old_lines_size)
11154 (new_lines_size, run_pool, runs_size, runs): New variables.
11155 (add_row_entry): New function.
11156 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11157 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11158 holding them in local variables. Use a larger hash table whose
11159 size depends on glyph matrix sizes. Don't use bzero to clear the
11160 hash table; instead, clear used slots only.
11161
11162 * fns.c (next_almost_prime): Make it externally visible.
11163
11164 * lisp.h (next_almost_prime): Add prototype.
11165
d5483ab1
GM
11166 * s/isc4-0.h (sigunblock): Define.
11167
11168 * s/sco5.h (sigunblock): Define.
11169
93e40f40
DL
111702000-06-27 Dave Love <fx@gnu.org>
11171
11172 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11173 (moved to osf5-0.h).
11174 [!NOT_C_CODE]: Protect string.h stuff.
11175
11176 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11177 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11178
3c4b7685
GM
111792000-06-27 Gerd Moellmann <gerd@gnu.org>
11180
97d176db 11181 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11182 below the last line from the needed window height.
11183
32cad0aa
SM
111842000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11185
11186 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11187 (Fwidget_get): Use it.
11188 (syms_of_fns): Defsubr it.
11189
2c69ced2
GM
111902000-06-26 Gerd Moellmann <gerd@gnu.org>
11191
178c5d9c 11192 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11193 display info for XIM.
11194 (xim_open_dpy): Likewise.
11195 (xim_close_dpy): Don't free the display info's XIM.
11196
11197 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11198
11199 * config.in (USE_XIM): New define.
11200
3fc720e4
GM
11201 * keymap.c (get_keyelt): For menu-items containing a `:filter
11202 FILTER', apply FILTER to the menu-item's definition to get the
11203 real definition to use.
11204
11205 * lisp.h (QCfilter): External declaration.
11206
2c69ced2
GM
11207 * xfns.c (Fimage_size): New function.
11208 (syms_of_xfns): Defsubr it.
11209
f978b2a2
AS
112102000-06-26 Andreas Schwab <schwab@suse.de>
11211
11212 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11213 Fstring_as_unibyte.
11214
94cc7892
DL
112152000-06-25 Dave Love <fx@gnu.org>
11216
52283633 11217 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11218
11219 * Makefile.in (blockinput.h): Depend on atimer.h.
11220 (atimer.h): Depend on systime.h.
11221
52283633 11222 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11223
52283633 11224 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11225
11226 * lisp.h (swap_in_global_binding): Declare.
11227
b8c24556
KR
112282000-06-24 Ken Raeburn <raeburn@gnu.org>
11229
11230 * process.c (Fopen_network_stream): Turn off atimers for duration
11231 of call to connect. (Patch from Gerd.)
11232
8cf8560b
DL
112332000-06-23 Dave Love <fx@gnu.org>
11234
511c7541
DL
11235 * ralloc.c: Maybe include unistd.h
11236
8cf8560b
DL
11237 * emacs.c (setgrp): Undefine before defining.
11238 (malloc_warning, set_time_zone_rule, index): Prototype.
11239
11240 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11241 HAVE_STRUCT_TIMEZONE.
11242
11243 * s/osf1.h: Move string.h hack here from alpha.h and make it
11244 conditional.
11245 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11246 _XOPEN_SOURCE.
11247 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11248 (SOCKLEN_TYPE): Don't define.
11249
11250 * m/alpha.h: Remove string.h hack.
11251
11252 * s/osf5-0.h: New file.
11253
11254 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11255 include time.h, done by systime.h.
11256 [__FreeBSD__]: Remove redundant includes.
11257
3fc720e4 11258 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11259 (delete_temp_file): Return Qnil to avoid warning.
11260
11261 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11262
11263 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11264 HAVE_X_WINDOWS.
11265
11266 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11267
11268 * composite.h (compose_text): Declare.
11269
11270 * xterm.c: Don't include sys/types.h unconditionally. Don't
11271 protect its inclusion with !USG (following xmenu.c).
11272
ea055732
GM
112732000-06-23 Gerd Moellmann <gerd@gnu.org>
11274
11275 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11276 in x_create_frame.
11277
74b01b80
EZ
112782000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11279
11280 * coding.c (decode_eol_post_ccl): Special handling for undecided
11281 and inconsistent EOL types.
11282
64f3a166
GM
112832000-06-22 Gerd Moellmann <gerd@gnu.org>
11284
16cf31f7
GM
11285 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11286 trough color and main window's background color.
11287
52283633 11288 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11289
11290 * xterm.h (Xt_app_con): External declaration.
11291
11292 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11293
486a103d
GM
11294 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11295
64f3a166
GM
11296 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11297 (handle_invisible_prop): Record the start of invisible text in
11298 it->add_overlay_start.
11299 (struct overlay_entry): Add member `overlay'.
11300 (handle_overlay_change): Simplify.
11301 (next_overlay_string): After having processed overlay strings at the
11302 end of the buffer, record that fact in
11303 it->overlay_strings_at_end_processed_p.
11304 (compare_overlay_entries): If before- and after-strings come
11305 from the same overlay, let before-strings come first.
11306 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11307 (load_overlay_strings): Take it->add_overlay_start into account
11308 when adding overlay strings.
11309
11310 * dispextern.h (struct it): Add member add_overlay_start.
11311
bb746ea6
DL
113122000-06-22 Dave Love <fx@gnu.org>
11313
11314 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11315
11316 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11317
a8f573f3
KH
113182000-06-22 Kenichi Handa <handa@etl.go.jp>
11319
11320 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11321 is greater than 0.
11322
9f2bbc92
DL
113232000-06-21 Dave Love <fx@gnu.org>
11324
178c5d9c 11325 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11326
3ee5041c
SM
113272000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11328
11329 * syntax.c (back_comment): Simplify string-parity counting (with
11330 the added benefit of handling multiple string-styles as long as
11331 they are not intertwined).
11332 Jump to the slow code as soon as a comment starter is found in
11333 a "string_lossage" position. Fixes the case: " /* " /* " */.
11334
4c343001
DL
113352000-06-21 Dave Love <fx@gnu.org>
11336
11337 * Makefile.in: Use GETLOADAVG_LIBS.
11338
11339 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11340 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11341
e6365855
SM
113422000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11343
11344 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11345 (Fforward_comment, scan_lists):
11346 Check the comstyle of single-char comment-starters.
11347 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11348 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11349 Check the comstyle of single-char comment-starters.
11350 Clarify control-flow around the Scomment case.
e6365855 11351
5700d2cc
DL
113522000-06-20 Dave Love <fx@gnu.org>
11353
d355bd8a
SM
11354 * fns.c (make_hash_table, maybe_resize_hash_table):
11355 Cast arg of next_almost_prime.
5700d2cc 11356
178c5d9c 11357 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11358
11359 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11360 and unistd.h.
11361
4a27bdfb
GM
113622000-06-20 Gerd Moellmann <gerd@gnu.org>
11363
a61d762c 11364 * keyboard.c (adjust_point_for_property): Check if display
52283633 11365 property should be treated as intangible by looking at its value.
a61d762c 11366
178c5d9c 11367 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11368 (display_prop_intangible_p): New functions.
11369
11370 * dispextern.h (display_prop_intangible_p): Add prototype.
11371
11372 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11373
4a27bdfb
GM
11374 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11375 argument to sigprocmask.
11376
11377 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11378 argument to sigprocmask.
11379
11380 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11381 sigprocmask_set, and pass a pointer to it to sigprocmask.
11382
11383 * sysdep.c (sigprocmask_set): New variable.
11384
11385 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11386 report_file_error.
11387
427ec082
SS
113882000-06-20 Sam Steingold <sds@gnu.org>
11389
11390 * xrdb.c: Don't declare xmalloc, xrealloc.
11391
8972fe79 113922000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11393
11394 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11395 (re_comp): Cast gettext return value to avoid complaints when
11396 !HAVE_LIBINTL.
11397
074b6efe
DL
113982000-06-20 Dave Love <fx@gnu.org>
11399
52283633 11400 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11401
5700d2cc 11402 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11403
d355bd8a 11404 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11405
11406 * m/alpha.h: Don't declare xmalloc, xrealloc.
11407
0af4f205
DL
11408 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11409
11410 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11411
11412 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11413
11414 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11415 HAVE_GETWD.
11416
074b6efe
DL
11417 * keyboard.h (poll_for_input_1): Declare.
11418
11419 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11420
11421 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11422
11423 * doprnt.c: Don't declare xmalloc, xrealloc.
11424
11425 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11426 (getenv, ctime, getwd): Removed.
11427 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11428
11429 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11430 x_set_tool_bar_lines.
11431
11432 * config.in: Add HAVE_GETWD. Move some definitions above
11433 machine/system includes.
11434
68a5e97b
KH
114352000-06-20 Kenichi Handa <handa@etl.go.jp>
11436
95417e1e
KH
11437 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11438
68a5e97b
KH
11439 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11440 contain information about ENCODING.
11441
11442 * fontset.c (FONTSET_ASCII): Use the first element of char table
11443 for an ASCII font, not defalt slot.
11444 (fontset_ref_via_base): If FONTSET doesn't contain information for
11445 C, try the default fontset.
11446 (make_fontset): Don't copy the default fontset.
11447 (fontset_font_pattern): Likewise.
11448 (accumulate_font_info): If ELT is nil, use the corresponding
11449 element in the default fontset.
11450
3b4fa1b2
DL
114512000-06-19 Dave Love <fx@gnu.org>
11452
943e731c
DL
11453 * syntax.c (Fparse_partial_sexp): Doc fix.
11454
11455 * regex.h: Test PROTOTYPES as well as __STDC__.
11456
3b4fa1b2
DL
11457 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11458 errno, strerror. Put text after #endif in comment.
11459
52283633 11460 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11461
11462 * xterm.c (x_frame_of_widget): Likewise.
11463
cdf0357b
GM
114642000-06-19 Gerd Moellmann <gerd@gnu.org>
11465
11466 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11467 to Vfundamental_mode_abbrev_table.
11468
11469 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11470 bogus objects are marked. This slows down GC by ~80 percent, but
11471 it might be worth trying when debugging GC-related problems.
11472 This feature requires conservative stack marking to be enabled.
11473
11474 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11475 returns XLookupChars, reset `modifiers' to zero.
11476
998e9f8c
DL
114772000-06-19 Dave Love <fx@gnu.org>
11478
11479 * mktime.c: Unprotoized.
11480
18e21ce8 114812000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11482
11483 * data.c (set_internal): If variable is frame-local,
11484 store the new value immediately into the frame parameter alist.
11485
140c4ac6
KR
114862000-06-19 Ken Raeburn <raeburn@gnu.org>
11487
14358466
KR
11488 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11489 in the custom handler pointer.
11490
140c4ac6
KR
11491 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11492 value, or checks for CHAR_META can fail when Lisp_Object is a
11493 union type.
11494 * keymap.c (get_keyelt): Likewise.
11495
10d7bf84
KH
114962000-06-19 Kenichi Handa <handa@etl.go.jp>
11497
11498 * ccl.h (struct ccl_program): New member eol_type.
11499 (struct ccl_spec): New member cr_carryover.
11500
11501 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11502 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11503
11504 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11505 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11506 (decode_eol_post_ccl): New function.
11507 (decode_coding): Don't detect EOL format here for CCL based coding
11508 systems.
11509 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11510 decode_eol_post_ccl after running the CCL program.
11511 (code_convert_region): Don't detect EOL format here for CCL based
11512 coding systems.
11513 (decode_coding_string): Likewise.
11514
52e386c2
KR
115152000-06-18 Ken Raeburn <raeburn@gnu.org>
11516
11517 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11518 when treating it as an integer.
11519
11520 * coding.h (encode_coding_string): Declare.
11521
11522 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11523 it as an integer.
11524
11525 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11526 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11527 to be passed to get_local_map.
11528
11529 * sound.c (Fplay_sound): Don't call make_number on
11530 Frun_hook_with_args count argument.
11531
11532 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11533 for lisp objects in X event structure data field, when lisp
11534 objects are represented with unions.
11535 (x_scroll_bar_to_input_event): Ditto.
11536
b357b9d4
KR
115372000-06-16 Ken Raeburn <raeburn@gnu.org>
11538
11539 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11540 termination of string. Fix sense of test whether
11541 Vline_number_display_limit is an integer.
b357b9d4 11542
a871441d
GM
115432000-06-16 Gerd Moellmann <gerd@gnu.org>
11544
a9021acd
GM
11545 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11546 only if HAVE_X_WINDOWS.
11547
6344985d
GM
11548 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11549 of titles.
11550
427ec082 11551 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11552 out of bounds.
11553
228b083e
EZ
115542000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11555
11556 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11557 of its headers.
11558
c25b53a2
KH
115592000-06-15 Kenichi Handa <handa@etl.go.jp>
11560
11561 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11562 start of the while loop.
11563
a6981b11
GM
115642000-06-15 Gerd Moellmann <gerd@gnu.org>
11565
e9924e52
GM
11566 * atimer.c (alarm_signal_handler): Add forward declaration.
11567
a6981b11
GM
11568 * data.c (set_internal): Remove debug code.
11569
25fa6deb
GM
115702000-06-14 Gerd Moellmann <gerd@gnu.org>
11571
dce6b995
GM
11572 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11573
9f817ea4
GM
11574 * unexec.c (toplevel) [COFF]: Include coff.h.
11575
11576 * s/lynxos.h: New file.
11577
11578 * keymap.c (Fsingle_key_description): Enclose function key and
11579 event symbol names in angle brackets.
11580
8a4e3c0c
GM
11581 * xdisp.c (setup_echo_area_for_printing): Call
11582 message_log_maybe_newline if message_buf_print is not set.
11583
11584 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11585 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11586 function does something useful even when message_buf_print is
11587 already set.
11588
52283633
SM
11589 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11590 New variables.
25fa6deb
GM
11591 (ensure_echo_area_buffers): Initialize echo buffer's
11592 truncate lines setting to nil.
11593 (with_echo_area_buffer): Don't set the echo buffer's truncate
11594 lines setting here.
8a4e3c0c 11595 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11596 of message_truncate_lines.
11597 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11598 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11599 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11600
11601 * keyboard.c (read_char): Bind message-truncate-lines to t
11602 while displaying a help-echo.
11603
11604 * lisp.h (Qmessage_truncate_lines): External declaration.
11605
163dcff3
GM
116062000-06-13 Gerd Moellmann <gerd@gnu.org>
11607
1681ead6
GM
11608 * xdisp.c (Vline_number_display_limit): Renamed from
11609 line_number_display_limit.
11610 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11611 Extend documentation string. Initialize
11612 Vline_number_display_limit to nil meaning no limit.
11613 (decode_mode_spec): Use Vline_number_display_limit with its new
11614 meaning.
11615
163dcff3
GM
11616 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11617
18e21ce8 116182000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11619
11620 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11621
163dcff3
GM
11622 * xfns.c (x_set_frame_parameters): Comment fix.
11623
11624 * frame.c (store_frame_param): Call swap_in_global_binding if the
11625 variable's current binding was chosen based on this frame.
11626
11627 * data.c (swap_in_global_binding): New function.
11628
a704139d
EZ
116292000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11630
11631 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11632 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11633
9b6610db
EZ
116342000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11635
11636 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11637
c68833d2
JR
116382000-06-12 Jason Rumney <jasonr@gnu.org>
11639
11640 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11641
11642 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11643
11644 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11645
11646 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11647
ed1056b3
GM
116482000-06-12 Gerd Moellmann <gerd@gnu.org>
11649
11650 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11651 (syms_of_xfaces): Defsubr Sdump_colors.
11652 (x_free_colors): Don't treat b&w specially on default visual.
11653 (x_free_dpy_colors): New function.
11654 (free_face_colors): Don't check visual class; it's done
11655 in x_free_colors.
11656
11657 * xterm.c (x_frame_of_widget): New function.
11658 (x_alloc_nearest_color_for_widget): Use it.
11659 (x_copy_dpy_color): New function.
11660 (x_destroy_window): Free various colors.
11661
5050a2ef
KH
116622000-06-12 Kenichi Handa <handa@etl.go.jp>
11663
11664 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11665
11666 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11667
11668 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11669
11670 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11671
11672 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11673
fb1b041d
DL
116742000-06-11 Dave Love <fx@gnu.org>
11675
11676 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11677
ff96b5f4
EZ
116782000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11679
11680 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11681
db8eeecd
GM
116822000-06-11 Gerd Moellmann <gerd@gnu.org>
11683
ed1056b3 11684 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11685 to `XEvent *'.
11686
49b71c5f
KH
116872000-06-10 Kenichi Handa <handa@etl.go.jp>
11688
c479bd55
KH
11689 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11690 (regex_compile): Fix the code for handling the case of single byte
11691 char and multibyte char being mixed in a range within [...].
11692
ff6a65c2
KH
11693 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11694 and dst_multibyte members of coding.
11695
49b71c5f
KH
11696 * charset.c (update_charset_table): Update the table
11697 bytes_by_char_head.
11698 (init_charset_once): Initialize elements of bytes_by_char_head to
11699 1 except for leading codes for private charases.
11700
11701 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11702 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11703
9e80b57d
KR
117042000-06-09 Ken Raeburn <raeburn@gnu.org>
11705
11706 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11707 access the data it doesn't point to.
11708
f83fe4b4
GM
117092000-06-08 Gerd Moellmann <gerd@gnu.org>
11710
11711 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11712 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11713 event queue. This is necessary because Emacs otherwise won't
11714 perform a switch-frame to a new frame until some other event, for
11715 example a keystroke event, forces it to do so. This has various
11716 effects, one visible being that the cursor of a frame created with
11717 C-x 5 2 or switched to with a window manager key binding like
11718 A-TAB stays hollow because selected_window isn't on the newly
11719 focused frame until the switch-frame is performed.
11720
11721 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11722 generating a switch-frame event if necessary.
11723
11724 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11725
11726 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11727 it's an integer.
11728
0890801b
KH
117292000-06-08 Kenichi Handa <handa@etl.go.jp>
11730
52283633 11731 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11732
173cbca8
GM
117332000-06-07 Gerd Moellmann <gerd@gnu.org>
11734
3091c2a6
GM
11735 * window.c (displayed_window_lines): Take empty lines at
11736 the bottom of a window into account.
427ec082 11737
f38952fe
GM
11738 * window.c (displayed_window_lines): New function.
11739 (Fmove_to_window_line): Use displayed_window_lines to determine
11740 the number of lines to move, instead of using the window's height.
11741
11742 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11743 to stop reading, even if the form read sets point to a different
11744 value when evaluated.
11745
427ec082 11746 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11747 put the cursor.
11748
6ba6c818
KH
117492000-06-07 Kenichi Handa <handa@etl.go.jp>
11750
11751 * fileio.c (e_write): Free composition data if stored in
11752 coding->cmp_data.
11753
5f1aea9a
GM
117542000-06-06 Gerd Moellmann <gerd@gnu.org>
11755
666852af
GM
11756 * xdisp.c (display_line): Set row's and iterator's
11757 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11758 Set cursor even if row ends in the middle of a character.
11759 (dump_glyph_row): Print values of new flags.
11760 (redisplay_window) <cursor movement in unchanged window>: When
11761 point has been moved forward, and PT is at the end of the cursor
11762 row, don't place the cursor in the next row if the cursor row ends
11763 in the middle of a character or at ZV.
11764
11765 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11766 (struct glyph_row): Add starts_in_middle_of_char_p and
11767 ends_in_middle_of_char_p.
11768 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11769 ends_in_middle_of_char_p flag.
11770 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11771
d13f3e2e
GM
11772 * term.c (append_glyph): Revert change of 2000-06-06.
11773
11774 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11775 padding glyph not fitting on line as whole character not
11776 fitting on line.
11777
5f1aea9a
GM
11778 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11779 this isn't true for images with `:ascent 100'.
11780
10cda9b0
KH
117812000-06-06 Kenichi Handa <handa@etl.go.jp>
11782
ed00559d
KH
11783 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11784 as modified if it is originally unmodified.
11785
10cda9b0
KH
11786 * term.c (encode_terminal_code): Change the way to check if
11787 terminal coding does any conversion.
11788 (append_glyph): Set glyph->pixel_width correctly.
11789
11790 * xdisp.c (display_line): While checking line continuation, pay
11791 attention to a padding glyph.
11792
1969fae2
GM
117932000-06-05 Gerd Moellmann <gerd@gnu.org>
11794
11795 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11796
162ccef4
DL
117972000-06-05 Dave Love <fx@gnu.org>
11798
f19f32dd
DL
11799 * xdisp.c: Include fontset.h.
11800
11801 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11802
11803 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11804
11805 * dispnew.c: Conditionally include term.h.
11806
11807 * coding.h: Declare code_convert_string_norecord.
11808
11809 * frame.h (struct frame): Use volatile unconditionally.
11810
11811 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11812
11813 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11814
11815 * systime.h: Protect against multiple inclusion.
11816 (timezone) [USG5_4]: Define as time_t.
11817
11818 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11819 (Foptimize_char_table, make_temp_name): Declare.
11820
11821 * Makefile.in (xdisp.o): Depend on fontset.h.
11822
11823 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11824
11825 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11826 (Foptimize_char_table, make_temp_name): Declare.
11827
427ec082 11828 * s/irix4-0.h:
162ccef4
DL
11829 * s/irix5-0.h:
11830 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11831
2082fe81
DL
118322000-06-02 Dave Love <fx@gnu.org>
11833
11834 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11835
dcf671d2
GM
118362000-06-02 Gerd Moellmann <gerd@gnu.org>
11837
11838 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11839 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11840 be freed.
11841
11842 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11843 glyph, use the ASCII NUL character to determine the face.
11844
d42122a3
DL
118452000-06-02 Dave Love <fx@gnu.org>
11846
11847 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11848 (VFORK_RETURN_TYPE): Remove.
427ec082 11849
d42122a3
DL
11850 * config.in: Add NO_MATHERR.
11851
dd432f16
DL
118522000-06-01 Dave Love <fx@gnu.org>
11853
90aa4ea8
DL
11854 * cmds.c (internal_self_insert): Don't check
11855 Vbefore_change_function, Vafter_change_function.
11856
11857 * insdel.c (signal_before_change, signal_after_change): Likewise.
11858
11859 * buffer.c (Vbefore_change_function, Vafter_change_function):
11860 Variables and their initializations deleted.
11861
2330c9d4
DL
11862 * callint.c (Fcall_interactively): Doc fix.
11863
dd432f16
DL
11864 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11865
bf9e8804
DL
118662000-05-31 Dave Love <fx@gnu.org>
11867
11868 * textprop.c: Revert last change -- duplicated.
11869
3694b4ab
GM
118702000-05-31 Gerd Moellmann <gerd@gnu.org>
11871
11872 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11873 in #if 0.
11874
11875 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11876
f14156cd
JR
118772000-05-31 Jason Rumney <jasonr@gnu.org>
11878
8119aab8
JR
11879 * search.c (Fre_search_forward, Fre_search_backward)
11880 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11881
f14156cd
JR
11882 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11883
4aab9be3
JR
118842000-05-30 Jason Rumney <jasonr@gnu.org>
11885
11886 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11887 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11888
52283633 11889 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11890
11891 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11892 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11893 expand a nil default_filename.
11894
11895 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11896 pointer to glyph_to_pixel_coords, not a frame.
11897
11898 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11899 coding.h to dependencies.
11900
11901 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11902
11903 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11904 window pointer to be consistent with w32term.c and xterm.c.
11905
11906 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11907 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11908 (Qline_spacing, Qcenter): New variables.
11909 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11910 (x_set_line_spacing): New function.
52283633 11911 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11912 (x_specified_cursor_type): New function.
11913 (x_set_cursor_type): Use it.
11914 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11915 and icon strings.
11916 (validate_x_resource_name, x_get_resource_string): Measure lengths
11917 of external strings in bytes.
11918 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11919 GetTextExtentPoint32 with NULL title.
11920 (Fx_create_frame): Initialize Qline_spacing.
11921 (w32_load_system_font): Initialize font->double_byte_p.
11922 (x_to_w32_charset): Use Vw32_charset_info_alist.
11923 (Image, busy cursor, tooltip functions): Merged changes from
11924 xfns.c. Not yet functional on Windows.
11925
11926 * w32gui.h (W32FontStruct): Add double_byte_p member.
11927
11928 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11929 (emacs_button_translation): Use it.
11930 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11931 in `mask' to be set.
11932
11933 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11934 menu strings.
11935
11936 * w32term.c: Format and doc changes to bring closer to xterm.c.
11937 (w32_char_font_type): New enum.
11938 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11939 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11940 (w32_encode_char): New function.
11941 (x_encode_char): Removed.
11942 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11943 x_encode_char and w32_font_is_double_byte.
11944 (x_produce_image_glyph): Use image_ascent.
11945 (x_produce_glyphs): Use new version of w32_per_char_metric and
11946 handle NULL return value. Allow extra line spacing.
11947 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11948 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11949 w32_font_type member of glyph instead.
11950 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11951 (fast_find_position): Make sure not to consider rows not visible
11952 in the window.
11953 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11954 w32_menu_display_help with input blocked, as it can abort.
11955 (x_display_and_set_cursor): Choose cursor depending
11956 on buffer-local value of cursor_type.
11957 (x_draw_bar_cursor): Add parameter WIDTH.
11958
11959 * w32term.h (CP_DEFAULT): Define.
11960 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11961
10fc3187
GM
119622000-05-30 Gerd Moellmann <gerd@gnu.org>
11963
11964 * search.c (Fre_search_forward, Fre_search_backward)
11965 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11966
d0555360
KH
119672000-05-30 Kenichi Handa <handa@etl.go.jp>
11968
11969 * coding.c (detect_coding_iso2022): Fix code for checking
11970 CODING_CATEGORY_MASK_ISO_8_2.
11971
f1ad044f
SM
119722000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11973
11974 * regex.c (PREFETCH_NOLIMIT): New function.
11975 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11976
84ec3b4b
GM
119772000-05-29 Gerd Moellmann <gerd@gnu.org>
11978
66254a13
GM
11979 * syntax.c (find_defun_start): Move test for
11980 open_paren_in_column_0_is_defun_start outside of the loop.
11981
49e70dec
GM
11982 * xdisp.c (redisplay_window): Really switch buffers when
11983 displaying mode lines, and temporarily set selected_frame to the
11984 frame of the window that's redisplayed.
11985
84ec3b4b
GM
11986 * xfaces.c (free_realized_faces): Block/unblock input.
11987 (free_realized_multibyte_face): Ditto.
11988
869a3a14
DL
119892000-05-29 Dave Love <fx@gnu.org>
11990
11991 * textprop.c (Qkeymap): New variable.
11992 (syms_of_textprop): Intern it.
11993
11994 * keymap.c: Include intervals.h.
11995 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11996
11997 * Makefile.in (keymap.o): Depend on intervals.h.
11998
11999 * keyboard.c (menu_bar_items, tool_bar_items)
12000 (Fexecute_extended_command): Deal with `keymap' property.
12001 (read_key_sequence): Track map from `keymap' property as well as
12002 `local_map'.
12003
12004 * intervals.c (get_local_map): Extra arg to allow looking for
12005 `keymap' too.
12006
12007 * intervals.h (map_property): New enum.
12008 (get_local_map): Extra arg using it.
12009 (Qkeymap): Declare.
12010
84ec3b4b 12011 * lisp.h (get_local_map): Don't declare here.
869a3a14 12012
89d0c844
KH
120132000-05-29 Kenichi Handa <handa@etl.go.jp>
12014
12015 * Makefile.in (callproc.o): Depend on composite.h.
12016
12017 * callproc.c: Include composite.h.
12018 (Fcall_process): Handle composition correctly.
12019
12020 * coding.h (coding_allocate_composition_data): Extern it.
12021 (coding_restore_composition): Likewise.
12022
12023 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12024 yet allocated, finish decoding with result
12025 CODING_FINISH_INSUFFICIENT_CMP.
12026 (coding_allocate_composition_data): Make it non-static.
12027 (coding_restore_composition): Likewise.
12028
797a084a
EZ
120292000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12030
12031 * charset.c (syms_of_charset): Revert last change.
12032
cf872af5
EZ
120332000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12034
12035 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12036 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12037 Handa.
cf872af5 12038
5b1ae051
EZ
120392000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12040
12041 * charset.c (syms_of_charset): Set width of character sets
12042 eight-bit-control and eight-bit-graphic to 1 column.
12043
34ec9ebe
GM
120442000-05-26 Gerd Moellmann <gerd@gnu.org>
12045
12046 * config.in (HAVE_SPEED_T): New define.
12047
12048 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12049 `extern speed_t'.
12050
dd854dc2
DL
120512000-05-26 Dave Love <fx@gnu.org>
12052
12053 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12054
12055 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12056 (Fsubr_arity): New function.
12057 (syms_of_data): Install them.
12058
ba9f8f95
KH
120592000-05-26 Kenichi Handa <handa@etl.go.jp>
12060
0f3e0672
KH
12061 * charset.c (init_charset_once): Set the table bytes_by_char_head
12062 correctly.
12063
cebefb44
KH
12064 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12065 the default fontset to what Emacs uses by default.
0f3e0672
KH
12066 (check_registry_encoding): This function deleted.
12067 (Fset_fontset_font): Remove the adhoc condition for the default
12068 fontset. Allow cons in FONTNAME.
cebefb44 12069
0f3e0672
KH
12070 * fns.c (map_char_table): Ignore char-table entries for
12071 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12072
7a18af49
KR
120732000-05-25 Ken Raeburn <raeburn@gnu.org>
12074
12075 * emacs.c (main): Initialize keyboard syms before initializing
12076 window code, so face names are available.
12077
d2af47df
SM
120782000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12079
12080 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12081 of an anchor at the beginning of a shy-group.
12082
fc6a6a4e
GM
120832000-05-25 Gerd Moellmann <gerd@gnu.org>
12084
12085 * xdisp.c (handle_invisible_prop): Don't try to skip over
12086 invisible text if end of text is already reached.
12087
005f0d35
DL
120882000-05-25 Dave Love <fx@gnu.org>
12089
02513cdd
DL
12090 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12091
005f0d35
DL
12092 * coding.c (encode_eol): Add null statement after label.
12093
89f6ca4e
EZ
120942000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12095
12096 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12097 2000-05-20.
12098
a4e1759e
KH
120992000-05-25 Kenichi Handa <handa@etl.go.jp>
12100
12101 * ccl.c (ccl_driver): Fix previous change.
12102
eacfd7fe
KH
121032000-05-25 Kenichi Handa <handa@etl.go.jp>
12104
46ab33a9
KH
12105 * coding.c (run_pre_post_conversion_on_str): Set point to the
12106 beginning of buffer before calling coding->post_read_conversion.
12107 (decode_coding_string): Give correct args to
12108 run_pre_post_conversion_on_str.
12109 (encode_coding_string): Likewise.
12110
eacfd7fe
KH
12111 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12112 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12113 eight-bit-graphic correctly.
12114
f8569325
DL
121152000-05-24 Kenichi HANDA <handa@etl.go.jp>
12116
12117 * fileio.c (Finsert_file_contents): Even if a file is not found,
12118 execute codes for setting up coding system. Call
12119 after-insert-file-functions unconditionally.
12120
04545643
GM
121212000-05-24 Gerd Moellmann <gerd@gnu.org>
12122
12123 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12124 BSD_PGRPS are not defined.
12125
747d90ea
KH
121262000-05-24 Kenichi Handa <handa@etl.go.jp>
12127
12128 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12129 DESCRIPTION.
12130 (syms_of_charset): Avoid building same strings.
12131
716e3b88
GM
121322000-05-23 Gerd Moellmann <gerd@gnu.org>
12133
12134 * lread.c (Fload): Add a comment about the meaning of
12135 Vuser_init_file being t.
12136
12137 * puresize.h (BASE_PURESIZE): Increase to 675000.
12138
12139 * s/gnu-linux.h (setpgrp): Don't define it here because this
12140 prevents compilation on GNU/Linux systems with glib 2.2.
12141
12142 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12143 as setpgid.
427ec082 12144
9aeb39fa
EZ
121452000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12146
12147 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12148 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12149 version.
12150 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12151
29ced61b
KH
121522000-05-23 Kenichi Handa <handa@etl.go.jp>
12153
52283633 12154 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12155
3d80f24d
KH
12156 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12157
52283633 12158 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12159
29ced61b
KH
12160 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12161
d7e00792
KH
121622000-05-22 Kenichi Handa <handa@etl.go.jp>
12163
c9d80d38
KH
12164 * keyboard.c (read_char): Allow character codes 128..255 to be
12165 handled by input-method-function.
12166
d7e00792
KH
12167 * insdel.c (adjust_markers_for_replace): Fix previous change.
12168 (adjust_after_replace): If PREV_TEXT is nil, call
12169 adjust_markers_for_insert, not adjust_markers_for_replace.
12170
087121cc 121712000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12172
087121cc
GM
12173 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12174 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12175 [HAVE_GRANDPT]: Define.
12176 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12177
12178 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12179 like SYSV_PTYS.
12180
12181 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12182
12183 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12184
c9671f81
KH
121852000-05-20 Kenichi Handa <handa@etl.go.jp>
12186
12187 The following changes are to handle 8-bit characters in a
12188 multibyte buffer/string without facing with byte combining
12189 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12190 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12191
12192 * Makefile.in (fns.o): Depend on charset.h.
12193
12194 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12195 convert it to unibyte.
12196 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12197
12198 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12199 apparent char boundary.
12200 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12201 0x80..0x9F to/from multibyte form.
12202
12203 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12204 to unibyte.
12205
12206 * callproc.c (Fcall_process): Always encode an argument string if
12207 it is multibyte. Setup src_multibyte and dst_multibyte members of
12208 process_coding properly.
ce75fd23 12209
c9671f81
KH
12210 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12211 SPLIT_NON_ASCII_CHAR.
12212
12213 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12214 as is.
12215 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12216
52283633 12217 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12218 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12219 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12220 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12221 and eight-bit-graphic.
12222 (char_to_string): Likewise. Signal an error for too large
12223 character code.
12224 (char_printable_p): Return 0 for 8-bit characters.
12225 (update_charset_table): Update iso_charset_table only when a final
12226 character is non-negative.
12227 (find_charset_in_text): Renamed from find_charset_in_str.
12228 Arguments and return value changed. Callers changed.
12229 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12230 be -1 if CHARSET is used only internally.
12231 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12232 eight-bit-graphic.
12233 (Fcharset_after): Simplified.
12234 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12235 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12236 (multibyte_chars_in_text): Simplified by assuming there's no
12237 invalid multibyte sequence.
52283633
SM
12238 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12239 (str_as_unibyte): New functions.
12240 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12241 (init_charset_once): Initialization for
12242 LEADING_CODE_8_BIT_CONTROL.
12243 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12244 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12245 eight-bit-control and eight-bit-graphic.
12246
52283633
SM
12247 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12248 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12249 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12250 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12251 (CHARSET_REVERSE_CHARSET): Likewise.
12252 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12253 eight-bit-graphic.
12254 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12255 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12256 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12257 encounter an invalid multibyte sequence.
12258 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12259 sequence is always valid.
12260 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12261 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12262 (CHAR_STRING): For 8-bit characters, call char_to_string.
12263 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12264 multibyte sequence is always valid.
12265 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12266 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12267 (str_as_unibyte): Extern them.
c9671f81 12268 (BCOPY_SHORT): Fix a bug.
52283633 12269 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12270 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12271 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12272 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12273
bd4bde7f 12274 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12275 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12276 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12277 (EMIT_BYTES): New macros.
12278 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12279 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12280 macros deleted.
12281 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12282 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12283 check the validity of multibyte sequence.
12284 (decode_coding_emacs_mule): New function.
12285 (encode_coding_emacs_mule): New macro.
12286 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12287 the source.
12288 (DECODE_ISO_CHARACTER): Just return a character code.
12289 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12290 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12291 EMIT_CHAR to produced decoded characters. Exit the loop only by
12292 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12293 block here.
12294 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12295 only position codes for an invalid character.
12296 (encode_designation_at_bol): Return new destination pointer. 5th
12297 arg DSTP is changed to DST.
12298 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12299 from the source by ONE_MORE_CHAR. Don't handle the case of last
12300 block here.
12301 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12302 macros deleted.
52283633
SM
12303 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12304 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12305 TWO_MORE_BYTES to fetch a byte from the source.
12306 (encode_eol): Pay attention to coding->src_multibyte.
12307 (detect_coding, detect_eol): Preserve members src_multibyte and
12308 dst_multibyte.
12309 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12310 (encoding_buffer_size): Set magnification to 3 for all coding
12311 systems that require encoding.
12312 (ccl_coding_driver): For decoding, be sure that the result is
12313 valid multibyte sequence.
12314 (decode_coding): Initialize coding->errors and coding->result.
12315 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12316 and raw-text, always call decode_eol. Handle the case of last
12317 block here. If not coding->dst_multibyte, convert the resulting
12318 sequence to unibyte.
12319 (encode_coding): Initialize coding->errors and coding->result.
12320 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12321 and raw-text, always call encode_eol. Handle the case of last
12322 block here.
12323 (shrink_decoding_region, shrink_encoding_region): Detect cases
12324 that we can't skip data more rigidly.
12325 (code_convert_region): Setup src_multibyte and dst_multibyte
12326 members of coding. For decoding, if the buffer is multibyte,
12327 convert the source sequence to unibyte in advance. For encoding,
12328 if the buffer is multibyte, convert the resulting sequence to
12329 multibyte afterward.
12330 (run_pre_post_conversion_on_str): New function.
12331 (code_convert_string): Deleted and divided into the following two.
12332 (decode_coding_string, encode_coding_string): New functions.
12333 (code_convert_string1, code_convert_string_norecord): Call one of
12334 above.
12335 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12336 MAKE_NON_ASCII_CHAR.
52283633
SM
12337 (Fset_terminal_coding_system_internal)
12338 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12339 and dst_multibyte members.
12340 (init_coding_once): Initialize iso_code_class with new enum
12341 ISO_control_0 and ISO_control_1.
12342
12343 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12344 devided into ISO_control_0 and ISO_control_1.
12345 (struct coding_system): New members src_multibyte, dst_multibyte,
12346 errors, and result. Delete member fake_multibyte.
12347 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12348 nonzero.
12349 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12350 nonzero.
12351
12352 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12353 (Faset): Likewise.
12354
12355 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12356 multibyte form.
12357 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12358 combining occurs.
12359 (Ftranspose_region): Delete codes for handling byte combining.
12360
12361 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12362 dst_multibyte members of coding. On handling REPLACE on unibyte
12363 buffer, convert the result of decode_coding to unibyte. On
12364 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12365 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12366 multibyteness of the source (buffer or string).
12367
12368 * fns.c (concat): Handle 8-bit characters correctly.
12369 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12370 unibyte in the result.
12371 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12372 valid multibyte form in the result.
12373 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12374 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12375 return -1, signal an error.
12376 (base64_encode_1): New arg MULTIBYTE. Get each character by
12377 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12378 character is found, return -1.
12379 (Fbase64_decode_region): Delete codes for handling byte-combining.
12380 Treat each decoded byte as a unibyte character.
12381 (Fbase64_decode_string): Return unibyte string.
12382 (Fcompare_strings, concat, string_byte_to_char): Use
12383 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12384 FETCH_STRING_CHAR_ADVANCE.
12385 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12386 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12387
12388 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12389 SPLIT_NON_ASCII_CHAR.
12390 (fontset_ref_via_base, fontset_set): Likewise
12391
12392 * insdel.c (adjust_markers_for_record_delete): Deleted.
12393 (adjust_markers_for_insert): Argument changed. Caller changed.
12394 (adjust_markers_for_replace): Likewise.
52283633
SM
12395 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12396 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12397 (copy_text): Delete unused local varialbe c_save. For converting
12398 to multibyte, be sure to make all 8-bit characters in valid
12399 multibyte form.
12400 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12401 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12402 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12403 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12404 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12405 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12406 handling byte combining.
12407 (adjust_before_replace): Deleted.
427ec082 12408
c9671f81
KH
12409 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12410 SPLIT_NON_ASCII_CHAR.
12411 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12412 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12413 (Fkey_description): Likewise.
12414
12415 * lread.c (read1): On reading multibyte string, be sure to make
12416 all 8-bit chararacters in valid multibyte form.
12417 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12418
12419 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12420 unconditionally.
12421
12422 * process.c (Fstart_process): GCPRO current_dir before calling
12423 Ffind_operation_coding_system. Encode arguments here.
12424 (create_process): Don't encode arguments here. Setup
12425 src_multibyte and dst_multibyte members of struct coding.
12426 (read_process_output): Setup src_multibyte and dst_multibyte
12427 members of struct coding. If the output is to multibyte buffer,
12428 always decode the output of the process. Adjust the
52283633 12429 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12430 (send_process): Setup coding->src_multibyte according to the
12431 multibyteness of the source.
12432
52283633 12433 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12434 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12435 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12436
52283633 12437 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12438
12439 * w16select.c (Fw16_set_clipboard_data): Setup members
12440 src_multibyte and dst_multibyte of coding. Adjusted for the
12441 change for find_charset_in_str.
12442 (Fw16_get_clipboard_data): Likewise.
12443
12444 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12445 dst_multibyte of coding.
12446 (x_to_w32_font): Likewise.
12447
12448 * w32select.c (Fw32_set_clipboard_data): Setup members
12449 src_multibyte and dst_multibyte of coding. Adjusted for the
12450 change for find_charset_in_str.
12451 (Fw32_get_clipboard_data): Likewise.
12452
12453 * xdisp.c (get_next_display_element): Handle 8-bit characters
12454 correctly.
52283633
SM
12455 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12456 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12457
12458 * xselect.c (selection_data_to_lisp_data): Setup members
12459 src_multibyte and dst_multibyte of coding. Adjusted for the
12460 change for find_charset_in_str.
12461 (lisp_data_to_selection_data): Likewise.
12462
5f64c9e0
GM
124632000-05-19 Gerd Moellmann <gerd@gnu.org>
12464
52283633 12465 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12466
5f64c9e0
GM
12467 * dispextern.h (Vimage_types): Add extern declaration.
12468
12469 * xdisp.c (Vimage_types): Moved here from xfns.c.
12470 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12471
12472 * xfns.c (Vimages_types): Moved to xdisp.c.
12473 (syms_of_xfns): Move `image-types' to xdisp.c.
12474
12475 * w32fns.c (Vimage_types): Removed.
12476 (syms_of_w32fns): Remove `image-types'.
12477
813086ea
KH
124782000-05-18 Kenichi Handa <handa@etl.go.jp>
12479
12480 * fns.c (map_char_table): Pay attention to character number of
12481 charset. Check the validity of charset at the first level. For
12482 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12483 the default value.
12484
12485 * fontset.c: Include "buffer.h".
12486 (fs_load_font): If the face has fontset, record the face ID in
12487 that fontset.
12488 (Finternal_char_font): New function.
12489 (accumulate_font_info): New function.
12490 (Ffontset_info): Rewritten for the new fontset implementation.
12491 (syms_of_fontset): Register Vdefault_fontset in the first element
12492 of Vfontset_table. Include Vdefault_fontset in
12493 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12494 function.
12495
bdaebbf0
DL
124962000-05-16 Dave Love <fx@gnu.org>
12497
12498 * m/iris5d.h: Deleted -- unused.
12499
cb613bb8
GM
125002000-05-16 Gerd Moellmann <gerd@gnu.org>
12501
b15f3b77
GM
12502 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12503 `invalid' instead of `illegal'.
12504
12505 * indent.c (Fmove_to_column): When ending within a tab, insert
12506 spaces first so that markers at the end of the tab get adjusted.
12507
835c1b36
GM
12508 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12509 buffer list that wasn't selected in that frame.
12510
cb613bb8
GM
12511 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12512 is needed on mescaline, use a 2 char prefix, and call
12513 make_temp_name with second arg non-zero.
12514
12515 * fileio.c (make_temp_name): New function, extracted from
12516 Fmake_temp_name.
12517 (Fmake_temp_name): Use it.
12518
f685bea9
EZ
125192000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12520
52283633 12521 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12522
a1b8d58b
GM
125232000-05-15 Gerd Moellmann <gerd@gnu.org>
12524
12525 * Makefile.in (lisp): Add env.elc.
12526
12527 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12528
a265079f
GM
125292000-05-12 Gerd Moellmann <gerd@gnu.org>
12530
12531 * search.c (Freplace_match): Handle case of `\N' in the
12532 replacement when there's no group N.
12533
da4496b6
GM
125342000-05-11 Gerd Moellmann <gerd@gnu.org>
12535
0ace421a
GM
12536 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12537 of the message to message_dolog.
12538
1172eb8d
GM
12539 * keyboard.c (read_char): Don't clear current message for help
12540 events; let the code handling help events handle this. Change
12541 code detecting help events that should be ignored.
12542
da4496b6
GM
12543 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12544 we're interating over a string.
12545
0623e40f
DL
125462000-05-09 Dave Love <fx@gnu.org>
12547
12548 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12549 that offset before writing. Move gcpro region past call of
12550 Ffile_regular_p.
12551
bae2503b
DL
125522000-05-04 Dave Love <fx@gnu.org>
12553
12554 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12555
ec82fb2f
GM
125562000-05-04 Gerd Moellmann <gerd@gnu.org>
12557
12558 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12559 of inserted characters when BUF equals the current buffer, and PT
12560 is in front of or equal to FROM.
12561
cbf18892
GM
125622000-05-03 Gerd Moellmann <gerd@gnu.org>
12563
4ff40dd0
GM
12564 * xdisp.c (handle_single_display_prop): If display property value
12565 is invalid, or something not supported on the frame, restore
12566 iterator's position to what it was initially. Make sure to return
12567 0 for invalid and unsupported property values.
12568
cbf18892
GM
12569 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12570 that x_per_char_metric returns null.
12571
1b0672c3
GM
125722000-05-02 Gerd Moellmann <gerd@gnu.org>
12573
576da55d
GM
12574 * xterm.h (struct face): Add forward declaration.
12575 (struct image): Ditto.
12576 (image_ascent): Add prototype.
12577
12578 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12579 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12580 image_ascent instead of using IMAGE_ASCENT.
12581
12582 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12583 (IMAGE_ASCENT): Removed.
12584
12585 * xfns.c (Qcenter): New variable.
12586 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12587 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12588 (image_ascent): New function.
12589 (lookup_image): Recognize `:ascent center'.
12590 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12591 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12592 (xbm_load): Don't set image's ascent here.
12593 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12594 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12595 check ascent values here.
12596 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12597 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12598 (syms_of_xfns): Initialize Qcenter.
12599
1b0672c3
GM
12600 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12601 to the limits, increase the limits.
12602
0d7811ed
KH
126032000-05-01 Kenichi Handa <handa@etl.go.jp>
12604
12605 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12606 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12607
a943a5ca
GM
126082000-04-28 Gerd Moellmann <gerd@gnu.org>
12609
12610 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12611 taller than the window.
12612
5dba1e29
KH
126132000-04-28 Kenichi Handa <handa@etl.go.jp>
12614
12615 * xfaces.c (realize_x_face): Fix the argument of the second
12616 xassert. BASE_FACE may not be a face for ASCII.
12617
353964e3
GM
126182000-04-27 Gerd Moellmann <gerd@gnu.org>
12619
c76e04a8
GM
12620 * print.c (print_object): Treat print-length < 0 as nil.
12621
12622 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12623
12624 * s/freebsd.h (TERMCAP_OBJ): Removed.
12625 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12626
12627 * lread.c (read1): Don't treat period followed by certain
12628 characters as symbol start.
12629
12630 * xfns.c (slurp_file): New function.
12631 (xbm_image_p): Handle case of in-memory XBM files.
12632 (xbm_scan): Rewritten to work on memory buffers instead of files.
12633 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12634 Work on memory buffers instead of files. If DATA is null test
12635 if buffer looks like an in-memory XBM file.
12636 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12637 memory buffers instead of files.
12638 (xbm_file_p): New function.
12639 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12640
353964e3
GM
12641 * lread.c (end_of_file_error): New function.
12642 (read1): Call it instead of signaling `end-of-file' directly.
12643
427ec082 12644 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12645 with Fprinc instead of Fprin1.
12646
24d744ac
KR
126472000-04-26 Ken Raeburn <raeburn@gnu.org>
12648
12649 * window.c (freeze_window_start): Check that minibuffer scroll
12650 window isn't nil before extracting the window structure pointer
12651 from it.
12652
12653 * undo.c (record_delete): If we hit the end of the undo list, stop
12654 picking elements apart.
12655
7464346d
GM
126562000-04-26 Gerd Moellmann <gerd@gnu.org>
12657
12658 * xdisp.c (display_line): If lines are continued, restore
12659 iterator's ascent/descent information to the values before the
12660 first glyph not fitting on the line.
12661
612839b6
GM
126622000-04-25 Gerd Moellmann <gerd@gnu.org>
12663
12664 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12665 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12666
12667 * dispnew.c (increment_matrix_positions): Renamed from
12668 increment_glyph_matrix_buffer_positions.
12669 (increment_row_positions): Renamed from
12670 increment_glyph_row_buffer_positions.
12671
12672 * dispextern.h: Change names of renamed functions from dispnew.c
12673 in prototypes.
12674
cc181e95
GM
126752000-04-24 Gerd Moellmann <gerd@gnu.org>
12676
abfcc168
GM
12677 * fileio.c (Fdo_auto_save): Create directories for auto-save
12678 list file if necessary.
12679
cc181e95
GM
12680 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12681 from buffer or frame.
12682 (automatic_hscrolling_p): New variable.
12683 (hscroll_windows): Scroll windows horizontally only if automatic
12684 hscrolling is allowed.
12685 (syms_of_xdisp): New variable `automatic-hscrolling'.
12686
12687 * frame.h (struct frame): Add member extra_line_spacing.
12688
12689 * xfns.c (x_set_line_spacing): New function.
12690 (Fx_create_frame): Set line spacing from resources.
12691 (Qline_spacing): New variable.
12692 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12693
cc181e95
GM
12694 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12695
12696 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12697 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12698 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12699 extra_line_spacing from default value.
12700 (init_buffer_once): Initialize default value of extra_line_spacing.
12701
12702 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12703 and extra3.
12704
12705 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12706 prompt_width. Add extra line spacing.
12707
12708 * term.c (produce_glyphs): Remove reference to struct it's
12709 prompt_width.
12710
12711 * dispextern.h (struct it): Remove member prompt_width, add
12712 extra_line_spacing.
12713
58827478
GM
127142000-04-22 Gerd Moellmann <gerd@gnu.org>
12715
12716 * dispnew.c (update_frame_line): When writing a whole line, make
12717 sure cursor is in the right row afterwards, otherwise a use of
12718 capability `ch' in cmgoto might leave the cursor in the row below.
12719
25a87f42
GM
127202000-04-21 Gerd Moellmann <gerd@gnu.org>
12721
12722 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12723
12724 * keyboard.c (timer_check): Fix typo in comment.
12725
54edf5c2
KH
127262000-04-21 Kenichi Handa <handa@etl.go.jp>
12727
12728 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12729 name change: ch -> character.
12730
3a64eef5
GM
127312000-04-20 Gerd Moellmann <gerd@gnu.org>
12732
12733 * keyboard.c (echo_message_buffer): New variable.
12734 (echo_now): Set echo_message_buffer to the echo area buffer used
12735 to display the echo.
12736 (cancel_echoing): Reset echo_message_buffer to nil.
12737 (read_char): Code rewritten that handles canceling an echo or
12738 echoing a dash, respectively.
12739
12740 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12741 directory doesn't exist.
12742
6142fdcb
DL
127432000-04-19 Dave Love <fx@gnu.org>
12744
12745 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12746 (concat): Don't allow numeric args.
12747 (Fconcat): Doc change.
6142fdcb 12748
ac6b5352
SM
127492000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12750
12751 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12752 instead define end_match(1|2) more carefully.
12753 Use GET_CHAR_BEFORE_2 for `begline'.
12754
cb9215e4
GM
127552000-04-19 Gerd Moellmann <gerd@gnu.org>
12756
5e3dac3f
GM
12757 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12758 on 64-bit systems where NULL is defined as `0'.
12759
12760 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12761 the `variable argument list' to make it work on Alpha.
12762
cb9215e4
GM
12763 * m/alpha.h (_LP64) [!_LP64]: Define.
12764 (ORDINARY_LINK): Define for NetBSD.
12765
12766 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12767
f532dca0
DL
127682000-04-19 Dave Love <fx@gnu.org>
12769
c750667e
DL
12770 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12771 change.
12772
12773 * Makefile.in (LIBS): Don't use.
12774 (GETLOADAVG_OBJ): Define again.
12775 (otherobj): Add GETLOADAVG_OBJ.
12776
f532dca0
DL
12777 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12778
1c7e22fd
GM
127792000-04-18 Gerd Moellmann <gerd@gnu.org>
12780
f6d3257b
GM
12781 * lread.c (read_filtered_event): Cancel and start busy cursor.
12782
427ec082 12783 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12784 that the per-character metrics may be null.
12785
e10f64e7
GM
127862000-04-17 Gerd Moellmann <gerd@gnu.org>
12787
0daee095
GM
12788 * buffer.c (clone_per_buffer_values): New function.
12789 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12790 clone_per_buffer_values if CLONE is not nil.
12791
e10f64e7
GM
12792 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12793
38687d43
DL
127942000-04-16 Dave Love <fx@gnu.org>
12795
12796 * Makefile.in: Remove obsolete localcpp stuff.
12797 (GETLOADAVG_OBJ): Don't define.
12798 (obj): Move LIBOBJS...
12799 (otherobj): ... to here.
12800 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12801 whitespace-only lines after the continuation (Irix).
12802
c21c7262
GM
128032000-04-14 Gerd Moellmann <gerd@gnu.org>
12804
12805 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12806
12807 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12808
314767c0
DL
128092000-04-14 Dave Love <fx@gnu.org>
12810
12811 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12812 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12813 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12814 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12815 NLIST_STRUCT.
12816
12817 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12818 autoconfiscated HAVE_GETLOADAVG.
12819
12820 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12821 BROKEN_MKTIME.
12822
a2522dca
GM
128232000-04-14 Gerd Moellmann <gerd@gnu.org>
12824
12825 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12826 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12827
33744b5d
DL
128282000-04-14 Dave Love <fx@gnu.org>
12829
c21c7262 12830 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12831 (INTERVAL_SRC): Convert to make variable.
12832 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12833 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12834 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12835 add LIBOBJS.
12836 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12837 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12838 (shortlisp): Add facemenu, float-sup, frame.
12839 (SOME_MACHINE_LISP): Remove them from here.
12840 (LIBES): Change unused LDLIBS to autoconf LIBS.
12841
12842 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12843
9d3d5916
KH
128442000-04-14 Kenichi Handa <handa@etl.go.jp>
12845
12846 * composite.c (update_compositions): If FROM and TO are not in a
12847 valid range, do nothing.
12848
198e3c7a
GM
128492000-04-13 Gerd Moellmann <gerd@gnu.org>
12850
52283633 12851 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12852
52283633 12853 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12854
12855 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12856 as TERMCAP_OBJ.
12857
055a28c9
EZ
128582000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12859
12860 * fileio.c (a_write): Remove redundant semi-colons.
12861 (e_write): Return -1 if failed to write all the data.
12862 This fixes the changes made at 1999-12-15.
12863
f5c75033
DL
128642000-04-12 Dave Love <fx@gnu.org>
12865
12866 * fns.c (mapcar1): Test for null vals to support mapc.
12867 (Fmapc): New function.
12868
0c3cfc51
EZ
128692000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12870
12871 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12872 (IT_frame_up_to_date): Support the buffer local value of
12873 cursor-type, if defined.
12874
33465a31
DL
128752000-04-10 Dave Love <fx@gnu.org>
12876
12877 * editfns.c (preceding-char, following-char): Doc fix.
12878
6ed56568
KR
128792000-04-10 Ken Raeburn <raeburn@gnu.org>
12880
12881 * Makefile.in (temacs): Revert 2000-03-12 change.
12882
7cf80d4e
JR
128832000-04-10 Jason Rumney <jasonr@gnu.org>
12884
12885 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12886
34f3f342
GM
128872000-04-10 Gerd Moellmann <gerd@gnu.org>
12888
1a1b1895
GM
12889 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12890 area buffer, if it's not set up yet.
12891
34f3f342
GM
12892 * indent.c (compute_motion): Set immediate_quit.
12893
be0dbdab
GM
128942000-04-09 Gerd Moellmann <gerd@gnu.org>
12895
52283633 12896 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12897 (realize_tty_face): Suppress boldness if colors are the inverse of
12898 the default colors, and tty_suppress_bold_inverse_default_colors_p
12899 is set.
12900 (Ftty_suppress_bold_inverse_default_colors): New function.
12901 (syms_of_xfaces): Defsubr it.
12902
be0dbdab
GM
12903 * buffer.c (Frestore_buffer_modified_p): New function.
12904 (syms_of_buffer): Defsubr it.
12905
e8413c3b
KR
129062000-04-08 Ken Raeburn <raeburn@gnu.org>
12907
87f67317
KR
12908 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12909 charset id (int) argument, not a charset (Lisp_Object).
12910
e8413c3b
KR
12911 * coding.h (code_convert_string): Declare.
12912 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12913 object, as the fourth argument to code_convert_string.
12914
52283633 12915 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12916 (Fset_fontset_font): Use EQ to compare lisp objects.
12917
7c752c80
KR
129182000-04-05 Ken Raeburn <raeburn@gnu.org>
12919
c0333abc
KR
12920 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12921 a pointer that looks like a lisp object.
12922 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12923 zero, instead see whether it's an integer object, since they can't
12924 have intervals.
12925 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12926
52283633
SM
12927 * dispnew.c (allocate_matrices_for_frame_redisplay)
12928 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12929 to convert between (unsigned) int values and lisp integers.
12930 * keyboard.c (read_key_sequence): Likewise.
12931 * lread.c (substitute_object_recurse): Likewise.
12932 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12933 * minibuf.c (do_completion, Fminibuffer_complete_word)
12934 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12935 * term.c (produce_special_glyphs): Likewise.
12936
12937 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12938 * print.c (print_preprocess, print_object): Likewise.
12939
12940 * search.c (compile_pattern): Use NILP when checking for nil.
12941
74e49b38
KR
12942 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12943 __OPTIMIZE__]: Provide a GNU C macro version that handles
12944 lisp-object unions.
12945 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12946 field, to better cope with ENABLE_CHECKING and calls that modify a
12947 Lisp_Object using its old value.
12948
685e5ed2
GM
129492000-04-04 Gerd Moellmann <gerd@gnu.org>
12950
c407c570
GM
12951 * window.c (compare_window_configurations): Signal an error
12952 if parameters C1 or C2 aren't window configurations.
12953
685e5ed2
GM
12954 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12955 AFTER_POTENTIAL_GC calls around calls to functions that can
12956 signal an error and thus invoke the debugger.
12957
587a49ab
GM
129582000-04-03 Gerd Moellmann <gerd@gnu.org>
12959
62f20204
GM
12960 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12961 an error if decoding fails.
12962
587a49ab
GM
12963 * keyboard.c (lispy_mouse_names): Variable removed.
12964 (Vlispy_mouse_stem): New variable.
12965 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12966 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12967 for any mouse button number. Increase size of mouse_syms and
12968 button_down_location as needed. Call modify_event_symbol with
12969 different arguments.
12970 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12971 Call modify_event_symbol with different arguments.
12972 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12973 for any button number. Call modify_event_symbol with different
12974 arguments.
12975 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12976 Accept a string for NAME_ALIST_OR_STEM.
12977
12978 * lisp.h (larger_vector): Add prototype.
12979
12980 * fns.c (larger_vector): Make externally visible.
12981
12982 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12983
2d1675e4
SM
129842000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12985
12986 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12987 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12988 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12989 we are between str1 and str2.
12990 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12991 (PATFETCH): Use `TRANSLATE'.
12992 (PATFETCH_RAW): Fetch multibyte char if applicable.
12993 (PATUNFETCH): Remove.
12994 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12995 When writing a char, write it directly into the pattern buffer rather
12996 than going needlessly through a temp char-array.
12997 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12998 multibyte magic and remove the useless `#ifdef emacs'.
12999 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13000 buffer.
13001
13002 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13003 conditional on `emacs'.
13004
13005 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13006
cc2d8c6b
KR
130072000-04-01 Ken Raeburn <raeburn@gnu.org>
13008
13009 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13010 non-union-type versions of XMARK and friends here, because XMARK
13011 and friends won't work on an integer field if NO_UNION_TYPE is not
13012 defined.
52283633 13013 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13014
52283633 13015 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13016 (syms_of_composite): Delete local var NARGS, pass an int as first
13017 argument to Fmake_hash_table.
13018
2387b382
KR
13019 * editfns.c (text_property_stickiness): Use NILP to test
13020 Lisp_Object boolean value.
13021 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13022 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13023 problems reading from and changing the same lisp value in an
13024 XSETSTRING call.
13025
27660e89
GM
130262000-04-01 Gerd Moellmann <gerd@gnu.org>
13027
13028 * term.c (TN_no_color_video): New variable.
13029 (term_init): Intitialize TN_no_color_video.
13030 (enum no_color_bit): New enumeration.
13031 (MAY_USE_WITH_COLORS_P): New macro.
13032 (turn_on_face): Use it to determine if attributes may be used
13033 combined with colors.
13034
3578db3c
KR
130352000-04-01 Ken Raeburn <raeburn@gnu.org>
13036
13037 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13038 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13039 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13040 proper accessor macros.
13041 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13042 (grow_mini_window): Fix typo getting int value of root->height.
13043
6fc556fd
KR
13044 * xdisp.c (compute_string_pos): Fix order of arguments to
13045 string_pos_nchars_ahead.
13046 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13047 count arg to variable-arg routines like Frun_hook_with_args and
13048 Fformat.
587a49ab
GM
13049 (back_to_previous_visible_line_start)
13050 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13051 fixed-arg routines like Fget_char_property and Fmake_string.
13052 (reconsider_clip_changes): Use XINT when comparing integer lisp
13053 objects, or passing them as int arguments.
587a49ab
GM
13054 (mark_window_display_accurate, insert_left_trunc_glyphs)
13055 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13056 storing or passing integer values as lisp objects.
13057 (set_cursor_from_row, highlight_trailing_whitespace): Use
13058 INTEGERP, not implicit test against zero, for glyph object.
13059 (try_window_id): Don't use make_number when we want an int value.
13060
13061 * xfaces.c (xlfd_symbolic_value): Make last argument a
13062 Lisp_Object, to be consistent with callers.
13063 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13064 (lface_hash): Apply XFASTINT to lisp values before folding in.
13065
13066 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13067 fill in window width and height. Pass an int, not a lisp object,
13068 as first arg to Finsert.
13069
6e7b2457
GM
130702000-04-01 Gerd Moellmann <gerd@gnu.org>
13071
610d841e
GM
13072 * xfaces.c (realize_basic_faces): Block input while realizing
13073 the faces.
13074
6e7b2457
GM
13075 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13076
13077 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13078
aa110c0c
GM
130792000-03-31 Gerd Moellmann <gerd@gnu.org>
13080
13081 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13082 or ASCII, handle case that per-char metric is null.
aa110c0c 13083
8801a864
KR
130842000-03-30 Ken Raeburn <raeburn@gnu.org>
13085
c6129d7e
KR
13086 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13087
52283633
SM
13088 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13089 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13090 pointer, using eassert.
13091 * frame.h (XFRAME): Likewise.
13092
52283633
SM
13093 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13094 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13095 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13096 * data.c (set_internal): Likewise.
52283633
SM
13097 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13098 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13099 * fileio.c (auto_save_1): Likewise.
13100 * insdel.c (check_markers): Likewise.
13101 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13102 * undo.c (record_insert): Likewise.
13103 * vmsproc.c (child_sig): Likewise.
13104 * window.c (unshow_buffer, window_loop): Likewise.
13105 * xterm.c (x_erase_phys_cursor): Likewise.
13106
8e7af858
GM
131072000-03-30 Gerd Moellmann <gerd@gnu.org>
13108
13109 * xfns.c (free_image_cache): Free the cache structure itself
13110 last, after all its members have been freed.
13111
13112 * lisp.h (xstrdup): Add prototype.
13113
13114 * alloc.c (xstrdup): Moved here from xfaces.c.
13115 (allocating_for_lisp): Variable removed.
52283633 13116 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13117
13118 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13119 of Fsymbol_value.
13120 (xstrdup): Moved to alloc.c.
13121
e0b8c689
KR
131222000-03-29 Ken Raeburn <raeburn@gnu.org>
13123
b96f9fb7
KR
13124 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13125
13126 * emacs.c (main): Fix sense of no-loadup test.
13127
e0b8c689
KR
13128 * config.in (ENABLE_CHECKING): Undef.
13129
13130 * lisp.h (struct interval): Replace "parent" field with a union of
13131 interval pointer and Lisp_Object; add new bitfield to use as
13132 discriminant. Change other flag fields to bitfields.
13133 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13134 is defined and the supplied test fails, print a message and abort.
13135 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13136
13137 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13138 pointers; abort if the value looks like a lisp object.
52283633
SM
13139 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13140 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13141 Modify for new interval parent definition.
13142
52283633
SM
13143 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13144 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13145 addressable lisp object in the interval structure.
13146 (die): New function.
13147 (suppress_checking): New variable.
13148
13149 * intervals.c (interval_start_pos): Just return 0 if there's no
13150 parent object.
13151
f83c5440
GM
131522000-03-29 Gerd Moellmann <gerd@gnu.org>
13153
13154 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13155 and earlier Emacs versions.
13156
13157 * keyboard.c (Ftop_level): Cancel busy-cursor.
13158
13159 * eval.c (call_debugger): Cancel busy-cursor.
13160
fdce64ff
KH
131612000-03-29 Kenichi Handa <handa@etl.go.jp>
13162
13163 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13164 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13165
f6a3f532
SM
131662000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13167
13168 * regex.c (analyse_first): New function obtained by ripping out most
13169 of re_compile_fastmap and generalizing it a little bit so that it
13170 can also just return whether a given (sub)pattern can match the empty
13171 string or not.
13172 (regex_compile): Use `analyse_first' to decide whether the loop-check
13173 needs to be done or not for *, +, *? and +? (the loop check is costly
13174 for non-greedy repetition).
13175 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13176
e9b309ac
DL
131772000-03-28 Dave Love <fx@gnu.org>
13178
52283633 13179 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13180
e9b309ac
DL
13181 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13182
ed0767d8
SM
131832000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13184
13185 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13186 an expression.
13187 (enum re_opcode_t): Update description of succeed_n.
13188 (PATFETCH): Always define.
13189 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13190 operators, char classes, shy-groups and intervals).
13191 Optimize special cases of intervals so as to only use succeed_n and
13192 jump_n when really needed.
13193 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13194 that we don't have to handle the special cases any more.
13195 Simplify on_failure_jump handling as well.
13196
e11e7e46
JR
131972000-03-28 Jason Rumney <jasonr@gnu.org>
13198
13199 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13200
88faab89
GM
132012000-03-27 Gerd Moellmann <gerd@gnu.org>
13202
182ff242
GM
13203 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13204
13205 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13206
182ff242
GM
13207 * alloc.c (mark_maybe_object): New function.
13208 (mark_memory): Use it.
13209 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13210 (setjmp_tested_p, longjmp_done): New variables.
13211 (test_setjmp): New function.
13212 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13213 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13214
c1005d06
GM
13215 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13216 to DEC_TEXT_POS and INC_TEXT_POS.
13217
13218 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13219 with parameter MULTIBYTE_P.
13220
52283633 13221 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13222
7439e5b9 13223 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13224 buffers because it looks for multibyte character byte sequences
13225 which don't exist in unibyte text.
7439e5b9 13226
d9c545da
GM
13227 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13228
11fd416e 13229 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13230 [DEBUG_X_COLORS]: New functions.
13231 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13232
13233 * xfns.c (x_set_cursor_color): Get color reference counts right.
13234
13235 * xterm.c (x_copy_color): New function.
13236 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13237
13238 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13239 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13240 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13241 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13242 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13243 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13244 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13245 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13246 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13247 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13248
11fd416e
GM
13249 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13250 names for handling per-buffer variables.
d9c545da
GM
13251
13252 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13253 instead of MAX_BUFFER_LOCAL_VARS.
13254 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13255
13256 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13257
88faab89
GM
13258 * xfns.c (x_specified_cursor_type): New function.
13259 (x_set_cursor_type): Use it.
13260
13261 * buffer.h (struct buffer): Add cursor_type.
13262
d80f42b7
SM
132632000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13264
13265 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13266 (print_partial_compiled_pattern, re_compile_fastmap):
13267 Handle new opcode.
d80f42b7
SM
13268 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13269 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13270 executing it as well as when popping it off the stack to find infinite
13271 loops in non-greedy repetition operators.
13272
89e80928
GM
132732000-03-26 Gerd Moellmann <gerd@gnu.org>
13274
3d4ff2dd
GM
13275 * doc.c (Qfunction_documentation): New variable.
13276 (syms_of_doc): Initialize Qfunction_documentation.
13277 (Fdocumentation): If FUNCTION is a symbol with non-nil
13278 `function-documentation' property, return a documentation derived
13279 from that.
13280
bd96bd79
GM
13281 * buffer.c (syms_of_buffer): Add default-cursor-type.
13282 (init_buffer_once): Don't let cursor_type have a local value
13283 in every buffer.
13284
19d1bc27
GM
13285 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13286 on buffer-local value of cursor_type.
13287 (x_draw_bar_cursor): Add parameter WIDTH.
13288
13289 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13290 (init_buffer_once): Set default cursor_type value to t.
13291 Mark cursor_type as local everywhere.
13292 (syms_of_buffer): New per-buffer variable cursor-type.
13293
89e80928
GM
13294 * buffer.h (struct buffer): Remove member local_var_flags,
13295 add local_flags.
13296 (MAX_BUFFER_LOCAL_VARS): New macro.
13297 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13298 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13299 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13300 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13301
52283633 13302 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13303
13304 * category.c (Fset_category_table): Use new macros for per-buffer
13305 variables.
13306
13307 * buffer.c (buffer_permanent_local_flags): Make a char array.
13308 (max_buffer_local_idx): New variable.
13309 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13310 for new handling of per-buffer variables.
13311 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13312 (init_buffer_once): Initialize per-buffer vars differently.
13313 Set max_buffer_local_idx.
13314
13315 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13316 variables.
13317
52283633 13318 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13319
13320 * data.c (do_symval_forwarding, store_symval_forwarding)
13321 (find_symbol_value, set_internal, default_value, Fset_default)
13322 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13323 per-buffer variables.
13324
13325 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13326
9a0dd3dc
GM
133272000-03-24 Gerd Moellmann <gerd@gnu.org>
13328
b68c375f
GM
13329 * xterm.c (x_term_init): Unblock input around call1 of
13330 Qvendor_specific_keysyms.
13331
9a0dd3dc
GM
13332 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13333 (find_defun_start): Consider an open parenthesis in column 0
13334 a defun start only if open_paren_in_column_0_is_defun_start is set.
13335 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13336
7973e637
SM
133372000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13338
13339 * eval.c (Fautoload): Add entry in load-history (if after dump).
13340 * lread.c (load-history): Update docstring.
13341
39210e90
GM
133422000-03-24 Gerd Moellmann <gerd@gnu.org>
13343
13344 * indent.c (Fvertical_motion): Always use the current buffer.
13345 Temporarily change the window's buffer, if necessary.
13346
72db3ab5
GM
133472000-03-23 Gerd Moellmann <gerd@gnu.org>
13348
13349 * xterm.c (fast_find_position): Make sure not to consider rows
13350 not visible in the window.
13351
990b2375
SM
133522000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13353
13354 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13355 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13356
ff4df011
JR
133572000-03-22 Jason Rumney <jasonr@gnu.org>
13358
13359 * w32menu.c (single_submenu): Set help string to NULL if none.
13360 (w32_menu_show): Set help string correctly.
13361 (add-menu-item): Set help string in MIIM_DATA for menu item.
13362 Load SetMenuItemInfoA explicitly.
13363 (w32_menu_display_help): New function.
427ec082 13364
ff4df011
JR
13365 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13366 (QCdata): Moved to xdisp.c.
13367
13368 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13369 (Vw32_charset_to_codepage_alist): Removed.
13370 (Vw32_charset_info_alist): New variable.
52283633
SM
13371 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13372 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13373 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13374 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13375 with TODO comment.
13376 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13377 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13378 Define Vw32_charset_info_alist and w32_charset symbols.
13379
133802000-03-22 Jason Rumney <jasonr@gnu.org>
13381
13382 * makefile.nt (w32bdf.obj): Update dependencies.
13383
13384 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13385
13386 * w32fns.c: Include fontset.h after dispextern.h.
13387 (Fx_create_frame): Do not create fontset.
13388 (w32_load_system_font): Doc fix.
13389 (Fx_close_connection): Free full_name if it is not shared.
13390
13391 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13392 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13393 Callers updated.
ff4df011
JR
13394 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13395 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13396 (w32_font_is_double_byte): New function, needs body.
13397 (x_append_glyph): Set glyph->glyph_not_available_p.
13398 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13399 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13400 character, convert it to a unibyte character.
13401 (struct glyph_string): Delete member `charset'.
13402 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13403 calculating it is found.
13404 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13405 the case that per char metric is not available correctly.
13406 (x_fill_glyph_string): Handle the case that the specific glyph is
13407 not available correctly.
13408 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13409 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13410 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13411 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13412 fontset. Don't call FS_LOAD_FONT.
13413
439d5cb4
KR
134142000-03-22 Ken Raeburn <raeburn@gnu.org>
13415
13416 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13417 (INT_LISPLIKE): New macro.
13418 (NULL_INTERVAL_P): Use it.
52283633
SM
13419 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13420 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13421 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13422
13423 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13424 explicit references to "parent" field of struct interval and
13425 associated unclean type conversions.
52283633
SM
13426 * intervals.c (create_root_interval, root_interval, rotate_right)
13427 (rotate_left, balance_possible_root_interval, split_interval_right)
13428 (split_interval_left, interval_start_pos, find_interval)
13429 (next_interval, previous_interval, update_interval)
13430 (adjust_intervals_for_insertion, delete_node, delete_interval)
13431 (adjust_intervals_for_deletion, merge_interval_right)
13432 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13433 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13434 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13435 Likewise.
13436 * syntax.c (update_syntax_table): Likewise.
13437
13438 * intervals.c (reproduce_tree_obj): New function, like
13439 reproduce_tree but takes a Lisp_Object for the parent. Declare
13440 with prototype.
13441 (graft_intervals_into_buffer): Use it when appropriate.
13442 (reproduce_tree): Declare with prototype.
13443 (balance_possible_root_interval): Check that the parent is a lisp
13444 object before trying to examine its type.
13445
ee1c5b21
GM
134462000-03-22 Gerd Moellmann <gerd@gnu.org>
13447
13448 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13449 as strings only if both are known to be strings.
13450
13451 * s/openbsd.h (LIBS_TERMCAP): Undef.
13452
1fb352e0
SM
134532000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13454
13455 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13456 definitions for non-Emacs compilation.
13457 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13458 outside of `#ifdef emacs'.
13459 (print_partial_compiled_pattern): Update.
13460 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13461 (re_compile_fastmap): Merge handling of charset and charset_not (for
13462 emacs and non-emacs compilation as well).
13463 Similarly for (not)categoryspec and (not)syntaxspec.
13464 Don't use the fastmap when reaching `anychar' since the added
13465 complexity is not justified.
13466 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13467 and (not)syntaxspec. Merge (not)categoryspec.
13468
fdaa1f77
KH
134692000-03-22 Kenichi Handa <handa@etl.go.jp>
13470
52283633
SM
13471 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13472 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13473 --without-x.
fdaa1f77 13474
d152fb46
DL
134752000-03-21 Dave Love <fx@gnu.org>
13476
13477 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13478 doc string.
13479
d2cafc8c
GM
134802000-03-21 Gerd Moellmann <gerd@gnu.org>
13481
13482 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13483 (lface_fully_specified_p): Don't check contents of
13484 LFACE_FONT_INDEX because that attribute is optional.
13485 (realize_x_face): Remove now unwarranted xassert.
13486
9111d4b5
KH
134872000-03-21 Kenichi HANDA <handa@etl.go.jp>
13488
13489 The following changes are to make font selection based on
13490 characters, not charset. In addition, they recover fontset
13491 facilities while utilizing the new font selection mechanism.
13492
6c4bfdc0
KH
13493 * Makefile.in (fontset.o): Depend on dispextern.h.
13494
13495 * alloc.c (mark_face_cache): Don't mark face->registry.
13496
9111d4b5
KH
13497 * dispextern.h (struct glyph): New member glyph_not_available_p.
13498 Use 22 bits for face_id.
13499 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13500 (struct face): Delete member registry, new member ascii_face.
13501 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13502 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13503 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13504 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13505
13506 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13507 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13508 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13509 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13510 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13511 (fs_free_face_fontset, fontset_font_pattern)
13512 (face_suitable_for_char_p, face_for_char)
13513 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13514 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13515 (FS_LOAD_FACE_FONT): New macro.
13516
13517 * fontset.c: All codes rewritten or adjusted for the change of
13518 fontset implementation. Now fontset is represented by char table.
52283633
SM
13519 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13520 Variables removed.
9111d4b5 13521 (my_strcasecmp): Function removed.
52283633 13522 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13523 (AREF, ASIZE): New macros.
52283633
SM
13524 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13525 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13526 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13527 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13528 (fontset_id_valid_p, font_family_registry, fontset_name)
13529 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13530 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13531 New functions.
13532 (fs_load_font): New arg FACE. Caller changed.
13533 (fs_query_fontset): Argument changed. Caller changed.
13534 (Fquery_fontset): call fs_query_fontset.
13535 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13536 Functions removed.
52283633
SM
13537 (clear_fontset_elements, check_registry_encoding)
13538 (check_fontset_name): New functions.
9111d4b5
KH
13539 (syms_of_fontset): Set char-table-extra-slots property of fontset
13540 to 3. Staticpro and initialize Vfontset_table and
13541 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13542
13543 * frame.h (struct frame): Member `fontset_data' removed.
13544 (FRAME_FONTSET_DATA): Macro removed.
13545
13546 * frame.c (make_frame): Don't allocate f->fontset_data.
13547 (Fdelete_frame): Don't free f->fontset_data.
13548
6c4bfdc0
KH
13549 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13550
9111d4b5
KH
13551 * xdisp.c (charset_at_position): Function removed.
13552 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13553 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13554 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13555 Likewise.
13556 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13557 FACE_FOR_CHARSET.
52283633
SM
13558 (get_next_display_element, append_space)
13559 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13560
13561 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13562 Variables removed.
13563 (clear_font_table, frame_update_line_height, load_face_font):
13564 Adjusted for the change of fontset implementation.
13565 (load_face_fontset_font): Function removed.
13566 (pixel_point_size): New function.
13567 (font_list): Argument type changed. Caller changed.
13568 (LFACE_FONT): New macro.
13569 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13570 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13571 Lisp_Object. Determine the font name by actually loading a font
13572 by the specified pattern. Set LFACE_FONT (lface) to the specified
13573 pattern. Even if a font is not found, don't try alternatives.
13574 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13575 (set_font_frame_param): If `font' is specified in lface, use it.
13576 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13577 (lface_same_font_attributes_p): Likewise.
13578 (make_realized_face): Arguent changed. Caller changed. Set
13579 face->ascii_face to face itself.
13580 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13581 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13582 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13583 (free_realized_multibyte_face): New function.
13584 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13585 changed. Caller changed.
13586 (try_font_list): Argument type changed.
13587 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13588 (choose_face_font): Argument changed. Handle fontset properly.
13589 (choose_face_fontset_font): Function removed.
13590 (realize_default_face, realize_named_face): Don't remove the
13591 former face here.
13592 (realize_face): Argument changed. Caller changed. Remove face
52283633 13593 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13594 (realize_x_face): Argument changed. Caller changed. For a
13595 multibyte character, share fontset with base_face. For a single
52283633 13596 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13597 (realize_tty_face): Argument changed. Caller changed.
13598 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13599 (face_at_buffer_position): Don't check multibyte_p for returning
13600 DEFAULT_FACE_ID.
13601 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13602 FACE_SUITABLE_FOR_CHARSET_P.
13603 (syms_of_xfaces): Remove code for Qx_charset_registry and
13604 Vface_default_registry.
13605
6c4bfdc0
KH
13606 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13607 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13608 (x_per_char_metric): Don't try FONT->default_char. Even if
13609 pcm->width is zero, glyph bits may exist.
13610 (x_encode_char): Always initialize char2b->byte1.
13611 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13612 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13613 (x_append_glyph): Set glyph->glyph_not_available_p.
13614 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13615 it->charset. Handle the case that per char metric is not
13616 available. If it->multibyte_p is zero and it->c is a multibyte
13617 character, convert it to a unibyte character.
13618 (struct glyph_string): Delete member `charset'.
13619 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13620 the case that per char metric is not available correctly.
13621 (x_fill_glyph_string): Handle the case that the specific glyph is
13622 not available correctly.
13623 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13624 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13625 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13626 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13627 fontset. Don't call FS_LOAD_FONT.
13628
13629 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13630 (x_create_tip_frame): Likewise.
13631 (Fx_close_connection): Free full_name of font_info.
13632
13633 * fns.c (optimize_sub_char_table): New function.
13634 (Foptimize_char_table): New function.
13635 (syms_of_fns): Defsubr Soptimize_char_table.
13636
b33dd3b0
GM
136372000-03-20 Gerd Moellmann <gerd@gnu.org>
13638
13639 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13640 only if buffer is displayed in some window.
13641
13642 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13643 (try_window_reusing_current_matrix): Don't call scroll run
13644 function if run's current and desired position are the same;
13645 this prevents cursor flickering.
13646
4e8a9132
SM
136472000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13648
13649 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13650
13651 * regex.c (RE_STRING_CHAR): New macro.
13652 (GET_CHAR_AFER_2): Remove.
13653 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13654 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13655 (print_partial_compiled_pattern, re_compile_fastmap)
13656 (re_match_2_internal): Remove on_failure_jump_exclusive.
13657 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13658 optimization only need to work for * (ie. can use of_keep_string_jump).
13659 Remove the special case for .*\n since it is now covered by the general
13660 optimization.
13661 (re_search_2): Don't bother with `room'.
13662 (skip_one_char): New function.
13663 (skip_noops): Simplify since `memory' is not needed any more.
13664 (mutually_exclusive_p): Restructure slightly to use `switch' and
13665 add handling for "all" remaining cases.
13666 (re_match_2_internal): Change on_failure_jump_smart to use
13667 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13668 rather than on_failure_jump_exclusive.
13669
2136fdd4
GM
136702000-03-19 Gerd Moellmann <gerd@gnu.org>
13671
13672 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13673 number of bits per RGB because it's everywhere used as the depth
13674 of the visual.
13675
13676 * term.c (calculate_costs): Remove code dealing with X frames.
13677
18e21ce8 136782000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13679
13680 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13681
d7b511c4
GM
136822000-03-18 Gerd Moellmann <gerd@gnu.org>
13683
13684 * lread.c (read_integer): Unread the last char not consumed.
13685
16b5d424
GM
136862000-03-17 Gerd Moellmann <gerd@gnu.org>
13687
13688 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13689 which are in the process of being deleted.
16b5d424 13690
1fa28578
GM
136912000-03-16 Gerd Moellmann <gerd@gnu.org>
13692
83488cce
GM
13693 * Makefile.in (mostlyclean): Add `*.core'.
13694 (clean): Add `bootstrap-emacs'.
13695
1fa28578
GM
13696 * lread.c (read_integer): New function.
13697 (read1): Support read syntax #o, #x, #b, #r.
13698
99633e97
SM
136992000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13700
1fa28578
GM
13701 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13702 make sure POINTER_TO_OFFSET gives the same value before and after
13703 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13704 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13705 (debug): Now only active if > 0 rather than if != 0.
13706 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13707 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13708 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13709 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13710 (store_op1, store_op2, insert_op1, insert_op2)
13711 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13712 (group_in_compile_stack): Move to after its arg's types are
13713 declared and add a prototype.
99633e97 13714 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13715 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13716 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13717 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13718 indentation of the greedy-op and shy-group code.
99633e97
SM
13719 (at_(beg|end)line_loc_p): Fix argument's types.
13720 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13721 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13722 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13723 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13724 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13725 QUIT unconditionally.
99633e97 13726
699238d9
GM
137272000-03-15 Gerd Moellmann <gerd@gnu.org>
13728
13729 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13730 a sole completion.
13731
13732 * process.c (send_process): Add a hint that the function
13733 can call Lisp code to its comment.
13734
13735 * lread.c (load_dangerous_libraries): New variable.
13736 (Vbytecomp_version_regexp): New variable.
13737 (safe_to_load_p): New function.
13738 (Fload): Handle files not compiled with Emacs specially.
13739 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13740
34e23e5a
GM
137412000-03-14 Gerd Moellmann <gerd@gnu.org>
13742
9c763cca
GM
13743 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13744
13745 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13746 support functions only if HAVE_X11R6_XIM is defined.
13747 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13748
13749 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13750
13751 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13752 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13753 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13754
13755 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13756 (HAVE_X11R6_XIM): Define.
13757
13758 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13759
34e23e5a
GM
13760 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13761 If set, call XSynchronize.
13762
66f0296e
SM
137632000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13764
34e23e5a
GM
13765 * regex.c: Declare a new type `re_char' used throughout the code
13766 for the string char type. It's `const unsigned char' to match the
13767 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13768 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13769 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13770 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13771 code duplication.
66f0296e
SM
13772
13773 * charset.h (GET_CHAR_AFTER_2): Remove.
13774 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13775
854a025c
KR
137762000-03-12 Ken Raeburn <raeburn@gnu.org>
13777
13778 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13779 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13780 of them try to use backquotes.
13781
b9d2c7e2
DL
137822000-03-12 Dave Love <fx@gnu.org>
13783
13784 * unexelf.c: Restore changes of 1999-10-19.
13785 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13786 fix its type and alignment; copy it from current process.
13787
5e5dff44
GM
137882000-03-12 Gerd Moellmann <gerd@gnu.org>
13789
9b2f3c38
GM
13790 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13791 has been found. Fix bug not computing timer's predecessor.
13792
427ec082 13793 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13794 file name.
13795
e1cff360
GM
13796 * window.c (Fsave_window_excursion): Doc fix.
13797
52283633 13798 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13799
e411ce4b
EZ
138002000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13801
13802 * msdos.c (vga_installed): New function, code moved from
13803 dos_set_window_size.
13804 (Qbar, Qcursor_type, outside_cursor): New variables.
13805 (syms_of_msdos): Intern and staticpro them.
13806 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13807 shape used outside Emacs when called for the first time.
13808 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13809 cursor shape used outside Emacs.
13810 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13811 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13812 type has changed.
13813 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13814 parameters specify the cursor. Make qreverse a global
13815 variable (renamed to Qreverse).
13816
80460654
GM
138172000-03-09 Gerd Moellmann <gerd@gnu.org>
13818
13819 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13820
95cd4c40
SM
138212000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13822
13823 This is a big redesign of failure-stack and register handling, prompted
13824 by bugs revealed when trying to add shy-groups. Overall, what happened
13825 is that loops are now structured a little differently, groups can be
13826 shy and the code is a little simpler.
13827
13828 * regex.h: Update the copyright.
13829 (RE_SHY_GROUPS): New value.
13830 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13831 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13832
80460654
GM
13833 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13834 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13835 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13836 for (start|stop)_memory since they now only take one argument (the
13837 second has becomes unnecessary).
52283633 13838 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13839 (print_compiled_pattern): Use %ld to printf long ints and flush to
13840 make debugging a little easier.
95cd4c40
SM
13841 (union fail_stack_elt): Make the integer unsigned.
13842 (struct fail_stack_type): Add a `frame' element.
13843 (INIT_FAIL_STACK): Init `frame' as well.
13844 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13845 (DEBUG_PUSH, DEBUG_POP): Remove.
13846 (NUM_REG_ITEMS): Remove.
13847 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13848 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13849 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13850 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13851 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13852 New macros.
80460654
GM
13853 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13854 address pushed is not the destination of the jump but the source
13855 of it instead.
95cd4c40
SM
13856 (NUM_FAILURE_ITEMS): Remove.
13857 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13858 registers before the actual failure point). Don't hardcode any
13859 meaning for str==NULL anymore.
95cd4c40 13860 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13861 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13862 Remove.
95cd4c40
SM
13863 (REG_UNSET_VALUE): Use NULL (why not?).
13864 (compile_range): Remove declaration since it doesn't exist.
13865 (struct compile_stack_elt_t): Remove inner_group_offset.
13866 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13867 (regex_grow_registers): Remove dead code.
13868 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13869 (regex_compile): Add shy-groups Change loops to use
13870 on_failure_jump_smart&jump instead of
13871 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13872 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13873 variable to me). Use `jump' instead of `jump_past_alt' and don't
13874 bother with push_dummy_failure in alternatives since it is now
13875 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13876 emacs' for (re)allocating the stack.
13877 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13878 from loop when bufp->can_be_null rather than jumping to `done'.
13879 Avoid jumping backwards so as to ensure termination. Use
13880 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13881 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13882 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13883 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13884 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13885 (lowest_active_reg, highest_active_reg)
13886 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13887 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13888 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13889 variables. Push register (in `start_memory') on the stack rather
13890 than storing it in old_reg(start|end). Remove the cycle detection
13891 from `stop_memory', replaced by the use of on_failure_jump_loop
13892 for greedy loops. Add code for the new on_failure_jump_<foo>.
13893 Remove ad-hoc code in `on_failure_jump' to push more registers in
13894 the case of a loop. Take out code from `maybe_pop_jump' into
13895 separate functions and adapt it to the semantics of
13896 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13897 and push_dummy_failure. Remove dummy_failure handling and
13898 handling of `failures to jump to on_failure_jump' (this last one
13899 was already dead code, it seems).
13900 (group_match_null_string_p, alt_match_null_string_p)
13901 (common_op_match_null_string_p): Remove.
95cd4c40 13902
7397acc4
DL
139032000-03-08 Dave Love <fx@gnu.org>
13904
13905 * config.in: Don't depend on __STDC__ for volatile.
13906 Add POINTER_TYPE, PTR, PROTOTYPES.
13907
13908 * hftctl.c, strftime.c: Use PROTOTYPES.
13909 * eval.c (find_handler_clause): Likewise.
13910
13911 * mem-limits.h: Use POINTER_TYPE.
13912
13913 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13914 (memory_warnings): Declare using POINTER_TYPE.
13915
5e91ff9e
GM
139162000-03-08 Gerd Moellmann <gerd@gnu.org>
13917
feab4fba
GM
13918 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13919
52283633 13920 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13921
5e91ff9e
GM
13922 * xfns.c: Remove obsolete code in #if 0.
13923 (Fx_focus_frame): New function.
13924
a735b7e1
KH
139252000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13926
13927 * coding.c (coding_category_name): Add coding-category-utf-8,
13928 coding-category-utf-16-be, coding-category-utf-16-le.
13929 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13930 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13931 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13932 (detect_coding_utf_8): New function.
13933 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13934 UTF_16_LOW_SURROGATE_P): New macros.
13935 (detect_coding_utf_16): New function
13936 (detect_coding_mask): When priorities are specified, skip any
13937 categories that have `nil' coding-system. Fix bug of returning
13938 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13939 returns a mask not set in PRIORITIES.
13940 (detect_eol_type_in_2_octet_form): New function.
13941 (detect_eol): selects detect_eol_type_XXX to call according to
13942 cooding->category_idx.
13943 (detect_coding_system): Remove `nil' coding-system in the result.
13944 (Fupdate_coding_systems_internal): Update all coding-categories.
13945
52283633
SM
13946 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13947 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13948 New macros.
13949 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13950 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13951 (CODING_CATEGORY_IDX_UTF_16_LE)
13952 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13953 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13954 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13955 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13956
9994cc69
GM
139572000-03-07 Gerd Moellmann <gerd@gnu.org>
13958
e9b4e5ff
GM
13959 * doc.c (Fdocumentation_property): If value is not a string,
13960 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13961
f7daf1e1
GM
13962 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13963 close the display with XtCloseDisplay. This caused a bus error
13964 on OpenWindows.
13965
9994cc69
GM
13966 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13967 complete but not unique.
13968
4336c705
GM
139692000-03-06 Gerd Moellmann <gerd@gnu.org>
13970
18bb0684
GM
13971 * process.c (send_process): Remove local variable `procname' that
13972 might become invalid when a GC happens. Instead, access the
13973 process name slot directly.
13974
4336c705
GM
13975 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13976 orig_height if set.
13977
13978 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13979 orig_height if set.
13980
515d0d0e
EZ
139812000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13982
13983 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13984 glyph matrices have been freed.
13985
100b3cbb
GM
139862000-03-05 Gerd Moellmann <gerd@gnu.org>
13987
50df5e5a 13988 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13989 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13990
13991 * xfns.c (QCdata): Moved to xdisp.c.
13992
13993 * xdisp.c (QCdata): Moved here from xfns.c.
13994 (syms_of_xdisp): Initialize QCdata.
13995
13996 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13997
13998 * window.c (coordinates_in_window): Use
13999 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14000 FRAME_INTERNAL_BORDER_WIDTH.
14001
100b3cbb 14002 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14003 it is obviously invalid.
100b3cbb
GM
14004
14005 * xterm.c (x_term_init): Create a colormap if not using the
14006 default visual.
14007
14008 * xterm.h (select_visual): Change prototype.
14009
14010 * xfns.c (select_visual): Rewritten. Recognize user-specified
14011 visual classes.
14012 (visual_classes): New variable.
14013
64d739c4
GM
140142000-03-04 Gerd Moellmann <gerd@gnu.org>
14015
14016 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14017 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14018 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14019 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14020 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14021 XtNcolormap resources.
14022 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14023 (Fx_create_frame): Initialize color members of x_output structure.
14024 (xpm_load): Pass colormap to XPM lib.
14025
14026 * xfaces.c (x_free_colors): Access colormap of frame using
14027 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14028 when default colormap is used.
14029
14030 * xterm.c (x_term_init): Set Colormap member of x_display_info
14031 structure. Copy colormap if resource `privateColormap' is
14032 specified (PseudoColor only).
14033 (x_setup_relief_color): Access colormap of frame using
14034 FRAME_X_COLORMAP.
14035
14036 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14037 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14038
c3cee013
JR
140392000-03-04 Jason Rumney <jasonr@gnu.org>
14040
14041 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14042 other non-platform-specific equivalents.
64d739c4 14043 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14044 specific functions and macros as their w32 equivalents where
14045 non-platform-specifics are not available.
14046 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14047 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14048 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14049 (frame_update_line_height): Use macros to access f->output_data.
14050 (defined_color): Remove FIXME comments; fixed.
14051 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14052 into #ifdef blocks. Add WINDOWSNT blocks.
14053 (Fx_list_fonts): Use macros for accessing font data.
14054 (set_lface_from_font_name): Different default fonts for X and
14055 WINDOWSNT.
14056 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14057 scalable for backward compatibility.
64d739c4 14058 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14059 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14060
64d739c4 14061 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14062 syms_of_w32faces.
14063
14064 * makefile.nt (w32faces.obj): Remove.
14065 (xfaces.obj): Add.
14066
807cc41c
JR
140672000-03-03 Jason Rumney <jasonr@gnu.org>
14068
14069 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14070 correct parameters.
14071
0007072a
KR
140722000-03-03 Ken Raeburn <raeburn@gnu.org>
14073
14074 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14075 standard ELF definitions here if the system header does not.
14076
71a6ba55
GM
140772000-03-03 Gerd Moellmann <gerd@gnu.org>
14078
14079 * xterm.c (PER_CHAR_METRIC): Removed.
14080 (x_per_char_metric_1, x_default_char): New functions.
14081 (x_per_char_metric): If font's default char is invalid, return
14082 metrics of a suitably chosen usable default char.
14083 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14084 char, replace occurrences of unprintable chars with a suitably
14085 chosen usable default char.
71a6ba55 14086
900fa1f1
GM
140872000-03-02 Gerd Moellmann <gerd@gnu.org>
14088
42f55fe0
GM
14089 * xterm.c (note_mouse_highlight): Return quickly if frame's
14090 glyph matrices have been freed.
14091
14092 * dispnew.c (free_glyphs): Block input while freeing matrices.
14093
900fa1f1
GM
14094 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14095
52283633
SM
14096 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14097 Use x_free_colors.
900fa1f1
GM
14098
14099 * dispextern.h (x_free_colors): Add prototype.
14100
14101 * xfaces.c (x_free_colors): New function.
14102 (unload_color, free_face_colors): Use it.
14103
2f950292
EZ
141042000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14105
14106 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14107
14108 * window.c [MSDOS]: Include msdos.h.
14109
54d04320
DL
141102000-03-02 Dave Love <fx@gnu.org>
14111
14112 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14113
14114 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14115 set C_OPTIMIZE_SWITCH for gcc.
14116
0ba93ac4
KH
141172000-03-02 Kenichi Handa <handa@etl.go.jp>
14118
14119 * coding.c (coding_save_composition): Be sure to allocate
14120 composition data area in coding even if there's no composition in
14121 the current run.
14122
a2bc11d4
JR
141232000-03-01 Jason Rumney <jasonr@gnu.org>
14124
14125 * w32term.c: Equivalent changes to those made to xterm.c on
14126 2000-02-25 and 2000-02-24.
14127
14128 * w32fns.c: Equivalent changes to those made to xfns.c on
14129 2000-02-25 and 2000-02-21.
14130
14131 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14132 correct line-end convention is followed.
14133
14134 * w32menu.c [HAVE_BOXES]: Remove #undef.
14135 (single_keymap_panes): Remove code for simulating checkmarks.
14136 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14137 Remove code for drawing simulated checkmarks.
14138 (w32_menu_show): make unibyte help string correctly.
14139 (add_menu_item): draw standard Windows checkmarks. Draw radio
14140 buttons as radio buttons if possible.
14141
72d19d75
GM
141422000-03-01 Gerd Moellmann <gerd@gnu.org>
14143
2df636f4
GM
14144 * sysdep.c (start_of_text): Don't define this function for NetBSD
14145 with ELF.
14146
427ec082 14147 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14148 Don't define.
14149 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14150 (LINKER): Don't undef if __NetBSD__ is defined.
14151
14152 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14153
14154 * fileio.c [__NetBSD__]: Define `unix'.
14155
72d19d75
GM
14156 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14157
ed4d0512
GM
141582000-02-29 Gerd Moellmann <gerd@gnu.org>
14159
50b1039f
GM
14160 * atimer.c (start_atimer): Don't abort when timers are stopped.
14161 (append_atimer_lists): New function.
14162 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14163 arbitrary lists of stopped and running atimers.
14164
ed4d0512
GM
14165 * atimer.c (cancel_atimer): Handle canceling an atimer when
14166 some timers are stopped.
14167
14168 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14169 after canceling it.
14170
14171 * fns.c (maybe_resize_hash_table): Handle case of new size
14172 coming out as being the same as old size.
14173
387023ee
JR
141742000-02-27 Jason Rumney <jasonr@gnu.org>
14175
14176 * makefile.nt: Add atimer.h to dependencies.
14177 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14178 * w32console.c: Only disable window system features for dispextern.h
14179 (initialize_w32_display): Build a display info for the console.
14180 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14181 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14182 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14183 as 2 button mice.
14184 * w32gui.h (struct W32FontStruct): Revert last change after change
14185 to xdisp.c.
14186 * w32menu.c (single_submenu): Set up help string.
14187 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14188 (w32_dialog_show): Set up help string.
14189 * w32term.c (w32_display_info_for_display): Remove unused function.
14190 (w32_draw_bitmap): Use pre-built bitmaps.
14191 (w32_initialize_display_info): New function to initialize parts of
14192 display info that are common to both GUI and console frames.
14193 (w32_term_init): Use w32_initialize_display_info. Do not set
14194 Vw32_num_mouse_buttons here, as it is not called for console
14195 frames. Build bitmaps for indicating truncated lines etc.
14196 (x_delete_display): Destroy pre-built bitmaps.
14197 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14198 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14199
4516715a
DL
142002000-02-27 Dave Love <fx@gnu.org>
14201
14202 * lisp.h: Add a bunch of prototypes.
14203
171ca836
KH
142042000-02-26 Kenichi Handa <handa@etl.go.jp>
14205
14206 * keyboard.c (read_char): Set `usec' correctly.
14207
4013921d
KH
142082000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14209
14210 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14211 `lambda', set reg[RRR] to the map index.
14212 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14213 reg[RRR] to 0. Otherwise, set it to -1.
14214
9244a058
GM
142152000-02-25 Gerd Moellmann <gerd@gnu.org>
14216
2df636f4 14217 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14218
18e21ce8 142192000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14220
f43d79c1
GM
14221 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14222 and contains a `:', prepend `/:'.
14223
14224 * window.c (select_window_1): If selected_window is nil,
14225 don't "swap out" the buffer's point.
14226 (Fset_window_configuration): Set selected_window to nil
14227 before calling Fselect_window.
14228 (unshow_buffer): Don't set point in buffer from window's point
14229 if another more recently selected window also shows the buffer.
14230
bed0c171
GM
142312000-02-25 Gerd Moellmann <gerd@gnu.org>
14232
449c3c52
GM
14233 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14234
f5b58615
GM
14235 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14236 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14237 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14238 New variables.
f5b58615
GM
14239 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14240 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14241 (hide_busy_cursor): New functions.
14242 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14243
14244 * minibuf.c (read_minibuf): Cancel busy-cursor.
14245
14246 * keyboard.c (command_loop_1): Call start_busy_cursor before
14247 Fcommand_execute and cancel_busy_cursor after it.
14248 (timer_check): Remove busy-cursor code.
14249 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14250 cursor timer.
14251
14252 * process.c (wait_reading_process_input): Remove busy-cursor code.
14253
14254 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14255 Fx_hide_busy_cursor.
14256
14257 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14258 Remove prototyoes.
14259 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14260
14261 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14262
14263 * xterm.c (XTread_socket): Remove busy-cursor code.
14264
4eb8436f
GM
14265 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14266 (build_frame_matrix_from_leaf_window): Put code handling
14267 glyph row's not being a slice of a frame row in #if 0.
14268 (sync_window_with_frame_matrix_rows): New function.
14269 (frame_row_to_window): New function.
14270 (mirror_line_dance): Handle copies between windows.
14271
3cb65b0e
GM
14272 * lread.c (Fload): Use `xfree' instead of `free'.
14273 (init_obarray): Use `xmalloc' instead of `malloc'.
14274
bed0c171
GM
14275 * window.c (Fset_window_buffer): Set WINDOW to the window
14276 after decoding.
2add4349
GM
14277 (coordinates_in_window): Take frame's internal border width
14278 into account.
bed0c171 14279
42088c12
GM
142802000-02-24 Gerd Moellmann <gerd@gnu.org>
14281
14282 * xterm.c (x_display_and_set_cursor): Display cursor of
14283 non-selected windows depending on the setting of
14284 cursor_in_non_selected_windows.
14285
14286 * xdisp.c (cursor_in_non_selected_windows): New variable.
14287 (syms_of_xdisp): DEFVAR_BOOL it.
14288
d1e103b2
GM
142892000-02-23 Gerd Moellmann <gerd@gnu.org>
14290
723e779c
GM
14291 * data.c (Fstring_to_number): If number is greater than what
14292 fits into an integer, return a float.
14293
d1e103b2
GM
14294 * eval.c (specbind): Remove references to
14295 keyword_symbols_constant_flag.
14296
14297 * data.c (keyword_symbols_constant_flag): Removed.
14298 (Fmakunbound, set_internal, syms_of_data): Remove references to
14299 keyword_symbols_constant_flag.
14300
14301 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14302
214f877f
KH
143032000-02-23 Kenichi Handa <handa@etl.go.jp>
14304
14305 * syntax.c (multibyte_syntax_as_symbol): New variable.
14306 (syms_of_syntax): Declare it as a Lisp variable.
14307 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14308 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14309 nonzero, treat all multibyte characters as symbol.
52283633 14310 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14311
130adcb7
EZ
143122000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14313
3cb65b0e 14314 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14315 a deleted frame.
130adcb7 14316
17cbbf95
GM
143172000-02-21 Gerd Moellmann <gerd@gnu.org>
14318
14319 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14320
14321 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14322 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14323
beb0bc36
DL
143242000-02-21 Dave Love <fx@gnu.org>
14325
14326 * frame.c (Vmouse_position_function): New variable.
14327 (Fmouse_position): Use it.
14328 (syms_of_frame): Install it.
14329
14330 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14331
1d92afcd
GM
143322000-02-20 Gerd Moellmann <gerd@gnu.org>
14333
14334 * fileio.c (Finsert_file_contents): Unbind the binding of
14335 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14336
14337 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14338 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14339 (specbind, unbind_to): Handle most common case of non-constant
14340 symbol with trivial value specially.
14341
14342 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14343
18e21ce8 143442000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14345
14346 * data.c (Fmake_variable_buffer_local): Doc fix.
14347 Init found_for_buffer to 0.
14348 (Fmake_variable_frame_local): If the variable has already
14349 been buffer-local, set the check_frame field.
14350
1d4311c3
EZ
143512000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14352
14353 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14354 produced for CODING_MODE_LAST_BLOCK requires.
14355
2dc95ddd
DL
143562000-02-18 Dave Love <fx@gnu.org>
14357
14358 * keyboard.c (echo_keystrokes): Remove declaration.
14359 (Vecho_keystrokes) New variable.
14360 (read_char, record_menu_key, read_key_sequence): Use it to allow
14361 use of float value.
14362 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14363
14364 * lread.c: Undef feature selection macros before defining.
14365
f0930f35
GM
143662000-02-18 Gerd Moellmann <gerd@gnu.org>
14367
14368 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14369 for symbols other than the symbol in question.
14370
e3d4de90
DL
143712000-02-17 Dave Love <fx@gnu.org>
14372
14373 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14374
0b378936
GM
143752000-02-17 Gerd Moellmann <gerd@gnu.org>
14376
d621caf7
GM
14377 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14378
0b378936
GM
14379 * alloc.c (enum mem_type): Compile unconditionally.
14380
3b451f74
EZ
143812000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14382
14383 * xfaces.c (tty_defined_color): Don't return faulire indication
14384 for unspecified-fg and unspecified-bg pseudo-colors.
14385
10689a01
GM
143862000-02-17 Gerd Moellmann <gerd@gnu.org>
14387
1216f5e4
GM
14388 * alloc.c (mark_object): Don't mark symbol names in pure space.
14389 (gc_sweep): Don't unmark symbol names in pure space.
14390
14391 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14392 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14393 [GC_MARK_STACK]: New defines.
427ec082 14394 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14395 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14396
14397 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14398
14399 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14400 allocate_buffer instead of xmalloc.
14401
14402 * alloc.c (toplevel): Include setjmp.h.
14403 (PURE_POINTER_P): New define.
14404 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14405 (Vdead) [GC_MARK_STACK]: New variable.
14406 (lisp_malloc): Add parameter TYPE, call mem_insert if
14407 GC_MARK_STACK is defined.
14408 (allocate_buffer): New function.
427ec082 14409 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14410 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14411 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14412 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14413 (MEM_NIL) [GC_MARK_STACK]: New define.
14414 (struct mem_node) [GC_MARK_STACK]: New structure.
14415 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14416 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14417 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14418 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14419 (mark_stack) [GC_MARK_STACK]: New functions.
14420 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14421 (clear_marks): Removed.
14422 (gc_sweep): Set free conses' car, free floats' type, free
14423 symbols' function to Vdead. Use lisp_free to free buffers.
14424 (init_alloc_once): Initialize Vdead.
14425 (survives_gc_p): Return non-zero for pure objects.
14426
14427 * alloc.c: Add comments throughout the file.
14428
2503c8b1
GM
14429 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14430 that unblocks alarms.
14431
8389e1e2
GM
14432 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14433 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14434 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14435
10689a01 14436 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14437
bfc17d18
KH
144382000-02-17 Kenichi Handa <handa@etl.go.jp>
14439
4a09dee0
KH
14440 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14441 avoid infinite error signaling. Allocate sufficient memory for
14442 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14443
2b927d02
SM
144442000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14445
14446 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14447 depends on the previous behavior.
14448
b49cb764
GM
144492000-02-16 Gerd Moellmann <gerd@gnu.org>
14450
14451 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14452
99e95407
GM
144532000-02-15 Gerd Moellmann <gerd@gnu.org>
14454
14455 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14456
14457 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14458 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14459 write(2).
14460
6ffd3cf7
RS
144612000-02-15 Richard M. Stallman <rms@gnu.org>
14462
14463 * data.c (set_internal): Don't make variable buffer-local
14464 if within a let-binding for the same buffer.
14465 (let_shadows_buffer_binding_p): New function.
14466
14467 * eval.c (specbind): For buffer-local value,
14468 record the current buffer also.
14469 (unbind_to): Cope with that change.
14470
cad53475
GM
144712000-02-15 Gerd Moellmann <gerd@gnu.org>
14472
14473 * window.c (Fsave_window_excursion): Doc fix.
14474
1aa963c8
SM
144752000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14476
14477 * syntax.c (back_comment): Make sure we only consider comment-starters
14478 of the relevant style and return -1 in case of a failure to find the
14479 beginning of the comment.
14480 (Fforward_comment): If back_comment fails, go back to the position just
14481 after the comment-end.
14482 (scan_lists): Add comment describing a very minor bug.
14483
b9b84fd3
SM
144842000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14485
14486 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14487 `completion-regexp-list' in the docstring.
14488
3a28db80
DL
144892000-02-14 Dave Love <fx@gnu.org>
14490
14491 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14492
fb4a568d
SM
144932000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14494
14495 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14496 to Emacs' syntax. Also fix the comment about set/not-set meanings
14497 since Emacs syntax is not the value 0 any more.
14498 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14499 since it's now part of RE_SYNTAX_EMACS.
14500
1063ebb5
DL
145012000-02-12 Dave Love <fx@gnu.org>
14502
52283633 14503 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14504
fb07a302
GM
145052000-02-12 Gerd Moellmann <gerd@gnu.org>
14506
14507 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14508
aaf2320c
DL
145092000-02-12 Dave Love <fx@gnu.org>
14510
14511 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14512
14513 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14514 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14515 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14516
14517 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14518
14519 * s/nextstep.h: Don't define HAVE_ALLOCA.
14520
14521 * config.in: Add vfork bits.
14522
eedf8bde
GM
145232000-02-12 Gerd Moellmann <gerd@gnu.org>
14524
14525 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14526 unwind function to undo the effect of stopping atimers.
14527
52283633 14528 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14529
14530 * atimer.c (stopped_atimers): New variable.
14531 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14532 New functions.
14533
14534 * atimer.h (stop_other_atimers, run_all_atimers)
14535 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14536
eedf8bde
GM
14537 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14538
8476c2f8
KR
145392000-02-11 Ken Raeburn <raeburn@gnu.org>
14540
14541 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14542 library may depend on jpeg.
14543 (atimer.o): Depends on atimer.c.
14544
0e85e4a3
KH
145452000-02-11 Kenichi Handa <handa@etl.go.jp>
14546
14547 * insdel.c (del_range_1): Call update_compositions.
14548 (del_range_both): Call update_compositions just once..
14549
97fa0cc8
DL
145502000-02-10 Dave Love <fx@gnu.org>
14551
14552 * xfns.c (create_frame_xic): Fix initialization of automatic
14553 aggregates for pcc.
14554
25566a3c
KH
145552000-02-09 Kenichi Handa <handa@etl.go.jp>
14556
14557 * ccl.c (CCL_MAKE_CHAR): New macro.
14558 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14559 registers by CCL_MAKE_CHAR before calling translate_char.
14560 <CCL_TranslateCharacterConstTbl> Likewise.
14561
69da54ba
DL
145622000-02-08 Dave Love <fx@gnu.org>
14563
14564 * lread.c (__EXTENSIONS__): Define.
14565
f7136ee8
GM
145662000-02-08 Gerd Moellmann <gerd@gnu.org>
14567
14568 * puresize.h (BASE_PURESIZE): Increase to 650000.
14569
7768790b
EZ
145702000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14571
14572 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14573 the help message.
14574
38fd211b
EZ
145752000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14576
14577 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14578 md, mh, mb, mr, and me to the fake termcap entry.
14579
66e4690f
KR
145802000-02-06 Ken Raeburn <raeburn@gnu.org>
14581
14582 * sound.c (sound_cleanup): Don't call device close routine if the
14583 function pointer is null.
14584
a75dfea0
AI
145852000-02-06 Andrew Innes <andrewi@gnu.org>
14586
14587 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14588 around image definitions and prototypes.
14589 (gamma_correct) [WINDOWSNT]: New prototype.
14590
14591 * w32term.c (x_make_frame_visible): Replace call to
14592 input_poll_signal with poll_for_input.
14593
14594 * window.c [WINDOWSNT]: Include w32term.h.
14595
14596 * xdisp.c [WINDOWSNT]: Include w32term.h.
14597
14598 * makefile.nt: Add dependencies on w32gui.h.
14599 (OBJ1): Include atimer.obj.
14600 ($(BLD)\atimer.obj): New dependency rule.
14601
14602 * w32.c (sigmask): New function (does nothing).
14603 (sigunblock): Ditto.
14604
14605 * frame.c [WINDOWSNT]: Include w32term.h.
14606
14607 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14608
14609 * lread.c (syms_of_lread): Fix literal newlines.
14610
14611 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14612 the string constant limit (2048 bytes) in MSVC.
14613 (main): Ditto.
14614
59ddecde
GM
146152000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14616
52283633 14617 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14618 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14619 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14620 dispatch the event.
14621
07590973
DL
146222000-02-04 Dave Love <fx@gnu.org>
14623
14624 * fileio.c: Remove some unused vars.
14625 (_GNU_SOURCE): Define (for euidaccess).
14626
14627 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14628
14629 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14630 gcpro1, gcpro2.
14631 (read_minibuf): Deal with allow_props correctly.
14632
649351f9
EZ
146332000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14634
14635 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14636
66e4690f 146372000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14638
14639 * search.c (compile_pattern): If a cache entry has a nil regexp,
14640 fill in that entry instead of clobbering a previously cached
14641 string regexp.
14642
66e4690f 146432000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14644
14645 * puresize.h (BASE_PURESIZE): Increase to 610000.
14646
d240a249
GM
146472000-02-02 Gerd Moellmann <gerd@gnu.org>
14648
14649 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14650 can GC.
14651
ca91fb26
KH
146522000-02-02 Kenichi Handa <handa@etl.go.jp>
14653
25660570
KH
14654 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14655 instead of incrementing ic directly.
14656 <CCL_WriteExprConst> Likewise.
14657 <ccl_set_expr>: Set ic to jump_address.
14658
ca91fb26
KH
14659 * fileio.c (e_write): Fix the handling of
14660 CODING_FINISH_INSUFFICIENT_SRC.
14661
2ede9689
DL
146622000-02-01 Dave Love <fx@gnu.org>
14663
14664 * editfns.c (Fpropertize): Doc fix.
14665
14666 * process.c (Fstart_process): Doc fix.
14667
14668 * eval.c: Fix various doc strings not to duplicate information
14669 from help-manyarg-func-alist.
14670
52283633 14671 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14672
14673 * doc.c (Vhelp_manyarg_func_alist): New variable.
14674 (Fdocumentation): Use it.
14675 (syms_of_doc): Define it.
14676
b6680a0e
GM
146772000-01-31 Gerd Moellmann <gerd@gnu.org>
14678
2cb750ba
GM
14679 * xterm.c (xim_open_dpy): Remove unused local variable.
14680
52283633 14681 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14682
14683 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14684 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14685
b6680a0e
GM
14686 * fns.c (sweep_weak_table): New function.
14687 (sweep_weak_hash_tables): Use it. Keep on marking until there
14688 is no more change.
14689
994c5afe
GM
146902000-01-30 Gerd Moellmann <gerd@gnu.org>
14691
14692 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14693 that XTread_socket does not crash by trying to call XNoOp on a
14694 closed display.
427ec082 14695
f00276e3
JR
146962000-01-30 Jason Rumney <jasonr@gnu.org>
14697
14698 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14699 Change selected_frame to SELECTED_FRAME ().
14700 (w32_console_mouse_position): Remove #ifndef MULE from around
14701 `insist' parameter.
14702
14703 * makefile.nt: Remove dosfns.obj.
14704
14705 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14706
14707 * w32fns.c (w32_defined_color): Check for valid frame before
14708 applying gamma correction. Eliminate dependency on frame elsewhere.
14709 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14710 (w32_to_x_font): Use resx and resy not height_in and width_in.
14711 (x_to_w32_font): Doc fix.
14712 (xlfd_strip_height): New function to strip and return font height.
14713 (w32_font_match): Compare height separately from rest of xlfd
14714 spec, using xlfd_strip_height.
14715
14716 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14717 width_in. Use w32_defined_color in place of defined_color.
14718
14719 * w32faces.c: Merge more of DOS and X specifics in preparation for
14720 merge with xfaces.c.
14721 (defined_color): Remove FIXME comment.
14722 (tty_color_name): Provide w32-specific function.
14723 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14724
14725 * w32console.c (turn_on_face, turn_off_face): Removed.
14726 (w32_face_attributes): New function.
14727 (Global_variables): Reduce scope where possible.
14728 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14729 fill attribute.
14730 (hl_mode): Don't modify text attributes.
14731 (write_glyphs): Don't do anything if len <= 0. Use
14732 w32_face_attributes to get attributes for drawing. Write
14733 terminating codes using char_attr_normal.
14734 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14735 (update_begin, update_end): Likewise.
14736 (vga_stdcolor_name): New function.
14737 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14738 (Fset_screen_color): Remove char_attr_reverse.
14739
b08e8bb2
GM
147402000-01-29 Gerd Moellmann <gerd@gnu.org>
14741
14742 * xfns.c (xic_set_preeditarea): Take window parameter and
14743 window-relative pixel-positions.
14744
14745 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14746 is its frame's selected window.
14747 (xim_instantiate_callback): Likewise.
14748
14749 * xfns.c (x_create_im): Removed.
14750 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14751 (supported_xim_styles): Renamed from supported_styles.
14752 (best_xim_style): Renamed from best_style.
14753 (create_frame_xic): Renamed from xic_create_frame.
14754 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14755
b08e8bb2
GM
147562000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14757
14758 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14759 our frames, call XFilterEvent with 2nd parameter `None'.
14760 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14761 returning XBufferOverflow.
52283633 14762 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14763 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14764 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14765 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14766 (xim_initialize, xim_close)
14767 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14768 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14769 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14770 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14771
14772 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14773 and `xim_styles'.
14774 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14775 `xic_style' and `xic_xfs'.
14776 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14777 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14778 (FRAME_XIM): Removed.
14779
14780 * xfns.c (supported_styles): New variable.
14781 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14782 (xic_create_xfontset, best_style, xic_create_frame)
14783 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14784 (xic_set_xfontset): New functions.
14785
142e109c
DL
147862000-01-28 Dave Love <fx@gnu.org>
14787
14788 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14789
14790 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14791
b02786f9
GM
147922000-01-28 Gerd Moellmann <gerd@gnu.org>
14793
d060bc9f
GM
14794 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14795 for *scratch* if it already existed.
14796
b02786f9
GM
14797 * emacs.c (USAGE): New macro.
14798 (main): Use it to display usage information.
14799
2c52d7e4
EZ
148002000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14801
14802 Support for the menu-help feature:
14803
52283633 14804 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14805
14806 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14807 part of the line to the termscript file.
14808 (IT_clear_to_end): Clear the entire line, not just its beginning.
14809 (menu_help_message, prev_menu_help_message): New variables.
14810 (IT_menu_make_room): Make room for the help_text member.
14811 (IT_menu_display): New argument disp_help; all callers changed.
14812 If disp_help is non-zero, store the help text of the active menu
14813 item in menu_help_message.
14814 (XMenuAddPane): Initialize the help_text member to NULL.
14815 (XMenuAddSelection): New argument help_text. Store it in the
14816 XMenu structure.
14817 (XMenuActivate): New argument help_callback. If the value of
14818 menu_help_message has changed since the last time, display the
14819 menu help message text while waiting for the mouse to move. Clear
14820 the echo area before exiting.
14821 (XMenuDestroy): Free the help_text member.
14822
ffe0bcd1
GM
148232000-01-27 Gerd Moellmann <gerd@gnu.org>
14824
14825 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14826 XMenuAddSelection. Pass help callback to XMenuActivate.
14827 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14828
50dbd23f
EZ
148292000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14830
14831 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14832 and EMACS_SET_USECS.
14833
f5941bf8
GM
148342000-01-26 Dave Love <fx@gnu.org>
14835
6c67ddee
DL
14836 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14837
f5941bf8
GM
14838 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14839 an error may be signalled.
14840
9e49c990
GM
148412000-01-26 Gerd Moellmann <gerd@gnu.org>
14842
fc3cb460
GM
14843 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14844 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14845
9e49c990
GM
14846 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14847
d0c037d8
GM
148482000-01-25 Gerd Moellmann <gerd@gnu.org>
14849
14850 * charset.c (Fstring): If there is a multibyte char among
14851 the args, always return a multibyte string.
14852
e12489f9
GM
148532000-01-25 Gerd Moellmann <gerd@gnu.org>
14854
14855 * sysdep.c (sys_select): Turn atimers off and on instead of
14856 recording and restoring old alarm handler
14857
14858 * process.c (toplevel): Include atimer.h.
14859 (create_process_1): Rewritten.
14860 (create_process): Use atimers instead of alarm.
14861 (wait_reading_process_input) [hpux]: Turn atimers off instead
14862 of turning off SIGALRM.
14863 (wait_reading_process_input): Turn off atimers instead off
14864 calling stop_polling.
14865
14866 * emacs.c (main): Call init_atimer.
14867
14868 * keyboard.c (toplevel): Include systime.h and atimer.h.
14869 (polling_for_input): Removed because unused.
14870 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14871 (poll_timer): New variable.
14872 (poll_for_input, poll_for_input_1): New functions.
14873 (start_polling, stop_polling): Rewritten.
14874
14875 * keyboard.h (polling_for_input): Removed.
427ec082 14876
e12489f9
GM
14877 * atimer.h, atimer.c: New files.
14878
14879 * Makefile.in (obj): Add atimer.o.
14880 (atimer.o): New target.
14881
14882 * blockinput.h (pending_atimers): Add extern declaration.
14883 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14884
14885 * lisp.h (popup_activated_flag): Add extern declaration.
14886
14887 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14888 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14889 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14890
14891 * xterm.c (toplevel): Include atimer.h.
14892 (toolkit_scroll_bar_interaction): New variable.
14893 (Fxt_process_timeouts): Removed.
14894 (x_process_timeouts): New function.
14895 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14896 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14897 (x_make_frame_visible): Call poll_for_input_1 instead of
14898 input_poll_signal. Don't call alarm.
14899 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14900
1e5279b9
DL
149012000-01-24 Dave Love <fx@gnu.org>
14902
6c67ddee 14903 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14904 Don't use -cckr -- apparently not now necessary.
14905
edf6aeb8
EZ
149062000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14907
14908 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14909 screen boundary.
14910
9badad41
JR
149112000-01-23 Jason Rumney <jasonr@gnu.org>
14912
14913 * w32fns.c (w32_defined_color): Apply gamma correction before
14914 trying to map to the palette.
14915 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14916 to w32_clear_rect.
14917
14918 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14919 here. Callers changed to always pass real device context.
14920 (w32_draw_bitmap): Likewise.
14921 (w32_get_glyph_overhangs): Likewise.
52283633 14922 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14923 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14924 pfnSetScrollInfo and SetScrollRange.
14925 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14926 back into MULE characters after decoding them.
14927 (x_get_glyph_face_and_encoding): Likewise.
14928 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14929 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14930 (x_produce_glyphs): Calculate per char metrics for a character
14931 that we know exists in default font when font_not_found_p is true.
14932
63bd786b
JR
149332000-01-22 Jason Rumney <jasonr@gnu.org>
14934
14935 * makefile.nt (intervals.obj, composite.obj): New modules.
14936 (composite.h): Added as dependency where appropriate.
14937
14938 * w32gui.h (XGCValue): New struct for emulating X GCs.
14939
14940 * w32term.h (XCharStruct): New struct for emulating X.
14941
14942 * w32console.c (turn_on_face, turn_off_face): New functions.
14943 (change_line_highlight): New prototype for new redisplay.
14944 (write_glyphs): Support multibyte text. Support faces.
14945
52283633 14946 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14947
14948 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14949 throughout. struct frame * in place of FRAME_PTR.
14950 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14951 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14952 (w32_get_arg): Renamed from x_get_arg.
14953 (Fx_file_dialog): New function.
14954 (w32_list_fonts): Check cache before asking system.
14955 (Vw32_enable_synthesized_fonts): New variable.
14956 (Vw32_enable_italics): Obsolete, removed.
14957
14958 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14959 Use SELECTED_FRAME macro.
14960
14961 * w32menu.c: Add skeleton support for help strings on menus.
14962 (add_menu_item): Native checkbox and radio support added, but not
14963 yet enabled due to bugs.
14964 (push_menu_item): Add parameters type, selection and help.
14965 Callers updated.
14966 Formatting changes to reduce unnecessary diffs with xmenu.c.
14967
14968 * w32select.c (Fw32_set_clipboard_data): Update call to
14969 find_charset_in_str.
14970
14971 * w32term.c: Complete rewrite for new redisplay based on new
14972 xterm.c with necessary sections merged back in from old w32term.c.
14973
6ffd3cf7 149742000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14975
14976 * data.c (set_internal): Further fix in same criterion.
14977
6ffd3cf7 149782000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14979
14980 * data.c (set_internal): Fix the criteria for whether
14981 to swap out the old cached binding.
14982
60af03f1
DL
149832000-01-19 Dave Love <fx@gnu.org>
14984
14985 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14986
f9be074f
KH
149872000-01-18 Kenichi Handa <handa@etl.go.jp>
14988
14989 * regex.c (re_compile_fastmap): While checking a range table for
14990 `charset', skip flag bits for a character class correctly.
14991
52b8dbf9
GM
149922000-01-17 Gerd Moellmann <gerd@gnu.org>
14993
d36100c9
GM
14994 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14995
52283633 14996 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14997
14998 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14999 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15000
15001 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15002 MENU_ITEMS_ITEM_.*.
15003 (MENU_ITEMS_ITEM_HELP): New enumerator.
15004 (push_menu_item): Add parameter HELP. Record help in menu_items.
15005 (single_menu_item, single_submenu, list_of_items): Call
15006 push_menu_item with new parameter.
15007 (single_submenu): Set help string in widget value.
15008 (menu_highlight_callback): New function.
15009 (set_frame_menubar): Call lw_create_widget with new
15010 parameter list.
15011 (xmenu_show, xdialog_show): Ditto.
15012
3139018f
GM
150132000-01-13 Gerd Moellmann <gerd@gnu.org>
15014
15015 * sound.c (Fplay_sound): Improve doc string.
15016
83c8f461
RS
150172000-01-11 Richard M. Stallman <rms@gnu.org>
15018
15019 * lisp.h (set_internal): Enter the new arg.
15020
15021 * eval.c (specbind): Record buffer-local variables specially,
15022 indicating which buffer's binding was saved.
15023 (unbind_to): Restore buffer-local variables specially
15024 in the proper buffer.
15025
15026 * data.c (set_internal): New arg BUF.
427ec082 15027
83c8f461
RS
15028 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15029 * data.c (Fset): Pass new arg to set_internal.
15030 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15031
1fab1775
GM
150322000-01-11 Gerd Moellmann <gerd@gnu.org>
15033
52283633 15034 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15035
83c8f461 150362000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15037
15038 * minibuf.c (Ftry_completion): Doc fix.
15039
7a85e4df
GM
150402000-01-11 Gerd Moellmann <gerd@gnu.org>
15041
15042 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15043 vector, too.
15044
a970dae4
AS
150452000-01-11 Andreas Schwab <schwab@suse.de>
15046
15047 * coding.c (code_convert_region): Initialize total_skip.
15048
c65d14ee
DL
150492000-01-08 Dave Love <fx@gnu.org>
15050
15051 * eval.c (Fuser_variable_p): Check customizability too.
15052
834938d2
GM
150532000-01-07 Gerd Moellmann <gerd@gnu.org>
15054
15055 * minibuf.c (Fcompleting_read): Doc fix.
15056
e0303cd6
GM
150572000-01-05 Gerd Moellmann <gerd@gnu.org>
15058
8a26744b
GM
15059 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15060 -L /usr/local/lib.
15061
e0303cd6
GM
15062 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15063 Check that input style is supported before trying to create an
15064 IC for it.
15065 (x_window): Call x_create_im.
427ec082 15066
2e471eb5
GM
150672000-01-04 Gerd Moellmann <gerd@gnu.org>
15068
560a7bd2
GM
15069 * xfns.c (current_gif_memory_src): New variable.
15070 (gif_load): Record the address of the current memory source
15071 in current_gif_memory_src.
15072 (gif_read_from_memory): Use current_gif_memory_src.
15073
f9ee84a3
GM
15074 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15075 macros statement form.
15076
d1299cde
GM
15077 * sound.c (struct sound): Renamed from struct sound_file.
15078 (struct sound): Add members `data' and `header_size'.
15079 (enum sound_attr): Add SOUND_DATA.
15080 (current_sound, current_sound_device): Variables renamed from
15081 sound_file and sound_device.
15082 (parse_sound): Parse :data.
15083 (parse_sound): Handle sound data in strings.
15084 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15085 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15086 needed header size.
15087 (wav_play, au_play): Play sounds from string data.
15088
2e471eb5
GM
15089 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15090
15091 * lisp.h: Add prototype for allocate_string_data.
15092
52283633 15093 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15094
15095 * alloc.c (mark_buffer): Remove code in #if 0.
15096 (gc_sweep): Ditto.
15097 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15098 (strings_consed): New variable.
15099 (allocate_string): Set it.
15100 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15101 (Fmemory_use_counts): Return strings_consed. Use Flist.
15102
15103 * alloc.c: General cleanup in comments etc. Remove conditional
15104 compilation for `standalone'.
15105
15106 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15107
15108 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15109 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15110 (DONT_COPY_FLAG): Removed.
15111 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15112 (struct sdata, struct sblock): New
15113 (struct string_block): Rewritten.
15114 (STRINGS_IN_STRING_BLOCK): New macro.
15115 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15116 (large_sblocks, string_blocks, string_free_list): New variables.
15117 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15118 (init_strings): Rewritten.
15119 (allocate_string, allocate_string_data, compact_small_strings)
15120 (free_large_strings, sweep_strings): New functions.
15121 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15122 (struct string_block_head, current_string_block)
15123 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15124 (STRING_PAD): Removed.
15125 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15126 (Fgarbage_collect): Don't set mark bit in large strings.
15127 (mark_object): Mark strings differently. Mark symbol names
15128 differently.
15129 (survives_gc_p): Test marked strings differently.
427ec082 15130 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15131 symbol names.
15132 (compact_strings): Removed.
15133
42608ba8
EZ
151342000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15135
15136 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15137 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15138
e0a09e1a
KH
151392000-01-04 Kenichi Handa <handa@etl.go.jp>
15140
dd9f0750 15141 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15142 in a non-empty buffer.
dd9f0750 15143
3c0f3b15 15144 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15145
44cd3ae5
GM
151462000-01-03 Gerd Moellmann <gerd@gnu.org>
15147
15148 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15149 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15150
15151 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15152
c182a70f
EZ
151532000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15154
15155 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15156 need to test for MSDOS frames.
15157
24480d5b
EZ
151582000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15159
15160 * dosfns.c (unspecified_colors): Remove.
15161 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15162 unspecified_bg.
15163 (msdos_stdcolor_name): Return strings for unspecified fore- and
15164 back-ground colors.
15165
15166 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15167 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15168 (tty_color_name): Return Lisp strings for unspecified fore- and
15169 back-ground colors.
15170 (Finternal_set_lisp_face_attribute): Remove the special treatment
15171 for Qunspecified_{f,b}g.
52283633 15172 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15173
047f434a
GM
151742000-01-03 Gerd Moellmann <gerd@gnu.org>
15175
15176 * xdisp.c (reseat_at_next_visible_line_start): Position before
15177 newline only if ending up on a newline.
15178 (next_element_from_ellipsis): Return success. Handle case of
52283633 15179 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15180 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15181 returns 0.
15182
d684c676
EZ
151832000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15184
15185 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15186 (Fcolor_supported_p): Renamed from face-color-supported-p.
15187
5fe1d139
EZ
151882000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15189
15190 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15191 list of colors renamed to tty-defined-color-alist.
15192 (tty_color_name): Pass the frame to tty-color-by-index.
15193 (realize_tty_face): tty-color-alist is now a function which
15194 accepts the frame as argument.
15195
52283633 15196 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15197
816be8b8
EZ
151982000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15199
15200 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15201 encode_terminal_code.
15202
b635321e
EZ
152032000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15204
15205 * dispnew.c (mode_line_string): Support termcap frames as well.
15206
9b784e96
GM
152072000-01-01 Gerd Moellmann <gerd@gnu.org>
15208
27189709
GM
15209 * syntax.c (Fforward_word): Undo previous change.
15210
15211 * editfns.c (Fconstrain_to_field): Don't constrain if
15212 inhibit-field-text-motion is non-nil.
15213 (Fline_beginning_position): Undo previous change.
15214 (Fline_end_position): Ditto.
15215
15216 * syntax.c (Fforward_word): Notice field boundaries only if
15217 inhibit-field-text-motion is nil.
15218
15219 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15220
15221 * editfns.c (Vinhibit_field_text_motion): New variable.
15222 (inhibit-field-text-motion): New DEFVAR_LISP.
15223 (Fline_beginning_position, Fline_end_position): Notice field
15224 boundaries only if inhibit-field-text-motion is nil.
15225
45158a91
GM
15226 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15227 All calls adjusted.
15228 (x_build_heuristic_mask): Likewise.
15229 (xbm_load_image_from_file): Change error output.
15230 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15231 (gif_load, gs_load, x_kill_gs_process): Ditto.
15232
9b784e96
GM
15233 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15234 color indices when accessing raster pixels.
63cec32f
GM
15235 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15236 one of :file or :data.
15237 (enum pbm_keyword_index): Add PBM_DATA.
15238 (pbm_format): Add :data.
15239 (pbm_image_p): Allow either :file or :data.
15240 (pbm_read_file): New function.
15241 (pbm_scan_number): Rewritten to read from string.
15242 (pbm_load): Support :data.
9b784e96 15243
2cb085db 15244See ChangeLog.8 for earlier changes.
6922b018
KH
15245
15246;; Local Variables:
49b3bd82 15247;; coding: iso-2022-7bit
6922b018 15248;; End:
2a34a036
GM
15249
15250 Copyright (C) 2001 Free Software Foundation, Inc.
15251 Copying and distribution of this file, with or without modification,
15252 are permitted provided the copyright notice and this notice are preserved.