(notice_overwritten_cursor): Don't depend on
[bpt/emacs.git] / src / ChangeLog
CommitLineData
539e92ad
GM
12001-12-28 Gerd Moellmann <gerd@gnu.org>
2
60626bab
GM
3 * xterm.c (notice_overwritten_cursor): Don't depend on
4 output_cursor and updated_area. Compare pixel coordinates with
5 window's cursor pixel coordinates.
6 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
7 notice_overwritten_cursor with new arg list.
8 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
9 unconditionally.
10
539e92ad
GM
11 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
12 height of the cursor line to the amount to scroll.
13
4e02881b
RS
142001-12-27 Richard M. Stallman <rms@gnu.org>
15
16 * intervals.c (set_point_both): The position after an invisible,
17 intangible character is not an acceptable stopping point.
18
1ab964d7
KR
192001-12-27 Ken Raeburn <raeburn@gnu.org>
20
21 * window.c (enlarge_window): In new preserve_before code, convert
22 CURBEG from lisp object to integer before doing arithmetic.
23
749f499f
RS
242001-12-27 Richard M. Stallman <rms@gnu.org>
25
26 * bytecode.c (Fbyte_code): Undo previous change.
27
b5d9aaba
KS
282001-12-26 Kim F. Storm <storm@cua.dk>
29
30 * keyboard.c (record_char): Ignore duplicate help-echo events only
31 separated by mouse-movement. When tracking mouse, only record
32 first and last mouse-movement event in same window.
33 Don't record mouse-movement events in keyboard macros.
34
d0fd26dd
RS
352001-12-25 Richard M. Stallman <rms@gnu.org>
36
b4c45162
RS
37 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
38 (Fenlarge_window): New arg PRESERVE_BEFORE.
39
d0fd26dd
RS
40 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
41 instead of Fstring_as_unibyte.
42
c95eaa61
PJ
432001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
44
45 The following changes remove mocklisp support:
46
47 * mocklisp.h, mocklisp.c: Files removed.
48
49 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
50 `Qmocklisp' and `Qmocklisp_arguments'.
51 Remove prototype of syms_of_mocklisp.
52
53 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
54 files.
55
56 * callint.c: Do not include mocklisp.h.
57 (Fcall_interactively): Do not test for mocklisp case.
58
59 * eval.c: Remove variables `Qmocklisp_arguments',
60 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
61 ml_apply.
62 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
63 not test for mocklisp case.
64 (Fwhile): Remove unused variable `tem'.
65 (syms_of_eval): Remove variable `moclisp-arguments'.
66
67 * data.c (wrong_type_argument): Remove mocklisp case.
68
69 * doc.c (Fdocumentation): Remove mocklisp case.
70
71 * emacs.c (main): Do not call syms_of_mocklisp.
72
31877e0a
RS
732001-12-21 Richard M. Stallman <rms@gnu.org>
74
75 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
76 to the left or to the right of the pointer, put it against
77 the left screen edge.
78
e2c3786a
EZ
792001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
80
81 * Makefile.in (distclean): Remove .gdbinit if we are building
82 outside the source tree.
83
c513fc03
EZ
842001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
85
bf794306
EZ
86 * w32.c (emacs_root_dir): New function.
87
88 * msdos.c (emacs_root_dir): New function.
89
90 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
91 of the current drive as the fallback for default_directory.
92
62582985
EZ
93 * dired.c (file_name_completion): Run the elements of
94 completion-ignored-extensions through ENCODE_FILE.
95
c513fc03
EZ
96 * lisp.h (scmp): Remove prototype, since it's now a static
97 function private to dired.c.
98
3509a04c
RS
992001-12-18 Richard M. Stallman <rms@gnu.org>
100
101 * dired.c (scmp): Function moved from minibuf.c.
102 Delete multibyte handling--used only on encoded strings.
103
104 * minibuf.c (scmp): Function moved to dired.c.
105
106 * fns.c (merge): Add QUIT call.
107
1e9a6186
DL
1082001-12-18 Dave Love <fx@gnu.org>
109
110 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
111 language/georgian.el.
112
e4e34e31
EZ
1132001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
114
115 * Makefile.in (lisp, shortlisp): Synchronize with changes to
116 lisp/Makefile.in:DONTCOMPILE.
117
4521d1fc
PJ
1182001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
119
7c75be36
PJ
120 * xdisp.c (window_box_height): Do not return negative values.
121 From Gerd Moellmann <gerd@gnu.org>.
122
4521d1fc
PJ
123 * keyboard.c (head_table): Add missing braces around initializer.
124
125 * term.c (keys): Likewise.
126
127 * xfns.c (x_frame_parms, visual_classes): Likewise.
128
93dec019
SS
1292001-12-17 Sam Steingold <sds@gnu.org>
130
131 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
132 patch (COMPOSING_P, not COMPOSING).
133
905cc05a
RS
1342001-12-17 Richard M. Stallman <rms@gnu.org>
135
2ed06289
RS
136 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
137
0e79d667
RS
138 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
139 before calling decode_coding.
140
141 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
142
143 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
144 instead of only for COMPOSITION_DISABLED.
145
82a7ab23
RS
1462001-12-16 Richard M. Stallman <rms@gnu.org>
147
d75bec6a
RS
148 * alloc.c (pure_alloc): After overflow, allocate just a small block.
149
52dcb476
RS
150 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
151
82a7ab23
RS
152 * buffer.h (struct buffer): New field `display_error_modiff'.
153 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
154
155 * window.c (Frecenter): Clear display_error_modiff field.
156
157 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
158 Call redisplay_window, but not if display_error_modiff field says no.
159 (redisplay_window_error): New function.
160 (displayed_buffer): New variable.
161 (redisplay_internal, redisplay_windows): Call the new functions
162 instead of redisplay_window directly.
163
4d0fa4f3
RS
1642001-12-15 Richard M. Stallman <rms@gnu.org>
165
166 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
167
493faf20
AI
1682001-12-14 Andrew Innes <andrewi@gnu.org>
169
325111e9
AI
170 * makefile.w32-in (EMACSLOADPATH): Define.
171 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
172 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 173
4971e491
EZ
1742001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
175
397b3b50 176 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
177 parameter have a numeric value all the time.
178
179 * w32fns.c (x_report_frame_params): Likewise.
180
d911a0fa
RS
1812001-12-12 Richard M. Stallman <rms@gnu.org>
182
183 * fileio.c (Fwrite_region): Doc fix.
184
185 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
186 (redisplay_internal): Call clear_image_cache only for window terminals.
187
201c831a
GM
1882001-12-12 Gerd Moellmann <gerd@gnu.org>
189
190 * xdisp.c (move_it_vertically_backward): Change heuristic
191 for the case that we didn't move far enough initially.
192
193 * window.c (Frecenter): Simplify computation in the case of window
194 system frames and ARG < 0; use window_box_height.
195
34e39c95
RS
1962001-12-11 Richard M. Stallman <rms@gnu.org>
197
198 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
199 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
200
d77fbc16
AI
2012001-12-11 Andrew Innes <andrewi@gnu.org>
202
203 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
204 arg is negative.
205
61e3b944
RS
2062001-12-11 Richard M. Stallman <rms@gnu.org>
207
208 * m/hp800.h: Split the __hpux conditional into the parts
209 that are right for GNU/Linux too and the parts that are not.
210 Use the former if GNU_LINUX.
211 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
212
213 * s/gnu-linux.h (GNU_LINUX): Defined.
214
70da46c3
PJ
2152001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
216
217 * macros.c, msdos.c, w16select.c: Change doc-string comments to
218 `new style' [w/`doc:' keyword].
219
8af01033
JR
2202001-12-10 Jason Rumney <jasonr@gnu.org>
221
222 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
223 before using.
224
7363986a
PJ
2252001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
226
227 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
228 keyword].
229
d9e6c4b1
EZ
2302001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
231
d20fc48a
EZ
232 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
233
d9e6c4b1
EZ
234 * s/hpux10.h (srand48): Don't undefine.
235
f1a85b89
JR
2362001-12-09 Jason Rumney <jasonr@gnu.org>
237
238 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
239 comment to explain where the struct came from.
240 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
241 (add_menu_item): Process pop-up menus first to avoid memory leak.
242 (add_menu_item, w32_menu_display_help): Use `help' field as
243 Lisp_Object.
244 (w32_free_submenu_strings): Only free owner-drawn strings.
245
3a62677f
PJ
2462001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
247
72244db2
PJ
248 * COPYING: Moved back.
249
3a62677f
PJ
250 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
251 Add parentheses around && within ||.
252
253 * indent.c (compute_motion): Likewise.
254
255 * intervals.c (merge_properties_sticky): Likewise.
256
257 * coding.c (setup_coding_system, shrink_encoding_region)
258 (Fdecode_sjis_char): Likewise.
259
9d113d9d
AS
2602001-12-07 Andreas Schwab <schwab@suse.de>
261
b8523839
AS
262 * xdisp.c (display_mode_element): Don't read past end of string if
263 it ends with '%'.
264
9464dea4
AS
265 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
266 can hold.
267
9d113d9d
AS
268 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
269 from most_positive_fixnum and most_negative_fixnum, resp., and
270 type changed to Lisp_Object.
271 (syms_of_data): DEFVAR_LISP them.
272
70ec1377
RS
2732001-12-07 Richard M. Stallman <rms@gnu.org>
274
275 * callproc.c (init_callproc): Set Vdata_directory based on the source
276 location whenever Emacs was run uninstalled.
277
92f7dd37
PE
2782001-12-06 Paul Eggert <eggert@twinsun.com>
279
280 * config.in (HAVE_WORKING_VFORK): New #undefs.
281 * process.c (create_process):
282 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
283 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
284 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
285 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
286 * m/intel386.h (HAVE_VFORK): Likewise.
287 * m/mips-siemens.h (HAVE_VFORK): Likewise.
288 * m/mips.h (HAVE_VFORK): Likewise.
289 * s/freebsd.h (vfork): Remove #define.
290 * s/lynxos.h (HAVE_VFORK): Remove #undef.
291 * s/usg5-4-2.h: Fix comment about vfork.
292
c93674bb
RS
2932001-12-06 Richard M. Stallman <rms@gnu.org>
294
295 * s/hpux10.h (random): Add undef.
296 (HAVE_RANDOM): Define it just once.
297
59b59892
SM
2982001-12-06 Stefan Monnier <monnier@cs.yale.edu>
299
300 * eval.c: Undo last change: the standard syntax is not wanted.
301
c6ea2775
EZ
3022001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
303
304 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
305 scroll bars of the frame before deleting the frame itself. If the
306 frame has a widget, delete the frame with XtDestroyWidget, and do
307 not call XDestroyWindow before that.
308
91175673
KS
3092001-12-06 Kim F. Storm <storm@cua.dk>
310
311 * xfns.c (x_report_frame_params): Return actual fringe widths.
312
313 * w32fns.c (x_report_frame_params): Return actual fringe widths.
314
e0fead5d
AI
3152001-12-05 Andrew Innes <andrewi@gnu.org>
316
317 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
318 excessively large.
319
320 * insdel.c (make_gap_larger): New function.
321 (make_gap_smaller): New function.
322 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
323 make_gap_smaller if arg is negative.
324
c186cdb3
SM
3252001-12-04 Stefan Monnier <monnier@cs.yale.edu>
326
327 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
328 Pass a dummy argument when calling interrupt_signal.
329 (parse_menu_item): Mark disabled items before checking for empty def.
330 (read_char_minibuf_menu_prompt): Make safety more visible.
331 (read_key_sequence): Add a `first_unbound' variable.
332 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
333 unbound prefix as soon as we can detect it.
334
335 * doc.c (Fsnarf_documentation): Add prototype.
336 (get_doc_string): Handle negative arguments.
337 (Fdocumentation): Use AREF and ASIZE.
338 Move the calls to get_doc_string to a single place.
339 Don't confuse an interactive-spec for a docstring reference.
340 (Fdocumentation_property): Take advantage of the fact that
341 get_doc_string now ignores the sign of the docstring position.
342
343 * eval.c: Use standard syntax for usage in docstrings.
344
58cfce98
PJ
3452001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
346
c186cdb3 347 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 348
62854fe2
PJ
3492001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
350
351 * xterm.c (x_draw_image_relief): Use predefined macro instead of
352 constant when the value of `tool_bar_button_relief' is negative.
353
656f46bb
RS
3542001-12-02 Richard M. Stallman <rms@gnu.org>
355
356 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
357 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
358
359 * fileio.c (read_non_regular): Delete Fsignal call.
360
036e218d
SM
3612001-12-01 Stefan Monnier <monnier@cs.yale.edu>
362
363 * lisp.h (run_hook_list_with_args): Undo last change.
364
7ddb2c16
GM
3652001-12-01 Gerd Moellmann <gerd@gnu.org>
366
367 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
368
ace9b298
JR
3692001-12-01 Jason Rumney <jasonr@gnu.org>
370
90647b07
JR
371 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
372
373 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
374 [!WM_MOUSELEAVE]: Define.
375
ace9b298
JR
376 * w32menu.c (current_popup_menu, get_menu_item_info):
377 (set_menu_item_info): New vars.
378 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
379 (w32_menu_show): Set current_popup_menu.
380 (add_menu_item): Allocate new strings for owner-drawn menu items
381 and help strings.
382 Use owner-draw for disabled menu items again.
383 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
384 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
385
386 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
387 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
388 <WM_EXITMENULOOP>: Free menu strings.
389 <WM_MOUSELEAVE>: Stop tracking mouse.
390 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
391
392 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
393 and mouse face.
394
a9549909 3952001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
396
397 The following changes add left-fringe and right-fringe
398 frame parameters to adjust fringe widths, or remove one or
399 both fringes.
036e218d 400
9fbc32aa
KS
401 * frame.h (struct frame): Remove trunc_area_pixel_width and
402 trunc_area_cols fields.
403 (Qleft_fringe, Qright_fringe): Declare.
404 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
405
406 * frame.c (Qleft_fringe, Qright_fringe): New vars.
407 (syms_of_frame): Initialize them.
408
409 * window.c (coordinates_in_window): Handle separate left and right
410 fringe widths.
411
412 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
413 and fringe_cols fields.
414 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
415 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
416 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
417 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
418 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
419 (x_compute_fringe_widths): Add prototype.
420
421 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
422 fill fringe evenly with small dashes.
423 (x_draw_fringe_bitmap): Clear background if necessary. Align and
424 clip the new ZV bitmap to avoid jitter between rows.
425 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
426 background. Don't draw fringe bitmaps if fringe width is zero.
427 (x_compute_fringe_widths): New function.
428 (x_new_font, x_set_window_size_1): Use it.
429
430 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
431 (x_set_frame_parameters): Process Process `font' parameter before other
432 parameters as fringe widths depend on it.
433 (x_set_fringe_width): New function.
434 (x_figure_window_size): Use x_compute_fringe_widths.
435 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
436 parameters.
437
438 * widget.c (set_frame_size): Use x_compute_fringe_widths.
439 (EmacsFrameSetCharSize): Ditto.
440
441 * w32term.h: Merged changes from xterm.h.
442 * w32term.c: Merged changes from xterm.c.
443 * w32fns.c: Merged changes from xfns.c.
444
0142178a
PJ
4452001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
446
447 * COPYING: Removed.
448
d4824a5d
DL
4492001-11-29 Dave Love <fx@gnu.org>
450
451 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
452 extra extra slot.
453 (detect_coding_mask): Fix call of detect_coding_iso2022.
454
b1356234
PJ
4552001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
456
457 * fileio.c (file-name-coding-system)
458 (default-file-name-coding-system): Doc fix (links to referenced
459 variables added).
460
3ce081f5
SM
4612001-11-28 Stefan Monnier <monnier@cs.yale.edu>
462
99e380ee
SM
463 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
464 Add dummy uses of gcproN variables.
465
3ce081f5 466 * category.c (describe_category, describe_category_1)
2ad56c09 467 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
468 (syms_of_category): Don't defsubr Sdescribe_categories.
469
66458f32
RS
4702001-11-28 Richard M. Stallman <rms@gnu.org>
471
472 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
473
474 * Makefile.in (lispdir): New variable, referring to build dir.
475 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
476
59a86c99
AI
4772001-11-28 Andrew Innes <andrewi@gnu.org>
478
479 * w32menu.c (w32_menu_display_help): Actually add the new argument
480 OWNER.
481
eb77a5f4
JR
4822001-11-28 Jason Rumney <jasonr@gnu.org>
483
484 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
485 menu items. From David Ponce <dponce@wanadoo.fr>.
486 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
487 conditionally.
488 (w32_menu_display_help): New argument OWNER. Rewritten to store a
489 help event in the owner frame's keyboard buffer.
490
491 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
492 (Fx_show_tip): Don't subtract last width from row width.
493
494 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
495 (w32_read_socket): Use EQ to compare frames.
496
bb313871
GM
4972001-11-28 Gerd Moellmann <gerd@gnu.org>
498
499 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
500 OVERLAPS_P.
501
55b43a63
PJ
5022001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
503
6052529b
PJ
504 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
505 `gcpro3' and `gcpro4'.
506
3ce081f5
SM
507 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
508
5092001-11-28 Stefan Monnier <monnier@cs.yale.edu>
510
511 * ccl.c: Use AREF and ASIZE.
512
5132001-11-27 Stefan Monnier <monnier@cs.yale.edu>
514
515 * lisp.h (run_hook_list_with_args): Remove.
516 (LIST_END_P): Fix call to wrong_type_argument.
517 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 518
111ed14e
SM
5192001-11-26 Stefan Monnier <monnier@cs.yale.edu>
520
9fabb2f5
SM
521 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
522 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
523
524 * eval.c: Use AREF and ASIZE.
525 (Ffetch_bytecode): Add the file name to the error message.
526
527 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
528 which match the end of the file-name.
529 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
530 is not a valid env var, but leave it as is instead.
531
111ed14e
SM
532 * keymap.c (access_keymap): Handle t bindings like nil bindings.
533 Make nil bindings in char-tables transparent.
534 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
535
2fa0eedf
RS
5362001-11-26 Richard M. Stallman <rms@gnu.org>
537
d1420435
RS
538 * textprop.c (set_text_properties_1): Allow START, END in either order.
539 Do nothing if range is empty.
540
2fa0eedf
RS
541 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
542
ebcbef4e
RS
543 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
544 (clean): Not here.
545
5c131048
SM
5462001-11-25 Stefan Monnier <monnier@cs.yale.edu>
547
548 * textprop.c (set_text_properties_1): Clearly mark that the
549 interval should not be empty.
550
551 * intervals.c (graft_intervals_into_buffer):
552 Don't call set_text_properties_1 on an empty interval.
553
96d276c3
RS
5542001-11-25 Richard M. Stallman <rms@gnu.org>
555
6108b49c
RS
556 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
557
96d276c3
RS
558 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
559 don't lose the data in it.
560
5eea19a4
RS
5612001-11-25 Juanma Barranquero <lektu@terra.es>
562
563 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
564
565 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
566
567 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
568
438e57dd
SM
5692001-11-25 Stefan Monnier <monnier@cs.yale.edu>
570
571 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
572
c88e5347
EZ
5732001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
574
575 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
576 Niemitalo <kon@iki.fi>.
577
59ce1461
JR
5782001-11-25 Jason Rumney <jasonr@gnu.org>
579
580 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
581
582 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
583 (Fx_show_tip): Block input during frame creation.
584 (Fx_show_tip, Fx_hide_tip): Enable.
585
8727d588
RS
5862001-11-24 Richard M. Stallman <rms@gnu.org>
587
588 * lread.c (Fload): Detect recursive load error for more than 3
589 nestings of the same file.
590 (Vrecursive_load_depth_limit): Variable deleted.
591 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
592
cc63037e
JR
5932001-11-24 Jason Rumney <jasonr@gnu.org>
594
595 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
596 mouse position if either left or top is not specified.
597
598 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
599 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
600 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
601 (my_create_tip_window): Assign tip_window.
602 (x_create_tip_frame): Use same defaults as X.
603 (compute_tip_xy): Remove unused variable. Use full screen width.
604 (Fx_show_tip): Do not double height. Call ShowWindow directly.
605
606 * w32term.c (x_after_update_window_line): Doc fix.
607 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
608 frames.
609 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
610
611 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
612 for all Windowed systems.
613
deece6f5
EZ
6142001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
615
616 * msdos.c (IT_clear_screen): If the frame's faces are not yet
617 realized, use the initial screen colors to clear the screen.
618
1b944d9c
PJ
6192001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
620
28ff4293
PJ
621 * textprop.c (Fset_text_properties): Remove unused variables
622 `unchanged', `prev_changed', `s' and `len'.
623
56167cc5
PJ
624 * search.c (Freplace_match): Remove unused variable `inslen'.
625
1b944d9c
PJ
626 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
627
ca56d953
JR
6282001-11-22 Jason Rumney <jasonr@gnu.org>
629
630 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
631 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
632 (my_create_tip_window): New function.
633 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 634 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 635
33399dce
JR
6362001-11-20 Jason Rumney <jasonr@gnu.org>
637
638 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
639 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
640
641 * w32fns.c (Vw32_system_coding_system): Remove.
642 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
643
9b46de40
SM
6442001-11-19 Stefan Monnier <monnier@cs.yale.edu>
645
6710ea06
SM
646 * fileio.c (Fwrite_region): Move choose_write_coding_system to
647 after build_annotations.
648
a395ef6a
SM
649 * syntax.c (describe_syntax): Add dummy arg.
650 (describe_syntax_1): Update call to describe_vector.
651
652 * category.c (describe_category): Add dummy arg.
653 (describe_category_1): Update call to describe_vector.
654
655 * keymap.c (Fdescribe_vector): Add `describer' parameter.
656 (describe_command, describe_translation): Add dummy second param.
657 (describe_map): Call elt_describer with two arguments.
658 (describe_vector_princ): Add `fun' parameter.
659 Call it instead of the hardcoded `princ'.
660 (describe_vector): Add arg `args'.
661 Pass it as a new second argument to elt_describer.
662
663 * keymap.h (describe_vector): Update prototype.
664
9b46de40
SM
665 * frame.c: Don't include keymap.h any more.
666 (keys_of_frame): Remove.
667
668 * lisp.h (keys_of_frame): Remove declaration.
669
670 * emacs.c (main): Don't call `keys_of_frame' any more.
671
aff37336
SS
6722001-11-14 Andreas Schwab <schwab@suse.de>
673
674 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
675 if defined, 0 otherwise.
9b46de40 676 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
677 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
678
b9937f07
RS
6792001-11-19 Richard M. Stallman <rms@gnu.org>
680
681 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
682
2cd23960
JR
6832001-11-18 Jason Rumney <jasonr@gnu.org>
684
685 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
686 (x_draw_bar_cursor): If the background color of the glyph under
687 the cursor equals the frame's cursor color, use the glyph's
688 foreground color for drawing the bar cursor.
689 (x_after_update_window_line): Clear internal border in different
690 circumstances.
691 (w32_set_vertical_scroll_bar): Check for width and height > 0.
692 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
693 (x_set_glyph_string_background_width):
694 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
695 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
696 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
697 if cursor_in_non_selected_windows is false.
9b46de40 698 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
699 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
700 Notice if cursor gets overwritten.
701 (notice_overwritten_cursor): Renamed from
702 note_overwritten_text_cursor. Rewritten to take glyph widths
703 into account, and to take X positions as parameters.
704 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
705 around call to x_draw_glyphs.
706 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
707 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
708 color to use for image glyph reliefs.
709 (x_draw_image_relief): Accept zero tool_bar_button_relief.
710 (glyph_rect): Remove unused variable `area'.
711
712 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
713 some items.
714 (x_set_internal_border_width): Set frame garbaged when window
715 doesn't exist yet.
716 (Fx_create_frame): Accept zero tool_bar_button_relief.
717 (x_clear_image_1, four_corners_best, image_background)
718 (image_background_transparent): New functions.
719 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
720 (gs_format): Add `:background' entry.
721 (lookup_image): Set IMG's background color if specified.
722 (pbm_load, xbm_load_image, png_load): Set IMG's background field
723 when appropriate.
724 (x_clear_image_1): Reset `background_valid' and
725 `background_transparent_valid' fields.
726 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
727 calculating it here. Set IMG's background_transparent field.
728 (enum xpm_keyword_index): Add XPM_BACKGROUND.
729 (enum png_keyword_index): Add PNG_BACKGROUND.
730 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
731 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
732 (enum gif_keyword_index): Add GIF_BACKGROUND.
733 (enum gs_keyword_index): Add GS_BACKGROUND.
734 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
735 Pre-calculate image background color where necessary.
9b46de40
SM
736 (x_create_x_image_and_pixmap, xbm_load, gs_load):
737 Use display info's n_cbits entry for screen depth.
2cd23960
JR
738 (Fx_show_tip): Remove unused variables `buffer', `top',
739 `left', `max_width' and `max_height'.
740
741 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
742
a4184c1c
GM
7432001-11-18 Gerd Moellmann <gerd@gnu.org>
744
745 * puresize.h (BASE_PURESIZE): Increase to 750000.
746
f6fa0866
PJ
7472001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
748
749 * frame.c (Fframe_live_p): Doc fix.
750
f4ca4b00
RS
7512001-11-18 Richard M. Stallman <rms@gnu.org>
752
753 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
754 (message_dolog_marker3): New static variables hold three markers.
755 (syms_of_xdisp): Initialize and staticpro them.
756 (message_dolog): Use message_dolog_marker1..3 instead of
757 allocating markers each time. Unchain them when done.
758
f4e25f94
RS
7592001-11-17 Richard M. Stallman <rms@gnu.org>
760
761 * doc.c (Fsnarf_documentation): Doc fix.
762
91c153e2
AS
7632001-11-17 Andreas Schwab <schwab@suse.de>
764
765 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
766
65b7d3e7
RS
7672001-11-17 Richard M. Stallman <rms@gnu.org>
768
769 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
770
6b5f6311
JR
7712001-11-17 Jason Rumney <jasonr@gnu.org>
772
773 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
774
be676094
GM
7752001-11-17 Gerd Moellmann <gerd@gnu.org>
776
777 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
778 with invalid position.
779
032a857d
RS
7802001-11-16 Richard M. Stallman <rms@gnu.org>
781
782 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
783
784 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
785 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
786 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
787
788 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
789
b6270150
SM
7902001-11-16 Stefan Monnier <monnier@cs.yale.edu>
791
792 * fileio.c (build_annotations): Split off the tail.
793 (build_annotations_2): New fun. Extracted from build_annotations.
794 (Fwrite_region): Split the call to build_annotations into two
795 calls to build_annotations and build_annotations_2.
796
792e5cbd
PJ
7972001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
798
98cbb9fa
PJ
799 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
800 clear_waiting_for_input with argument.
801
802 * xterm.h (x_update_cursor): Remove duplicated prototype.
803
b6270150 804 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 805
ea904403 806 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 807
ea904403 808 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 809
fa336b91
SM
8102001-11-16 Stefan Monnier <monnier@cs.yale.edu>
811
812 * fileio.c (choose_write_coding_system): New fun, extracted
813 from Fwrite_region.
814 (Fwrite_region): Use it.
815
816 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
817 (funcall_lambda, run_hook_with_args): Make static and add prototype.
818 (ml_apply, find_handler_clause): Add prototype.
819
077907d4
EZ
8202001-11-16 Eli Zaretskii <eliz@gnu.org>
821
aa2af83a
EZ
822 * config.in: Add #undef HAVE_COFF_H.
823
077907d4
EZ
824 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
825 Required for ISC 4.1.
826
1756e2fb
EZ
8272001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
828
829 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
830 Andrew Wiseman <a.wiseman@btclick.com>.
831
06e8f738
KS
8322001-11-16 Kim F. Storm <storm@cua.dk>
833
834 The following changes are made to clean up the various internal
835 references to the fringes to actually use the term `fringe' for
836 them. Previously, they were called `flags areas', `bitmap areas',
837 `left/right side of windows', or implicitly as `flags' or
838 `bitmaps':
839
840 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
841 Comments fixed. Use renamed symbols.
fa336b91 842
06e8f738 843 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 844
06e8f738
KS
845 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
846 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
847 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 848
06e8f738 849 * msdos.c: Comment fix.
fa336b91 850
06e8f738 851 * w32fns.c: Use renamed symbols.
fa336b91 852
06e8f738
KS
853 * w32term.c: Comment fixes. Use renamed symbols.
854 (fringe_bitmap_type): Renamed from bitmap_type.
855 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
856 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
857 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 858
06e8f738
KS
859 * w32term.h: Comment fixes. Use renamed symbols.
860 (fringes_extra): Renamed from flags_areas_extra.
861 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
862 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
863 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
864 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
865 (FRAME_X_LEFT_FRINGE_WIDTH):
866 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
867 (FRAME_X_RIGHT_FRINGE_WIDTH):
868 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
869
06e8f738 870 * widget.c: Use renamed symbols.
fa336b91 871
06e8f738
KS
872 * window.c: Comment fixes. Use renamed symbols.
873 (coordinates-in-window-p): Doc fix.
fa336b91 874
06e8f738 875 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 876
06e8f738 877 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 878
06e8f738 879 * xfns.c: Use renamed symbols.
fa336b91 880
06e8f738
KS
881 * xterm.c: Comment fixes. Use renamed symbols.
882 (fringe_bitmap_type): Renamed from bitmap_type.
883 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
884 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
885 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
886
887 * xterm.h: Comment fixes. Use renamed symbols.
888 (fringes_extra): Renamed from flags_areas_extra.
889 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
890 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
891 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
892 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
893 (FRAME_X_LEFT_FRINGE_WIDTH):
894 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
895 (FRAME_X_RIGHT_FRINGE_WIDTH):
896 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 897
9ce647f4
JR
8982001-11-15 Jason Rumney <jasonr@gnu.org>
899
900 * w32menu.c (add-menu-item): Make help_echo and radio buttons
901 work for most menu items. From David Ponce
902 <david.ponce@wanadoo.fr>.
903
9b784ab8
GM
9042001-11-15 Gerd Moellmann <gerd@gnu.org>
905
9f7e52b4
GM
906 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
907 Some x_set_* function expect to be called even if old and new
908 value are equal.
909
910 * xdisp.c (build_desired_tool_bar_string): Accept zero
911 tool_bar_button_relief.
912
913 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
914
915 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 916
34e5d0af
GM
917 * xterm.c (x_draw_bar_cursor): If the background color of the
918 glyph under the cursor equals the frame's cursor color, use
919 the glyph's foreground color for drawing the bar cursor.
920
9b784ab8
GM
921 * dispnew.c (direct_output_forward_char): Fix character/byte
922 position comparison.
923
89512fcd
MB
9242001-11-15 Miles Bader <miles@gnu.org>
925
926 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
927 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
928 Update arguments to find_field.
929 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
930 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
931 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
932 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
933
7d18891d
RS
9342001-11-14 Richard M. Stallman <rms@gnu.org>
935
d2936d21
RS
936 * editfns.c (Fpropertize): Allow call with 1 arg.
937
7d18891d
RS
938 * dispextern.h (image_background, image_background_transparent):
939 Conditionalize on HAVE_X_WINDOWS.
940
9412001-11-13 Richard M. Stallman <rms@gnu.org>
942
943 * print.c (Fprin1_to_string): Doc fix.
944
945 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
946
947 * floatfns.c (Fceiling, Ffloor): Doc fixes.
948
949 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
950
951 * fileio.c (Ffile_accessible_directory_p): Doc fix.
952
953 * eval.c (syms_of_eval): Doc fix.
954
955 * coding.c (syms_of_coding): Doc fix.
956
957 * doc.c (Fsnarf_documentation): Doc fix.
958
959 * dispnew.c (syms_of_display): Doc fix.
960
961 * category.c (Fget_unused_category): Doc fix.
962
963 * buffer.c (syms_of_buffer): Doc fixes.
964
9474c847
EZ
9652001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
966
967 * print.c (prin1, print): Doc fix.
968
e3059a5d
PJ
9692001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
970
2b6f3c2b 971 * fontset.h: Remove declarations of variables
e3059a5d
PJ
972 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
973
974 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
975 `Vclip_large_size_font'.
976
b3700ae7
JR
9772001-11-13 Jason Rumney <jasonr@gnu.org>
978
979 * w32fns.c: Doc fix.
980
eae936e2
PJ
9812001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
982
4bb962be
PJ
983 * xfaces.c (Fface_attributes_as_vector): Doc fix.
984
0a332240
PJ
985 * w32fns.c (Fx_synchronize): Reindent.
986
ddb67bdc
PJ
987 * fns.c: Doc fix.
988
3467c402
PJ
989 * emacs.c: Doc fix.
990
991 * coding.c: Doc fix.
992
6e1b91d7
PJ
993 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
994 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
995 `new style' [w/`doc:' keyword].
996
f6e34773
PJ
997 * xmenu.c (x-popup-menu): Reindent.
998 (x-popup-dialog): Likewise.
999
fa336b91 1000 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 1001
c2552f79
PJ
1002 * xdisp.c (Fdump_tool_bar_row): Reindent.
1003
94c7167b
PJ
1004 * minibuf.c (Fminibuffer_complete_word): Reindent.
1005 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 1006 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
1007 (Fminibuffer_message): Likewise.
1008
462a5e3a
PJ
1009 * fns.c (Freverse): Reindent.
1010
b8de5714
PJ
1011 * eval.c (Fif): Reindent.
1012 (Fand): Likewise.
1013
deb8e082
PJ
1014 * editfns.c (Fuser_real_login_name): Reindent.
1015 (Finsert_buffer_substring): Likewise.
1016 (Fcompare_buffer_substrings): Likewise.
1017 (Fsubst_char_in_region): Likewise.
1018
bacf09b4
PJ
1019 * dispnew.c (Fsit_for): Reindent.
1020 (Fframe_or_buffer_changed_p): Likewise.
1021 (Finternal_show_cursor_p): Likewise.
1022 (syms_of_display): Likewise.
1023
eae936e2
PJ
1024 * alloc.c (Flist): Reindent.
1025 (Fvector): Likewise.
1026
1c1d3d69
RS
10272001-11-12 Richard M. Stallman <rms@gnu.org>
1028
1029 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1030 LeaveNotify events. Only FocusIn and FocusOut do that now.
1031 (x_display_and_set_cursor): Do display hollow cursors in active
1032 minibuffer windows when they are not selected.
1033
b6f4c7ba
JR
10342001-11-12 Jason Rumney <jasonr@gnu.org>
1035
1036 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1037 * w32term.c: Change doc-string comments to `new style'.
1038 [w/`doc:' keyword]. Doc fixes.
1039
1040 * w32fns.c: Don't define max.
1041 (Fx_open_connection): Only execute once.
1042
a89f435d
PJ
10432001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1044
1045 * ccl.c: Change macros to use do-while block instead of if-else.
1046 Use braces to follow GNU Coding Standards.
1047
a4cd0cd7
RS
10482001-11-11 Richard M. Stallman <rms@gnu.org>
1049
eafb659a
RS
1050 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1051
1052 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1053
a4cd0cd7
RS
1054 * insdel.c (replace_range): Use adjust_markers_for_replace
1055 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1056
1057 * intervals.h: Declare set_text_properties and set_text_properties_1.
1058
1059 * textprop.c (set_text_properties_1): New subroutine
1060 broken out of set_text_properties.
1061 (set_text_properties): Use set_text_properties_1.
1062
1063 * intervals.c (graft_intervals_into_buffer):
1064 Use set_text_properties_1 to clear out properties.
1065
1066 * search.c (Freplace_match): Use replace_range to insert
1067 and delete. Don't request property inheritance from
1068 surrounding text.
1069
91823618
JR
10702001-11-10 Jason Rumney <jasonr@gnu.org>
1071
1072 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1073 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1074 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1075
86928dfb
GM
10762001-11-10 Gerd Moellmann <gerd@gnu.org>
1077
fa336b91 1078 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1079 instead of malloc/free.
1080
40ef1eda
PJ
10812001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1082
ab8469eb
PJ
1083 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1084 Coding Standards.
1085 (Finternal_set_lisp_face_attribute): Likewise.
1086
a78e0303
PJ
1087 * buffer.c (Fbury_buffer): Likewise.
1088
40ef1eda
PJ
1089 * indent.c (current_column_1): Remove unused variable `prev_col'.
1090
fabf4a91
PJ
1091 * coding.c (encode_coding): Use precomputed value of `src'.
1092 (encode_coding): Remove unused variable `src_end'.
1093 (code_convert_region): Remove unused variables `count'.
1094
0c99b139
JR
10952001-11-07 Jason Rumney <jasonr@gnu.org>
1096
1097 * w32term.c (x_display_and_set_cursor): Do not move system caret
1098 if cursor_glyph is NULL.
1099
830ddd77
PJ
11002001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1101
1102 * keymap.c (access_keymap): Fix compilation error.
1103
55c6d645
MB
11042001-11-07 Miles Bader <miles@gnu.org>
1105
1106 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1107
5de38842
PJ
11082001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1109
7a4564a4
PJ
1110 * intervals.c (graft_intervals_into_buffer):
1111 Remove #ifdef'd-out code.
1112 (graft_intervals_into_buffer): Remove unused variable `middle'.
1113
5de38842
PJ
1114 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1115 code (eval-current-buffer).
1116 Change doc-string comments to `new style' [w/`doc:' keyword].
1117
4fa23df5
RS
11182001-11-06 Richard M. Stallman <rms@gnu.org>
1119
1120 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1121
7a6a97d7
SM
11222001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1123
c191d13c
SM
1124 * lread.c (read1): Fix behavior with nested backquoting.
1125
7a6a97d7
SM
1126 * keyboard.c (make_lispy_event): Check integerness and fix
1127 Lisp_Object/int mixup.
1128
44dc78e0
PJ
11292001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1130
1131 * fns.c (copy_hash_table): Remove unused variable `v'.
1132
17893c65
PJ
1133 * fontset.c (fontset_font_pattern): Remove unused variable
1134 `family_registry'.
1135
4d994a79
PJ
1136 * indent.c (current_column_1): Remove unused variable `prev_col'.
1137
d5360cc7
RS
11382001-11-05 Richard M. Stallman <rms@gnu.org>
1139
1140 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1141
1142 * buffer.c (Fkill_buffer): Don't delete auto save file
1143 if buffer is modified.
1144
96238a5a
AI
11452001-11-05 Andrew Innes <andrewi@gnu.org>
1146
1147 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1148 CHECK_NUMBER_CDR.
1149
d9d54213
RS
11502001-11-05 Richard M. Stallman <rms@gnu.org>
1151
1152 * unexelf.c (unexec): Minor changes; clean up comments.
1153
b116830b
SS
11542001-11-05 Sam Steingold <sds@gnu.org>
1155
1156 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1157
3297e2a1
AS
11582001-11-05 Andreas Schwab <schwab@suse.de>
1159
1160 * sound.c (sound_perror): Save errno from being clobbered.
1161
9212319f 11622001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1163
1164 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1165 the program image directly.
1166
7dd73b78
PJ
11672001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1168
1169 * buffer.h (Fbuffer_local_value): Add prototype.
1170
982f6c7e
RS
11712001-11-04 Richard M. Stallman <rms@gnu.org>
1172
d31053f9
RS
1173 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1174 and CHECK_BUFFER.
1175
1176 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1177 (record_char): Likewise.
1178
1179 * keyboard.c (make_lispy_event): Don't insist a drag event must
1180 move to a different buffer position. Instead, check for moving at
1181 least double_click_fuzz.
1182
1183 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1184
1185 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1186
982f6c7e
RS
1187 * indent.c (current_column_1, Fmove_to_column): Separate the code
1188 for display-table glyphs from the code buffer text, to fix
1189 bugs in the former.
1190
830047fd
RS
11912001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1192
1193 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1194 (syms_of_buffer): Defsubr it.
b116830b 1195
830047fd
RS
1196 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1197 value of `cursor-in-non-selected-windows'.
1198
1199 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1200 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1201 (syms_of_xdisp): Initialize it.
b116830b 1202
2df5238c
PJ
12032001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1204
4e397688
PJ
1205 * xfns.c (Fx_create_frame): Doc fix.
1206
48b0f3ae
PJ
1207 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1208 keyword].
1209
2df5238c
PJ
1210 * eval.c (top_level_value, top_level_set): Remove commented and
1211 #ifdef'd-out code.
1212 (Fdefvar): Fix usage in doc-string.
1213
3ecaf7e5
RS
12142001-11-03 Richard M. Stallman <rms@gnu.org>
1215
1216 * xfns.c: Include unistd.h, if it exists.
1217
1218 * editfns.c: Move the include of ctype.h after unistd.h.
1219
1220 * gmalloc.c: Test BROKEN_PROTOTYPES.
1221
8db2e33b
KR
12222001-11-03 Ken Raeburn <raeburn@gnu.org>
1223
1224 * lisp.h (CHECK_STRING_CAR): New macro.
1225 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1226 treating XCAR and XCDR as lvalues.
1227 (openp): Use CHECK_STRING_CAR.
1228 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1229
aed29b97
EZ
12302001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1231
1232 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1233 (SIGMASKTYPE): Define.
aed29b97
EZ
1234
1235 * syssignal.h (sigunblock): Don't define if already defined.
1236
6cb16f95
PJ
12372001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1238
16b45be4
EZ
1239 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1240 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1241 Fix typos in comments.
1242
020f9b38
PJ
1243 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1244 and #ifdef'd-out code.
1245 Fix and reindent comments.
1246
c191d13c 1247 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1248
6cb16f95
PJ
1249 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1250 argument `i' in macros.
1251
1252 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1253 `i' in macros.
1254
16b45be4
EZ
1255 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1256 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1257 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1258 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1259 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1260 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1261 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1262 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1263 in macros.
1264
1265 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
1266 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1267 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1268 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1269 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1270 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1271 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1272 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1273 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
1274 (remove unused second argument).
1275
7e9d3c2f
SM
12762001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1277
1278 * syntax.c (describe_syntax): New wrapper.
1279 (Finternal_describe_syntax_value): Rename from describe_syntax.
1280 Don't insert space at front and \n at the end.
1281 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1282
1283 * regex.c (re_wctype): Try to fix some warnings.
1284 (regcomp, regexec): Don't forget the __restrict.
1285
e6bff182
RS
12862001-11-02 Richard M. Stallman <rms@gnu.org>
1287
1288 * textprop.c (Fget_char_property): Doc fix.
1289
9ba48103
PJ
12902001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1291
1292 * process.c (Fstart_process): Add usage to doc-string.
1293
1294 * data.c (Fsetq_default): Ditto.
1295
1296 * callint.c (Finteractive): Ditto.
1297
c22e59e1
SM
12982001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1299
1300 * macros.c: Don't include keymap.h any more.
1301
9271ed2c
RS
13022001-11-01 Richard M. Stallman <rms@gnu.org>
1303
e6bff182
RS
1304 * data.c (Fmake_local_variable): Doc fix.
1305
1306 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1307 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1308
9271ed2c
RS
1309 * keymap.c (Fdescribe_buffer_bindings): Print character property
1310 bindings along with or instead of the buffer local map.
1311 Make the overriding maps override what they should.
1312
8b8bd9c6
PJ
13132001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1314
1315 * window.c (grow_mini_window): Fix typo in comment.
1316
27188d11
GM
13172001-11-01 Gerd Moellmann <gerd@gnu.org>
1318
7b49b9d2
GM
1319 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1320 (XTset_vertical_scroll_bar): Likewise.
1321
43f7c3ea
GM
1322 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1323 instead of IMAGE_BACKGROUND.
c22e59e1 1324
b350c2e5
GM
1325 * xfns.c (four_corners_best): Reindent.
1326
c22e59e1 1327 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1328 Handle :box so that it is possible to specify sexprs.
1329
d576358b
PJ
13302001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1331
1332 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1333 (Fface_font): Ditto.
1334 (Finternal_set_alternative_font_registry_alist): Ditto.
1335 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1336
1337 * xfns.c (x-get-resource): Reindent.
1338
bf00d461
EZ
13392001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1340
1341 * s/hpux11.h: New file.
1342
4e10df59
PJ
13432001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1344
2b209b97
PJ
1345 * emacs.c (USAGE1): Show command line option --no-window-system
1346 instead of --no-windows in usage.
1347 (standard_args): Rename --no-windows to --no-window-system.
1348 (bug_reporting_address): Follow Emacs coding conventions.
1349
9dbc9081
PJ
1350 * eval.c (Fcommandp): Doc fix.
1351 Change doc-string comments to `new style' [w/`doc:' keyword].
1352
4e10df59
PJ
1353 * frame.c (Fframe_live_p): Doc fix.
1354
1355 * buffer.c (selective-display-ellipses): Doc fix.
1356
dd387b25
GM
13572001-10-31 Gerd Moellmann <gerd@gnu.org>
1358
fe957e65
GM
1359 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1360
dd387b25
GM
1361 * xfaces.c (realize_x_face): If C is not a single-byte character,
1362 set the face's colors_copied_bitwise_p instead of the defaulted_p
1363 members which have a different meaning.
1364 (free_face_colors): Do nothing for a face whose colors have been
1365 copied bitwise.
1366
c22e59e1 1367 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1368
2e1280f8
PJ
13692001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1370
687784e8
PJ
1371 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1372 [w/`doc:' keyword].
2e1280f8 1373
b9d9a9b9
GM
13742001-10-31 Gerd Moellmann <gerd@gnu.org>
1375
1376 * fns.c (require_unwind): Return Lisp_Object.
1377
48400103
PJ
13782001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1379
fa1361cb
PJ
1380 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1381 (last-input-char): Revert doc-string to be the same as the
1382 doc-string of `last-input-event'.
1383
48400103
PJ
1384 * xdisp.c: Fix typos in comments.
1385
eafa3196
GM
13862001-10-31 Gerd Moellmann <gerd@gnu.org>
1387
1388 * window.c (grow_mini_window): Handle case that the root
1389 window is already smaller than the nominal mininum height.
1390
747d3f2a
SM
13912001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1392
bf9bb76f
SM
1393 * emacs.c (main): Don't call keys_of_macros any more.
1394
1395 * lisp.h (keys_of_macros): Remove.
1396
1397 * macros.c (keys_of_macros): Remove.
1398
747d3f2a
SM
1399 * xfaces.c (Fface_attribute_relative_p): Declare args.
1400
5e905a57
JR
14012001-10-30 Jason Rumney <jasonr@gnu.org>
1402
1403 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1404 (enum_font_cb2): Ignore fonts with vertical orientation.
1405
3a426197
RS
14062001-10-30 Richard M. Stallman <rms@gnu.org>
1407
1408 * keyboard.c (Finput_pending_p): Doc fix.
1409
a742d646
GM
14102001-10-30 Gerd Moellmann <gerd@gnu.org>
1411
259cf6bc
GM
1412 * xterm.c (x_after_update_window_line): Don't run the code
1413 clearing in borders for rows whose visible height is 0.
1414
3f99f948
GM
1415 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1416 resized_p flag is set. If not set, use the much less flickering
1417 method previously used.
1418
1419 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1420
1421 * frame.h (struct frame) <resized_p>: New member.
1422
b4a3be43
GM
1423 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1424 as large as the number of bytes to convert.
747d3f2a 1425
a742d646
GM
1426 * lread.c (to_multibyte): New function.
1427 (read1): Use it.
1428
cacbb9e9
EZ
14292001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1430
1431 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1432
99cb6b2f
GM
14332001-10-30 Gerd Moellmann <gerd@gnu.org>
1434
327f42ee 1435 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1436 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1437 if the row's fill_line_p is set and drawing the last glyph with
1438 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1439
99cb6b2f
GM
1440 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1441
8e8223e2
SM
14422001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1443
1444 * xmenu.c: Include coding.h and charset.h.
1445 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1446 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1447 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1448 Explicitly set wv->help. Use `TRUE' rather than `True'.
1449 (menu_help_callback): Use empty_string.
1450
1451 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1452 (Fx_popup_dialog): Explicitly init f.
1453 (w32_menu_display_help): Use empty_string.
1454
4d083a8f
RS
14552001-10-29 Richard M. Stallman <rms@gnu.org>
1456
b2304472
RS
1457 * fns.c (Frequire): Detect recursive try to require the same
1458 feature 3 or more levels deep, and get error.
1459 (require_unwind): New subroutine.
1460 (require_nesting_list): New variable.
1461 (syms_of_fns): Init and staticpro it.
1462
4d083a8f
RS
1463 * print.c (print_object): Clarify indication of insertion type.
1464
2fe41216
EZ
14652001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1466
90480000
EZ
1467 * coding.c (syms_of_coding): Document that locale-coding-system is
1468 used for decoding input on X.
1469
2fe41216
EZ
1470 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1471
74e79967
PJ
14722001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1473
1474 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1475 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1476
60ebcfe8
GM
14772001-10-29 Gerd Moellmann <gerd@gnu.org>
1478
9a7bdceb
GM
1479 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1480 use NO_CURSOR if cursor_in_non_selected_windows is false.
1481
3f08fcd2
GM
1482 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1483 the slant attribute if FRAME is t.
1484
0ccfdad2
GM
1485 * xfns.c (x_set_internal_border_width): Set frame garbaged
1486 when X window doesn't exist yet.
1487
ef253080
GM
1488 * xterm.c (x_after_update_window_line): Clear internal border
1489 in different circumstances.
b116830b 1490
60ebcfe8
GM
1491 * xterm.c (XTread_socket) <KeyPress>: Don't use
1492 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1493 <handa@etl.go.jp>.
1494
73d25f9c
EZ
14952001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1496
1497 * m/ibms390.h: New file. From Adam Thornton
1498 <athornton@sinenomine.net>.
1499
cac1daf0
GM
15002001-10-28 Gerd Moellmann <gerd@gnu.org>
1501
053b3256 1502 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1503
cac1daf0
GM
1504 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1505 a loop counter.
1506
13b1a09c
PJ
15072001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1508
186486eb
PJ
1509 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1510
4707d2d0
PJ
1511 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1512 keyword].
1513 Fix typos in comments.
b116830b 1514
d883731c
PJ
1515 * emacs.c (bug_reporting_address): New function.
1516 Use it when displaying usage message.
1517
04012254
PJ
1518 * minibuf.c (read_minibuf): Remove unused external declaration of
1519 variable `Qread_only'.
1520
13b1a09c
PJ
1521 * keymap.c (access_keymap): Remove unused variable `charset'.
1522
5bbf4378
MB
15232001-10-28 Miles Bader <miles@gnu.org>
1524
1525 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1526 Remove #ifdef'd-out code.
1527 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1528 (syms_of_xfaces): Initialize them.
1529
1ce1e4ee
JR
15302001-10-27 Jason Rumney <jasonr@gnu.org>
1531
1532 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1533 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1534 position using the system caret.
1535
1536 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1537 (w32_system_caret_height, w32_system_caret_x)
1538 (w32_system_caret_y): New variables for tracking system caret.
1539 (w32_initialize): Initialize them.
c2d53558 1540 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1541
c2d53558
SM
1542 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1543 New messages types.
1ce1e4ee
JR
1544
1545 * w32term.c (note_mouse_highlight): Clear old help_echo.
1546
4e30ce42
PJ
15472001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1548
bb4600a4
PJ
1549 * xterm.c: Fix typo in a comment.
1550
7db35a48
PJ
1551 * emacs.c: Fix typos in comments.
1552 Remove unnecessary spaces.
1553 Change doc-string comments to `new style' [w/`doc:' keyword].
1554 (USAGE2): Fix typos in usage string.
1555
a7248e4f
PJ
1556 * xterm.c: Fix typo in a comment.
1557
4e30ce42
PJ
1558 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1559 emacs.c.
1560
62725a92
GM
15612001-10-27 Gerd Moellmann <gerd@gnu.org>
1562
798dbe1f 1563 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1564 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1565 farther backward when target_y was not reached.
1566
62725a92
GM
1567 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1568 Display errno only if non-zero.
1569 (sound_warning): New function.
1570 (vox_configure): Don't treat failing to set sample rate as error.
1571 (various places): Improve error messages.
1572
d4e34d24
EZ
15732001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1574
944e6f60
EZ
1575 * fileio.c (Faccess_file): Run the argument filename through
1576 Fexpand_file_name, before using it.
1577
d4e34d24
EZ
1578 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1579 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1580
38d2af0c
GM
15812001-10-26 Gerd Moellmann <gerd@gnu.org>
1582
da80a8d5
GM
1583 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1584
38d2af0c
GM
1585 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1586 Fix clearing in the case of scroll bars on the right.
c2d53558 1587
56f508dd
EZ
15882001-10-26 Juanma Barranquero <lektu@terra.es>
1589
1590 * w32gui.h (XImage): Add a dummy typedef.
1591
fbd5ceb2
GM
15922001-10-26 Gerd Moellmann <gerd@gnu.org>
1593
c2d53558 1594 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1595
b23236fb
EZ
15962001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1597
1598 * frame.c (Fframe_parameter): Fix last change.
1599
5d991fc4
EZ
1600 * fileio.c: Revert last change (which removed old commented-out
1601 version of expand-file-name). Add a comment that explains why
1602 this old version should not be removed.
1603
879eadc3
GM
16042001-10-25 Gerd Moellmann <gerd@gnu.org>
1605
75700ff2
GM
1606 * frame.c (Fframe_parameter): Fix a bug whereby some
1607 ``artificial'' frame parameters, like `minibuffer' were not
1608 obtained by calling Fframe_parameters.
1609
dfe92a6a
GM
1610 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1611 cursor differently.
1612
879eadc3
GM
1613 * xdisp.c (move_it_vertically_backward): Compute line height
1614 differently. Add heuristic to try to be more compatible to 20.x.
1615
e1010ebe
SM
16162001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1617
d73a471b
SM
1618 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1619
d6da5a06
GM
1620 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1621 boolean.
e1010ebe 1622
f66bd220
MB
16232001-10-25 Miles Bader <miles@gnu.org>
1624
1625 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1626 BG is a pointer to a structure, not a structure.
1627 (gif_format, png_format): Add missing commas.
1628
d436d538
RS
16292001-10-24 Richard M. Stallman <rms@gnu.org>
1630
1631 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1632 (syms_of_xfaces): Defsubr it.
d436d538 1633
075c507b
PJ
16342001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1635
1636 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1637 variable `area'.
1638
d492b584
PJ
16392001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1640
c2d53558 1641 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1642
e2a57b34
MB
16432001-10-25 Miles Bader <miles@gnu.org>
1644
1645 * dispextern.h (struct image): Add `background',
1646 `background_valid', and `background_transparent' fields.
1647 (image_background, image_background_transparent): New declarations.
1648 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1649 * xfns.c (image_background, image_background_transparent)
1650 (four_corners_best): New functions.
c2d53558 1651 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1652 (gs_format): Add `:background' entry.
1653 (lookup_image): Set IMG's background color if specified.
1654 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1655 when appropriate.
1656 (x_clear_image_1): Reset `background_valid' and
1657 `background_transparent_valid' fields.
1658 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1659 calculating it here. Set IMG's background_transparent field.
1660 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1661 (enum png_keyword_index): Add PNG_BACKGROUND.
1662 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1663 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1664 (enum gif_keyword_index): Add GIF_BACKGROUND.
1665 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1666 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1667 Pre-calculate image background color where necessary.
1668 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1669 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1670 color to use for image glyph reliefs.
1671
b547b6e8
GM
16722001-10-24 Gerd Moellmann <gerd@gnu.org>
1673
d9e3b8c6
GM
1674 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1675 in full-width rows.
c2d53558 1676
b547b6e8
GM
1677 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1678 Fix clearing of area not covered by scroll bar.
1679
2beb36f9
PJ
16802001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1681
1682 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1683 and `real_start'.
c2d53558 1684 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1685 (glyph_rect): Remove unused variable `area'.
1686
76cb5e06
GM
16872001-10-24 Gerd Moellmann <gerd@gnu.org>
1688
bdbdebff 1689 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1690
1691 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1692 (row_containing_pos): Take additional argument DY.
1693 Treat rows ending in middle of char differently.
62e33982
GM
1694 (display_line): Handle tabs on window systems differently.
1695
1696 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1697 with additional argument.
1698
1699 * dispextern.h (row_containing_pos): Adjust prototype.
1700
76cb5e06
GM
1701 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1702 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1703 (try_window_id, try_window_reusing_current_matrix)
1704 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1705 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1706
996fee11
PJ
17072001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1708
c9e60620
PJ
1709 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1710 gnuemacs).
1711 (HAVE_BOXES): Fix typo in comment.
1712 (push_menu_pane): Fix typo in comment.
1713
3b552d56
PJ
1714 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1715 of `Qwhen'.
1716 (single_display_prop_string_p): Remove unused local declarations
1717 of `Qwhen' and `Qmargin'.
1718 (string_buffer_position): Remove unused variable `around'.
1719 (store_frame_title): Remove unused variable `width'.
1720
15c565ac
PJ
1721 * window.c: Don't define max.
1722 (coordinates_in_window): Remove unused variable `uy'.
1723
a8818eb9
PJ
1724 * widget.c: Don't define max.
1725
996fee11
PJ
1726 * process.c: Don't define max.
1727 (create_process): Remove unused variable `buffer'.
1728
496e1a5b
GM
17292001-10-23 Gerd Moellmann <gerd@gnu.org>
1730
c2d53558 1731 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1732
5905ae8b
EZ
17332001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1734
1735 * xfaces.c (Finternal_set_lisp_face_attribute)
1736 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1737 frame is on a windowed display.
1738
24db49fb
GM
17392001-10-23 Gerd Moellmann <gerd@gnu.org>
1740
c2d53558
SM
1741 * dispnew.c (sync_window_with_frame_matrix_rows):
1742 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1743 of marginal areas.
1744
c2d53558 1745 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1746
f0487f05
EZ
17472001-10-23 Andreas Schwab <schwab@suse.de>
1748
1749 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1750 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1751
f0a48a01
GM
17522001-10-23 Gerd Moellmann <gerd@gnu.org>
1753
c2d53558 1754 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1755 REAL_END. Notice if cursor gets overwritten.
1756 (notice_overwritten_cursor): Take X positions as parameters.
1757 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1758 around call to x_draw_glyphs.
1759
a50a10a0
PJ
17602001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1761
fc11dff0
PJ
1762 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1763 instead of C) and usage.
a50a10a0 1764
fc11dff0
PJ
1765 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1766 of C) and usage.
a50a10a0
PJ
1767
1768 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1769 `left', `max_width' and `max_height'.
1770
8738febd
GM
17712001-10-23 Gerd Moellmann <gerd@gnu.org>
1772
1773 * xdisp.c (display_line): For a tab continued to the next line,
1774 set row's ends_in_middle_of_char_p.
1775
653c329b
GM
17762001-10-22 Gerd Moellmann <gerd@gnu.org>
1777
1778 * xdisp.c (display_line): Fix computation of continuation lines
1779 width for TABs.
1780
f958c5ac
PJ
17812001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1782
7ba51063
PJ
1783 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1784 `Qlaplace'.
1785
f958c5ac
PJ
1786 * fileio.c: Remove unused code.
1787
eb360291
MB
17882001-10-22 Miles Bader <miles@gnu.org>
1789
1790 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1791 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1792 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1793
98515cf0
JR
17942001-10-21 Jason Rumney <jasonr@gnu.org>
1795
1796 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1797
93026d88
EZ
17982001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1799
1800 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1801 (Finsert_string): Avoid the multi-line string literals warning.
1802
c9a95b79
MB
18032001-10-22 Miles Bader <miles@gnu.org>
1804
1805 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1806 (Fdocumentation): Don't use it.
1807 (syms_of_doc): Don't initialize it.
1808
1809 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1810 * print.c (Fwith_output_to_temp_buffer): Likewise.
1811 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1812 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1813 (Fsave_restriction): Likewise.
c2d53558
SM
1814 * eval.c (Frun_hooks, Frun_hook_with_args)
1815 (Frun_hook_with_args_until_failure)
1816 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1817 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1818 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1819 (Funwind_protect, Fcondition_case): Likewise.
1820 * coding.c (Ffind_operation_coding_system): Likewise.
1821 * keyboard.c (Ftrack_mouse): Likewise.
1822
a3b10252
MB
18232001-10-21 Miles Bader <miles@gnu.org>
1824
c2d53558 1825 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1826 (Fmake_hash_table): Add usage: string to doc string.
1827 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1828 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1829 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1830 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1831 (Fml_prefix_argument_loop): Likewise.
1832
c6f73eec
PJ
18332001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1834
c2d53558 1835 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1836
c6f73eec
PJ
1837 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1838 style' [w/`doc:' keyword].
1839
1840 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1841 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1842 comments to `new style' [w/`doc:' keyword].
1843
3cf3436e
JR
18442001-10-21 Jason Rumney <jasonr@gnu.org>
1845
1846 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1847
c169b8f1
JR
1848 * w32term.c (remember_mouse_glyph): New function.
1849 (w32_mouse_position): Use it.
1850 (note_mouse_movement): If the mouse moved off the glyph, remember
1851 its new position.
c2d53558 1852
4fdd691b
JR
1853 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1854 (w32_display_info): Add mouse_face_overlay.
1855
c169b8f1
JR
1856 * w32term.c (notice_overwritten_cursor): Renamed from
1857 note_overwritten_text_cursor. Rewritten to take glyph widths into
1858 account.
1859 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1860 (fast_find_string_pos): New function.
1861 (fast_find_position): Return the correct vpos. Add parameter
1862 STOP. In the final row, stop before glyphs having STOP as object.
1863 Don't consider glyphs that are not from a buffer.
1864 (fast_find_position) [0]: Add a presumably more correct version
1865 for after 21.1.
1866 (expose_window_tree, expose_frame): Don't compute intersections here.
1867 (expose_window): Do it here instead.
1868 (expose_window_tree, expose_window, expose_line): Return 1 when
1869 overwriting mouse-face.
1870 (expose_window): If W is the window currently being updated, mark
1871 the frame garbaged.
1872 (expose_frame): If mouse-face was overwritten, redo it.
1873 (x_use_underline_position_properties): New variable.
1874 (syms_of_xterm): DEFVAR_BOOL it.
1875 (x_draw_glyph_string): Add comment to use it in future.
1876 (x_draw_glyph_string): Restore clipping after drawing box.
1877 Fix a computation of the underline position.
1878 (w32_get_glyph_string_clip_rect): Minor cleanup.
1879 (x_fill_stretch_glyph_string): Remove an assertion.
1880 (x_produce_glyphs): Don't convert multibyte characters
1881 to unibyte characters in unibyte buffers.
1882 (cursor_in_mouse_face_p): New function.
1883 (x_draw_stretch_glyph_string): Use it to choose a different GC
1884 when drawing a cursor within highlighted text. Don't draw
1885 background again if it has already been drawn.
1886 (x_draw_glyph_string_box): Don't draw a full-width
1887 box just because the glyph row's full_width_p flag is set.
1888 (x_draw_glyphs): Fix computation of rightmost x for
1889 full-width rows.
1890 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1891 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1892 change bottom shadow accordingly. Some cleanup.
1893 (x_update_window_end): Handle overwritten mouse face
1894 also for tool bar windows.
1895 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1896 DRAW is DRAW_IMAGE_RAISED.
1897 (clear_mouse_face): Return 1 if text with mouse face was
1898 actually redrawn. Make the function static. Reset
1899 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1900 optimize away highlighting if we pass over that same overlay again.
1901 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1902 to detect a case where we have to highlight a different region
1903 despite not having left the currently highlighted region.
1904 Set mouse_face_overlay in the x_display_info. Avoid changing the
1905 mouse pointer shape when show_mouse_face has already done it, or
1906 there is no need. Handle mouse-face and help-echo in strings.
1907 (glyph_rect): New function.
1908 (w32_mouse_position): Use it to raise the threshold for mouse
1909 movement event generation.
1910 (w32_initialize_display_info): Initialize the x_display_info's
1911 mouse_face_overlay.
1912 (w32_set_vertical_scroll_bar): Don't clear a zero height
1913 or width area.
1914 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1915 a widget to zero height.
1916
3cf3436e 1917 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1918 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1919 equivalents in menu_items.
1920 (w32_menu_show): Don't overwrite an item's name with its key
1921 description in case the description is a multibyte string.
1922 (single_submenu): Some cleanup.
1923
1924 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1925 (postprocess_image): New function.
1926 (lookup_image): Call it for all image types except PostScript.
1927 (x_kill_gs_process): Call postprocess_image.
1928 (tiff_error_handler, tiff_warning_handler): New functions.
1929 (tiff_load): Install them as handlers.
1930 (x_kill_gs_process): Recognize if someone has cleared the image
1931 cache under us.
1932 (valid_image_p): Protect better against invalid image
1933 specifications. Previous code could signal an error.
1934 (Fx_hide_tip, Fshow_tip): Doc fix.
1935 (Fv_max_tooltip_size): New variable.
1936 (syns_of_xfns): DEFVAR_LISP it.
1937 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1938 window buffer to *tip* right after creating the frame. Set frame's
1939 window_width. Use a maximum tooltip size specified by
1940 Vx_max_tooltip_size, if that has valid contents.
1941 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1942 Make sure the tooltip is completely visible.
1943 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1944 (Fx_create_frame): Adjust the frame's height for presence
1945 of the tool bar before calling x_figure_window_size.
1946 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1947 when the window gets smaller.
1948 (x_set_foreground_color): Set frame's cursor_pixel.
1949 (x_set_foreground_color, x_set_background_color): Cleaned up.
1950 (x_set_font): Handle case of x_new_fontset returning the same name
1951 as before, although there was a change in fontsets.
1952
386ca361
MB
19532001-10-21 Miles Bader <miles@gnu.org>
1954
c2d53558 1955 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1956 (Flogxor): Add usage: string to doc string.
1957 * charset.c (Fstring): Likewise.
1958 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1959 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1960
14ff1ee0
PJ
19612001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1962
03be2694
PJ
1963 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1964
1965 * alloc.c: Reindent DEFUNs with doc: keywords.
1966
1967 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1968
14ff1ee0
PJ
1969 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1970 keyword].
1971
71431a0e
GM
19722001-10-20 Gerd Moellmann <gerd@gnu.org>
1973
6aa97356 1974 * (Version 21.1 released.)
71431a0e 1975
39f624fa
PJ
19762001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1977
c2d53558 1978 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1979
1980 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1981 0 because unused.
1982
1983 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1984 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1985 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1986
abcce93a
MB
19872001-10-20 Miles Bader <miles@gnu.org>
1988
1989 The following changes remove the glyph_row `inverse_p' field,
1990 which is never set anymore, due to other changes:
1991
1992 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1993 (reassert_line_highlight, change_line_highlight): Declarations removed.
1994 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1995 (line_hash_code, row_equal_p, fake_current_matrices)
1996 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1997 (update_frame_line, update_frame_line, update_frame_line):
1998 Don't use `inverse_p' field.
1999 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2000 change_line_highlight_hook.
2001 (XTreassert_line_highlight, x_change_line_highlight):
2002 Functions removed.
c2d53558 2003 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2004 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2005 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2006 `inverse_p' field.
c2d53558 2007 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2008 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2009 (w32_reassert_line_highlight, x_change_line_highlight):
2010 Functions removed.
2011 * w32console.c (reassert_line_highlight, change_line_highlight):
2012 Functions removed.
2013 (initialize_w32_display): Don't set reassert_line_highlight_hook
2014 or change_line_highlight_hook.
2015 (hl_mode): Function removed.
c2d53558
SM
2016 (reset_terminal_modes, set_terminal_modes, update_begin)
2017 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2018 (clear_frame, ins_del_lines): Don't call it.
2019 * termhooks.h (reassert_line_highlight_hook)
2020 (change_line_highlight_hook): Declarations removed.
2021 * term.c (reassert_line_highlight_hook)
2022 (change_line_highlight_hook): Variables removed.
2023 (reassert_line_highlight, change_line_highlight): Functions removed.
2024 * msdos.c (IT_reassert_line_highlight)
2025 (IT_change_line_highlight): Functions removed.
2026 (internal_terminal_init): Don't set reassert_line_highlight_hook
2027 or change_line_highlight_hook.
2028 (highlight): Variable removed.
c2d53558 2029 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2030 (IT_set_terminal_modes): Don't set or use it.
2031
2032 The following changes remove inverse-video support for terminals
2033 that use a `magic cookie' standout mode. Due to changes in the
2034 way mode-lines are displayed, such support no longer works
2035 anyway, and it's probable that almost no one uses such terminals
2036 anymore:
2037
2038 * term.c (standout_requested): Variable removed.
2039 (update_end, highlight_if_desired): Don't use it.
2040 (chars_wasted, copybuf): Variables removed.
2041 (write_standout_marker): Function removed.
c2d53558 2042 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2043 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2044 Don't use `chars_wasted' or `copybuf'.
2045 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2046 Set `costs_set' to true.
2047 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2048 `chars_wasted'.
2049 (clear_end_of_line): Function removed.
2050 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2051 (clear_to_end): Call `clear_end_of_line' instead of
2052 `clear_end_of_line_raw'.
54800acb
MB
2053 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2054 (term_init): Don't set them.
2055 Turn off any standout/underline modes that require magic cookies.
c2d53558 2056 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2057 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2058 Remove special processing for magic-cookie standout modes.
2059 (turn_off_face, turn_on_face): Remove special processing for
2060 underline magic-cookie glitch.
abcce93a 2061
0b5f679f
RS
20622001-10-19 Richard M. Stallman <rms@gnu.org>
2063
2064 * eval.c (syms_of_eval): Doc fixes.
2065
5a4a5bd4
GM
20662001-10-19 Gerd Moellmann <gerd@gnu.org>
2067
2068 * xdisp.c (redisplay_internal): Don't clear echo area if the
2069 mini-window is selected.
2070
79f1f96c
MB
20712001-10-19 Miles Bader <miles@gnu.org>
2072
b57c2708
MB
2073 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2074 doesn't take precedence if the affected property's value is nil.
2075
2076 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2077
79f1f96c
MB
2078 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2079 with fields and suggest using `forward-line' to avoid them.
2080 * editfns.c (Fline_beginning_position, Fline_end_position):
2081 Clarify documentation.
2082
ef879104
SM
20832001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2084
2085 * keymap.c (current_minor_maps): `override' only shadows its
2086 correspondent in minor-mode-map-alist, not the whole tail.
2087
97f4db8c
AI
20882001-10-18 Andrew Innes <andrewi@gnu.org>
2089
2090 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2091 optimization. The fontp->encoding array was not being initialized
2092 correctly when compiled with optimizations by MSVC.
2093
e6b70fd8
GM
20942001-10-18 Gerd Moellmann <gerd@gnu.org>
2095
30903479 2096 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2097
0e804d38
AI
20982001-10-17 Andrew Innes <andrewi@gnu.org>
2099
2100 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2101
2102 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2103 font_info.charset field.
2104
2105 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2106 rather than working it out by calling w32_codepage_for_font for
2107 every glyph.
2108
66e5868a
AI
21092001-10-17 Andrew Innes <andrewi@gnu.org>
2110
2111 * w32term.c (w32_read_socket): Determine clipping rectangle for
2112 the entire frame, including areas covered by scrollbars and the
2113 menubar. This avoids internal arguments about whether a frame is
2114 fully obscured or not.
2115
15b00083
GM
21162001-10-17 Gerd Moellmann <gerd@gnu.org>
2117
23e8bd86
GM
2118 * xdisp.c (try_window_id): Undo last change. Give up if
2119 window ends in strings.
30903479 2120
9c6ba6d1 2121 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2122 end if the rest of the window after the window end was already blank.
23e8bd86 2123
30903479 2124 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2125 for the release of 21.1.
2126
30903479 2127 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2128
945220bd
MB
21292001-10-17 Miles Bader <miles@gnu.org>
2130
2131 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2132 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2133 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2134 Change doc-string comments to `new style' [w/`doc:' keyword].
2135 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2136 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2137 out make-docfile.
2138
14242528
MB
21392001-10-16 Miles Bader <miles@gnu.org>
2140
2141 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2142
3ddf952f
GM
21432001-10-16 Gerd Moellmann <gerd@gnu.org>
2144
2145 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2146 *scratch*.
2147
f3fbd155
KR
21482001-10-16 Ken Raeburn <raeburn@gnu.org>
2149
2150 Avoid the assumption that car and cdr slots of cons cells are
2151 addressable lvalues; this allows for easier experimentation with
2152 other lisp implementations that may not permit such accesses for
2153 various reasons. Not quite complete -- buffer.c still needs some
2154 work, and w32/mac files need rechecking -- so compile-time
2155 enforcement is left disabled for now.
2156
2157 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2158 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2159 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2160 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2161 (XSETCAR, XSETCDR): New macros.
2162 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2163 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2164 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2165 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2166 XSETCDR.
2167 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2168 * buffer.c (record_buffer, Fbury_buffer)
2169 (swap_out_buffer_local_variables, recenter_overlay_lists)
2170 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2171 fields of a cons cell respectively.
2172 * callint.c (quotify_args, Fcall_interactively): Likewise.
2173 * ccl.c (Fregister_code_conversion_map): Likewise.
2174 * coding.c (detect_coding_system): Likewise.
2175 * composite.c (get_composition_id, make_composition_value_copy):
2176 Likewise.
30903479
SM
2177 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2178 (swap_in_symval_forwarding, set_internal, Fset_default)
2179 (Fmake_variable_buffer_local, Fmake_local_variable)
2180 (Fmake_variable_frame_local): Likewise.
f3fbd155 2181 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2182 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2183 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2184 * minibuf.c (get_minibuffer): Likewise.
2185 * search.c (Fmatch_data): Likewise.
2186 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2187 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2188 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2189 Likewise.
2190 * w32term.c (x_delete_display): Likewise.
2191 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2192 Likewise.
c2d53558 2193 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2194 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2195 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2196 (Fread_file_name): Use XSETCAR.
2197 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2198 CHECK_NUMBER_CDR.
2199 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2200 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2201 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2202 CHECK_NUMBER_CDR.
2203 * keyboard.c (read_char): Alter list traversal to avoid taking the
2204 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2205 (parse_menu_item): Use XSETCAR and XSETCDR.
2206 (reach_char_x_menu_prompt): Use XSETCAR.
2207 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2208 (Fcommand_execute): Use XSETCDR.
2209 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2210 (openp): Change list traversal to avoid using XCAR as lvalue.
2211 (read_list): Use XSETCDR.
2212 * process.c (wait_reading_process_input): Change wait_for_cell
2213 handling to avoid taking addresses of cons cell slots.
30903479
SM
2214 * xselect.c (x_own_selection, x_handle_selection_clear)
2215 (x_clear_frame_selections): Use XSETCDR.
2216 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2217 (x_handle_property_notify, x_get_foreign_selection)
2218 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2219
502150e5
PJ
22202001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2221
018ba359
PJ
2222 * buffer.c: Put doc strings in comments.
2223
30903479 2224 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2225
b56ba8de
SS
22262001-10-15 Sam Steingold <sds@gnu.org>
2227
2228 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2229
6a0b793a
PJ
22302001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2231
30903479
SM
2232 * process.c (process-inherit-coding-system-flag)
2233 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2234 in comment.
2235
a1f17501 2236 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2237 arguments. Put doc strings in comments.
a65da641
PJ
2238
2239 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2240
aa601ad0
GM
22412001-10-15 Gerd Moellmann <gerd@gnu.org>
2242
30903479 2243 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2244
aa601ad0
GM
2245 * window.c (select_window_1): Unfreeze window start. Remove a
2246 doubled test for WINDOW being live.
2247
288148a1
PJ
22482001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2249
dd8d1e71
PJ
2250 * fns.c (Fmapconcat): Fix typo in a doc string.
2251
288148a1
PJ
2252 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2253
9f5eb4a3
GM
22542001-10-15 Gerd Moellmann <gerd@gnu.org>
2255
2256 * xterm.c (x_draw_glyph_string): Restore clipping after
2257 drawing box.
2258
dbae44c8
PJ
22592001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2260
30903479 2261 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2262
0c88c937
SM
22632001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2264
56378db4
GM
2265 * indent.c (skip_invisible): Use new retval of
2266 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2267
845e4cf4
SM
2268 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2269 If a parent is reached and noinherit is set, exit immediately.
2270 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2271
0c88c937
SM
2272 * s/ms-w32.h (EXEC_SUFFIXES):
2273 * s/msdos.h (EXEC_SUFFIXES):
2274 * process.h (EXEC_SUFFIXES): Remove.
2275
2276 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2277 (decode_suffixes): Remove.
2278
2279 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2280 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2281 (invisible_ellipsis_p): Remove.
0c88c937
SM
2282
2283 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2284 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2285 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2286 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2287 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2288
d19be8a9
PJ
22892001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2290
04d7d066
PJ
2291 * lisp.h (Ftop_level): Add prototype.
2292
d624284c
PJ
2293 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2294 (XTread_socket): Improve style of comments to follow other
2295 comments.
2296
a87414f9
PJ
2297 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2298 is already prototyped in included lisp.h).
2299
d19be8a9
PJ
2300 * frame.c (Fset_mouse_position): Improve style of comment to
2301 follow other comments.
2302 (Fset_mouse_pixel_position): Improve style of comment to follow
2303 other comments.
2304 (Fmake_frame_visible): Doc fix and typo in comment.
2305 (Fmake_frame_invisible): Doc fix and typo in comment.
2306 (Ficonify_frame): Fix typo in comment.
2307
c061c855
GM
23082001-10-14 Gerd Moellmann <gerd@gnu.org>
2309
37f6b5b6 2310 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2311 * term.c, alloc.c: Put doc strings in comments.
c061c855 2312
e641b454
GM
23132001-10-13 Gerd Moellmann <gerd@gnu.org>
2314
2315 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2316 Provide definitions for doc strings in comments.
2317
2318 * fns.c: Put doc strings in comments.
2319
51724e26
EZ
23202001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2321
2322 * dired.c (file_name_completion): Ignore a candidate directory if
2323 it matches an element in completion-ignored-extensions that ends
2324 in a slash.
2325 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2326 feature in the doc string.
2327 (Ffile_name_completion): Ditto.
2328
be5fc59b
SM
23292001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2330
5a1373f3
SM
2331 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2332
2333 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2334
2335 * lisp.h (Fprovide): Update prototype.
2336 (Ffeaturep, invisible_p): Remove.
2337
bbc4a3d3 2338 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2339 (DOLIST, LOOP_PROPVAL): New macros.
2340 (invisible_p, invisible_ellipsis_p): Use them.
2341 (invisible_noellipsis_p): New function.
2342 (syms_of_xdisp): Use empty_string.
2343
2344 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2345
2346 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2347 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2348
2349 * print.c (Fwith_output_to_temp_buffer): Align with
2350 internal_with_output_to_temp_buffer.
2351 (print_preprocess): Use traverse_intervals_noorder.
2352 (print_object): Update call to traverse_intervals.
2353
2354 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2355 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2356
2357 * intervals.c (traverse_intervals_noorder): New function.
2358 (search_for_interval, count_intervals): Use it.
2359 (traverse_intervals): Use less stack space and drop `depth' arg.
2360
2361 * fns.c (Ffeaturep): Add new `subfeature' arg.
2362 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2363 (Qsubfeatures): New var.
2364 (syms_of_fns): Initialize it.
2365
026f408d
SM
2366 * keymap.c (Fkey_description): Use empty_string.
2367 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2368 (syms_of_keymap): Setup inheritance between maps.
2369 Don't export Sdescribe_bindings_internal any more.
2370
be5fc59b
SM
2371 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2372
3365175e
GM
23732001-10-12 Gerd Moellmann <gerd@gnu.org>
2374
2375 * xterm.c (notice_overwritten_cursor): Renamed from
2376 note_overwritten_text_cursor. Rewritten to take glyph widths into
2377 account.
2378
2ab7765c
EZ
23792001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2380
2381 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2382 multi-line strings without a trailing "\n\".
2383
311346bb
PJ
23842001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2385
2386 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2387 defined.
2388
2168e04d
SM
23892001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2390
026f408d
SM
2391 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2392
c0ec53ad
SM
2393 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2394 * w32proc.c (sys_spawnve):
2395 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2396 * w32.c (check_windows_init_file):
2397 * sound.c (Fplay_sound):
026f408d 2398 * emacs.c (init_cmdargs):
c0ec53ad
SM
2399 * process.c (Fstart_process): Update calls to openp.
2400
2401 * callproc.c (Vexec_suffixes): New var.
2402 (Fcall_process): Update call to openp.
2403 (decode_suffixes): New function.
2404 (syms_of_callproc): Init exec-suffixes.
2405
2406 * lread.c (Vload_suffixes, default_suffixes): New vars.
2407 (openp): Take a lisp list of suffixes.
2408 Check for file-name-handlers even if the file was absolute already.
2409 (syms_of_lread): Declare load-suffixes.
2410 (Fload): Fix up call to openp.
2411 Don't bother checking for file-name-handler at the very beginning.
2412
f6333468
SM
2413 * keymap.h (Fcopy_keymap): Don't export.
2414
2415 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2416 (Vload_suffixes, Vexec_suffixes): Declare.
2417 (openp): Update prototype.
f6333468
SM
2418
2419 * emacs.c (empty_string): New var.
2420 (syms_of_emacs): Initialize it.
2421
2422 * search.c (wordify): Use it.
2423
2424 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2425 selected window if it's not displayed there. Handle the case
2426 when the window is dedicated.
2427 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2428
2429 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2430
2168e04d
SM
2431 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2432 Remove left_ok and right_ok.
2433 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2434 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2435 new meaning of b_property.
2436
2437 * syntax.c (update_syntax_table): Simplify.
2438 (Fforward_comment): Don't skip quoted chars when going backward.
2439
13d95cc0
GM
24402001-10-11 Gerd Moellmann <gerd@gnu.org>
2441
beb0990f
GM
2442 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2443 in case I is of some unsigned type, in which case
2444 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2445 comparison becomes bogus.
2446
cb938d46
GM
2447 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2448 (Fuser_full_name): Fix bug treating a float as a fixnum.
2449
2450 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2451
2452 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2453
13d95cc0
GM
2454 * lisp.h (circular_list_error): Add prototype.
2455
2456 * data.c (Qcircular_list): New variable.
2457 (circular_list_error): New function.
2458 (syms_of_data): Initialize it Qcircular_list.
2459
e35f6ff7
SM
24602001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2461
2462 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2463 casefiddle.c, buffer.c: Include keymap.h.
2464
619632ac
GM
24652001-10-10 Gerd Moellmann <gerd@gnu.org>
2466
2467 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2468 options. From Dave Love <d.love@dl.ac.uk>.
2469
5e5388f6
GM
24702001-10-09 Gerd Moellmann <gerd@gnu.org>
2471
2472 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2473 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2474
14a3dff7
GM
2475 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2476 unsigned char.
2477 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2478
76ba8daf
AI
24792001-10-08 Andrew Innes <andrewi@gnu.org>
2480
2481 * lisp.h [max]: Undef min and max before redefining them.
2482
2483 * w32gui.h: Do not undef min and max.
2484
2485 * w32heap.h: Do not undef min and max.
2486
2487 * s/ms-w32.h: Do not undef min and max.
2488
166253cb
SM
24892001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2490
2491 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2492
0c4d9527
SS
24932001-10-08 Sam Steingold <sds@gnu.org>
2494
2495 * keymap.c (current-active-maps): Quote newlines (compilation error).
2496
14bfa771
EZ
24972001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2498
2499 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2500 bindings.elc, since otherwise doc strings in bindings.el get wrong
2501 offsets in etc/DOC.
2502
bdb7aa47
SM
25032001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2504
9985827f
SM
2505 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2506
2507 * keyboard.h (map_prompt): Remove.
2508
2509 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2510 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2511
bdb7aa47
SM
2512 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2513
2514 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2515
2516 * keyboard.c (map_prompt): Remove.
2517 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2518 Use Fkeymap_prompt.
2519
2520 * keymap.h: New file. Extracted from lisp.h.
2521
9985827f
SM
2522 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2523 (accessible_keymaps_1): New function.
2524 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2525 (Fwhere_is_internal): Use Fcurrent_active_maps.
2526 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2527 Insert in current buffer rather than standard-output.
2528 Don't call `help-mode'. Export to elisp.
2529 (describe_buffer_bindings): New wrapper.
2530 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2531 and Sdescribe_buffer_bindings.
2532
402c9a51
GM
25332001-10-08 Gerd Moellmann <gerd@gnu.org>
2534
9985827f 2535 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2536 Remove code setting signal handler.
2537
9985827f 2538 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2539 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2540
3fe81fdf
PJ
25412001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2542
2543 * keyboard.c: Don't define min/max.
2544
55fa7820
GM
25452001-10-08 Gerd Moellmann <gerd@gnu.org>
2546
9985827f 2547 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2548 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2549 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2550 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2551 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2552 Don't define min/max.
2553
2554 * lisp.h (min, max): New macros.
2555
55fa7820
GM
2556 * puresize.h (BASE_PURESIZE): Increase to 725000.
2557
1aad31e4
PJ
25582001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2559
9180dc8c
PJ
2560 * xfaces.c (free_frame_menubar): Add prototype.
2561
01f67d2c
PJ
2562 * lisp.h (init_window): Add prototype.
2563
2564 * editfns.c: Include ctype.h.
2565
2566 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2567 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2568 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2569 variable `sb'.
2570
5f351ff1
PJ
2571 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2572 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2573 `popup_activated_flag' and `title'.
2574
479dfe87
PJ
2575 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2576
dff49fc8
PJ
2577 * emacs.c (main): Remove extra `;'.
2578
248ac615
PJ
2579 * atimer.h (struct atimer): Fix typos in a comment.
2580
2581 * atimer.c: Fix typo.
2582
af232c7d
PJ
2583 * Makefile.in: Fix typo.
2584
2585 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2586
d876f455
MB
25872001-10-07 Miles Bader <miles@gnu.org>
2588
2589 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2590
0037e2f2
KR
25912001-10-07 Ken Raeburn <raeburn@gnu.org>
2592
b056f36d
KR
2593 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2594 Lisp_Object.
2595
0037e2f2
KR
2596 * lisp.h (Ffield_end): Declare.
2597
1a4372ef
GM
25982001-10-07 Gerd Moellmann <gerd@gnu.org>
2599
a4a74e8c
GM
2600 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2601
2602 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2603
2604 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2605
2606 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2607
1a4372ef
GM
2608 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2609 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2610
2611 * alloc.c (inhibit_garbage_collection): Simplify.
2612 (Fmemory_use_counts): Ditto.
2613
9985827f 2614 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2615 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2616 most-negative-fixnum.
2617
9985827f 2618 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2619 (FIXNUM_OVERFLOW_P): New macros.
2620
4650e362
MB
26212001-10-06 Miles Bader <miles@gnu.org>
2622
2623 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2624 scroll_bar_bottom_shadow_pixel fields.
2625 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2626 for the shadows, and tell the toolkit about them if we succeed.
2627 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2628 Free scroll-bar shadow colors.
2629 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2630 Free scroll-bar shadow colors when the background color changes.
2631 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2632 Initialize scroll-bar shadow-color fields.
2633
ace64e0a
GM
26342001-10-05 Gerd Moellmann <gerd@gnu.org>
2635
2636 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2637
ec66bdc7
MB
26382001-10-05 Miles Bader <miles@gnu.org>
2639
9985827f
SM
2640 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2641 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2642 New functions (were in simple.el).
9985827f 2643 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2644 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2645 (syms_of_minibuf): Initialize them.
2646
a0fb4492
GM
26472001-10-05 Gerd Moellmann <gerd@gnu.org>
2648
2649 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2650 (tiff_load): Install them as error and warning handler.
2651
0bcf87c1
AI
26522001-10-04 Andrew Innes <andrewi@gnu.org>
2653
2654 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2655 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2656 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2657 (x_to_w32_charset): Handle private format for unknown charsets.
2658 Handle wildcards in charset spec, by ignoring them.
2659 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2660 "*-" prefix from charset.
2661 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2662 handle the truncated font spec form constructed by font_list_1, so
2663 that we correctly identify the charset fields. Don't remove "*-"
2664 prefix from charset.
2665 (w32_list_synthesized_fonts): Fix argument to alloca.
2666
c89e4bc5
GM
26672001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2668
2669 * window.h (MINI_WINDOW_P): Use NILP.
2670
2671 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2672
2673 * termhooks.h (struct input_event): Use proper type for `kind'.
2674
26752001-10-04 Gerd Moellmann <gerd@gnu.org>
2676
2677 This handles unknown keysyms better than before. For example,
2678 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2679 Emacs formerly completely ignored F5. With the change, it derives
2680 a key symbol from the name of the X keysym, `ccaron' in this case.
2681 Reported by Martin Buchholz.
2682
2683 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2684 unknown keysyms.
2685
2686 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2687 that EVENT->code isn't a function key, use the keysym's name.
2688
26892001-10-04 Gerd Moellmann <gerd@gnu.org>
2690
2691 FOREACH is a macro that should make it easier to loop over Lisp
2692 lists with checks for cycles and proper lists.
2693
2694 * lisp.h (LIST_END_P, FOREACH): New macros.
2695
26962001-10-04 Gerd Moellmann <gerd@gnu.org>
2697
2698 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2699 called for a lost connection. Prevent dumping core in this case.
2700 Instead print the X error, and exit. On user request.
2701
2702 * xterm.c (error_msg): New variable.
2703 (x_fatal_error_signal): New function.
2704 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2705 as fatal_error_signal_hook around the call to XtCloseDisplay.
2706
2707 * emacs.c (fatal_error_signal_hook): New variable.
2708 (fatal_error_signal): Call that function.
2709
27102001-10-04 Gerd Moellmann <gerd@gnu.org>
2711
2712 With this, Emacs prints how much pure storage it will
2713 approximately need in case pure storage overflows while dumping.
2714
2715 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2716 New variables.
2717 (init_alloc_once): Initialize new variables.
2718 (PURE_POINTER_P): Use new variables.
2719 (pure_alloc): If pure storage overflows, allocate from the heap.
2720 (check_pure_size): New function.
2721 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2722
2723 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2724 (check_pure_size): Add prototype.
2725
2726 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2727
27282001-10-04 Gerd Moellmann <gerd@gnu.org>
2729
2730 This adds a post-gc-hook that's run with GC inhibited.
2731 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2732
2733 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2734 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2735 (Fgarbage_collect): Run post-gc-hook.
2736
27372001-10-04 Gerd Moellmann <gerd@gnu.org>
2738
2739 This adds `defvaralias' and `indirect-variable'. Changes not
2740 directly related to this feature are there to gain the same
2741 performance again as before variable aliases.
2742
2743 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2744 code to get and set symbol values, to take defvaralias into account.
2745
2746 (Note: the new `constant' bit-flag in symbols would make it
2747 possible to define arbitrary read-only variables, e.g. with
2748 `defconst'.)
2749
2750 Documentation is in lispref/variables.texi. Added to NEWS.
2751
2752 * lisp.h (enum symbol_interned): New enumeration.
2753 (struct Lisp_Symbol): Remove member `obarray', add
2754 `indirect_variable', `constant', and `interned'.
2755 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2756 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2757 (indirect_variable): Add prototype.
2758
2759 * print.c (print_preprocess, print_object): Test internedness of
2760 symbols differently.
2761
2762 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2763 bit-fields.
2764 (init_obarray): Likewise for t and nil.
2765
2766 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2767 (Fdefvaralias): New function.
2768 (specbind): Simplify the test if symbol is a constant.
2769 (syms_of_eval): Defsubr Fdefvaralias.
2770
2771 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2772 (Qcyclic_variable_indirection): New variable.
2773 (Fkeywordp): Check for internedness differently.
2774 (Fmakunbound): Simplify the test if symbol is a constant.
2775 (indirect_variable, Findirect_variable): New functions.
2776 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2777 aliased symbol.
2778 (let_shadows_buffer_binding_p): Check for variable aliases.
2779 (set_internal): Simplify the test if SYMBOL is a constant.
2780 If SYMBOL has a buffer-local value and is an alias, use the aliased
2781 symbol instead.
2782 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2783 Sindirect_variable.
2784
2785 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2786 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2787 set directly.
2788
2789 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2790
2791 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2792 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2793 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2794
ab952a4f
GM
27952001-10-04 Gerd Moellmann <gerd@gnu.org>
2796
2797 * Branch for 21.1.
b56ba8de 2798
ba88ff28
MB
27992001-10-03 Miles Bader <miles@gnu.org>
2800
2801 * callproc.c (syms_of_callproc): Explicitly state in the
2802 documentation for `process-environment' that earlier entries take
2803 precedence over later ones.
2804
ae1a9581
MB
28052001-10-02 Miles Bader <miles@gnu.org>
2806
2807 * textprop.c (Fnext_char_property_change)
2808 (Fprevious_char_property_change): Remove reference to non-existant
2809 argument OBJECT from doc-string.
2810
257e3f57
GM
28112001-10-01 Gerd Moellmann <gerd@gnu.org>
2812
2813 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2814 (try_window_id): Skip back over lines ending in a newline from a
2815 string.
2816
2817 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2818 New bit flag
2819
c1f29759
RS
28202001-10-01 Richard M. Stallman <rms@gnu.org>
2821
2822 * search.c (Freplace_match): Doc fix.
2823
c30dce3d
AI
28242001-09-28 Andrew Innes <andrewi@gnu.org>
2825
2826 * w32menu.c (set_frame_menubar): Take into account that
2827 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2828 <raeburn@gnu.org>.
2829
03be5931
EZ
28302001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2831
2832 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2833
75bec752
PJ
28342001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2835
2836 * s/gnu-linux.h: Fix a typo in comment.
2837
83100e0a
AS
28382001-09-28 Andreas Schwab <schwab@suse.de>
2839
2840 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2841 nocombreloc, in case -z combreloc is the default.
2842
a74b48cf
GM
28432001-09-28 Gerd Moellmann <gerd@gnu.org>
2844
2845 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2846 really going on here.
2847
09c4719e
SM
28482001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2849
2850 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2851
f7d5d963
EZ
28522001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2853
2854 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2855 utf-8, menu-bar, and latin-N.
2856 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2857 unconditionally now.
2858 (lisp): Add latin-N, since they are preloaded.
2859
9240e746
GM
28602001-09-27 Gerd Moellmann <gerd@gnu.org>
2861
14531065
GM
2862 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2863 to the left. Some cleanup.
2864
9240e746
GM
2865 * xdisp.c (display_mode_element): One more case where a string's
2866 multibyteness should be used for display.
2867
edd1e654
GM
28682001-09-26 Gerd Moellmann <gerd@gnu.org>
2869
b02439c8
GM
2870 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2871 reading at EOF.
2872
032906b1 2873 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2874 of the only temporarily set echoing flag for deciding when
032906b1
GM
2875 the cancel echoing.
2876
2877 * keyboard.c (echo_kboard): Make externally visible.
2878
2879 * lisp.h (echo_kboard): Declare extern.
2880
cb617e7c 2881 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2882 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2883 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2884 this round of redisplay if make_cursor_line_fully_visible fails.
2885 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2886 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2887
2888 * dispextern.h (required_matrix_width, required_matrix_height):
2889 Add prototypes.
2890
09c4719e
SM
2891 * dispnew.c (required_matrix_width, required_matrix_height):
2892 New functions.
cb617e7c 2893 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2894 (allocate_matrices_for_frame_redisplay: Use them.
2895 Remove parameters CH_DIM.
cb617e7c 2896
edd1e654
GM
2897 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2898 and selected_window to the frame of the window whose mode-lines
2899 are displayed, and to the window itself.
2900 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2901 here.
edd1e654 2902
924b604c
GM
29032001-09-25 Gerd Moellmann <gerd@gnu.org>
2904
daba7643
GM
2905 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2906 the image cache under us.
2907
b7a22712 2908 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2909 with a string value, use that string's multibyteness for displaying.
b7a22712 2910
ad648212
GM
2911 * keyboard.c (read_char): Don't clear a message for a switch-frame
2912 event. From Stefan Monnier <monnier@cs.yale.edu>.
2913
9f8531e5
GM
2914 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2915 version for after 21.1.
2916
2917 * xdisp.c (row_containing_pos): Make externally visible.
2918
2919 * dispextern.h (row_containing_pos): Add prototype.
2920
924b604c
GM
2921 * process.c (send_process): Disable composition if from_byte < 0.
2922 From Kenichi Handa <handa@etl.go.jp>.
2923
6f3f0db4
GM
29242001-09-24 Gerd Moellmann <gerd@gnu.org>
2925
c69c0ebc
GM
2926 * xterm.c (refreshicon): Function removed.
2927
d1182bc4
GM
2928 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2929
2930 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2931
2932 * xterm.c (toplevel): Remove includes in #if 0.
2933
6f3f0db4
GM
2934 * process.c (sigchld_handler) [LINUX]: Don't return from
2935 the signal handler at the end of the loop.
2936
59957f85
GM
29372001-09-21 Gerd Moellmann <gerd@gnu.org>
2938
09c4719e
SM
2939 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2940 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2941
a0528984
EZ
29422001-09-21 Markus Rost <rost@math.ohio-state.edu>
2943
2944 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2945
db92b288
GM
29462001-09-20 Gerd Moellmann <gerd@gnu.org>
2947
3fed8ad5
GM
2948 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2949 since this function can be called during GC.
2950
db92b288
GM
2951 * callproc.c (Fcall_process): Handle errors from pipe(2).
2952 (child_setup): Delete code in #ifdef vipc.
2953
7121b85a
GM
29542001-09-19 Gerd Moellmann <gerd@gnu.org>
2955
72f62cb5
GM
2956 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2957 (display_mode_element): Display the string from decode_mode_spec
2958 depending on its multibyteness.
2959
a2697022
GM
2960 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2961
7121b85a
GM
2962 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2963
bfc97351
GM
29642001-09-18 Gerd Moellmann <gerd@gnu.org>
2965
c9063433
GM
2966 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2967 recursive_edit_unwind.
2968 (recursive_edit_unwind): Set kboard state according to
2969 SINGLE-KBOARD.
2970
3fbdba3e
GM
2971 * buffer.c (modify_overlay): Don't do nothing if START == END;
2972 This can still be a modification, for example when an overlay has
2973 a before-string or after-string.
2974 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2975 an overlay with before-string or after-string.
2976
1270031d
GM
2977 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2978 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2979
bfc97351
GM
2980 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2981 first_unchanged_at_end_row is in front of
2982 last_unchanged_at_beg_row. This code should be removed after the
2983 release of 21.1.
2984
d8a973aa
GM
29852001-09-17 Gerd Moellmann <gerd@gnu.org>
2986
e18c8b8d
GM
2987 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2988 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2989
d8a973aa
GM
2990 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2991 versions >= 2.95.
2992
ed7d6ba4
EZ
29932001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2994
2995 * dired.c (Ffile_attributes): Doc fix.
2996
551629f9
GM
29972001-09-14 Gerd Moellmann <gerd@gnu.org>
2998
2999 * fileio.c (Ffile_symlink_p): Fix last change.
3000
3001 * filelock.c (current_lock_owner): Fix last change.
3002
4c8c7926
GM
30032001-09-13 Gerd Moellmann <gerd@gnu.org>
3004
620c4704
GM
3005 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3006 take that to mean that the buffer is too small.
3007
81c3310d
GM
3008 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3009 that to mean that the buffer is too small.
3010
06fd3792
GM
3011 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3012 current buffer's multibyteness when discarding the iterator's
3013 stack.
3014
4c8c7926
GM
3015 * xfns.c (Fx_window_property): Handle case that property gets
3016 deleted between the two calls to XGetWindowProperty.
3017
9a72e4c1
GM
30182001-09-11 Gerd Moellmann <gerd@gnu.org>
3019
bd819d14 3020 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3021
a41edd99
GM
3022 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3023 in addition to read-only.
3024
3025 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3026 to t in addition to read-only.
3027
3028 * lisp.h (Qinhibit_modification_hooks): Declare.
3029
3030 * insdel.c (Qinhibit_modification_hooks): New variable.
3031 (syms_of_insdel): Initialize and staticpro it.
3032
d4881c6a
GM
3033 * textprop.c (verify_interval_modification): Don't run
3034 modification-hooks if inhibit_modification_hooks.
3035
3036 * dispnew.c (set_window_cursor_after_update): Fix code
3037 finding glyph row containing cursor when cursor_in_echo_area
3038 is >= 0.
3039
9a72e4c1
GM
3040 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3041 (add_to_log): Use bcopy instead of strcpy.
3042 (init_from_display_pos): Use an explicit loop over bytes in
3043 overlay strings instead of calling index.
3044
f4a374a1
GM
30452001-09-10 Gerd Moellmann <gerd@gnu.org>
3046
300e57bd
GM
3047 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3048
3049 * dispnew.c (direct_output_for_insert): Don't change IT's
3050 stop_charpos to something in front of its current position.
3051
f4a374a1
GM
3052 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3053 `format'.
3054
7e4cbc91
RS
30552001-09-10 Richard M. Stallman <rms@gnu.org>
3056
3057 * frame.c (Fmouse_position): Doc fix.
3058
6afad91e
GM
30592001-09-07 Gerd Moellmann <gerd@gnu.org>
3060
3061 * xdisp.c (init_from_display_pos): Don't compare the result
3062 of calling index with NULL.
3063
f76e0368
GM
30642001-09-06 Gerd Moellmann <gerd@gnu.org>
3065
3066 * xfns.c (x_set_background_color): Don't change the colors
3067 of the X window of scroll bar widgets.
3068
9ead1b60
AI
30692001-09-05 Andrew Innes <andrewi@gnu.org>
3070
3071 * w32fns.c (w32_createwindow): Undo last change.
3072
c3b497b3
GM
30732001-09-05 Gerd Moellmann <gerd@gnu.org>
3074
08e1d6df
GM
3075 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3076
c3b497b3
GM
3077 * xdisp.c (string_buffer_position): Use *single_char_property*
3078 functions instead of the *single_property* functions.
b56ba8de 3079
8f860180
AI
30802001-09-04 Andrew Innes <andrewi@gnu.org>
3081
9a72e4c1
GM
3082 * w32term.c (w32_read_socket): Add more information to debugging
3083 output.
8f860180
AI
3084
3085 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3086 from Emacs frames, so that calls to GetClipBox in w32term.c
3087 correctly report when part of a frame is visible (including
3088 scrollbars, etc). This prevents repeated redrawing of frames when
3089 only a scrollbar is visible.
3090 (w32_wnd_proc): Add more frame information to debugging output.
3091
2ee1aa00
SM
30922001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3093
3094 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3095
e3b22517
GM
30962001-09-03 Gerd Moellmann <gerd@gnu.org>
3097
7e376260
GM
3098 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3099 help-echo for a string which doesn't have help-echo itself, use
3100 get-char-property to obtain the help-echo from the string's buffer
3101 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3102 have mouse-face, look ``under'' the string for mouse-face from an
3103 overlay.
3104 (fast_find_position): Add parameter STOP. In the final row, stop
3105 before glyphs having STOP as object. Don't consider glyphs that
3106 are not from a buffer.
3107
e3b22517
GM
3108 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3109
9a249bba
EZ
31102001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3111
3112 * fns.c (Fmd5): Doc fix.
3113
c9979669
GM
31142001-08-31 Gerd Moellmann <gerd@gnu.org>
3115
3116 * composite.c (update_compositions): Do nothing if
3117 inhibit-modification-hooks is set.
3118
9584e63a
GM
31192001-08-30 Gerd Moellmann <gerd@gnu.org>
3120
986ec8f2 3121 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3122 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3123 glyph matrices etc. in a core dump.
3124
92a25631
GM
3125 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3126 (syms_of_xdisp): Initialize them.
3127 (handle_single_display_prop): Don't change point, bind `object',
3128 `position', and `buffer-position' instead to the object having the
2ee1aa00 3129 `display' property, position in the object and position in the buffer.
92a25631 3130
9584e63a
GM
3131 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3132 of the buffer if REPLACE is non-nil.
3133
d38633a3
GM
31342001-08-29 Gerd Moellmann <gerd@gnu.org>
3135
3136 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3137
f4fccc1e
EZ
31382001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3139
3140 * w32term.c (x_set_glyph_string_background_width)
3141 (show_mouse_face): Track the last changes in xterm.c.
3142
eaaa65b0
GM
31432001-08-28 Gerd Moellmann <gerd@gnu.org>
3144
7b0870b2
GM
3145 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3146 string's background width so that multi-line mouse-face is drawn
3147 to the right edge of the window.
3148 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3149 glyphs.
3150
6b6e2422 3151 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3152 before inserting/writing glyphs.
6b6e2422 3153
eaaa65b0
GM
3154 * xdisp.c (display_mode_element): Use string_byte_to_char to
3155 determine character positions in strings, use chars_in_text
3156 instead of strwidth.
3157 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3158 a matrix as parameter; this is easier to use from GDB.
3159
9ad62cf8
MB
31602001-08-28 Miles Bader <miles@gnu.org>
3161
2ee1aa00
SM
3162 * textprop.c (Fprevious_single_char_property_change)
3163 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3164
32171635
GM
31652001-08-27 Gerd Moellmann <gerd@gnu.org>
3166
47d57b22
GM
3167 * fileio.c (Finsert_file_contents): Allocate, restore, and
3168 free composition data in the case of REPLACE not being nil.
3169
3170 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3171 there exist overlay strings with newlines at POS.
3172 (text_outside_line_unchanged_p): Return 0 if changes start at
3173 START and overlays exist at START. Likewise for END.
3174 (try_window_id): Give up if init_to_row_end returns 0.
3175
32171635
GM
3176 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3177 unconditionally.
3178
e1249666
GM
31792001-08-24 Gerd Moellmann <gerd@gnu.org>
3180
33954c45
GM
3181 * keymap.c (access_keymap): Return the cdr of the binding of
3182 a generic character instead of its definition (KEY . BINDING).
3183
e1249666
GM
3184 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3185 to 0 also in the REPLACE case.
3186
fb4c6c96
AC
31872001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3188
3189 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3190 open to determine whether file is readable (as for DOS_NT).
3191
59ecf80b
GM
31922001-08-23 Gerd Moellmann <gerd@gnu.org>
3193
3194 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3195 coding.type is coding_type_no_conversion or coding_type_raw_text,
3196 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3197 non-nil instead of just setting enable_multibyte_characters in the
3198 buffer to nil.
3199
40e33037
GM
32002001-08-22 Gerd Moellmann <gerd@gnu.org>
3201
374388c3
GM
3202 * dispextern.h (struct face_cache): Add member
3203 menu_face_changed_p.
3204
3205 * xfaces.c (menu_face_changed_default): New variable.
3206 (menu_face_changed_count): Variable removed.
3207 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3208 the menu_face_changed_default flag, otherwise set the FRAME's
3209 menu_face_changed_p flag if the `menu' face has been changed.
3210 Prevent calling set_font_frame_param if FRAME is t.
3211 (make_face_cache): Initialize cache's menu_face_changed_p
3212 from menu_face_changed_default.
3213 (realize_basic_faces): Look into the frame's face cache to
3214 determine if the menu appearance needs updating.
3215
40e33037
GM
3216 * keymap.c (access_keymap): Fix last change to not consider
3217 IDX when it has modifiers.
3218
859ea4b8
GM
32192001-08-21 Gerd Moellmann <gerd@gnu.org>
3220
3221 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3222 . BINDING) exists, where GENERIC-CHAR is the generic character of
3223 the charset of IDX, return BINDING unless there exists a binding
3224 for IDX itself.
3225
e8660d73
GM
32262001-08-16 Gerd Moellmann <gerd@gnu.org>
3227
cca1b1d7
GM
3228 * xrdb.c (SYSV): Don't define on Solaris 2.
3229 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3230
e8660d73 3231 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3232 of the screen line, not text line, containing IT's current position.
e8660d73 3233
93aba6fc
GM
32342001-08-15 Gerd Moellmann <gerd@gnu.org>
3235
288d4e06
GM
3236 * window.c (window_scroll_pixel_based): Don't recenter if
3237 PT is partially visible in the window.
3238
3452efc2
SM
3239 * xterm.c (expose_window_tree, expose_window, expose_line):
3240 Return 1 when overwriting mouse-face.
82f053ab
GM
3241 (expose_frame): If mouse-face was overwritten, redo it.
3242
93aba6fc
GM
3243 * xfaces.c (x_update_menu_appearance): Don't call
3244 set_frame_menubar, let the next redisplay do it.
3245
858a55c1
AI
32462001-08-14 Andrew Innes <andrewi@gnu.org>
3247
3248 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3249 drawing glyph string.
3250
3a990b67
EZ
32512001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3252
3253 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3254 running HI-UX/MPP.
3255
04386463
GM
32562001-08-14 Gerd Moellmann <gerd@gnu.org>
3257
3258 * xfaces.c (x_update_menu_appearance): Save and restore value of
3259 interrupt_input_blocked.
3260
3e6385a4
GM
32612001-08-13 Gerd Moellmann <gerd@gnu.org>
3262
b0e619b4
GM
3263 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3264 a line start, move back to the line start.
3452efc2 3265
0de73d5a
GM
3266 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3267 exactly when a mini-buffer is active.
3268
3e6385a4
GM
3269 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3270 in units of 1/8 character on non window-system frames.
3271 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3272
d1b5f629
EZ
32732001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3274
3275 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3276 a doc string.
3277
eaa2319f
GM
32782001-08-09 Gerd Moellmann <gerd@gnu.org>
3279
8e3189f0
GM
3280 * keyboard.c (Vpre_help_message): New variable.
3281 (syms_of_keyboard): Initialize and staticpro it.
3282 (show_help_echo): Record current message before displaying a
3283 help-echo, and restore that message when clearing the help.
3284
eaa2319f
GM
3285 * xfns.c (x_create_im): Remove prototype.
3286
3287 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3288
3289 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3290
eaa2319f
GM
32912001-08-08 Gerd Moellmann <gerd@gnu.org>
3292
3293 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3294 windows whose height has changed, disable partially visible lines.
eaa2319f 3295
17fdcfc8
GM
32962001-08-07 Gerd Moellmann <gerd@gnu.org>
3297
22d01aed 3298 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3299 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3300
17fdcfc8
GM
3301 * xdisp.c (start_display): Don't try to determine the continuation
3302 lines width if lines are truncated. It's superfluous and leads to
3303 incorrect results if POS is not visible in the window after
3304 reseating the iterator at the previous line start.
3305
8e3fe78e
GM
33062001-08-06 Gerd Moellmann <gerd@gnu.org>
3307
3308 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3309
98a8938c
GM
33102001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3311
3312 * alloc.c (init_stack): Remove declaration.
3313
18f9986a
GM
33142001-08-03 Gerd Moellmann <gerd@gnu.org>
3315
5e1f85e0
GM
3316 * keyboard.c (read_key_sequence): Check that key is an integer
3317 before comparing it with quit_char.
3318 (add_command_key): Use larger_vector.
3319 (read_char_x_menu_prompt): Instead of converting symbol and
3320 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3321 which cannot be confused with valid events.
5e1f85e0
GM
3322 (read_char): When reading from Vunread_command_events, check for
3323 events of the form (EVENT . disabled) instead of
3324 (EVENT . nil).
3325
18f9986a
GM
3326 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3327 a float, determine the max height from the frame's height.
3328
fbc7f2a6
GM
33292001-08-02 Gerd Moellmann <gerd@gnu.org>
3330
3331 * xdisp.c (redisplay_internal): Take message_cleared_p into
3332 account only if minibuf_level == 0.
3333
81b1a79d
GM
33342001-08-01 Gerd Moellmann <gerd@gnu.org>
3335
e5c60873
GM
3336 * xdisp.c (redisplay_internal): Add a check for the last
3337 displayed message.
3452efc2 3338
6e019995
GM
3339 * xdisp.c (message_cleared_p): New variable.
3340 (clear_message): Set message_cleared_p when clearing the current
3341 message.
3342 (redisplay_internal): Look at message_cleared_p to capture
3343 the case that the echo area should be cleared.
3344
308a74d8
GM
3345 * keyboard.c (command_loop_1): Fix spelling of
3346 resize_echo_area_exactly.
3347
3452efc2 3348 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3349
3350 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3351
81b1a79d
GM
3352 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3353 current matrix when the window gets smaller.
3354
ada329e6
EZ
33552001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3356
3357 * print.c (strout): Cast the character passed to insert_char to
3358 unsigned char, to avoid sign extension when it is promoted to int.
3359
ed86208c
GM
33602001-07-31 Gerd Moellmann <gerd@gnu.org>
3361
3362 * fileio.c (Finsert_file_contents): Don't treat a return value
3363 of 0 from emacs_read as an IO error.
3364
6594ac22
GM
33652001-07-30 Gerd Moellmann <gerd@gnu.org>
3366
cef68af5
GM
3367 * keyboard.c (abs): New macro.
3368 (double_click_fuzz): New variable.
3369 (make_lispy_event): Use it to determine what makes a double-click.
3370 (syms_of_keyboard): DEFVAR_INT it.
3371
6594ac22
GM
3372 * xmenu.c (set_frame_menubar): Take into account that
3373 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3374 <raeburn@gnu.org>.
3375
75c5350a
GM
33762001-07-27 Gerd Moellmann <gerd@gnu.org>
3377
3378 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3379
3380 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3381 of row's visible height.
3382
3383 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3384 deal with the first overlay string having an image `display' property.
3385 (try_window_reusing_current_matrix, compute_line_metrics):
3386 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3387 row is invisible above and part of the row is at the same time
3388 invisible below the window.
3389
ac49effe
GM
33902001-07-26 Gerd Moellmann <gerd@gnu.org>
3391
3392 * xfns.c (x-show-tip): Doc fix.
3452efc2 3393
ac49effe
GM
3394 * xfns.c (Vx_max_tooltip_size): New variable.
3395 (syms_of_xfns): DEFVAR_LISP it.
3396 (Fx_show_tip): Set frame's window_width to the width of the
3397 window. Use a maximum tooltip size specified by
3398 Vx_max_tooltip_size, if that has valid contents.
3399 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3400
8c3b00cb
AI
34012001-07-26 Andrew Innes <andrewi@gnu.org>
3402
3403 * w32term.c (x_display_list): New variable.
3404 (w32_term_init): Set it.
3405
3406 * w32term.h (x_display_list): New extern.
3407
16098288
GM
34082001-07-26 Gerd Moellmann <gerd@gnu.org>
3409
3410 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3411 is non-nil, instead of when redisplaying_p is non-zero.
3412 See comment there.
16098288
GM
3413 (mark_window_display_accurate_1): Add an assertion.
3414
64c5be50
GM
34152001-07-25 Gerd Moellmann <gerd@gnu.org>
3416
e743f599
GM
3417 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3418
563b384d
GM
3419 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3420 events so that we get a chance of processing expose events.
3421
64c5be50
GM
3422 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3423
296808a5
GM
34242001-07-24 Gerd Moellmann <gerd@gnu.org>
3425
3426 * xfns.c (valid_image_p): Protect better against invalid image
3427 specifications. Previous code could signal an error.
3428
5247262a
GM
34292001-07-23 Gerd Moellmann <gerd@gnu.org>
3430
3452efc2 3431 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3432 presence of display table entries.
3433 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3434
dd42b31a
GM
3435 * dispnew.c (adjust_glyph_matrix): In the optimization for
3436 windows whose height has changed, use the new window height
3437 to compute which rows to invalidate.
3438
9e5a7f2a
GM
3439 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3440 (MAX_10_EXP): New macro.
3441 (Fformat): Use it.
3442
5247262a
GM
3443 * coding.c (code_convert_region): Handle the multibyte case if
3444 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3445
177ab8ce
GM
34462001-07-20 Gerd Moellmann <gerd@gnu.org>
3447
6e07c0a5
GM
3448 * dispextern.h (struct face): Change type of `stipple' to
3449 int; it's an ID.
3450
177ab8ce
GM
3451 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3452
b5b80599
GM
34532001-07-19 Gerd Moellmann <gerd@gnu.org>
3454
4e2a256b
GM
3455 * dispnew.c (update_window): Don't set the cursor at the end
3456 of the update if display update has been paused.
3457
3452efc2 3458 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3459
c1fd9232
KR
34602001-07-18 Ken Raeburn <raeburn@gnu.org>
3461
3462 * fns.c (Fset_char_table_default): Check that a charset is defined
3463 before checking its dimension.
3464
928a85c1
KR
34652001-07-17 Ken Raeburn <raeburn@gnu.org>
3466
3467 * coding.c (setup_coding_system): Don't do any designation based
3468 on reg_bits if charset is not yet defined.
3469
fb4c6c96 3470 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3471 pointer, using eassert.
3472
de11c1ea
GM
34732001-07-17 Gerd Moellmann <gerd@gnu.org>
3474
3452efc2
SM
3475 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3476 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3477
467f1209
GM
34782001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3479
3480 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3481
c3d6be34
GM
34822001-07-16 Gerd Moellmann <gerd@gnu.org>
3483
c1d61a7d
GM
3484 * fileio.c (unwind_read): Function removed.
3485 (read_non_regular, read_non_regular_quit): New functions.
3486 (Finsert_file_contents): When reading from non-regular files,
3487 arrange to catch a `quit' and terminate the loop. Rearrange
3488 code so that a `quit' when reading from a regular file doesn't
3489 insert text in the buffer.
3490
c3d6be34
GM
3491 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3492 Clear faces afterwards.
3493 (clear_font_table): Take a x_display_info parameter. Don't free
3494 fonts being the default font of any frame on the given display.
3495
e06aa1f9
GM
34962001-07-13 Gerd Moellmann <gerd@gnu.org>
3497
3498 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3499 instead of CHAR_STRING which can signal an error.
3500
3501 * charset.c (char_to_string_1): Extracted from char_to_string.
3502 Return -1 instead of signaling an error.
3503 (char_to_string): Use it.
3504
3505 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3506
176c92e6
SM
35072001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3508
3509 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3510 is t, don't try to append anything to it.
3511
1c56232f
EZ
35122001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3513
3514 * dired.c (file_name_completion): Pass dp->d_name to
3515 Fstring_match, not elt, which is always nil here.
3516
1d2b2268
GM
35172001-07-12 Gerd Moellmann <gerd@gnu.org>
3518
3519 * xselect.c (x_decline_selection_request): Handle errors
3520 caused by receivers that have vanished.
3521
3522 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3523 ignoring events on foreign windows in #if 0. Always dispatch
3524 the event after checking it with x_handle_property_notify.
3525
3526 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3527 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3528 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3529 (toplevel): Add prototypes for file-local functions.
3530 (x_atom_to_symbol): Remove DPYINFO parameter.
3531
fe5a0162
SM
35322001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3533
3534 * w32menu.c (menubar_selection_callback, w32_menu_show):
3535 Initialize `entry' to nil.
3536 (w32_dialog_show): Remove unused `save_wv' variable.
3537 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3538
a777242c
GM
35392001-07-11 Gerd Moellmann <gerd@gnu.org>
3540
8ee5b6a3
GM
3541 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3542
d0e2444e
GM
3543 * fileio.c (unwind_read): Print a message when discarding inserted
3544 text or switching the buffer to unibyte. Change parameter.
3545 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3546
a777242c
GM
3547 * fileio.c (unwind_read): New function.
3548 (Finsert_file_contents): Record it as unwind-function for
3549 the case that reading is interrupted by C-g.
3550
ae794295
GM
35512001-07-10 Gerd Moellmann <gerd@gnu.org>
3552
fe5a0162 3553 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3554 update when scrolling_window returns 0.
3555
6b05fae3
GM
3556 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3557
3558 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3559 for the case that x_decode_color signals an error.
6b05fae3 3560
ae794295
GM
3561 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3562
bb6e8cee
GM
35632001-07-09 Gerd Moellmann <gerd@gnu.org>
3564
3565 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3566 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3567 around ioctls.
3568
36b40a8a
EZ
35692001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3570
24b97d4b
EZ
3571 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3572 doc string line for dos-timezone-offset.
3573
36b40a8a
EZ
3574 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3575 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3576 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3577 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3578
3579 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3580
0967b4b0
GM
35812001-07-05 Gerd Moellmann <gerd@gnu.org>
3582
f25cfe53
GM
3583 * sound.c: Include Emacs' header files with #include "...".
3584
0967b4b0
GM
3585 * eval.c (specbind): Additionally record the buffer that was
3586 current when a buffer-local or frame-local variable was bound.
3587
c347a1c3
GM
35882001-07-04 Gerd Moellmann <gerd@gnu.org>
3589
3590 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3591 to unibyte characters in unibyte buffers.
3592
6332ca8a
GM
35932001-07-03 Gerd Moellmann <gerd@gnu.org>
3594
38472d44
GM
3595 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3596 the frame on the binding stack. Change format of entries for
3597 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3598 (unbind_to): Handle unbinding a frame-local variable.
3599
6332ca8a 3600 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3601 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3602 (dump_glyph_row): Print row's continuation_lines_width.
3603 (try_window_id): Take the shortcut if ZV is visible in the
3604 window, but there are actually no changes at ZV.
3605
63d1b174
GM
36062001-07-02 Gerd Moellmann <gerd@gnu.org>
3607
4c175203
GM
3608 * xterm.h (x_free_dpy_colors): Add prototype.
3609
3610 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3611 right number of arguments.
3612
0b54ce28
GM
3613 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3614 ($(lwlibdir)TAGS): New target.
4c175203 3615 (TAGS): Fix dependency list.
0b54ce28 3616
63d1b174
GM
3617 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3618 with input blocked.
3619
d827466c
GM
36202001-06-30 Gerd Moellmann <gerd@gnu.org>
3621
3622 * emacs.c (main): Remove extern declaration for sys_nerr, which
3623 isn't used and causes a compilation error with GCC 3.0 on
3624 FreeBSD 4.3.
3625
b5cb1ada
GM
36262001-06-27 Gerd Moellmann <gerd@gnu.org>
3627
a5d3ec3f 3628 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3629 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3630 (toplevel): Include <signal.h> and syssignal.h.
3631
b5cb1ada
GM
3632 * sound.c (vox_configure, vox_close): Turn off atimers
3633 around ioctls.
3634
d9bad487
GM
36352001-06-26 Gerd Moellmann <gerd@gnu.org>
3636
fdbb67fe
GM
3637 * keyboard.c (read_char) <non_reread>: Record the previous idle
3638 start time before calling timer_stop_idle.
3639 (read_char) <reread_first>: After processing a help-echo event,
3640 restore the previous idle start time.
3641
d9bad487
GM
3642 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3643 the start of invisible text.
3644 (setup_for_ellipsis): New function.
3645 (next_overlay_string): After all overlay strings have been
3646 processed, display an ellipsis if necessary.
3647 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3648 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3649
3650 * dispextern.h (struct iterator_stack_entry): Add member
3651 display_ellipsis_p.
3652
2b9c25e0
GM
36532001-06-25 Gerd Moellmann <gerd@gnu.org>
3654
80de57df
GM
3655 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3656 on the value of the wait-for-wm frame parameter.
3657
3658 * xterm.h (struct x_output): Add member wait_for_wm.
3659
3660 * xfns.c (Qwait_for_wm): New variable.
3661 (x_frame_parms): Add entry for `wait-for-wm".
3662 (x_set_wait_for_wm): New function.
3663 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3664 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3665
2b9c25e0
GM
3666 * xdisp.c (try_window_id) <all changes below window end>: Don't
3667 take this shortcut if ZV is visible in the window.
3668 (try_window_id): When checking for window start being in changed
3669 text, don't check that the buffer's size has changed.
3670
f772775c
RS
36712001-06-23 Richard M. Stallman <rms@gnu.org>
3672
3673 * minibuf.c (Fcompleting_read): Doc fix.
3674
fa9090b8
GM
36752001-06-19 Gerd Moellmann <gerd@gnu.org>
3676
3677 * composite.c (Ffind_composition_internal): Accept ZV
3678 and a string's end position as POS.
3679
f6f1beba
GM
36802001-06-18 Gerd Moellmann <gerd@gnu.org>
3681
3682 * composite.c (Ffind_composition_internal): Check POS
3683 for validity.
3684
0ae83348
EZ
36852001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3686
3687 * editfns.c (Fmessage_box): If the frame is not under a window
3688 system, output the message in the echo area.
3689
e4cdc335
RS
36902001-06-14 Richard M. Stallman <rms@gnu.org>
3691
3692 * xdisp.c (try_window_id): When EOB is visible, don't treat
3693 insertion at EOB as if it were "off the bottom of the screen."
3694
a55a5f3c
AI
36952001-06-11 Andrew Innes <andrewi@gnu.org>
3696
3697 * w32proc.c (create_child): Add new parameter is_gui_app.
3698 (w32_executable_type): Add new parameter is_gui_app.
3699 (sys_spawnve): Use it.
3700 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3701 SIGQUIT. This matches better how the signals are interpreted by
3702 MSVC compiled programs.
3703 (syms_of_ntproc): Update docstring.
3704
1b85dc1c
SM
37052001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3706
3707 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3708 well otherwise note_mouse_highlight might optimize away highlighting
3709 if we pass over that same overlay again.
3710
b75f8eab
EZ
37112001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3712
3713 * lread.c (Fload): Document that the argument is run via
3714 substitute-in-file-name.
3715
94843cc1
GM
37162001-05-31 Gerd Moellmann <gerd@gnu.org>
3717
b14659e6
GM
3718 * Makefile.in (bootstrap-doc): New target.
3719 (bootstrap-emacs): Depend on it.
3720
0894672f
GM
3721 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3722 auto-save-list-file-name when shutting down Emacs, because
3723 creating the directory might signal an error, and leaves
3724 Emacs in a strange state.
3725
94843cc1
GM
3726 * term.c: (tty_cursor_hidden): New variable.
3727 (update_begin): Don't call tty_hide_cursor. Clean up.
3728 (update_end, set_terminal_window, set_scroll_region): Clean up.
3729 (ring_bell, reset_terminal_modes): Clean up.
3730 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3731 on tty_cursor_hidden.
3732 (write_glyphs): Call tty_hide_cursor.
3733
db3a49a6
SM
37342001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3735
3736 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3737
8bd189fb
GM
37382001-05-30 Gerd Moellmann <gerd@gnu.org>
3739
6f1be3b9
GM
3740 * xfns.c (enum image_value_type): New enumerator
3741 IMAGE_STRING_OR_NIL_VALUE.
3742 (parse_image_spec): Handle it.
3743 (xbm_format, pbm_format): Use it for :foreground and :background.
3744 (xbm_load, pbm_load): Check for nil color names.
3745
8bd189fb
GM
3746 * xterm.c (note_mouse_highlight): If an overlapping overlay
3747 exists, but we find that we highlight the same overlay as before,
3748 don't do the highlighting again.
3749
7bdba03c
GM
37502001-05-29 Gerd Moellmann <gerd@gnu.org>
3751
4c329aa8
GM
3752 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3753 Protect unibyte strings created by replacing their multibyte
3754 equivalents in menu_items.
3755
e15e2828
GM
3756 * keymap.c (Fsingle_key_description): NUL-terminate the string
3757 buffer before calling build_string.
3758
7bdba03c
GM
3759 * callproc.c (Fcall_process): Deal with decode_coding returning
3760 CODING_FINISH_INCONSISTENT_EOL.
3761
89c8dc6c
GM
37622001-05-28 Gerd Moellmann <gerd@gnu.org>
3763
db3a49a6 3764 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3765 an item's name with its key description in case the description
3766 is a multibyte string.
3767
3768 * keymap.c (Fsingle_key_description): Create a multibyte string
3769 only if necessary.
3770
eb04d6cd
GM
3771 * macros.c (Fstart_kbd_macro): Doc fix.
3772
8bd6307f
GM
3773 * xterm.c (cursor_in_mouse_face_p): New function.
3774 (x_draw_stretch_glyph_string): Use it to choose a different GC
3775 when drawing a cursor within highlighted text.
3776
e26c4089
GM
3777 * editfns.c (char_property_eq): Put in #if 0.
3778
3779 * indent.c (string_display_width): Put in #if 0.
3780
3781 * lread.c (Fload): Remove unused label.
3782
89c8dc6c
GM
3783 * termcap.c (speeds): Put in #if 0.
3784
9a1211f2
GM
37852001-05-18 Gerd Moellmann <gerd@gnu.org>
3786
29148a3f
GM
3787 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3788
9a1211f2
GM
3789 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3790 transformation matrix by 10.
3791
09393d07
GM
37922001-05-16 Gerd Moellmann <gerd@gnu.org>
3793
3794 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3795 only if it's equal to the former foreground pixel color.
db3a49a6 3796 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3797 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3798
460e6bae
GM
37992001-05-16 Dave Love <fx@gnu.org>
3800
3801 * insdel.c (signal_before_change, signal_after_change): Consider a
3802 local change hook which changes the buffer.
99c78ce8
GM
3803
3804 * process.c (read_process_output): Don't call signal_after_change
3805 and update_compositions after insert_from_string_before_markers.
3806
dbcf3c03
GM
38072001-05-16 Gerd Moellmann <gerd@gnu.org>
3808
a90b3d3c
GM
3809 * xfaces.c (split_font_name): Use the right field when
3810 checking for `[...]' syntax.
3811
1b7818b4
GM
3812 * buffer.c (copy_overlays): New function.
3813 (clone_per_buffer_values): Use it.
3814
3815 * buffer.h (OVERLAY_PLIST): New macro.
3816
9bae8781
GM
3817 * keymap.c (Fsingle_key_description): Replace a build_string with
3818 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3819
dbcf3c03
GM
3820 * fontset.c (Ffontset_info): Check that face is non-null
3821 before accessing its fields.
3822
8a1ae4dd
GM
38232001-05-15 Gerd Moellmann <gerd@gnu.org>
3824
18a0a39e
GM
3825 * keyboard.c (read_key_sequence): Prevent generating a fake
3826 prefix key twice.
3827
e335b66a
GM
3828 * xfaces.c (split_font_name): Handle `[...]' for the right
3829 font name fields.
3830
8a1ae4dd
GM
3831 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3832 of CCL_STAT_INVALID_CMD.
3833
3cf80731
SM
38342001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3835
33568849
SM
3836 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3837 in <var> has no default value yet.
3838
3cf80731
SM
3839 * xfaces.c (try_alternative_families): First try the FAMILY.
3840 And if nothing is found in the end, try again with scalable fonts.
3841 (try_font_list): Let try_alternative_families do a bit more of
3842 the work. Only use FAMILY if it is not nil.
3843 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3844
933b0249
GM
38452001-05-14 Gerd Moellmann <gerd@gnu.org>
3846
58e5af83
GM
3847 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3848 pointer shape when show_mouse_face has already done it.
33568849 3849
58e5af83 3850 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3851 full-width rows.
3852
7b16a6bf
GM
3853 * xfaces.c (split_font_name): Make sure to leave the loop
3854 with the right value of `i'.
3cf80731 3855
933b0249
GM
3856 * xfaces.c (split_font_name): Handle matrix transformations
3857 in the pixel and point size fields of XLFD font names.
3858 (xlfd_point_size): Likewise.
3859
dddcbf00
EZ
38602001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3861
3cf80731 3862 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3863 (x_to_w32_font): Add prototype.
3864
7689ef0b
EZ
3865 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3866 redefining, to avoid compiler warnings.
3867
e7c15bba
EZ
3868 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3869
dddcbf00
EZ
3870 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3871 (w32_get_bdf_glyph): Cast between unsigned char and char when
3872 passing arguments to subroutines, to shut up compiler warnings.
3873 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3874 GET_HEX_VAL.
3875
3876 * xfaces.c: Include keyboard.h before frame.h, not after it.
3877
3878 * widget.c: Include keyboard.h before frame.h.
3879
3880 * w32term.h (struct image, struct face): Forward declaration, to
3881 avoid compiler warnings.
3882
7bd2d083
GM
38832001-05-11 Gerd Moellmann <gerd@gnu.org>
3884
47e72862
GM
3885 * keyboard.c (read_key_sequence): Don't modify events when
3886 generating fake prefix keys (mode-line, scroll-bar, ...) since
3887 this prevents proper processing of such events when pushed back
3888 into unread-command-events.
3889
dd5f324b
GM
3890 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3891 actually redrawn. Make the function static.
3892 (note_mouse_highlight): Fix a case where the mouse cursor
3893 was changed back to the text cursor.
3894
3895 * xterm.h (clear_mouse_face): Remove prototype.
3896
d88a79d4
GM
3897 * xdisp.c (try_window_id): Fix the fix and set the right
3898 window_end_vpos.
3899
3900 * xdisp.c (try_window_id): Fix computation of window end in the
3901 case that lines were deleted at the end of the window. Add some
3902 more debug_method_adds.
0416532f 3903
7bd2d083
GM
3904 * xfaces.c (try_alternative_families): New function.
3905 (try_font_list): Use it. If ATTRS specifies a family, check
3906 fonts from that family first.
3907 (choose_face_font): Remove code setting the family part of
3908 the pattern to nil.
3909
23fca891
GM
39102001-05-10 Gerd Moellmann <gerd@gnu.org>
3911
ff9aa2ca
GM
3912 * xdisp.c (try_window_id): Fix case of all changes before
3913 the window start.
7b2654b5 3914
23fca891
GM
3915 * xdisp.c (try_window_id): Add some xasserts.
3916
e9726794
GM
39172001-05-09 Gerd Moellmann <gerd@gnu.org>
3918
3919 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3920
9e53a675
GM
39212001-05-09 Dave Love <fx@gnu.org>
3922
3923 * xdisp.c (GIVE_UP): Fix for K&R C.
3924
0d487c52
GM
39252001-05-09 Gerd Moellmann <gerd@gnu.org>
3926
fe88d421
GM
3927 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3928
0d487c52
GM
3929 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3930 back to the text cursor shape without need.
3931
1e9fc92e
GM
39322001-05-07 Gerd Moellmann <gerd@gnu.org>
3933
a2a6232e
GM
3934 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3935
3936 * dispextern.h (inverse_video): Declare extern.
3937
1e9fc92e
GM
3938 * keyboard.c (delete_kboard): Handle the case that selected_frame
3939 has been deleted in the course of x_connection_closed.
3940
12949a7f
EZ
39412001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3942
7b2654b5
SM
3943 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3944 Fix the change from 2001-04-30.
12949a7f 3945
2fa2f461
GM
39462001-05-03 Gerd Moellmann <gerd@gnu.org>
3947
a779d213
GM
3948 * xfns.c (file_dialog_unmap_cb): New function.
3949 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3950 where a dialog is closed via the window manager.
3951
7b2654b5 3952 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3953 the window start or all below the window end mostly rewritten.
3954 (redisplay_window): Move the tests if try_window_id is
3955 applicable to try_window_id.
3956 (GIVE_UP): New macro.
3957
3356df63
GM
39582001-05-02 Gerd Moellmann <gerd@gnu.org>
3959
a39202f6 3960 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3961 currently being updated, mark the frame garbaged.
3962 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3963 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3964
3356df63
GM
3965 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3966 again if it has already been drawn.
3967
a9d2fd1d
SM
39682001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3969
3970 * syntax.c (update_syntax_table): Check that oldi has the same
3971 properties as old_prop before deciding not to invalidate.
3972
c95fc5f1
GM
39732001-04-30 Gerd Moellmann <gerd@gnu.org>
3974
a9793e45
GM
3975 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3976 read-only text that is so because of text properties.
3977
c95fc5f1 3978 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3979 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3980 windows that are components of a Lucid menu bar.
3981
5a5d9185
GM
39822001-04-27 Gerd Moellmann <gerd@gnu.org>
3983
3984 * term.c (turn_on_face): Fix reverse video handling on terminals
3985 that don't support colors.
3986
ba973f7a
GM
39872001-04-26 Gerd Moellmann <gerd@gnu.org>
3988
3989 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3990 a non-buffer.
3991
8c56a983
GM
39922001-04-25 Gerd Moellmann <gerd@gnu.org>
3993
a728644c
GM
3994 * term.c (toggle_highlight): New function.
3995 (turn_on_face): Change handling of reverse video.
3996
7b2654b5
SM
3997 * process.c (wait_reading_process_input):
3998 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3999
bfd8410f
GM
4000 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4001 of the number of overlays to check.
4002
be2488ca
GM
4003 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4004
8c56a983
GM
4005 * xdisp.c (try_window_id): Fix a case where window_end_pos
4006 and window_end_bytepos were not adjusted.
4007
522d42f7
GM
40082001-04-23 Gerd Moellmann <gerd@gnu.org>
4009
4010 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4011 zero instead of -1.
4012
78c1afb6
EZ
40132001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4014
a9d2fd1d
SM
4015 * process.c (wait_reading_process_input) [!subprocesses]:
4016 Don't reference waiting_for_user_input_p, it's not defined in the
4017 branch without async subprocesses support.
78c1afb6 4018
a2fab450
GM
40192001-04-19 Gerd Moellmann <gerd@gnu.org>
4020
a122a38e
GM
4021 * keyboard.c (delete_kboard): Prevent a dangling reference
4022 from current_kboard to KB, which is freed.
4023
a9d2fd1d
SM
4024 * process.c (wait_reading_process_input):
4025 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4026 read_key_sequence aware of buffer changes from under it.
4027
0f8d6dc7
GM
40282001-04-18 Gerd Moellmann <gerd@gnu.org>
4029
eeffb293
GM
4030 * xfaces.c (Qscalable_fonts_allowed): New variable.
4031 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4032 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4033 removed.
eeffb293 4034 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4035 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4036 for scalable-fonts-allowed to t.
eeffb293 4037
0f8d6dc7
GM
4038 * fileio.c (Finsert_file_contents): If the file size returned from
4039 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4040 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4041
eec2d1de
EZ
40422001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4043
4044 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4045 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4046 (__memalign_hook): Make the two prototypes consistent.
4047
f4f480bd
GM
40482001-04-17 Gerd Moellmann <gerd@gnu.org>
4049
4050 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4051 matrix of mini-windows.
4052
52283633
SM
40532001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4054
4055 * intervals.c (find_interval): Don't rebalance during signal handling.
4056
ec2423c9
GM
40572001-04-11 Gerd Moellmann <gerd@gnu.org>
4058
30cb0001 4059 * fns.c: Include blockinput.h.
52283633 4060
ec2423c9
GM
4061 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4062
719d83ad
GM
40632001-04-10 Gerd Moellmann <gerd@gnu.org>
4064
60f8d735
GM
4065 * fns.c (Fcompare_strings): Fix return values.
4066
afffeb57
GM
4067 * window.c (window_scroll): Change the meaning of N to mean
4068 N screen-fulls or N lines.
4069 (window_scroll_pixel_based, window_scroll_line_based)
4070 (scroll_command, Fscroll_other_window): Change accordingly.
4071
52283633
SM
4072 * window.c (window_scroll_pixel_based, Frecenter):
4073 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4074 height of the window.
4075
4076 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4077 instead of using it.last_visible_y for the height of the window.
52283633 4078
719d83ad 4079 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4080 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4081
4082 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4083 able to write to hidden and system files. From Dan Holmsand
4084 <dan@eyebee.com>.
719d83ad 4085
8ddf3ee1
GM
4086 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4087 Holmsand <dan@eyebee.com>.
719d83ad 4088
522ed7fb
GM
40892001-04-09 Gerd Moellmann <gerd@gnu.org>
4090
9170e5d4
GM
4091 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4092
522ed7fb
GM
4093 * window.c (window_internal_height): Return 1 less if the
4094 window has a header line.
4095
4096 * xdisp.c (try_window_id): When scrolling on a terminal, take
4097 the change of window_internal_height into account.
4098
ceeb3d7d
EZ
40992001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4100
4101 * gmalloc.c (align): If the argument SIZE would overflow
4102 __malloc_ptrdiff_t, fail right away.
4103
63685b9d
GM
41042001-04-06 Gerd Moellmann <gerd@gnu.org>
4105
4106 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4107 Make sure the tooltip is completely visible.
4108 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4109
4110 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4111
4112 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4113
3ffb33bb
DL
41142001-04-06 Dave Love <fx@gnu.org>
4115
52283633
SM
4116 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4117 Fix test of `from'.
3ffb33bb 4118
869fb12c
GM
41192001-04-06 Gerd Moellmann <gerd@gnu.org>
4120
52283633 4121 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4122
869fb12c
GM
4123 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4124
441bf856
GM
41252001-04-05 Gerd Moellmann <gerd@gnu.org>
4126
4d664b04
GM
4127 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4128
52283633 4129 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4130
30ca89f5
GM
4131 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4132 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4133
4134 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4135 shell widget's position only if it is non-null.
4136
52283633
SM
4137 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4138 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4139
81a81c0f
GM
4140 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4141 FILENAME to bring it in synch with the documentation.
4142
441bf856
GM
4143 * xfaces.c (realizing_basic_faces_p): Renamed from
4144 realize_default_face_p.
4145 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4146 (realize_default_face): Don't set the flag.
4147
702a1e8e
GM
41482001-04-04 Gerd Moellmann <gerd@gnu.org>
4149
1013f4e3
GM
4150 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4151
52283633
SM
4152 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4153
1013f4e3
GM
4154 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4155 the buffer that was used for echoing.
4156
702a1e8e
GM
4157 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4158 (first_font_matching): Removed unused function.
4159 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4160 (may_use_scalable_font_p): Remove parameter FONT; rename
4161 parameter NAME to FONT.
4162 (x_face_list_fonts): Fix missing bounds check.
4163 (realizing_default_face_p): New variable.
4164 (realize_default_face): Set and clear that flag.
4165 (x_face_list_fonts): When called during the realization of the
4166 default face, and no matching fonts are found when ignoring
4167 scalable fonts and fonts matching a regexp from
4168 face-ignored-fonts, try without ignoring fonts.
4169
f9dbcda4
GM
41702001-04-03 Gerd Moellmann <gerd@gnu.org>
4171
ad18ffb1
GM
4172 * xfns.c (postprocess_image): New function.
4173 (lookup_image): Call it for all image types except PostScript.
4174 (x_kill_gs_process): Call postprocess_image.
4175
f9dbcda4
GM
4176 * xterm.c (x_use_underline_position_properties): New variable.
4177 (x_draw_glyph_string): Use it.
4178 (syms_of_xterm): DEFVAR_BOOL it.
4179
651f03b6
GM
41802001-04-02 Gerd Moellmann <gerd@gnu.org>
4181
4182 * xterm.c (x_alloc_nearest_color_1): New function.
4183 (x_alloc_nearest_color): Use it.
4184 (x_color_cells): Take a Display as argument, instead of a frame.
4185 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4186 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4187 (x_initialize): Register cvt_string_to_pixel as resource converter
4188 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4189
73d75a62
GM
41902001-03-30 Gerd Moellmann <gerd@gnu.org>
4191
b2046df8
GM
4192 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4193 (set_iterator_to_next): If a string from a display property ends,
4194 consider the case that this might also be the end of an
4195 overlay string having the display property.
4196
52283633 4197 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4198
87d8eba4
GM
4199 * xdisp.c (reseat_to_string): Undo last change.
4200
73d75a62
GM
4201 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4202 matrix of a window when the header line changes, when
4203 new rows are allocated, or when the width changes.
4204
911a2406
EZ
42052001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4206
52283633 4207 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4208
aea51abe
EZ
42092001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4210
4211 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4212 deprecated.
4213
176bc847
GM
42142001-03-29 Gerd Moellmann <gerd@gnu.org>
4215
ed31fabf
GM
4216 * data.c (Fsubr_interactive_form): New function.
4217 (syms_of_data): Defsubr it.
4218
176bc847
GM
4219 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4220 (live_float_p, live_misc_p): Return 1 only if the offset of the
4221 pointer in its block is >= 0.
4222
e59d0e9d
GM
42232001-03-28 Paul Eggert <eggert@twinsun.com>
4224
4225 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4226 microseconds calcuation. Avoid double-rounding problem.
4227 In doc string, warn that the result is approximate.
4228
f827b862
GM
42292001-03-28 Gerd Moellmann <gerd@gnu.org>
4230
30a3f61c
GM
4231 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4232 bind `inhibit-eval-during-redisplay' to t.
4233
4234 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4235
4236 * xdisp.c (inhibit_eval_during_redisplay)
4237 (Qinhibit_eval_during_redisplay): New variables.
4238 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4239 don't eval, return nil instead.
4240 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4241 Initialize Qinhibit_eval_during_redisplay.
4242
e719f5ae
GM
4243 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4244 the iterator's multibyte_p flag.
4245
deb2613a
GM
4246 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4247 instead of setting it to zero; it's incremented for each frame
4248 where the menu face is changed.
4249
52283633
SM
4250 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4251 change bottom shadow accordingly.
4252
4253 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4254 intersections here.
4255 (expose_window): Do it here instead.
52283633 4256 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4257
f827b862
GM
4258 * bytecode.c (BYTE_CODE_QUIT): New macro.
4259 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4260
4bde0ebb
GM
42612001-03-27 Gerd Moellmann <gerd@gnu.org>
4262
607ec83c
GM
4263 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4264 Give up if matrix starts in an ellipsis.
4265 (init_from_display_pos): Do nothing if POS doesn't specify
4266 a dpvec_index but the iterator has such a position.
4267
0245398f
GM
4268 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4269
aba25348
GM
4270 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4271 x/y position is (0, 0) after destroying the menu bar, restore
4272 its original position.
4273
4bde0ebb
GM
4274 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4275 (init_from_display_pos): Use it.
4276 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4277
8cdb267e
GM
42782001-03-26 Gerd Moellmann <gerd@gnu.org>
4279
4280 * xdisp.c (try_window_id): Undo last change.
4281
9948db79
EZ
42822001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4283
4284 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4285
4286 * buffer.c (syms_of_buffer): Doc fix.
4287
2eddf899
GM
42882001-03-26 Gerd Moellmann <gerd@gnu.org>
4289
4290 * xfaces.c (x_update_menu_appearance): Use local variable
4291 popup_path for setting font resources.
4292
6c145d35
EZ
42932001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4294
6a65b1b5
EZ
4295 * frame.c (Fframe_list): Don't reference tip_frame if
4296 HAVE_WINDOW_SYSTEM is not defined.
4297
6c145d35
EZ
4298 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4299 <wl@gnu.org>.
4300
d74c1900
GM
43012001-03-25 Gerd Moellmann <gerd@gnu.org>
4302
20fbd925
GM
4303 * xdisp.c (init_from_display_pos): Test invisible property
4304 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4305
927c5b3b
GM
4306 * xdisp.c (redisplay_internal) <update one window>: Make sure
4307 last_arrow_position and last_arrow_string are set.
4308
d74c1900
GM
4309 * frame.c (Fframe_list): Don't return a tooltip frame.
4310
091f8878
GM
43112001-03-23 Gerd Moellmann <gerd@gnu.org>
4312
52283633
SM
4313 * xdisp.c (mark_window_display_accurate_1): New function,
4314 extracted from mark_window_display_accurate.
4315 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4316 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4317 (mark_window_display_accurate): Use it.
4318 (redisplay_internal): Use it for the selected window.
4319 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4320 for the selected frame.
4321
ac90c44f
GM
4322 * xdisp.c Use make_number, for readability.
4323 (try_window_id): Disable rows below the window end.
4324 (try_window_reusing_current_matrix): Use cursor_row_p.
4325 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4326 of rows.
4327 (init_from_display_pos): If POS specifies a position in a display
4328 vector, maybe get the iterator set up for that ellipsis.
43c09969 4329
091f8878
GM
4330 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4331
991786dd
EZ
43322001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4333
4334 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4335
6c29b43c
GM
43362001-03-23 Gerd Moellmann <gerd@gnu.org>
4337
4338 * xfaces.c (x_update_menu_appearance): Use a different path
4339 for Lucid popup menus.
4340
d8731202
SM
43412001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4342
4343 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4344
4345 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4346 (string_buffer_position): Use `make_number'.
4347
f61a541b
GM
43482001-03-22 Gerd Moellmann <gerd@gnu.org>
4349
3c9e997b
GM
4350 * xfaces.c (x_update_menu_appearance): Renamed from
4351 x_set_menu_face_resources. Use different resources for popups.
4352
4353 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4354 (GC_CHECK_STRING_BYTES): Don't define.
4355
364cd450
GM
4356 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4357 Removed, together with subroutines.
4358 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4359 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4360
d8731202
SM
4361 * dispextern.h (x_set_menu_resources_from_menu_face):
4362 Remove prototype.
364cd450 4363
d8731202 4364 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4365 Remove calls to x_set_menu_resources_from_menu_face.
4366
d8731202
SM
4367 * xfaces.c (xm_set_menu_resources_from_menu_face):
4368 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4369
4370 * xmenu.c: Include widget.h.
4371 (single_submenu): Return int. Some cleanup.
4372 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4373
140330de
GM
43742001-03-21 Gerd Moellmann <gerd@gnu.org>
4375
4376 * xterm.c (x_update_window_end): Handle overwritten mouse face
4377 also for tool bar windows.
4378 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4379 DRAW is DRAW_IMAGE_RAISED.
4380
1741905c
GM
43812001-03-20 Gerd Moellmann <gerd@gnu.org>
4382
fa88947e
GM
4383 * print.c (syms_of_print): Doc fixes.
4384
1741905c
GM
4385 * fns.c (Fmd5): Doc fix.
4386
ade0bee1
GM
43872001-03-19 Gerd Moellmann <gerd@gnu.org>
4388
357e7376
GM
4389 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4390 Clear area of the frame not occupied by the scroll bar.
4391
c2c097cc
GM
4392 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4393 tip frame's root window buffer to *tip* right after creating
4394 the frame.
4395
ade0bee1
GM
4396 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4397 is an integer don't have to be for space characters.
4398
88c6e37e
GM
43992001-03-16 Gerd Moellmann <gerd@gnu.org>
4400
52283633
SM
4401 * indent.c (current_column, current_column_1, Fmove_to_column)
4402 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4403
c62eed76
KH
44042001-03-15 Kenichi Handa <handa@etl.go.jp>
4405
4406 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4407 drawing glyph string.
4408
c899e7e6
GM
44092001-03-15 Gerd Moellmann <gerd@gnu.org>
4410
d0bbfc99
GM
4411 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4412 (command_loop_1): Undo last change.
4413
03d1a189
GM
4414 * xterm.c (fast_find_position): Return the correct vpos.
4415
c899e7e6 4416 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4417 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4418 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4419 Call store_symval_forwarding with BUF null.
4420 (set_internal): Call store_symval_forwarding with the BUF
4421 parameter passed to set_internal. Formerly, the value was always
4422 set in the current buffer; the buffer recorded in specbind for
4423 this case wasn't used.
4424 (arith_driver): Reindent.
4425
52283633
SM
4426 * buffer.c (swap_out_buffer_local_variables):
4427 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4428
4429 * lisp.h (store_symval_forwarding): Change prototype.
4430
4431 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4432
57ac7c81
GM
44332001-03-14 Gerd Moellmann <gerd@gnu.org>
4434
697617d9
GM
4435 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4436 FOR_DELETION. Avoid resizing the mini-window of the selected
4437 frame if FOR_DELETION is set.
4438 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4439 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4440 signature.
4441
4442 * window.c (Fset_window_configuration): Change call to
4443 do_switch_frame to new format.
4444
4445 * keyboard.c (quit_throw_to_read_char): Change call to
4446 do_switch_frame to new format.
4447
4448 * lisp.h (do_switch_frame): Change prototype.
4449
819dce0f
GM
4450 * frame.c (Fframe_parameters): In the `buffer-list' frame
4451 parameter, store the buffer list of FRAME, not the list of the
4452 selected frame.
4453
57ac7c81
GM
4454 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4455 box just because the glyph row's full_width_p flag is set.
4456
65008712
GM
44572001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4458
4459 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4460 skip the padding blanks inserted in extend_face_to_end_of_line,
4461 before checking for trailing whitespace.
4462
159cf431
GM
44632001-03-13 Gerd Moellmann <gerd@gnu.org>
4464
52283633 4465 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4466 Remove special handling for LessTif/Motif.
4467 (toplevel): Don't include Xm/Xm.h.
4468
52283633
SM
4469 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4470 Remove workaround code for LessTif; it doesn't work anymore.
4471
2564ea1b 4472 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4473 Xm/ScrollBarP.h.
afcdc0a1 4474
52283633
SM
4475 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4476 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4477 contemporary LessTif.
4478
52283633
SM
4479 * xfaces.c (xm_set_menu_resources_from_menu_face):
4480 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4481
159cf431
GM
4482 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4483 removing button grabs.
4484
c6f7429a
KH
44852001-03-13 Kenichi Handa <handa@etl.go.jp>
4486
cb82d767
KH
4487 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4488 and clip-large-size-font as obsolete.
4489
c6f7429a
KH
4490 * lread.c (read_multibyte): Check the validity of multibyte
4491 sequence. If invalid, return the first byte.
4492
760cefb5
GM
44932001-03-12 Gerd Moellmann <gerd@gnu.org>
4494
4495 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4496 before running the command; timer functions or process
4497 filters may have set it.
4498
5141f9d0
EZ
44992001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4500
4501 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4502 Doc fix.
4503
b6a15240
GM
45042001-03-12 Gerd Moellmann <gerd@gnu.org>
4505
4506 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4507 to sprintf.
4508
95522746
GM
45092001-03-09 Gerd Moellmann <gerd@gnu.org>
4510
db14cfc5
GM
4511 * dispextern.h (string_buffer_position): Add prototype.
4512
52283633 4513 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4514 (single_display_prop_string_p): New functions.
4515
4516 * xterm.c (note_mouse_highlight): If there's no help-echo on
4517 a string, look at the buffer text ``under'' it.
4518
4519 * keyboard.c (make_lispy_event): Add string info to the event,
4520 analogous to what's done on mode lines.
4521 (read_key_sequence): For a click on a string, consider `local-map'
4522 and `keymap' of that string.
4523
52283633
SM
4524 * keyboard.c (make_lispy_event, make_lispy_movement):
4525 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4526
4527 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4528
4529 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4530 POS; return void.
4531
95522746
GM
4532 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4533 flags argument to emacs_open; it seems to conflict with O_EXCL.
4534
898a399d
KH
45352001-03-09 Kenichi Handa <handa@etl.go.jp>
4536
28cd4910
KH
4537 * composite.h (struct composition): Change types of members;
4538 glyph_len to unsigned, width to unsigned short.
898a399d 4539
4cdf6a6c
AI
45402001-03-08 Andrew Innes <andrewi@gnu.org>
4541
4542 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4543 menu titles.
4544
129004d3
GM
45452001-03-08 Gerd Moellmann <gerd@gnu.org>
4546
221dd3e7
GM
4547 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4548 instead of nil.
4549
52283633 4550 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4551 help-echo in strings.
4552 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4553 (fast_find_string_pos): New function.
4554
52283633
SM
4555 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4556 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4557
4558 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4559 Handle `mouse-face'.
4560
4561 * dispextern.h (face_at_string_position): Change prototype.
4562
52283633 4563 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4564
129004d3
GM
4565 * keyboard.c (make_lispy_event): Avoid generating drag events
4566 if the mouse hasn't actually moved to another buffer position.
52283633 4567
80c8ab8c
DL
45682001-03-08 Dave Love <fx@gnu.org>
4569
129004d3 4570 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4571
989521fd
GM
45722001-03-08 Gerd Moellmann <gerd@gnu.org>
4573
4574 * process.c (Fset_process_window_size): Fix a typo.
4575
bb5c338d
KH
45762001-03-08 Kenichi Handa <handa@etl.go.jp>
4577
4578 * coding.c (detect_coding_sjis): Do more rigid check.
4579 (detect_coding_big5): Likewise.
4580 (decode_coding_sjis_big5): Likewise.
4581 (Fdetect_coding_region): Call detect_coding_system with tailing
4582 anchor byte `\0' for more rigid detection.
52283633 4583 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4584 (Fdetect_coding_string): Likewise.
4585
8b8f9197
SM
45862001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4587
4588 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4589 a string before extracting its data.
4590
3bdf2660
GM
45912001-03-07 Gerd Moellmann <gerd@gnu.org>
4592
4593 * window.c (Frecenter): Rewrite code handling negative values
4594 of ARG on graphical frames.
4595
45962001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4597
4598 * window.c (displayed_window_lines): If W->start is outside the
4599 accessible portion of the buffer, call start_display with BEGV or
4600 ZV instead of W->start.
4601
471f86b9
GM
46022001-03-07 Gerd Moellmann <gerd@gnu.org>
4603
2ab62c6c
GM
4604 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4605
471f86b9
GM
4606 * process.c (Fset_process_filter): Don't crash if the input
4607 file descriptor of PROCESS is closed.
4608 (Fset_process_window_size): Likewise.
4609
101922c3
GM
46102001-03-06 Kenichi Handa <handa@etl.go.jp>
4611
4612 * xterm.c (XTflash): Make the timeout of select shorter, and call
4613 select repeatedly until the desired time expires.
4614
45d051a7
GM
46152001-03-06 Gerd Moellmann <gerd@gnu.org>
4616
4617 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4618
4619 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4620
4621 * lisp.h (Vwindow_list): Declare extern.
4622
8f372c46
EZ
46232001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4624
4625 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4626
f16a7aa5
GM
46272001-03-06 Gerd Moellmann <gerd@gnu.org>
4628
157ae273
GM
4629 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4630 to detect a case where we have to highlight a different region
4631 despite not having left the currently highlighted region.
4632 Set mouse_face_overlay in the x_display_info.
45d051a7 4633 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4634
4635 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4636
4637 * buffer.c (mouse_face_overlay_overlaps): New function.
4638
4639 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4640 (Qmouse_face): Declare extern.
4641
f16a7aa5
GM
4642 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4643 if face_change_count is non-zero.
4644
827afcac
KH
46452001-03-06 Kenichi Handa <handa@etl.go.jp>
4646
4647 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4648 that the source is unibyte.
4649
14c7242e
DL
46502001-03-05 Dave Love <fx@gnu.org>
4651
827afcac 4652 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4653
c28b847b
GM
46542001-03-05 Gerd Moellmann <gerd@gnu.org>
4655
4656 * minibuf.c (read_minibuf): Clean up the binding stack if
4657 called noninteractively.
4658
b86644f2
KH
46592001-03-05 Kenichi Handa <handa@etl.go.jp>
4660
4661 * coding.c (syms_of_coding): Docstring modified.
4662
203682cc 46632001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4664
4665 * charset.c (char_to_string): If a single byte char has modifier
4666 bits that can't be reflected to the character code, ignore them
45d051a7 4667 instead of signaling an error.
b86644f2 4668
e30bd7b7
EZ
46692001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4670
4671 * s/msdos.h: Update copyright notice.
4672
4673 * dosfns.h: Update copyright notice.
4674
4675 * dosfns.c: Update copyright notice.
4676
4677 * msdos.c: Update copyright notice.
4678
b52b65bd
GM
46792001-03-02 Gerd Moellmann <gerd@gnu.org>
4680
4681 * xterm.c (glyph_rect): New function.
4682 (XTmouse_position): Use it to raise the threshold for mouse
4683 movement event generation.
4684
53c4b1e6
EZ
46852001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4686
4687 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4688 specifies (reverse . t), reverse the initial screen colors.
4689 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4690 but we are reversing the colors, set bg_set, not fg_set.
4691 Likewise for setting background-color and reversing: set fg_set.
4692 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4693 in effect.
4694
4695 * xfaces.c (Finternal_set_lisp_face_attribute)
4696 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4697 parameters alist.
4698
f964b4d7
GM
46992001-03-02 Gerd Moellmann <gerd@gnu.org>
4700
ef53d75e
GM
4701 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4702 to a single slash in the middle of file names.
4703
52283633 4704 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4705 Accept only alphanumeric time zone names.
4706
f964b4d7
GM
4707 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4708 or width area.
4709 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4710 a widget to zero height.
52283633 4711
c3c45f65
GM
47122001-03-01 Gerd Moellmann <gerd@gnu.org>
4713
4714 * window.c (Fwindow_end): Call move_it_past_eol only if
4715 ending up on a partially visible line.
4716
028d739a
DL
47172001-03-01 Dave Love <fx@gnu.org>
4718
4719 * ccl.c (Fccl_execute): Doc fix.
4720
57c5889c
GM
47212001-03-01 Gerd Moellmann <gerd@gnu.org>
4722
35f59f6b
GM
4723 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4724 of the tool bar before calling x_figure_window_size.
4725
f84ff02c
GM
4726 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4727 NULL after destroying it, otherwise XTread_socket can access a
4728 destroyed widget when input is unblocked.
4729
8b8f9197 4730 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4731
57c5889c
GM
4732 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4733 same name as before, although there was a change in fontsets.
4734
224227d1
KR
47352001-02-28 Ken Raeburn <raeburn@gnu.org>
4736
4560730a
KR
4737 * lisp.h (Fframe_parameter): Declare.
4738
224227d1 4739 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4740 Lisp_Object.
224227d1 4741
ece93c02
GM
47422001-02-28 Gerd Moellmann <gerd@gnu.org>
4743
11ef99b9
GM
4744 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4745 NULL instead.
4746
4747 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4748 NULL instead.
4749
ece93c02
GM
4750 * alloc.c (toplevel): Include process.h.
4751 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4752 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4753 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4754 (allocate_vector, allocate_hash_table, allocate_window)
4755 (allocate_frame, allocate_process, allocate_other_vector):
4756 New functions.
ece93c02
GM
4757 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4758 (mark_maybe_pointer): New function.
52283633 4759 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4760 remain and not Lisp_Objects.
4761 (min_heap_address, max_heap_address): New variables.
4762 (mem_find): Return MEM_NIL if START is below min_heap_address or
4763 above max_heap_address.
4764 (mem_insert): Compute min_heap_address and max_heap_address.
4765
4766 * process.c (make_process): Use allocate_process.
4767
4768 * frame.c (make_frame): Use allocate_frame.
4769
4770 * window.c (make_window, make_dummy_parent): Use allocate_window.
4771 (Fcurrent_window_configuration): Use allocate_other_vector.
4772
4773 * lisp.h (allocate_vectorlike): Remove prototype.
4774 (allocate_vector, allocate_other_vector, allocate_frame)
4775 (allocate_window, allocate_process, allocate_hash_table):
4776 Add prototypes.
4777
4778 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4779 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4780
063af457
KH
47812001-02-27 Kenichi Handa <handa@etl.go.jp>
4782
4783 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4784 treat the produced bytes as a valid multibyte sequence.
4785
4786 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4787 (ccl_driver) <CCL_WriteMultibyteChar2>:
4788 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4789 <ccl_finish>: Set ccl->eight_bit_control properly.
4790
4791 * ccl.h (struct ccl_program): New member eight_bit_control.
4792
f58c6494
SM
47932001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4794
4795 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4796 accessible_keymaps_char_table.
4797 (accessible_keymaps_char_table): Obey `is_metized'.
4798 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4799 Lisp_Object.
4800
c596c392
GM
48012001-02-26 Gerd Moellmann <gerd@gnu.org>
4802
4803 * dispnew.c: Check HAVE_TERM_H before including term.h.
4804
425de386
AI
48052001-02-24 Andrew Innes <andrewi@gnu.org>
4806
4807 * makefile.w32-in: Update copyright notice.
4808
2ba11bbd
SM
48092001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4810
4811 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4812
66c56ed1
KH
48132001-02-24 Kenichi Handa <handa@etl.go.jp>
4814
4c1593ce
KH
4815 * Makefile.in (lisp): Add international/utf-8.elc.
4816
66c56ed1
KH
4817 * fontset.c (Fnew_fontset): Fix handling of the case that an
4818 element of FONTLIST is a cons of family and registry.
4819
796ead7e
JR
48202001-02-23 Jason Rumney <jasonr@gnu.org>
4821
4822 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4823 to height unconditionally.
4824
4825 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4826 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4827 (x_insert_glyphs): Call window_box_left to obtain the left
4828 x-coordinate of the area to shift.
4829
4830 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4831 safe_run_hooks.
4832
f6839838
AI
48332001-02-22 Andrew Innes <andrewi@gnu.org>
4834
52283633 4835 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4836 ($(BLD)\dispnew.obj):
4837 ($(BLD)\editfns.obj):
4838 ($(BLD)\fileio.obj):
4839 ($(BLD)\filelock.obj):
4840 ($(BLD)\keyboard.obj):
4841 ($(BLD)\w32proc.obj):
4842 ($(BLD)\process.obj):
4843 ($(BLD)\sysdep.obj): Ditto.
4844
4845 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4846 header files.
52283633
SM
4847 ($(BLD)/dispnew.$(O)):
4848 ($(BLD)/editfns.$(O)):
4849 ($(BLD)/fileio.$(O)):
4850 ($(BLD)/filelock.$(O)):
4851 ($(BLD)/keyboard.$(O)):
4852 ($(BLD)/w32proc.$(O)):
4853 ($(BLD)/process.$(O)):
f6839838
AI
4854 ($(BLD)/sysdep.$(O)): Ditto.
4855
c224f70b
GM
48562001-02-22 Gerd Moellmann <gerd@gnu.org>
4857
51695746
GM
4858 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4859 at the start of the function, check that the \n in it->c is
4860 from the iterator's current position.
52283633 4861
a61b7058
GM
4862 * xdisp.c (handle_single_display_prop): Add parameter
4863 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4864 properties which replace the display of text with something else.
4865 (handle_display_prop): Call handle_single_display_prop with
4866 additional argument saying if we already replaced text display
4867 with something else. Use AREF.
52283633 4868 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4869 (decode_mode_spec_coding): Use AREF and ASIZE.
4870
3473f362
GM
4871 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4872 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4873 * vmstime.h: Files removed.
52283633 4874
2bb58df3
GM
4875 * unexencap.c, unexfx2800.c: Files removed.
4876
c224f70b
GM
4877 * dispnew.c (direct_output_for_insert): Give up if we are showing
4878 a message or just cleared the message because we might need to
4879 resize the echo area window or display an empty echo area.
4880
ffc9ff0c
GM
48812001-02-21 Gerd Moellmann <gerd@gnu.org>
4882
0528abe1
GM
4883 * xdisp.c (redisplay_internal): Do the
4884 mark_window_display_accurate after all windows have been
4885 redisplayed because this call resets flags in buffers which are
4886 needed for proper redisplay.
4887
52283633
SM
4888 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4889 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4890 the old names.
4891
52283633
SM
4892 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4893 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4894
4895 * msdos.h (struct x_output): Rename busy_window to
4896 hourglass_window, busy_p to hourglass_p.
4897
52283633
SM
4898 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4899 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4900
4901 * xfns.c: Rename everything containing *busy_cursor* and similar
4902 to *hourglass*.
4903 (syms_of_w32fns): Rename x-busy-pointer-shape to
4904 x-hourglass-pointer-shape, display-busy-cursor to
4905 display-hourglass, busy-cursor-delay to hourglass-delay.
4906
4907 * w32fns.c: Rename everything containing *busy_cursor* and similar
4908 to *hourglass*.
4909 (syms_of_w32fns): Rename x-busy-pointer-shape to
4910 x-hourglass-pointer-shape, display-busy-cursor to
4911 display-hourglass, busy-cursor-delay to hourglass-delay.
4912
4913 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4914 of its busy_p flag.
4915
4916 * dispextern.h (start_hourglass, cancel_hourglass)
4917 (display_hourglass_p): Renamed from *busy_cursor*.
4918
ab2c5f0a
GM
49192001-02-20 Gerd Moellmann <gerd@gnu.org>
4920
d17e49a8
GM
4921 * keyboard.c (read_char): When an event from unread-command-events
4922 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4923
fa97adf6
GM
4924 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4925 equal to the current buffer.
4926
ab2c5f0a
GM
4927 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4928 nil, otherwise we're left with truncate_lines t when a message
4929 is printed with message-truncate-lines bound to t.
4930
aeac019e
GM
49312001-02-19 Gerd Moellmann <gerd@gnu.org>
4932
c8bc6f65
GM
4933 * window.c (Fmove_to_window_line): Undo last change.
4934 (displayed_window_lines): Call line_bottom_y to determine
4935 the line's bottom position.
4936
4937 * dispextern.h (line_bottom_y): Add prototype.
4938
52283633 4939 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4940 (pos_visible_p): Use it.
4941
980a2d69
GM
4942 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4943 set redisplaying_p to 0 here instead of in Frecursive_edit.
4944 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4945 set redisplaying_p.
4946
52283633 4947 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4948 New variables.
4949 (syms_of_xdisp): Initialize new variables.
4950 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4951 Specbind `inhibit-menubar-update' when updating the menu bar.
4952
65048e97
GM
4953 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4954 safe_run_hooks.
4955
4956 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4957 safe_run_hooks.
4958
a57c4026
GM
4959 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4960 is null.
4961
aeac019e
GM
4962 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4963 to the start of the file.
4964
76846b31
GM
49652001-02-16 Gerd Moellmann <gerd@gnu.org>
4966
f3f053f3 4967 * window.c (set_window_buffer): Fix last change.
52283633 4968
f3f053f3
GM
4969 * window.c (set_window_buffer): Set window's vscroll to 0.
4970
dad75588
GM
4971 * window.c (coordinates_in_window): Increase width of area
4972 where the vertical line can be dragged.
4973
c220b753
GM
4974 * xterm.c (x_set_glyph_string_background_width): Extend the
4975 background face to the end of the drawing area in the text
4976 area, only.
4977
c56b1c1b
GM
4978 * xdisp.c (handle_single_display_prop): Set iterator's position
4979 to where the `display' property starts, like for images.
4980 (dump_glyph): New function.
4981 (dump_glyph_row): Use it. Dump info about marginal areas.
4982
4983 * dispnew.c (direct_output_for_insert): Recognize more cases where
4984 glyphs can be written instead of being inserted.
4985
4986 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4987 the left x-coordinate of the area to shift.
4988
76846b31
GM
4989 * dired.c (directory_files_internal): Set result list to nil
4990 before retrying.
4991
0fc71a77
KH
49922001-02-15 Kenichi Handa <handa@etl.go.jp>
4993
4994 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4995 invalid multibyte sequence, treat *SRC as a character of
4996 eight-bit-graphic.
4997
25078b54
EZ
49982001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4999
5000 * textprop.c (Fset_text_properties): Doc fix.
5001
8399f8a0
GM
50022001-02-15 Gerd Moellmann <gerd@gnu.org>
5003
5004 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5005
9a2a6f73
DL
50062001-02-14 Dave Love <fx@gnu.org>
5007
5008 * coding.c: Doc and message fixes.
5009
bf853fee
AI
50102001-02-14 Andrew Innes <andrewi@gnu.org>
5011
5012 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5013 Emacs frame above the screen size.
5014
78c663d8
GM
50152001-02-14 Gerd Moellmann <gerd@gnu.org>
5016
5017 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5018
7cc9f69f
GM
50192001-02-13 Gerd Moellmann <gerd@gnu.org>
5020
0a411995
GM
5021 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5022 case that TO ends up beyond ZV after running before-change-functions.
5023
5ddc1b75
GM
5024 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5025 the selected window if it is showing the buffer in question.
5026
7cc9f69f
GM
5027 * dired.c (directory_files_internal): Initialize errno.
5028 (toplevel): Include errno.h.
5029
2e6621ca
GM
50302001-02-13 Kenichi Handa <handa@etl.go.jp>
5031
5032 * xfaces.c (best_matching_font): New parameter width_ratio.
5033 Multiply avgwidth by width_ratio.
5034 (choose_face_font): Call best_matching_font with width_ratio
5035 calculated from the column width of C.
5036
60222d69
AI
50372001-02-12 Andrew Innes <andrewi@gnu.org>
5038
5039 The following changes are to draw box lines inside characters area
5040 if line-width is negative.
52283633 5041
60222d69
AI
5042 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5043 face->box_line_width is negative.
5044 (x_produce_stretch_glyph): Likewise.
5045 (x_produce_glyphs): Likewise.
5046 (x_estimate_mode_line_height): Likewise.
5047 (x_draw_glyph_string_background): Likewise.
5048 (x_draw_glyph_string_foreground): Likewise.
5049 (x_draw_composite_glyph_string_foreground): Likewise.
5050 (x_draw_glyph_string_box): Likewise.
5051 (x_draw_image_foreground): Likewise.
5052 (x_draw_image_relief): Likewise.
5053 (x_draw_image_foreground_1): Likewise.
5054 (x_draw_image_glyph_string): Likewise.
5055
9804b846
KH
50562001-02-09 Kenichi Handa <handa@etl.go.jp>
5057
5058 The following changes are to draw box lines inside characters area
5059 if line-width is negative.
52283633 5060
9804b846
KH
5061 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5062 face->box_line_width is negative.
5063 (x_produce_stretch_glyph): Likewise.
5064 (x_produce_glyphs): Likewise.
5065 (x_estimate_mode_line_height): Likewise.
5066 (x_draw_glyph_string_background): Likewise.
5067 (x_draw_glyph_string_foreground): Likewise.
5068 (x_draw_composite_glyph_string_foreground): Likewise.
5069 (x_draw_glyph_string_box): Likewise.
5070 (x_draw_image_foreground): Likewise.
5071 (x_draw_image_relief): Likewise.
5072 (x_draw_image_foreground_1): Likewise.
5073 (x_draw_image_glyph_string): Likewise.
5074
5075 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5076 and :line-width can be negative.
52283633 5077 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5078
49be9f70
JR
50792001-02-09 Jason Rumney <jasonr@gnu.org>
5080
5081 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5082 characters the same as ASCII and latin-1.
5083 (x_display_and_set_cursor): Check for the focus frame's selected
5084 window instead of selected_window.
5085 (x_after_update_window_line): Don't clear if frame's internal
5086 border width is zero.
5087 (x_new_font): Don't change a tooltip's size.
5088 (w32_initialize): Set char_ins_del_ok to 1.
5089
5090 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5091 (x_set_font): If font hasn't changed, avoid recomputing
5092 faces and other things.
52283633
SM
5093 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5094 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5095 (x_create_tip_frame): Prevent changing the tooltip's
5096 background color by specifying a color for the default font
5097 in .Xdefaults.
5098 (Qcancel_timer): New variable.
5099 (syms_of_w32fns): Initialize and staticpro it.
5100 (Fx_hide_tip, Fx_show_tip): Use it.
5101 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5102 the timer.
5103 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5104
5105 * w32.c (init_environment): Duplicate local string before putenv.
5106
555e35d2
SZ
51072001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5108
5109 * charset.c (Fstring): A typo.
5110
19c92c94
KH
51112001-02-09 Kenichi Handa <handa@etl.go.jp>
5112
e47a1c33
KH
5113 * charset.c (Fstring): If all arguments are less than 256, return
5114 a unibyte string.
5115
5116 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5117 return a unibyte string.
5118
19c92c94
KH
5119 * coding.c (code_convert_region): After detecting a coding, if
5120 nothing found, set coding->composing to COMPOSITION_NO.
5121 (decode_coding_string): Likewise.
5122
d8e675f5
SM
51232001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5124
5125 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5126 to avoid overflow.
5127
bd503487
KH
51282001-02-07 Kenichi Handa <handa@etl.go.jp>
5129
5130 * charset.c (parse_str_to_multibyte): New function.
5131
5132 * charset.h (parse_str_to_multibyte): Extern it.
5133
5134 * print.c (print_string): If we are going to print a unibyte
5135 string into a multibyte buffer, convert the string to multibyte by
5136 str_to_multibyte.
5137
a8370d72
AI
51382001-02-06 Andrew Innes <andrewi@gnu.org>
5139
5140 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5141 been created. It seems we can get sent window messages such as
5142 WM_ERASEBKGND before we properly update a frame.
5143
c363a1d6
GM
51442001-02-06 Gerd Moellmann <gerd@gnu.org>
5145
5146 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5147 Avoid some unnecessary cursor positioning.
5148
a08332c0
GM
51492001-02-05 Gerd Moellmann <gerd@gnu.org>
5150
52283633 5151 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5152 (LFACE_AVGWIDTH): New macro.
5153 (LFACEP): Use AREF.
5154 (check_lface_attrs): Check LFACE_AVGWIDTH.
5155 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5156 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5157 (merge_face_vectors): Check LFACE_AVGWIDTH.
5158 (Finternal_make_lisp_face): Use AREF.
5159 (xm_set_menu_resources_from_menu_face)
5160 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5161 (Finternal_lisp_face_empty_p): Use AREF.
5162 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5163 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5164 Compare average widths..
5165 (best_matching_font): Arrange for comparing average widths.
5166
52283633
SM
5167 * dispextern.h (enum lface_attribute_index):
5168 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5169
5cb3c8d4
DL
51702001-02-05 Dave Love <fx@gnu.org>
5171
5172 * puresize.h: Revert last change following loadup.el change.
5173
193fba87
AI
51742001-02-05 Andrew Innes <andrewi@gnu.org>
5175
5176 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5177 invocation of temacs, to work with Windows 2000.
5178 (bootstrap-emacs): Ditto.
5179
e16f52ce
GM
51802001-02-05 Gerd Moellmann <gerd@gnu.org>
5181
7a58ab59
GM
5182 * xterm.c (x_display_and_set_cursor): Check for the focus
5183 frame's selected window instead of selected_window.
5184
e89aaabd
GM
5185 * xdisp.c (try_scrolling): If point is in the line below the
5186 window, make sure to move the iterator at least a canonical
5187 char height down.
5188
52283633 5189 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5190
789ce875
KH
51912001-02-05 Kenichi Handa <handa@etl.go.jp>
5192
52283633
SM
5193 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5194 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5195 (ccl_driver): If the CCL program is terminated because of
5196 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5197 destination instead of throwing them away.
5198
20b28f82
GM
51992001-02-02 Gerd Moellmann <gerd@gnu.org>
5200
79fb38c0
GM
5201 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5202 faces and other things.
5203
20b28f82
GM
5204 * xdisp.c (get_next_display_element): Fix case of empty
5205 display table entry.
5206
5a72551e
EZ
52072001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5208
eb24d0bf
EZ
5209 * editfns.c (Fconstrain_to_field): Doc fix.
5210
6a3f48c7
EZ
5211 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5212 into `thoroughly', to make it consistent with the doc string.
5213
5a72551e
EZ
5214 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5215
01acdb05
GM
52162001-02-01 Gerd Moellmann <gerd@gnu.org>
5217
0353b28f
GM
5218 * search.c (search_buffer): Call set_search_regs with a byte
5219 position, not a character position.
5220
01acdb05
GM
5221 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5222 minibuffer-only,
5223
e86b5133
EZ
52242001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5225
5226 * frame.c (Fmodify_frame_parameters): Doc fix.
5227
7442878f
GM
52282001-01-31 Gerd Moellmann <gerd@gnu.org>
5229
01acdb05
GM
5230 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5231 identifier which is not reserved by Standard C.
52283633 5232
7442878f
GM
5233 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5234
5235 * window.c (enum window_part): New enumeration.
5236 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5237 Qright_bitmap_area.
5238 (coordinates_in_window): Return an enumerator from enum
5239 window_part. Fix handling of right scroll bar.
5240 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5241 `right-fringe' instead of `left-bitmap-area' and
5242 `right-bitmap-area'. Use enumerators from enum window_part
5243 instead of hard-coded integers.
52283633
SM
5244 (check_window_containing, window_from_coordinates):
5245 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5246 (syms_of_window): Replace Qleft_bitmap_area and
5247 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5248
7c132cba
EZ
52492001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5250
5251 * editfns.c (Fformat_time_string): Doc fix.
5252
c359dd9e
SM
52532001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5254
5255 * keymap.c (Fwhere_is_internal): Use the first valid binding
5256 if no ascii binding is found (when firstonly is t).
5257
ce070307
GM
52582001-01-31 Gerd Moellmann <gerd@gnu.org>
5259
b4f30ec5
GM
5260 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5261 instead of Finteractive_p.
5262
5263 * lisp.h (interactive_p): Add prototype.
5264
5265 * eval.c (interactive_p): New function.
5266 (Finteractive_p): Use it.
5267
ce070307
GM
5268 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5269
f57b6e64
DL
52702001-01-31 Dave Love <fx@gnu.org>
5271
d61c7afe
DL
5272 * .gdbinit (hook-run): Define to run xreload.
5273
f57b6e64
DL
5274 * textprop.c (Fset_text_properties): Fix newline in doc string.
5275
eef93f99
GM
52762001-01-30 Gerd Moellmann <gerd@gnu.org>
5277
52283633
SM
5278 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5279 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5280
5281 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5282 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5283 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5284
5285 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5286 height.
5287
d9c1f6f9
DL
52882001-01-30 Dave Love <fx@gnu.org>
5289
5290 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5291 AFTER_POTENTIAL_GC.
5292
e8f044a0
GM
52932001-01-29 Gerd Moellmann <gerd@gnu.org>
5294
52283633
SM
5295 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5296 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5297
8e1db7b3
EZ
52982001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5299
5300 * textprop.c (Fset_text_properties): Doc fix.
5301
4eefd9d2
GM
53022001-01-29 Gerd Moellmann <gerd@gnu.org>
5303
5304 * xdisp.c (forward_to_next_line_start): Remove xassert.
5305
fccb8288
EZ
53062001-01-29 Jason Rumney <jasonr@gnu.org>
5307
4eefd9d2 5308 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5309 returning without releasing it.
5310
76581eab
KH
53112001-01-29 Kenichi Handa <handa@etl.go.jp>
5312
5313 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5314 for '^', '$', and '\0'.
5315
83a96b4d
AC
53162001-01-28 Andrew Choi <akochoi@i-cable.com>
5317
5604ec34
AC
5318 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5319 regex for '^', '$', and '\0'.
5320
83a96b4d
AC
5321 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5322 only if current_sblock has been initialized.
5323
5324 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5325 terminal frame even if it is the only visible frame.
5326
c09a6440
KH
53272001-01-28 Kenichi Handa <handa@etl.go.jp>
5328
5329 * fontset.c (font_family_registry): Even if FONTNAME conform to
5330 XLFD, if it specifies other fields than family and registry,
52283633 5331 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5332 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5333 a signle byte character. Don't set FAMILY part to nil here.
5334 It is handled by the caller choose_face_font.
c09a6440
KH
5335 (Fnew_fontset): Call font_family_registry with FORCE 0.
5336 (Fset_fontset_font): Likewise.
5337
4dcd74e6
GM
53382001-01-27 Gerd Moellmann <gerd@gnu.org>
5339
5340 * xdisp.c (display_line): Don't treat a newline as fitting
5341 on the line.
5342
d2906bf8
GM
53432001-01-26 Gerd Moellmann <gerd@gnu.org>
5344
0130fe1a
GM
5345 * window.c (size_window): Set the window's orig_top to nil when
5346 changing heights, so that a future shrink_mini_window won't
5347 restore a bogus height.
5348
550f0e6a
GM
5349 * frame.c (do_switch_frame): If selected frame has a mini-window,
5350 resize that to exact size.
5351
b7b20fbd
GM
5352 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5353
a47b7816
GM
5354 * xdisp.c (display_line): Simplify check for glyphs fitting
5355 entirely in the line.
5356
d2906bf8
GM
5357 * xfns.c (xic_style): New variable.
5358 (create_frame_xic): Move static variable to global scope for
550f0e6a 5359 the case that `static' gets defined away.
d2906bf8 5360
73df2b1e
KH
53612001-01-26 Kenichi Handa <handa@etl.go.jp>
5362
5363 * coding.c (decode_coding): Set a flag for inhibiting
5364 inconsistent eol.
5365 (code_convert_region): Always set saved_coding_symbol.
5366 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5367 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5368
6613cfc4
GM
53692001-01-25 Gerd Moellmann <gerd@gnu.org>
5370
c5e6e06b
GM
5371 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5372 XClearArea.
5373
5374 * xterm.c (x_after_update_window_line): Don't clear if frame's
5375 internal border width is zero.
5376 (x_clear_area): New function.
5377 (x_after_update_window_line, x_clear_end_of_line)
5378 (x_scroll_bar_create, x_scroll_bar_set_handle)
5379 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5380 instead of XClearArea.
5381
5382 * xterm.h (x_clear_area): Add prototype.
5383
6613cfc4
GM
5384 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5385 which doesn't seem necessary anymore with Lesstif 0.92.
5386
650cc6cc
DL
53872001-01-25 Dave Love <fx@gnu.org>
5388
34ac3367
DL
5389 * puresize.h (BASE_PURESIZE): Up to 720000.
5390
650cc6cc
DL
5391 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5392
5e37dc22
GM
53932001-01-25 Gerd Moellmann <gerd@gnu.org>
5394
e1e441f9
GM
5395 * xdisp.c (echo_area_display): Don't call redisplay_internal
5396 when Emacs is shutting down. We can't run hooks etc. that
5397 would be necessary to do a redisplay.
5398
5e37dc22
GM
5399 * lread.c (read_integer): Use type EMACS_INT instead of int.
5400
0fb94c7f
EZ
54012001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5402
5403 * ccl.c (ccl_driver): Fix last change.
5404
e3778624
KH
54052001-01-25 Kenichi Handa <handa@etl.go.jp>
5406
5407 * ccl.h (sturct ccl_program): New member suppress_error.
5408
bb264518 5409 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5410 insert error message to the output.
5411 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5412
5413 * coding.h (struct coding_system): New member suppress_error.
5414
5415 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5416 (Fset_terminal_coding_system_internal): Set the member
5417 suppress_error to 1.
5418 (Fset_safe_terminal_coding_system_internal): Likewise.
5419
245ed2b1
SM
54202001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5421
5422 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5423 as if it was a `charset'.
5424
f9aaedb6
GM
54252001-01-24 Gerd Moellmann <gerd@gnu.org>
5426
5427 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5428 value in where_is_cache; the next lookup in the cache returns
5429 something bogus if we do.
5430
c3902c3e
EZ
54312001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5432
5433 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5434 if HAVE_WINDOW_SYSTEM isn't defined.
5435
3497f73e
GM
54362001-01-24 Gerd Moellmann <gerd@gnu.org>
5437
e7e41584
GM
5438 * fns.c (sweep_weak_table): Fix code taking items out of
5439 the hash collision chain. Some cleanup.
5440
3497f73e
GM
5441 * xterm.c (x_new_font): Don't change a tooltip's size.
5442
5443 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5444 background color by specifying a color for the default font
5445 in .Xdefaults.
5446
3d48e687
KH
54472001-01-24 Kenichi Handa <handa@etl.go.jp>
5448
96531b20
KH
5449 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5450 a workaround for SunOS 4's cc.
5451 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5452 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5453 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5454 statement.
3d48e687 5455
a30629d2
GM
54562001-01-23 Gerd Moellmann <gerd@gnu.org>
5457
5458 * xterm.c (x_set_window_size_1): New function extracted from
5459 x_set_window_size.
5460 (x_set_window_size): Use it.
5461 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5462 doesn't have a widget, like tooltips.
5463
5a43decf
EZ
54642001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5465
52283633 5466 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5467
b0e98867
KH
54682001-01-23 Kenichi Handa <handa@etl.go.jp>
5469
5470 * fns.c (Fset_char_table_default): Fix to make sub char-table
5471 correctly.
5472
50606b4c
GM
54732001-01-22 Gerd Moellmann <gerd@gnu.org>
5474
cb2ddc53 5475 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5476 a desired tool bar string, even if there are no tool bar items.
5477
57c28064
GM
5478 * xdisp.c (Ftool_bar_lines_needed): New function.
5479 (syms_of_xdisp): Defsubr it.
5480
50606b4c
GM
5481 * editfns.c (Fformat): Don't extend text properties from arguments
5482 to padding chars in the result.
5483
2f169c38
EZ
54842001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5485
5486 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5487
0f32f023
AI
54882001-01-20 Andrew Innes <andrewi@gnu.org>
5489
52283633 5490 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5491 (w32_initialize): Don't set term hooks that aren't actually needed
5492 in windowed mode.
5493
5494 * xfaces.c (realize_default_face):
5495 (realize_face):
5496 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5497
5498 * xdisp.c (handle_single_display_prop): Remove references to
5499 FRAME_W32_CONSOLE_P.
5500
52283633 5501 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5502
5503 * frame.h (output_method): Remove output_w32_console method.
5504 (FRAME_W32_CONSOLE_P): Remove macro.
5505
5506 * frame.c (Qw32_console): Remove variable.
5507 (Fframep): Remove references to it.
5508 (syms_of_frame): Ditto.
5509 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5510
5511 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5512 redefinition.
5513
7173eada
KH
55142001-01-20 Kenichi Handa <handa@etl.go.jp>
5515
5516 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5517
755b45ce
AI
55182001-01-19 Andrew Innes <andrewi@gnu.org>
5519
5520 * w32.c (init_environment): Add a version-independent site-lisp
5521 directory to EMACSLOADPATH, after the version dependent one.
5522
0a949811
GM
55232001-01-19 Gerd Moellmann <gerd@gnu.org>
5524
8501998a
GM
5525 * editfns.c (Fbuffer_substring): Doc fix.
5526
52283633
SM
5527 * xdisp.c (message_dolog, message2, message2_nolog):
5528 Rename parameter LEN to NBYTES.
0a949811 5529
e6ebcbbe
KH
55302001-01-19 Kenichi Handa <handa@etl.go.jp>
5531
200ecca2
KH
5532 * charset.c (strwidth): Use c_string_width.
5533 (c_string_width): New function.
5534 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5535 Caller changed.
5536
5537 * charset.h (c_string_width, lisp_string_width): Extern them.
5538
52283633 5539 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5540
e6ebcbbe
KH
5541 * indent.c (check_composition): Check validity of composition.
5542
200ecca2
KH
5543 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5544 characters by calling c_string_width.
5545 (x_consider_frame_title): Get byte length of frame tile string
5546 correctly.
5547 (display_mode_element): Pay attention to width of non-ASCII
5548 characters by calling strwidth.
5549
8692ca92
GM
55502001-01-18 Gerd Moellmann <gerd@gnu.org>
5551
8962e303
GM
5552 * xfns.c (Qcancel_timer): New variable.
5553 (syms_of_xfns): Initialize and staticpro it.
5554 (Fx_hide_tip, Fx_show_tip): Use it.
5555 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5556 the timer.
5557 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5558
91523be9
GM
5559 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5560
5561 * window.h (WINDOW_LIVE_P): New macro.
5562
b0b7ed0e
GM
5563 * window.c (window_size_fixed): New variable.
5564 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5565 the doc string.
5566
06bccf8e
GM
5567 * eval.c (specbind): If binding a per-buffer variable which
5568 doesn't have a buffer-local value in the current buffer, change
5569 the global value by changing the value of the symbol bound in all
5570 buffers not having their own value, to make it consistent with
5571 what happens with other buffer-local variables.
5572
8692ca92
GM
5573 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5574
5575 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5576 when searching for a newline.
5577
bb3a3b50
KH
55782001-01-18 Kenichi Handa <handa@etl.go.jp>
5579
5580 * xdisp.c (display_string): Fix previous change.
5581
c2cc16fa
JR
55822001-01-18 Jason Rumney <jasonr@gnu.org>
5583
5584 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5585 GLYPH_DEBUG is defined.
5586 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5587 true for images with `:ascent 100'.
5588 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5589 meantime, use face MOUSE_FACE_ID.
5590 If first glyph isn't a character glyph, use the ASCII NUL
5591 character to determine the face.
5592 (expose_area): Do not treat left margin specially.
5593 (note_mode_line_highlight): If no local_map, check global keymap.
5594 (note_mouse_highlight): Initialize overlay.
52283633 5595 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5596 (show_scroll_bars): Remove unused function.
5597 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5598 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5599 Clip to row.
52283633 5600 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5601 (x_free_frame_resources): Unload relief colors.
5602
9c11f79e
GM
56032001-01-17 Gerd Moellmann <gerd@gnu.org>
5604
3aec8722 5605 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5606 get_next_display_element when the newline is already found.
5607 This may change the iterator's position, when its current position is
3aec8722
GM
5608 equal to the iterator's stop_charpos.
5609
f3ffc2c3
GM
5610 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5611 zero, use this method only at the end of a line.
5612
52283633 5613 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5614 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5615 if SCALABLE_FONTS_P is set.
52283633 5616
d26d6fd9
GM
5617 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5618 so that scalable fonts are included.
5619
9c11f79e
GM
5620 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5621 In the cache, use a key containing the information if scalable
5622 fonts are included.
5623 (x_load_font): Adapt to change of keys in the font cache.
5624
56252001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5626
d26d6fd9
GM
5627 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5628 XListFonts to take advantage of font caching.
5629
9c11f79e
GM
5630 * xterm.c (x_list_fonts): Ensure caching font information when
5631 called for a null frame, which is the case frequently when Emacs
5632 starts.
5633
51446987
GM
56342001-01-17 Gerd Moellmann <gerd@gnu.org>
5635
f864120f
GM
5636 * xfns.c (QCconversion): Replaces QCalgorithm.
5637
5638 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5639
5640 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5641 of :algorithm.
52283633 5642
e37d1417
GM
5643 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5644 not everything could be displayed.
5645
51446987
GM
5646 * line.h, x-list-font.c: Files removed because unused.
5647
9ad4f3e5
AI
56482001-01-17 Andrew Innes <andrewi@gnu.org>
5649
5650 * dired.c (directory_files_internal): Convert result from readdir
5651 to a unibyte string initially, to avoid possible misinterpretation
5652 of some bytes as the internal form of Emacs characters.
5653
2eda09b5
KH
56542001-01-17 Kenichi Handa <handa@etl.go.jp>
5655
5656 * fns.c (concat): Be sure to avoid putting the same `composition'
5657 property on the adjacent regions.
5658
826f3788
GM
56592001-01-16 Gerd Moellmann <gerd@gnu.org>
5660
52283633 5661 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5662 (Fscroll_right, Fscroll_left): Set it here instead, if called
5663 interactively.
5664
d57b83b3
GM
5665 * buffer.c (Fset_buffer_modified_p): Set buffer's
5666 prevent_redisplay_optimizations_p flag.
5667
826f3788 5668 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5669 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5670 with additional arg.
5671
5672 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5673 Change prototype.
826f3788 5674
826f3788
GM
5675 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5676 FROM_WHERE, for debugging.
5677
261d788b
KH
56782001-01-16 Kenichi Handa <handa@etl.go.jp>
5679
5680 * ccl.c (Fregister_ccl_program): Handle the return value of
5681 resolve_symbol_ccl_program correctly.
52283633 5682 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5683
bccee4f2
GM
56842001-01-15 Gerd Moellmann <gerd@gnu.org>
5685
e4ded23c
GM
5686 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5687 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5688
5689 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5690 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5691 the display; we didn't open it.
5692
bccee4f2
GM
5693 * dispnew.c (save_or_restore_current_matrices): Function removed.
5694 (save_current_matrix, restore_current_matrix): New functions.
5695 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5696 restore the frame's current matrix. Due to the glyph pointer
5697 setup done in adjust_glyph_matrix, there is no easy way to make
5698 saving the current matrix in the desired matrix generally correct,
5699 so don't try it.
5700
ebeccffa
KH
57012001-01-15 Kenichi Handa <handa@etl.go.jp>
5702
5703 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5704 truncation glyphs.
5705 (display_line): Optimize for wide characters.
e4ded23c 5706 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5707 partially. On ttys, produce more than one truncation glyph for
5708 multi-column characters that don't fit on the line.
5709
64388126
KH
57102001-01-13 Kenichi Handa <handa@etl.go.jp>
5711
52283633
SM
5712 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5713 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5714
8edb0a6f
JR
57152001-01-13 Jason Rumney <jasonr@gnu.org>
5716
5717 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5718 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5719 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5720 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5721
52283633
SM
5722 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5723 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5724 (x_draw_image_glyph_string): Adapt to change of image margins.
5725
5726 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5727 variables.
5728
5729 * w32bdf.c (search_file_line, get_cached_font_char)
5730 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5731
5732 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5733
5734 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5735 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5736 (Fw32_send_sys_command): Remove unused variables.
5737 (w32_msg_pump): Add parentheses.
5738
5739 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5740 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5741 Add parentheses.
5742
4956d1ef
GM
57432001-01-12 Gerd Moellmann <gerd@gnu.org>
5744
b30623be
GM
5745 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5746 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5747 being a pair of margins.
5748 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5749 to DEFVAR_LISP. Extend doc.
5750
5751 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5752 margins.
5753 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5754 pair of integers `(X . Y)', use X for the horizontal and Y for the
5755 vertical margin.
5756 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5757 (parse_image_spec): Check it.
52283633
SM
5758 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5759 (tiff_format, gif_format, gs_format):
5760 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5761
52283633
SM
5762 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5763 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5764 (x_draw_image_glyph_string): Adapt to the change of image margins.
5765
5766 * dispextern.h (struct image): Replace member `margin' with
5767 `hmargin' and `vmargin'.
5768
4554cc79
GM
5769 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5770 and GLYPHS.
5771
5772 * dispnew.c (update_text_area): Put code which decrements the
5773 stop position when the row's face extends to the end of the
3bffc665 5774 line in #if 0.
4554cc79 5775
3cccce8d
GM
5776 * xfns.c (x_set_mouse_color): Fix color allocation.
5777
4956d1ef
GM
5778 * keyboard.c: Call get_local_map with new argument list.
5779
5780 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5781
5782 * intervals.h (enum map_property): Removed.
5783 (get_local_map): Change prototype.
5784
5785 * keymap.c: Call get_local_map with new argument list.
5786 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5787
2c2ff7f2
GM
57882001-01-11 Gerd Moellmann <gerd@gnu.org>
5789
a23887b9
GM
5790 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5791 of the size needed for the tool bar string. For the last image,
5792 use a `display' property that reaches to the end of the string.
5793
a7ee2d2e
GM
5794 * xselect.c (selection_request_dpyinfo): New variable.
5795 (x_handle_selection_request): Set it.
5796 (x_selection_request_lisp_error): Don't call
5797 x_decline_selection_request if selection request's display has
5798 been closed.
5799
52283633
SM
5800 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5801 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5802
457b792c
GM
58032001-01-10 Dave Love <fx@gnu.org>
5804
5805 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5806 ${SOME_MACHINE_LISP}, not ${lisp}.
5807
c1efd260
GM
58082001-01-10 Gerd Moellmann <gerd@gnu.org>
5809
52283633
SM
5810 * xdisp.c (display_line): On ttys, produce more than one truncation
5811 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5812
ac95a621
GM
5813 * xselect.c (x_reply_selection_request): Add a comment.
5814
c1efd260
GM
5815 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5816 XkbGetNames instead of XkbGetKeyboard.
5817
1bfb1345
DL
58182001-01-10 Dave Love <fx@gnu.org>
5819
5820 * sysdep.c (random): Revert the declaration.
5821
38119822
GM
58222001-01-09 Gerd Moellmann <gerd@gnu.org>
5823
52283633
SM
5824 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5825 Call function string_bytes.
35f464a7
GM
5826 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5827
5828 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5829 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5830 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5831 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5832 the current sblock.
5833 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5834 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5835 after sweeping strings, and at the end.
5836 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5837
38119822
GM
5838 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5839 ensure that pop_message is called.
5840
5841 * keyboard.c (Fexecute_extended_command): Use a
5842 record_unwind_protect to ensure that pop_message is called.
5843
5844 * lisp.h (push_message_unwind): Add prototype.
5845
5846 * xdisp.c (push_message_unwind): New function.
5847
5848 * fileio.c (do_auto_save_unwind): Do the pop_message here
5849 instead of in Fdo_auto_save.
5850 (Fdo_auto_save): Don't call pop_message.
5851
f47a9ec4
KR
58522001-01-08 Ken Raeburn <raeburn@gnu.org>
5853
5854 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5855 in inner block.
5856
a758f97d
GM
58572001-01-08 Gerd Moellmann <gerd@gnu.org>
5858
6d0afc03
GM
5859 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5860 when increasing window's vscroll.
5861
a758f97d
GM
5862 * macros.c (Qkbd_macro_termination_hook): New variable.
5863 (syms_of_macros): Initialize and staticpro it.
5864 (pop_kbd_macro): Run kbd-macro-termination-hook.
5865
5866 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5867
1bfb1345 58682001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5869
5870 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5871 arglist, for documentation's sake.
5872
0dac6924
AI
58732001-01-06 Andrew Innes <andrewi@gnu.org>
5874
5875 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5876 of *.pdb.
5877
8182406a
AI
58782001-01-05 Andrew Innes <andrewi@gnu.org>
5879
5880 * term.c (update_end): Don't check updating_frame; for some reason
5881 this can be 0 sometimes, such as after dismissing a popup menu,
5882 and isn't necessary given the explicit frame argument.
5883
3828218c
GM
58842001-01-05 Gerd Moellmann <gerd@gnu.org>
5885
5886 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5887 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5888
2f5ded21
GM
58892001-01-04 Gerd Moellmann <gerd@gnu.org>
5890
52283633 5891 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5892
5893 * xfns.c (x_create_tip_frame): Preserve the value of
5894 face_change_count around the creation of the tip frame.
52283633 5895
2f5ded21
GM
5896 * xfns.c (last_show_tip_args): New variable.
5897 (compute_tip_xy): New function.
5898 (Fx_show_tip): Reuse an existing tip frame, if possible.
5899 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5900
dfad65fa
DL
59012001-01-04 Dave Love <fx@gnu.org>
5902
64d4ec0f
DL
5903 * editfns.c (Fformat): Doc fix.
5904
dfad65fa
DL
5905 * systime.h (set_file_times): Prototype.
5906
5907 * widget.h (EmacsFrameSetCharSize_): Prototype.
5908
5909 * sysdep.c (random, srandom): Declare explicitly.
5910
5911 * dispextern.h (move_it_vertically_backward): Declare.
5912
85fe3b5e
GM
59132001-01-04 Gerd Moellmann <gerd@gnu.org>
5914
0f2ac578
GM
5915 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5916 like in Fx_create_frame.
5917
482cca61
GM
5918 * xfaces.c (set_font_frame_param): Don't do anything for
5919 non-graphical frames.
5920
85fe3b5e
GM
5921 * window.c (Fdelete_other_windows): Set window's window_end_valid
5922 to nil when changing the window's start. Don't change the
5923 window's start when its top position hasn't changed. If we do,
5924 this will set the window's optional_new_start, which act's like a
5925 force_start during redisplay with C-x 1 M-> under particular
5926 circumstances (see report from Per Starback to emacs-pretest-bug
5927 from 2000-12-13.).
5928
3e99d3b4
GM
59292001-01-03 Gerd Moellmann <gerd@gnu.org>
5930
a77dc1ec
GM
5931 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5932 short cut at the start of the function. Add an assertion.
5933 (reseat_at_next_visible_line_start): Add an assertion.
5934
2f3cad6c
GM
5935 * window.c (Frecenter): When changing the window start, set the
5936 window's window_end_valid to nil.
5937 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5938
5939 * dispextern.h (move_it_past_eol): Add prototype.
5940
5941 * xdisp.c (move_it_past_eol): New function.
5942
3e99d3b4
GM
5943 * window.c (Fwindow_end): Doc fix.
5944
59452001-01-03 Dave Love <fx@gnu.org>
5946
52283633 5947 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5948
bafb434c
GM
59492001-01-03 Gerd Moellmann <gerd@gnu.org>
5950
5951 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5952 the enabled_p flag of the glyph row at window_end_vpos to 0.
5953 (handle_single_display_prop): Fix last change.
5954
5297fb00
RS
59552001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5956
5957 * window.c (Frecenter): Doc fix.
5958
13d6a61c
AI
59592001-01-02 Andrew Innes <andrewi@gnu.org>
5960
5961 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5962
5963 * frame.h (output_method): Add output_w32_console method.
5964 (FRAME_W32_CONSOLE_P): New macro.
5965
5966 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5967 use output_w32_console method.
5968 (Qw32_console): New Lisp_Object.
5969 (Fframep): Return it.
5970 (syms_of_frame): Init it.
52283633 5971 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5972
5973 * xfaces.c (realize_default_face): Set face foreground and
5974 background to unspecified for w32_console frames.
5975 (realize_face): Realize face cache for w32_console frames.
5976 (realize_tty_face): Accept w32_console frames.
5977
52283633 5978 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5979 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5980 necessary, even if running interactively.
5981
5982 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5983 w32_console frames.
5984
52283633
SM
5985 * w32term.c (x_update_begin):
5986 (x_update_end):
5987 (x_clear_frame):
5988 (x_ins_del_lines):
5989 (x_change_line_highlight):
5990 (x_delete_glyphs):
5991 (w32_ring_bell):
5992 (x_update_begin):
5993 (x_update_end):
5994 (w32_reassert_line_highlight):
5995 (w32_frame_rehighlight):
13d6a61c
AI
5996 (w32_frame_raise_lower): Do nothing if not w32 frame.
5997
5998 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5999
6000 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6001 system doesn't tell us directly.
6002 (Fx_display_visual_class): Implement properly.
6003
d6bb0c0d
GM
60042001-01-02 Gerd Moellmann <gerd@gnu.org>
6005
6006 * window.c (Frecenter): Handle centering in graphical frames
6007 specially. Centering on the basis of line counts doesn't work
6008 reliably with variable-height lines.
52283633 6009
315f5865
EZ
60102001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6011
6012 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6013 and al[].
6014
52283633 6015 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
6016 (update_compositions): Remove unused variable `hook'.
6017
6018 * intervals.c (get_local_map): Remove unused variable `tem'.
6019
6020 * doprnt.c (doprnt1): Remove unused variable `size'.
6021
6022 * fns.c (Flength): Remove unused variable `tail'.
6023 (Fdelete): Remove unused variable `size'.
6024
6025 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6026 and `gcpro2'.
6027
52283633 6028 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6029
6030 * data.c (find_symbol_value): Remove extra 3rd argument in the
6031 call to swap_in_symval_forwarding.
6032
52283633 6033 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6034
6035 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6036 (trivial_regexp_p): Remove unused variable `c'.
6037 (boyer_moore): Remove unused variable `k'.
6038
6039 * indent.c (current_column): Remove unused variable `stopchar'.
6040 (Fcompute_motion): Remove unused variable `contin'.
6041
6042 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6043
6044 * dired.c (directory_files_internal): Fix a typo in a comment.
6045 Remove an unused variable `handler'.
52283633 6046 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6047 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6048 on BSD4_2.
6049
52283633 6050 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6051
6052 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6053 and `buf'.
6054 (Fmarker_insertion_type): Remove unused variable `buf'.
6055
6056 * insdel.c (make_gap): Remove unused variable `result'.
6057
52283633 6058 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6059 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6060 (menu_bar_items): Remove unused function-scope variable `tem'.
6061
6062 * fontset.c (fontset_ref): Remove unused variable `i'.
6063 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6064 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6065 (make_fontset_for_ascii_face): Remove unused variable `name'.
6066 (fs_load_font): Remove unused variable `font_idx'.
52283633 6067 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6068 (list_fontsets): Remove unused variable `tail'.
6069 (Fnew_fontset): Remove unused variables `family' and `registry'.
6070 (accumulate_font_info): Remove unused variable `tmp'.
6071 (Ffontset_font): Remove unused variable `id'.
6072 (syms_of_fontset): Remove unused variable `i'.
6073
6074 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6075 to x_term_init.
6076 (lookup_image): Remove unused variable `file'.
6077 (xbm_load): Remove unused variables `bitmap_data', `height', and
6078 `width'. Remove function-local variable `i', leave the
6079 block-local one.
6080 (gif_load): Remove unused variable `inc'.
6081
52283633 6082 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6083 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6084 leave only the one in the inner block.
6085
6086 * xfaces.c (face_fontset, realize_default_face): Remove unused
6087 variable `fontset'.
6088 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6089
6090 * term.c (encode_terminal_code): Remove unused variable `c'.
6091
6092 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6093 char *' instead of `char *'.
6094
6095 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6096 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6097 (Fchar_category_set): Remove unused variables `val', `charset',
6098 `c1' and `c2'.
6099
52283633
SM
6100 * coding.c (detect_coding_iso2022, setup_coding_system):
6101 Remove unused variable `i'.
315f5865
EZ
6102 (detect_coding_mask): Remove unused variable `idx'.
6103 (detect_coding): Remove unused variable `i'.
6104 (ccl_coding_driver): Remove unused variable `result'.
6105 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6106 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6107 (encode_coding_string): Remove unused variables `gcpro1' and
6108 `saved_coding_symbol'.
6109 (Ffind_coding_systems_region_internal): Remove function-local
6110 variable args[], leave only the block-local one.
6111 (code_convert_region1): Remove unused variable `len'.
6112
6113 * charset.c (char_printable_p): Remove unused variable `chars'.
6114 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6115 (str_to_multibyte): Remove unused variable `c'.
6116
6117 * window.c (size_window): Remove block-local variable `min_size'.
6118
6119 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6120 `header_line_height'.
6121 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6122 enum display_element_type.
6123
1a8a9daf
GM
61242001-01-02 Gerd Moellmann <gerd@gnu.org>
6125
6dde6abc 6126 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6127 statements that call X. Save away the error message in a local copy.
6128
1883b2c6
GM
6129 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6130 the start.
6131
a13be207
GM
6132 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6133 in or at the start of invisible text.
6134
1a8a9daf
GM
6135 * dispnew.c (update_window): Don't check_current_matrix_flags.
6136
3608c0f9
JR
61372001-01-01 Jason Rumney <jasonr@gnu.org>
6138
6139 * w32fns.c (x_figure_window_size): Do not allow new_height and
6140 new_width of frame to override specified values.
6141
abb1acc4
KH
61422000-12-30 Kenichi Handa <handa@etl.go.jp>
6143
52283633 6144 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6145
762a68ec
GM
61462000-12-29 Gerd Moellmann <gerd@gnu.org>
6147
52283633 6148 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6149 (update_window) [GLYPH_DEBUG]: Call it.
6150 (scrolling_window): Prevent including current rows which are below
6151 what's displayed in the window.
6152
6153 * xdisp.c (try_window_reusing_current_matrix)
6154 <new start <= old start>: Disable rows in the current matrix
6155 which are below the window after scrolling.
52283633 6156
762a68ec
GM
6157 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6158 is zero. It's not worth the complexity.
6159 (invisible_text_between_p): Put in #if 0 because unused.
6160
2d5912c1
GM
61612000-12-28 Gerd Moellmann <gerd@gnu.org>
6162
46f6a258
GM
6163 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6164 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6165
89f93679
GM
6166 * keyboard.c (echo_char): If C is an integer, always call
6167 push_key_description. Former code could signal an invalid
6168 character error.
6169
6170 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6171 If set, print multibyte text.
6172 (Fsingle_key_description): Call push_key_description with
6173 FORCE_MULTIBYTE set.
6174 (describe_buffer_bindings): Likewise.
6175
6176 * lisp.h (push_key_description): Add prototype.
6177
c06017fb
GM
6178 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6179 around the call to redisplay_internal.
6180
f1d2ce7f
GM
6181 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6182
2d5912c1
GM
6183 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6184
9371f831
KH
61852000-12-28 Kenichi Handa <handa@etl.go.jp>
6186
6187 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6188 (ccl_driver): New local variable `extra_bytes'.
6189
6190 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6191
52283633
SM
6192 * coding.c (setup_coding_system):
6193 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6194 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6195
0c80628a
KH
61962000-12-28 Kenichi Handa <handa@etl.go.jp>
6197
6198 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6199 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6200 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6201 (decode_composition_emacs_mule): New function.
6202 (decode_coding_emacs_mule): Decode composition sequence by calling
6203 decode_composition_emacs_mule.
6204 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6205 (encode_coding_emacs_mule): Changed from macro to function.
6206 If a text contains compositions, encode them correctly.
0c80628a
KH
6207 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6208 that decoding and encoding are required.
6209
3e32cc27
GM
62102000-12-27 Gerd Moellmann <gerd@gnu.org>
6211
5e25feee
GM
6212 * xfaces.c (PT_PER_INCH): New macro.
6213 (xlfd_point_size): Compute real point size from font's pixel size.
6214 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6215 instead of 72.
6216
892d8fcd
GM
6217 * .gdbinit: Comment out the line pointing to the Lesstif source
6218 directory.
6219
12c8b416
GM
6220 * window.c (Frecenter): Use displayed_window_lines instead
6221 of window_internal_height.
6222
6061fbf0
GM
6223 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6224 instead of x-toolkit-scroll-bars-p.
6225 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6226
6227 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6228 instead of x-toolkit-scroll-bars-p.
6229 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6230
3e32cc27
GM
6231 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6232 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6233 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6234 New variables.
6235 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6236 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6237 (build_frame_matrix_from_leaf_window): Remove unused code.
6238 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6239 redisplay history.
6240 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6241 (update_window) [GLYPH_DEBUG]: Likewise.
6242 (syms_of_display): Defsubr dump-redisplay-history.
6243
31798cfe
GM
62442000-12-23 Gerd Moellmann <gerd@gnu.org>
6245
f717c2ba
GM
6246 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6247 the end of the prompt. Set echo_after_prompt to the offset
6248 of echoptr in echobuf.
6249
aeb2b8fc
GM
6250 * xdisp.c (init_from_display_pos): Pop until the iterator's
6251 stack is empty; there may be frames for stretch or images
6252 on the stack.
6253
31798cfe
GM
6254 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6255 (save_or_restore_current_matrix): New function for the same
6256 purpose, but more efficient.
6257 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6258
f8156156
EZ
62592000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6260
6261 * xdisp.c (syms_of_xdisp): Fix last change.
6262
bdd6d4e8
GM
62632000-12-23 Gerd Moellmann <gerd@gnu.org>
6264
6265 * xdisp.c (syms_of_xdisp): Doc fix.
6266
6267 * xdisp.c (redisplay_window): Remove label restore_buffers;
6268 use finish_scroll_bars instead to make sure that scroll bars
6269 are redeemed. If we don't do this, flickering can result from
6270 scroll bars being destroyed and recreated.
6271
9436cdf9
JR
62722000-12-22 Jason Rumney <jasonr@gnu.org>
6273
6274 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6275 in the wrong colors when the foreground is not black.
6276 (expose_window): Don't redraw the window that's currently being
6277 updated.
6278
951f9df5
GM
62792000-12-22 Gerd Moellmann <gerd@gnu.org>
6280
856ff7a7
GM
6281 * window.c (size_window): When setting the window's too_small_ok
6282 flag, compare old size with minimum size depending on WIDTH_P,
6283 don't compare with window_min_width.
52283633 6284
951f9df5
GM
6285 * window.c (delete_window): Simplify somewhat.
6286 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6287 freeing window matrices. The flag windows_or_buffers_changed is
6288 set, so the next redisplay will consider all windows; this should
6289 suffice.
6290
886bc933
KH
62912000-12-22 Kenichi Handa <handa@etl.go.jp>
6292
6293 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6294
6295 * ccl.h (struct ccl_program): New member cr_consumed.
6296
6297 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6298 (CCL_READ_CHAR): Handle EOL conversion here.
6299 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6300
177f4e88
GM
63012000-12-21 Gerd Moellmann <gerd@gnu.org>
6302
52283633 6303 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6304
6305 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6306 otherwise tabs of different size compare equal.
6307
6308 * callint.c (Fcall_interactively): Prevent a compiler warning.
6309
6310 * print.c (print_unwind): Return nil.
6311 (PRINTDECLARE): Initialize all local variables.
6312 (print_preprocess): Add a default case.
6313
8e15274f
GM
6314 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6315
6316 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6317
52283633 6318 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6319 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6320
6321 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6322
6323 * dispnew.c (ensure_frame_matrix): Removed.
6324 (save_frame_matrix, restore_frame_matrix): New functions.
6325 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6326
6327 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6328 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6329
99012074
AI
63302000-12-21 Andrew Innes <andrewi@gnu.org>
6331
6332 * w32term.c (x_update_begin): Regenerate the palette here, rather
6333 than for each window.
6334
6335 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6336 palette is NULL, since this corrupts memory! Also get
6337 display_info reference from frame.
6338
29ef7d2d
JR
63392000-12-21 Jason Rumney <jasonr@gnu.org>
6340
6341 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6342
6343 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6344 to avoid returning without releasing it.
3e27fa1f 6345
3f9d67a6
KH
63462000-12-21 Kenichi Handa <handa@etl.go.jp>
6347
587fc3f9
KH
6348 * keymap.c (push_key_description): Don't convert eight-bit-control
6349 and eight-bit-graphic to multibyte character.
6350
3f9d67a6
KH
6351 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6352 generic character and CODE1 is nil, return the smallest character
6353 in CHARSET.
6354
774ba8c9
DL
63552000-12-20 Dave Love <fx@gnu.org>
6356
6357 * s/osf5-0.h (NSIG): Don't redefine.
6358
88416888
SM
63592000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6360
6361 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6362 excluding menu-bar and tool-bar.
6363 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6364 (menu_item_p): Remove.
6365 (where_is_internal_1): Don't ignore menu-items.
6366
a6426c6f
GM
63672000-12-20 Gerd Moellmann <gerd@gnu.org>
6368
03ff8aab
GM
6369 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6370 into account.
6371
6372 * window.c (make_window): Initialize window's min_hscroll.
6373 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6374 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6375 to zero.
6376 (struct saved_window): New member min_hscroll.
6377 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6378 (Fset_window_configuration): Set window's min_hscroll.
6379 (save_window_save): Save window's min_hscroll.
6380 (compare_window_configurations): Compare min_hscroll values.
6381
6382 * window.h (struct window): New member min_hscroll.
6383
6384 * keyboard.c (echo_prompt): Prevent a compiler warning.
6385
8de4aaf8
GM
6386 * xdisp.c (try_cursor_movement): Fix last change. The real
6387 condition is that PT is at the end of the row, and should
6388 be displayed at the start of the next row.
52283633 6389
3f7e3031
GM
6390 * xdisp.c (try_cursor_movement): If we end on a partially
6391 visible line, end we already decided to scroll, return -1.
6392
a6426c6f
GM
6393 * dispextern.h (ensure_frame_matrix): Add prototype.
6394
6395 * window.c (delete_window, Fsplit_window)
6396 (Fset_window_configuration): Call ensure_frame_matrix.
6397
52283633
SM
6398 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6399 New functions.
a6426c6f
GM
6400 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6401 completed, call fake_current_matrices instead of marking frame
6402 garbaged.
6403
57fa2774
JR
64042000-12-20 Jason Rumney <jasonr@gnu.org>
6405
6406 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6407
d925df90
EZ
64082000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6409
6410 * fns.c (Frequire): Doc fix.
6411
7b93a85b
GM
64122000-12-19 Gerd Moellmann <gerd@gnu.org>
6413
52283633 6414 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6415
c74e645b
GM
6416 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6417 currently displaying a message.
6418
7b93a85b
GM
6419 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6420 xterm.h.
6421 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6422
90d97e64
AI
64232000-12-18 Andrew Innes <andrewi@gnu.org>
6424
6425 * w32.c (w32_strerror): New function.
6426
6427 * w32.h (w32_strerror): New extern.
6428
6429 * w32fns.c (Fw32_shell_execute): Use it.
6430
91c9e6ce
GM
64312000-12-18 Gerd Moellmann <gerd@gnu.org>
6432
6433 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6434
6f4745e2
EZ
64352000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6436
6437 * msdos.c (IT_set_face): Obey inverse_video.
6438
c9e088ce
KH
64392000-12-18 Kenichi Handa <handa@etl.go.jp>
6440
6441 * dired.c (directory_files_internal): Always return decoded filenames.
6442
c3695f5f
GM
64432000-12-18 Gerd Moellmann <gerd@gnu.org>
6444
52d8e4ff
GM
6445 * xterm.c (x_connection_closed): Prevent being called recursively
6446 because of an error condition in XtCloseDisplay.
52283633 6447
62be9979
GM
6448 * xdisp.c (init_iterator): If noninteractive, and the frame's
6449 face cache is null, make one.
6450
52283633 6451 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6452
c3695f5f
GM
6453 * process.c (wait_reading_process_input): Check for pending
6454 input when running timers.
6455
78555fbe
EZ
64562000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6457
52283633 6458 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6459
b2b36264
KH
64602000-12-18 Kenichi Handa <handa@etl.go.jp>
6461
6462 * process.c (read_process_output): Don't run a filter if the code
6463 decoder produces nothing but carryover.
6464
9c543fbf
AI
64652000-12-17 Andrew Innes <andrewi@gnu.org>
6466
6467 * w32.c (sys_rename): Only check errno against EEXIST, and not
6468 EACCES, when determining whether rename failed because the target
6469 exists. This was resulting in indefinite looping on Windows 9x if
6470 the source file was locked by another process.
6471
6472 * w32fns.c (Ffile_system_info): New function.
6473 (syms_of_w32fns): Defsubr it.
6474
10c2b5a8
GM
64752000-12-17 Gerd Moellmann <gerd@gnu.org>
6476
b0228ace
GM
6477 * window.c (coordinates_in_window): Fix computation for
6478 position on vertical line between mode lines.
6479
10c2b5a8
GM
6480 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6481 Don't alter tip_frame or tip_window.
6482 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6483 was deleted.
6484
c844a81a
GM
6485 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6486 Don't alter tip_frame or tip_window.
6487 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6488 was deleted.
6489
6c825f8e
EZ
64902000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6491
6492 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6493 be consistent with the doc string. Reported by NAKAJIMA Mikio
6494 <minakaji@osaka.email.ne.jp>.
6495
af4bb4c8
KH
64962000-12-16 Kenichi Handa <handa@etl.go.jp>
6497
6498 * xfaces.c (Vface_ignored_fonts): New variable.
6499 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6500 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6501
8062e53a
GM
65022000-12-15 Gerd Moellmann <gerd@gnu.org>
6503
e87b8809
GM
6504 * dispnew.c (update_window): Detect pending input every nth line
6505 updated, i.e. do it depending on real work done, and not on the
6506 vpos of the line.
6507
6508 * xterm.c (expose_window): Don't redraw the window that's
6509 currently being updated.
6510
a6768cc5
GM
6511 * window.c (Fset_window_point): Remove test for
6512 cursor_in_non_selected_windows.
6513
4ea7fdca
GM
6514 * lread.c (read1): Recognize end of file after `\\'.
6515
8062e53a
GM
6516 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6517 not unwind_create_frame.
6518
bb7959c1
GM
65192000-12-15 Dave Love <fx@gnu.org>
6520
6521 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6522 bcopy & al.
6523
6524 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6525
ced04c42
KH
65262000-12-15 Kenichi Handa <handa@etl.go.jp>
6527
c5443913
KH
6528 * coding.c (setup_coding_system): Clear all members of the struct
6529 coding_system at first.
bc137305
KH
6530 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6531 argument.
6532 (code_convert_region): Don't override coding->src_multibyte and
6533 coding->dst_multibyte.
c5443913 6534
ced04c42
KH
6535 * fns.c (Fmd5): Docstring improved.
6536
c2d7f289
MB
65372000-12-15 Miles Bader <miles@gnu.org>
6538
6539 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6540 are actually marked as mode-lines; otherwise use
6541 estimate_mode_line_height.
6542
9d7d9263
GM
65432000-12-14 Gerd Moellmann <gerd@gnu.org>
6544
6545 * editfns.c (Fformat): Prevent a buffer overrun when the format
6546 specifies a precision.
6547
7cf0153a
EZ
65482000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6549
6550 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6551 argument is outside the range [2..3].
6552
1de0f662
AI
65532000-12-14 Andrew Innes <andrewi@gnu.org>
6554
6555 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6556 nothing to do. Bind inhibit-quit.
6557 (tip_frame): Make it a Lisp_Object.
6558 (x_create_tip_frame): Set tip_frame after it has been added to
6559 Vframe_list.
6560 (Fx_show_tip): Don't set tip_frame here.
52283633 6561 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6562 (unwind_create_frame, unwind_create_tip_frame): New functions.
6563 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6564 while a frame is only partially constructed.
6565
6566 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6567 (x_free_frame_resources): New function.
6568 (x_destroy_window): Use it.
6569
02387dcc
GM
65702000-12-14 Gerd Moellmann <gerd@gnu.org>
6571
6572 * xfns.c (Fx_backspace_delete_keys_p): New function.
6573 (syms_of_xfns): Defsubr it.
6574
6575 * config.in (HAVE_XKBGETKEYBOARD): Add.
6576
0544ef49
KH
65772000-12-14 Kenichi Handa <handa@etl.go.jp>
6578
98d62747
KH
6579 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6580 Always store string in multibyte representation in echobuf.
6581 (echo_char): Always store string in multibyte representation in
6582 echobuf.
6583 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6584 (read_key_sequence): Adjusted for the change of echo_prompt.
6585
a20193cd
KH
6586 * fns.c (Fmd5): Docstring improved.
6587
191b83b6
KH
6588 * lisp.h (detect_coding_system): Prototype adjusted.
6589
0544ef49
KH
6590 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6591 (detect_coding_emacs_mule, detect_coding_iso2022,)
6592 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6593 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6594 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6595 (detect_coding_mask, detect_coding_system): New argument
6596 MULTIBYTEP. Callers changed.
1da1bb05
KH
6597 (decode_coding_string): Set coding->src_multibyte and
6598 coding->dst_multibyte before calling detect_coding and detect_eol.
6599 Update them after some coding system is detected.
52283633 6600
d5b3eb1b
SM
66012000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6602
6603 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6604
6605 * keyboard.c (menu_bar_items, tool_bar_items):
6606 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6607
f7f8bb69
GM
66082000-12-13 Gerd Moellmann <gerd@gnu.org>
6609
52283633 6610 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6611 New variables.
6612 (unwind_create_frame, unwind_create_tip_frame): New functions.
6613 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6614 while a frame is only partially constructed.
6615
6616 * xterm.h (x_free_frame_resources): Declare.
6617
6618 * xterm.c (x_free_frame_resources): New function.
6619 (x_destroy_window): Use it.
6620
e10da507
GM
6621 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6622 don't interrupt the update for pending input initially, i.e.
6623 update at least some lines.
6624
6625 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6626
d5b3eb1b 6627 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6628
6629 * xfns.c (gray_bitmap_bits): Declare `char *'.
6630
90aa2856
GM
66312000-12-12 Gerd Moellmann <gerd@gnu.org>
6632
6633 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6634 lines start with a relief line.
6635
a308c9cd
DL
66362000-12-12 Dave Love <fx@gnu.org>
6637
6638 * window.c (Fdisplay_buffer): Doc fix.
6639 (Fwindow_list): Remove unused var.
6640
6641 * buffer.h (mmap_set_vars): Declare.
6642
6643 * window.h (Fset_window_point): Declare.
6644
d575011f
EZ
66452000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6646
bf6282d2 6647 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6648 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6649 variable `area'. When looking for a row under (X,Y), give up if some
6650 of the previous rows is not enabled.
d575011f 6651
ecf4d726
GM
66522000-12-12 Gerd Moellmann <gerd@gnu.org>
6653
2ebf6139
GM
6654 * window.c (Fset_window_point): If displaying cursors in windows
6655 other than the selected window, make sure redisplay updates
6656 other windows to show the new value of point in the window.
6657
6658 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6659
bfdb75ee
GM
6660 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6661 the buffer is the sole visible buffer when in the mini-buffer.
6662
52283633 6663 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6664 Bind `inhibit-read-only' to t.
6665 (unwind_with_echo_area_buffer): Use AREF.
6666
c0006262
GM
6667 * xfns.c (Fx_hide_tip): Simplified.
6668
52283633
SM
6669 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6670 instead of `1'.
e9a59cad 6671
ecf4d726
GM
6672 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6673
e5959a9a
GM
66742000-12-11 Gerd Moellmann <gerd@gnu.org>
6675
a3642e49 6676 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6677
44b5a125
GM
6678 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6679 nothing to do. Bind inhibit-quit.
6680 (tip_frame): Make it a Lisp_Object.
6681 (x_create_tip_frame): Set tip_frame after it has been added to
6682 Vframe_list.
6683 (Fx_show_tip): Don't set tip_frame here.
6684
6685 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6686
6687 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6688 Lisp_Object.
6689
6690 * dispextern.h: Change external declaration of tip_frame.
6691
d990421f
GM
6692 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6693 return an empty string.
6694
4db87380
GM
6695 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6696 of the window's update_mode_line flag, since the former is set by
6697 force-mode-line-update, not the latter. This makes
6698 column-number-mode slightly faster.
52283633 6699
e5959a9a
GM
6700 * xdisp.c (try_window_id) <all changes above window start>:
6701 Set the cursor.
6702
169fe44e
GM
67032000-12-11 Paul Eggert <eggert@twinsun.com>
6704
6705 * config.in (HAVE_FTELLO): Remove.
6706 (HAVE_FSEEKO): Add.
6707 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6708 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6709 HAVE_FTELLO.
6710 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6711 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6712
59ec59ae
MB
67132000-12-11 Miles Bader <miles@gnu.org>
6714
6715 * window.c (displayed_window_lines): Don't round up when
6716 converting empty space at bottom to lines.
ff904dd6
MB
6717 Handle non-newline-terminated final lines properly.
6718 (Fwindow_text_height): New function (used to be in lisp).
6719 (syms_of_window): Initialize it.
59ec59ae 6720
42ebfa31
SM
67212000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6722
6723 * syntax.c (scan_lists): Check that the right quote char has the
6724 right Sstring syntax when jumping over strings.
6725 (init_syntax_once): Use Smax rather than 13.
6726
5cdb3cf3
MB
67272000-12-09 Miles Bader <miles@gnu.org>
6728
6729 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6730 with PARTIALLY, inverting the sense.
6731 (window_scroll_pixel_based): Scroll partially visible lines into
6732 place if we hit the beginning or end of the buffer.
a12167c5
MB
6733 (displayed_window_lines): Don't include partially visible lines.
6734 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6735
842b2a94
GM
67362000-12-08 Gerd Moellmann <gerd@gnu.org>
6737
6738 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6739
6740 * tparam.c (tparam1): Change the way buffers are reallocated to be
6741 portable and less obfuscated.
6742
6743 * termcap.c (tgetent): Change the way buffers are reallocated to
6744 be portable and less obfuscated.
6745
6746 * macros.c (store_kbd_macro_char): Change the way buffers are
6747 reallocated to be portable and less obfuscated.
6748
6749 * lread.c (read1): Change the way buffers are reallocated to be
6750 portable and less obfuscated.
6751
6752 * doc.c (Fsubstitute_command_keys): Change the way buffers
6753 are reallocated so that it is portable.
6754
137cad7c
EZ
67552000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6756
6757 * dosfns.c (Ffile_system_info): New function.
6758 (syms_of_dosfns): Defsubr it.
6759
5c7f629c
SM
67602000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6761
6762 * alloc.c (gc_sweep): Add comment.
6763
959e647d
GM
67642000-12-07 Gerd Moellmann <gerd@gnu.org>
6765
52283633
SM
6766 * sound.c (vox_configure): Change order of ioctls.
6767 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6768 Ignore errors when changing volume.
6769 (vox_close): Don't reset the device.
6770
926b7e5e
GM
6771 * process.c (read_process_output): Make sure the process marker's
6772 position is valid when the process buffer is changed in
6773 after-change functions. W3 does that.
52283633 6774
959e647d
GM
6775 * xfns.c (x_free_gcs): New function.
6776
6777 * xterm.h (x_free_gcs): Add prototype.
6778
6779 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6780 freeing GCs here.
6781
6782 * xterm.c (x_destroy_window): Call x_free_gcs so that
6783 resources of non-toolkit X windows will be freed.
6784
478ea067
AI
67852000-12-07 Andrew Innes <andrewi@gnu.org>
6786
6787 * w32fns.c (xlfd_charset_of_font): Fix last change.
6788
fbee3231
DL
67892000-12-06 Dave Love <fx@gnu.org>
6790
67292061
DL
6791 * md5.h (__P): Don't define -- it comes from config.h.
6792
fbee3231
DL
6793 * strftime.c: Change some #if foo to #ifdef foo.
6794
4ee87dbb
AI
67952000-12-06 Andrew Innes <andrewi@gnu.org>
6796
6797 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6798
52283633 6799 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6800 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6801 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6802
9765b4a4
GM
68032000-12-06 Gerd Moellmann <gerd@gnu.org>
6804
d285b373
GM
6805 * alloc.c (gc_sweep): Prevent symbols read during loadup
6806 from being freed.
6807
384333ee
GM
6808 * xdisp.c (underlying_face_id): New function.
6809 (handle_face_prop, face_before_or_after_it_pos): Use it
6810 to determine the face ``under'' a string. Let strings inherit
6811 the face of the buffer under them.
6812
6813 * xfaces.c (face_at_string_position): Update function comment.
52283633 6814
d4b72d58
GM
6815 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6816 matrix if the window's left position has changed; we need to
6817 redraw it in this case.
6818
6819 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6820
e1d05387
GM
6821 * window.c (coordinates_in_window): Check mouse on mode-line or
6822 header-line first.
6823
eb1b0c74
GM
6824 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6825 advertized by the function documentation.
6826
d94d636f
GM
6827 * window.c (syms_of_window): Doc fix.
6828
3887b449
GM
6829 * sound.c (vox_configure): Set volume for left and right channel.
6830 (sound_cleanup): Return nil.
6831
efc8f57a
GM
6832 * xdisp.c (move_it_by_lines): Fix paren typo.
6833
9765b4a4
GM
6834 * xterm.c (x_load_font): Don't use the font's max_bounds for
6835 computing the height of the font. If max_bounds' ascent or
6836 descent are greater than the font's ascent or descent, this means
6837 glyphs overlap, which should be handled now by redisplay.
6838
6529ed87
GM
6839 * window.c (Veven_window_heights): New variable.
6840 (syms_of_window): DEFVAR_LISP it.
6841 (Fdisplay_buffer): Check Veven_window_heights before evening the
6842 window heights.
52283633 6843
0eb2ecde
MB
68442000-12-06 Miles Bader <miles@gnu.org>
6845
6846 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6847 update `default-frame-alist' instead of setting no frame parameters.
6848
03d7a167
KH
68492000-12-06 Kenichi Handa <handa@etl.go.jp>
6850
6851 * composite.c (update_compositions): Fix typo (use the correct
6852 variable).
6853
5f8803c2
JR
68542000-12-05 Jason Rumney <jasonr@gnu.org>
6855
6856 * md5.h: Remove underscores from function declarations.
6857 (__attribute__, __alignof__) [!__GNUC__]: Define.
6858
6859 * md5.c: Delay include of md5.h until after namespace cleaning.
6860
c28a075b
JR
6861 * makefile.w32-in (fns.o): Depend on md5.h
6862 (md5.o): New target.
6863 (sunfns.o): Remove.
6864
6865 * makefile.nt: Likewise.
6866
ff3c7056
JR
68672000-12-05 Jason Rumney <jasonr@altavista.net>
6868
6869 * w32term.c (expose_area): Complete last change.
6870
0c21eeeb
KR
68712000-12-05 Ken Raeburn <raeburn@gnu.org>
6872
6873 * minibuf.c: Include intervals.h.
6874
f201d732
JR
68752000-12-05 Jason Rumney <jasonr@gnu.org>
6876
6877 * w32term.c (x_produce_glyphs): If a font for a component of
6878 a composition is not found, use 1 pixel dot ascent and 0 dot
6879 descent value to avoid displaying terribly tall empty boxes.
6880 (expose_area): Pass x-coordinate relative to the exposed
6881 area to x_draw_glyphs instead of a window-relative coordinate.
6882
21999ab9
GM
68832000-12-05 Gerd Moellmann <gerd@gnu.org>
6884
4d2036e4
GM
6885 * xdisp.c (next_element_from_ellipsis): Save face before selective
6886 display in saved_face_id, and set face_before_selective_p.
6887 (reseat_1): Reset face_before_selective_p.
6888 (append_space, extend_face_to_end_of_line): If iterator's
6889 face_before_selective_p is set, use the face from saved_face_id.
6890 (extend_face_to_end_of_line): For tty frames, make sure to
6891 use the right face id when producing spaces at the end of
6892 the line.
6893
6894 * dispextern.h (struct it): Add face_before_selective_p.
6895
52be17cc
GM
6896 * keyboard.c (record_char): Don't record identical help-echo
6897 events in recent_keys.
6898
8a4f36cc
GM
6899 * xterm.c [USE_X_TOOLKIT]: Close the display.
6900 (xim_close_dpy): Handle case that the display has been closed.
6901
57d6e381
GM
6902 * xterm.c (x_destroy_window): Reset the frame's X window after
6903 destroying it.
6904
21999ab9
GM
6905 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6906 variable window_width.
6907 (line_draw_cost): Fix code skipping over spaces at the end of the
6908 line when must_write_spaces is not set.
6909 (scrolling_window): Fix code inserting runs in list of all runs.
6910
91372bb7
KH
69112000-12-05 Kenichi Handa <handa@etl.go.jp>
6912
6913 * coding.c (setup_coding_system): Be sure to initialize
6914 coding->category_idx.
6915
6c083b4c
GM
69162000-12-04 Gerd Moellmann <gerd@gnu.org>
6917
0c68ce6f 6918 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6919
6452929e
GM
6920 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6921 area to x_draw_glyphs instead of a window-relative coordinate.
6922
d7f31e22
GM
6923 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6924 error in the message.
6925
ae18aa3b
GM
6926 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6927 timer after having read a key. It's not good for code reading
6928 several keys in a loop, like an input method.
6929
caa15ef7
GM
6930 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6931 record undo information for format-decode.
6932
6933 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6934 current buffer is read-only, not if it isn't.
6935
6c083b4c
GM
6936 * keyboard.c (record_char): Record `help-echo' input events
6937 in recent_keys only if they display some help. Don't record
6938 `help-echo' events as macro char.
6939
caa15ef7
GM
69402000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6941
6942 * editfns.c (save_excursion_restore): Don't move point
6943 in another window if it is showing the wrong buffer.
6944 Avoid the call to Fwindow_live_p, for speed.
6945
5a13529b
KH
69462000-12-04 Kenichi Handa <handa@etl.go.jp>
6947
e225faa7
KH
6948 * xfaces.c (struct font_name): New member registry_priority.
6949 (split_font_name): Initialize the above member to zero.
6950 (concat_font_list): New function.
6951 (font_list): Include fonts of all alternative registries.
6952 (FONT_POINT_SIZE_QUANTUM): New macro.
6953 (better_font_p): Ignore point size difference less than
6954 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6955
e89648b4
KH
6956 * xterm.c (x_produce_glyphs): If a font for a component of
6957 a composition is not found, use 1 pixel dot ascent and 0 dot
6958 descent value to avoid displaying terribly tall empty boxes.
6959
5a13529b
KH
6960 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6961
d7935eb6
KR
69622000-12-03 Ken Raeburn <raeburn@gnu.org>
6963
6964 * coding.h (code_convert_string1): Declare.
6965
6966 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6967
52283633 6968 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6969
0dd5e255
JR
69702000-12-02 Jason Rumney <jasonr@gnu.org>
6971
6972 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6973 correctly for single byte character case.
6974 (w32_per_char_metric): Do not try to make any assumptions about
6975 the metrics of BDF fonts.
250cfece 6976 (x_estimate_mode_line_height): If `mode-line' face
52283633 6977 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6978 (note_mouse_highlight): Change the cursor shape on the vertical
6979 border between windows [not enabled].
6980
6981 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6982
6983 * w32fns.c (Fx_create_frame): Reintroduce the call to
6984 face-set-after-frame-defaults.
6985 (Vx_window_horizontal_drag_shape): New variable.
6986 (syms_of_xfns): DEFVAR_LISP it.
6987 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6988 enabled].
0dd5e255 6989
b5d8d2ca
GM
69902000-12-02 Simon Josefsson <simon@josefsson.org>
6991
6992 * fns.c (Fmd5): Use a different logic to decide the coding system
6993 to use.
6994
6995 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6996
fbb87147
EZ
69972000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6998
52283633 6999 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 7000
447e9da0
GM
70012000-12-01 Gerd Moellmann <gerd@gnu.org>
7002
7708ced0
GM
7003 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7004 height for YNegative.
7005 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7006 height; also see comment there.
7007
447e9da0
GM
7008 * window.c (coordinates_in_window): Handle computations for
7009 positions on the vertical bar and fringes differently for
7010 window-system frames. Consider some pixels near the vertical bar
7011 as on the bar if the frame doesn't have vertical scroll bars.
7012 Associate positions between mode or header lines with the
7013 right window, the left one.
7014
86d1db20
JR
70152000-12-01 Jason Rumney <jasonr@gnu.org>
7016
7017 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7018
7019 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7020 invalid frame.
7021
a1d58e5b
GM
70222000-12-01 Gerd Moellmann <gerd@gnu.org>
7023
52283633 7024 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7025 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7026 (save_window_save, Fset_window_configuration): Save/restore
7027 window's orig_top and orig_height.
7028
89c609af
JR
70292000-12-01 Jason Rumney <jasonr@gnu.org>
7030
4d177746 7031 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7032
89c609af
JR
7033 * w32fns.c (x_set_cursor_color): Fix last change.
7034
eccc05db
GM
70352000-11-30 Gerd Moellmann <gerd@gnu.org>
7036
31b6671b
GM
7037 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7038 sure that the next redisplay displays the minibuffer, so that
7039 the cursor will be replaced with what the minibuffer wants.
7040
eccc05db
GM
7041 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7042 #ifndef instead of using #if.
7043 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7044 USE_TOOLKIT_SCROLL_BARS is defined.
7045
162de750
JR
70462000-11-30 Jason Rumney <jasonr@gnu.org>
7047
7048 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7049 x_display_cursor.
7050
693c4692
GM
70512000-11-30 Gerd Moellmann <gerd@gnu.org>
7052
7053 * fns.c (Fmd5): Doc fix.
7054
b5d8d2ca 70552000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7056
7057 * fns.c (Fmd5): New function.
7058 (syms_of_fns): Defsubr md5.
7059
7060 * Makefile.in (obj): Add md5.o
7061
b02cd40b
GM
70622000-11-30 Gerd Moellmann <gerd@gnu.org>
7063
edfb795e
GM
7064 * md5.h, md5.c: New files, taken from glibc.
7065
df3aedcf
GM
7066 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7067
b02cd40b 7068 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7069 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7070
8b5176cd
SM
70712000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7072
7073 * eval.c (Frun_hooks): Allow 0 arguments.
7074
346598f1
GM
70752000-11-29 Gerd Moellmann <gerd@gnu.org>
7076
f9396e03
GM
7077 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7078 is over the menu bar widget, say it's not on the frame.
7079
4a967a9b
GM
7080 * xfns.c (Fx_create_frame): Reintroduce the call to
7081 face-set-after-frame-defaults.
7082
346598f1
GM
7083 * eval.c (Fsignal): Reset handling_signal.
7084
222456a1
JR
70852000-11-28 Jason Rumney <jasonr@gnu.org>
7086
7087 * w32menu.c (add_menu_item): Reset menu item text when changing
7088 type to radio button.
7089
8049ddc0
GM
70902000-11-28 Gerd Moellmann <gerd@gnu.org>
7091
346598f1 7092 * xselect.c: Update copyright.
f4f4ee4d 7093
bebe4a2c
GM
7094 * window.c (coordinates_in_window): If on a mode or header line,
7095 but sufficiently close to its start, return ``on vertical
7096 border''. This gives us a way to drag windows horizontally when
7097 using toolkit scroll bars.
7098
7099 * xterm.c (note_mouse_highlight): Change the cursor shape
7100 on the vertical border between windows.
7101
7102 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7103
7104 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7105 (syms_of_xfns): DEFVAR_LISP it.
7106 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7107
8d2c2642
GM
7108 * textprop.c (text_read_only): New function.
7109 (verify_interval_modification): Use it instead of signaling
7110 `text-read-only'. This makes it easier to catch this error
52283633 7111 with a breakpoint.:
8d2c2642 7112
52283633 7113 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7114 not end of line, which includes CR.
7115
5a2bae6c
KH
71162000-11-28 Kenichi Handa <handa@etl.go.jp>
7117
7118 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7119 include no-conversion.
7120
ae31f84d
JR
71212000-11-27 Jason Rumney <jasonr@gnu.org>
7122
7123 * w32fns.c (w32_load_system_font): Always mark font as double byte
7124 if codepage is unicode.
7125
67f1cf4c
GM
71262000-11-27 Gerd Moellmann <gerd@gnu.org>
7127
4a74d071 7128 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7129 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7130
902ae620
GM
7131 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7132 `vertical-line', `mode-line' and `header-line' events.
7133
7134 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7135 of a character, a TAB for instance. This is easier than to set
7136 up the iterator exactly, and it's not a frequent case, so the
7137 additional effort wouldn't really pay off.
7138
c1e279c2
AC
71392000-11-26 Andrew Choi <akochoi@i-cable.com>
7140
67f1cf4c 7141 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7142 init_window_once.
7143
a609568a
JR
71442000-11-25 Jason Rumney <jasonr@gnu.org>
7145
52283633
SM
7146 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7147 Args to window_from_coordinates should be pixel coordinates.
48b21762 7148
a609568a
JR
7149 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7150 redisplay handles them properly.
7151
a658d039
MB
71522000-11-25 Miles Bader <miles@gnu.org>
7153
7154 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7155
d3416cca
JR
71562000-11-24 Jason Rumney <jasonr@gnu.org>
7157
7158 * w32.c (init_environment): Set LANG environment variable based on
7159 locale settings, if not set.
7160
7161 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7162 making tool bar smaller. When clearing the frame, also
7163 clear current matrices. Clear frame when tool bar disappears.
7164 Don't use more lines for the tool-bar than is available.
7165 (x_change_window_heights): New function.
7166
ba193890
GM
71672000-11-24 Gerd Moellmann <gerd@gnu.org>
7168
2be8f184
GM
7169 * xdisp.c (init_from_display_pos): If POS says we're already after
7170 an overlay string ending at POS, make sure to pop the iterator
7171 because it will be in front of that overlay string. When POS is
7172 ZV, we've thereby also ``processed'' overlay strings at ZV.
7173
ba193890
GM
7174 * xfaces.c (lface_from_face_name): Function comment fix.
7175
1862a24e
MB
71762000-11-24 Miles Bader <miles@gnu.org>
7177
7178 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7179 apply `mode-line-inverse-video' -- zero means force display using
7180 the default face, non-zero means display using the specialized face.
7181 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7182
f07fa1b8
KH
71832000-11-23 Kenichi Handa <handa@etl.go.jp>
7184
7185 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7186 hard coded `4'.
7187
2bcdf662
EZ
71882000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7189
7190 * coding.c (decode_coding_emacs_mule): Fix the case of
7191 CODING_EOL_LF, which used uninitialized value of c.
7192
ba8299ff
SM
71932000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7194
7195 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7196
f4117c4d
GM
71972000-11-22 Gerd Moellmann <gerd@gnu.org>
7198
03e757c1
GM
7199 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7200 buffer object.
7201
f4117c4d
GM
7202 * frame.h (struct frame): Replace desired_tool_bar_items,
7203 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7204 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7205
7206 * frame.c (make_frame): Change initialization of tool bar
7207 items accordingly.
7208
7209 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7210 Change references to members deleted from struct frame to use the
f4117c4d
GM
7211 new ones.
7212
7213 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7214 references to members deleted from struct frame to use the new ones.
f4117c4d 7215
52283633 7216 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7217
7218 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7219
7220 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7221 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7222 from struct frame to use the new ones.
7223
f8e2f3f2
MB
72242000-11-23 Miles Bader <miles@gnu.org>
7225
7226 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7227 the face's inverse-video attribute, rather than overriding it.
7228
60e8e0a5
GM
72292000-11-22 Gerd Moellmann <gerd@gnu.org>
7230
7231 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7232 making tool bar smaller.
7233
92dd1b29
DL
72342000-11-22 Dave Love <fx@gnu.org>
7235
7236 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7237
e672fdce
MB
72382000-11-22 Miles Bader <miles@gnu.org>
7239
3a17d6cc
MB
7240 * keyboard.c (Vminibuffer_message_timeout): New variable.
7241 (command_loop_1): Use it to determine message timeout.
7242 (syms_of_keyboard): Initialize it.
7243
60e8e0a5 7244 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7245
e9655d81
KH
72462000-11-22 Kenichi Handa <handa@etl.go.jp>
7247
7248 * sysdep.c: Move the code for declaring h_errno after #include
7249 <netdb.h>.
7250
77270fac
GM
72512000-11-21 Gerd Moellmann <gerd@gnu.org>
7252
cd913aae
GM
7253 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7254 the menu bar when the tooltip is unmapped.
7255
77270fac
GM
7256 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7257 sole visible buffer when we're currently in the mini-buffer, and
7258 give up if so.
52283633 7259
556635d6
JR
72602000-11-21 Jason Rumney <jasonr@gnu.org>
7261
7262 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7263 put on the clipboard.
7264 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7265 copy of what Emacs last put there. If they are the same, do not
52283633 7266 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7267
5b7bde64
MB
72682000-11-22 Miles Bader <miles@gnu.org>
7269
7270 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7271 (syms_of_minibuf): Initialize it.
7272 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7273 to prompt, don't make read-only.
7274
ff23e1dd
GM
72752000-11-21 Gerd Moellmann <gerd@gnu.org>
7276
52283633
SM
7277 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7278 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7279
7aaf4388
GM
7280 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7281
f5f47add 7282 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7283
ff23e1dd
GM
7284 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7285
37c35586
KH
72862000-11-21 Kenichi Handa <handa@etl.go.jp>
7287
7288 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7289 ... #endif scope.
7290
ff9ab414
GM
72912000-11-20 Gerd Moellmann <gerd@gnu.org>
7292
52283633 7293 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7294 screen supports it.
7295
29a01b72
GM
7296 * s/gnu-linux.h: Don't use `#cpu'.
7297
09dfdf85
GM
7298 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7299 not defined in mman.h.
7300
52283633 7301 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7302 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7303 and store an index in the XClientMessageEvent. Storing a
7304 Lisp_Object or pointer can fail on a 64 bit system, since X only
7305 transfers 32 bits.
52283633
SM
7306 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7307
81459ac9
DL
73082000-11-20 Dave Love <fx@gnu.org>
7309
7310 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7311
56c13ae6
GM
73122000-11-20 Gerd Moellmann <gerd@gnu.org>
7313
7314 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7315
495a6df3
KH
73162000-11-20 Kenichi Handa <handa@etl.go.jp>
7317
2bcf3714
KH
7318 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7319 by WIDTH.
7320
495a6df3
KH
7321 * alloc.c (make_string): Fix previous change. Be sure to make
7322 unibyte string correctly.
7323
6d950f4c
GM
73242000-11-19 Gerd Moellmann <gerd@gnu.org>
7325
39b39373
GM
7326 * window.c (Fwindow_list): Change parameter list to be XEmacs
7327 compatible.
7328 (window_list_1): New function.
7329 (window_loop): Use it instead of Fwindow_list.
7330
b95b34e5
GM
7331 * sysdep.c (emacs_ospeed): New variable.
7332 (toplevel): Don't declare ospeed extern.
7333 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7334
7335 * termcap.c (ospeed): Remove.
7336 (tputs) [!emacs]: Remove unused code.
7337 (tgetent): Avoid a compiler warning.
7338
e83dc917
GM
7339 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7340 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7341 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7342
7343 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7344 removed.
7345 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7346 Take the X display as additional argument.
7347 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7348 `Widget' is a pointer type that's not easily stored in Lisp_Object
7349 form in a portable way.
52283633 7350
6d950f4c
GM
7351 * dispnew.c (update_text_area): Fix last change.
7352
e47306e6
GM
73532000-11-18 Gerd Moellmann <gerd@gnu.org>
7354
fb3cd89b
GM
7355 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7356
7357 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7358 clear current matrices.
7359
edaa9aed
GM
7360 * buffer.c (mmap_enlarge): Don't print a message on stderr
7361 if mapping new memory at the end of the existing region fails.
7362
e47306e6
GM
7363 * dispnew.c (update_text_area): Don't skip over equal glyphs
7364 when the last current glyph overlaps the glyph to its right.
7365
509633e3
MB
73662000-11-18 Miles Bader <miles@gnu.org>
7367
7368 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7369 lines that *end* with "..." too (that's the most common case!).
7370
d392e9c5
GM
73712000-11-18 Gerd Moellmann <gerd@gnu.org>
7372
67988445
GM
7373 * xdisp.c (resize_mini_window): Temporarily change to the
7374 mini-window's buffer if necessary.
1bfdbe43 7375
d392e9c5
GM
7376 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7377 the tooltip obscures less text under it.
7378
73792000-11-17 Gerd Moellmann <gerd@gnu.org>
7380
7381 * puresize.h (BASE_PURESIZE): Increase to 700000.
7382
92bb977f
JR
73832000-11-18 Jason Rumney <jasonr@gnu.org>
7384
7385 * w32term.c (w32_draw_bitmap): Use face to set colors.
7386
26fbf20b
DL
73872000-11-17 Dave Love <fx@gnu.org>
7388
7389 * lread.c (Fload): Fix #ifdef for pcc.
7390
100b593b
GM
73912000-11-17 Gerd Moellmann <gerd@gnu.org>
7392
7393 * xdisp.c (pos_visible_p): Compute the default character height
7394 differently.
7395
a288d0d1
GM
73962000-11-16 Gerd Moellmann <gerd@gnu.org>
7397
cac94de6 7398 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7399 knowing the line's height; use the default font's height in that case.
cac94de6 7400
a288d0d1
GM
7401 * xfaces.c (weight_table): Add `demi' with the same meaning as
7402 `demibold'.
7403
981fb6f6
KH
74042000-11-16 Kenichi Handa <handa@etl.go.jp>
7405
2cca872d 7406 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7407 (clear_glyph_row): Delete local static variable null_row.
7408
e5fa381b
JR
74092000-11-15 Jason Rumney <jasonr@gnu.org>
7410
7411 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7412 (w32_alloc_lighter_color): Use new brightness calculations from
7413 xterm.c. Scale delta to be in the range expected by W32.
7414 (w32_draw_relief_rect): Use frame relief colors.
7415
8e42f043
GM
74162000-11-15 Gerd Moellmann <gerd@gnu.org>
7417
6d133d1f
GM
7418 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7419 (Qinhibit_default_face_x_resources): New variable.
7420 (syms_of_frame): Initialize it.
7421 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7422
7423 * xdisp.c (pos_visible_p): Improve function comment.
7424
7425 * lisp.h (BINDING_STACK_SIZE): New macro.
7426
8e42f043
GM
7427 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7428 reading the directory if readdir returns null and errno is EAGAIN
7429 or EINTR.
7430
e8c87124
SM
74312000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7432
7433 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7434 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7435 Set amount_to_scroll to max of dx and scroll_step so that
7436 scroll-conservatively doesn't defeat scroll-step>1.
7437 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7438 scroll-conservatively for line-at-a-time scrolling.
7439
5f0c971d
GM
74402000-11-14 Gerd Moellmann <gerd@gnu.org>
7441
7442 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7443 extra argument.
7444
7445 * xdisp.c (current_mode_line_height, current_header_line_height):
7446 New variables.
7447 (init_xdisp): Initialize them.
7448 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7449 and use exact mode line heights if it is set.
7450
7451 * lisp.h (pos_visible_p): Change prototype.
7452
7453 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7454 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7455 and current_header_line_height first.
52283633
SM
7456 (current_mode_line_height, current_header_line_height):
7457 Declare extern.
5f0c971d 7458
d7361edf
MB
74592000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7460
7461 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7462 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7463 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7464
ee5e440a
MB
74652000-11-14 Miles Bader <miles@gnu.org>
7466
7467 * xterm.c (x_alloc_lighter_color): Include an additive component
7468 too for dark colors, because FACTOR isn't enough.
7469 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7470 New macros.
7471
5ca020fc
GM
74722000-11-13 Gerd Moellmann <gerd@gnu.org>
7473
7474 * keyboard.c (show_help_echo): Call message3_nolog with number of
7475 bytes in the help string as 2nd parameter, instead of the number
7476 of characters.
7477
9d348294
MB
74782000-11-13 Miles Bader <miles@gnu.org>
7479
7480 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7481 (Fload): Use new openp return protocol.
7482 Don't try to use Vload_source_file_function to load .elc files.
7483 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7484 openp return protocol.
7485 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7486
1729bb9a
KH
74872000-11-11 Kenichi Handa <handa@etl.go.jp>
7488
4e677396
KH
7489 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7490
7491 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7492 Defined these macros.
7493 (NLIST_STRUCT): Avoid re-defining it.
7494
1729bb9a
KH
7495 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7496 -I/usr/contrib/X11R6/include.
7497 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7498
a82fe213
JR
74992000-11-10 Jason Rumney <jasonr@gnu.org>
7500
7501 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7502
7503 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7504 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7505
7506 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7507 (Qw32_charset_vietnamese): New symbol.
7508 (xlfd_charset_of_font): New function.
7509 (w32_load_system_font): Use it.
7510 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7511 when Vw32_charset_info_alist is nil to ensure default face always
7512 has font. Use Fcar and Fcdr for safety.
7513 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7514 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7515 pseudo-codepages for special cases.
7516 (w32_to_x_font): New parameter to allow charset portion to be
7517 specified where there is many to one mapping. Callers changed.
7518 (w32_list_fonts): Avoid listing fonts that won't display.
7519
52d89894
GM
75202000-11-10 Gerd Moellmann <gerd@gnu.org>
7521
7522 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7523 (font_list_1): Renamed from font_list.
7524 (font_list): New function, trying alternative registries from
7525 Vface_alternative_font_registry_alist.
7526 (Finternal_set_alternative_font_registry_alist): New function.
7527 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7528 Vface_alternative_font_registry_alist.
7529 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7530
651cd3da
KR
75312000-11-09 Ken Raeburn <raeburn@gnu.org>
7532
7533 * lisp.h (Flooking_at): Declare.
7534
388ac098
GM
75352000-11-09 Gerd Moellmann <gerd@gnu.org>
7536
778fbc46 7537 * dired.c (directory_files_internal): Fix a braino.
52283633 7538
388ac098
GM
7539 * dired.c (directory_files_internal): Add missing GCPRO's.
7540 Some cleanup.
7541
ecaedde1
GM
75422000-11-08 Gerd Moellmann <gerd@gnu.org>
7543
f7eb32aa
GM
7544 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7545 (resize_mini_window): Return quickly if Vresize_mini_window is
7546 nil. Don't return if Vmax_mini_window_height is nil.
7547
7548 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7549 (syms_of_xdisp): Initialize them.
7550 (resize_mini_window): Act according to the setting of
7551 Vresize_mini_window.
7552 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7553
ecaedde1
GM
7554 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7555 scroll bar widget after configuring it, so that it will appear at
7556 the right position from the start.
7557 (XTredeem_scroll_bar): Cleaned up.
7558
3747ef2c
KH
75592000-11-08 Kenichi Handa <handa@etl.go.jp>
7560
7561 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7562 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7563 division by two.
7564
7565 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7566
03391420
DL
75672000-11-07 Dave Love <fx@gnu.org>
7568
7758f1c1 7569 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7570
7571 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7572
b5de343d
GM
75732000-11-07 Gerd Moellmann <gerd@gnu.org>
7574
acad3c0b
GM
7575 * window.c (Fset_window_configuration): Don't try to preserve
7576 point in the current buffer, if that buffer is displayed in more
7577 than one window.
7578
b5de343d
GM
7579 * xfaces.c (lookup_named_face): If default face isn't realized,
7580 try to realize it. Return -1 if not successful.
7581 (Fx_list_fonts): Handle case that face cannot be determined.
7582 (Fface_font): Likewise.
7583
cdb1fe49
GM
75842000-11-06 Gerd Moellmann <gerd@gnu.org>
7585
7586 * window.c (displayed_window_lines): Detect partially
7587 visible lines at the bottom correctly.
7588
d3a67486
SM
75892000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7590
7591 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7592 when ensuring we don't do visit in indirect buffer.
7593
ff8dd5d5
KH
75942000-11-06 Kenichi Handa <handa@etl.go.jp>
7595
7596 * composite.h (compose_chars_in_text): Add prototype.
7597
7598 * composite.c (Vcomposition_function_table): New variable.
7599 (Qcomposition_function_table): New variable.
7600 (run_composition_function): Call
7601 Vcompose_chars_after_function with three arguments.
7602 (compose_chars_in_text): New function.
7603 (syms_of_composite): Modified the doc-string of
7604 Vcompose_chars_after_function. Declare composition-function-table
7605 as a lisp variable, and initialize it.
7606
7607 * xfns.c (x_encode_text): Suppress producing escape sequences for
7608 composition.
7609
7610 * xselect.c: Include composite.h.
7611 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7612
d1145f85
AI
76132000-11-05 Andrew Innes <andrewi@gnu.org>
7614
7615 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7616
7617 * sysdep.c (read_input_waiting): Remove extraneous argument to
7618 read_socket_hook.
7619
7620 * w32fns.c (Fx_server_version): Include w32_build_number in the
7621 return list.
7622
7623 * w32heap.c (w32_build_number): New variable.
7624 (cache_system_info): Set it.
7625
7626 * w32heap.h (w32_build_number): Add extern.
7627
7628 * emacs.c (syms_of_emacs): Update docstring for
7629 system-configuration, to reflect the actual usage on MS-Windows.
7630
e85ee976
GM
76312000-10-31 Gerd Moellmann <gerd@gnu.org>
7632
26dcb81b
GM
7633 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7634 process idle timers while waiting for another event.
7635
52283633 7636 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7637 the default face are colored.
7638
e85ee976
GM
7639 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7640 window height hasn't changed.
7641
01b220b6
JR
76422000-10-31 Jason Rumney <jasonr@gnu.org>
7643
7644 * w32term.c (x_produce_glyphs): Handle composite characters.
7645 (x_draw_glyph_string_foreground)
7646 (x_draw_composite_glyph_string_foreground): Restore old font.
7647
4e6b7204
MB
76482000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7649
7650 * minibuf.c (read_minibuf): Reset the undo history just before
7651 starting the recursive-edit.
7652
d4358b37
GM
76532000-10-30 Gerd Moellmann <gerd@gnu.org>
7654
563f68f1
GM
7655 * xfaces.c (menu_face_change_count): New variable.
7656 (Finternal_set_lisp_face_attribute): Increment it for changes
7657 of the `menu' face.
7658 (realize_basic_faces): Reflect changes in the `menu' faces
7659 in menu bars.
7660
82e274d1
GM
7661 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7662 dy obtained from the iterator's y-position after moving from
7663 scroll_margin_pos to PT; see comment there.
52283633 7664
0dbf9fd2
GM
7665 * xdisp.c (safe_eval_handler): Call add_to_log.
7666
906b3b14
GM
7667 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7668 is not a symbol or string.
7669
d4358b37
GM
7670 * xdisp.c (echo_area_display): Don't perform a display update from
7671 inside redisplay. The update will happen anyway at the end of
7672 redisplay, and it can confuse redisplay (GC messages while
7673 redisplaying, for instance.)
7674
70c825df
SM
76752000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7676
cf9b4b0b
SM
7677 * xrdb.c (x_load_resources): Use the class name in the defaults.
7678
70c825df
SM
7679 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7680 (regex_compile): Catch bogus \(\1\).
7681
a1d34b1e
GM
76822000-10-30 Gerd Moellmann <gerd@gnu.org>
7683
cae71efe
GM
7684 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7685 RGB values.
52283633 7686
35efe0a1
GM
7687 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7688 we have a color cache, check that the cached color equals the
7689 allocated color. If not, clear the color cache.
7690
1d3baf74
GM
7691 * window.c (displayed_window_lines): Change buffers if necessary.
7692 Fix computation of displayed lines.
7693
a1d34b1e
GM
7694 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7695 update_menu_bindings to DEFVAR_BOOL.
7696
70737ea9
KH
76972000-10-30 Kenichi Handa <handa@etl.go.jp>
7698
70c825df 7699 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7700
fa0cb51d
KH
7701 * puresize.h (BASE_PURESIZE): Increase to 680000.
7702
70737ea9
KH
7703 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7704
0e4c08e8
JR
77052000-10-29 Jason Rumney <jasonr@gnu.org>
7706
7707 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7708
7709 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7710 (w32_cache_char_metrics): Handle possibility that 'x' does not
7711 exist in a BDF font.
7712 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7713
7714 * w32bdf.h (bdffont): Add nchars.
7715
7716 * w32bdf.c (set_bdf_font_info): Set it.
7717 (w32_BDF_TextOut): Swap byte order of double byte characters.
7718 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7719
45b84006
EZ
77202000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7721
7722 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7723 don't override the colors in frame's param_alist, unless they are
7724 unspecified.
7725
7726 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7727 reverse the effect of the highlight flag.
7728
caf9deee
KR
77292000-10-27 Ken Raeburn <raeburn@gnu.org>
7730
7731 * window.h (Fwindow_live_p): Declare.
7732
ae0b9b46
KR
7733 * undo.c (record_delete): Check that last_undo_buffer is really a
7734 buffer before applying XBUFFER to it.
7735
7736 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7737 Faref.
7738
02067692
SM
77392000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7740
7741 * lisp.h (KEYMAPP): New macro.
7742 (get_keymap): Remove.
7743 (get_keymap_1): Rename get_keymap.
7744
7745 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7746
7747 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7748
7749 * xmenu.c (single_submenu): Use KEYMAPP.
7750 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7751 Use KEYMAPP rather than Fkeymapp.
7752
7753 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7754
7755 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7756 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7757 Use KEYMAPP rather than Fkeymapp.
7758 (single_submenu): Use KEYMAPP.
7759 (w32_menu_show, w32_dialog_show): Use TRUE.
7760
7761 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7762
7763 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7764 (Fkeymapp): Use KEYMAPP.
7765 (get_keymap): Rename from get_keymap_1. Remove old def.
7766 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7767 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7768 (Fminor_mode_key_binding): Don't raise an error if the binding
7769 is not a keymap.
7770 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7771 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7772
7773 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7774 Allow Vspecial_event_map to be autoloaded.
7775 (menu_bar_items): Fetch the keymap rather than using keymapp.
7776 (menu_bar_one_keymap): No need to follow func-indirect any more.
7777 (parse_menu_item): get_keymap_1 -> get_keymap.
7778 (tool_bar_items): Fetch the keymap rather than using keymapp.
7779 (read_key_sequence): Use KEYMAPP.
7780
7781 * intervals.c (get_local_map): Use get_keymap rather than following
7782 function-indirections explicitly.
7783
7784 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7785
f9d80af3
JR
77862000-10-27 Jason Rumney <jasonr@gnu.org>
7787
7788 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7789 point, as Windows has oversized fonts.
7790
7791 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7792
a3ba27da
GM
77932000-10-27 Gerd Moellmann <gerd@gnu.org>
7794
7795 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7796 (freehook, reallochook): Handle null pointer arguments.
7797 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7798
aa3b80cc
SM
77992000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7800
7801 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7802 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7803 Giving in to popular pressure to shut up the compiler with casts.
7804
e24e84cc
GM
78052000-10-27 Gerd Moellmann <gerd@gnu.org>
7806
7807 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7808 signed value, and use a default value computed from the font's
7809 maximum descent.
7810
05ea7ef2
MB
78112000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7812
7813 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7814 that specify a negative underline position can still use underlines.
7815
7816 * window.c (Fpos_visible_in_window_p): Make POS default to
7817 WINDOW's point, not the current buffer's point.
7818
0b95284b
DL
78192000-10-26 Dave Love <fx@gnu.org>
7820
7821 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7822 when it's necessary.
7823
6c5b90af
GM
78242000-10-26 Gerd Moellmann <gerd@gnu.org>
7825
8b6d9dc9
GM
7826 * window.c (size_window): Compute size difference from sum of old
7827 child window sizes instead of from parent's size.
7828
6bc92b2e
GM
7829 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7830 Handle obscured lines at the top of the window.
7831
7832 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7833 down after the last error condition check.
7834
6c5b90af
GM
7835 * frame.c (Fdelete_frame): Run delete-frame-hook.
7836
42f92d4d
KH
78372000-10-26 Kenichi Handa <handa@etl.go.jp>
7838
7839 * coding.c (decode_coding): Fix previous change (check also
7840 CODING_MODE_LAST_BLOCK).
7841
d97151cb
SM
78422000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7843
e7efc503
SM
7844 * regex.c: More `unsigned char' -> `re_char' changes.
7845 Also change several `int' into `re_wchar_t'.
7846 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7847 (PUSH_FAILURE_POINTER): Don't cast any more.
7848 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7849 We want GCC to complain, since this piece of code makes
7850 re_match non-reentrant, which *should* be fixed.
7851 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7852 (EXTEND_BUFFER): Use RETALLOC.
7853 (SET_LIST_BIT): Don't cast.
7854 (re_wchar_t): New type.
7855 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7856 that those two functions will always properly return.
7857 (IMMEDIATE_QUIT_CHECK): Cast to void.
7858 (analyse_first): Use recursion rather than an explicit stack.
7859 (re_compile_fastmap): Can't fail anymore.
7860 (re_search_2): Don't check re_compile_fastmap for failure.
7861 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7862 Now also sets the new value (passed in a new argument).
7863 (re_match_2_internal): Use it.
7864 Also, use a new var `reg' of type size_t when looping through regs
7865 rather than reuse the inappropriate `mcnt'.
7866
d97151cb
SM
7867 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7868 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7869 (where_is_internal): Renamed from Fwhere_is_internal.
7870 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7871 (Fwhere_is_internal): New function wrapping where_is_internal.
7872 (where_is_internal_1): Handle the case where we're filling the cache.
7873 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7874
d5789b65
MB
78752000-10-25 Miles Bader <miles@gnu.org>
7876
7877 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7878
4ecda532
GM
78792000-10-25 Gerd Moellmann <gerd@gnu.org>
7880
7881 * window.c (pos_fully_visible_p): Removed.
7882 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7883 if position is visible and/or fully visible.
7884
7885 * lisp.h (pos_visible_p): Add prototype.
7886
7887 * xdisp.c (pos_visible_p): New function.
7888
68c3a137
KH
78892000-10-25 Kenichi Handa <handa@etl.go.jp>
7890
7891 * process.c (send_process): If OBJECT is t, it means that the data
7892 is from C string, but we should encode it. Before calling
7893 setup_raw_text_coding_system, be sure to flush out data by the
7894 previous coding system.
7895
7ae1c032
MB
78962000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7897
ff4dcd4b
MB
7898 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7899 assignment of startpos to prev when startpos == pos.
7900
7ae1c032
MB
7901 * editfns.c (find_field): Set the field stickiness correctly from
7902 overlay fields. Use renamed `text_property_stickiness'.
7903 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7904 Only check text properties, not overlays.
7ae1c032
MB
7905 * textprop.c (get_char_property_and_overlay): New function.
7906 (Fget_char_property): Use it.
7907 * intervals.h (get_char_property_and_overlay): Add declaration.
7908
49801145
SM
79092000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7910
7911 * keymap.c: Use AREF, ASET and ASIZE macros.
7912 (Fmake_sparse_keymap): Docstring fix.
7913 (synkey): Remove.
7914 (shadow_lookup): Move up.
7915 Handle the case where lookup-key returns an integer.
7916 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7917 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7918 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7919 Simplify/rewrite the keymap-finding code.
7920 Add check for command shadowing, using shadow_lookup.
7921
39e776cd
SM
79222000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7923
7924 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7925 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7926 a symbol.
7927
2488aba5
AI
79282000-10-24 Andrew Innes <andrewi@gnu.org>
7929
7930 * dired.c (directory_files_internal_unwind): New function.
7931 (directory_files_internal): Use it to ensure closedir is called
7932 even if expand-file-name or file-attributes throw, eg. because of
7933 a user interrupt. Also enable immediate_quit while calling
7934 re_search, so that matching can be interrupted as well.
7935
b94fdf61
AI
79362000-10-24 Andrew Innes <andrewi@gnu.org>
7937
7938 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7939 NT-Emacs only.
7940 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7941 so that re_search functions only quit when callers expect them to.
7942
79432000-10-24 Kenichi Handa <handa@etl.go.jp>
7944
7945 * regex.c (regex_compile): Change the way of handling a range from
7946 a char less than 256 to a char not less than 256.
7947
1946f901
GM
79482000-10-24 Gerd Moellmann <gerd@gnu.org>
7949
7ae2f10f
GM
7950 * window.c (size_window): Prevent setting window's width or
7951 height to a negative value (esp. with XSETFASTINT).
7952
5dcab13e
GM
7953 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7954 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7955 (protect_malloc_state) [GC_MALLOC_CHECK &&
7956 GC_PROTECT_MALLOC_STATE]: New function.
7957 (PROTECT_MALLOC_STATE): New macro.
7958 (__malloc_initialize, morecore, _malloc_internal)
7959 (_free_internal) _realloc_internal): Use it to make _heapinfo
7960 read-only outside of gmalloc.
7961
63e1b552
GM
7962 * keymap.c: Update copyright.
7963
1946f901
GM
7964 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7965 a symbol.
7966
4fa09beb
GM
79672000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7968
7969 * filelock.c (unlock_all_files): Use unlock_file to expand each
7970 buffer's file_truename before trying remove its lock file.
7971
23afac01
EZ
79722000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7973
7974 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7975 or CRLF, decode EOLs.
7976
04448b95
KH
79772000-10-24 Kenichi Handa <handa@etl.go.jp>
7978
7979 * window.c (Fdisplay_buffer): Fix doc.
7980
3090a5a5
JR
79812000-10-23 Jason Rumney <jasonr@gnu.org>
7982
7983 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7984 ASCII font of default fontset on Windows.
7985
7986 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7987 xterm.c comment below).
7988
7989 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7990
a83fee2c
GM
79912000-10-23 Gerd Moellmann <gerd@gnu.org>
7992
7993 * xterm.c (x_connection_closed): Reset handling_signal.
7994
52283633 7995 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7996
6ffdb539
MB
79972000-10-23 Miles Bader <miles@gnu.org>
7998
7999 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8000 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8001 maintain old behavior.
8002 * minibuf.c (Fminibuffer_complete): Likewise.
8003
7f1c969b
MB
80042000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8005
8006 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8007 that when a font can't be exactly centered, it errs up rather than
8008 down.
8009
23afac01 80102000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 8011
52283633 8012 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 8013
1a578e9b
AC
80142000-10-23 Andrew Choi <akochoi@i-cable.com>
8015
8016 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8017
8018 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8019 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8020
8021 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8022 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8023 syms_of_search, x_term_init, and init_keyboard before calling
8024 init_window_once. Also, call syms_of_xmenu.
8025
8026 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8027 default fontset to Monaco.
8028
8029 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8030 NewMacWindow and DisposeMacWindow.
8031 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8032 instead of calling NewMacWindow and setting fields of
8033 f->output_data.mac directly. Call init_frame_faces.
8034 (Fdelete_frame) [macintosh]: Remove unused code.
8035 (Fmodify_frame_parameters) [macintosh]: Call
8036 x_set_frame_parameters instead of mac_set_frame_parameters.
8037
8038 * frame.h [macintosh]: Define menu_bar_lines field in struct
8039 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8040
8041 * keyboard.c [macintosh]: Include macterm.h.
8042 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8043 and menu_bar_activate_event type events as for X and NT.
8044 (make_lispy_event) [macintosh]: Construct lisp events of type
8045 MENU_BAR_EVENT as for X and NT.
8046
8047 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8048 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8049 (sys_subshell) [macintosh]: Remove definition entirely.
8050 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8051 Vwindow_system_version here. Remove initialization of
8052 Vx_bitmap_file_path.
8053 (read_input_waiting): Correct the number of parameters passed to
8054 read_socket_hook.
8055 Move all Macintosh functions to mac/mac.c.
8056
8057 * term.c [macintosh]: Include macterm.h.
8058
8059 * window.c [macintosh]: Include macterm.h.
8060
8061 * xdisp.c [macintosh]: Include macterm.h. Declare
8062 set_frame_menubar and pending_menu_activation.
8063 (echo_area_display) [macintosh]: Do not return if terminal frame
8064 is the selected frame.
8065 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8066 Allow only the selected frame to set menu bar.
8067 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8068 calling FRAME_EXTERNAL_MENU_BAR (f).
8069 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8070
8071 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8072 and check_x. Declare XCreateGC. Define x_create_gc and
8073 x_free_gc. Initialize font_sort_order.
8074 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8075 but call x_list_fonts instead of w32_list_fonts.
8076 (Finternal_face_x_get_resource) [macintosh]: Do not call
8077 display_x_get_resource.
8078 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8079 (realize_x_face) [macintosh]: Load the font if it is specified in
8080 ATTRS.
52283633 8081 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8082
1ffbabe3
SM
80832000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8084
8085 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8086 is nil: since we go to the end of submap anyway, we'd end up
8087 setting nil to nil.
8088 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8089 doesn't obey autoload.
8090
bed43f1d
EZ
80912000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8092
1ffbabe3 8093 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8094
ea4233a7
JR
80952000-10-21 Jason Rumney <jasonr@gnu.org>
8096
8097 * w32term.c (w32_cache_char_metrics): Double check that font is
8098 really fixed pitch before trusting tmPitchAndFamily.
8099
f3d3c491
AI
81002000-10-21 Andrew Innes <andrewi@gnu.org>
8101
8102 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8103
8104 * w32term.h: Extern decl for w32_cache_char_metrics.
8105
8106 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8107
8108 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8109 (w32_unload_font): Free per_char array if present.
8110
8111 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8112 cached information in emulated XFontStruct to handle common cases
8113 quickly. Do not allocate XCharStruct for return.
8114 (w32_native_per_char_metric): New function.
8115 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8116 allocating one.
8117 (x_produce_glyphs): Don't get an HDC. Change calls to
8118 w32_per_char_metric to match arg change above. Remove calls to
8119 free results.
8120 (w32_get_glyph_overhangs): Ditto.
8121 (w32_cache_char_metrics): New function.
8122
8123 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8124 ($(BLD)/casefiddle.$(O)): Remove compile command.
8125 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8126 ($(BLD)/dispnew.obj):
8127 ($(BLD)/keyboard.obj):
8128 ($(BLD)/w32inevt.obj):
8129 ($(BLD)/w32bdf.obj):
8130 ($(BLD)/alloc.obj):
8131 ($(BLD)/buffer.obj):
8132 ($(BLD)/editfns.obj):
8133 ($(BLD)/emacs.obj):
8134 ($(BLD)/fileio.obj):
8135 ($(BLD)/fns.obj):
8136 ($(BLD)/indent.obj):
8137 ($(BLD)/insdel.obj):
8138 ($(BLD)/intervals.obj):
8139 ($(BLD)/minibuf.obj):
8140 ($(BLD)/print.obj):
8141 ($(BLD)/scroll.obj):
8142 ($(BLD)/sysdep.obj):
8143 ($(BLD)/textprop.obj):
8144 ($(BLD)/widget.obj):
f3d3c491
AI
8145 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8146 ($(BLD)/term.obj): Add dependency on dispextern.h.
8147
52283633
SM
8148 * makefile.nt ($(BLD)\dispnew.obj):
8149 ($(BLD)\keyboard.obj):
8150 ($(BLD)\w32inevt.obj):
8151 ($(BLD)\w32bdf.obj):
8152 ($(BLD)\alloc.obj):
8153 ($(BLD)\buffer.obj):
8154 ($(BLD)\editfns.obj):
8155 ($(BLD)\emacs.obj):
8156 ($(BLD)\fileio.obj):
8157 ($(BLD)\fns.obj):
8158 ($(BLD)\indent.obj):
8159 ($(BLD)\insdel.obj):
8160 ($(BLD)\intervals.obj):
8161 ($(BLD)\minibuf.obj):
8162 ($(BLD)\print.obj):
8163 ($(BLD)\scroll.obj):
8164 ($(BLD)\sysdep.obj):
8165 ($(BLD)\textprop.obj):
8166 ($(BLD)\widget.obj):
f3d3c491
AI
8167 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8168 ($(BLD)\term.obj): Add dependency on dispextern.h
8169
18ad4821
EZ
81702000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8171
8172 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8173 with an additional argument of Qt.
8174
de54681a
MB
81752000-10-21 Miles Bader <miles@gnu.org>
8176
8177 * window.c (pos_fully_visible_in_window_p): New function.
8178 (Fpos_visible_in_window_p): Add FULLY argument.
8179 Use pos_fully_visible_in_window_p.
8180 (window_scroll_pixel_based, window_scroll_line_based): Update
8181 calls to Fpos_visible_in_window_p.
8182 * lisp.h (Fpos_visible_in_window_p): Update prototype
8183
13c844fb
GM
81842000-10-20 Gerd Moellmann <gerd@gnu.org>
8185
8186 * alloc.c (toplevel): Conditionalize compilation of mem_*
8187 functions differently.
52283633 8188
d9506268
JR
81892000-10-20 Jason Rumney <jasonr@gnu.org>
8190
8191 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8192 mem_init where it used to be. mem_z etc not defined otherwise.
8193
8094989b
GM
81942000-10-20 Gerd Moellmann <gerd@gnu.org>
8195
8196 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8197 GC_MALLOC_CHECK.
8198 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8199 structure definition and related variabled to the top of the file.
8200 Include this code when GC_MALLOC_CHECK is defined.
8201 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8202 register/unregister allocated region.
8203 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8204 which isn't allocated.
8205 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8206 something which is already in use.
8207 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8208 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8209 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8210 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8211
8212 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8213 _malloc_internal instead of malloc.
8214 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8215 of free.
8216
ea456eb4
AI
82172000-10-20 Andrew Innes <andrewi@gnu.org>
8218
8219 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8220 Windows.
8221 (my_strftime) <macro>: Don't use macro arg list when redefining as
8222 _strftime_copytm.
8223 (my_strftime) <function>: Supply 0 as ut argument.
8224
e64c3a75
JR
82252000-10-19 Jason Rumney <jasonr@altavista.net>
8226
8227 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8228 including dispextern.h, as it stops faces from working.
8229
8230 * w32fns.c (Fx_create_frame): Don't bother calling
8231 face-set-after-frame-default since the caller does it for us
8232 anyway. Clean up calls to x_get_arg to be consistent with X.
8233
8234 * w32term.c (x_produce_glyphs): Handle
8235 unibyte_display_via_language_environment correctly.
8236 (w32_draw_box_rect): Fix the calculation of width and height.
8237
8238 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8239 as it has stopped working.
8240 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8241 menu-bar.
8242
17401c97
GM
82432000-10-19 Gerd Moellmann <gerd@gnu.org>
8244
8245 * eval.c (skip_debugger): Prevent a compiler warning.
8246 (Fcondition_case): Likewise.
8247 (Fbacktrace_frame): Use a null interactive spec.
8248
773272d8
KH
82492000-10-19 Kenichi Handa <handa@etl.go.jp>
8250
8251 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8252
a42943e9
GM
82532000-10-18 Gerd Moellmann <gerd@gnu.org>
8254
e50517d9
GM
8255 * strftime.c: Sync with glibc, file version 1.78.
8256 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8257 should no longer be used according to ISO 8601.
8258
9035a35a
GM
8259 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8260 no map for meta_prefix_char, don't try to use it as a keymap.
8261 Instead, if T_OK is non-zero, look up a default binding, if any,
8262 otherwise, if T_OK is zero, return nil.
8263
a42943e9
GM
8264 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8265 (x_to_xcolors, png_load): Use x_query_color.
8266
52283633
SM
8267 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8268 New functions.
a42943e9
GM
8269 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8270 which can be slow.
8271 (x_copy_color, x_alloc_lighter_color): Likewise.
8272
8273 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8274 (x_query_color, x_query_colors): Add prototype.
8275
8276 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8277 check_string_bytes only if not noninteractive, increase count to 50.
8278
00de2987
MB
82792000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8280
8281 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8282 markers correctly.
8283
54918e2b
GM
82842000-10-17 Gerd Moellmann <gerd@gnu.org>
8285
1f0b3fd2
GM
8286 * alloc.c (pure_bytes_used): Renamed from pureptr.
8287 (ALIGN): New macro.
8288 (pure_alloc): New function.
8289 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8290 Use it.
8291 (Fpurecopy): Use PURE_POINTER_P.
8292
68c5d1db
GM
8293 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8294 PT has moved backward.
52283633 8295
9a038881
GM
8296 * xdisp.c (cursor_row_p): Take continued lines into account.
8297
361b097f
GM
8298 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8299 string's size_byte.
8300 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8301 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8302 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8303 string allocated.
8304
54918e2b
GM
8305 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8306 of selective display off while searching for the next line start.
8307
03ed0806
KH
83082000-10-17 Kenichi Handa <handa@etl.go.jp>
8309
8310 * Makefile.in (term.o): Depend on dispextern.h.
8311
7e05cdaf
SM
83122000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8313
8314 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8315
a6801fd1
GM
83162000-10-16 Gerd Moellmann <gerd@gnu.org>
8317
483de32b
GM
8318 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8319 the iterator at the beginning, so that they can be set later on,
8320 for instance in reseat_at_next_visible_line_start, without being
8321 overwritten.
8322
a6801fd1
GM
8323 * xfns.c (pbm_format): Add :foreground and :background keywords.
8324 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8325 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8326
dbf1fcc1
EZ
83272000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8328
8329 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8330
52283633 8331 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8332
8333 * msdos.c (IT_set_face): Compare highlighted face with the default
8334 face, and invert colors if these faces' colors are identical.
8335 (Fmsdos_remember_default_colors): Don't swap foreground and
8336 background colors in initial_colors[].
8337 (IT_set_frame_parameters): Don't swap frame's foreground and
8338 background pixels. If ALIST includes "(reverse . t)", swap
8339 foreground-color and background-color properties in frame's
8340 param_alist. If the original frame's param_alist doesn't specify
8341 the colors, store unspecified-fg and unspecified-bg, reversed if
8342 required.
8343
8344 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8345 the colors are unspecified and reversed, reverse fore- and back-
8346 ground in the returned value.
8347 (Fframe_parameter): Ditto.
8348
b41fe2c3 83492000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8350
3a6b59d9
GM
8351 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8352 get_last_unchanged_at_beg_row.
8353 (find_first_unchanged_at_end_row): Renamed from
8354 get_first_unchanged_at_end_row.
8355 (find_first_unchanged_at_end_row): Convert assertions to
8356 unconditional tests which abort. When looking for a row in
8357 unchanged text, don't go further back than first_text_row.
8358
b41fe2c3
GM
8359 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8360 Don't add in the last line's height when deciding if the new
8361 position is below the scroll margin.
9d1af64f 8362
b41fe2c3 83632000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8364
8365 * editfns.c (Fconstrain_to_field): Check carefully for field
8366 boundaries if either OLD_POS or NEW_POS has a non-nil field
8367 property, even if they're the same.
8368
c412cb7b
KH
83692000-10-16 Kenichi Handa <handa@etl.go.jp>
8370
8371 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8372 height for XFillRectangle.
8373
5586f3eb
SM
83742000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8375
8376 * syntax.c (Fstring_to_syntax): New function extracted from
8377 Fmodify_syntax_entry.
8378 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8379 (skip_chars, Fforward_comment): Remove unused variables.
8380 (syms_of_syntax): Add defsubr for string-to-syntax.
8381 (describe_syntax): Add code for comment and string fences.
8382
db785038
SM
83832000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8384
8385 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8386 Do the meta->esc mapping. Call get_keyelt before returning.
8387 Start scanning from the second element (the first is always `keymap')
8388 to make it easier to detect when we reach a parent map.
8389 Handle the case of inheriting from a symbol whose function is a map.
8390 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8391 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8392 (get_keyelt, Flookup_key): Update call to access_keymap.
8393 Remove the meta->esc mappings.
8394 (define_as_prefix): Delete old disabled code.
8395 (menu_item_p): New function.
8396 (where_is_internal_1): Skip over the few remaining menu items.
8397 * lisp.h (access_keymap): Update prototype.
8398 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8399 Update call to access_keymap.
8400 (follow_key, read_key_sequence): Update calls to access_keymap.
8401 Remove the meta->esc mappings.
8402
cafafe0b
GM
84032000-10-13 Gerd Moellmann <gerd@gnu.org>
8404
a2e2a7f6
GM
8405 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8406 with additional argument.
8407
cafafe0b
GM
8408 * xdisp.c (cursor_row_p): New function.
8409 (try_cursor_movement, display_line): Use it.
52283633 8410
cafafe0b
GM
8411 * xdisp.c (append_space): Also save/restore iterator's current
8412 character and its length.
8413
8414 * xdisp.c (init_from_display_pos): Add an assertion.
8415 (handle_stop): Don't set iterator's add_overlay_start.
8416 (handle_invisible_prop): Likewise.
8417 (load_overlay_strings): If text under an overlay is invisible,
8418 take both before- and after-strings into account when the iterator
8419 is positioned either at the start or at the end of the overlay.
8420 (forward_to_next_line_start): Rewritten.
8421 (reseat_at_next_visible_line_start): Rewritten.
8422 (set_iterator_to_next): Add parameter RESEAT_P.
8423
8424 * dispextern.h (struct it): Remove member add_overlay_start.
8425 (set_iterator_to_next): Change prototype.
8426
c744452b
KH
84272000-10-13 Kenichi Handa <handa@etl.go.jp>
8428
8429 * coding.c (code_convert_region): Be sure to initialize
8430 coding->category_idx.
e4a3f4e1
KH
8431 (decode_coding_string): Set coding->src_multibyte and
8432 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8433 (encode_coding_string): Set coding->src_multibyte and
8434 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8435
321fd26f
SM
84362000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8437
8438 * xfns.c (Fx_create_frame): Don't bother calling
8439 face-set-after-frame-default since the caller does it for us anyway.
8440
76832439
EZ
84412000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8442
8443 * window.c (coordinates_in_window): Fix detection of vertical line
8444 on character terminals.
8445
2483cf58
GM
84462000-10-12 Gerd Moellmann <gerd@gnu.org>
8447
8448 * editfns.c (save_excursion_save): Additionally record the
8449 selected window.
8450 (save_excursion_restore): If buffer was visible in a window, and a
8451 different window was selected, and the old selected window is
8452 still live, restore point in that window.
8453
eb991b25
KH
84542000-10-12 Kenichi Handa <handa@etl.go.jp>
8455
8a0eba09
KH
8456 * xterm.c (x_produce_glyphs): Handle
8457 unibyte_display_via_language_environment correctly.
8458
20401fcc
KH
8459 * regex.c (regex_compile): Change the way of handling a range from
8460 unibyte char to multibyte char.
8461
8462 * syntax.c (skip_chars): Change the way of handling a range from
8463 unibyte char to multibyte char.
8464
eb991b25
KH
8465 * process.c (read_process_output): Cancel previous change.
8466
365dd325
EZ
84672000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8468
c1b096cb
EZ
8469 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8470
365dd325
EZ
8471 * charset.c (Ffind_charset_string): Doc fix.
8472 (Ffind_charset_region): Doc fix.
8473
eb483c2b
KH
84742000-10-11 Kenichi Handa <handa@mule.m17n.org>
8475
8476 * process.c (read_process_output): Fix previous change. Adjust
8477 multibyteness of text to insert in a buffer by
52283633 8478 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8479
b40bfb99
AS
84802000-10-10 Andreas Schwab <schwab@suse.de>
8481
8482 * alloc.c (mark_object): Remove all workarounds installed on
8483 1993-08-08.
8484
caff31d4
KH
84852000-10-10 Kenichi Handa <handa@etl.go.jp>
8486
52283633 8487 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8488 (base64_encode_1): Make it work for a text of multibyte form.
8489 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8490 case. Don't call str_to_multibyte because base64_decode_1
8491 produces correct multibyte form for eight-bit codes.
52283633 8492 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8493 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8494 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8495 codes.
8496
8497 * charset.h (CHAR_STRING): Optimized for single byte characters.
8498
cba026ef
AS
84992000-10-09 Andreas Schwab <schwab@suse.de>
8500
8501 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8502 -1 after socket is closed, to fall through to error processing.
8503
1e21fe48
EZ
85042000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8505
8506 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8507 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8508 background-color, change also the colors of the default face for
8509 this frame.
8510
a640322e
EZ
85112000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8512
8513 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8514 them extern (they are defined on xfaces.c).
8515 (syms_of_msdos): Don't intern and don't staticpro
8516 Qbackground_color and Qforeground_color.
8517
a115794c
EZ
85182000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8519
8520 * frame.c (Fframe_parameter): For non-windowed frames, if
8521 f->param_alist says foreground or background color is unspecified,
8522 call tty_color_name to return the color name computed from the
8523 frame's current colors.
8524
f5533b63
DL
85252000-10-06 Dave Love <fx@gnu.org>
8526
8527 * terminfo.c (ospeed): Don't declare.
8528
8529 * sysdep.c: Don't include string.h.
8530 (h_errno): Declare conditional also on TRY_AGAIN.
8531
8532 * charset.c (Ffind_charset_string): Doc fix.
8533
52283633 8534 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8535 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8536 error messages.
8537
2b06561a
DL
85382000-10-05 Dave Love <fx@gnu.org>
8539
8540 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8541 position like menu-bar.
8542
ca839c85
GM
85432000-10-05 Gerd Moellmann <gerd@gnu.org>
8544
8545 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8546
8547 * xdisp.c (handle_single_display_prop): Use safe_call1.
8548 (safe_call): Renamed from call_function.
8549 (safe_call1): New function.
8550 (handle_fontified_prop): Use safe_call1 instead of call1.
8551 (safe_eval): Renamed from eval_form.
8552 (safe_eval_handler): Renamed from eval_handler.
8553 (handle_single_display_prop, display_mode_element): Use safe_eval
8554 instead of eval_form.
8555
8556 * xfaces.c (merge_face_heights): Use safe_call instead of
8557 call_function.
8558
8559 * keyboard.c (show_help_echo): Use safe_call instead of
8560 call_function; use safe_eval instead of eval_form.
8561
8562 * lisp.h (safe_call): Renamed from call_function.
8563 (safe_eval): Renamed from eval_form.
8564 (safe_call1): Add prototype.
8565
a3489ece
MB
85662000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8567
8568 * xfns.c (image_ascent): Rearrange ascent calculation for the
8569 has-a-font case.
8570
35810b6f
SM
85712000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8572
8573 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8574 (where_is_internal_1): Don't bother ignoring menu-items any more.
8575
3dc78168
GM
85762000-10-04 Gerd Moellmann <gerd@gnu.org>
8577
8578 * keyboard.c (update_menu_bindings): New variable.
8579 (parse_menu_item): Use AREF. If update_menu_bindings
8580 is 0, don't update menu bindings.
8581 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8582
1efc2bb9
EZ
85832000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8584
8585 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8586 to `mark_object'.
8587
3f679f55
SM
85882000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8589
8590 * syntax.c (forw_comment): Match nestedness of ender/starter.
8591 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8592 (prev_char_comstart_first): Remove.
8593 (back_comment): Check two-char comment markers more carefully
8594 to better handle overlapping cases like *//* or /* */* */ ...
8595 Match nestedness of ender/starter.
8596
2021ab61
DL
85972000-10-02 Dave Love <fx@gnu.org>
8598
8599 * config.in (HAVE_GAI_STRERROR): Add undef.
8600
8601 * process.c (Fopen_network_stream): Use it.
8602
8603 * m/alpha.h (NO_REMAP): Don't define.
8604
64e6cc18
GM
86052000-10-02 Gerd Moellmann <gerd@gnu.org>
8606
8607 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8608 return with a string converted to an integer or vice versa when
8609 Vmocklisp_arguments is t.
8610 (Fsignal): Likewise. The function can return for `quit'.
8611 (struct gcpro): Declare member `var' to point to a volatile
8612 Lisp_Object.
8613
8614 * eval.c (error): Prevent compiler warning.
8615
b1904cd9
SM
86162000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8617
8618 * keymap.c (keymap_memberp): New function.
8619 (Fset_keymap_parent): Use it.
8620 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8621 Use keymap_memberp to avoid creating cycles.
8622 (access_keymap): Use KEYMAPP.
8623
71c9ec51
GM
86242000-09-30 Gerd Moellmann <gerd@gnu.org>
8625
8626 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8627 gai_strerror. Make sure xerrno is set if connect fails. Improve
8628 error recovery.
71c9ec51 8629
c70c6b58
JR
86302000-09-29 Jason Rumney <jasonr@gnu.org>
8631
8632 * w32term.c (w32_char_font_type, w32_encode_char)
8633 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8634 (w32_bdf_per_char_metric): New function.
8635 (w32_per_char_metric): Use it.
8636 (x_draw_glyph_string_background): Always draw background for BDF
8637 glyphs.
8638
8639 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8640 GDI object which is a scarce resource.
8641
8642 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8643 (get_quoted_string): Fix limit on memchr search.
8644 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8645 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8646 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8647 (get_cached_font_char, cache_char_offset): Use macro
8648 BDF_CODEPOINT_RANGE_COVER_P.
8649 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8650 (clear_cached_bitmap_slots): New function.
8651 (GET_HEX_VALUE): G-Z, g-z are not hex.
8652 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8653 (get_bitmap_with_cache): Use new cache implementation.
8654 (create_offscreen_bitmap): New function.
8655 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8656
8657 * w32term.c (x_produce_glyphs): If the distance from the current
8658 position to the next tab stop is less than a canonical character
8659 width, use the tab stop after that.
8660 (x_draw_glyphs): Handle case START and END are out of bounds more
8661 carefully.
8662 (x_clear_mouse_face): Block/unblock input.
8663 (x_display_and_set_cursor): Don't show a hollow box cursor for
8664 buffers whose cursor_type is nil.
8665
fe01239f
GM
86662000-09-29 Gerd Moellmann <gerd@gnu.org>
8667
52283633 8668 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8669
8670 * dispextern.h (updating_frame): Declare extern.
8671
e7c52f1f
AS
86722000-09-29 Andreas Schwab <schwab@suse.de>
8673
8674 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8675
de6e1f7c
GM
86762000-09-29 Gerd Moellmann <gerd@gnu.org>
8677
25126faa
GM
8678 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8679 use its function definition.
8680 (tool_bar_items): Likewise.
8681
de6e1f7c 8682 * lisp.h (fatal): Declare NO_RETURN.
52283633 8683
454ee39b
KH
86842000-09-29 Kenichi Handa <handa@etl.go.jp>
8685
8686 * keymap.c: Remove the line "#undef NULL".
8687
96301c5f
GM
86882000-09-28 Gerd Moellmann <gerd@gnu.org>
8689
52283633 8690 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8691
efffeeb4
DL
86922000-09-28 Dave Love <fx@gnu.org>
8693
ecb8b666
DL
8694 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8695
dc3cd20f
DL
8696 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8697
8698 * .gdbinit (xreload): Note its need on GNU/Linux.
8699
efffeeb4
DL
8700 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8701 r_alloc, r_alloc_free.
8702
8610d903
KH
87032000-09-28 Kenichi Handa <handa@etl.go.jp>
8704
8705 * syntax.c (skip_chars): Handle negation correctly.
8706
8901d1ac
GM
87072000-09-27 Gerd Moellmann <gerd@gnu.org>
8708
6f22f1ad
GM
8709 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8710 with non-zero FORCE_P argument.
8711
52283633 8712 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8713 Add assertions.
8714
8715 * xdisp.c (window_box_height): Add an assertion.
8716
8717 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8718 tool-bar than is available.
8719 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8720
36f1966f
DL
87212000-09-27 Dave Love <fx@gnu.org>
8722
efffeeb4 8723 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8724
31d929e5
GM
87252000-09-26 Gerd Moellmann <gerd@gnu.org>
8726
c98863bf
GM
8727 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8728 instead of BITS_PER_INT.
8729 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8730 EMACS_UINT, respectively.
8731 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8732
8733 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8734
8735 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8736
77072ab1
GM
8737 * window.c (freeze_window_starts): Construct last argument for
8738 foreach_window differently.
8739
8740 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8741
8742 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8743 EMACS_UINT instead of `int' and `unsigned int'.
8744 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8745
8746 * frame.h (struct frame): Make the `nothing' member of union
8747 output_data an EMACS_INT.
8748
52283633 8749 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8750 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8751 size in the sdata structure.
8752 (SDATA_NBYTES, SDATA_DATA): New macros.
8753 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8754 differently for the different layout of the sdata structure.
8755 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8756 in sdata.
8757 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8758 Check that size recorded in the string size and size recorded in
8759 the sdata structure agree.
8760
3e60b029
DL
87612000-09-25 Dave Love <fx@gnu.org>
8762
8763 * buffer.c: Include stdio.h.
8764
8765 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8766
3e60b029
DL
8767 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8768
8769 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8770 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8771 (__malloc_extra_blocks): Declare as __malloc_size_t.
8772
8ff16b4e
GM
87732000-09-25 Gerd Moellmann <gerd@gnu.org>
8774
755a2ccd
GM
8775 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8776
d8b4516f
GM
8777 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8778 (read_char): If help-echo is showing, preserve the echo area
8779 when redisplaying.
8780
8781 * xdisp.c (help_echo_showing_p): New variable.
8782 (set_message): Reset it to 0.
8783 (init_xdisp): Initialize help_echo_showing_p.
8784
8785 * dispextern.h (help_echo_showing_p): Declare extern.
8786
8787 * config.in: Fix typo in __GNUC_MINOR__.
8788
8789 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8790
b11af2dd
GM
8791 * s/freebsd.h (POSIX_SIGNALS): Define.
8792
8ff16b4e
GM
8793 * xterm.c (x_clear_mouse_face): Block/unblock input.
8794
844eb643
DL
87952000-09-24 Dave Love <fx@gnu.org>
8796
8797 * fns.c (base64_encode_1): Fix last change.
8798
b30ab1b3
GM
87992000-09-22 Gerd Moellmann <gerd@gnu.org>
8800
8801 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8802
8803 * xdisp.c (try_window_reusing_current_matrix): More fixes
8804 for the case window has a header-line.
8805
c6cbe5f0
DL
88062000-09-22 Dave Love <fx@gnu.org>
8807
4c7c1f3f
DL
8808 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8809 a doc string.
8810
8811 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8812
c6cbe5f0
DL
8813 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8814
550a625e
GM
88152000-09-21 Gerd Moellmann <gerd@gnu.org>
8816
4c7c1f3f 8817 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8818 for GCC >= 2.5.
8819
52283633
SM
8820 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8821 Declare NO_RETURN.
fca99116 8822
80d26f99
GM
8823 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8824 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8825 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8826 warnings.
52283633 8827
80d26f99
GM
8828 * marker.c (byte_char_debug_check): Return void.
8829
623a0aae
GM
8830 * xfns.c (Fx_create_frame): Set default frame parameter value
8831 for tool-bar-lines to 1.
8832
8833 * dispnew.c (scrolling_window): Compare y-positions of rows
8834 equal at the start. Some simplification.
8835
8836 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8837 reused rows' y-position in the case window has a header-line, and
8838 new window start is greater than old window start.
8839
42ac0ae5
GM
8840 * process.c (process_sent_to): New variable.
8841 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8842 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8843 Declare more parameters volatile.
8844
550a625e
GM
8845 * lread.c (Vrecursive_load_depth_limit): New variable.
8846 (Fload): Check recursive loads whose recursion depth exceeds
8847 Vrecursive_load_depth_limit.
8848 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8849
8320414c
GM
88502000-09-20 Gerd Moellmann <gerd@gnu.org>
8851
f46c275e
GM
8852 * fileio.c (Fread_file_name): Doc fix.
8853
8854 * editfns.c (Fmessage_or_box): Doc fix.
8855
8856 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8857
b7e11c5b 8858 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8859
8320414c
GM
8860 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8861 symbols are specified, add color translations to the cache.
52283633 8862 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8863 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8864 xpm_cache_color.
8865 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8866 structures to xpm_init_color_cache.
8867
da1608d9
GM
88682000-09-19 Gerd Moellmann <gerd@gnu.org>
8869
52283633 8870 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8871
6badfa25
AI
88722000-09-19 Andrew Innes <andrewi@gnu.org>
8873
8874 * makefile.nt (bootstrap-emacs): Don't change directory.
8875
3a5f42bb
KH
88762000-09-19 Kenichi Handa <handa@etl.go.jp>
8877
1b7649bd
KH
8878 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8879
3a5f42bb
KH
8880 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8881 If output buffer is too small, signal an appropriated error.
8882
9f83cf0b
DL
88832000-09-18 Dave Love <fx@gnu.org>
8884
52283633 8885 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8886 (current_active_maps): Remove redundant get_local_map call.
8887
28c7826c
GM
88882000-09-18 Gerd Moellmann <gerd@gnu.org>
8889
5cefa566
GM
8890 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8891 cursor for buffers whose cursor_type is nil.
52283633 8892
6fed3546
GM
8893 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8894 a feature to implement that is already implemented.
8895 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8896 warnings.
8897
8898 * xfns.c (x_clear_image_1): New function.
8899 (x_clear_image): Use it.
52283633 8900 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8901
05b1f851
GM
8902 * dispnew.c (update_window): Move test for invisible lines
8903 at the top to update_window_line.
8904 (update_window_line): Handle invisible lines here.
8905
f4779de9
GM
8906 * xfns.c (clear_image_cache): Clear current matrices of all
8907 frames sharing an image cache. Block input while freeing
8908 images. Fix timestamp comparison.
8909 (x_clear_image): Also free the mask.
8910
28c7826c
GM
8911 * xfns.c (lookup_image): Block input while loading the image so
8912 that we won't get interrupted in a state where the image isn't yet
8913 set up completely.
8914 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8915 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8916 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8917 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8918
b7412313
GM
89192000-09-16 Gerd Moellmann <gerd@gnu.org>
8920
8921 * dispnew.c (update_window): Make sure to make desired rows
8922 current even if they are completely invisible at the top
8923 of a window.
8924
47e351a3
GM
89252000-09-15 Gerd Moellmann <gerd@gnu.org>
8926
7f8f1edc
GM
8927 * xfns.c (lookup_image): Build mask before applying an algorithm.
8928 Recognize algorithm `disabled'.
8929 (cross_disabled_images): New variable.
8930 (COLOR_INTENSITY): New macro.
8931 (x_detect_edges): Use COLOR_INTENSITY.
8932 (x_disable_image): New function.
8933 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8934
8935 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8936 disabled state, don't apply an image transformation algorithm if
8937 the user specified an image for the disabled state. Use
28c7826c 8938 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8939 user hasn't specified an image.
8940
ebb8f116
GM
8941 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8942 allocation functions with the XPM lib.
8943 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8944 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8945 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8946 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8947 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8948 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8949 functions, if possible, because these handle color allocation
8950 failure more gracefully.
8951 (Fimage_mask_p): New function.
8952
47e351a3
GM
8953 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8954 (Qedge_detection, Qheuristic): New symbols.
8955 (syms_of_xfns): Initialize new symbols.
8956 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8957 `algorithm (edge-detection ...)'.
8958 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8959 (tiff_format, gif_format, gs_format): Add `:mask'.
8960 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8961 (GIF_MASK, GS_MASK): New enumerators.
8962 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8963 (emboss_matrix, laplace_matrix): New variables.
8964 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8965 (x_edge_detection): New functions.
8966 (x_laplace): Rewritten in terms of x_detect_edges.
8967 (x_build_heuristic_mask): If image has a mask, free it.
8968
fe83b953
AI
89692000-09-14 Andrew Innes <andrewi@gnu.org>
8970
8971 * makefile.w32-in: Revert to Unix line endings.
8972
3021e816
AI
89732000-09-14 Andrew Innes <andrewi@gnu.org>
8974
8975 * makefile.w32-in: Standardize indentation somewhat.
8976 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8977 cater for differences between shells.
8978
8979 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8980
2a32b5ea
GM
89812000-09-14 Gerd Moellmann <gerd@gnu.org>
8982
8983 * xterm.c (x_produce_glyphs): If the distance from the current
8984 position to the next tab stop is less than a canonical character
8985 width, use the tab stop after that.
8986
b4331e96
DL
89872000-09-14 Dave Love <fx@gnu.org>
8988
8989 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8990
ef9e4345
GM
89912000-09-14 Gerd Moellmann <gerd@gnu.org>
8992
085536c2
GM
8993 * xdisp.c (handle_fontified_prop): While running fontification
8994 functions, bind `fontification-functions' and
8995 `after-change-functions' to nil.
8996
ef9e4345
GM
8997 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8998 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8999
9000 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9001
9002 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9003 USE_MMAP_FOR_BUFFERS.
9004
9005 * insdel.c (make_gap): Use enlarge_buffer_text.
9006
9007 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9008 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9009 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9010 from former r_alloc_* functions in ralloc.c.
52283633 9011 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
9012 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9013 (mmap_init) [REL_ALLOC_MMAP]: New function.
9014 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9015 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9016 BUFFER_FREE.
9017
9018 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9019 (enlarge_buffer_text): Add prototype.
9020
9021 * ralloc.c: Remove everything having to do with the use of mmap.
9022
f8608968
GM
90232000-09-13 Gerd Moellmann <gerd@gnu.org>
9024
2a494b2d
GM
9025 * sound.c (Fplay_sound): Doc fix.
9026
8c907a56
GM
9027 * keyboard.c: Avoid some more compiler warnings.
9028 (parse_tool_bar_item): Ignore cached key bindings.
9029
f8608968
GM
9030 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9031 and allocation of Lisp data.
9032
6ab70e9a
GM
90332000-09-12 Gerd Moellmann <gerd@gnu.org>
9034
d12d0a9b
GM
9035 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9036 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9037 defaults first.
9038
6ab70e9a
GM
9039 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9040
63c36c3c
KH
90412000-09-12 Miyashita Hisashi <himi@meadowy.org>
9042
9043 * ccl.c: Comment fixed.
9044 (MAX_MAP_SET_LEVEL): Increased to 30.
9045 (PUSH_MAPPING_STACK): Enclose with do-while block.
9046 (POP_MAPPING_STACK): Likewise.
9047 (stack_idx_of_map_multiple): New variable.
9048 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9049 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9050 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9051 (ccl_driver) <CCL_MapSingle>: Likewise.
9052 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9053 with the case where looking up process reaches to the end of
9054 map-set, and call CCL programs as the above change.
9055
7ee3bd7b
GM
90562000-09-11 Gerd Moellmann <gerd@gnu.org>
9057
8ec8a5ec
GM
9058 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9059 that might be clobbered by longjmp.
9060 (check_x_display_info, x_decode_color, create_frame_xic)
9061 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9062 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9063
f74b0705
GM
9064 * lread.c (init_lread): Set Vloads_in_progress to nil.
9065 (Fload): Show list of recursively loaded files, when signaling an
9066 error.
9067
7ee3bd7b
GM
9068 * lread.c (Vloads_in_progress): New variable.
9069 (record_load_unwind): New function.
9070 (Fload): Check for recursive loads.
9071 (syms_of_lread): Initialize Vloads_in_progress.
9072 (read_integer, read1): Avoid some compiler warnings.
9073
9074 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9075 compiler warnings.
9076
974e1e5b
MB
90772000-09-11 Miles Bader <miles@gnu.org>
9078
9079 * editfns.c (Fbuffer_string): Doc fix.
9080
9824c4e3
GM
90812000-09-10 Gerd Moellmann <gerd@gnu.org>
9082
9083 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9084
6a72fdd1
KR
90852000-09-09 Ken Raeburn <raeburn@gnu.org>
9086
9087 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9088 whether to include other header files.
9089
28e6fb66
GM
90902000-09-09 Gerd Moellmann <gerd@gnu.org>
9091
52283633 9092 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9093 by Fmemq as a boolean.
28e6fb66 9094
7f8b6551
SM
90952000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9096
9097 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9098
a8710abf
GM
90992000-09-08 Gerd Moellmann <gerd@gnu.org>
9100
d1a02881
GM
9101 * ralloc.c (mmap_fd): Remove initializer which can make it
9102 read-only in a dumped Emacs.
9103 (mmap_fd_1): New variable.
9104 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9105 restore it from there.
9106 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9107 unconditionally so that mmap_fd can be initialized there.
9108 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9109 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9110 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9111
c454aac1
GM
9112 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9113
9114 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9115 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9116
fc653ef2
GM
9117 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9118
3015eec0
GM
9119 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9120 inheritance.
9121
bfe0ee88
GM
9122 * xdisp.c (try_window_id): When trying to locate cursor in
9123 unchanged rows at the top, handle the case that we can't find it.
9124
a8710abf
GM
9125 * xterm.c (x_draw_glyphs): Handle case START and END are out
9126 of bounds more carefully.
9127
6b7d4ae4
DL
91282000-09-08 Dave Love <fx@gnu.org>
9129
423193c5
DL
9130 * s/sol2.h (REL_ALLOC_MMAP): Define.
9131 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9132
9133 * ralloc.c: Don't include string.h (redundant).
9134 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9135 [!MAP_ANON]: Include fcntl.h.
9136 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9137 (r_alloc, r_re_alloc, r_alloc_free)
9138 (mmap_enlarge, mmap_set_vars): Use it.
9139 (r_alloc_init_fd): New function.
9140 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9141 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9142 malloc type.
9143
9144 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9145 Remove vm-limit.o.
9146
6b7d4ae4
DL
9147 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9148 change to __NetBSD__.
9149
44d31981
KH
91502000-09-08 Kenichi Handa <handa@etl.go.jp>
9151
9152 * search.c (compile_pattern): Check the multibyteness of cached
9153 string and PATTERN.
9154
aad40737
MB
91552000-09-08 Miles Bader <miles@gnu.org>
9156
9157 * xfaces.c (default_face_vector): Function removed.
9158 (Finternal_merge_in_global_face): Restore old global/local
9159 attribute override order. Use inline loop instead of calling
9160 default_face_vector.
9161
91a211b5
GM
91622000-09-07 Gerd Moellmann <gerd@gnu.org>
9163
9164 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9165 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9166 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9167 where necessary, in case POINTER_TYPE is `void'.
9168
03419440
EZ
91692000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9170
9171 * frame.c (make_terminal_frame): Initialize frame foreground and
9172 background colors to unspecified, for the initial instance of an
9173 MSDOS frame.
9174
f46f845b
GM
91752000-09-07 Gerd Moellmann <gerd@gnu.org>
9176
24f76fbf
GM
9177 * ralloc.c (mmap_find): Fix overlap computation.
9178 (mmap_enlarge): Compute nbytes before trying to find an
9179 overlapping region.
9180
f46f845b
GM
9181 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9182 instead of `!='.
9183
9184 * lread.c (syms_of_lread): Change value of regexp
9185 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9186
9187 * xmenu.c (xdialog_show): When looking up the selection in
9188 menu_items, take `quote' boundaries into account; this corresponds
9189 to a nil ITEM in x-popup-dialog.
9190
3c014385
KH
91912000-09-07 Kenichi Handa <handa@etl.go.jp>
9192
fd6f711b
KH
9193 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9194 not 0x81.
9195 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9196
3c014385 9197 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9198 encoding, not decoding. Fix the handling of latin-jisx0201.
9199 Check for the charset katakana-jisx0201 too.
3c014385 9200 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9201 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9202
0da3ecef
GM
92032000-09-07 Gerd Moellmann <gerd@gnu.org>
9204
ab0ee409
GM
9205 * xfaces.c (Vparam_value_alist): New variable.
9206 (syms_of_xfaces): Initialize it.
9207 (Finternal_set_lisp_face_attribute): Avoid more consing.
9208
9209 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9210 specially.
9211 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9212 (Qbackground_mode): New variable.
9213 (syms_of_frame_1): Initialize Qbackground_mode.
9214
9215 * lisp.h (Qdisplay): Declare extern.
1091dd67 9216
0da3ecef
GM
9217 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9218 change face on all frames, and change the default for new frames.
9219
b14654b9
DL
92202000-09-07 Dave Love <fx@gnu.org>
9221
9222 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9223
d24fd56f
KH
92242000-09-07 Kenichi Handa <handa@etl.go.jp>
9225
794f3670
KH
9226 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9227
0fddd0dc
KH
9228 * charset.c: Include composite.h
9229 (lisp_string_width): New function.
9230 (Fstring_width): Call lisp_string_width instead of strwidth.
9231
9232 * Makefile.in (charset.o): Depends on composite.h.
9233
d24fd56f
KH
9234 * process.c (read_process_output): Before inserting the decoded
9235 text in the buffer, adjust the multibyteness.
9236
fa0b693c
GM
92372000-09-06 Gerd Moellmann <gerd@gnu.org>
9238
52283633 9239 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9240 buffer's text buffer is null, map new memory.
9241
0a58f946
GM
9242 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9243 POINTER_TYPE and size_t.
9244 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9245 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9246 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9247 [REL_ALLOC_MMAP]: New macros.
9248 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9249 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9250 [REL_ALLOC_MMAP]: New functions.
9251
9252 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9253 before and after unexec.
9254
9255 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9256 text buffers if necessary.
9257
9258 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9259 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9260 in prototypes.
9261
fa0b693c
GM
9262 * config.in (HAVE_MMAP): Add #undef.
9263
877055f6
GM
92642000-09-05 Gerd Moellmann <gerd@gnu.org>
9265
08ba3862
GM
9266 * frame.c (Qdisplay_type): New variable.
9267 (syms_of_frame_1): Initialize it.
9268 (Fframe_parameter): New function that avoids consing.
9269 (syms_of_frame): Defsubr it.
9270
66ffe51c
GM
9271 * buffer.c (Fother_buffer): Consider buffers as invisible when
9272 they are displayed in a window on an invisible frame.
9273
877055f6
GM
9274 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9275 get-largest-window always return nil.
9276
bb970e67
GM
92772000-09-04 Gerd Moellmann <gerd@gnu.org>
9278
9279 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9280 variable; recognize Emacs 19 elc files.
9281
7a3d0e0e
MB
92822000-09-04 Miles Bader <miles@gnu.org>
9283
9284 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9285 before initially popping up the menu, so the menu doesn't flash
52283633 9286 when the face settings are significantly different from the defaults.
7a3d0e0e 9287
14473664
SM
92882000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9289
9290 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9291 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9292 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9293 (BIT_UNIBYTE): Remove.
9294 (re_match_2_internal): Delete corresponding code and streamline the
9295 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9296 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9297 (re_wctype_t): New type.
9298 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9299 (regex_compile): Use them and fix handling of overly long char classes.
9300
c1174479
AI
93012000-09-03 Andrew Innes <andrewi@gnu.org>
9302
f8803e97
AI
9303 * makefile.w32-in: Change to DOS line endings.
9304
c1174479
AI
9305 * s/ms-w32.h (ORDINARY_LINK): New define.
9306
9307 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9308 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9309
9310 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9311 (distclean): Delete them here instead.
9312
44ef7cf6
AI
9313 * w32proc.c (compare_env): Convert to uppercase for comparison,
9314 not lowercase, to match how the native Windows shell works.
9315
49b3bd82
JR
93162000-09-03 Jason Rumney <jasonr@gnu.org>
9317
9318 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9319 CVS changes the line-ends when checking in/out on DOS/Windows.
9320
9321 * makefile.nt (emacs): Do not change directory to run temacs, as
9322 the load-path is set relative to current directory.
9323
a3d35a39
MB
93242000-09-03 Miles Bader <miles@gnu.org>
9325
9326 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9327
d276b0cf
GM
93282000-09-02 Gerd Moellmann <gerd@gnu.org>
9329
715e84c9
GM
9330 * xdisp.c (redisplay_mode_lines): New function.
9331 (display_mode_lines): Return number of mode lines displayed.
9332 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9333 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9334
8892f40b
GM
9335 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9336 string.h and strings.h.
9337 (index) [HAVE_INDEX]: Add prototype.
9338
d276b0cf
GM
9339 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9340 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9341
9342 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9343 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9344
38404229
GM
93452000-09-01 Gerd Moellmann <gerd@gnu.org>
9346
9347 * lread.c (read1): Accept `?' as symbol constituent, for
9348 compatiblity with XEmacs.
9349
c0f9ea08
SM
93502000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9351
9352 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9353 (struct re_pattern_buffer): Remove newline_anchor.
9354 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9355 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9356 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9357 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9358 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9359 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9360 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9361 Get rid of references to newline_anchor.
9362 (regcomp): Allocate and precompute a fastmap.
9363
8c0f83fe
GM
93642000-08-31 Gerd Moellmann <gerd@gnu.org>
9365
9366 * lread.c (openp): GCPRO local variable `filename'.
9367
4bb91c68
SM
93682000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9369
9370 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9371
9372 * regex.c: Merge some changes from GNU libc. Add prototypes.
9373 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9374 Use memcmp and memcpy instead of bcopy and bcmp.
9375 (init_syntax_once): Use ISALNUM.
9376 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9377 (REG_UNSET_VALUE): Remove. Use NULL instead.
9378 (REG_UNSET, re_match_2_internal): Use NULL.
9379 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9380 New macros.
9381 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9382 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9383 (regex_compile): In handle_interval, return an error rather than try to
9384 unfetch the interval if we can't find the closing brace.
9385 Obey the RE_NO_GNU_OPS syntax bit.
9386 (TOLOWER): New macro.
9387 (regcomp): Use it.
9388 (regexec): Allocate regs.start and regs.end as one block.
9389
5226a931
GM
93902000-08-30 Gerd Moellmann <gerd@gnu.org>
9391
868dd24b
GM
9392 * xdisp.c (echo_area_display): Check display_completed instead
9393 of calling detect_input_pending.
9394
9395 * dispnew.c (update_frame): Only set display_completed here; move
9396 the update_begin and update_end calls here from update_frame_1.
9397 (update_frame_1): Don't set display_completed here, don't call
9398 update_begin/update_end.
9399
5226a931
GM
9400 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9401 instead of store_frame_param.
9402
2a8bd25f
GM
94032000-08-29 Gerd Moellmann <gerd@gnu.org>
9404
9405 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9406 desired window matrix hasn't been displayed, use the current row
9407 instead. Make sure that only those frame rows are updated for
9408 which there exists a corresponding enabled desired row.
52283633 9409
ba3478d9
MB
94102000-08-29 Miles Bader <miles@gnu.org>
9411
9412 * xfaces.c (default_face_vector): New function.
9413 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9414
87d0f685
GM
94152000-08-29 Gerd Moellmann <gerd@gnu.org>
9416
9417 * lread.c (openp): Prevent temporary string passed to
9418 Ffile_readable_p from being garbage collected.
9419
6fa86045
DL
94202000-08-28 Dave Love <fx@gnu.org>
9421
9422 * keymap.c (store_in_keymap): Add `static' to declaration.
9423
bb17930d
GM
94242000-08-28 Gerd Moellmann <gerd@gnu.org>
9425
9426 * emacs.c, callint.c, doc.c, editfns.c
9427 (toplevel) [HAVE_STRING_H]: Include string.h.
9428 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9429 (index): Remove prototypes which might conflict with non-standard
9430 definitions of index/strchr.
9431
9432 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9433 (rindex): Define only if !HAVE_RINDEX.
9434
9435 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9436
9437 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9438
87188200
MB
94392000-08-28 Miles Bader <miles@gnu.org>
9440
9441 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9442 made inconsistent by a font-related attribute in FROM.
9443 (merge_face_inheritance): Add function comment.
9444
41a68aef
KH
94452000-08-28 Kenichi Handa <handa@etl.go.jp>
9446
9447 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9448 the 4th arg (PREV_EVENT) Qt to suppress input method.
9449
f7c436c1
SM
94502000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9451
0b32bf0e
SM
9452 * regex.c: Indent cpp directives and remove parens after `defined'.
9453 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9454 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9455 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9456 (re_compile_pattern): Use size_t for length.
9457 (init_syntax_once): Move to a better place.
9458 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9459 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9460
f7c436c1
SM
9461 * syntax.c (back_comment): Detect cases where a comment-starter is
9462 actually inside another comment as in: /* a // b */ c // d \n.
9463 Make it clear that `comstart_pos' is unused for nested comments.
9464
9465 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9466 (KEYMAPP): New macro.
9467 (Fkeymap_parent, Fset_keymap_parent): Use it.
9468 (fix_submap_inheritance): Mark it static.
9469 (define_as_prefix, describe_buffer_bindings, describe_command)
9470 (describe_translation, describe_map): Complete prototypes.
9471
9472 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9473
9474 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9475 to better match the key-lookup behavior.
9476
6288c62f
GM
94772000-08-27 Gerd Moellmann <gerd@gnu.org>
9478
9479 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9480 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9481
e931344e
EZ
94822000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9483
9484 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9485 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9486 (xterm.o): Depend on coding.h
9487
d10dfeef
KH
94882000-08-26 Kenichi Handa <handa@etl.go.jp>
9489
9490 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9491 the corresponding '#endif'.
9492
2d73e8d3
MB
94932000-08-26 Miles Bader <miles@gnu.org>
9494
9495 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9496 * xfaces.c (QCinherit): New variable.
9497 (syms_of_xfaces): Initialize it.
9498 (LFACE_INHERIT): New macro.
9499 (Finternal_get_lisp_face_attribute)
52283633 9500 (merge_face_vector_with_property)
2d73e8d3
MB
9501 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9502 (check_lface_attrs): Allow new types of face height. Check
9503 inherit attribute.
9504 (CYCLE_CHECK): New macro.
9505 (merge_face_inheritance): New function.
9506 (merge_face_vectors): Merge inherited faces too. Add F and
9507 CYCLE_CHECK arguments.
9508 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9509 (lookup_named_face, lookup_derived_face, realize_named_face)
9510 (face_at_string_position, face_at_buffer_position): Supply
9511 new F and CYCLE_CHECK arguments to merge_face_vectors.
9512 (merge_face_heights): New function.
52283633 9513 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9514 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9515 handle relative face heights.
9516 (lface_same_font_attributes_p): Compare heights using EQ.
9517
6ce974d4
KH
95182000-08-26 Kenichi Handa <handa@etl.go.jp>
9519
9520 * charset.c (char_to_string): Check the character validity.
52283633 9521 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9522
dc1e502d
SM
95232000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9524
9525 * regex.c (PUSH_FAILURE_COUNT): New macro.
9526 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9527 Handle popping of a register's or a counter's data.
9528 (POP_FAILURE_POINT): Use the new name.
9529 (re_match_2_internal): Push counter data on the stack for succeed_n,
9530 jump_n and set_number_at and remove misleading dead code in succeed_n.
9531
bd9d0f3f
GM
95322000-08-25 Gerd Moellmann <gerd@gnu.org>
9533
9534 * xdisp.c (redisplay_internal): If considering all windows on all
9535 frames, update the display for each frame as soon as possible,
9536 instead of first building all desired matrices for all frames, and
9537 then updating them all.
9538 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9539
aa5b8e15
GM
95402000-08-24 Gerd Moellmann <gerd@gnu.org>
9541
17494071
GM
9542 * bytecode.c (mark_byte_stack): Add a comment.
9543
52283633
SM
9544 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9545 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9546 a graphical frame.
9547
c543db81
KH
95482000-08-24 Kenichi Handa <handa@etl.go.jp>
9549
d246d5f5
KH
9550 * minibuf.c (do_completion): Always use compare-string, not
9551 string-equal because the latter doesn't pay attention to
9552 multibyteness of strings.
9553
c543db81
KH
9554 * process.c (create_process): Don't setup raw-text coding here.
9555 (Fopen_network_stream): Don't set coding->src_multibyte and
9556 coding->dst_multibyte here.
9557 (read_process_output): For process filter, return unibyte string
9558 if default-enable-multibyte-characters is nil.
9559 (send_process): If OBJECT is multibyte text, be sure to encoded it
9560 by the specified coding system for the process. Otherwise, setup
9561 raw-text coding.
52283633 9562 (init_process): Don't initialize default-process-coding-system here.
c543db81 9563
9b47cfe0
EZ
95642000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9565
9566 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9567 <scroll-down-aggressively>: Likewise.
9568
f5a36960
KH
95692000-08-23 Kenichi Handa <handa@etl.go.jp>
9570
9571 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9572 zero. Set coding->produced_char correctly.
9573
69a7ffa7
AI
95742000-08-22 Andrew Innes <andrewi@gnu.org>
9575
9576 * makefile.w32-in: New file.
9577
9578 * unexw32.c (unexec): Ignore old_name, and use the actual location
9579 of the current executable instead. Base new_name on this.
9580
9581 * w32proc.c (create_child): Remove reference to security
9582 descriptor, which isn't needed and doesn't compile with mingw32.
9583
9584 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9585 up dllimport attributes.
9586 (x_update_window_end): Update prototype.
9587
9588 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9589 extern, which screws up dllimport attributes.
9590
9591 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9592 up dllimport attributes.
9593
9594 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9595 screws up dllimport attributes.
9596
9597 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9598 up dllimport attributes.
9599 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9600 screws up dllimport attributes.
9601
9602 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9603 up dllimport attributes.
9604
9605 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9606 screws up dllimport attributes.
9607
9608 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9609 screws up dllimport attributes.
9610
9611 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9612 up dllimport attributes.
9613
9614 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9615 unnecessary extern, which screws up dllimport attributes.
9616 (main): Ditto.
9617
9618 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9619 up dllimport attributes.
9620
9621 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9622 unnecessary extern, which screws up dllimport attributes.
9623
9624 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9625 screws up dllimport attributes.
9626
9627 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9628 up dllimport attributes.
9629
9630 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9631
52283633
SM
9632 * w32bdf.c (search_file_line):
9633 (set_bdf_font_info):
9634 (seek_char):
9635 (w32_get_bdf_glyph):
69a7ffa7
AI
9636 (w32_BDF_to_x_font): Fix compile warnings.
9637
52283633 9638 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9639
9640 * w32select.c: Include keyboard.h before frame.h.
9641
9642 * w32fns.c (max): Define macro.
9643 (JOHAB_CHARSET): Define if not known.
9644 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9645 (Fx_show_tip): Synch with X version.
9646
9647 * w32xfns.c: Include keyboard.h before frame.h.
9648
9649 * w32fns.c: Include keyboard.h before frame.h.
9650
9651 * w32term.c: Include keyboard.h before frame.h.
9652
9653 * fontset.c: Include keyboard.h before frame.h.
9654
9655 * w32inevt.c: Include keyboard.h before frame.h.
9656 (MOUSE_MOVED): Define if not known.
9657
9658 * minibuf.c: Include keyboard.h before frame.h.
9659
9660 * keyboard.c: Include keyboard.h before frame.h.
9661
9662 * indent.c: Include keyboard.h before frame.h.
9663
9664 * dispnew.c: Include keyboard.h before frame.h.
9665
9666 * buffer.c: Include keyboard.h before frame.h.
9667
9668 * alloc.c: Include keyboard.h before frame.h.
9669
9670 * print.c: Include keyboard.h before frame.h.
9671
9672 * process.c: Include keyboard.h before frame.h.
9673
9674 * scroll.c: Include keyboard.h before frame.h.
9675
9676 * sysdep.c: Include keyboard.h before frame.h.
9677
9678 * term.c: Include keyboard.h before frame.h.
9679
9680 * window.c: Include keyboard.h before frame.h.
9681
9682 * xdisp.c: Include keyboard.h before frame.h.
9683 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9684
9685 * frame.c: Include keyboard.h before frame.h.
9686
9687 * w32heap.h: Undefine min, max.
9688
9689 * w32gui.h: Undefine min, max.
9690
9691 * unexw32.c: Change PUCHAR to PCHAR.
9692 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9693 (relocate_offset):
9694 (get_section_info):
69a7ffa7
AI
9695 (copy_executable_and_dump_data): Remove unnecessary static defs.
9696 (copy_executable_and_dump_data): Fix compile warnings.
9697
9698 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9699
9700 * w32console.c (min): Define macro.
9701 (clear_frame, write_glyphs): Fix compile warning.
9702
52283633 9703 * w32proc.c (compare_env):
69a7ffa7
AI
9704 (find_child_console): Fix compile warning.
9705
9706 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9707 sys_errlist instead of _sys_errlist.
9708 (get_emacs_configuration_options): New function.
9709
9710 * s/ms-w32.h (sys_nerr): Provide default definition.
9711 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9712 name with _ prepended.
9713 (NSIG): Define if not known.
9714 (get_emacs_configuration): Provide extern declaration.
9715 (get_emacs_configuration_options): Provide extern declaration.
9716 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9717
9718 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9719 (map_w32_filename):
69a7ffa7
AI
9720 (read_unc_volume): Fix compile warning.
9721
9722 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9723 definitions from being used.
9724
9725 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9726
52283633 9727 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9728 (open_unc_volume): Make arg const.
9729
9730 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9731 (read_input_waiting): Remove excess parameter.
9732
9733 * w32.c (init_environment): Call _access.
9734 (check_windows_init_file): Call _close.
9735 (init_user_info): Call _putenv.
9736 (init_environment): Call _putenv and _strdup.
9737 (init_ntproc): Reset volume info cache on startup.
9738
9739 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9740 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9741 cannot override the CRT malloc.
9742
9743 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9744 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9745
9746 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9747 unless we are linking with a static CRT.
9748 (RVA_TO_PTR): Cast result to unsigned char*.
9749
9750 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9751 (add_volume_info): Use xstrdup.
9752
25060080
SM
97532000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9754
9755 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9756 (do_completion, Fminibuffer_complete_word): Use it.
9757 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9758 var so it can take non-boolean values.
9759
6917e6bb
GM
97602000-08-21 Gerd Moellmann <gerd@gnu.org>
9761
acb7cc89 9762 * editfns.c (find_field): Formatting changes.
52283633 9763 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9764 changed to prototypes, some new protypes added, some functions
9765 made static.
9766
9767 * lisp.h (set_time_zone_rule): Add prototype.
9768 (use_dialog_box): External declaration.
9769
0bbfdc25
GM
9770 * keyboard.c (gen_help_event): Add parameter SIZE.
9771 (kbd_buffer_events_waiting): Slightly rewritten.
9772 (clear_event): New function.
9773 (kbd_buffer_get_event): Use it, and clear the input_events of
9774 HELP_EVENTs.
9775 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9776 don't fill the newly created array with nils.
9777 (toplevel): Convert some old-style function forward declarations
9778 to prototypes.
9779
9780 * keyboard.h (gen_help_event): Change prototype.
9781
9782 * xterm.c (XTread_socket): Change calls to gen_help_event.
9783
9784 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9785
6917e6bb
GM
9786 * eval.c (Fmacroexpand): Doc fix.
9787
e5cd3d11
JR
97882000-08-20 Jason Rumney <jasonr@gnu.org>
9789
9790 * w32term.h (x_display_info_for_display): Remove as this function
9791 does not exist on W32.
9792
9793 * w32term.c (help_echo_window): New variable.
9794 (syms_of_w32term): staticpro it.
9795 (note_mode_line_highlight): Set it.
9796 (XTextExtents16): Removed as there is no equivalent on W32.
9797 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9798 the X way of doing this will not work for W32.
9799 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9800 (x_draw_image_foreground): Avoid drawing outside of the clip area
9801 when image doesn't have a mask.
9802 (note_mouse_highlight): Process overlays in the right order of
9803 priority. Set help_echo_window.
9804 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9805 because that's more visible for large images.
9806
9807 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9808 name to single_keymap_panes.
9809 (w32_menu_show): Set wv->title when dealing with titles.
9810 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9811
6e69ab8c
MB
98122000-08-21 Miles Bader <miles@gnu.org>
9813
9814 * minibuf.c (do_completion): Try again if we rewrite the input
9815 string, but no completion was done, so that any completion message
9816 will be correct.
9817
511bd4eb
GM
98182000-08-20 Gerd Moellmann <gerd@gnu.org>
9819
9820 * xfaces.c (lface_equal_p): Compare strings differently.
9821 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9822 (realize_tty_face): Use them.
9823 (syms_of_xfaces): Initialize new variables.
9824 (map_tty_color): New function, extracted from realize_tty_face.
9825 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9826 foreground or background color, store the new color name in the
9827 realized face; previous code trying to do this had no effect.
9828 (realize_tty_face): Use map_tty_color.
9829 (Fclear_face_cache): Set face_change_count and ensure thorough
9830 redisplay.
9831
1433385f
GM
98322000-08-19 Gerd Moellmann <gerd@gnu.org>
9833
511bd4eb
GM
9834 * undo.c (record_first_change, record_marker_adjustment): Don't
9835 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9836
419ac0a2
KH
98372000-08-18 Kenichi Handa <handa@etl.go.jp>
9838
9839 * coding.c (decode_coding_string): Set members consumed,
9840 consumed_char, produced, produced_char of *coding correctly. If
9841 decode_coding doesn't consume any byte, don't try anymore.
9842 (encode_coding_string): Likewise.
9843
7eb9e30d
GM
98442000-08-18 Gerd Moellmann <gerd@gnu.org>
9845
511bd4eb
GM
9846 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9847 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9848
9849 * xdisp.c (redisplay_internal): Compare windows for equality with
9850 EQ, instead of applying XWINDOW to something that might not
9851 be a window.
52283633 9852
dd34a735
KH
98532000-08-18 Kenichi Handa <handa@etl.go.jp>
9854
9855 * fontset.c (Finternal_char_font): Search only the selected frame
9856 for a window of the current buffer.
9857
385ff9e3
GM
98582000-08-18 Gerd Moellmann <gerd@gnu.org>
9859
511bd4eb 9860 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9861 Lisp_Objects.
9862
385ff9e3
GM
9863 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9864 second half of a HELP_EVENT is found at the start of kbd_buffer.
9865
d6abb4c7
MB
98662000-08-18 Miles Bader <miles@gnu.org>
9867
4618074a
MB
9868 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9869
d6abb4c7
MB
9870 * editfns.c (save_restriction_save): Rewrite to use markers.
9871 (save_restriction_restore): Rewrite to understand new form of data
9872 saved by save_restriction_save.
9873 (Fsave_restriction): Remove cautionary note in doc-string.
9874
a7b28523
GM
98752000-08-17 Gerd Moellmann <gerd@gnu.org>
9876
9877 * fileio.c (build_annotations): Add a comment explaining the
9878 return value of format-annotate-function. Replace a spurious call
9879 to Flength with a CONSP test. Call format-annotate-function with
9880 a fifth arg specifying how many times the function is been called
9881 in a row, to let it choose temporary buffers appropriately.
9882
03c9ed77
DL
98832000-08-17 Dave Love <fx@gnu.org>
9884
9885 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9886 declare make_temp_name twice.
9887
52283633 9888 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9889 (unreadpure): Give it an arg.
9890
9891 * unexalpha.c: Prototype fatal_unexec, mark_x,
9892 update_dynamic_symbols. Declare unexec as void.
9893
9894 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9895 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9896
9897 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9898 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9899
9900 * alloca.c: Use #error.
9901 [POINTER_TYPE]: Use it.
9902
9903 * eval.c (Fdefvar): Doc fix.
9904
9905 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9906 INITIALIZE_INTERVAL.
9907
9908 * buffer.h: Avoid DECLARE_INTERVALS.
9909
9910 * config.in: Add size_t.
9911
aae41d97
EZ
99122000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9913
9914 * w16select.c (set_clipboard_data): If there's not enough memory
9915 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9916 expects. In case of other failures, return 3.
9917 (system_error_msg): New error message.
9918 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9919 system_error_msg.
9920
65aa5e85
GM
99212000-08-16 Gerd Moellmann <gerd@gnu.org>
9922
9923 * term.c (write_glyphs): Also turn off inverse video after turning
9924 off other appearances in case TS_exit_attribute_mode is not equal
9925 to TS_end_standout_mode.
9926 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9927 with the same face.
9928 (turn_off_face): Reset standout_mode only if
9929 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9930 is equal to TS_end_standout_mode.
9931
ece23901
KH
99322000-08-16 Kenichi Handa <handa@etl.go.jp>
9933
9d7bcb2e
KH
9934 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9935 sequence at the end of the source block.
9936
ece23901
KH
9937 * ccl.c (Fccl_program_p): Docstring modified.
9938 (Fccl_execute): Likewise.
9939 (Fccl_execute_on_string): Likewise.
9940
5e30eaa2
EZ
99412000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9942
9943 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9944
290602fd
KH
99452000-08-16 Kenichi Handa <handa@etl.go.jp>
9946
9947 The following changes are mainly to fix bugs of
9948 encode/decode-coding-string failing if encoding/decoding return
9949 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9950 variable conversion_buffer.
9951
9952 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9953 decrement dst_end to avoid buffer overflow in the later call of
9954 string_as_multibyte
9955
9956 * coding.h (conversion_buffer_size, conversion_buffer)
9957 (get_conversion_buffer): Extern deleted.
9958
9959 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9960 (conversion_buffer, conversion_buffer_size): Variables deleted.
9961 (get_conversion_buffer): Function deleted.
9962 (struct conversion_buffer): New structure.
9963 (MAX_ALLOCA): New macro.
9964 (allocate_conversion_buffer): New macro.
9965 (extend_conversion_buffer, free_conversion_buffer): New functions.
9966 (ccl_coding_driver): Set coding->result.
9967 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9968 this is the last block of source.
9969 (encode_coding): Likewise. Handle the source block as the last
9970 one only when the whole source text is consumed.
9971 (decode_coding_string): Handle the case that the output buffer is
9972 too small to decode the whole source text. Use
9973 allocate_conversion_buffer, extend_conversion_buffer and
9974 free_conversion_buffer, not get_conversion_buffer.
9975 (encode_coding_string): Likewise.
9976 (init_coding): Function deleted.
52283633 9977 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9978
9979 * emacs.c (main): Don't call init_coding.
9980
52283633 9981 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9982
9983 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9984 (insert_glyphs): Likewise.
9985
9986 * w32console.c (write_glyphs): Use a locally declared
9987 conversion_buffer.
9988
b9f80d41
EZ
99892000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9990
9991 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9992 member of display_info is NULL.
9993
32dc52f7
GM
99942000-08-15 Gerd Moellmann <gerd@gnu.org>
9995
52283633 9996 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9997
32dc52f7 9998 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9999 appearances with capability `me'.
32dc52f7
GM
10000 (write_glyphs): Switch on inverse video before each face change.
10001
4eb22d33
DL
100022000-08-14 Dave Love <fx@gnu.org>
10003
10004 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10005 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10006 (lisp_free): Declare and make static.
10007
10008 * window.c: Fix embedded comment.
10009 (syms_of_window): Fix doc string.
10010
90cbf47e
GM
100112000-08-14 Gerd Moellmann <gerd@gnu.org>
10012
52283633 10013 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
10014 make sure to print `C-' before `M-', like in the manual.
10015
440fc135
GM
100162000-08-11 Gerd Moellmann <gerd@gnu.org>
10017
10018 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10019 since they aren't relocated anymore.
52283633 10020 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10021
10022 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10023 partially visible line which is smaller than the window's height.
440fc135 10024
6e264fad
KH
100252000-08-11 Kenichi Handa <handa@etl.go.jp>
10026
10027 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10028 the multibyte form of eight-bit-control characters.
6e264fad
KH
10029 (Fccl_execute_on_string): Initialize ccl->multibyte.
10030
10031 * ccl.h (struct ccl_program): New member multibyte.
10032
10033 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10034
c371f69a
KH
100352000-08-11 Kenichi Handa <handa@etl.go.jp>
10036
10037 * regex.c (regex_compile) <normal_char>: Pay attention to
10038 multibyteness.
10039 (analyse_first) <exactn>: Setup fastmap correctly for
10040 eight-bit-control characters.
10041
100422000-08-11 Kenichi Handa <handa@etl.go.jp>
10043
52283633 10044 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10045
10046 * keyboard.c (make_lispy_event): Handle the new event type
10047 multibyte_char_keystroke.
10048
10049 * xterm.c: Include coding.h.
10050 (XTread_socket): Work around a bug of XmbLookupString. If the
10051 input is from XIM, decode it according to the current locale. In
10052 that case, generate multibyte_char_keystroke events.
10053
b8ddbe71
KH
100542000-08-11 Kenichi Handa <handa@etl.go.jp>
10055
10056 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10057 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10058
47589c8c
GM
100592000-08-10 Gerd Moellmann <gerd@gnu.org>
10060
10061 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10062 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10063 (move_it_in_display_line_to): Record iterator's ascent and descent
10064 before producing glyphs, and restore them when we know the glyph
10065 doesn't fit on the line.
10066 (move_it_to): Restructured so that it's easier to debug. If
10067 moving to a vpos, and not moving to an x or character position,
10068 stop as soon as the specified vpos is reached; don't move further
10069 into that line because that might change the computed line height.
10070 (try_cursor_movement): New function, extracted from the cursor
10071 movement branch of redisplay_window. If ending on a partially
10072 visible line, don't try to scroll if the cursor line is taller
10073 than the window.
10074 (redisplay_window): Use try_cursor_movement.
10075
10076 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10077 because that function doesn't cope with variable-height lines.
10078
10079 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10080 box cursor because that's better visible for large images.
52283633 10081
c51bacd6
MB
100822000-08-10 Miles Bader <miles@gnu.org>
10083
10084 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10085
bea56df7
GM
100862000-08-10 Gerd Moellmann <gerd@gnu.org>
10087
10088 * xdisp.c (Vmessages_buffer_name): New variable.
10089 (message_dolog): Use it.
10090 (syms_of_xdisp): Initialize it.
10091
99cd7364
EZ
100922000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10093
52283633 10094 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10095 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10096 redundant now that keyboard.h is included.
10097
7d093d56
EZ
100982000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10099
10100 * keyboard.c (kbd_buffer_events_waiting): New function.
10101
10102 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10103
10104 * msdos.c: Include keyboard.h.
10105 (XMenuActivate): Empty no_event events from the event buffer. If
10106 no events are left after that, call clear_input_pending.
10107 (mouse_clear_clicks): New function, code moved from mouse_init.
10108 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10109 mouse driver to ``forget'' any past clicks.
10110
10111 * Makefile.in (msdos.o): Depend on keyboard.h.
10112
41e757a6
GM
101132000-08-09 Gerd Moellmann <gerd@gnu.org>
10114
8e7bd231
GM
10115 * lisp.h (input_pending): External declaration.
10116
10117 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10118
8e7bd231
GM
10119 * xdisp.c (echo_area_display): Display thoroughly if input is
10120 pending. Bind redisplay-dont-pause to t during the redisplay.
10121 in case input is pending.
10122
10123 * dispnew.c (Qredisplay_dont_pause): New variable.
10124 (syms_of_display): Initialize and staticpro it.
10125 (update_frame_1): Don't interrupt the display for pending input if
10126 redisplay_dont_pause is set.
52283633 10127
43028b7e
GM
10128 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10129
41e757a6
GM
10130 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10131
2f2174fa
KH
101322000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10133
10134 * callproc.c (Fcall_process): Terminate the unwind-protect around
10135 the post-read-conversion of coding system.
10136
0a6fd67e
MB
10137 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10138 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10139 * buffer.h (overlays_at): Update prototype.
10140 * xdisp.c (next_overlay_change): Update call to overlays_at.
10141 * xfaces.c (face_at_buffer_position): Likewise.
10142 * textprop.c (Fget_char_property): Likewise.
10143 * xterm.c (note_mouse_highlight): Likewise.
10144
0c80756e
MB
10145 * minibuf.c (do_completion): Don't consider a simple change of
10146 case as `completion'.
10147
975f250a
KR
101482000-08-08 Ken Raeburn <raeburn@gnu.org>
10149
52283633 10150 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10151 * undo.c (record_delete): Make sure last_point_position_buffer is
10152 a buffer before comparing pointers.
10153
10154 * coding.h (decode_coding_string): Declare.
10155
10156 * intervals.h (Fprevious_single_char_property_change): Declare.
10157
10158 * textprop.c (Fprevious_single_char_property_change): Don't do
10159 arithmetic directly on lisp objects.
10160
52283633 10161 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10162
10163 * keyboard.h (menu_item_eval_property): Declare.
10164
10165 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10166 reuse as buffer name, instead of recreating (and discarding) every
10167 time a message is logged.
10168 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10169 (current_message_1, truncate_message_1, set_message_1)
10170 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10171 (current_message, truncate_echo_area, display_echo_area)
10172 (resize_echo_area_axactly): Changed calls.
b347b3fd 10173
975f250a 10174 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10175 Lisp object.
975f250a 10176 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10177 must be an integer, not a Lisp object.
975f250a 10178
46dc9912
KH
101792000-08-08 Kenichi Handa <handa@etl.go.jp>
10180
10181 * charset.c (Fchar_width): Doc fix.
10182
9f6d1a6c
GM
101832000-08-08 Gerd Moellmann <gerd@gnu.org>
10184
10185 * charset.c (Fstring_width): Doc fix.
10186
ff3d9573
GM
101872000-08-07 Gerd Moellmann <gerd@gnu.org>
10188
41e757a6 10189 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10190 line, clear ascent and descent members of the iterator structure;
10191 the height of the continued line does not affect the height of the
10192 continuation line.
10193 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10194 line taller than the window.
10195 (redisplay_window) <forced window start>: Handle case that the
10196 middle of the window is not found in any row.
10197 (dump_glyph_row): Show more information.
10198 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10199 first text line in a glyph matrix.
10200
10201 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10202 of the clip area when image doesn't have a mask.
10203
70fc58b3
GM
10204 * fns.c (sweep_weak_table): Fix survival conditions for
10205 key-or-value and key-and-value weakness.
10206
10207 * .gdbinit (xhashtable): New command.
10208
ac0e96ee
GM
10209 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10210 tables out of the list of all weak hash tables.
10211
ff3d9573
GM
10212 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10213 a new buffer is created, make sure echo_area_buffer[] references
10214 the new buffer.
10215
e0d8827b
EZ
102162000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10217
10218 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10219 the doc string.
10220
c6f35378
KH
102212000-08-07 Kenichi Handa <handa@etl.go.jp>
10222
10223 * syntax.c (skip_chars): Fix previous change. Make the handling
10224 of unibyte string consistent with that of regex search.
10225
1fd4c450
GM
102262000-08-05 Gerd Moellmann <gerd@gnu.org>
10227
e49aa397
GM
10228 * xmenu.c (popup_get_selection): Use xfree instead of free.
10229
10230 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10231
10232 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10233
10234 * callproc.c (child_setup): Use xfree instead of free.
10235
10236 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10237 instead of malloc.
10238 (run_mac_command, closedir): Use `xfree' instead of `free'.
10239
10240 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10241
10242 * eval.c (error): Use xfree instead of free.
10243
1fd4c450
GM
10244 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10245
10246 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10247 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10248
82d497fc
KH
102492000-08-05 Kenichi Handa <handa@etl.go.jp>
10250
10251 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10252 conversion.
10253
59f953a2
NF
102542000-08-04 Noah Friedman <friedman@splode.com>
10255
10256 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10257 docstring.
10258
688351f2
GM
102592000-08-04 Gerd Moellmann <gerd@gnu.org>
10260
10261 * syntax.c (skip_chars): Fix typo in error message.
10262
2dad51cc
AS
102632000-08-04 Andreas Schwab <schwab@suse.de>
10264
10265 * m/ia64.h: Moved from s/ia64.h.
10266
99bb2c60
KH
102672000-08-04 Kenichi Handa <handa@etl.go.jp>
10268
082a1df2
KH
10269 * process.c (read_process_output): Big simplification. Handle
10270 composition and post-read-conversion of coding system correctly.
10271 (send_process): Handle composition correctly.
10272
10273 * callproc.c (Fcall_process): Handle post-read-conversion of
10274 coding system if any.
10275
99bb2c60
KH
10276 * coding.c (decode_coding_iso2022): More strict check for handling
10277 single shifting.
082a1df2
KH
10278 (coding_restore_composition): Pay attention to the case that
10279 cmp_data is not set properly (because of invalid code in the
10280 source text).
10281 (run_pre_post_conversion_on_str): Include text properties in the
10282 resulting string.
10283 (decode_coding_string): Set members of coding correctly.
99bb2c60 10284
f4988be7
GM
102852000-08-03 Gerd Moellmann <gerd@gnu.org>
10286
10287 * s/ia64.h: New file.
10288
10289 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10290 Use NULL instead of 0 at the end of variable argument list of
10291 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10292 sizeof (int) < sizeof (void *).
10293
10294 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10295 of variable argument lists of XtVaGetValues and XtVaSetValues.
10296
10297 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10298 variable argument lists of XtVaGetValues and XtVaSetValues.
10299
ead53494
GM
103002000-08-02 Gerd Moellmann <gerd@gnu.org>
10301
10302 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10303 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10304
10305 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10306 prototype.
10307
10308 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10309 in call to Fsingle_key_description.
10310
10311 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10312 Callers changed.
10313
103142000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10315
10316 * window.c (display_buffer_reuse_frames): New variable.
10317 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10318 frames displaying BUFFER.
52283633 10319 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10320
10b0f752
MB
103212000-08-01 Miles Bader <miles@gnu.org>
10322
10323 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10324 when to constrain NEW_POS (they were pretty screwed up before).
10325
16425c4a
EZ
103262000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10327
10328 * msdos.c (run_msdos_command): Save and restore the master
10329 environment, for the case that child_setup signals an error.
10330 When mirroring slashes in DOS shell commands, don't fail when
10331 argv[2] has embedded blanks.
da288c14
EZ
10332 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10333 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10334 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10335
10336 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10337 using alloca; free it after run_msdos_command returns.
10338
27f73852
DL
103392000-07-27 Dave Love <fx@gnu.org>
10340
52283633
SM
10341 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10342 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10343
10344 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10345
c0261b5e
EZ
103462000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10347
10348 * editfns.c (lisp_time_argument): Fix last change.
10349
b548072f
GM
103502000-07-27 Gerd Moellmann <gerd@gnu.org>
10351
3ab82477
GM
10352 * fns.c (Fdelete): Make it work on vectors and strings in addition
10353 to lists.
10354
b548072f
GM
10355 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10356 (syms_of_fns): Initialize new variables.
52283633 10357 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10358 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10359 weakness, with t meaning the same as `key-and-value'.
10360
91ae8751
KH
103612000-07-27 Kenichi Handa <handa@etl.go.jp>
10362
10363 * coding.h (struct coding_system): Member safe_charset deleted.
10364
10365 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10366 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10367 New variables.
91ae8751
KH
10368 (coding_safe_chars): New function.
10369 (CODING_SAFE_CHAR_P): New macro.
10370 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10371 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10372 (detect_coding_iso2022): New local variable safe_chars.
10373 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10374 safe_charsets member of the coding system.
10375 (decode_coding_iso2022): New local variable safe_chars.
10376 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10377 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10378 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10379 (ENCODE_UNSAFE_CHARACTER): New macro.
10380 (encode_coding_iso2022): New local variable safe_chars. Check
10381 unsafe chars.
10382 (setup_coding_system): Delete the code to initialize
10383 coding->safe_charses
10384 (intersection, find_safe_codings): New functions.
10385 (Ffind_coding_systems_region_internal): New function.
10386 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10387 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10388 variable and initialize it.
10389
10390 * fns.c (char_table_ref_and_index): New function.
10391
10392 * lisp.h (char_table_ref_and_index): Add prototype.
10393
34a7a267
SS
103942000-07-26 Sam Steingold <sds@gnu.org>
10395
10396 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10397 (Ffloat_time): New built-in Lisp function.
34a7a267 10398
a95cb10a
GM
103992000-07-26 Gerd Moellmann <gerd@gnu.org>
10400
3353ef5a
GM
10401 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10402 for the character code.
10403
10404 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10405 GNU/Linux.
10406
a95cb10a
GM
10407 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10408 if called for a popup menu.
10409 (xmenu_show): Store help string in widget values.
10410
b4a12321
DL
104112000-07-26 Dave Love <fx@gnu.org>
10412
10413 * syswait.h: Move some definitions.
10414 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10415 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10416 perspicuous definitions.
10417 (WTERMSIG): Fix bit pattern used.
10418
13f5ad37
KH
104192000-07-26 Kenichi Handa <handa@etl.go.jp>
10420
10421 * print.c (print_object): If vector printing is truncated, print
10422 "..." to indicate it as well as the case of list printing.
10423
070fe99c
GM
104242000-07-25 Gerd Moellmann <gerd@gnu.org>
10425
969065c3
GM
10426 * xdisp.c (next_element_from_display_vector): Improve comments.
10427
10428 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10429 for the character code, and the rest for the face id as in 20.x.
10430 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10431
10432 * window.c (window_display_table): Cleaned up.
10433
070fe99c
GM
10434 * syntax.c (Fforward_word): Add last arg nil in call of
10435 Fconstrain_to_field.
10436
bad77ef7
EZ
104372000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10438
969065c3 10439 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10440 identical but for the letter-case, don't call
10441 barf_or_query_if_file_exists.
bad77ef7 10442
c28da489
MB
104432000-07-25 Miles Bader <miles@gnu.org>
10444
10445 * editfns.c (find_field): Honor special `boundary' fields.
10446 (Qboundary): New variables.
10447 (syms_of_editfns): Initialize Qboundary.
10448 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10449 Use scan_buffer instead of find_before_next_newline, because it
10450 allows us to detect the boundary case where there's a newline at
10451 the search limit.
10452 * lisp.h (Fconstrain_to_field): Update external declaration.
10453
e3c31fd5
GM
104542000-07-24 Gerd Moellmann <gerd@gnu.org>
10455
10456 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10457 if that is nil.
c28da489 10458
c66c29a2
DL
104592000-07-24 Dave Love <fx@gnu.org>
10460
10461 * s/sunos4-0.h, s/sol2.h:
10462 (LIBS_TERMCAP): Move from m/sparc.h.
10463
10464 * m/sparc.h (TERMINFO): Moved to system files (probably only
10465 relevant for sunos4 judging by its vintage).
10466 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10467 __arch64__.
10468
fbe0a958
EZ
104692000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10470
10471 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10472 name to single_keymap_panes.
10473
7d88e5c9
AS
104742000-07-24 Andreas Schwab <schwab@suse.de>
10475
10476 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10477
e024b101
GM
104782000-07-24 Gerd Moellmann <gerd@gnu.org>
10479
10480 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10481 parameters instead of using int parameters. Expect FN to accept
10482 EMACS_INT parameters.
10483 (display_echo_area, resize_echo_area_axactly, current_message)
10484 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10485 with new argument list.
10486 (resize_mini_window_1): New callback function.
10487 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10488 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10489
25c1a9ce
KH
104902000-07-24 Kenichi Handa <handa@etl.go.jp>
10491
10492 * fontset.c (fontset_ref): Remove INLINE declaration.
10493 (fontset_ref_via_base): Likewise.
10494 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10495 to downcase.
10496
7f987ac0
EZ
104972000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10498
10499 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10500 correct order of priority. If help echo was found in an overlay,
10501 use that overlay as the object in which the help echo was found.
10502
e2db3069
MB
105032000-07-22 Miles Bader <miles@gnu.org>
10504
10505 * textprop.c (Fprevious_single_char_property_change): The initial
10506 property value should be from the position preceding POSITION, not
10507 following it.
10508
5e3203e4
EZ
105092000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10510
10511 * coding.c (syms_of_coding): Doc fix for
10512 inhibit-iso-escape-detection.
10513
62145073
GM
105142000-07-21 Gerd Moellmann <gerd@gnu.org>
10515
c20aeb83
GM
10516 * xterm.c (note_mouse_highlight): Process overlays in the right
10517 order of priority.
34a7a267 10518
743934db
GM
10519 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10520
10521 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10522 overlay, use that overlay as the object in which the help was found.
743934db 10523
d1dc7e43 10524 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10525
62145073
GM
10526 * window.c (foreach_window): Instead of a fake variable argument
10527 list, take one USER_DATA argument.
10528 (foreach_window_1): Likewise, and call callback functions with two
10529 args, the window and USER_DATA.
10530 (struct check_window_data): New struct.
10531 (check_window_containing): Use it.
10532 (window_from_coordinates): Set up a struct check_window_data for
10533 foreach_window.
10534 (add_window_to_list, freeze_window_start): Change parameters
10535 according to new calling convention.
10536
10537 * window.h (foreach_window): Change prototype.
10538
10539 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10540
105412000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10542
10543 * xmenu.c (menu_help_callback): Call show_help_echo with
10544 additional arguments OBJECT and POS.
10545
11270583
KH
105462000-07-21 Kenichi Handa <handa@etl.go.jp>
10547
07b14857
KH
10548 * data.c (Faset): Allow storing any multibyte character in a
10549 string. Convert unibyte string to multibyte if necessary.
10550
11270583
KH
10551 * xfns.c (x_encode_text): New function.
10552 (x_set_name): Use x_encode_text.
10553 (x_set_title): Likewise.
10554
10555 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10556
10557 * xterm.h (x_encode_text): Add prototype.
10558
bc75b4fd
DL
105592000-07-20 Dave Love <fx@gnu.org>
10560
10561 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10562 xfree, not free.
10563
48c14970
EZ
105642000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10565
10566 * msdos.c (help_echo_window): New variable.
10567 (syms_of_msdos): Initialize and staticpro it.
10568 (IT_note_mode_line_highlight): Set help_echo_window.
10569 (IT_note_mouse_highlight): Ditto.
10570 (dos_rawgetc): Store help_echo_window in the second event produced
10571 for HELP_EVENTs.
10572
10573 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10574 Record the object that generated the help echo and the position of
10575 that object in help_echo_object and help_echo_pos. Record that
10576 some glyphs in a row are displayed in mouse-face.
10577 (IT_update_begin): Don't clear mouse highlight unless one of the
10578 enabled glyph rows is marked as being displayed in mouse-face.
10579 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10580 and position recorded in help_echo_object and help_echo_pos to the
10581 event queue.
10582 (IT_menu_display): Accept a new argument PN: the pane number of
10583 the current menu pane. Record the pane number and the item
10584 number of the item which has associated help string.
10585 (XMenuActivate): Update the prototype for help_callback in
10586 function declaration. Call IT_menu_display with the current menu
10587 pane number as an additional argument. Call help_callback with
10588 two additional arguments: the pane number and the item number of
10589 the menu item associated with the help text.
10590 (help_echo_object, help_echo_pos): New variables.
10591 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10592
10593 * msdos.h (XMenuActivate): Update prototype.
10594
4279296d
GM
105952000-07-19 Gerd Moellmann <gerd@gnu.org>
10596
47db06aa
GM
10597 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10598 Add some more prototypes.
10599
10600 * xterm.c, xterm.h: Add some more prototypes.
10601
10602 * lisp.h (Fnext_single_char_property_change): Add prototype.
10603
10604 * dispnew.c (direct_output_for_insert): Remove confusing
10605 outer local variable mouse_face_overwritten_p.
10606 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10607
4279296d
GM
10608 * alloc.c (allocate_string_data): Don't copy old string contents.
10609
670acd62
KH
106102000-07-19 Kenichi Handa <handa@etl.go.jp>
10611
10612 * coding.c (code_convert_region): Delete text properties before
10613 shrinking the conversion region.
10614
7cea38bc
GM
106152000-07-18 Gerd Moellmann <gerd@gnu.org>
10616
dc1cac59
GM
10617 * dispnew.c (update_text_area): Write the whole row if it
10618 has mouse-face in it.
10619
85a8aca9
GM
10620 * xfaces.c (face-alternative-font-family-alist): Remove
10621 DEFVAR_LISP; staticpro instead.
10622
34a7a267 10623 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10624 new arguments.
10625
10626 * keyboard.c (show_help_echo): Add parameter WINDOW.
10627 (read_char): Call show_help_echo with window extracted from Lisp
10628 help event.
10629 (gen_help_event): Add parameter WINDOW.
10630
10631 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10632
10633 * xterm.c (help_echo_window): New variable.
52283633 10634 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10635 (XTread_socket): Pass help_echo_window to gen_help_event.
10636 (syms_of_xterm): Initialize and staticpro help_echo_window.
10637
f8276b77
DL
106382000-07-18 Dave Love <fx@gnu.org>
10639
52283633 10640 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10641
088831a6
GM
106422000-07-18 Gerd Moellmann <gerd@gnu.org>
10643
3d6cd763
GM
10644 * alloc.c (allocate_string_data): If string had already data
10645 assigned, copy old contents to new string data.
10646
10647 * coding.c (syms_of_coding): Fix typo in spelling of variable
10648 `inhibit-iso-escape-detection'.
10649
088831a6
GM
10650 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10651
10652 * Makefile.in: Add dependencies on dispextern.h.
10653 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10654 `free'; both can conflict with system header files.
10655
bc8a8d55
KH
106562000-07-18 Kenichi Handa <handa@etl.go.jp>
10657
10658 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10659 undefined.
10660
069f5950
DL
106612000-07-18 Dave Love <fx@gnu.org>
10662
10663 * window.c (Fwindow_list): Declare arg `window'.
10664
aa96c820
KH
106652000-07-18 Kenichi Handa <handa@etl.go.jp>
10666
10667 * coding.c (setup_coding_system): Don't override the explicitly
10668 specified designations.
10669
06be8d32
MB
106702000-07-15 Miles Bader <miles@gnu.org>
10671
10672 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10673 from `text_property_eq' and `text_property_stickiness', respectively.
10674 (find_field, Fconstrain_to_field, char_property_eq)
10675 (char_property_stickiness): Changed to call char-property functions
10676 instead of text-property-only ones.
10677
10678 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10679 `next_single_char_property_change'). Do more error checking, and
10680 cleanup limit behavior.
10681 (Fprevious_single_char_property_change): New function.
10682 (syms_of_textprop): Initialize new subrs.
10683
10684 * xdisp.c (display_prop_end, invisible_text_between_p):
10685 Call Fnext_single_char_property_change instead of
10686 next_single_char_property_change.
10687
3fddcdc3
JR
106882000-07-15 Jason Rumney <jasonr@gnu.org>
10689
10690 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10691 after menu is finished with.
10692 (add_menu_item): Only consider wv->title as a menu title.
10693 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10694
10695 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10696 null title.
10697 (FONT_REGEXP): Remove unused macro, and its sub-components.
10698 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10699
10700 * w32term.c (help_echo_object, help_echo_pos): New variables.
10701 (note_mode_line_highlight): Store additional information about the
10702 help-echo in help_echo_object and help_echo_pos. Check both
10703 `local-map' and `keymap' properties for changing the cursor
10704 (note_mouse_highlight): Store additional information about the
10705 help-echo in help_echo_object and help_echo_pos.
10706 (note_tool_bar_highlight): Set help_echo_object to nil and
10707 help_echo_pos to -1.
10708 (w32_read_socket): Use gen_help_event instead of filling
10709 input_events manually.
10710 (syms_of_w32term): Staticpro help_echo_object.
10711 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10712 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10713 (x_clear_mouse_face): New function.
10714 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10715 (x_update_window_begin): No need to turn off the mouse
10716 highlight here.
10717 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10718 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10719 (x_fill_stretch_glyph_string): Consume runs of stretch
10720 glyphs instead of a single one.
10721 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10722 with new argument list.
10723 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10724 (x_append_glyph, x_append_composite_glyph)
10725 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10726 changes in struct glyph starting 1999-12-27. See comments for
10727 xterm.c on 2000-07-05.
10728
178c5d9c
SS
107292000-07-14 Sam Steingold <sds@gnu.org>
10730
10731 * xfaces.c (realize_x_face): Fix the last patch:
10732 check `default_face' before dereferencing.
10733
6fe533f6
DL
107342000-07-14 Dave Love <fx@gnu.org>
10735
069f5950 10736 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10737
dd7b81cf
KH
107382000-07-14 Kenichi Handa <handa@etl.go.jp>
10739
0693904a 10740 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10741 default_face's fontset, not using the default fontset.
0693904a 10742
dd7b81cf
KH
10743 * coding.c (inhibit_iso_escape_detection): New variable.
10744 (syms_of_coding): Make it a Lisp variable.
10745 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10746 nonzero, ignore ISO2022's escape sequence.
10747
d5aa31d8
GM
107482000-07-14 Gerd Moellmann <gerd@gnu.org>
10749
e5acf0ca
GM
10750 * alloca.c (malloc) [emacs]: Define as xmalloc.
10751
bd23a692
GM
10752 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10753 use that instead of the mouse position. Add parameters DX and DY.
10754
10755 * dispextern.h (Fx_show_tip): Adjust number of parameters
10756 in prototype.
10757
9662da0b
GM
10758 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10759 if HELP is a function, call it with OBJECT and POS as parameters
10760 to get the help to display.
10761 (gen_help_event, kbd_buffer_store_help_event): New functions.
10762 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10763 (read_char): Call show_help_echo with new parameters.
10764
178c5d9c 10765 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10766 Add prototypes.
10767
10768 * xterm.c (help_echo_object, help_echo_pos): New variables.
10769 (note_mode_line_highlight): Store additional information about the
10770 help-echo in help_echo_object and help_echo_pos. Check both
10771 `local-map' and `keymap' properties for changing the cursor
10772 (note_mouse_highlight): Store additional information about the
10773 help-echo in help_echo_object and help_echo_pos.
10774 (note_tool_bar_highlight): Set help_echo_object to nil and
10775 help_echo_pos to -1.
10776 (XTread_socket): Use gen_help_event instead of filling
10777 input_events manually.
10778 (syms_of_xterm): Staticpro help_echo_object.
10779
10780 * xmenu.c (menu_highlight_callback): Use
10781 kbd_buffer_store_help_event instead of setting up and input_event
10782 structure manually.
10783
10784 * xdisp.c (eval_form): GCPRO argument sexpr.
10785 (call_function): New function.
10786 (handle_single_display_prop): Use call_function and FUNCTIONP
10787 instead of checking whether if font_height is a symbol and
10788 using eval_form.
10789
10790 * eval.c (internal_condition_case_2): New function.
10791
10792 * lisp.h (FUNCTIONP): New macro.
10793 (internal_condition_case_2, call_function): Add prototypes.
10794
d5aa31d8
GM
10795 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10796 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10797 Always set `arg' member of input_events.
10798 (construct_menu_click): Unused function removed.
10799
10800 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10801
10802 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10803 (construct_drag_n_drop, x_scroll_bar_handle_click)
10804 (w32_read_socket): Always set `arg' member of input_events.
10805
10806 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10807
10808 * lisp.h (eval_form): Add prototype.
10809
10810 * xdisp.c (eval_form): Make it externally visible.
10811
0f1a9b23
GM
108122000-07-13 Gerd Moellmann <gerd@gnu.org>
10813
10814 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10815 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10816 consing. For prefix events, store the frame in the `arg' slot of
10817 the event, otherwise store the key there.
10818 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10819 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10820
10821 * xmenu.c (menu_highlight_callback): Store help string in the
10822 `arg' member of the input event; don't cons.
10823 (menubar_selection_callback): Use the `arg' slot of input events
10824 to queue additional information, instead of consing.
10825
10826 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10827
10828 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10829 TOOL_BAR_EVENTs.
10830 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10831
10832 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10833 input events to queue additional information, instead of consing.
10834
10835 * keyboard.c (kbd_buffer_gcpro): Renamed from
10836 kbd_buffer_frame_or_window. Now used for all Lisp objects
10837 referenced from the input queue.
10838 (kbd_buffer_store_event): Always use structure assignment for
10839 copying input events. Record all Lisp objects referenced from
10840 events in kbd_buffer_gcpro.
10841 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10842 differently from input events. Test for prefix menu_bar_events
10843 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10844 event in kbd_buffer_gcpro to nil.
10845 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10846 frame_or_window is equal to its arg member as prefix events.
10847 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10848 used by an input event to nil.
10849 (init_keyboard): Use two times the size of the input queue
10850 for kbd_buffer_gcpro.
10851 (syms_of_keyboard): Likewise.
10852
52283633
SM
10853 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10854 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10855
10856 * termhooks.h (struct input_event): Add member `arg'.
10857 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10858 (USER_SIGNAL_EVENT): Renamed from user_signal.
10859
10860 * xfaces.c (ASET): Remove definition.
10861
10862 * lisp.h (AREF, ASET, ASIZE): New macros.
10863
10864 * fontset.c (AREF, ASIZE): Remove definitions.
10865
10866 * fns.c (AREF): Remove definition.
178c5d9c 10867
0f1a9b23
GM
10868 * composite.c (AREF): Remove definition.
10869
712eaef2
GM
108702000-07-12 Gerd Moellmann <gerd@gnu.org>
10871
d8ee7803
GM
10872 * dispnew.c (redraw_overlapped_rows): Add missing local.
10873 (scrolling_window): Remove debug code.
10874
712eaef2
GM
10875 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10876 Before scrolling, turn off a mouse-highlight in the window
10877 being scrolled.
10878
10879 * xterm.c (x_update_window_end): Add parameter
10880 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10881 redisplay in XTframe_up_to_date.
10882 (x_clear_mouse_face): New function.
10883 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10884
10885 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10886 current glyph row.
10887 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10888 it when any row is written to that contains glyphs highlighted in
10889 mouse-face.
10890 (update_window): Call the window update end hook with new
10891 parameter MOUSE_FACE_OVERWRITTEN_P.
10892 (direct_output_for_insert): Give up if row contains mouse-face.
10893
10894 * dispextern.h (struct redisplay_interface): Add parameter
10895 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10896 (clear_mouse_face): New function pointer member.
10897
02010917
SM
108982000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10899
10900 * syntax.c (back_comment): Use one switch rather than a few `if's.
10901 Obey open_paren_in_column_0_is_defun_start.
10902 When reverting to the `slow' method, try to nicely handle the case
10903 of nested comments by checking that the comment-starter we found
10904 does indeed match the comment-ender.
10905 (scan_sexps_forward, scan_sexps_forward):
10906 Ignore excessive opening parenthesis rather than throwing an error.
10907
d76c03ea
GM
109082000-07-11 Gerd Moellmann <gerd@gnu.org>
10909
10910 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10911 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10912
10913 * dispnew.c (direct_output_forward_char): Give up if currently
10914 displaying a message instead of the minibuffer contents.
10915
10916 * xterm.c (x_update_window_begin): No need to turn off the mouse
10917 highlight here.
10918 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10919 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10920
10921 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10922 compare the mouse_face_p flags of both rows.
10923
10924 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10925
d55ead18
EZ
109262000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10927
10928 * keyboard.c (show_help_echo): Accept additional parameter
10929 ok_to_overwrite_keystroke_echo.
10930 (read_char): Call show_help_echo with a zero
10931 ok_to_overwrite_keystroke_echo argument.
52283633 10932 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10933 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10934 ok_to_overwrite_keystroke_echo argument.
10935 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10936 non-zero ok_to_overwrite_keystroke_echo argument.
10937
df75b1a3
GM
109382000-07-10 Gerd Moellmann <gerd@gnu.org>
10939
4b92c49a
GM
10940 * xdisp.c (try_window_id): If changes are all below what is
10941 displayed in the window, and point is in the window, we still
10942 might have to find point on the display.
10943
10944 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10945 glyphs instead of a single one.
10946 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10947 with new argument list.
10948 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10949
df75b1a3
GM
10950 * keymap.c (get_keymap_1): Add comment that this function can GC.
10951 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10952 comment that functions can GC.
10953 (Fset_keymap_parent): GCPRO arg KEYMAP.
10954
4314cf3e
EZ
109552000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10956
10957 * msdos.c (XMenuActivate): After exiting the menu, restore the
10958 echo area message and erase it.
10959
ab49ce15
KH
109602000-07-10 Kenichi Handa <handa@etl.go.jp>
10961
10962 * fontset.c (Ffontset_info): Make the return value more compatible
10963 with that of Emacs 20.
10964
090a072f
GM
109652000-07-07 Gerd Moellmann <gerd@gnu.org>
10966
10967 * eval.c (Fsignal): Handle case that backtrace_list is null.
10968
f92de4a6
KH
109692000-07-07 Kenichi Handa <handa@etl.go.jp>
10970
10971 * ccl.c (Fccl_execute): Typo fixed.
10972
dd8888a1
GM
109732000-07-06 Gerd Moellmann <gerd@gnu.org>
10974
e5c81191 10975 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10976
dd8888a1
GM
10977 * window.c (Fwindow_list): Reverse list at the end.
10978 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10979 means allow windows on OWINDOW's frame, only.
10980 (window_loop): Simplified; use Fwindow_list.
10981
10982 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10983
485266d0
GM
109842000-07-05 Gerd Moellmann <gerd@gnu.org>
10985
10986 * xterm.c (XTread_socket): Increment handling_signal at the start,
10987 decrement it at the end.
10988
10989 * eval.c (handling_signal): New variable.
10990 (Fsignal): Abort if handling_signal is non-zero.
10991
10992 * lisp.h (handling_signal): External declaration.
178c5d9c 10993
485266d0
GM
10994 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10995
80fcd514
KR
109962000-07-05 Ken Raeburn <raeburn@gnu.org>
10997
10998 Sound support for NetBSD through "Linux emulation" support:
10999 * config.in (HAVE_SOUNDCARD_H): Undef.
11000 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11001 * Makefile.in (LIBSOUND): New variable.
11002 (LIBES): Include it.
52283633
SM
11003 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11004 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
11005 (vox_open): Use DEFAULT_SOUND_DEVICE.
11006 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11007
d5c5cddd
GM
110082000-07-05 Gerd Moellmann <gerd@gnu.org>
11009
11010 * print.c (print_error_message): If Vsignaling_function is set,
11011 show it in *Messages*.
11012
11013 * lisp.h (Vsignaling_function): External declaration.
11014
11015 * eval.c (Vsignaling_function): New variable.
11016 (Fsignal): Compute it.
11017 (syms_of_eval): Staticpro it.
11018
65171e3a
DL
110192000-07-05 Dave Love <fx@gnu.org>
11020
11021 * syswait.h: Use the autoconf recommended approach. Old code
11022 #if'd out in case we need to revert.
11023
178c5d9c 11024 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11025
e2c46326
AI
110262000-07-05 Andrew Innes <andrewi@gnu.org>
11027
11028 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11029 when non-NULL instead of __morecore, to take account of buffer
11030 memory. This also solves a problem with spurious memory warnings
11031 on Windows.
11032
11033 * ralloc.c: Make real_morecore non-static.
11034
11035 * eval.c (internal_condition_case): Comment out abort if
11036 interrupt_input_blocked is not zero.
11037
11038 * makefile.nt: Add support for `bootstrap' and related targets.
11039 Include minimal debug info in emacs.exe in release build.
11040 Remove all dependencies on lisp.h, and fixup some others.
11041
11042 * w32.c (init_environment): Install code from 20.7 for providing
11043 default values for environment variables, based on the
11044 executable's own location.
52283633 11045 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11046 (sys_socket): Install socket inheritance bug fix from 20.7.
11047
11048 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11049 here via blockinput.h).
11050
a027a91b
SM
110512000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11052
e4b31601
SM
11053 * w32menu.c (w32_menu_display_help):
11054 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11055
11056 * keyboard.h (show_help_echo): Declare.
11057
11058 * keyboard.c (show_help_echo): New function, extracted from read_char.
11059 Feval its `msg' argument if it's a cons cell.
11060 (read_char): Use it.
4cf8d9d5 11061 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11062
178c5d9c 11063 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11064 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11065 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11066 (dos_rawgetc):
11067 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11068 (note_tool_bar_highlight, w32_read_socket):
11069 Do not gratuitously ignore non-string `help-echo' properties.
11070
88d75730
GM
110712000-07-05 Gerd Moellmann <gerd@gnu.org>
11072
969f7e79
GM
11073 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11074
71201b00
GM
11075 * window.c (delete_all_subwindows): Reset Vwindow_list.
11076
88d75730
GM
11077 * xterm.c (x_append_glyph, x_append_composite_glyph)
11078 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11079 changes in struct glyph starting 1999-12-27. Some bit-fields of
11080 struct glyph were not set, which made glyphs unequal when compared
11081 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11082 effects were the result. This also depended on the contents of
11083 memory returned by xmalloc. If flickering happens again, activate
11084 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11085 gone with that, chances are that it is caused by something similar.
88d75730
GM
11086
11087 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11088
88d75730
GM
11089 * dispextern.h: Add some comments.
11090
11091 * window.c (add_window_to_list): Add parameter LIST.
11092 (window_list): Order list so that, for each frame, windows are
11093 in canonical order, and so that frames appear in the list in
11094 the order given by Vframe_list.
11095 (next_window): Reverse the handling of NEXT_P.
11096
53654733
GM
110972000-07-04 Gerd Moellmann <gerd@gnu.org>
11098
87efd256
GM
11099 * window.c (Vwindow_list): New variable.
11100 (make_window, delete_window): Set Vwindow_list to nil.
11101 (check_window_containing): New function.
11102 (window_from_coordinates): Rewritten.
11103 (add_window_to_list, window_list, candidate_window_p)
11104 (decode_next_window_args, next_window): New functions.
52283633 11105 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11106 (Fwindow_list): New function.
11107 (Fother_window): Cleaned up.
11108 (foreach_window): Add a longer "variable argument list". Let
11109 callback function return 0 to indicate that cycling over windows
11110 should stop.
11111 (foreach_window_1): Likewise.
11112 (freeze_window_start): Return int.
11113 (init_window): New function.
11114 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11115
11116 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11117 input_event with bzero.
11118 (main): Call init_window.
11119
53654733
GM
11120 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11121 a menu filter.
11122
4a8c194f
KH
111232000-07-04 Kenichi Handa <handa@etl.go.jp>
11124
11125 * composite.h (make_composition_value_copy): Extern it.
11126
11127 * composite.c (make_composition_value_copy): New function.
11128
11129 * editfns.c (Fformat): While copying text properties, make each
11130 composition property value a copy.
11131
11132 * fns.c (concat): While copying text properties, make each
11133 composition property value a copy.
11134
831a6cb0
GM
111352000-07-03 Gerd Moellmann <gerd@gnu.org>
11136
2f516940
GM
11137 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11138
178c5d9c 11139 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11140 marked already.
11141
831a6cb0
GM
11142 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11143 include those frames as candidates which have their focus
11144 redirected to the minibuffer frame.
11145
d9c4f922
SM
111462000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11147
11148 * fns.c (Fputhash): Return `value' rather than nil.
11149
3780bc22
GM
111502000-06-30 Gerd Moellmann <gerd@gnu.org>
11151
97d176db
GM
11152 * frame.c (next_frame): Don't check focus redirection in case
11153 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11154 unless their focus is redirected, which contradicts the
11155 specification of next-frame, and leads to infinite loops in
11156 certain situations when cycling through windows with next-window.
11157
dca9961d
KH
111582000-06-30 Kenichi Handa <handa@etl.go.jp>
11159
11160 * coding.c (code_convert_region): Even if the length of text is
11161 zero, try to convert it if coding->type is coding_type_ccl.
11162 (decode_coding_string, encode_coding_string): Likewise.
11163
d5483ab1
GM
111642000-06-28 Gerd Moellmann <gerd@gnu.org>
11165
af5c25e1 11166 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11167 the display if windows_or_buffers_changed.
af5c25e1
GM
11168
11169 * dispnew.c (struct row_entry): New structure.
11170 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11171 (row_table_size, old_lines, new_lines, old_lines_size)
11172 (new_lines_size, run_pool, runs_size, runs): New variables.
11173 (add_row_entry): New function.
11174 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11175 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11176 holding them in local variables. Use a larger hash table whose
11177 size depends on glyph matrix sizes. Don't use bzero to clear the
11178 hash table; instead, clear used slots only.
11179
11180 * fns.c (next_almost_prime): Make it externally visible.
11181
11182 * lisp.h (next_almost_prime): Add prototype.
11183
d5483ab1
GM
11184 * s/isc4-0.h (sigunblock): Define.
11185
11186 * s/sco5.h (sigunblock): Define.
11187
93e40f40
DL
111882000-06-27 Dave Love <fx@gnu.org>
11189
11190 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11191 (moved to osf5-0.h).
11192 [!NOT_C_CODE]: Protect string.h stuff.
11193
11194 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11195 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11196
3c4b7685
GM
111972000-06-27 Gerd Moellmann <gerd@gnu.org>
11198
97d176db 11199 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11200 below the last line from the needed window height.
11201
32cad0aa
SM
112022000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11203
11204 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11205 (Fwidget_get): Use it.
11206 (syms_of_fns): Defsubr it.
11207
2c69ced2
GM
112082000-06-26 Gerd Moellmann <gerd@gnu.org>
11209
178c5d9c 11210 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11211 display info for XIM.
11212 (xim_open_dpy): Likewise.
11213 (xim_close_dpy): Don't free the display info's XIM.
11214
11215 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11216
11217 * config.in (USE_XIM): New define.
11218
3fc720e4
GM
11219 * keymap.c (get_keyelt): For menu-items containing a `:filter
11220 FILTER', apply FILTER to the menu-item's definition to get the
11221 real definition to use.
11222
11223 * lisp.h (QCfilter): External declaration.
11224
2c69ced2
GM
11225 * xfns.c (Fimage_size): New function.
11226 (syms_of_xfns): Defsubr it.
11227
f978b2a2
AS
112282000-06-26 Andreas Schwab <schwab@suse.de>
11229
11230 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11231 Fstring_as_unibyte.
11232
94cc7892
DL
112332000-06-25 Dave Love <fx@gnu.org>
11234
52283633 11235 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11236
11237 * Makefile.in (blockinput.h): Depend on atimer.h.
11238 (atimer.h): Depend on systime.h.
11239
52283633 11240 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11241
52283633 11242 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11243
11244 * lisp.h (swap_in_global_binding): Declare.
11245
b8c24556
KR
112462000-06-24 Ken Raeburn <raeburn@gnu.org>
11247
11248 * process.c (Fopen_network_stream): Turn off atimers for duration
11249 of call to connect. (Patch from Gerd.)
11250
8cf8560b
DL
112512000-06-23 Dave Love <fx@gnu.org>
11252
511c7541
DL
11253 * ralloc.c: Maybe include unistd.h
11254
8cf8560b
DL
11255 * emacs.c (setgrp): Undefine before defining.
11256 (malloc_warning, set_time_zone_rule, index): Prototype.
11257
11258 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11259 HAVE_STRUCT_TIMEZONE.
11260
11261 * s/osf1.h: Move string.h hack here from alpha.h and make it
11262 conditional.
11263 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11264 _XOPEN_SOURCE.
11265 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11266 (SOCKLEN_TYPE): Don't define.
11267
11268 * m/alpha.h: Remove string.h hack.
11269
11270 * s/osf5-0.h: New file.
11271
11272 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11273 include time.h, done by systime.h.
11274 [__FreeBSD__]: Remove redundant includes.
11275
3fc720e4 11276 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11277 (delete_temp_file): Return Qnil to avoid warning.
11278
11279 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11280
11281 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11282 HAVE_X_WINDOWS.
11283
11284 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11285
11286 * composite.h (compose_text): Declare.
11287
11288 * xterm.c: Don't include sys/types.h unconditionally. Don't
11289 protect its inclusion with !USG (following xmenu.c).
11290
ea055732
GM
112912000-06-23 Gerd Moellmann <gerd@gnu.org>
11292
11293 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11294 in x_create_frame.
11295
74b01b80
EZ
112962000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11297
11298 * coding.c (decode_eol_post_ccl): Special handling for undecided
11299 and inconsistent EOL types.
11300
64f3a166
GM
113012000-06-22 Gerd Moellmann <gerd@gnu.org>
11302
16cf31f7
GM
11303 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11304 trough color and main window's background color.
11305
52283633 11306 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11307
11308 * xterm.h (Xt_app_con): External declaration.
11309
11310 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11311
486a103d
GM
11312 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11313
64f3a166
GM
11314 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11315 (handle_invisible_prop): Record the start of invisible text in
11316 it->add_overlay_start.
11317 (struct overlay_entry): Add member `overlay'.
11318 (handle_overlay_change): Simplify.
11319 (next_overlay_string): After having processed overlay strings at the
11320 end of the buffer, record that fact in
11321 it->overlay_strings_at_end_processed_p.
11322 (compare_overlay_entries): If before- and after-strings come
11323 from the same overlay, let before-strings come first.
11324 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11325 (load_overlay_strings): Take it->add_overlay_start into account
11326 when adding overlay strings.
11327
11328 * dispextern.h (struct it): Add member add_overlay_start.
11329
bb746ea6
DL
113302000-06-22 Dave Love <fx@gnu.org>
11331
11332 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11333
11334 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11335
a8f573f3
KH
113362000-06-22 Kenichi Handa <handa@etl.go.jp>
11337
11338 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11339 is greater than 0.
11340
9f2bbc92
DL
113412000-06-21 Dave Love <fx@gnu.org>
11342
178c5d9c 11343 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11344
3ee5041c
SM
113452000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11346
11347 * syntax.c (back_comment): Simplify string-parity counting (with
11348 the added benefit of handling multiple string-styles as long as
11349 they are not intertwined).
11350 Jump to the slow code as soon as a comment starter is found in
11351 a "string_lossage" position. Fixes the case: " /* " /* " */.
11352
4c343001
DL
113532000-06-21 Dave Love <fx@gnu.org>
11354
11355 * Makefile.in: Use GETLOADAVG_LIBS.
11356
11357 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11358 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11359
e6365855
SM
113602000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11361
11362 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11363 (Fforward_comment, scan_lists):
11364 Check the comstyle of single-char comment-starters.
11365 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11366 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11367 Check the comstyle of single-char comment-starters.
11368 Clarify control-flow around the Scomment case.
e6365855 11369
5700d2cc
DL
113702000-06-20 Dave Love <fx@gnu.org>
11371
d355bd8a
SM
11372 * fns.c (make_hash_table, maybe_resize_hash_table):
11373 Cast arg of next_almost_prime.
5700d2cc 11374
178c5d9c 11375 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11376
11377 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11378 and unistd.h.
11379
4a27bdfb
GM
113802000-06-20 Gerd Moellmann <gerd@gnu.org>
11381
a61d762c 11382 * keyboard.c (adjust_point_for_property): Check if display
52283633 11383 property should be treated as intangible by looking at its value.
a61d762c 11384
178c5d9c 11385 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11386 (display_prop_intangible_p): New functions.
11387
11388 * dispextern.h (display_prop_intangible_p): Add prototype.
11389
11390 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11391
4a27bdfb
GM
11392 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11393 argument to sigprocmask.
11394
11395 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11396 argument to sigprocmask.
11397
11398 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11399 sigprocmask_set, and pass a pointer to it to sigprocmask.
11400
11401 * sysdep.c (sigprocmask_set): New variable.
11402
11403 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11404 report_file_error.
11405
427ec082
SS
114062000-06-20 Sam Steingold <sds@gnu.org>
11407
11408 * xrdb.c: Don't declare xmalloc, xrealloc.
11409
8972fe79 114102000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11411
11412 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11413 (re_comp): Cast gettext return value to avoid complaints when
11414 !HAVE_LIBINTL.
11415
074b6efe
DL
114162000-06-20 Dave Love <fx@gnu.org>
11417
52283633 11418 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11419
5700d2cc 11420 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11421
d355bd8a 11422 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11423
11424 * m/alpha.h: Don't declare xmalloc, xrealloc.
11425
0af4f205
DL
11426 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11427
11428 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11429
11430 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11431
11432 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11433 HAVE_GETWD.
11434
074b6efe
DL
11435 * keyboard.h (poll_for_input_1): Declare.
11436
11437 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11438
11439 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11440
11441 * doprnt.c: Don't declare xmalloc, xrealloc.
11442
11443 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11444 (getenv, ctime, getwd): Removed.
11445 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11446
11447 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11448 x_set_tool_bar_lines.
11449
11450 * config.in: Add HAVE_GETWD. Move some definitions above
11451 machine/system includes.
11452
68a5e97b
KH
114532000-06-20 Kenichi Handa <handa@etl.go.jp>
11454
95417e1e
KH
11455 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11456
68a5e97b
KH
11457 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11458 contain information about ENCODING.
11459
11460 * fontset.c (FONTSET_ASCII): Use the first element of char table
11461 for an ASCII font, not defalt slot.
11462 (fontset_ref_via_base): If FONTSET doesn't contain information for
11463 C, try the default fontset.
11464 (make_fontset): Don't copy the default fontset.
11465 (fontset_font_pattern): Likewise.
11466 (accumulate_font_info): If ELT is nil, use the corresponding
11467 element in the default fontset.
11468
3b4fa1b2
DL
114692000-06-19 Dave Love <fx@gnu.org>
11470
943e731c
DL
11471 * syntax.c (Fparse_partial_sexp): Doc fix.
11472
11473 * regex.h: Test PROTOTYPES as well as __STDC__.
11474
3b4fa1b2
DL
11475 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11476 errno, strerror. Put text after #endif in comment.
11477
52283633 11478 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11479
11480 * xterm.c (x_frame_of_widget): Likewise.
11481
cdf0357b
GM
114822000-06-19 Gerd Moellmann <gerd@gnu.org>
11483
11484 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11485 to Vfundamental_mode_abbrev_table.
11486
11487 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11488 bogus objects are marked. This slows down GC by ~80 percent, but
11489 it might be worth trying when debugging GC-related problems.
11490 This feature requires conservative stack marking to be enabled.
11491
11492 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11493 returns XLookupChars, reset `modifiers' to zero.
11494
998e9f8c
DL
114952000-06-19 Dave Love <fx@gnu.org>
11496
11497 * mktime.c: Unprotoized.
11498
18e21ce8 114992000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11500
11501 * data.c (set_internal): If variable is frame-local,
11502 store the new value immediately into the frame parameter alist.
11503
140c4ac6
KR
115042000-06-19 Ken Raeburn <raeburn@gnu.org>
11505
14358466
KR
11506 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11507 in the custom handler pointer.
11508
140c4ac6
KR
11509 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11510 value, or checks for CHAR_META can fail when Lisp_Object is a
11511 union type.
11512 * keymap.c (get_keyelt): Likewise.
11513
10d7bf84
KH
115142000-06-19 Kenichi Handa <handa@etl.go.jp>
11515
11516 * ccl.h (struct ccl_program): New member eol_type.
11517 (struct ccl_spec): New member cr_carryover.
11518
11519 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11520 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11521
11522 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11523 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11524 (decode_eol_post_ccl): New function.
11525 (decode_coding): Don't detect EOL format here for CCL based coding
11526 systems.
11527 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11528 decode_eol_post_ccl after running the CCL program.
11529 (code_convert_region): Don't detect EOL format here for CCL based
11530 coding systems.
11531 (decode_coding_string): Likewise.
11532
52e386c2
KR
115332000-06-18 Ken Raeburn <raeburn@gnu.org>
11534
11535 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11536 when treating it as an integer.
11537
11538 * coding.h (encode_coding_string): Declare.
11539
11540 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11541 it as an integer.
11542
11543 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11544 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11545 to be passed to get_local_map.
11546
11547 * sound.c (Fplay_sound): Don't call make_number on
11548 Frun_hook_with_args count argument.
11549
11550 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11551 for lisp objects in X event structure data field, when lisp
11552 objects are represented with unions.
11553 (x_scroll_bar_to_input_event): Ditto.
11554
b357b9d4
KR
115552000-06-16 Ken Raeburn <raeburn@gnu.org>
11556
11557 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11558 termination of string. Fix sense of test whether
11559 Vline_number_display_limit is an integer.
b357b9d4 11560
a871441d
GM
115612000-06-16 Gerd Moellmann <gerd@gnu.org>
11562
a9021acd
GM
11563 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11564 only if HAVE_X_WINDOWS.
11565
6344985d
GM
11566 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11567 of titles.
11568
427ec082 11569 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11570 out of bounds.
11571
228b083e
EZ
115722000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11573
11574 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11575 of its headers.
11576
c25b53a2
KH
115772000-06-15 Kenichi Handa <handa@etl.go.jp>
11578
11579 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11580 start of the while loop.
11581
a6981b11
GM
115822000-06-15 Gerd Moellmann <gerd@gnu.org>
11583
e9924e52
GM
11584 * atimer.c (alarm_signal_handler): Add forward declaration.
11585
a6981b11
GM
11586 * data.c (set_internal): Remove debug code.
11587
25fa6deb
GM
115882000-06-14 Gerd Moellmann <gerd@gnu.org>
11589
dce6b995
GM
11590 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11591
9f817ea4
GM
11592 * unexec.c (toplevel) [COFF]: Include coff.h.
11593
11594 * s/lynxos.h: New file.
11595
11596 * keymap.c (Fsingle_key_description): Enclose function key and
11597 event symbol names in angle brackets.
11598
8a4e3c0c
GM
11599 * xdisp.c (setup_echo_area_for_printing): Call
11600 message_log_maybe_newline if message_buf_print is not set.
11601
11602 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11603 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11604 function does something useful even when message_buf_print is
11605 already set.
11606
52283633
SM
11607 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11608 New variables.
25fa6deb
GM
11609 (ensure_echo_area_buffers): Initialize echo buffer's
11610 truncate lines setting to nil.
11611 (with_echo_area_buffer): Don't set the echo buffer's truncate
11612 lines setting here.
8a4e3c0c 11613 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11614 of message_truncate_lines.
11615 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11616 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11617 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11618
11619 * keyboard.c (read_char): Bind message-truncate-lines to t
11620 while displaying a help-echo.
11621
11622 * lisp.h (Qmessage_truncate_lines): External declaration.
11623
163dcff3
GM
116242000-06-13 Gerd Moellmann <gerd@gnu.org>
11625
1681ead6
GM
11626 * xdisp.c (Vline_number_display_limit): Renamed from
11627 line_number_display_limit.
11628 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11629 Extend documentation string. Initialize
11630 Vline_number_display_limit to nil meaning no limit.
11631 (decode_mode_spec): Use Vline_number_display_limit with its new
11632 meaning.
11633
163dcff3
GM
11634 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11635
18e21ce8 116362000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11637
11638 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11639
163dcff3
GM
11640 * xfns.c (x_set_frame_parameters): Comment fix.
11641
11642 * frame.c (store_frame_param): Call swap_in_global_binding if the
11643 variable's current binding was chosen based on this frame.
11644
11645 * data.c (swap_in_global_binding): New function.
11646
a704139d
EZ
116472000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11648
11649 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11650 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11651
9b6610db
EZ
116522000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11653
11654 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11655
c68833d2
JR
116562000-06-12 Jason Rumney <jasonr@gnu.org>
11657
11658 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11659
11660 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11661
11662 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11663
11664 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11665
ed1056b3
GM
116662000-06-12 Gerd Moellmann <gerd@gnu.org>
11667
11668 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11669 (syms_of_xfaces): Defsubr Sdump_colors.
11670 (x_free_colors): Don't treat b&w specially on default visual.
11671 (x_free_dpy_colors): New function.
11672 (free_face_colors): Don't check visual class; it's done
11673 in x_free_colors.
11674
11675 * xterm.c (x_frame_of_widget): New function.
11676 (x_alloc_nearest_color_for_widget): Use it.
11677 (x_copy_dpy_color): New function.
11678 (x_destroy_window): Free various colors.
11679
5050a2ef
KH
116802000-06-12 Kenichi Handa <handa@etl.go.jp>
11681
11682 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11683
11684 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11685
11686 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11687
11688 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11689
11690 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11691
fb1b041d
DL
116922000-06-11 Dave Love <fx@gnu.org>
11693
11694 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11695
ff96b5f4
EZ
116962000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11697
11698 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11699
db8eeecd
GM
117002000-06-11 Gerd Moellmann <gerd@gnu.org>
11701
ed1056b3 11702 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11703 to `XEvent *'.
11704
49b71c5f
KH
117052000-06-10 Kenichi Handa <handa@etl.go.jp>
11706
c479bd55
KH
11707 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11708 (regex_compile): Fix the code for handling the case of single byte
11709 char and multibyte char being mixed in a range within [...].
11710
ff6a65c2
KH
11711 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11712 and dst_multibyte members of coding.
11713
49b71c5f
KH
11714 * charset.c (update_charset_table): Update the table
11715 bytes_by_char_head.
11716 (init_charset_once): Initialize elements of bytes_by_char_head to
11717 1 except for leading codes for private charases.
11718
11719 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11720 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11721
9e80b57d
KR
117222000-06-09 Ken Raeburn <raeburn@gnu.org>
11723
11724 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11725 access the data it doesn't point to.
11726
f83fe4b4
GM
117272000-06-08 Gerd Moellmann <gerd@gnu.org>
11728
11729 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11730 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11731 event queue. This is necessary because Emacs otherwise won't
11732 perform a switch-frame to a new frame until some other event, for
11733 example a keystroke event, forces it to do so. This has various
11734 effects, one visible being that the cursor of a frame created with
11735 C-x 5 2 or switched to with a window manager key binding like
11736 A-TAB stays hollow because selected_window isn't on the newly
11737 focused frame until the switch-frame is performed.
11738
11739 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11740 generating a switch-frame event if necessary.
11741
11742 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11743
11744 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11745 it's an integer.
11746
0890801b
KH
117472000-06-08 Kenichi Handa <handa@etl.go.jp>
11748
52283633 11749 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11750
173cbca8
GM
117512000-06-07 Gerd Moellmann <gerd@gnu.org>
11752
3091c2a6
GM
11753 * window.c (displayed_window_lines): Take empty lines at
11754 the bottom of a window into account.
427ec082 11755
f38952fe
GM
11756 * window.c (displayed_window_lines): New function.
11757 (Fmove_to_window_line): Use displayed_window_lines to determine
11758 the number of lines to move, instead of using the window's height.
11759
11760 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11761 to stop reading, even if the form read sets point to a different
11762 value when evaluated.
11763
427ec082 11764 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11765 put the cursor.
11766
6ba6c818
KH
117672000-06-07 Kenichi Handa <handa@etl.go.jp>
11768
11769 * fileio.c (e_write): Free composition data if stored in
11770 coding->cmp_data.
11771
5f1aea9a
GM
117722000-06-06 Gerd Moellmann <gerd@gnu.org>
11773
666852af
GM
11774 * xdisp.c (display_line): Set row's and iterator's
11775 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11776 Set cursor even if row ends in the middle of a character.
11777 (dump_glyph_row): Print values of new flags.
11778 (redisplay_window) <cursor movement in unchanged window>: When
11779 point has been moved forward, and PT is at the end of the cursor
11780 row, don't place the cursor in the next row if the cursor row ends
11781 in the middle of a character or at ZV.
11782
11783 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11784 (struct glyph_row): Add starts_in_middle_of_char_p and
11785 ends_in_middle_of_char_p.
11786 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11787 ends_in_middle_of_char_p flag.
11788 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11789
d13f3e2e
GM
11790 * term.c (append_glyph): Revert change of 2000-06-06.
11791
11792 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11793 padding glyph not fitting on line as whole character not
11794 fitting on line.
11795
5f1aea9a
GM
11796 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11797 this isn't true for images with `:ascent 100'.
11798
10cda9b0
KH
117992000-06-06 Kenichi Handa <handa@etl.go.jp>
11800
ed00559d
KH
11801 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11802 as modified if it is originally unmodified.
11803
10cda9b0
KH
11804 * term.c (encode_terminal_code): Change the way to check if
11805 terminal coding does any conversion.
11806 (append_glyph): Set glyph->pixel_width correctly.
11807
11808 * xdisp.c (display_line): While checking line continuation, pay
11809 attention to a padding glyph.
11810
1969fae2
GM
118112000-06-05 Gerd Moellmann <gerd@gnu.org>
11812
11813 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11814
162ccef4
DL
118152000-06-05 Dave Love <fx@gnu.org>
11816
f19f32dd
DL
11817 * xdisp.c: Include fontset.h.
11818
11819 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11820
11821 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11822
11823 * dispnew.c: Conditionally include term.h.
11824
11825 * coding.h: Declare code_convert_string_norecord.
11826
11827 * frame.h (struct frame): Use volatile unconditionally.
11828
11829 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11830
11831 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11832
11833 * systime.h: Protect against multiple inclusion.
11834 (timezone) [USG5_4]: Define as time_t.
11835
11836 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11837 (Foptimize_char_table, make_temp_name): Declare.
11838
11839 * Makefile.in (xdisp.o): Depend on fontset.h.
11840
11841 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11842
11843 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11844 (Foptimize_char_table, make_temp_name): Declare.
11845
427ec082 11846 * s/irix4-0.h:
162ccef4
DL
11847 * s/irix5-0.h:
11848 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11849
2082fe81
DL
118502000-06-02 Dave Love <fx@gnu.org>
11851
11852 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11853
dcf671d2
GM
118542000-06-02 Gerd Moellmann <gerd@gnu.org>
11855
11856 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11857 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11858 be freed.
11859
11860 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11861 glyph, use the ASCII NUL character to determine the face.
11862
d42122a3
DL
118632000-06-02 Dave Love <fx@gnu.org>
11864
11865 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11866 (VFORK_RETURN_TYPE): Remove.
427ec082 11867
d42122a3
DL
11868 * config.in: Add NO_MATHERR.
11869
dd432f16
DL
118702000-06-01 Dave Love <fx@gnu.org>
11871
90aa4ea8
DL
11872 * cmds.c (internal_self_insert): Don't check
11873 Vbefore_change_function, Vafter_change_function.
11874
11875 * insdel.c (signal_before_change, signal_after_change): Likewise.
11876
11877 * buffer.c (Vbefore_change_function, Vafter_change_function):
11878 Variables and their initializations deleted.
11879
2330c9d4
DL
11880 * callint.c (Fcall_interactively): Doc fix.
11881
dd432f16
DL
11882 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11883
bf9e8804
DL
118842000-05-31 Dave Love <fx@gnu.org>
11885
11886 * textprop.c: Revert last change -- duplicated.
11887
3694b4ab
GM
118882000-05-31 Gerd Moellmann <gerd@gnu.org>
11889
11890 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11891 in #if 0.
11892
11893 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11894
f14156cd
JR
118952000-05-31 Jason Rumney <jasonr@gnu.org>
11896
8119aab8
JR
11897 * search.c (Fre_search_forward, Fre_search_backward)
11898 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11899
f14156cd
JR
11900 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11901
4aab9be3
JR
119022000-05-30 Jason Rumney <jasonr@gnu.org>
11903
11904 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11905 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11906
52283633 11907 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11908
11909 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11910 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11911 expand a nil default_filename.
11912
11913 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11914 pointer to glyph_to_pixel_coords, not a frame.
11915
11916 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11917 coding.h to dependencies.
11918
11919 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11920
11921 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11922 window pointer to be consistent with w32term.c and xterm.c.
11923
11924 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11925 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11926 (Qline_spacing, Qcenter): New variables.
11927 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11928 (x_set_line_spacing): New function.
52283633 11929 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11930 (x_specified_cursor_type): New function.
11931 (x_set_cursor_type): Use it.
11932 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11933 and icon strings.
11934 (validate_x_resource_name, x_get_resource_string): Measure lengths
11935 of external strings in bytes.
11936 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11937 GetTextExtentPoint32 with NULL title.
11938 (Fx_create_frame): Initialize Qline_spacing.
11939 (w32_load_system_font): Initialize font->double_byte_p.
11940 (x_to_w32_charset): Use Vw32_charset_info_alist.
11941 (Image, busy cursor, tooltip functions): Merged changes from
11942 xfns.c. Not yet functional on Windows.
11943
11944 * w32gui.h (W32FontStruct): Add double_byte_p member.
11945
11946 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11947 (emacs_button_translation): Use it.
11948 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11949 in `mask' to be set.
11950
11951 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11952 menu strings.
11953
11954 * w32term.c: Format and doc changes to bring closer to xterm.c.
11955 (w32_char_font_type): New enum.
11956 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11957 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11958 (w32_encode_char): New function.
11959 (x_encode_char): Removed.
11960 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11961 x_encode_char and w32_font_is_double_byte.
11962 (x_produce_image_glyph): Use image_ascent.
11963 (x_produce_glyphs): Use new version of w32_per_char_metric and
11964 handle NULL return value. Allow extra line spacing.
11965 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11966 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11967 w32_font_type member of glyph instead.
11968 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11969 (fast_find_position): Make sure not to consider rows not visible
11970 in the window.
11971 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11972 w32_menu_display_help with input blocked, as it can abort.
11973 (x_display_and_set_cursor): Choose cursor depending
11974 on buffer-local value of cursor_type.
11975 (x_draw_bar_cursor): Add parameter WIDTH.
11976
11977 * w32term.h (CP_DEFAULT): Define.
11978 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11979
10fc3187
GM
119802000-05-30 Gerd Moellmann <gerd@gnu.org>
11981
11982 * search.c (Fre_search_forward, Fre_search_backward)
11983 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11984
d0555360
KH
119852000-05-30 Kenichi Handa <handa@etl.go.jp>
11986
11987 * coding.c (detect_coding_iso2022): Fix code for checking
11988 CODING_CATEGORY_MASK_ISO_8_2.
11989
f1ad044f
SM
119902000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11991
11992 * regex.c (PREFETCH_NOLIMIT): New function.
11993 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11994
84ec3b4b
GM
119952000-05-29 Gerd Moellmann <gerd@gnu.org>
11996
66254a13
GM
11997 * syntax.c (find_defun_start): Move test for
11998 open_paren_in_column_0_is_defun_start outside of the loop.
11999
49e70dec
GM
12000 * xdisp.c (redisplay_window): Really switch buffers when
12001 displaying mode lines, and temporarily set selected_frame to the
12002 frame of the window that's redisplayed.
12003
84ec3b4b
GM
12004 * xfaces.c (free_realized_faces): Block/unblock input.
12005 (free_realized_multibyte_face): Ditto.
12006
869a3a14
DL
120072000-05-29 Dave Love <fx@gnu.org>
12008
12009 * textprop.c (Qkeymap): New variable.
12010 (syms_of_textprop): Intern it.
12011
12012 * keymap.c: Include intervals.h.
12013 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12014
12015 * Makefile.in (keymap.o): Depend on intervals.h.
12016
12017 * keyboard.c (menu_bar_items, tool_bar_items)
12018 (Fexecute_extended_command): Deal with `keymap' property.
12019 (read_key_sequence): Track map from `keymap' property as well as
12020 `local_map'.
12021
12022 * intervals.c (get_local_map): Extra arg to allow looking for
12023 `keymap' too.
12024
12025 * intervals.h (map_property): New enum.
12026 (get_local_map): Extra arg using it.
12027 (Qkeymap): Declare.
12028
84ec3b4b 12029 * lisp.h (get_local_map): Don't declare here.
869a3a14 12030
89d0c844
KH
120312000-05-29 Kenichi Handa <handa@etl.go.jp>
12032
12033 * Makefile.in (callproc.o): Depend on composite.h.
12034
12035 * callproc.c: Include composite.h.
12036 (Fcall_process): Handle composition correctly.
12037
12038 * coding.h (coding_allocate_composition_data): Extern it.
12039 (coding_restore_composition): Likewise.
12040
12041 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12042 yet allocated, finish decoding with result
12043 CODING_FINISH_INSUFFICIENT_CMP.
12044 (coding_allocate_composition_data): Make it non-static.
12045 (coding_restore_composition): Likewise.
12046
797a084a
EZ
120472000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12048
12049 * charset.c (syms_of_charset): Revert last change.
12050
cf872af5
EZ
120512000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12052
12053 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12054 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12055 Handa.
cf872af5 12056
5b1ae051
EZ
120572000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12058
12059 * charset.c (syms_of_charset): Set width of character sets
12060 eight-bit-control and eight-bit-graphic to 1 column.
12061
34ec9ebe
GM
120622000-05-26 Gerd Moellmann <gerd@gnu.org>
12063
12064 * config.in (HAVE_SPEED_T): New define.
12065
12066 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12067 `extern speed_t'.
12068
dd854dc2
DL
120692000-05-26 Dave Love <fx@gnu.org>
12070
12071 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12072
12073 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12074 (Fsubr_arity): New function.
12075 (syms_of_data): Install them.
12076
ba9f8f95
KH
120772000-05-26 Kenichi Handa <handa@etl.go.jp>
12078
0f3e0672
KH
12079 * charset.c (init_charset_once): Set the table bytes_by_char_head
12080 correctly.
12081
cebefb44
KH
12082 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12083 the default fontset to what Emacs uses by default.
0f3e0672
KH
12084 (check_registry_encoding): This function deleted.
12085 (Fset_fontset_font): Remove the adhoc condition for the default
12086 fontset. Allow cons in FONTNAME.
cebefb44 12087
0f3e0672
KH
12088 * fns.c (map_char_table): Ignore char-table entries for
12089 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12090
7a18af49
KR
120912000-05-25 Ken Raeburn <raeburn@gnu.org>
12092
12093 * emacs.c (main): Initialize keyboard syms before initializing
12094 window code, so face names are available.
12095
d2af47df
SM
120962000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12097
12098 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12099 of an anchor at the beginning of a shy-group.
12100
fc6a6a4e
GM
121012000-05-25 Gerd Moellmann <gerd@gnu.org>
12102
12103 * xdisp.c (handle_invisible_prop): Don't try to skip over
12104 invisible text if end of text is already reached.
12105
005f0d35
DL
121062000-05-25 Dave Love <fx@gnu.org>
12107
02513cdd
DL
12108 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12109
005f0d35
DL
12110 * coding.c (encode_eol): Add null statement after label.
12111
89f6ca4e
EZ
121122000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12113
12114 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12115 2000-05-20.
12116
a4e1759e
KH
121172000-05-25 Kenichi Handa <handa@etl.go.jp>
12118
12119 * ccl.c (ccl_driver): Fix previous change.
12120
eacfd7fe
KH
121212000-05-25 Kenichi Handa <handa@etl.go.jp>
12122
46ab33a9
KH
12123 * coding.c (run_pre_post_conversion_on_str): Set point to the
12124 beginning of buffer before calling coding->post_read_conversion.
12125 (decode_coding_string): Give correct args to
12126 run_pre_post_conversion_on_str.
12127 (encode_coding_string): Likewise.
12128
eacfd7fe
KH
12129 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12130 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12131 eight-bit-graphic correctly.
12132
f8569325
DL
121332000-05-24 Kenichi HANDA <handa@etl.go.jp>
12134
12135 * fileio.c (Finsert_file_contents): Even if a file is not found,
12136 execute codes for setting up coding system. Call
12137 after-insert-file-functions unconditionally.
12138
04545643
GM
121392000-05-24 Gerd Moellmann <gerd@gnu.org>
12140
12141 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12142 BSD_PGRPS are not defined.
12143
747d90ea
KH
121442000-05-24 Kenichi Handa <handa@etl.go.jp>
12145
12146 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12147 DESCRIPTION.
12148 (syms_of_charset): Avoid building same strings.
12149
716e3b88
GM
121502000-05-23 Gerd Moellmann <gerd@gnu.org>
12151
12152 * lread.c (Fload): Add a comment about the meaning of
12153 Vuser_init_file being t.
12154
12155 * puresize.h (BASE_PURESIZE): Increase to 675000.
12156
12157 * s/gnu-linux.h (setpgrp): Don't define it here because this
12158 prevents compilation on GNU/Linux systems with glib 2.2.
12159
12160 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12161 as setpgid.
427ec082 12162
9aeb39fa
EZ
121632000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12164
12165 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12166 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12167 version.
12168 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12169
29ced61b
KH
121702000-05-23 Kenichi Handa <handa@etl.go.jp>
12171
52283633 12172 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12173
3d80f24d
KH
12174 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12175
52283633 12176 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12177
29ced61b
KH
12178 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12179
d7e00792
KH
121802000-05-22 Kenichi Handa <handa@etl.go.jp>
12181
c9d80d38
KH
12182 * keyboard.c (read_char): Allow character codes 128..255 to be
12183 handled by input-method-function.
12184
d7e00792
KH
12185 * insdel.c (adjust_markers_for_replace): Fix previous change.
12186 (adjust_after_replace): If PREV_TEXT is nil, call
12187 adjust_markers_for_insert, not adjust_markers_for_replace.
12188
087121cc 121892000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12190
087121cc
GM
12191 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12192 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12193 [HAVE_GRANDPT]: Define.
12194 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12195
12196 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12197 like SYSV_PTYS.
12198
12199 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12200
12201 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12202
c9671f81
KH
122032000-05-20 Kenichi Handa <handa@etl.go.jp>
12204
12205 The following changes are to handle 8-bit characters in a
12206 multibyte buffer/string without facing with byte combining
12207 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12208 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12209
12210 * Makefile.in (fns.o): Depend on charset.h.
12211
12212 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12213 convert it to unibyte.
12214 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12215
12216 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12217 apparent char boundary.
12218 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12219 0x80..0x9F to/from multibyte form.
12220
12221 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12222 to unibyte.
12223
12224 * callproc.c (Fcall_process): Always encode an argument string if
12225 it is multibyte. Setup src_multibyte and dst_multibyte members of
12226 process_coding properly.
ce75fd23 12227
c9671f81
KH
12228 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12229 SPLIT_NON_ASCII_CHAR.
12230
12231 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12232 as is.
12233 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12234
52283633 12235 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12236 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12237 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12238 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12239 and eight-bit-graphic.
12240 (char_to_string): Likewise. Signal an error for too large
12241 character code.
12242 (char_printable_p): Return 0 for 8-bit characters.
12243 (update_charset_table): Update iso_charset_table only when a final
12244 character is non-negative.
12245 (find_charset_in_text): Renamed from find_charset_in_str.
12246 Arguments and return value changed. Callers changed.
12247 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12248 be -1 if CHARSET is used only internally.
12249 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12250 eight-bit-graphic.
12251 (Fcharset_after): Simplified.
12252 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12253 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12254 (multibyte_chars_in_text): Simplified by assuming there's no
12255 invalid multibyte sequence.
52283633
SM
12256 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12257 (str_as_unibyte): New functions.
12258 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12259 (init_charset_once): Initialization for
12260 LEADING_CODE_8_BIT_CONTROL.
12261 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12262 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12263 eight-bit-control and eight-bit-graphic.
12264
52283633
SM
12265 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12266 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12267 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12268 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12269 (CHARSET_REVERSE_CHARSET): Likewise.
12270 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12271 eight-bit-graphic.
12272 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12273 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12274 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12275 encounter an invalid multibyte sequence.
12276 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12277 sequence is always valid.
12278 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12279 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12280 (CHAR_STRING): For 8-bit characters, call char_to_string.
12281 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12282 multibyte sequence is always valid.
12283 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12284 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12285 (str_as_unibyte): Extern them.
c9671f81 12286 (BCOPY_SHORT): Fix a bug.
52283633 12287 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12288 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12289 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12290 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12291
bd4bde7f 12292 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12293 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12294 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12295 (EMIT_BYTES): New macros.
12296 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12297 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12298 macros deleted.
12299 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12300 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12301 check the validity of multibyte sequence.
12302 (decode_coding_emacs_mule): New function.
12303 (encode_coding_emacs_mule): New macro.
12304 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12305 the source.
12306 (DECODE_ISO_CHARACTER): Just return a character code.
12307 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12308 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12309 EMIT_CHAR to produced decoded characters. Exit the loop only by
12310 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12311 block here.
12312 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12313 only position codes for an invalid character.
12314 (encode_designation_at_bol): Return new destination pointer. 5th
12315 arg DSTP is changed to DST.
12316 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12317 from the source by ONE_MORE_CHAR. Don't handle the case of last
12318 block here.
12319 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12320 macros deleted.
52283633
SM
12321 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12322 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12323 TWO_MORE_BYTES to fetch a byte from the source.
12324 (encode_eol): Pay attention to coding->src_multibyte.
12325 (detect_coding, detect_eol): Preserve members src_multibyte and
12326 dst_multibyte.
12327 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12328 (encoding_buffer_size): Set magnification to 3 for all coding
12329 systems that require encoding.
12330 (ccl_coding_driver): For decoding, be sure that the result is
12331 valid multibyte sequence.
12332 (decode_coding): Initialize coding->errors and coding->result.
12333 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12334 and raw-text, always call decode_eol. Handle the case of last
12335 block here. If not coding->dst_multibyte, convert the resulting
12336 sequence to unibyte.
12337 (encode_coding): Initialize coding->errors and coding->result.
12338 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12339 and raw-text, always call encode_eol. Handle the case of last
12340 block here.
12341 (shrink_decoding_region, shrink_encoding_region): Detect cases
12342 that we can't skip data more rigidly.
12343 (code_convert_region): Setup src_multibyte and dst_multibyte
12344 members of coding. For decoding, if the buffer is multibyte,
12345 convert the source sequence to unibyte in advance. For encoding,
12346 if the buffer is multibyte, convert the resulting sequence to
12347 multibyte afterward.
12348 (run_pre_post_conversion_on_str): New function.
12349 (code_convert_string): Deleted and divided into the following two.
12350 (decode_coding_string, encode_coding_string): New functions.
12351 (code_convert_string1, code_convert_string_norecord): Call one of
12352 above.
12353 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12354 MAKE_NON_ASCII_CHAR.
52283633
SM
12355 (Fset_terminal_coding_system_internal)
12356 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12357 and dst_multibyte members.
12358 (init_coding_once): Initialize iso_code_class with new enum
12359 ISO_control_0 and ISO_control_1.
12360
12361 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12362 devided into ISO_control_0 and ISO_control_1.
12363 (struct coding_system): New members src_multibyte, dst_multibyte,
12364 errors, and result. Delete member fake_multibyte.
12365 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12366 nonzero.
12367 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12368 nonzero.
12369
12370 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12371 (Faset): Likewise.
12372
12373 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12374 multibyte form.
12375 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12376 combining occurs.
12377 (Ftranspose_region): Delete codes for handling byte combining.
12378
12379 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12380 dst_multibyte members of coding. On handling REPLACE on unibyte
12381 buffer, convert the result of decode_coding to unibyte. On
12382 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12383 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12384 multibyteness of the source (buffer or string).
12385
12386 * fns.c (concat): Handle 8-bit characters correctly.
12387 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12388 unibyte in the result.
12389 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12390 valid multibyte form in the result.
12391 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12392 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12393 return -1, signal an error.
12394 (base64_encode_1): New arg MULTIBYTE. Get each character by
12395 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12396 character is found, return -1.
12397 (Fbase64_decode_region): Delete codes for handling byte-combining.
12398 Treat each decoded byte as a unibyte character.
12399 (Fbase64_decode_string): Return unibyte string.
12400 (Fcompare_strings, concat, string_byte_to_char): Use
12401 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12402 FETCH_STRING_CHAR_ADVANCE.
12403 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12404 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12405
12406 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12407 SPLIT_NON_ASCII_CHAR.
12408 (fontset_ref_via_base, fontset_set): Likewise
12409
12410 * insdel.c (adjust_markers_for_record_delete): Deleted.
12411 (adjust_markers_for_insert): Argument changed. Caller changed.
12412 (adjust_markers_for_replace): Likewise.
52283633
SM
12413 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12414 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12415 (copy_text): Delete unused local varialbe c_save. For converting
12416 to multibyte, be sure to make all 8-bit characters in valid
12417 multibyte form.
12418 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12419 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12420 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12421 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12422 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12423 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12424 handling byte combining.
12425 (adjust_before_replace): Deleted.
427ec082 12426
c9671f81
KH
12427 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12428 SPLIT_NON_ASCII_CHAR.
12429 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12430 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12431 (Fkey_description): Likewise.
12432
12433 * lread.c (read1): On reading multibyte string, be sure to make
12434 all 8-bit chararacters in valid multibyte form.
12435 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12436
12437 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12438 unconditionally.
12439
12440 * process.c (Fstart_process): GCPRO current_dir before calling
12441 Ffind_operation_coding_system. Encode arguments here.
12442 (create_process): Don't encode arguments here. Setup
12443 src_multibyte and dst_multibyte members of struct coding.
12444 (read_process_output): Setup src_multibyte and dst_multibyte
12445 members of struct coding. If the output is to multibyte buffer,
12446 always decode the output of the process. Adjust the
52283633 12447 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12448 (send_process): Setup coding->src_multibyte according to the
12449 multibyteness of the source.
12450
52283633 12451 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12452 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12453 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12454
52283633 12455 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12456
12457 * w16select.c (Fw16_set_clipboard_data): Setup members
12458 src_multibyte and dst_multibyte of coding. Adjusted for the
12459 change for find_charset_in_str.
12460 (Fw16_get_clipboard_data): Likewise.
12461
12462 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12463 dst_multibyte of coding.
12464 (x_to_w32_font): Likewise.
12465
12466 * w32select.c (Fw32_set_clipboard_data): Setup members
12467 src_multibyte and dst_multibyte of coding. Adjusted for the
12468 change for find_charset_in_str.
12469 (Fw32_get_clipboard_data): Likewise.
12470
12471 * xdisp.c (get_next_display_element): Handle 8-bit characters
12472 correctly.
52283633
SM
12473 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12474 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12475
12476 * xselect.c (selection_data_to_lisp_data): Setup members
12477 src_multibyte and dst_multibyte of coding. Adjusted for the
12478 change for find_charset_in_str.
12479 (lisp_data_to_selection_data): Likewise.
12480
5f64c9e0
GM
124812000-05-19 Gerd Moellmann <gerd@gnu.org>
12482
52283633 12483 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12484
5f64c9e0
GM
12485 * dispextern.h (Vimage_types): Add extern declaration.
12486
12487 * xdisp.c (Vimage_types): Moved here from xfns.c.
12488 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12489
12490 * xfns.c (Vimages_types): Moved to xdisp.c.
12491 (syms_of_xfns): Move `image-types' to xdisp.c.
12492
12493 * w32fns.c (Vimage_types): Removed.
12494 (syms_of_w32fns): Remove `image-types'.
12495
813086ea
KH
124962000-05-18 Kenichi Handa <handa@etl.go.jp>
12497
12498 * fns.c (map_char_table): Pay attention to character number of
12499 charset. Check the validity of charset at the first level. For
12500 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12501 the default value.
12502
12503 * fontset.c: Include "buffer.h".
12504 (fs_load_font): If the face has fontset, record the face ID in
12505 that fontset.
12506 (Finternal_char_font): New function.
12507 (accumulate_font_info): New function.
12508 (Ffontset_info): Rewritten for the new fontset implementation.
12509 (syms_of_fontset): Register Vdefault_fontset in the first element
12510 of Vfontset_table. Include Vdefault_fontset in
12511 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12512 function.
12513
bdaebbf0
DL
125142000-05-16 Dave Love <fx@gnu.org>
12515
12516 * m/iris5d.h: Deleted -- unused.
12517
cb613bb8
GM
125182000-05-16 Gerd Moellmann <gerd@gnu.org>
12519
b15f3b77
GM
12520 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12521 `invalid' instead of `illegal'.
12522
12523 * indent.c (Fmove_to_column): When ending within a tab, insert
12524 spaces first so that markers at the end of the tab get adjusted.
12525
835c1b36
GM
12526 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12527 buffer list that wasn't selected in that frame.
12528
cb613bb8
GM
12529 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12530 is needed on mescaline, use a 2 char prefix, and call
12531 make_temp_name with second arg non-zero.
12532
12533 * fileio.c (make_temp_name): New function, extracted from
12534 Fmake_temp_name.
12535 (Fmake_temp_name): Use it.
12536
f685bea9
EZ
125372000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12538
52283633 12539 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12540
a1b8d58b
GM
125412000-05-15 Gerd Moellmann <gerd@gnu.org>
12542
12543 * Makefile.in (lisp): Add env.elc.
12544
12545 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12546
a265079f
GM
125472000-05-12 Gerd Moellmann <gerd@gnu.org>
12548
12549 * search.c (Freplace_match): Handle case of `\N' in the
12550 replacement when there's no group N.
12551
da4496b6
GM
125522000-05-11 Gerd Moellmann <gerd@gnu.org>
12553
0ace421a
GM
12554 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12555 of the message to message_dolog.
12556
1172eb8d
GM
12557 * keyboard.c (read_char): Don't clear current message for help
12558 events; let the code handling help events handle this. Change
12559 code detecting help events that should be ignored.
12560
da4496b6
GM
12561 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12562 we're interating over a string.
12563
0623e40f
DL
125642000-05-09 Dave Love <fx@gnu.org>
12565
12566 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12567 that offset before writing. Move gcpro region past call of
12568 Ffile_regular_p.
12569
bae2503b
DL
125702000-05-04 Dave Love <fx@gnu.org>
12571
12572 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12573
ec82fb2f
GM
125742000-05-04 Gerd Moellmann <gerd@gnu.org>
12575
12576 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12577 of inserted characters when BUF equals the current buffer, and PT
12578 is in front of or equal to FROM.
12579
cbf18892
GM
125802000-05-03 Gerd Moellmann <gerd@gnu.org>
12581
4ff40dd0
GM
12582 * xdisp.c (handle_single_display_prop): If display property value
12583 is invalid, or something not supported on the frame, restore
12584 iterator's position to what it was initially. Make sure to return
12585 0 for invalid and unsupported property values.
12586
cbf18892
GM
12587 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12588 that x_per_char_metric returns null.
12589
1b0672c3
GM
125902000-05-02 Gerd Moellmann <gerd@gnu.org>
12591
576da55d
GM
12592 * xterm.h (struct face): Add forward declaration.
12593 (struct image): Ditto.
12594 (image_ascent): Add prototype.
12595
12596 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12597 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12598 image_ascent instead of using IMAGE_ASCENT.
12599
12600 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12601 (IMAGE_ASCENT): Removed.
12602
12603 * xfns.c (Qcenter): New variable.
12604 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12605 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12606 (image_ascent): New function.
12607 (lookup_image): Recognize `:ascent center'.
12608 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12609 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12610 (xbm_load): Don't set image's ascent here.
12611 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12612 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12613 check ascent values here.
12614 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12615 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12616 (syms_of_xfns): Initialize Qcenter.
12617
1b0672c3
GM
12618 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12619 to the limits, increase the limits.
12620
0d7811ed
KH
126212000-05-01 Kenichi Handa <handa@etl.go.jp>
12622
12623 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12624 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12625
a943a5ca
GM
126262000-04-28 Gerd Moellmann <gerd@gnu.org>
12627
12628 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12629 taller than the window.
12630
5dba1e29
KH
126312000-04-28 Kenichi Handa <handa@etl.go.jp>
12632
12633 * xfaces.c (realize_x_face): Fix the argument of the second
12634 xassert. BASE_FACE may not be a face for ASCII.
12635
353964e3
GM
126362000-04-27 Gerd Moellmann <gerd@gnu.org>
12637
c76e04a8
GM
12638 * print.c (print_object): Treat print-length < 0 as nil.
12639
12640 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12641
12642 * s/freebsd.h (TERMCAP_OBJ): Removed.
12643 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12644
12645 * lread.c (read1): Don't treat period followed by certain
12646 characters as symbol start.
12647
12648 * xfns.c (slurp_file): New function.
12649 (xbm_image_p): Handle case of in-memory XBM files.
12650 (xbm_scan): Rewritten to work on memory buffers instead of files.
12651 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12652 Work on memory buffers instead of files. If DATA is null test
12653 if buffer looks like an in-memory XBM file.
12654 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12655 memory buffers instead of files.
12656 (xbm_file_p): New function.
12657 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12658
353964e3
GM
12659 * lread.c (end_of_file_error): New function.
12660 (read1): Call it instead of signaling `end-of-file' directly.
12661
427ec082 12662 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12663 with Fprinc instead of Fprin1.
12664
24d744ac
KR
126652000-04-26 Ken Raeburn <raeburn@gnu.org>
12666
12667 * window.c (freeze_window_start): Check that minibuffer scroll
12668 window isn't nil before extracting the window structure pointer
12669 from it.
12670
12671 * undo.c (record_delete): If we hit the end of the undo list, stop
12672 picking elements apart.
12673
7464346d
GM
126742000-04-26 Gerd Moellmann <gerd@gnu.org>
12675
12676 * xdisp.c (display_line): If lines are continued, restore
12677 iterator's ascent/descent information to the values before the
12678 first glyph not fitting on the line.
12679
612839b6
GM
126802000-04-25 Gerd Moellmann <gerd@gnu.org>
12681
12682 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12683 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12684
12685 * dispnew.c (increment_matrix_positions): Renamed from
12686 increment_glyph_matrix_buffer_positions.
12687 (increment_row_positions): Renamed from
12688 increment_glyph_row_buffer_positions.
12689
12690 * dispextern.h: Change names of renamed functions from dispnew.c
12691 in prototypes.
12692
cc181e95
GM
126932000-04-24 Gerd Moellmann <gerd@gnu.org>
12694
abfcc168
GM
12695 * fileio.c (Fdo_auto_save): Create directories for auto-save
12696 list file if necessary.
12697
cc181e95
GM
12698 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12699 from buffer or frame.
12700 (automatic_hscrolling_p): New variable.
12701 (hscroll_windows): Scroll windows horizontally only if automatic
12702 hscrolling is allowed.
12703 (syms_of_xdisp): New variable `automatic-hscrolling'.
12704
12705 * frame.h (struct frame): Add member extra_line_spacing.
12706
12707 * xfns.c (x_set_line_spacing): New function.
12708 (Fx_create_frame): Set line spacing from resources.
12709 (Qline_spacing): New variable.
12710 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12711
cc181e95
GM
12712 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12713
12714 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12715 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12716 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12717 extra_line_spacing from default value.
12718 (init_buffer_once): Initialize default value of extra_line_spacing.
12719
12720 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12721 and extra3.
12722
12723 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12724 prompt_width. Add extra line spacing.
12725
12726 * term.c (produce_glyphs): Remove reference to struct it's
12727 prompt_width.
12728
12729 * dispextern.h (struct it): Remove member prompt_width, add
12730 extra_line_spacing.
12731
58827478
GM
127322000-04-22 Gerd Moellmann <gerd@gnu.org>
12733
12734 * dispnew.c (update_frame_line): When writing a whole line, make
12735 sure cursor is in the right row afterwards, otherwise a use of
12736 capability `ch' in cmgoto might leave the cursor in the row below.
12737
25a87f42
GM
127382000-04-21 Gerd Moellmann <gerd@gnu.org>
12739
12740 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12741
12742 * keyboard.c (timer_check): Fix typo in comment.
12743
54edf5c2
KH
127442000-04-21 Kenichi Handa <handa@etl.go.jp>
12745
12746 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12747 name change: ch -> character.
12748
3a64eef5
GM
127492000-04-20 Gerd Moellmann <gerd@gnu.org>
12750
12751 * keyboard.c (echo_message_buffer): New variable.
12752 (echo_now): Set echo_message_buffer to the echo area buffer used
12753 to display the echo.
12754 (cancel_echoing): Reset echo_message_buffer to nil.
12755 (read_char): Code rewritten that handles canceling an echo or
12756 echoing a dash, respectively.
12757
12758 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12759 directory doesn't exist.
12760
6142fdcb
DL
127612000-04-19 Dave Love <fx@gnu.org>
12762
12763 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12764 (concat): Don't allow numeric args.
12765 (Fconcat): Doc change.
6142fdcb 12766
ac6b5352
SM
127672000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12768
12769 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12770 instead define end_match(1|2) more carefully.
12771 Use GET_CHAR_BEFORE_2 for `begline'.
12772
cb9215e4
GM
127732000-04-19 Gerd Moellmann <gerd@gnu.org>
12774
5e3dac3f
GM
12775 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12776 on 64-bit systems where NULL is defined as `0'.
12777
12778 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12779 the `variable argument list' to make it work on Alpha.
12780
cb9215e4
GM
12781 * m/alpha.h (_LP64) [!_LP64]: Define.
12782 (ORDINARY_LINK): Define for NetBSD.
12783
12784 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12785
f532dca0
DL
127862000-04-19 Dave Love <fx@gnu.org>
12787
c750667e
DL
12788 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12789 change.
12790
12791 * Makefile.in (LIBS): Don't use.
12792 (GETLOADAVG_OBJ): Define again.
12793 (otherobj): Add GETLOADAVG_OBJ.
12794
f532dca0
DL
12795 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12796
1c7e22fd
GM
127972000-04-18 Gerd Moellmann <gerd@gnu.org>
12798
f6d3257b
GM
12799 * lread.c (read_filtered_event): Cancel and start busy cursor.
12800
427ec082 12801 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12802 that the per-character metrics may be null.
12803
e10f64e7
GM
128042000-04-17 Gerd Moellmann <gerd@gnu.org>
12805
0daee095
GM
12806 * buffer.c (clone_per_buffer_values): New function.
12807 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12808 clone_per_buffer_values if CLONE is not nil.
12809
e10f64e7
GM
12810 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12811
38687d43
DL
128122000-04-16 Dave Love <fx@gnu.org>
12813
12814 * Makefile.in: Remove obsolete localcpp stuff.
12815 (GETLOADAVG_OBJ): Don't define.
12816 (obj): Move LIBOBJS...
12817 (otherobj): ... to here.
12818 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12819 whitespace-only lines after the continuation (Irix).
12820
c21c7262
GM
128212000-04-14 Gerd Moellmann <gerd@gnu.org>
12822
12823 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12824
12825 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12826
314767c0
DL
128272000-04-14 Dave Love <fx@gnu.org>
12828
12829 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12830 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12831 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12832 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12833 NLIST_STRUCT.
12834
12835 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12836 autoconfiscated HAVE_GETLOADAVG.
12837
12838 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12839 BROKEN_MKTIME.
12840
a2522dca
GM
128412000-04-14 Gerd Moellmann <gerd@gnu.org>
12842
12843 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12844 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12845
33744b5d
DL
128462000-04-14 Dave Love <fx@gnu.org>
12847
c21c7262 12848 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12849 (INTERVAL_SRC): Convert to make variable.
12850 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12851 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12852 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12853 add LIBOBJS.
12854 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12855 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12856 (shortlisp): Add facemenu, float-sup, frame.
12857 (SOME_MACHINE_LISP): Remove them from here.
12858 (LIBES): Change unused LDLIBS to autoconf LIBS.
12859
12860 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12861
9d3d5916
KH
128622000-04-14 Kenichi Handa <handa@etl.go.jp>
12863
12864 * composite.c (update_compositions): If FROM and TO are not in a
12865 valid range, do nothing.
12866
198e3c7a
GM
128672000-04-13 Gerd Moellmann <gerd@gnu.org>
12868
52283633 12869 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12870
52283633 12871 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12872
12873 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12874 as TERMCAP_OBJ.
12875
055a28c9
EZ
128762000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12877
12878 * fileio.c (a_write): Remove redundant semi-colons.
12879 (e_write): Return -1 if failed to write all the data.
12880 This fixes the changes made at 1999-12-15.
12881
f5c75033
DL
128822000-04-12 Dave Love <fx@gnu.org>
12883
12884 * fns.c (mapcar1): Test for null vals to support mapc.
12885 (Fmapc): New function.
12886
0c3cfc51
EZ
128872000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12888
12889 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12890 (IT_frame_up_to_date): Support the buffer local value of
12891 cursor-type, if defined.
12892
33465a31
DL
128932000-04-10 Dave Love <fx@gnu.org>
12894
12895 * editfns.c (preceding-char, following-char): Doc fix.
12896
6ed56568
KR
128972000-04-10 Ken Raeburn <raeburn@gnu.org>
12898
12899 * Makefile.in (temacs): Revert 2000-03-12 change.
12900
7cf80d4e
JR
129012000-04-10 Jason Rumney <jasonr@gnu.org>
12902
12903 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12904
34f3f342
GM
129052000-04-10 Gerd Moellmann <gerd@gnu.org>
12906
1a1b1895
GM
12907 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12908 area buffer, if it's not set up yet.
12909
34f3f342
GM
12910 * indent.c (compute_motion): Set immediate_quit.
12911
be0dbdab
GM
129122000-04-09 Gerd Moellmann <gerd@gnu.org>
12913
52283633 12914 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12915 (realize_tty_face): Suppress boldness if colors are the inverse of
12916 the default colors, and tty_suppress_bold_inverse_default_colors_p
12917 is set.
12918 (Ftty_suppress_bold_inverse_default_colors): New function.
12919 (syms_of_xfaces): Defsubr it.
12920
be0dbdab
GM
12921 * buffer.c (Frestore_buffer_modified_p): New function.
12922 (syms_of_buffer): Defsubr it.
12923
e8413c3b
KR
129242000-04-08 Ken Raeburn <raeburn@gnu.org>
12925
87f67317
KR
12926 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12927 charset id (int) argument, not a charset (Lisp_Object).
12928
e8413c3b
KR
12929 * coding.h (code_convert_string): Declare.
12930 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12931 object, as the fourth argument to code_convert_string.
12932
52283633 12933 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12934 (Fset_fontset_font): Use EQ to compare lisp objects.
12935
7c752c80
KR
129362000-04-05 Ken Raeburn <raeburn@gnu.org>
12937
c0333abc
KR
12938 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12939 a pointer that looks like a lisp object.
12940 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12941 zero, instead see whether it's an integer object, since they can't
12942 have intervals.
12943 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12944
52283633
SM
12945 * dispnew.c (allocate_matrices_for_frame_redisplay)
12946 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12947 to convert between (unsigned) int values and lisp integers.
12948 * keyboard.c (read_key_sequence): Likewise.
12949 * lread.c (substitute_object_recurse): Likewise.
12950 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12951 * minibuf.c (do_completion, Fminibuffer_complete_word)
12952 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12953 * term.c (produce_special_glyphs): Likewise.
12954
12955 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12956 * print.c (print_preprocess, print_object): Likewise.
12957
12958 * search.c (compile_pattern): Use NILP when checking for nil.
12959
74e49b38
KR
12960 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12961 __OPTIMIZE__]: Provide a GNU C macro version that handles
12962 lisp-object unions.
12963 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12964 field, to better cope with ENABLE_CHECKING and calls that modify a
12965 Lisp_Object using its old value.
12966
685e5ed2
GM
129672000-04-04 Gerd Moellmann <gerd@gnu.org>
12968
c407c570
GM
12969 * window.c (compare_window_configurations): Signal an error
12970 if parameters C1 or C2 aren't window configurations.
12971
685e5ed2
GM
12972 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12973 AFTER_POTENTIAL_GC calls around calls to functions that can
12974 signal an error and thus invoke the debugger.
12975
587a49ab
GM
129762000-04-03 Gerd Moellmann <gerd@gnu.org>
12977
62f20204
GM
12978 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12979 an error if decoding fails.
12980
587a49ab
GM
12981 * keyboard.c (lispy_mouse_names): Variable removed.
12982 (Vlispy_mouse_stem): New variable.
12983 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12984 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12985 for any mouse button number. Increase size of mouse_syms and
12986 button_down_location as needed. Call modify_event_symbol with
12987 different arguments.
12988 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12989 Call modify_event_symbol with different arguments.
12990 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12991 for any button number. Call modify_event_symbol with different
12992 arguments.
12993 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12994 Accept a string for NAME_ALIST_OR_STEM.
12995
12996 * lisp.h (larger_vector): Add prototype.
12997
12998 * fns.c (larger_vector): Make externally visible.
12999
13000 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13001
2d1675e4
SM
130022000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13003
13004 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13005 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13006 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13007 we are between str1 and str2.
13008 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13009 (PATFETCH): Use `TRANSLATE'.
13010 (PATFETCH_RAW): Fetch multibyte char if applicable.
13011 (PATUNFETCH): Remove.
13012 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13013 When writing a char, write it directly into the pattern buffer rather
13014 than going needlessly through a temp char-array.
13015 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13016 multibyte magic and remove the useless `#ifdef emacs'.
13017 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13018 buffer.
13019
13020 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13021 conditional on `emacs'.
13022
13023 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13024
cc2d8c6b
KR
130252000-04-01 Ken Raeburn <raeburn@gnu.org>
13026
13027 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13028 non-union-type versions of XMARK and friends here, because XMARK
13029 and friends won't work on an integer field if NO_UNION_TYPE is not
13030 defined.
52283633 13031 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13032
52283633 13033 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13034 (syms_of_composite): Delete local var NARGS, pass an int as first
13035 argument to Fmake_hash_table.
13036
2387b382
KR
13037 * editfns.c (text_property_stickiness): Use NILP to test
13038 Lisp_Object boolean value.
13039 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13040 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13041 problems reading from and changing the same lisp value in an
13042 XSETSTRING call.
13043
27660e89
GM
130442000-04-01 Gerd Moellmann <gerd@gnu.org>
13045
13046 * term.c (TN_no_color_video): New variable.
13047 (term_init): Intitialize TN_no_color_video.
13048 (enum no_color_bit): New enumeration.
13049 (MAY_USE_WITH_COLORS_P): New macro.
13050 (turn_on_face): Use it to determine if attributes may be used
13051 combined with colors.
13052
3578db3c
KR
130532000-04-01 Ken Raeburn <raeburn@gnu.org>
13054
13055 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13056 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13057 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13058 proper accessor macros.
13059 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13060 (grow_mini_window): Fix typo getting int value of root->height.
13061
6fc556fd
KR
13062 * xdisp.c (compute_string_pos): Fix order of arguments to
13063 string_pos_nchars_ahead.
13064 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13065 count arg to variable-arg routines like Frun_hook_with_args and
13066 Fformat.
587a49ab
GM
13067 (back_to_previous_visible_line_start)
13068 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13069 fixed-arg routines like Fget_char_property and Fmake_string.
13070 (reconsider_clip_changes): Use XINT when comparing integer lisp
13071 objects, or passing them as int arguments.
587a49ab
GM
13072 (mark_window_display_accurate, insert_left_trunc_glyphs)
13073 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13074 storing or passing integer values as lisp objects.
13075 (set_cursor_from_row, highlight_trailing_whitespace): Use
13076 INTEGERP, not implicit test against zero, for glyph object.
13077 (try_window_id): Don't use make_number when we want an int value.
13078
13079 * xfaces.c (xlfd_symbolic_value): Make last argument a
13080 Lisp_Object, to be consistent with callers.
13081 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13082 (lface_hash): Apply XFASTINT to lisp values before folding in.
13083
13084 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13085 fill in window width and height. Pass an int, not a lisp object,
13086 as first arg to Finsert.
13087
6e7b2457
GM
130882000-04-01 Gerd Moellmann <gerd@gnu.org>
13089
610d841e
GM
13090 * xfaces.c (realize_basic_faces): Block input while realizing
13091 the faces.
13092
6e7b2457
GM
13093 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13094
13095 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13096
aa110c0c
GM
130972000-03-31 Gerd Moellmann <gerd@gnu.org>
13098
13099 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13100 or ASCII, handle case that per-char metric is null.
aa110c0c 13101
8801a864
KR
131022000-03-30 Ken Raeburn <raeburn@gnu.org>
13103
c6129d7e
KR
13104 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13105
52283633
SM
13106 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13107 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13108 pointer, using eassert.
13109 * frame.h (XFRAME): Likewise.
13110
52283633
SM
13111 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13112 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13113 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13114 * data.c (set_internal): Likewise.
52283633
SM
13115 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13116 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13117 * fileio.c (auto_save_1): Likewise.
13118 * insdel.c (check_markers): Likewise.
13119 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13120 * undo.c (record_insert): Likewise.
13121 * vmsproc.c (child_sig): Likewise.
13122 * window.c (unshow_buffer, window_loop): Likewise.
13123 * xterm.c (x_erase_phys_cursor): Likewise.
13124
8e7af858
GM
131252000-03-30 Gerd Moellmann <gerd@gnu.org>
13126
13127 * xfns.c (free_image_cache): Free the cache structure itself
13128 last, after all its members have been freed.
13129
13130 * lisp.h (xstrdup): Add prototype.
13131
13132 * alloc.c (xstrdup): Moved here from xfaces.c.
13133 (allocating_for_lisp): Variable removed.
52283633 13134 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13135
13136 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13137 of Fsymbol_value.
13138 (xstrdup): Moved to alloc.c.
13139
e0b8c689
KR
131402000-03-29 Ken Raeburn <raeburn@gnu.org>
13141
b96f9fb7
KR
13142 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13143
13144 * emacs.c (main): Fix sense of no-loadup test.
13145
e0b8c689
KR
13146 * config.in (ENABLE_CHECKING): Undef.
13147
13148 * lisp.h (struct interval): Replace "parent" field with a union of
13149 interval pointer and Lisp_Object; add new bitfield to use as
13150 discriminant. Change other flag fields to bitfields.
13151 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13152 is defined and the supplied test fails, print a message and abort.
13153 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13154
13155 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13156 pointers; abort if the value looks like a lisp object.
52283633
SM
13157 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13158 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13159 Modify for new interval parent definition.
13160
52283633
SM
13161 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13162 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13163 addressable lisp object in the interval structure.
13164 (die): New function.
13165 (suppress_checking): New variable.
13166
13167 * intervals.c (interval_start_pos): Just return 0 if there's no
13168 parent object.
13169
f83c5440
GM
131702000-03-29 Gerd Moellmann <gerd@gnu.org>
13171
13172 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13173 and earlier Emacs versions.
13174
13175 * keyboard.c (Ftop_level): Cancel busy-cursor.
13176
13177 * eval.c (call_debugger): Cancel busy-cursor.
13178
fdce64ff
KH
131792000-03-29 Kenichi Handa <handa@etl.go.jp>
13180
13181 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13182 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13183
f6a3f532
SM
131842000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13185
13186 * regex.c (analyse_first): New function obtained by ripping out most
13187 of re_compile_fastmap and generalizing it a little bit so that it
13188 can also just return whether a given (sub)pattern can match the empty
13189 string or not.
13190 (regex_compile): Use `analyse_first' to decide whether the loop-check
13191 needs to be done or not for *, +, *? and +? (the loop check is costly
13192 for non-greedy repetition).
13193 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13194
e9b309ac
DL
131952000-03-28 Dave Love <fx@gnu.org>
13196
52283633 13197 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13198
e9b309ac
DL
13199 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13200
ed0767d8
SM
132012000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13202
13203 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13204 an expression.
13205 (enum re_opcode_t): Update description of succeed_n.
13206 (PATFETCH): Always define.
13207 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13208 operators, char classes, shy-groups and intervals).
13209 Optimize special cases of intervals so as to only use succeed_n and
13210 jump_n when really needed.
13211 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13212 that we don't have to handle the special cases any more.
13213 Simplify on_failure_jump handling as well.
13214
e11e7e46
JR
132152000-03-28 Jason Rumney <jasonr@gnu.org>
13216
13217 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13218
88faab89
GM
132192000-03-27 Gerd Moellmann <gerd@gnu.org>
13220
182ff242
GM
13221 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13222
13223 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13224
182ff242
GM
13225 * alloc.c (mark_maybe_object): New function.
13226 (mark_memory): Use it.
13227 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13228 (setjmp_tested_p, longjmp_done): New variables.
13229 (test_setjmp): New function.
13230 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13231 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13232
c1005d06
GM
13233 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13234 to DEC_TEXT_POS and INC_TEXT_POS.
13235
13236 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13237 with parameter MULTIBYTE_P.
13238
52283633 13239 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13240
7439e5b9 13241 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13242 buffers because it looks for multibyte character byte sequences
13243 which don't exist in unibyte text.
7439e5b9 13244
d9c545da
GM
13245 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13246
11fd416e 13247 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13248 [DEBUG_X_COLORS]: New functions.
13249 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13250
13251 * xfns.c (x_set_cursor_color): Get color reference counts right.
13252
13253 * xterm.c (x_copy_color): New function.
13254 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13255
13256 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13257 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13258 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13259 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13260 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13261 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13262 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13263 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13264 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13265 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13266
11fd416e
GM
13267 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13268 names for handling per-buffer variables.
d9c545da
GM
13269
13270 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13271 instead of MAX_BUFFER_LOCAL_VARS.
13272 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13273
13274 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13275
88faab89
GM
13276 * xfns.c (x_specified_cursor_type): New function.
13277 (x_set_cursor_type): Use it.
13278
13279 * buffer.h (struct buffer): Add cursor_type.
13280
d80f42b7
SM
132812000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13282
13283 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13284 (print_partial_compiled_pattern, re_compile_fastmap):
13285 Handle new opcode.
d80f42b7
SM
13286 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13287 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13288 executing it as well as when popping it off the stack to find infinite
13289 loops in non-greedy repetition operators.
13290
89e80928
GM
132912000-03-26 Gerd Moellmann <gerd@gnu.org>
13292
3d4ff2dd
GM
13293 * doc.c (Qfunction_documentation): New variable.
13294 (syms_of_doc): Initialize Qfunction_documentation.
13295 (Fdocumentation): If FUNCTION is a symbol with non-nil
13296 `function-documentation' property, return a documentation derived
13297 from that.
13298
bd96bd79
GM
13299 * buffer.c (syms_of_buffer): Add default-cursor-type.
13300 (init_buffer_once): Don't let cursor_type have a local value
13301 in every buffer.
13302
19d1bc27
GM
13303 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13304 on buffer-local value of cursor_type.
13305 (x_draw_bar_cursor): Add parameter WIDTH.
13306
13307 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13308 (init_buffer_once): Set default cursor_type value to t.
13309 Mark cursor_type as local everywhere.
13310 (syms_of_buffer): New per-buffer variable cursor-type.
13311
89e80928
GM
13312 * buffer.h (struct buffer): Remove member local_var_flags,
13313 add local_flags.
13314 (MAX_BUFFER_LOCAL_VARS): New macro.
13315 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13316 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13317 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13318 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13319
52283633 13320 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13321
13322 * category.c (Fset_category_table): Use new macros for per-buffer
13323 variables.
13324
13325 * buffer.c (buffer_permanent_local_flags): Make a char array.
13326 (max_buffer_local_idx): New variable.
13327 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13328 for new handling of per-buffer variables.
13329 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13330 (init_buffer_once): Initialize per-buffer vars differently.
13331 Set max_buffer_local_idx.
13332
13333 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13334 variables.
13335
52283633 13336 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13337
13338 * data.c (do_symval_forwarding, store_symval_forwarding)
13339 (find_symbol_value, set_internal, default_value, Fset_default)
13340 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13341 per-buffer variables.
13342
13343 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13344
9a0dd3dc
GM
133452000-03-24 Gerd Moellmann <gerd@gnu.org>
13346
b68c375f
GM
13347 * xterm.c (x_term_init): Unblock input around call1 of
13348 Qvendor_specific_keysyms.
13349
9a0dd3dc
GM
13350 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13351 (find_defun_start): Consider an open parenthesis in column 0
13352 a defun start only if open_paren_in_column_0_is_defun_start is set.
13353 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13354
7973e637
SM
133552000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13356
13357 * eval.c (Fautoload): Add entry in load-history (if after dump).
13358 * lread.c (load-history): Update docstring.
13359
39210e90
GM
133602000-03-24 Gerd Moellmann <gerd@gnu.org>
13361
13362 * indent.c (Fvertical_motion): Always use the current buffer.
13363 Temporarily change the window's buffer, if necessary.
13364
72db3ab5
GM
133652000-03-23 Gerd Moellmann <gerd@gnu.org>
13366
13367 * xterm.c (fast_find_position): Make sure not to consider rows
13368 not visible in the window.
13369
990b2375
SM
133702000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13371
13372 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13373 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13374
ff4df011
JR
133752000-03-22 Jason Rumney <jasonr@gnu.org>
13376
13377 * w32menu.c (single_submenu): Set help string to NULL if none.
13378 (w32_menu_show): Set help string correctly.
13379 (add-menu-item): Set help string in MIIM_DATA for menu item.
13380 Load SetMenuItemInfoA explicitly.
13381 (w32_menu_display_help): New function.
427ec082 13382
ff4df011
JR
13383 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13384 (QCdata): Moved to xdisp.c.
13385
13386 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13387 (Vw32_charset_to_codepage_alist): Removed.
13388 (Vw32_charset_info_alist): New variable.
52283633
SM
13389 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13390 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13391 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13392 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13393 with TODO comment.
13394 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13395 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13396 Define Vw32_charset_info_alist and w32_charset symbols.
13397
133982000-03-22 Jason Rumney <jasonr@gnu.org>
13399
13400 * makefile.nt (w32bdf.obj): Update dependencies.
13401
13402 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13403
13404 * w32fns.c: Include fontset.h after dispextern.h.
13405 (Fx_create_frame): Do not create fontset.
13406 (w32_load_system_font): Doc fix.
13407 (Fx_close_connection): Free full_name if it is not shared.
13408
13409 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13410 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13411 Callers updated.
ff4df011
JR
13412 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13413 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13414 (w32_font_is_double_byte): New function, needs body.
13415 (x_append_glyph): Set glyph->glyph_not_available_p.
13416 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13417 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13418 character, convert it to a unibyte character.
13419 (struct glyph_string): Delete member `charset'.
13420 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13421 calculating it is found.
13422 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13423 the case that per char metric is not available correctly.
13424 (x_fill_glyph_string): Handle the case that the specific glyph is
13425 not available correctly.
13426 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13427 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13428 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13429 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13430 fontset. Don't call FS_LOAD_FONT.
13431
439d5cb4
KR
134322000-03-22 Ken Raeburn <raeburn@gnu.org>
13433
13434 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13435 (INT_LISPLIKE): New macro.
13436 (NULL_INTERVAL_P): Use it.
52283633
SM
13437 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13438 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13439 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13440
13441 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13442 explicit references to "parent" field of struct interval and
13443 associated unclean type conversions.
52283633
SM
13444 * intervals.c (create_root_interval, root_interval, rotate_right)
13445 (rotate_left, balance_possible_root_interval, split_interval_right)
13446 (split_interval_left, interval_start_pos, find_interval)
13447 (next_interval, previous_interval, update_interval)
13448 (adjust_intervals_for_insertion, delete_node, delete_interval)
13449 (adjust_intervals_for_deletion, merge_interval_right)
13450 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13451 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13452 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13453 Likewise.
13454 * syntax.c (update_syntax_table): Likewise.
13455
13456 * intervals.c (reproduce_tree_obj): New function, like
13457 reproduce_tree but takes a Lisp_Object for the parent. Declare
13458 with prototype.
13459 (graft_intervals_into_buffer): Use it when appropriate.
13460 (reproduce_tree): Declare with prototype.
13461 (balance_possible_root_interval): Check that the parent is a lisp
13462 object before trying to examine its type.
13463
ee1c5b21
GM
134642000-03-22 Gerd Moellmann <gerd@gnu.org>
13465
13466 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13467 as strings only if both are known to be strings.
13468
13469 * s/openbsd.h (LIBS_TERMCAP): Undef.
13470
1fb352e0
SM
134712000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13472
13473 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13474 definitions for non-Emacs compilation.
13475 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13476 outside of `#ifdef emacs'.
13477 (print_partial_compiled_pattern): Update.
13478 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13479 (re_compile_fastmap): Merge handling of charset and charset_not (for
13480 emacs and non-emacs compilation as well).
13481 Similarly for (not)categoryspec and (not)syntaxspec.
13482 Don't use the fastmap when reaching `anychar' since the added
13483 complexity is not justified.
13484 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13485 and (not)syntaxspec. Merge (not)categoryspec.
13486
fdaa1f77
KH
134872000-03-22 Kenichi Handa <handa@etl.go.jp>
13488
52283633
SM
13489 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13490 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13491 --without-x.
fdaa1f77 13492
d152fb46
DL
134932000-03-21 Dave Love <fx@gnu.org>
13494
13495 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13496 doc string.
13497
d2cafc8c
GM
134982000-03-21 Gerd Moellmann <gerd@gnu.org>
13499
13500 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13501 (lface_fully_specified_p): Don't check contents of
13502 LFACE_FONT_INDEX because that attribute is optional.
13503 (realize_x_face): Remove now unwarranted xassert.
13504
9111d4b5
KH
135052000-03-21 Kenichi HANDA <handa@etl.go.jp>
13506
13507 The following changes are to make font selection based on
13508 characters, not charset. In addition, they recover fontset
13509 facilities while utilizing the new font selection mechanism.
13510
6c4bfdc0
KH
13511 * Makefile.in (fontset.o): Depend on dispextern.h.
13512
13513 * alloc.c (mark_face_cache): Don't mark face->registry.
13514
9111d4b5
KH
13515 * dispextern.h (struct glyph): New member glyph_not_available_p.
13516 Use 22 bits for face_id.
13517 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13518 (struct face): Delete member registry, new member ascii_face.
13519 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13520 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13521 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13522 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13523
13524 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13525 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13526 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13527 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13528 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13529 (fs_free_face_fontset, fontset_font_pattern)
13530 (face_suitable_for_char_p, face_for_char)
13531 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13532 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13533 (FS_LOAD_FACE_FONT): New macro.
13534
13535 * fontset.c: All codes rewritten or adjusted for the change of
13536 fontset implementation. Now fontset is represented by char table.
52283633
SM
13537 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13538 Variables removed.
9111d4b5 13539 (my_strcasecmp): Function removed.
52283633 13540 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13541 (AREF, ASIZE): New macros.
52283633
SM
13542 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13543 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13544 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13545 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13546 (fontset_id_valid_p, font_family_registry, fontset_name)
13547 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13548 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13549 New functions.
13550 (fs_load_font): New arg FACE. Caller changed.
13551 (fs_query_fontset): Argument changed. Caller changed.
13552 (Fquery_fontset): call fs_query_fontset.
13553 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13554 Functions removed.
52283633
SM
13555 (clear_fontset_elements, check_registry_encoding)
13556 (check_fontset_name): New functions.
9111d4b5
KH
13557 (syms_of_fontset): Set char-table-extra-slots property of fontset
13558 to 3. Staticpro and initialize Vfontset_table and
13559 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13560
13561 * frame.h (struct frame): Member `fontset_data' removed.
13562 (FRAME_FONTSET_DATA): Macro removed.
13563
13564 * frame.c (make_frame): Don't allocate f->fontset_data.
13565 (Fdelete_frame): Don't free f->fontset_data.
13566
6c4bfdc0
KH
13567 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13568
9111d4b5
KH
13569 * xdisp.c (charset_at_position): Function removed.
13570 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13571 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13572 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13573 Likewise.
13574 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13575 FACE_FOR_CHARSET.
52283633
SM
13576 (get_next_display_element, append_space)
13577 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13578
13579 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13580 Variables removed.
13581 (clear_font_table, frame_update_line_height, load_face_font):
13582 Adjusted for the change of fontset implementation.
13583 (load_face_fontset_font): Function removed.
13584 (pixel_point_size): New function.
13585 (font_list): Argument type changed. Caller changed.
13586 (LFACE_FONT): New macro.
13587 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13588 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13589 Lisp_Object. Determine the font name by actually loading a font
13590 by the specified pattern. Set LFACE_FONT (lface) to the specified
13591 pattern. Even if a font is not found, don't try alternatives.
13592 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13593 (set_font_frame_param): If `font' is specified in lface, use it.
13594 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13595 (lface_same_font_attributes_p): Likewise.
13596 (make_realized_face): Arguent changed. Caller changed. Set
13597 face->ascii_face to face itself.
13598 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13599 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13600 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13601 (free_realized_multibyte_face): New function.
13602 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13603 changed. Caller changed.
13604 (try_font_list): Argument type changed.
13605 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13606 (choose_face_font): Argument changed. Handle fontset properly.
13607 (choose_face_fontset_font): Function removed.
13608 (realize_default_face, realize_named_face): Don't remove the
13609 former face here.
13610 (realize_face): Argument changed. Caller changed. Remove face
52283633 13611 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13612 (realize_x_face): Argument changed. Caller changed. For a
13613 multibyte character, share fontset with base_face. For a single
52283633 13614 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13615 (realize_tty_face): Argument changed. Caller changed.
13616 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13617 (face_at_buffer_position): Don't check multibyte_p for returning
13618 DEFAULT_FACE_ID.
13619 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13620 FACE_SUITABLE_FOR_CHARSET_P.
13621 (syms_of_xfaces): Remove code for Qx_charset_registry and
13622 Vface_default_registry.
13623
6c4bfdc0
KH
13624 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13625 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13626 (x_per_char_metric): Don't try FONT->default_char. Even if
13627 pcm->width is zero, glyph bits may exist.
13628 (x_encode_char): Always initialize char2b->byte1.
13629 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13630 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13631 (x_append_glyph): Set glyph->glyph_not_available_p.
13632 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13633 it->charset. Handle the case that per char metric is not
13634 available. If it->multibyte_p is zero and it->c is a multibyte
13635 character, convert it to a unibyte character.
13636 (struct glyph_string): Delete member `charset'.
13637 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13638 the case that per char metric is not available correctly.
13639 (x_fill_glyph_string): Handle the case that the specific glyph is
13640 not available correctly.
13641 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13642 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13643 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13644 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13645 fontset. Don't call FS_LOAD_FONT.
13646
13647 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13648 (x_create_tip_frame): Likewise.
13649 (Fx_close_connection): Free full_name of font_info.
13650
13651 * fns.c (optimize_sub_char_table): New function.
13652 (Foptimize_char_table): New function.
13653 (syms_of_fns): Defsubr Soptimize_char_table.
13654
b33dd3b0
GM
136552000-03-20 Gerd Moellmann <gerd@gnu.org>
13656
13657 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13658 only if buffer is displayed in some window.
13659
13660 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13661 (try_window_reusing_current_matrix): Don't call scroll run
13662 function if run's current and desired position are the same;
13663 this prevents cursor flickering.
13664
4e8a9132
SM
136652000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13666
13667 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13668
13669 * regex.c (RE_STRING_CHAR): New macro.
13670 (GET_CHAR_AFER_2): Remove.
13671 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13672 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13673 (print_partial_compiled_pattern, re_compile_fastmap)
13674 (re_match_2_internal): Remove on_failure_jump_exclusive.
13675 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13676 optimization only need to work for * (ie. can use of_keep_string_jump).
13677 Remove the special case for .*\n since it is now covered by the general
13678 optimization.
13679 (re_search_2): Don't bother with `room'.
13680 (skip_one_char): New function.
13681 (skip_noops): Simplify since `memory' is not needed any more.
13682 (mutually_exclusive_p): Restructure slightly to use `switch' and
13683 add handling for "all" remaining cases.
13684 (re_match_2_internal): Change on_failure_jump_smart to use
13685 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13686 rather than on_failure_jump_exclusive.
13687
2136fdd4
GM
136882000-03-19 Gerd Moellmann <gerd@gnu.org>
13689
13690 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13691 number of bits per RGB because it's everywhere used as the depth
13692 of the visual.
13693
13694 * term.c (calculate_costs): Remove code dealing with X frames.
13695
18e21ce8 136962000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13697
13698 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13699
d7b511c4
GM
137002000-03-18 Gerd Moellmann <gerd@gnu.org>
13701
13702 * lread.c (read_integer): Unread the last char not consumed.
13703
16b5d424
GM
137042000-03-17 Gerd Moellmann <gerd@gnu.org>
13705
13706 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13707 which are in the process of being deleted.
16b5d424 13708
1fa28578
GM
137092000-03-16 Gerd Moellmann <gerd@gnu.org>
13710
83488cce
GM
13711 * Makefile.in (mostlyclean): Add `*.core'.
13712 (clean): Add `bootstrap-emacs'.
13713
1fa28578
GM
13714 * lread.c (read_integer): New function.
13715 (read1): Support read syntax #o, #x, #b, #r.
13716
99633e97
SM
137172000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13718
1fa28578
GM
13719 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13720 make sure POINTER_TO_OFFSET gives the same value before and after
13721 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13722 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13723 (debug): Now only active if > 0 rather than if != 0.
13724 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13725 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13726 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13727 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13728 (store_op1, store_op2, insert_op1, insert_op2)
13729 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13730 (group_in_compile_stack): Move to after its arg's types are
13731 declared and add a prototype.
99633e97 13732 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13733 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13734 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13735 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13736 indentation of the greedy-op and shy-group code.
99633e97
SM
13737 (at_(beg|end)line_loc_p): Fix argument's types.
13738 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13739 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13740 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13741 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13742 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13743 QUIT unconditionally.
99633e97 13744
699238d9
GM
137452000-03-15 Gerd Moellmann <gerd@gnu.org>
13746
13747 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13748 a sole completion.
13749
13750 * process.c (send_process): Add a hint that the function
13751 can call Lisp code to its comment.
13752
13753 * lread.c (load_dangerous_libraries): New variable.
13754 (Vbytecomp_version_regexp): New variable.
13755 (safe_to_load_p): New function.
13756 (Fload): Handle files not compiled with Emacs specially.
13757 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13758
34e23e5a
GM
137592000-03-14 Gerd Moellmann <gerd@gnu.org>
13760
9c763cca
GM
13761 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13762
13763 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13764 support functions only if HAVE_X11R6_XIM is defined.
13765 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13766
13767 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13768
13769 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13770 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13771 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13772
13773 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13774 (HAVE_X11R6_XIM): Define.
13775
13776 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13777
34e23e5a
GM
13778 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13779 If set, call XSynchronize.
13780
66f0296e
SM
137812000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13782
34e23e5a
GM
13783 * regex.c: Declare a new type `re_char' used throughout the code
13784 for the string char type. It's `const unsigned char' to match the
13785 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13786 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13787 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13788 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13789 code duplication.
66f0296e
SM
13790
13791 * charset.h (GET_CHAR_AFTER_2): Remove.
13792 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13793
854a025c
KR
137942000-03-12 Ken Raeburn <raeburn@gnu.org>
13795
13796 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13797 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13798 of them try to use backquotes.
13799
b9d2c7e2
DL
138002000-03-12 Dave Love <fx@gnu.org>
13801
13802 * unexelf.c: Restore changes of 1999-10-19.
13803 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13804 fix its type and alignment; copy it from current process.
13805
5e5dff44
GM
138062000-03-12 Gerd Moellmann <gerd@gnu.org>
13807
9b2f3c38
GM
13808 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13809 has been found. Fix bug not computing timer's predecessor.
13810
427ec082 13811 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13812 file name.
13813
e1cff360
GM
13814 * window.c (Fsave_window_excursion): Doc fix.
13815
52283633 13816 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13817
e411ce4b
EZ
138182000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13819
13820 * msdos.c (vga_installed): New function, code moved from
13821 dos_set_window_size.
13822 (Qbar, Qcursor_type, outside_cursor): New variables.
13823 (syms_of_msdos): Intern and staticpro them.
13824 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13825 shape used outside Emacs when called for the first time.
13826 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13827 cursor shape used outside Emacs.
13828 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13829 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13830 type has changed.
13831 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13832 parameters specify the cursor. Make qreverse a global
13833 variable (renamed to Qreverse).
13834
80460654
GM
138352000-03-09 Gerd Moellmann <gerd@gnu.org>
13836
13837 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13838
95cd4c40
SM
138392000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13840
13841 This is a big redesign of failure-stack and register handling, prompted
13842 by bugs revealed when trying to add shy-groups. Overall, what happened
13843 is that loops are now structured a little differently, groups can be
13844 shy and the code is a little simpler.
13845
13846 * regex.h: Update the copyright.
13847 (RE_SHY_GROUPS): New value.
13848 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13849 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13850
80460654
GM
13851 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13852 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13853 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13854 for (start|stop)_memory since they now only take one argument (the
13855 second has becomes unnecessary).
52283633 13856 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13857 (print_compiled_pattern): Use %ld to printf long ints and flush to
13858 make debugging a little easier.
95cd4c40
SM
13859 (union fail_stack_elt): Make the integer unsigned.
13860 (struct fail_stack_type): Add a `frame' element.
13861 (INIT_FAIL_STACK): Init `frame' as well.
13862 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13863 (DEBUG_PUSH, DEBUG_POP): Remove.
13864 (NUM_REG_ITEMS): Remove.
13865 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13866 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13867 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13868 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13869 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13870 New macros.
80460654
GM
13871 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13872 address pushed is not the destination of the jump but the source
13873 of it instead.
95cd4c40
SM
13874 (NUM_FAILURE_ITEMS): Remove.
13875 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13876 registers before the actual failure point). Don't hardcode any
13877 meaning for str==NULL anymore.
95cd4c40 13878 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13879 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13880 Remove.
95cd4c40
SM
13881 (REG_UNSET_VALUE): Use NULL (why not?).
13882 (compile_range): Remove declaration since it doesn't exist.
13883 (struct compile_stack_elt_t): Remove inner_group_offset.
13884 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13885 (regex_grow_registers): Remove dead code.
13886 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13887 (regex_compile): Add shy-groups Change loops to use
13888 on_failure_jump_smart&jump instead of
13889 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13890 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13891 variable to me). Use `jump' instead of `jump_past_alt' and don't
13892 bother with push_dummy_failure in alternatives since it is now
13893 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13894 emacs' for (re)allocating the stack.
13895 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13896 from loop when bufp->can_be_null rather than jumping to `done'.
13897 Avoid jumping backwards so as to ensure termination. Use
13898 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13899 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13900 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13901 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13902 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13903 (lowest_active_reg, highest_active_reg)
13904 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13905 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13906 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13907 variables. Push register (in `start_memory') on the stack rather
13908 than storing it in old_reg(start|end). Remove the cycle detection
13909 from `stop_memory', replaced by the use of on_failure_jump_loop
13910 for greedy loops. Add code for the new on_failure_jump_<foo>.
13911 Remove ad-hoc code in `on_failure_jump' to push more registers in
13912 the case of a loop. Take out code from `maybe_pop_jump' into
13913 separate functions and adapt it to the semantics of
13914 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13915 and push_dummy_failure. Remove dummy_failure handling and
13916 handling of `failures to jump to on_failure_jump' (this last one
13917 was already dead code, it seems).
13918 (group_match_null_string_p, alt_match_null_string_p)
13919 (common_op_match_null_string_p): Remove.
95cd4c40 13920
7397acc4
DL
139212000-03-08 Dave Love <fx@gnu.org>
13922
13923 * config.in: Don't depend on __STDC__ for volatile.
13924 Add POINTER_TYPE, PTR, PROTOTYPES.
13925
13926 * hftctl.c, strftime.c: Use PROTOTYPES.
13927 * eval.c (find_handler_clause): Likewise.
13928
13929 * mem-limits.h: Use POINTER_TYPE.
13930
13931 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13932 (memory_warnings): Declare using POINTER_TYPE.
13933
5e91ff9e
GM
139342000-03-08 Gerd Moellmann <gerd@gnu.org>
13935
feab4fba
GM
13936 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13937
52283633 13938 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13939
5e91ff9e
GM
13940 * xfns.c: Remove obsolete code in #if 0.
13941 (Fx_focus_frame): New function.
13942
a735b7e1
KH
139432000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13944
13945 * coding.c (coding_category_name): Add coding-category-utf-8,
13946 coding-category-utf-16-be, coding-category-utf-16-le.
13947 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13948 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13949 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13950 (detect_coding_utf_8): New function.
13951 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13952 UTF_16_LOW_SURROGATE_P): New macros.
13953 (detect_coding_utf_16): New function
13954 (detect_coding_mask): When priorities are specified, skip any
13955 categories that have `nil' coding-system. Fix bug of returning
13956 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13957 returns a mask not set in PRIORITIES.
13958 (detect_eol_type_in_2_octet_form): New function.
13959 (detect_eol): selects detect_eol_type_XXX to call according to
13960 cooding->category_idx.
13961 (detect_coding_system): Remove `nil' coding-system in the result.
13962 (Fupdate_coding_systems_internal): Update all coding-categories.
13963
52283633
SM
13964 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13965 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13966 New macros.
13967 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13968 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13969 (CODING_CATEGORY_IDX_UTF_16_LE)
13970 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13971 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13972 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13973 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13974
9994cc69
GM
139752000-03-07 Gerd Moellmann <gerd@gnu.org>
13976
e9b4e5ff
GM
13977 * doc.c (Fdocumentation_property): If value is not a string,
13978 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13979
f7daf1e1
GM
13980 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13981 close the display with XtCloseDisplay. This caused a bus error
13982 on OpenWindows.
13983
9994cc69
GM
13984 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13985 complete but not unique.
13986
4336c705
GM
139872000-03-06 Gerd Moellmann <gerd@gnu.org>
13988
18bb0684
GM
13989 * process.c (send_process): Remove local variable `procname' that
13990 might become invalid when a GC happens. Instead, access the
13991 process name slot directly.
13992
4336c705
GM
13993 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13994 orig_height if set.
13995
13996 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13997 orig_height if set.
13998
515d0d0e
EZ
139992000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14000
14001 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14002 glyph matrices have been freed.
14003
100b3cbb
GM
140042000-03-05 Gerd Moellmann <gerd@gnu.org>
14005
50df5e5a 14006 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 14007 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
14008
14009 * xfns.c (QCdata): Moved to xdisp.c.
14010
14011 * xdisp.c (QCdata): Moved here from xfns.c.
14012 (syms_of_xdisp): Initialize QCdata.
14013
14014 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14015
14016 * window.c (coordinates_in_window): Use
14017 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14018 FRAME_INTERNAL_BORDER_WIDTH.
14019
100b3cbb 14020 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14021 it is obviously invalid.
100b3cbb
GM
14022
14023 * xterm.c (x_term_init): Create a colormap if not using the
14024 default visual.
14025
14026 * xterm.h (select_visual): Change prototype.
14027
14028 * xfns.c (select_visual): Rewritten. Recognize user-specified
14029 visual classes.
14030 (visual_classes): New variable.
14031
64d739c4
GM
140322000-03-04 Gerd Moellmann <gerd@gnu.org>
14033
14034 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14035 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14036 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14037 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14038 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14039 XtNcolormap resources.
14040 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14041 (Fx_create_frame): Initialize color members of x_output structure.
14042 (xpm_load): Pass colormap to XPM lib.
14043
14044 * xfaces.c (x_free_colors): Access colormap of frame using
14045 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14046 when default colormap is used.
14047
14048 * xterm.c (x_term_init): Set Colormap member of x_display_info
14049 structure. Copy colormap if resource `privateColormap' is
14050 specified (PseudoColor only).
14051 (x_setup_relief_color): Access colormap of frame using
14052 FRAME_X_COLORMAP.
14053
14054 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14055 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14056
c3cee013
JR
140572000-03-04 Jason Rumney <jasonr@gnu.org>
14058
14059 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14060 other non-platform-specific equivalents.
64d739c4 14061 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14062 specific functions and macros as their w32 equivalents where
14063 non-platform-specifics are not available.
14064 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14065 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14066 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14067 (frame_update_line_height): Use macros to access f->output_data.
14068 (defined_color): Remove FIXME comments; fixed.
14069 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14070 into #ifdef blocks. Add WINDOWSNT blocks.
14071 (Fx_list_fonts): Use macros for accessing font data.
14072 (set_lface_from_font_name): Different default fonts for X and
14073 WINDOWSNT.
14074 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14075 scalable for backward compatibility.
64d739c4 14076 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14077 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14078
64d739c4 14079 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14080 syms_of_w32faces.
14081
14082 * makefile.nt (w32faces.obj): Remove.
14083 (xfaces.obj): Add.
14084
807cc41c
JR
140852000-03-03 Jason Rumney <jasonr@gnu.org>
14086
14087 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14088 correct parameters.
14089
0007072a
KR
140902000-03-03 Ken Raeburn <raeburn@gnu.org>
14091
14092 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14093 standard ELF definitions here if the system header does not.
14094
71a6ba55
GM
140952000-03-03 Gerd Moellmann <gerd@gnu.org>
14096
14097 * xterm.c (PER_CHAR_METRIC): Removed.
14098 (x_per_char_metric_1, x_default_char): New functions.
14099 (x_per_char_metric): If font's default char is invalid, return
14100 metrics of a suitably chosen usable default char.
14101 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14102 char, replace occurrences of unprintable chars with a suitably
14103 chosen usable default char.
71a6ba55 14104
900fa1f1
GM
141052000-03-02 Gerd Moellmann <gerd@gnu.org>
14106
42f55fe0
GM
14107 * xterm.c (note_mouse_highlight): Return quickly if frame's
14108 glyph matrices have been freed.
14109
14110 * dispnew.c (free_glyphs): Block input while freeing matrices.
14111
900fa1f1
GM
14112 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14113
52283633
SM
14114 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14115 Use x_free_colors.
900fa1f1
GM
14116
14117 * dispextern.h (x_free_colors): Add prototype.
14118
14119 * xfaces.c (x_free_colors): New function.
14120 (unload_color, free_face_colors): Use it.
14121
2f950292
EZ
141222000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14123
14124 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14125
14126 * window.c [MSDOS]: Include msdos.h.
14127
54d04320
DL
141282000-03-02 Dave Love <fx@gnu.org>
14129
14130 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14131
14132 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14133 set C_OPTIMIZE_SWITCH for gcc.
14134
0ba93ac4
KH
141352000-03-02 Kenichi Handa <handa@etl.go.jp>
14136
14137 * coding.c (coding_save_composition): Be sure to allocate
14138 composition data area in coding even if there's no composition in
14139 the current run.
14140
a2bc11d4
JR
141412000-03-01 Jason Rumney <jasonr@gnu.org>
14142
14143 * w32term.c: Equivalent changes to those made to xterm.c on
14144 2000-02-25 and 2000-02-24.
14145
14146 * w32fns.c: Equivalent changes to those made to xfns.c on
14147 2000-02-25 and 2000-02-21.
14148
14149 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14150 correct line-end convention is followed.
14151
14152 * w32menu.c [HAVE_BOXES]: Remove #undef.
14153 (single_keymap_panes): Remove code for simulating checkmarks.
14154 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14155 Remove code for drawing simulated checkmarks.
14156 (w32_menu_show): make unibyte help string correctly.
14157 (add_menu_item): draw standard Windows checkmarks. Draw radio
14158 buttons as radio buttons if possible.
14159
72d19d75
GM
141602000-03-01 Gerd Moellmann <gerd@gnu.org>
14161
2df636f4
GM
14162 * sysdep.c (start_of_text): Don't define this function for NetBSD
14163 with ELF.
14164
427ec082 14165 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14166 Don't define.
14167 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14168 (LINKER): Don't undef if __NetBSD__ is defined.
14169
14170 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14171
14172 * fileio.c [__NetBSD__]: Define `unix'.
14173
72d19d75
GM
14174 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14175
ed4d0512
GM
141762000-02-29 Gerd Moellmann <gerd@gnu.org>
14177
50b1039f
GM
14178 * atimer.c (start_atimer): Don't abort when timers are stopped.
14179 (append_atimer_lists): New function.
14180 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14181 arbitrary lists of stopped and running atimers.
14182
ed4d0512
GM
14183 * atimer.c (cancel_atimer): Handle canceling an atimer when
14184 some timers are stopped.
14185
14186 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14187 after canceling it.
14188
14189 * fns.c (maybe_resize_hash_table): Handle case of new size
14190 coming out as being the same as old size.
14191
387023ee
JR
141922000-02-27 Jason Rumney <jasonr@gnu.org>
14193
14194 * makefile.nt: Add atimer.h to dependencies.
14195 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14196 * w32console.c: Only disable window system features for dispextern.h
14197 (initialize_w32_display): Build a display info for the console.
14198 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14199 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14200 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14201 as 2 button mice.
14202 * w32gui.h (struct W32FontStruct): Revert last change after change
14203 to xdisp.c.
14204 * w32menu.c (single_submenu): Set up help string.
14205 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14206 (w32_dialog_show): Set up help string.
14207 * w32term.c (w32_display_info_for_display): Remove unused function.
14208 (w32_draw_bitmap): Use pre-built bitmaps.
14209 (w32_initialize_display_info): New function to initialize parts of
14210 display info that are common to both GUI and console frames.
14211 (w32_term_init): Use w32_initialize_display_info. Do not set
14212 Vw32_num_mouse_buttons here, as it is not called for console
14213 frames. Build bitmaps for indicating truncated lines etc.
14214 (x_delete_display): Destroy pre-built bitmaps.
14215 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14216 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14217
4516715a
DL
142182000-02-27 Dave Love <fx@gnu.org>
14219
14220 * lisp.h: Add a bunch of prototypes.
14221
171ca836
KH
142222000-02-26 Kenichi Handa <handa@etl.go.jp>
14223
14224 * keyboard.c (read_char): Set `usec' correctly.
14225
4013921d
KH
142262000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14227
14228 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14229 `lambda', set reg[RRR] to the map index.
14230 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14231 reg[RRR] to 0. Otherwise, set it to -1.
14232
9244a058
GM
142332000-02-25 Gerd Moellmann <gerd@gnu.org>
14234
2df636f4 14235 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14236
18e21ce8 142372000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14238
f43d79c1
GM
14239 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14240 and contains a `:', prepend `/:'.
14241
14242 * window.c (select_window_1): If selected_window is nil,
14243 don't "swap out" the buffer's point.
14244 (Fset_window_configuration): Set selected_window to nil
14245 before calling Fselect_window.
14246 (unshow_buffer): Don't set point in buffer from window's point
14247 if another more recently selected window also shows the buffer.
14248
bed0c171
GM
142492000-02-25 Gerd Moellmann <gerd@gnu.org>
14250
449c3c52
GM
14251 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14252
f5b58615
GM
14253 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14254 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14255 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14256 New variables.
f5b58615
GM
14257 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14258 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14259 (hide_busy_cursor): New functions.
14260 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14261
14262 * minibuf.c (read_minibuf): Cancel busy-cursor.
14263
14264 * keyboard.c (command_loop_1): Call start_busy_cursor before
14265 Fcommand_execute and cancel_busy_cursor after it.
14266 (timer_check): Remove busy-cursor code.
14267 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14268 cursor timer.
14269
14270 * process.c (wait_reading_process_input): Remove busy-cursor code.
14271
14272 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14273 Fx_hide_busy_cursor.
14274
14275 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14276 Remove prototyoes.
14277 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14278
14279 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14280
14281 * xterm.c (XTread_socket): Remove busy-cursor code.
14282
4eb8436f
GM
14283 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14284 (build_frame_matrix_from_leaf_window): Put code handling
14285 glyph row's not being a slice of a frame row in #if 0.
14286 (sync_window_with_frame_matrix_rows): New function.
14287 (frame_row_to_window): New function.
14288 (mirror_line_dance): Handle copies between windows.
14289
3cb65b0e
GM
14290 * lread.c (Fload): Use `xfree' instead of `free'.
14291 (init_obarray): Use `xmalloc' instead of `malloc'.
14292
bed0c171
GM
14293 * window.c (Fset_window_buffer): Set WINDOW to the window
14294 after decoding.
2add4349
GM
14295 (coordinates_in_window): Take frame's internal border width
14296 into account.
bed0c171 14297
42088c12
GM
142982000-02-24 Gerd Moellmann <gerd@gnu.org>
14299
14300 * xterm.c (x_display_and_set_cursor): Display cursor of
14301 non-selected windows depending on the setting of
14302 cursor_in_non_selected_windows.
14303
14304 * xdisp.c (cursor_in_non_selected_windows): New variable.
14305 (syms_of_xdisp): DEFVAR_BOOL it.
14306
d1e103b2
GM
143072000-02-23 Gerd Moellmann <gerd@gnu.org>
14308
723e779c
GM
14309 * data.c (Fstring_to_number): If number is greater than what
14310 fits into an integer, return a float.
14311
d1e103b2
GM
14312 * eval.c (specbind): Remove references to
14313 keyword_symbols_constant_flag.
14314
14315 * data.c (keyword_symbols_constant_flag): Removed.
14316 (Fmakunbound, set_internal, syms_of_data): Remove references to
14317 keyword_symbols_constant_flag.
14318
14319 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14320
214f877f
KH
143212000-02-23 Kenichi Handa <handa@etl.go.jp>
14322
14323 * syntax.c (multibyte_syntax_as_symbol): New variable.
14324 (syms_of_syntax): Declare it as a Lisp variable.
14325 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14326 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14327 nonzero, treat all multibyte characters as symbol.
52283633 14328 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14329
130adcb7
EZ
143302000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14331
3cb65b0e 14332 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14333 a deleted frame.
130adcb7 14334
17cbbf95
GM
143352000-02-21 Gerd Moellmann <gerd@gnu.org>
14336
14337 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14338
14339 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14340 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14341
beb0bc36
DL
143422000-02-21 Dave Love <fx@gnu.org>
14343
14344 * frame.c (Vmouse_position_function): New variable.
14345 (Fmouse_position): Use it.
14346 (syms_of_frame): Install it.
14347
14348 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14349
1d92afcd
GM
143502000-02-20 Gerd Moellmann <gerd@gnu.org>
14351
14352 * fileio.c (Finsert_file_contents): Unbind the binding of
14353 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14354
14355 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14356 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14357 (specbind, unbind_to): Handle most common case of non-constant
14358 symbol with trivial value specially.
14359
14360 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14361
18e21ce8 143622000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14363
14364 * data.c (Fmake_variable_buffer_local): Doc fix.
14365 Init found_for_buffer to 0.
14366 (Fmake_variable_frame_local): If the variable has already
14367 been buffer-local, set the check_frame field.
14368
1d4311c3
EZ
143692000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14370
14371 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14372 produced for CODING_MODE_LAST_BLOCK requires.
14373
2dc95ddd
DL
143742000-02-18 Dave Love <fx@gnu.org>
14375
14376 * keyboard.c (echo_keystrokes): Remove declaration.
14377 (Vecho_keystrokes) New variable.
14378 (read_char, record_menu_key, read_key_sequence): Use it to allow
14379 use of float value.
14380 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14381
14382 * lread.c: Undef feature selection macros before defining.
14383
f0930f35
GM
143842000-02-18 Gerd Moellmann <gerd@gnu.org>
14385
14386 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14387 for symbols other than the symbol in question.
14388
e3d4de90
DL
143892000-02-17 Dave Love <fx@gnu.org>
14390
14391 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14392
0b378936
GM
143932000-02-17 Gerd Moellmann <gerd@gnu.org>
14394
d621caf7
GM
14395 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14396
0b378936
GM
14397 * alloc.c (enum mem_type): Compile unconditionally.
14398
3b451f74
EZ
143992000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14400
14401 * xfaces.c (tty_defined_color): Don't return faulire indication
14402 for unspecified-fg and unspecified-bg pseudo-colors.
14403
10689a01
GM
144042000-02-17 Gerd Moellmann <gerd@gnu.org>
14405
1216f5e4
GM
14406 * alloc.c (mark_object): Don't mark symbol names in pure space.
14407 (gc_sweep): Don't unmark symbol names in pure space.
14408
14409 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14410 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14411 [GC_MARK_STACK]: New defines.
427ec082 14412 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14413 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14414
14415 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14416
14417 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14418 allocate_buffer instead of xmalloc.
14419
14420 * alloc.c (toplevel): Include setjmp.h.
14421 (PURE_POINTER_P): New define.
14422 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14423 (Vdead) [GC_MARK_STACK]: New variable.
14424 (lisp_malloc): Add parameter TYPE, call mem_insert if
14425 GC_MARK_STACK is defined.
14426 (allocate_buffer): New function.
427ec082 14427 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14428 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14429 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14430 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14431 (MEM_NIL) [GC_MARK_STACK]: New define.
14432 (struct mem_node) [GC_MARK_STACK]: New structure.
14433 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14434 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14435 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14436 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14437 (mark_stack) [GC_MARK_STACK]: New functions.
14438 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14439 (clear_marks): Removed.
14440 (gc_sweep): Set free conses' car, free floats' type, free
14441 symbols' function to Vdead. Use lisp_free to free buffers.
14442 (init_alloc_once): Initialize Vdead.
14443 (survives_gc_p): Return non-zero for pure objects.
14444
14445 * alloc.c: Add comments throughout the file.
14446
2503c8b1
GM
14447 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14448 that unblocks alarms.
14449
8389e1e2
GM
14450 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14451 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14452 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14453
10689a01 14454 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14455
bfc17d18
KH
144562000-02-17 Kenichi Handa <handa@etl.go.jp>
14457
4a09dee0
KH
14458 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14459 avoid infinite error signaling. Allocate sufficient memory for
14460 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14461
2b927d02
SM
144622000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14463
14464 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14465 depends on the previous behavior.
14466
b49cb764
GM
144672000-02-16 Gerd Moellmann <gerd@gnu.org>
14468
14469 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14470
99e95407
GM
144712000-02-15 Gerd Moellmann <gerd@gnu.org>
14472
14473 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14474
14475 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14476 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14477 write(2).
14478
6ffd3cf7
RS
144792000-02-15 Richard M. Stallman <rms@gnu.org>
14480
14481 * data.c (set_internal): Don't make variable buffer-local
14482 if within a let-binding for the same buffer.
14483 (let_shadows_buffer_binding_p): New function.
14484
14485 * eval.c (specbind): For buffer-local value,
14486 record the current buffer also.
14487 (unbind_to): Cope with that change.
14488
cad53475
GM
144892000-02-15 Gerd Moellmann <gerd@gnu.org>
14490
14491 * window.c (Fsave_window_excursion): Doc fix.
14492
1aa963c8
SM
144932000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14494
14495 * syntax.c (back_comment): Make sure we only consider comment-starters
14496 of the relevant style and return -1 in case of a failure to find the
14497 beginning of the comment.
14498 (Fforward_comment): If back_comment fails, go back to the position just
14499 after the comment-end.
14500 (scan_lists): Add comment describing a very minor bug.
14501
b9b84fd3
SM
145022000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14503
14504 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14505 `completion-regexp-list' in the docstring.
14506
3a28db80
DL
145072000-02-14 Dave Love <fx@gnu.org>
14508
14509 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14510
fb4a568d
SM
145112000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14512
14513 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14514 to Emacs' syntax. Also fix the comment about set/not-set meanings
14515 since Emacs syntax is not the value 0 any more.
14516 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14517 since it's now part of RE_SYNTAX_EMACS.
14518
1063ebb5
DL
145192000-02-12 Dave Love <fx@gnu.org>
14520
52283633 14521 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14522
fb07a302
GM
145232000-02-12 Gerd Moellmann <gerd@gnu.org>
14524
14525 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14526
aaf2320c
DL
145272000-02-12 Dave Love <fx@gnu.org>
14528
14529 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14530
14531 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14532 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14533 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14534
14535 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14536
14537 * s/nextstep.h: Don't define HAVE_ALLOCA.
14538
14539 * config.in: Add vfork bits.
14540
eedf8bde
GM
145412000-02-12 Gerd Moellmann <gerd@gnu.org>
14542
14543 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14544 unwind function to undo the effect of stopping atimers.
14545
52283633 14546 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14547
14548 * atimer.c (stopped_atimers): New variable.
14549 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14550 New functions.
14551
14552 * atimer.h (stop_other_atimers, run_all_atimers)
14553 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14554
eedf8bde
GM
14555 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14556
8476c2f8
KR
145572000-02-11 Ken Raeburn <raeburn@gnu.org>
14558
14559 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14560 library may depend on jpeg.
14561 (atimer.o): Depends on atimer.c.
14562
0e85e4a3
KH
145632000-02-11 Kenichi Handa <handa@etl.go.jp>
14564
14565 * insdel.c (del_range_1): Call update_compositions.
14566 (del_range_both): Call update_compositions just once..
14567
97fa0cc8
DL
145682000-02-10 Dave Love <fx@gnu.org>
14569
14570 * xfns.c (create_frame_xic): Fix initialization of automatic
14571 aggregates for pcc.
14572
25566a3c
KH
145732000-02-09 Kenichi Handa <handa@etl.go.jp>
14574
14575 * ccl.c (CCL_MAKE_CHAR): New macro.
14576 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14577 registers by CCL_MAKE_CHAR before calling translate_char.
14578 <CCL_TranslateCharacterConstTbl> Likewise.
14579
69da54ba
DL
145802000-02-08 Dave Love <fx@gnu.org>
14581
14582 * lread.c (__EXTENSIONS__): Define.
14583
f7136ee8
GM
145842000-02-08 Gerd Moellmann <gerd@gnu.org>
14585
14586 * puresize.h (BASE_PURESIZE): Increase to 650000.
14587
7768790b
EZ
145882000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14589
14590 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14591 the help message.
14592
38fd211b
EZ
145932000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14594
14595 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14596 md, mh, mb, mr, and me to the fake termcap entry.
14597
66e4690f
KR
145982000-02-06 Ken Raeburn <raeburn@gnu.org>
14599
14600 * sound.c (sound_cleanup): Don't call device close routine if the
14601 function pointer is null.
14602
a75dfea0
AI
146032000-02-06 Andrew Innes <andrewi@gnu.org>
14604
14605 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14606 around image definitions and prototypes.
14607 (gamma_correct) [WINDOWSNT]: New prototype.
14608
14609 * w32term.c (x_make_frame_visible): Replace call to
14610 input_poll_signal with poll_for_input.
14611
14612 * window.c [WINDOWSNT]: Include w32term.h.
14613
14614 * xdisp.c [WINDOWSNT]: Include w32term.h.
14615
14616 * makefile.nt: Add dependencies on w32gui.h.
14617 (OBJ1): Include atimer.obj.
14618 ($(BLD)\atimer.obj): New dependency rule.
14619
14620 * w32.c (sigmask): New function (does nothing).
14621 (sigunblock): Ditto.
14622
14623 * frame.c [WINDOWSNT]: Include w32term.h.
14624
14625 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14626
14627 * lread.c (syms_of_lread): Fix literal newlines.
14628
14629 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14630 the string constant limit (2048 bytes) in MSVC.
14631 (main): Ditto.
14632
59ddecde
GM
146332000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14634
52283633 14635 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14636 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14637 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14638 dispatch the event.
14639
07590973
DL
146402000-02-04 Dave Love <fx@gnu.org>
14641
14642 * fileio.c: Remove some unused vars.
14643 (_GNU_SOURCE): Define (for euidaccess).
14644
14645 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14646
14647 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14648 gcpro1, gcpro2.
14649 (read_minibuf): Deal with allow_props correctly.
14650
649351f9
EZ
146512000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14652
14653 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14654
66e4690f 146552000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14656
14657 * search.c (compile_pattern): If a cache entry has a nil regexp,
14658 fill in that entry instead of clobbering a previously cached
14659 string regexp.
14660
66e4690f 146612000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14662
14663 * puresize.h (BASE_PURESIZE): Increase to 610000.
14664
d240a249
GM
146652000-02-02 Gerd Moellmann <gerd@gnu.org>
14666
14667 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14668 can GC.
14669
ca91fb26
KH
146702000-02-02 Kenichi Handa <handa@etl.go.jp>
14671
25660570
KH
14672 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14673 instead of incrementing ic directly.
14674 <CCL_WriteExprConst> Likewise.
14675 <ccl_set_expr>: Set ic to jump_address.
14676
ca91fb26
KH
14677 * fileio.c (e_write): Fix the handling of
14678 CODING_FINISH_INSUFFICIENT_SRC.
14679
2ede9689
DL
146802000-02-01 Dave Love <fx@gnu.org>
14681
14682 * editfns.c (Fpropertize): Doc fix.
14683
14684 * process.c (Fstart_process): Doc fix.
14685
14686 * eval.c: Fix various doc strings not to duplicate information
14687 from help-manyarg-func-alist.
14688
52283633 14689 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14690
14691 * doc.c (Vhelp_manyarg_func_alist): New variable.
14692 (Fdocumentation): Use it.
14693 (syms_of_doc): Define it.
14694
b6680a0e
GM
146952000-01-31 Gerd Moellmann <gerd@gnu.org>
14696
2cb750ba
GM
14697 * xterm.c (xim_open_dpy): Remove unused local variable.
14698
52283633 14699 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14700
14701 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14702 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14703
b6680a0e
GM
14704 * fns.c (sweep_weak_table): New function.
14705 (sweep_weak_hash_tables): Use it. Keep on marking until there
14706 is no more change.
14707
994c5afe
GM
147082000-01-30 Gerd Moellmann <gerd@gnu.org>
14709
14710 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14711 that XTread_socket does not crash by trying to call XNoOp on a
14712 closed display.
427ec082 14713
f00276e3
JR
147142000-01-30 Jason Rumney <jasonr@gnu.org>
14715
14716 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14717 Change selected_frame to SELECTED_FRAME ().
14718 (w32_console_mouse_position): Remove #ifndef MULE from around
14719 `insist' parameter.
14720
14721 * makefile.nt: Remove dosfns.obj.
14722
14723 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14724
14725 * w32fns.c (w32_defined_color): Check for valid frame before
14726 applying gamma correction. Eliminate dependency on frame elsewhere.
14727 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14728 (w32_to_x_font): Use resx and resy not height_in and width_in.
14729 (x_to_w32_font): Doc fix.
14730 (xlfd_strip_height): New function to strip and return font height.
14731 (w32_font_match): Compare height separately from rest of xlfd
14732 spec, using xlfd_strip_height.
14733
14734 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14735 width_in. Use w32_defined_color in place of defined_color.
14736
14737 * w32faces.c: Merge more of DOS and X specifics in preparation for
14738 merge with xfaces.c.
14739 (defined_color): Remove FIXME comment.
14740 (tty_color_name): Provide w32-specific function.
14741 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14742
14743 * w32console.c (turn_on_face, turn_off_face): Removed.
14744 (w32_face_attributes): New function.
14745 (Global_variables): Reduce scope where possible.
14746 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14747 fill attribute.
14748 (hl_mode): Don't modify text attributes.
14749 (write_glyphs): Don't do anything if len <= 0. Use
14750 w32_face_attributes to get attributes for drawing. Write
14751 terminating codes using char_attr_normal.
14752 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14753 (update_begin, update_end): Likewise.
14754 (vga_stdcolor_name): New function.
14755 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14756 (Fset_screen_color): Remove char_attr_reverse.
14757
b08e8bb2
GM
147582000-01-29 Gerd Moellmann <gerd@gnu.org>
14759
14760 * xfns.c (xic_set_preeditarea): Take window parameter and
14761 window-relative pixel-positions.
14762
14763 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14764 is its frame's selected window.
14765 (xim_instantiate_callback): Likewise.
14766
14767 * xfns.c (x_create_im): Removed.
14768 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14769 (supported_xim_styles): Renamed from supported_styles.
14770 (best_xim_style): Renamed from best_style.
14771 (create_frame_xic): Renamed from xic_create_frame.
14772 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14773
b08e8bb2
GM
147742000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14775
14776 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14777 our frames, call XFilterEvent with 2nd parameter `None'.
14778 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14779 returning XBufferOverflow.
52283633 14780 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14781 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14782 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14783 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14784 (xim_initialize, xim_close)
14785 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14786 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14787 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14788 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14789
14790 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14791 and `xim_styles'.
14792 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14793 `xic_style' and `xic_xfs'.
14794 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14795 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14796 (FRAME_XIM): Removed.
14797
14798 * xfns.c (supported_styles): New variable.
14799 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14800 (xic_create_xfontset, best_style, xic_create_frame)
14801 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14802 (xic_set_xfontset): New functions.
14803
142e109c
DL
148042000-01-28 Dave Love <fx@gnu.org>
14805
14806 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14807
14808 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14809
b02786f9
GM
148102000-01-28 Gerd Moellmann <gerd@gnu.org>
14811
d060bc9f
GM
14812 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14813 for *scratch* if it already existed.
14814
b02786f9
GM
14815 * emacs.c (USAGE): New macro.
14816 (main): Use it to display usage information.
14817
2c52d7e4
EZ
148182000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14819
14820 Support for the menu-help feature:
14821
52283633 14822 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14823
14824 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14825 part of the line to the termscript file.
14826 (IT_clear_to_end): Clear the entire line, not just its beginning.
14827 (menu_help_message, prev_menu_help_message): New variables.
14828 (IT_menu_make_room): Make room for the help_text member.
14829 (IT_menu_display): New argument disp_help; all callers changed.
14830 If disp_help is non-zero, store the help text of the active menu
14831 item in menu_help_message.
14832 (XMenuAddPane): Initialize the help_text member to NULL.
14833 (XMenuAddSelection): New argument help_text. Store it in the
14834 XMenu structure.
14835 (XMenuActivate): New argument help_callback. If the value of
14836 menu_help_message has changed since the last time, display the
14837 menu help message text while waiting for the mouse to move. Clear
14838 the echo area before exiting.
14839 (XMenuDestroy): Free the help_text member.
14840
ffe0bcd1
GM
148412000-01-27 Gerd Moellmann <gerd@gnu.org>
14842
14843 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14844 XMenuAddSelection. Pass help callback to XMenuActivate.
14845 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14846
50dbd23f
EZ
148472000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14848
14849 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14850 and EMACS_SET_USECS.
14851
f5941bf8
GM
148522000-01-26 Dave Love <fx@gnu.org>
14853
6c67ddee
DL
14854 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14855
f5941bf8
GM
14856 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14857 an error may be signalled.
14858
9e49c990
GM
148592000-01-26 Gerd Moellmann <gerd@gnu.org>
14860
fc3cb460
GM
14861 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14862 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14863
9e49c990
GM
14864 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14865
d0c037d8
GM
148662000-01-25 Gerd Moellmann <gerd@gnu.org>
14867
14868 * charset.c (Fstring): If there is a multibyte char among
14869 the args, always return a multibyte string.
14870
e12489f9
GM
148712000-01-25 Gerd Moellmann <gerd@gnu.org>
14872
14873 * sysdep.c (sys_select): Turn atimers off and on instead of
14874 recording and restoring old alarm handler
14875
14876 * process.c (toplevel): Include atimer.h.
14877 (create_process_1): Rewritten.
14878 (create_process): Use atimers instead of alarm.
14879 (wait_reading_process_input) [hpux]: Turn atimers off instead
14880 of turning off SIGALRM.
14881 (wait_reading_process_input): Turn off atimers instead off
14882 calling stop_polling.
14883
14884 * emacs.c (main): Call init_atimer.
14885
14886 * keyboard.c (toplevel): Include systime.h and atimer.h.
14887 (polling_for_input): Removed because unused.
14888 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14889 (poll_timer): New variable.
14890 (poll_for_input, poll_for_input_1): New functions.
14891 (start_polling, stop_polling): Rewritten.
14892
14893 * keyboard.h (polling_for_input): Removed.
427ec082 14894
e12489f9
GM
14895 * atimer.h, atimer.c: New files.
14896
14897 * Makefile.in (obj): Add atimer.o.
14898 (atimer.o): New target.
14899
14900 * blockinput.h (pending_atimers): Add extern declaration.
14901 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14902
14903 * lisp.h (popup_activated_flag): Add extern declaration.
14904
14905 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14906 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14907 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14908
14909 * xterm.c (toplevel): Include atimer.h.
14910 (toolkit_scroll_bar_interaction): New variable.
14911 (Fxt_process_timeouts): Removed.
14912 (x_process_timeouts): New function.
14913 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14914 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14915 (x_make_frame_visible): Call poll_for_input_1 instead of
14916 input_poll_signal. Don't call alarm.
14917 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14918
1e5279b9
DL
149192000-01-24 Dave Love <fx@gnu.org>
14920
6c67ddee 14921 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14922 Don't use -cckr -- apparently not now necessary.
14923
edf6aeb8
EZ
149242000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14925
14926 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14927 screen boundary.
14928
9badad41
JR
149292000-01-23 Jason Rumney <jasonr@gnu.org>
14930
14931 * w32fns.c (w32_defined_color): Apply gamma correction before
14932 trying to map to the palette.
14933 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14934 to w32_clear_rect.
14935
14936 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14937 here. Callers changed to always pass real device context.
14938 (w32_draw_bitmap): Likewise.
14939 (w32_get_glyph_overhangs): Likewise.
52283633 14940 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14941 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14942 pfnSetScrollInfo and SetScrollRange.
14943 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14944 back into MULE characters after decoding them.
14945 (x_get_glyph_face_and_encoding): Likewise.
14946 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14947 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14948 (x_produce_glyphs): Calculate per char metrics for a character
14949 that we know exists in default font when font_not_found_p is true.
14950
63bd786b
JR
149512000-01-22 Jason Rumney <jasonr@gnu.org>
14952
14953 * makefile.nt (intervals.obj, composite.obj): New modules.
14954 (composite.h): Added as dependency where appropriate.
14955
14956 * w32gui.h (XGCValue): New struct for emulating X GCs.
14957
14958 * w32term.h (XCharStruct): New struct for emulating X.
14959
14960 * w32console.c (turn_on_face, turn_off_face): New functions.
14961 (change_line_highlight): New prototype for new redisplay.
14962 (write_glyphs): Support multibyte text. Support faces.
14963
52283633 14964 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14965
14966 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14967 throughout. struct frame * in place of FRAME_PTR.
14968 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14969 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14970 (w32_get_arg): Renamed from x_get_arg.
14971 (Fx_file_dialog): New function.
14972 (w32_list_fonts): Check cache before asking system.
14973 (Vw32_enable_synthesized_fonts): New variable.
14974 (Vw32_enable_italics): Obsolete, removed.
14975
14976 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14977 Use SELECTED_FRAME macro.
14978
14979 * w32menu.c: Add skeleton support for help strings on menus.
14980 (add_menu_item): Native checkbox and radio support added, but not
14981 yet enabled due to bugs.
14982 (push_menu_item): Add parameters type, selection and help.
14983 Callers updated.
14984 Formatting changes to reduce unnecessary diffs with xmenu.c.
14985
14986 * w32select.c (Fw32_set_clipboard_data): Update call to
14987 find_charset_in_str.
14988
14989 * w32term.c: Complete rewrite for new redisplay based on new
14990 xterm.c with necessary sections merged back in from old w32term.c.
14991
6ffd3cf7 149922000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14993
14994 * data.c (set_internal): Further fix in same criterion.
14995
6ffd3cf7 149962000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14997
14998 * data.c (set_internal): Fix the criteria for whether
14999 to swap out the old cached binding.
15000
60af03f1
DL
150012000-01-19 Dave Love <fx@gnu.org>
15002
15003 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15004
f9be074f
KH
150052000-01-18 Kenichi Handa <handa@etl.go.jp>
15006
15007 * regex.c (re_compile_fastmap): While checking a range table for
15008 `charset', skip flag bits for a character class correctly.
15009
52b8dbf9
GM
150102000-01-17 Gerd Moellmann <gerd@gnu.org>
15011
d36100c9
GM
15012 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15013
52283633 15014 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
15015
15016 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 15017 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15018
15019 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15020 MENU_ITEMS_ITEM_.*.
15021 (MENU_ITEMS_ITEM_HELP): New enumerator.
15022 (push_menu_item): Add parameter HELP. Record help in menu_items.
15023 (single_menu_item, single_submenu, list_of_items): Call
15024 push_menu_item with new parameter.
15025 (single_submenu): Set help string in widget value.
15026 (menu_highlight_callback): New function.
15027 (set_frame_menubar): Call lw_create_widget with new
15028 parameter list.
15029 (xmenu_show, xdialog_show): Ditto.
15030
3139018f
GM
150312000-01-13 Gerd Moellmann <gerd@gnu.org>
15032
15033 * sound.c (Fplay_sound): Improve doc string.
15034
83c8f461
RS
150352000-01-11 Richard M. Stallman <rms@gnu.org>
15036
15037 * lisp.h (set_internal): Enter the new arg.
15038
15039 * eval.c (specbind): Record buffer-local variables specially,
15040 indicating which buffer's binding was saved.
15041 (unbind_to): Restore buffer-local variables specially
15042 in the proper buffer.
15043
15044 * data.c (set_internal): New arg BUF.
427ec082 15045
83c8f461
RS
15046 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15047 * data.c (Fset): Pass new arg to set_internal.
15048 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15049
1fab1775
GM
150502000-01-11 Gerd Moellmann <gerd@gnu.org>
15051
52283633 15052 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15053
83c8f461 150542000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15055
15056 * minibuf.c (Ftry_completion): Doc fix.
15057
7a85e4df
GM
150582000-01-11 Gerd Moellmann <gerd@gnu.org>
15059
15060 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15061 vector, too.
15062
a970dae4
AS
150632000-01-11 Andreas Schwab <schwab@suse.de>
15064
15065 * coding.c (code_convert_region): Initialize total_skip.
15066
c65d14ee
DL
150672000-01-08 Dave Love <fx@gnu.org>
15068
15069 * eval.c (Fuser_variable_p): Check customizability too.
15070
834938d2
GM
150712000-01-07 Gerd Moellmann <gerd@gnu.org>
15072
15073 * minibuf.c (Fcompleting_read): Doc fix.
15074
e0303cd6
GM
150752000-01-05 Gerd Moellmann <gerd@gnu.org>
15076
8a26744b
GM
15077 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15078 -L /usr/local/lib.
15079
e0303cd6
GM
15080 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15081 Check that input style is supported before trying to create an
15082 IC for it.
15083 (x_window): Call x_create_im.
427ec082 15084
2e471eb5
GM
150852000-01-04 Gerd Moellmann <gerd@gnu.org>
15086
560a7bd2
GM
15087 * xfns.c (current_gif_memory_src): New variable.
15088 (gif_load): Record the address of the current memory source
15089 in current_gif_memory_src.
15090 (gif_read_from_memory): Use current_gif_memory_src.
15091
f9ee84a3
GM
15092 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15093 macros statement form.
15094
d1299cde
GM
15095 * sound.c (struct sound): Renamed from struct sound_file.
15096 (struct sound): Add members `data' and `header_size'.
15097 (enum sound_attr): Add SOUND_DATA.
15098 (current_sound, current_sound_device): Variables renamed from
15099 sound_file and sound_device.
15100 (parse_sound): Parse :data.
15101 (parse_sound): Handle sound data in strings.
15102 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15103 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15104 needed header size.
15105 (wav_play, au_play): Play sounds from string data.
15106
2e471eb5
GM
15107 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15108
15109 * lisp.h: Add prototype for allocate_string_data.
15110
52283633 15111 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15112
15113 * alloc.c (mark_buffer): Remove code in #if 0.
15114 (gc_sweep): Ditto.
15115 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15116 (strings_consed): New variable.
15117 (allocate_string): Set it.
15118 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15119 (Fmemory_use_counts): Return strings_consed. Use Flist.
15120
15121 * alloc.c: General cleanup in comments etc. Remove conditional
15122 compilation for `standalone'.
15123
15124 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15125
15126 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15127 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15128 (DONT_COPY_FLAG): Removed.
15129 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15130 (struct sdata, struct sblock): New
15131 (struct string_block): Rewritten.
15132 (STRINGS_IN_STRING_BLOCK): New macro.
15133 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15134 (large_sblocks, string_blocks, string_free_list): New variables.
15135 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15136 (init_strings): Rewritten.
15137 (allocate_string, allocate_string_data, compact_small_strings)
15138 (free_large_strings, sweep_strings): New functions.
15139 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15140 (struct string_block_head, current_string_block)
15141 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15142 (STRING_PAD): Removed.
15143 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15144 (Fgarbage_collect): Don't set mark bit in large strings.
15145 (mark_object): Mark strings differently. Mark symbol names
15146 differently.
15147 (survives_gc_p): Test marked strings differently.
427ec082 15148 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15149 symbol names.
15150 (compact_strings): Removed.
15151
42608ba8
EZ
151522000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15153
15154 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15155 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15156
e0a09e1a
KH
151572000-01-04 Kenichi Handa <handa@etl.go.jp>
15158
dd9f0750 15159 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15160 in a non-empty buffer.
dd9f0750 15161
3c0f3b15 15162 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15163
44cd3ae5
GM
151642000-01-03 Gerd Moellmann <gerd@gnu.org>
15165
15166 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15167 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15168
15169 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15170
c182a70f
EZ
151712000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15172
15173 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15174 need to test for MSDOS frames.
15175
24480d5b
EZ
151762000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15177
15178 * dosfns.c (unspecified_colors): Remove.
15179 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15180 unspecified_bg.
15181 (msdos_stdcolor_name): Return strings for unspecified fore- and
15182 back-ground colors.
15183
15184 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15185 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15186 (tty_color_name): Return Lisp strings for unspecified fore- and
15187 back-ground colors.
15188 (Finternal_set_lisp_face_attribute): Remove the special treatment
15189 for Qunspecified_{f,b}g.
52283633 15190 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15191
047f434a
GM
151922000-01-03 Gerd Moellmann <gerd@gnu.org>
15193
15194 * xdisp.c (reseat_at_next_visible_line_start): Position before
15195 newline only if ending up on a newline.
15196 (next_element_from_ellipsis): Return success. Handle case of
52283633 15197 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15198 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15199 returns 0.
15200
d684c676
EZ
152012000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15202
15203 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15204 (Fcolor_supported_p): Renamed from face-color-supported-p.
15205
5fe1d139
EZ
152062000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15207
15208 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15209 list of colors renamed to tty-defined-color-alist.
15210 (tty_color_name): Pass the frame to tty-color-by-index.
15211 (realize_tty_face): tty-color-alist is now a function which
15212 accepts the frame as argument.
15213
52283633 15214 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15215
816be8b8
EZ
152162000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15217
15218 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15219 encode_terminal_code.
15220
b635321e
EZ
152212000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15222
15223 * dispnew.c (mode_line_string): Support termcap frames as well.
15224
9b784e96
GM
152252000-01-01 Gerd Moellmann <gerd@gnu.org>
15226
27189709
GM
15227 * syntax.c (Fforward_word): Undo previous change.
15228
15229 * editfns.c (Fconstrain_to_field): Don't constrain if
15230 inhibit-field-text-motion is non-nil.
15231 (Fline_beginning_position): Undo previous change.
15232 (Fline_end_position): Ditto.
15233
15234 * syntax.c (Fforward_word): Notice field boundaries only if
15235 inhibit-field-text-motion is nil.
15236
15237 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15238
15239 * editfns.c (Vinhibit_field_text_motion): New variable.
15240 (inhibit-field-text-motion): New DEFVAR_LISP.
15241 (Fline_beginning_position, Fline_end_position): Notice field
15242 boundaries only if inhibit-field-text-motion is nil.
15243
45158a91
GM
15244 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15245 All calls adjusted.
15246 (x_build_heuristic_mask): Likewise.
15247 (xbm_load_image_from_file): Change error output.
15248 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15249 (gif_load, gs_load, x_kill_gs_process): Ditto.
15250
9b784e96
GM
15251 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15252 color indices when accessing raster pixels.
63cec32f
GM
15253 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15254 one of :file or :data.
15255 (enum pbm_keyword_index): Add PBM_DATA.
15256 (pbm_format): Add :data.
15257 (pbm_image_p): Allow either :file or :data.
15258 (pbm_read_file): New function.
15259 (pbm_scan_number): Rewritten to read from string.
15260 (pbm_load): Support :data.
9b784e96 15261
2cb085db 15262See ChangeLog.8 for earlier changes.
6922b018
KH
15263
15264;; Local Variables:
49b3bd82 15265;; coding: iso-2022-7bit
6922b018 15266;; End:
2a34a036
GM
15267
15268 Copyright (C) 2001 Free Software Foundation, Inc.
15269 Copying and distribution of this file, with or without modification,
15270 are permitted provided the copyright notice and this notice are preserved.