(read_escape): New arg BYTEREP for reporting whether
[bpt/emacs.git] / src / ChangeLog
CommitLineData
b5cb6072
KR
12001-12-29 Ken Raeburn <raeburn@gnu.org>
2
3 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
4 comparison to test lisp value returned by Fget.
5
15fff01d
RS
62001-12-29 Richard M. Stallman <rms@gnu.org>
7
0d8466cc
RS
8 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
9
15fff01d
RS
10 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
11 Handle modifier bits. Correct typo in error message.
12
2fae9111
RS
132001-12-28 Richard M. Stallman <rms@gnu.org>
14
2d6c1fc0
RS
15 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
16 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
17 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
18 Update calls to Fdefine_abbrev.
19 (write_abbrev): Update for changed data format.
20 Don't list "system" abbrevs.
21 (Fexpand_abbrev): Update use count with new data format.
22 (describe_abbrev): Update for changed data format.
23 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
24
07025a55
RS
25 * config.in (HAVE_MBSINIT): Add #undef.
26
27 * strftime.c (mbsinit): Define as no-op if not available.
28
29 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
30 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
31
ce6eef6e
RS
32 * keymap.c (Flookup_key): Error message if key has wrong data type.
33 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
ade19cac
RS
34 (exclude_key): New variable.
35
539e92ad
GM
362001-12-28 Gerd Moellmann <gerd@gnu.org>
37
0cb8bb48
GM
38 * xterm.c (x_setup_relief_colors): Don't compute an image's
39 background color if it doesn't have a Pixmap.
40
60626bab
GM
41 * xterm.c (notice_overwritten_cursor): Don't depend on
42 output_cursor and updated_area. Compare pixel coordinates with
43 window's cursor pixel coordinates.
44 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
45 notice_overwritten_cursor with new arg list.
46 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
47 unconditionally.
0cb8bb48 48
539e92ad
GM
49 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
50 height of the cursor line to the amount to scroll.
51
4e02881b
RS
522001-12-27 Richard M. Stallman <rms@gnu.org>
53
54 * intervals.c (set_point_both): The position after an invisible,
55 intangible character is not an acceptable stopping point.
56
1ab964d7
KR
572001-12-27 Ken Raeburn <raeburn@gnu.org>
58
59 * window.c (enlarge_window): In new preserve_before code, convert
60 CURBEG from lisp object to integer before doing arithmetic.
61
749f499f
RS
622001-12-27 Richard M. Stallman <rms@gnu.org>
63
64 * bytecode.c (Fbyte_code): Undo previous change.
65
b5d9aaba
KS
662001-12-26 Kim F. Storm <storm@cua.dk>
67
68 * keyboard.c (record_char): Ignore duplicate help-echo events only
69 separated by mouse-movement. When tracking mouse, only record
70 first and last mouse-movement event in same window.
71 Don't record mouse-movement events in keyboard macros.
72
d0fd26dd
RS
732001-12-25 Richard M. Stallman <rms@gnu.org>
74
b4c45162
RS
75 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
76 (Fenlarge_window): New arg PRESERVE_BEFORE.
77
d0fd26dd
RS
78 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
79 instead of Fstring_as_unibyte.
80
c95eaa61
PJ
812001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
82
83 The following changes remove mocklisp support:
84
85 * mocklisp.h, mocklisp.c: Files removed.
86
87 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
88 `Qmocklisp' and `Qmocklisp_arguments'.
89 Remove prototype of syms_of_mocklisp.
90
91 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
92 files.
93
94 * callint.c: Do not include mocklisp.h.
95 (Fcall_interactively): Do not test for mocklisp case.
96
97 * eval.c: Remove variables `Qmocklisp_arguments',
98 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
99 ml_apply.
100 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
101 not test for mocklisp case.
102 (Fwhile): Remove unused variable `tem'.
103 (syms_of_eval): Remove variable `moclisp-arguments'.
104
105 * data.c (wrong_type_argument): Remove mocklisp case.
106
107 * doc.c (Fdocumentation): Remove mocklisp case.
108
109 * emacs.c (main): Do not call syms_of_mocklisp.
110
31877e0a
RS
1112001-12-21 Richard M. Stallman <rms@gnu.org>
112
113 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
114 to the left or to the right of the pointer, put it against
115 the left screen edge.
116
e2c3786a
EZ
1172001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
118
119 * Makefile.in (distclean): Remove .gdbinit if we are building
120 outside the source tree.
121
c513fc03
EZ
1222001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
123
bf794306
EZ
124 * w32.c (emacs_root_dir): New function.
125
126 * msdos.c (emacs_root_dir): New function.
127
128 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
129 of the current drive as the fallback for default_directory.
130
62582985
EZ
131 * dired.c (file_name_completion): Run the elements of
132 completion-ignored-extensions through ENCODE_FILE.
133
c513fc03
EZ
134 * lisp.h (scmp): Remove prototype, since it's now a static
135 function private to dired.c.
136
3509a04c
RS
1372001-12-18 Richard M. Stallman <rms@gnu.org>
138
139 * dired.c (scmp): Function moved from minibuf.c.
140 Delete multibyte handling--used only on encoded strings.
141
142 * minibuf.c (scmp): Function moved to dired.c.
143
144 * fns.c (merge): Add QUIT call.
145
1e9a6186
DL
1462001-12-18 Dave Love <fx@gnu.org>
147
148 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
149 language/georgian.el.
150
e4e34e31
EZ
1512001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
152
153 * Makefile.in (lisp, shortlisp): Synchronize with changes to
154 lisp/Makefile.in:DONTCOMPILE.
155
4521d1fc
PJ
1562001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
157
7c75be36
PJ
158 * xdisp.c (window_box_height): Do not return negative values.
159 From Gerd Moellmann <gerd@gnu.org>.
160
4521d1fc
PJ
161 * keyboard.c (head_table): Add missing braces around initializer.
162
163 * term.c (keys): Likewise.
164
165 * xfns.c (x_frame_parms, visual_classes): Likewise.
166
93dec019
SS
1672001-12-17 Sam Steingold <sds@gnu.org>
168
169 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
170 patch (COMPOSING_P, not COMPOSING).
171
905cc05a
RS
1722001-12-17 Richard M. Stallman <rms@gnu.org>
173
2ed06289
RS
174 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
175
0e79d667
RS
176 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
177 before calling decode_coding.
178
179 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
180
181 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
905cc05a
RS
182 instead of only for COMPOSITION_DISABLED.
183
82a7ab23
RS
1842001-12-16 Richard M. Stallman <rms@gnu.org>
185
d75bec6a
RS
186 * alloc.c (pure_alloc): After overflow, allocate just a small block.
187
52dcb476
RS
188 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
189
82a7ab23
RS
190 * buffer.h (struct buffer): New field `display_error_modiff'.
191 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
192
193 * window.c (Frecenter): Clear display_error_modiff field.
194
195 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
196 Call redisplay_window, but not if display_error_modiff field says no.
197 (redisplay_window_error): New function.
198 (displayed_buffer): New variable.
199 (redisplay_internal, redisplay_windows): Call the new functions
200 instead of redisplay_window directly.
201
4d0fa4f3
RS
2022001-12-15 Richard M. Stallman <rms@gnu.org>
203
204 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
205
493faf20
AI
2062001-12-14 Andrew Innes <andrewi@gnu.org>
207
325111e9
AI
208 * makefile.w32-in (EMACSLOADPATH): Define.
209 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
210 (bootstrap-temacs): Remove dependency on bootstrap-clean.
493faf20 211
4971e491
EZ
2122001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
213
397b3b50 214 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
4971e491
EZ
215 parameter have a numeric value all the time.
216
217 * w32fns.c (x_report_frame_params): Likewise.
218
d911a0fa
RS
2192001-12-12 Richard M. Stallman <rms@gnu.org>
220
221 * fileio.c (Fwrite_region): Doc fix.
222
223 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
224 (redisplay_internal): Call clear_image_cache only for window terminals.
225
201c831a
GM
2262001-12-12 Gerd Moellmann <gerd@gnu.org>
227
228 * xdisp.c (move_it_vertically_backward): Change heuristic
229 for the case that we didn't move far enough initially.
230
231 * window.c (Frecenter): Simplify computation in the case of window
232 system frames and ARG < 0; use window_box_height.
233
34e39c95
RS
2342001-12-11 Richard M. Stallman <rms@gnu.org>
235
236 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
237 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
238
d77fbc16
AI
2392001-12-11 Andrew Innes <andrewi@gnu.org>
240
241 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
242 arg is negative.
243
61e3b944
RS
2442001-12-11 Richard M. Stallman <rms@gnu.org>
245
246 * m/hp800.h: Split the __hpux conditional into the parts
247 that are right for GNU/Linux too and the parts that are not.
248 Use the former if GNU_LINUX.
249 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
250
251 * s/gnu-linux.h (GNU_LINUX): Defined.
252
70da46c3
PJ
2532001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
254
255 * macros.c, msdos.c, w16select.c: Change doc-string comments to
256 `new style' [w/`doc:' keyword].
257
8af01033
JR
2582001-12-10 Jason Rumney <jasonr@gnu.org>
259
260 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
261 before using.
262
7363986a
PJ
2632001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
264
265 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
266 keyword].
267
d9e6c4b1
EZ
2682001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
269
d20fc48a
EZ
270 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
271
d9e6c4b1
EZ
272 * s/hpux10.h (srand48): Don't undefine.
273
f1a85b89
JR
2742001-12-09 Jason Rumney <jasonr@gnu.org>
275
276 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
277 comment to explain where the struct came from.
278 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
279 (add_menu_item): Process pop-up menus first to avoid memory leak.
280 (add_menu_item, w32_menu_display_help): Use `help' field as
281 Lisp_Object.
282 (w32_free_submenu_strings): Only free owner-drawn strings.
283
3a62677f
PJ
2842001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
285
72244db2
PJ
286 * COPYING: Moved back.
287
3a62677f
PJ
288 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
289 Add parentheses around && within ||.
290
291 * indent.c (compute_motion): Likewise.
292
293 * intervals.c (merge_properties_sticky): Likewise.
294
295 * coding.c (setup_coding_system, shrink_encoding_region)
296 (Fdecode_sjis_char): Likewise.
297
9d113d9d
AS
2982001-12-07 Andreas Schwab <schwab@suse.de>
299
b8523839
AS
300 * xdisp.c (display_mode_element): Don't read past end of string if
301 it ends with '%'.
302
9464dea4
AS
303 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
304 can hold.
305
9d113d9d
AS
306 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
307 from most_positive_fixnum and most_negative_fixnum, resp., and
308 type changed to Lisp_Object.
309 (syms_of_data): DEFVAR_LISP them.
310
70ec1377
RS
3112001-12-07 Richard M. Stallman <rms@gnu.org>
312
313 * callproc.c (init_callproc): Set Vdata_directory based on the source
314 location whenever Emacs was run uninstalled.
315
92f7dd37
PE
3162001-12-06 Paul Eggert <eggert@twinsun.com>
317
318 * config.in (HAVE_WORKING_VFORK): New #undefs.
319 * process.c (create_process):
320 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
321 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
322 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
323 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
324 * m/intel386.h (HAVE_VFORK): Likewise.
325 * m/mips-siemens.h (HAVE_VFORK): Likewise.
326 * m/mips.h (HAVE_VFORK): Likewise.
327 * s/freebsd.h (vfork): Remove #define.
328 * s/lynxos.h (HAVE_VFORK): Remove #undef.
329 * s/usg5-4-2.h: Fix comment about vfork.
330
c93674bb
RS
3312001-12-06 Richard M. Stallman <rms@gnu.org>
332
333 * s/hpux10.h (random): Add undef.
334 (HAVE_RANDOM): Define it just once.
335
59b59892
SM
3362001-12-06 Stefan Monnier <monnier@cs.yale.edu>
337
338 * eval.c: Undo last change: the standard syntax is not wanted.
339
c6ea2775
EZ
3402001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
341
342 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
343 scroll bars of the frame before deleting the frame itself. If the
344 frame has a widget, delete the frame with XtDestroyWidget, and do
345 not call XDestroyWindow before that.
346
91175673
KS
3472001-12-06 Kim F. Storm <storm@cua.dk>
348
349 * xfns.c (x_report_frame_params): Return actual fringe widths.
350
351 * w32fns.c (x_report_frame_params): Return actual fringe widths.
352
e0fead5d
AI
3532001-12-05 Andrew Innes <andrewi@gnu.org>
354
355 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
356 excessively large.
357
358 * insdel.c (make_gap_larger): New function.
359 (make_gap_smaller): New function.
360 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
361 make_gap_smaller if arg is negative.
362
c186cdb3
SM
3632001-12-04 Stefan Monnier <monnier@cs.yale.edu>
364
365 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
366 Pass a dummy argument when calling interrupt_signal.
367 (parse_menu_item): Mark disabled items before checking for empty def.
368 (read_char_minibuf_menu_prompt): Make safety more visible.
369 (read_key_sequence): Add a `first_unbound' variable.
370 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
371 unbound prefix as soon as we can detect it.
372
373 * doc.c (Fsnarf_documentation): Add prototype.
374 (get_doc_string): Handle negative arguments.
375 (Fdocumentation): Use AREF and ASIZE.
376 Move the calls to get_doc_string to a single place.
377 Don't confuse an interactive-spec for a docstring reference.
378 (Fdocumentation_property): Take advantage of the fact that
379 get_doc_string now ignores the sign of the docstring position.
380
381 * eval.c: Use standard syntax for usage in docstrings.
382
58cfce98
PJ
3832001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
384
c186cdb3 385 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
58cfce98 386
62854fe2
PJ
3872001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
388
389 * xterm.c (x_draw_image_relief): Use predefined macro instead of
390 constant when the value of `tool_bar_button_relief' is negative.
391
656f46bb
RS
3922001-12-02 Richard M. Stallman <rms@gnu.org>
393
394 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
395 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
396
397 * fileio.c (read_non_regular): Delete Fsignal call.
398
036e218d
SM
3992001-12-01 Stefan Monnier <monnier@cs.yale.edu>
400
401 * lisp.h (run_hook_list_with_args): Undo last change.
402
7ddb2c16
GM
4032001-12-01 Gerd Moellmann <gerd@gnu.org>
404
405 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
406
ace9b298
JR
4072001-12-01 Jason Rumney <jasonr@gnu.org>
408
90647b07
JR
409 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
410
411 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
412 [!WM_MOUSELEAVE]: Define.
413
ace9b298
JR
414 * w32menu.c (current_popup_menu, get_menu_item_info):
415 (set_menu_item_info): New vars.
416 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
417 (w32_menu_show): Set current_popup_menu.
418 (add_menu_item): Allocate new strings for owner-drawn menu items
419 and help strings.
420 Use owner-draw for disabled menu items again.
421 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
422 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
423
424 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
425 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
426 <WM_EXITMENULOOP>: Free menu strings.
427 <WM_MOUSELEAVE>: Stop tracking mouse.
428 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
429
430 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
431 and mouse face.
432
a9549909 4332001-12-01 Kim F. Storm <storm@cua.dk>
9fbc32aa
KS
434
435 The following changes add left-fringe and right-fringe
436 frame parameters to adjust fringe widths, or remove one or
437 both fringes.
036e218d 438
9fbc32aa
KS
439 * frame.h (struct frame): Remove trunc_area_pixel_width and
440 trunc_area_cols fields.
441 (Qleft_fringe, Qright_fringe): Declare.
442 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
443
444 * frame.c (Qleft_fringe, Qright_fringe): New vars.
445 (syms_of_frame): Initialize them.
446
447 * window.c (coordinates_in_window): Handle separate left and right
448 fringe widths.
449
450 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
451 and fringe_cols fields.
452 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
453 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
454 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
455 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
456 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
457 (x_compute_fringe_widths): Add prototype.
458
459 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
460 fill fringe evenly with small dashes.
461 (x_draw_fringe_bitmap): Clear background if necessary. Align and
462 clip the new ZV bitmap to avoid jitter between rows.
463 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
464 background. Don't draw fringe bitmaps if fringe width is zero.
465 (x_compute_fringe_widths): New function.
466 (x_new_font, x_set_window_size_1): Use it.
467
468 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
469 (x_set_frame_parameters): Process Process `font' parameter before other
470 parameters as fringe widths depend on it.
471 (x_set_fringe_width): New function.
472 (x_figure_window_size): Use x_compute_fringe_widths.
473 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
474 parameters.
475
476 * widget.c (set_frame_size): Use x_compute_fringe_widths.
477 (EmacsFrameSetCharSize): Ditto.
478
479 * w32term.h: Merged changes from xterm.h.
480 * w32term.c: Merged changes from xterm.c.
481 * w32fns.c: Merged changes from xfns.c.
482
0142178a
PJ
4832001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
484
485 * COPYING: Removed.
486
d4824a5d
DL
4872001-11-29 Dave Love <fx@gnu.org>
488
489 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
490 extra extra slot.
491 (detect_coding_mask): Fix call of detect_coding_iso2022.
492
b1356234
PJ
4932001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
494
495 * fileio.c (file-name-coding-system)
496 (default-file-name-coding-system): Doc fix (links to referenced
497 variables added).
498
3ce081f5
SM
4992001-11-28 Stefan Monnier <monnier@cs.yale.edu>
500
99e380ee
SM
501 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
502 Add dummy uses of gcproN variables.
503
3ce081f5 504 * category.c (describe_category, describe_category_1)
2ad56c09 505 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
3ce081f5
SM
506 (syms_of_category): Don't defsubr Sdescribe_categories.
507
66458f32
RS
5082001-11-28 Richard M. Stallman <rms@gnu.org>
509
510 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
511
512 * Makefile.in (lispdir): New variable, referring to build dir.
513 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
514
59a86c99
AI
5152001-11-28 Andrew Innes <andrewi@gnu.org>
516
517 * w32menu.c (w32_menu_display_help): Actually add the new argument
518 OWNER.
519
eb77a5f4
JR
5202001-11-28 Jason Rumney <jasonr@gnu.org>
521
522 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
523 menu items. From David Ponce <dponce@wanadoo.fr>.
524 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
525 conditionally.
526 (w32_menu_display_help): New argument OWNER. Rewritten to store a
527 help event in the owner frame's keyboard buffer.
528
529 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
530 (Fx_show_tip): Don't subtract last width from row width.
531
532 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
533 (w32_read_socket): Use EQ to compare frames.
534
bb313871
GM
5352001-11-28 Gerd Moellmann <gerd@gnu.org>
536
537 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
538 OVERLAPS_P.
539
55b43a63
PJ
5402001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
541
6052529b
PJ
542 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
543 `gcpro3' and `gcpro4'.
544
3ce081f5
SM
545 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
546
5472001-11-28 Stefan Monnier <monnier@cs.yale.edu>
548
549 * ccl.c: Use AREF and ASIZE.
550
5512001-11-27 Stefan Monnier <monnier@cs.yale.edu>
552
553 * lisp.h (run_hook_list_with_args): Remove.
554 (LIST_END_P): Fix call to wrong_type_argument.
555 (make_fixnum_or_float): Use EMACS_INT rather than int.
55b43a63 556
111ed14e
SM
5572001-11-26 Stefan Monnier <monnier@cs.yale.edu>
558
9fabb2f5
SM
559 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
560 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
561
562 * eval.c: Use AREF and ASIZE.
563 (Ffetch_bytecode): Add the file name to the error message.
564
565 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
566 which match the end of the file-name.
567 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
568 is not a valid env var, but leave it as is instead.
569
111ed14e
SM
570 * keymap.c (access_keymap): Handle t bindings like nil bindings.
571 Make nil bindings in char-tables transparent.
572 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
573
2fa0eedf
RS
5742001-11-26 Richard M. Stallman <rms@gnu.org>
575
d1420435
RS
576 * textprop.c (set_text_properties_1): Allow START, END in either order.
577 Do nothing if range is empty.
578
2fa0eedf
RS
579 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
580
ebcbef4e
RS
581 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
582 (clean): Not here.
583
5c131048
SM
5842001-11-25 Stefan Monnier <monnier@cs.yale.edu>
585
586 * textprop.c (set_text_properties_1): Clearly mark that the
587 interval should not be empty.
588
589 * intervals.c (graft_intervals_into_buffer):
590 Don't call set_text_properties_1 on an empty interval.
591
96d276c3
RS
5922001-11-25 Richard M. Stallman <rms@gnu.org>
593
6108b49c
RS
594 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
595
96d276c3
RS
596 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
597 don't lose the data in it.
598
5eea19a4
RS
5992001-11-25 Juanma Barranquero <lektu@terra.es>
600
601 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
602
603 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
604
605 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
606
438e57dd
SM
6072001-11-25 Stefan Monnier <monnier@cs.yale.edu>
608
609 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
610
c88e5347
EZ
6112001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
612
613 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
614 Niemitalo <kon@iki.fi>.
615
59ce1461
JR
6162001-11-25 Jason Rumney <jasonr@gnu.org>
617
618 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
619
620 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
621 (Fx_show_tip): Block input during frame creation.
622 (Fx_show_tip, Fx_hide_tip): Enable.
623
8727d588
RS
6242001-11-24 Richard M. Stallman <rms@gnu.org>
625
626 * lread.c (Fload): Detect recursive load error for more than 3
627 nestings of the same file.
628 (Vrecursive_load_depth_limit): Variable deleted.
629 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
630
cc63037e
JR
6312001-11-24 Jason Rumney <jasonr@gnu.org>
632
633 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
634 mouse position if either left or top is not specified.
635
636 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
637 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
638 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
639 (my_create_tip_window): Assign tip_window.
640 (x_create_tip_frame): Use same defaults as X.
641 (compute_tip_xy): Remove unused variable. Use full screen width.
642 (Fx_show_tip): Do not double height. Call ShowWindow directly.
643
644 * w32term.c (x_after_update_window_line): Doc fix.
645 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
646 frames.
647 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
648
649 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
650 for all Windowed systems.
651
deece6f5
EZ
6522001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
653
654 * msdos.c (IT_clear_screen): If the frame's faces are not yet
655 realized, use the initial screen colors to clear the screen.
656
1b944d9c
PJ
6572001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
658
28ff4293
PJ
659 * textprop.c (Fset_text_properties): Remove unused variables
660 `unchanged', `prev_changed', `s' and `len'.
661
56167cc5
PJ
662 * search.c (Freplace_match): Remove unused variable `inslen'.
663
1b944d9c
PJ
664 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
665
ca56d953
JR
6662001-11-22 Jason Rumney <jasonr@gnu.org>
667
668 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
669 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
670 (my_create_tip_window): New function.
671 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
93dec019 672 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
ca56d953 673
33399dce
JR
6742001-11-20 Jason Rumney <jasonr@gnu.org>
675
676 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
677 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
678
679 * w32fns.c (Vw32_system_coding_system): Remove.
680 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
681
9b46de40
SM
6822001-11-19 Stefan Monnier <monnier@cs.yale.edu>
683
6710ea06
SM
684 * fileio.c (Fwrite_region): Move choose_write_coding_system to
685 after build_annotations.
686
a395ef6a
SM
687 * syntax.c (describe_syntax): Add dummy arg.
688 (describe_syntax_1): Update call to describe_vector.
689
690 * category.c (describe_category): Add dummy arg.
691 (describe_category_1): Update call to describe_vector.
692
693 * keymap.c (Fdescribe_vector): Add `describer' parameter.
694 (describe_command, describe_translation): Add dummy second param.
695 (describe_map): Call elt_describer with two arguments.
696 (describe_vector_princ): Add `fun' parameter.
697 Call it instead of the hardcoded `princ'.
698 (describe_vector): Add arg `args'.
699 Pass it as a new second argument to elt_describer.
700
701 * keymap.h (describe_vector): Update prototype.
702
9b46de40
SM
703 * frame.c: Don't include keymap.h any more.
704 (keys_of_frame): Remove.
705
706 * lisp.h (keys_of_frame): Remove declaration.
707
708 * emacs.c (main): Don't call `keys_of_frame' any more.
709
aff37336
SS
7102001-11-14 Andreas Schwab <schwab@suse.de>
711
712 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
713 if defined, 0 otherwise.
9b46de40 714 (MAP_FAILED): Define if not defined and use it to test mmap failure.
aff37336
SS
715 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
716
b9937f07
RS
7172001-11-19 Richard M. Stallman <rms@gnu.org>
718
719 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
720
2cd23960
JR
7212001-11-18 Jason Rumney <jasonr@gnu.org>
722
723 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
724 (x_draw_bar_cursor): If the background color of the glyph under
725 the cursor equals the frame's cursor color, use the glyph's
726 foreground color for drawing the bar cursor.
727 (x_after_update_window_line): Clear internal border in different
728 circumstances.
729 (w32_set_vertical_scroll_bar): Check for width and height > 0.
730 (w32_draw_relief_rect): Correct relief by 1 pixel.
9b46de40
SM
731 (x_set_glyph_string_background_width):
732 Set extends_to_end_of_line_p if the row's fill_line_p is set and
2cd23960
JR
733 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
734 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
735 if cursor_in_non_selected_windows is false.
9b46de40 736 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
2cd23960
JR
737 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
738 Notice if cursor gets overwritten.
739 (notice_overwritten_cursor): Renamed from
740 note_overwritten_text_cursor. Rewritten to take glyph widths
741 into account, and to take X positions as parameters.
742 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
743 around call to x_draw_glyphs.
744 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
745 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
746 color to use for image glyph reliefs.
747 (x_draw_image_relief): Accept zero tool_bar_button_relief.
748 (glyph_rect): Remove unused variable `area'.
749
750 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
751 some items.
752 (x_set_internal_border_width): Set frame garbaged when window
753 doesn't exist yet.
754 (Fx_create_frame): Accept zero tool_bar_button_relief.
755 (x_clear_image_1, four_corners_best, image_background)
756 (image_background_transparent): New functions.
757 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
758 (gs_format): Add `:background' entry.
759 (lookup_image): Set IMG's background color if specified.
760 (pbm_load, xbm_load_image, png_load): Set IMG's background field
761 when appropriate.
762 (x_clear_image_1): Reset `background_valid' and
763 `background_transparent_valid' fields.
764 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
765 calculating it here. Set IMG's background_transparent field.
766 (enum xpm_keyword_index): Add XPM_BACKGROUND.
767 (enum png_keyword_index): Add PNG_BACKGROUND.
768 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
769 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
770 (enum gif_keyword_index): Add GIF_BACKGROUND.
771 (enum gs_keyword_index): Add GS_BACKGROUND.
772 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
773 Pre-calculate image background color where necessary.
9b46de40
SM
774 (x_create_x_image_and_pixmap, xbm_load, gs_load):
775 Use display info's n_cbits entry for screen depth.
2cd23960
JR
776 (Fx_show_tip): Remove unused variables `buffer', `top',
777 `left', `max_width' and `max_height'.
778
779 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
780
a4184c1c
GM
7812001-11-18 Gerd Moellmann <gerd@gnu.org>
782
783 * puresize.h (BASE_PURESIZE): Increase to 750000.
784
f6fa0866
PJ
7852001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
786
787 * frame.c (Fframe_live_p): Doc fix.
788
f4ca4b00
RS
7892001-11-18 Richard M. Stallman <rms@gnu.org>
790
791 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
792 (message_dolog_marker3): New static variables hold three markers.
793 (syms_of_xdisp): Initialize and staticpro them.
794 (message_dolog): Use message_dolog_marker1..3 instead of
795 allocating markers each time. Unchain them when done.
796
f4e25f94
RS
7972001-11-17 Richard M. Stallman <rms@gnu.org>
798
799 * doc.c (Fsnarf_documentation): Doc fix.
800
91c153e2
AS
8012001-11-17 Andreas Schwab <schwab@suse.de>
802
803 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
804
65b7d3e7
RS
8052001-11-17 Richard M. Stallman <rms@gnu.org>
806
807 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
808
6b5f6311
JR
8092001-11-17 Jason Rumney <jasonr@gnu.org>
810
811 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
812
be676094
GM
8132001-11-17 Gerd Moellmann <gerd@gnu.org>
814
815 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
816 with invalid position.
817
032a857d
RS
8182001-11-16 Richard M. Stallman <rms@gnu.org>
819
820 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
821
822 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
823 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
824 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
825
826 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
827
b6270150
SM
8282001-11-16 Stefan Monnier <monnier@cs.yale.edu>
829
830 * fileio.c (build_annotations): Split off the tail.
831 (build_annotations_2): New fun. Extracted from build_annotations.
832 (Fwrite_region): Split the call to build_annotations into two
833 calls to build_annotations and build_annotations_2.
834
792e5cbd
PJ
8352001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
836
98cbb9fa
PJ
837 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
838 clear_waiting_for_input with argument.
839
840 * xterm.h (x_update_cursor): Remove duplicated prototype.
841
b6270150 842 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa 843
ea904403 844 * xterm.c (waiting_for_input): Remove unnecessary declaration.
98cbb9fa 845
ea904403 846 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
792e5cbd 847
fa336b91
SM
8482001-11-16 Stefan Monnier <monnier@cs.yale.edu>
849
850 * fileio.c (choose_write_coding_system): New fun, extracted
851 from Fwrite_region.
852 (Fwrite_region): Use it.
853
854 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
855 (funcall_lambda, run_hook_with_args): Make static and add prototype.
856 (ml_apply, find_handler_clause): Add prototype.
857
077907d4
EZ
8582001-11-16 Eli Zaretskii <eliz@gnu.org>
859
aa2af83a
EZ
860 * config.in: Add #undef HAVE_COFF_H.
861
077907d4
EZ
862 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
863 Required for ISC 4.1.
864
1756e2fb
EZ
8652001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
866
867 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
868 Andrew Wiseman <a.wiseman@btclick.com>.
869
06e8f738
KS
8702001-11-16 Kim F. Storm <storm@cua.dk>
871
872 The following changes are made to clean up the various internal
873 references to the fringes to actually use the term `fringe' for
874 them. Previously, they were called `flags areas', `bitmap areas',
875 `left/right side of windows', or implicitly as `flags' or
876 `bitmaps':
877
878 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
879 Comments fixed. Use renamed symbols.
fa336b91 880
06e8f738 881 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 882
06e8f738
KS
883 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
884 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
885 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 886
06e8f738 887 * msdos.c: Comment fix.
fa336b91 888
06e8f738 889 * w32fns.c: Use renamed symbols.
fa336b91 890
06e8f738
KS
891 * w32term.c: Comment fixes. Use renamed symbols.
892 (fringe_bitmap_type): Renamed from bitmap_type.
893 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
894 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
895 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 896
06e8f738
KS
897 * w32term.h: Comment fixes. Use renamed symbols.
898 (fringes_extra): Renamed from flags_areas_extra.
899 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
900 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
901 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
902 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
903 (FRAME_X_LEFT_FRINGE_WIDTH):
904 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
905 (FRAME_X_RIGHT_FRINGE_WIDTH):
906 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
907
06e8f738 908 * widget.c: Use renamed symbols.
fa336b91 909
06e8f738
KS
910 * window.c: Comment fixes. Use renamed symbols.
911 (coordinates-in-window-p): Doc fix.
fa336b91 912
06e8f738 913 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 914
06e8f738 915 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 916
06e8f738 917 * xfns.c: Use renamed symbols.
fa336b91 918
06e8f738
KS
919 * xterm.c: Comment fixes. Use renamed symbols.
920 (fringe_bitmap_type): Renamed from bitmap_type.
921 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
922 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
923 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
924
925 * xterm.h: Comment fixes. Use renamed symbols.
926 (fringes_extra): Renamed from flags_areas_extra.
927 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
928 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
929 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
930 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
931 (FRAME_X_LEFT_FRINGE_WIDTH):
932 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
933 (FRAME_X_RIGHT_FRINGE_WIDTH):
934 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 935
9ce647f4
JR
9362001-11-15 Jason Rumney <jasonr@gnu.org>
937
938 * w32menu.c (add-menu-item): Make help_echo and radio buttons
939 work for most menu items. From David Ponce
940 <david.ponce@wanadoo.fr>.
941
9b784ab8
GM
9422001-11-15 Gerd Moellmann <gerd@gnu.org>
943
9f7e52b4
GM
944 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
945 Some x_set_* function expect to be called even if old and new
946 value are equal.
947
948 * xdisp.c (build_desired_tool_bar_string): Accept zero
949 tool_bar_button_relief.
950
951 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
952
953 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 954
34e5d0af
GM
955 * xterm.c (x_draw_bar_cursor): If the background color of the
956 glyph under the cursor equals the frame's cursor color, use
957 the glyph's foreground color for drawing the bar cursor.
958
9b784ab8
GM
959 * dispnew.c (direct_output_forward_char): Fix character/byte
960 position comparison.
961
89512fcd
MB
9622001-11-15 Miles Bader <miles@gnu.org>
963
964 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
965 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
966 Update arguments to find_field.
967 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
968 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
969 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
970 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
971
7d18891d
RS
9722001-11-14 Richard M. Stallman <rms@gnu.org>
973
d2936d21
RS
974 * editfns.c (Fpropertize): Allow call with 1 arg.
975
7d18891d
RS
976 * dispextern.h (image_background, image_background_transparent):
977 Conditionalize on HAVE_X_WINDOWS.
978
9792001-11-13 Richard M. Stallman <rms@gnu.org>
980
981 * print.c (Fprin1_to_string): Doc fix.
982
983 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
984
985 * floatfns.c (Fceiling, Ffloor): Doc fixes.
986
987 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
988
989 * fileio.c (Ffile_accessible_directory_p): Doc fix.
990
991 * eval.c (syms_of_eval): Doc fix.
992
993 * coding.c (syms_of_coding): Doc fix.
994
995 * doc.c (Fsnarf_documentation): Doc fix.
996
997 * dispnew.c (syms_of_display): Doc fix.
998
999 * category.c (Fget_unused_category): Doc fix.
1000
1001 * buffer.c (syms_of_buffer): Doc fixes.
1002
9474c847
EZ
10032001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
1004
1005 * print.c (prin1, print): Doc fix.
1006
e3059a5d
PJ
10072001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1008
2b6f3c2b 1009 * fontset.h: Remove declarations of variables
e3059a5d
PJ
1010 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
1011
1012 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
1013 `Vclip_large_size_font'.
1014
b3700ae7
JR
10152001-11-13 Jason Rumney <jasonr@gnu.org>
1016
1017 * w32fns.c: Doc fix.
1018
eae936e2
PJ
10192001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1020
4bb962be
PJ
1021 * xfaces.c (Fface_attributes_as_vector): Doc fix.
1022
0a332240
PJ
1023 * w32fns.c (Fx_synchronize): Reindent.
1024
ddb67bdc
PJ
1025 * fns.c: Doc fix.
1026
3467c402
PJ
1027 * emacs.c: Doc fix.
1028
1029 * coding.c: Doc fix.
1030
6e1b91d7
PJ
1031 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
1032 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
1033 `new style' [w/`doc:' keyword].
1034
f6e34773
PJ
1035 * xmenu.c (x-popup-menu): Reindent.
1036 (x-popup-dialog): Likewise.
1037
fa336b91 1038 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 1039
c2552f79
PJ
1040 * xdisp.c (Fdump_tool_bar_row): Reindent.
1041
94c7167b
PJ
1042 * minibuf.c (Fminibuffer_complete_word): Reindent.
1043 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 1044 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
1045 (Fminibuffer_message): Likewise.
1046
462a5e3a
PJ
1047 * fns.c (Freverse): Reindent.
1048
b8de5714
PJ
1049 * eval.c (Fif): Reindent.
1050 (Fand): Likewise.
1051
deb8e082
PJ
1052 * editfns.c (Fuser_real_login_name): Reindent.
1053 (Finsert_buffer_substring): Likewise.
1054 (Fcompare_buffer_substrings): Likewise.
1055 (Fsubst_char_in_region): Likewise.
1056
bacf09b4
PJ
1057 * dispnew.c (Fsit_for): Reindent.
1058 (Fframe_or_buffer_changed_p): Likewise.
1059 (Finternal_show_cursor_p): Likewise.
1060 (syms_of_display): Likewise.
1061
eae936e2
PJ
1062 * alloc.c (Flist): Reindent.
1063 (Fvector): Likewise.
1064
1c1d3d69
RS
10652001-11-12 Richard M. Stallman <rms@gnu.org>
1066
1067 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1068 LeaveNotify events. Only FocusIn and FocusOut do that now.
1069 (x_display_and_set_cursor): Do display hollow cursors in active
1070 minibuffer windows when they are not selected.
1071
b6f4c7ba
JR
10722001-11-12 Jason Rumney <jasonr@gnu.org>
1073
1074 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1075 * w32term.c: Change doc-string comments to `new style'.
1076 [w/`doc:' keyword]. Doc fixes.
1077
1078 * w32fns.c: Don't define max.
1079 (Fx_open_connection): Only execute once.
1080
a89f435d
PJ
10812001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1082
1083 * ccl.c: Change macros to use do-while block instead of if-else.
1084 Use braces to follow GNU Coding Standards.
1085
a4cd0cd7
RS
10862001-11-11 Richard M. Stallman <rms@gnu.org>
1087
eafb659a
RS
1088 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1089
1090 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1091
a4cd0cd7
RS
1092 * insdel.c (replace_range): Use adjust_markers_for_replace
1093 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1094
1095 * intervals.h: Declare set_text_properties and set_text_properties_1.
1096
1097 * textprop.c (set_text_properties_1): New subroutine
1098 broken out of set_text_properties.
1099 (set_text_properties): Use set_text_properties_1.
1100
1101 * intervals.c (graft_intervals_into_buffer):
1102 Use set_text_properties_1 to clear out properties.
1103
1104 * search.c (Freplace_match): Use replace_range to insert
1105 and delete. Don't request property inheritance from
1106 surrounding text.
1107
91823618
JR
11082001-11-10 Jason Rumney <jasonr@gnu.org>
1109
1110 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1111 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 1112 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 1113
86928dfb
GM
11142001-11-10 Gerd Moellmann <gerd@gnu.org>
1115
fa336b91 1116 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
1117 instead of malloc/free.
1118
40ef1eda
PJ
11192001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1120
ab8469eb
PJ
1121 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1122 Coding Standards.
1123 (Finternal_set_lisp_face_attribute): Likewise.
1124
a78e0303
PJ
1125 * buffer.c (Fbury_buffer): Likewise.
1126
40ef1eda
PJ
1127 * indent.c (current_column_1): Remove unused variable `prev_col'.
1128
fabf4a91
PJ
1129 * coding.c (encode_coding): Use precomputed value of `src'.
1130 (encode_coding): Remove unused variable `src_end'.
1131 (code_convert_region): Remove unused variables `count'.
1132
0c99b139
JR
11332001-11-07 Jason Rumney <jasonr@gnu.org>
1134
1135 * w32term.c (x_display_and_set_cursor): Do not move system caret
1136 if cursor_glyph is NULL.
1137
830ddd77
PJ
11382001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1139
1140 * keymap.c (access_keymap): Fix compilation error.
1141
55c6d645
MB
11422001-11-07 Miles Bader <miles@gnu.org>
1143
1144 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1145
5de38842
PJ
11462001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1147
7a4564a4
PJ
1148 * intervals.c (graft_intervals_into_buffer):
1149 Remove #ifdef'd-out code.
1150 (graft_intervals_into_buffer): Remove unused variable `middle'.
1151
5de38842
PJ
1152 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1153 code (eval-current-buffer).
1154 Change doc-string comments to `new style' [w/`doc:' keyword].
1155
4fa23df5
RS
11562001-11-06 Richard M. Stallman <rms@gnu.org>
1157
1158 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1159
7a6a97d7
SM
11602001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1161
c191d13c
SM
1162 * lread.c (read1): Fix behavior with nested backquoting.
1163
7a6a97d7
SM
1164 * keyboard.c (make_lispy_event): Check integerness and fix
1165 Lisp_Object/int mixup.
1166
44dc78e0
PJ
11672001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1168
1169 * fns.c (copy_hash_table): Remove unused variable `v'.
1170
17893c65
PJ
1171 * fontset.c (fontset_font_pattern): Remove unused variable
1172 `family_registry'.
1173
4d994a79
PJ
1174 * indent.c (current_column_1): Remove unused variable `prev_col'.
1175
d5360cc7
RS
11762001-11-05 Richard M. Stallman <rms@gnu.org>
1177
1178 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1179
1180 * buffer.c (Fkill_buffer): Don't delete auto save file
1181 if buffer is modified.
1182
96238a5a
AI
11832001-11-05 Andrew Innes <andrewi@gnu.org>
1184
1185 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1186 CHECK_NUMBER_CDR.
1187
d9d54213
RS
11882001-11-05 Richard M. Stallman <rms@gnu.org>
1189
1190 * unexelf.c (unexec): Minor changes; clean up comments.
1191
b116830b
SS
11922001-11-05 Sam Steingold <sds@gnu.org>
1193
1194 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1195
3297e2a1
AS
11962001-11-05 Andreas Schwab <schwab@suse.de>
1197
1198 * sound.c (sound_perror): Save errno from being clobbered.
1199
9212319f 12002001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
1201
1202 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1203 the program image directly.
1204
7dd73b78
PJ
12052001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1206
1207 * buffer.h (Fbuffer_local_value): Add prototype.
1208
982f6c7e
RS
12092001-11-04 Richard M. Stallman <rms@gnu.org>
1210
d31053f9
RS
1211 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1212 and CHECK_BUFFER.
1213
1214 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1215 (record_char): Likewise.
1216
1217 * keyboard.c (make_lispy_event): Don't insist a drag event must
1218 move to a different buffer position. Instead, check for moving at
1219 least double_click_fuzz.
1220
1221 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1222
1223 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1224
982f6c7e
RS
1225 * indent.c (current_column_1, Fmove_to_column): Separate the code
1226 for display-table glyphs from the code buffer text, to fix
1227 bugs in the former.
1228
830047fd
RS
12292001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1230
1231 * buffer.c (Fbuffer_local_value): New function.
c191d13c 1232 (syms_of_buffer): Defsubr it.
b116830b 1233
830047fd
RS
1234 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1235 value of `cursor-in-non-selected-windows'.
1236
1237 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1238 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1239 (syms_of_xdisp): Initialize it.
b116830b 1240
2df5238c
PJ
12412001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1242
4e397688
PJ
1243 * xfns.c (Fx_create_frame): Doc fix.
1244
48b0f3ae
PJ
1245 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1246 keyword].
1247
2df5238c
PJ
1248 * eval.c (top_level_value, top_level_set): Remove commented and
1249 #ifdef'd-out code.
1250 (Fdefvar): Fix usage in doc-string.
1251
3ecaf7e5
RS
12522001-11-03 Richard M. Stallman <rms@gnu.org>
1253
1254 * xfns.c: Include unistd.h, if it exists.
1255
1256 * editfns.c: Move the include of ctype.h after unistd.h.
1257
1258 * gmalloc.c: Test BROKEN_PROTOTYPES.
1259
8db2e33b
KR
12602001-11-03 Ken Raeburn <raeburn@gnu.org>
1261
1262 * lisp.h (CHECK_STRING_CAR): New macro.
1263 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1264 treating XCAR and XCDR as lvalues.
1265 (openp): Use CHECK_STRING_CAR.
1266 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1267
aed29b97
EZ
12682001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1269
1270 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 1271 (SIGMASKTYPE): Define.
aed29b97
EZ
1272
1273 * syssignal.h (sigunblock): Don't define if already defined.
1274
6cb16f95
PJ
12752001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1276
16b45be4
EZ
1277 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1278 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
1279 Fix typos in comments.
1280
020f9b38
PJ
1281 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1282 and #ifdef'd-out code.
1283 Fix and reindent comments.
1284
c191d13c 1285 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 1286
6cb16f95
PJ
1287 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1288 argument `i' in macros.
1289
1290 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1291 `i' in macros.
1292
16b45be4
EZ
1293 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1294 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1295 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1296 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1297 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1298 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1299 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1300 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
1301 in macros.
1302
1303 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
153c2160
PJ
1304 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1305 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1306 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1307 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1308 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1309 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1310 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1311 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
6cb16f95
PJ
1312 (remove unused second argument).
1313
7e9d3c2f
SM
13142001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1315
1316 * syntax.c (describe_syntax): New wrapper.
1317 (Finternal_describe_syntax_value): Rename from describe_syntax.
1318 Don't insert space at front and \n at the end.
1319 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1320
1321 * regex.c (re_wctype): Try to fix some warnings.
1322 (regcomp, regexec): Don't forget the __restrict.
1323
e6bff182
RS
13242001-11-02 Richard M. Stallman <rms@gnu.org>
1325
1326 * textprop.c (Fget_char_property): Doc fix.
1327
9ba48103
PJ
13282001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1329
1330 * process.c (Fstart_process): Add usage to doc-string.
1331
1332 * data.c (Fsetq_default): Ditto.
1333
1334 * callint.c (Finteractive): Ditto.
1335
c22e59e1
SM
13362001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1337
1338 * macros.c: Don't include keymap.h any more.
1339
9271ed2c
RS
13402001-11-01 Richard M. Stallman <rms@gnu.org>
1341
e6bff182
RS
1342 * data.c (Fmake_local_variable): Doc fix.
1343
1344 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1345 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1346
9271ed2c
RS
1347 * keymap.c (Fdescribe_buffer_bindings): Print character property
1348 bindings along with or instead of the buffer local map.
1349 Make the overriding maps override what they should.
1350
8b8bd9c6
PJ
13512001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1352
1353 * window.c (grow_mini_window): Fix typo in comment.
1354
27188d11
GM
13552001-11-01 Gerd Moellmann <gerd@gnu.org>
1356
7b49b9d2
GM
1357 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1358 (XTset_vertical_scroll_bar): Likewise.
1359
43f7c3ea
GM
1360 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1361 instead of IMAGE_BACKGROUND.
c22e59e1 1362
b350c2e5
GM
1363 * xfns.c (four_corners_best): Reindent.
1364
c22e59e1 1365 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
1366 Handle :box so that it is possible to specify sexprs.
1367
d576358b
PJ
13682001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1369
1370 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1371 (Fface_font): Ditto.
1372 (Finternal_set_alternative_font_registry_alist): Ditto.
1373 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1374
1375 * xfns.c (x-get-resource): Reindent.
1376
bf00d461
EZ
13772001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1378
1379 * s/hpux11.h: New file.
1380
4e10df59
PJ
13812001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1382
2b209b97
PJ
1383 * emacs.c (USAGE1): Show command line option --no-window-system
1384 instead of --no-windows in usage.
1385 (standard_args): Rename --no-windows to --no-window-system.
1386 (bug_reporting_address): Follow Emacs coding conventions.
1387
9dbc9081
PJ
1388 * eval.c (Fcommandp): Doc fix.
1389 Change doc-string comments to `new style' [w/`doc:' keyword].
1390
4e10df59
PJ
1391 * frame.c (Fframe_live_p): Doc fix.
1392
1393 * buffer.c (selective-display-ellipses): Doc fix.
1394
dd387b25
GM
13952001-10-31 Gerd Moellmann <gerd@gnu.org>
1396
fe957e65
GM
1397 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1398
dd387b25
GM
1399 * xfaces.c (realize_x_face): If C is not a single-byte character,
1400 set the face's colors_copied_bitwise_p instead of the defaulted_p
1401 members which have a different meaning.
1402 (free_face_colors): Do nothing for a face whose colors have been
1403 copied bitwise.
1404
c22e59e1 1405 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 1406
2e1280f8
PJ
14072001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1408
687784e8
PJ
1409 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1410 [w/`doc:' keyword].
2e1280f8 1411
b9d9a9b9
GM
14122001-10-31 Gerd Moellmann <gerd@gnu.org>
1413
1414 * fns.c (require_unwind): Return Lisp_Object.
1415
48400103
PJ
14162001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1417
fa1361cb
PJ
1418 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1419 (last-input-char): Revert doc-string to be the same as the
1420 doc-string of `last-input-event'.
1421
48400103
PJ
1422 * xdisp.c: Fix typos in comments.
1423
eafa3196
GM
14242001-10-31 Gerd Moellmann <gerd@gnu.org>
1425
1426 * window.c (grow_mini_window): Handle case that the root
1427 window is already smaller than the nominal mininum height.
1428
747d3f2a
SM
14292001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1430
bf9bb76f
SM
1431 * emacs.c (main): Don't call keys_of_macros any more.
1432
1433 * lisp.h (keys_of_macros): Remove.
1434
1435 * macros.c (keys_of_macros): Remove.
1436
747d3f2a
SM
1437 * xfaces.c (Fface_attribute_relative_p): Declare args.
1438
5e905a57
JR
14392001-10-30 Jason Rumney <jasonr@gnu.org>
1440
1441 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1442 (enum_font_cb2): Ignore fonts with vertical orientation.
1443
3a426197
RS
14442001-10-30 Richard M. Stallman <rms@gnu.org>
1445
1446 * keyboard.c (Finput_pending_p): Doc fix.
1447
a742d646
GM
14482001-10-30 Gerd Moellmann <gerd@gnu.org>
1449
259cf6bc
GM
1450 * xterm.c (x_after_update_window_line): Don't run the code
1451 clearing in borders for rows whose visible height is 0.
1452
3f99f948
GM
1453 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1454 resized_p flag is set. If not set, use the much less flickering
1455 method previously used.
1456
1457 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1458
1459 * frame.h (struct frame) <resized_p>: New member.
1460
b4a3be43
GM
1461 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1462 as large as the number of bytes to convert.
747d3f2a 1463
a742d646
GM
1464 * lread.c (to_multibyte): New function.
1465 (read1): Use it.
1466
cacbb9e9
EZ
14672001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1468
1469 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1470
99cb6b2f
GM
14712001-10-30 Gerd Moellmann <gerd@gnu.org>
1472
327f42ee 1473 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
1474 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1475 if the row's fill_line_p is set and drawing the last glyph with
1476 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 1477
99cb6b2f
GM
1478 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1479
8e8223e2
SM
14802001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1481
1482 * xmenu.c: Include coding.h and charset.h.
1483 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1484 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1485 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1486 Explicitly set wv->help. Use `TRUE' rather than `True'.
1487 (menu_help_callback): Use empty_string.
1488
1489 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1490 (Fx_popup_dialog): Explicitly init f.
1491 (w32_menu_display_help): Use empty_string.
1492
4d083a8f
RS
14932001-10-29 Richard M. Stallman <rms@gnu.org>
1494
b2304472
RS
1495 * fns.c (Frequire): Detect recursive try to require the same
1496 feature 3 or more levels deep, and get error.
1497 (require_unwind): New subroutine.
1498 (require_nesting_list): New variable.
1499 (syms_of_fns): Init and staticpro it.
1500
4d083a8f
RS
1501 * print.c (print_object): Clarify indication of insertion type.
1502
2fe41216
EZ
15032001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1504
90480000
EZ
1505 * coding.c (syms_of_coding): Document that locale-coding-system is
1506 used for decoding input on X.
1507
2fe41216
EZ
1508 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1509
74e79967
PJ
15102001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1511
1512 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1513 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1514
60ebcfe8
GM
15152001-10-29 Gerd Moellmann <gerd@gnu.org>
1516
9a7bdceb
GM
1517 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1518 use NO_CURSOR if cursor_in_non_selected_windows is false.
1519
3f08fcd2
GM
1520 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1521 the slant attribute if FRAME is t.
1522
0ccfdad2
GM
1523 * xfns.c (x_set_internal_border_width): Set frame garbaged
1524 when X window doesn't exist yet.
1525
ef253080
GM
1526 * xterm.c (x_after_update_window_line): Clear internal border
1527 in different circumstances.
b116830b 1528
60ebcfe8
GM
1529 * xterm.c (XTread_socket) <KeyPress>: Don't use
1530 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1531 <handa@etl.go.jp>.
1532
73d25f9c
EZ
15332001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1534
1535 * m/ibms390.h: New file. From Adam Thornton
1536 <athornton@sinenomine.net>.
1537
cac1daf0
GM
15382001-10-28 Gerd Moellmann <gerd@gnu.org>
1539
053b3256 1540 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 1541
cac1daf0
GM
1542 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1543 a loop counter.
1544
13b1a09c
PJ
15452001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1546
186486eb
PJ
1547 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1548
4707d2d0
PJ
1549 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1550 keyword].
1551 Fix typos in comments.
b116830b 1552
d883731c
PJ
1553 * emacs.c (bug_reporting_address): New function.
1554 Use it when displaying usage message.
1555
04012254
PJ
1556 * minibuf.c (read_minibuf): Remove unused external declaration of
1557 variable `Qread_only'.
1558
13b1a09c
PJ
1559 * keymap.c (access_keymap): Remove unused variable `charset'.
1560
5bbf4378
MB
15612001-10-28 Miles Bader <miles@gnu.org>
1562
1563 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1564 Remove #ifdef'd-out code.
1565 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1566 (syms_of_xfaces): Initialize them.
1567
1ce1e4ee
JR
15682001-10-27 Jason Rumney <jasonr@gnu.org>
1569
1570 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1571 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1572 position using the system caret.
1573
1574 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1575 (w32_system_caret_height, w32_system_caret_x)
1576 (w32_system_caret_y): New variables for tracking system caret.
1577 (w32_initialize): Initialize them.
c2d53558 1578 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 1579
c2d53558
SM
1580 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1581 New messages types.
1ce1e4ee
JR
1582
1583 * w32term.c (note_mouse_highlight): Clear old help_echo.
1584
4e30ce42
PJ
15852001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1586
bb4600a4
PJ
1587 * xterm.c: Fix typo in a comment.
1588
7db35a48
PJ
1589 * emacs.c: Fix typos in comments.
1590 Remove unnecessary spaces.
1591 Change doc-string comments to `new style' [w/`doc:' keyword].
1592 (USAGE2): Fix typos in usage string.
1593
a7248e4f
PJ
1594 * xterm.c: Fix typo in a comment.
1595
4e30ce42
PJ
1596 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1597 emacs.c.
1598
62725a92
GM
15992001-10-27 Gerd Moellmann <gerd@gnu.org>
1600
798dbe1f 1601 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 1602 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
1603 farther backward when target_y was not reached.
1604
62725a92
GM
1605 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1606 Display errno only if non-zero.
1607 (sound_warning): New function.
1608 (vox_configure): Don't treat failing to set sample rate as error.
1609 (various places): Improve error messages.
1610
d4e34d24
EZ
16112001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1612
944e6f60
EZ
1613 * fileio.c (Faccess_file): Run the argument filename through
1614 Fexpand_file_name, before using it.
1615
d4e34d24
EZ
1616 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1617 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1618
38d2af0c
GM
16192001-10-26 Gerd Moellmann <gerd@gnu.org>
1620
da80a8d5
GM
1621 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1622
38d2af0c
GM
1623 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1624 Fix clearing in the case of scroll bars on the right.
c2d53558 1625
56f508dd
EZ
16262001-10-26 Juanma Barranquero <lektu@terra.es>
1627
1628 * w32gui.h (XImage): Add a dummy typedef.
1629
fbd5ceb2
GM
16302001-10-26 Gerd Moellmann <gerd@gnu.org>
1631
c2d53558 1632 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 1633
b23236fb
EZ
16342001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1635
1636 * frame.c (Fframe_parameter): Fix last change.
1637
5d991fc4
EZ
1638 * fileio.c: Revert last change (which removed old commented-out
1639 version of expand-file-name). Add a comment that explains why
1640 this old version should not be removed.
1641
879eadc3
GM
16422001-10-25 Gerd Moellmann <gerd@gnu.org>
1643
75700ff2
GM
1644 * frame.c (Fframe_parameter): Fix a bug whereby some
1645 ``artificial'' frame parameters, like `minibuffer' were not
1646 obtained by calling Fframe_parameters.
1647
dfe92a6a
GM
1648 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1649 cursor differently.
1650
879eadc3
GM
1651 * xdisp.c (move_it_vertically_backward): Compute line height
1652 differently. Add heuristic to try to be more compatible to 20.x.
1653
e1010ebe
SM
16542001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1655
d73a471b
SM
1656 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1657
d6da5a06
GM
1658 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1659 boolean.
e1010ebe 1660
f66bd220
MB
16612001-10-25 Miles Bader <miles@gnu.org>
1662
1663 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1664 BG is a pointer to a structure, not a structure.
1665 (gif_format, png_format): Add missing commas.
1666
d436d538
RS
16672001-10-24 Richard M. Stallman <rms@gnu.org>
1668
1669 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 1670 (syms_of_xfaces): Defsubr it.
d436d538 1671
075c507b
PJ
16722001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1673
1674 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1675 variable `area'.
1676
d492b584
PJ
16772001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1678
c2d53558 1679 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 1680
e2a57b34
MB
16812001-10-25 Miles Bader <miles@gnu.org>
1682
1683 * dispextern.h (struct image): Add `background',
1684 `background_valid', and `background_transparent' fields.
1685 (image_background, image_background_transparent): New declarations.
1686 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1687 * xfns.c (image_background, image_background_transparent)
1688 (four_corners_best): New functions.
c2d53558 1689 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
1690 (gs_format): Add `:background' entry.
1691 (lookup_image): Set IMG's background color if specified.
1692 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1693 when appropriate.
1694 (x_clear_image_1): Reset `background_valid' and
1695 `background_transparent_valid' fields.
1696 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1697 calculating it here. Set IMG's background_transparent field.
1698 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1699 (enum png_keyword_index): Add PNG_BACKGROUND.
1700 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1701 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1702 (enum gif_keyword_index): Add GIF_BACKGROUND.
1703 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 1704 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
1705 Pre-calculate image background color where necessary.
1706 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1707 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1708 color to use for image glyph reliefs.
1709
b547b6e8
GM
17102001-10-24 Gerd Moellmann <gerd@gnu.org>
1711
d9e3b8c6
GM
1712 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1713 in full-width rows.
c2d53558 1714
b547b6e8
GM
1715 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1716 Fix clearing of area not covered by scroll bar.
1717
2beb36f9
PJ
17182001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1719
1720 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1721 and `real_start'.
c2d53558 1722 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
1723 (glyph_rect): Remove unused variable `area'.
1724
76cb5e06
GM
17252001-10-24 Gerd Moellmann <gerd@gnu.org>
1726
bdbdebff 1727 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
1728
1729 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1730 (row_containing_pos): Take additional argument DY.
1731 Treat rows ending in middle of char differently.
62e33982
GM
1732 (display_line): Handle tabs on window systems differently.
1733
1734 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1735 with additional argument.
1736
1737 * dispextern.h (row_containing_pos): Adjust prototype.
1738
76cb5e06
GM
1739 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1740 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1741 (try_window_id, try_window_reusing_current_matrix)
1742 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1743 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1744
996fee11
PJ
17452001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1746
c9e60620
PJ
1747 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1748 gnuemacs).
1749 (HAVE_BOXES): Fix typo in comment.
1750 (push_menu_pane): Fix typo in comment.
1751
3b552d56
PJ
1752 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1753 of `Qwhen'.
1754 (single_display_prop_string_p): Remove unused local declarations
1755 of `Qwhen' and `Qmargin'.
1756 (string_buffer_position): Remove unused variable `around'.
1757 (store_frame_title): Remove unused variable `width'.
1758
15c565ac
PJ
1759 * window.c: Don't define max.
1760 (coordinates_in_window): Remove unused variable `uy'.
1761
a8818eb9
PJ
1762 * widget.c: Don't define max.
1763
996fee11
PJ
1764 * process.c: Don't define max.
1765 (create_process): Remove unused variable `buffer'.
1766
496e1a5b
GM
17672001-10-23 Gerd Moellmann <gerd@gnu.org>
1768
c2d53558 1769 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 1770
5905ae8b
EZ
17712001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1772
1773 * xfaces.c (Finternal_set_lisp_face_attribute)
1774 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1775 frame is on a windowed display.
1776
24db49fb
GM
17772001-10-23 Gerd Moellmann <gerd@gnu.org>
1778
c2d53558
SM
1779 * dispnew.c (sync_window_with_frame_matrix_rows):
1780 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
1781 of marginal areas.
1782
c2d53558 1783 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 1784
f0487f05
EZ
17852001-10-23 Andreas Schwab <schwab@suse.de>
1786
1787 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1788 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1789
f0a48a01
GM
17902001-10-23 Gerd Moellmann <gerd@gnu.org>
1791
c2d53558 1792 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
1793 REAL_END. Notice if cursor gets overwritten.
1794 (notice_overwritten_cursor): Take X positions as parameters.
1795 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1796 around call to x_draw_glyphs.
1797
a50a10a0
PJ
17982001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1799
fc11dff0
PJ
1800 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1801 instead of C) and usage.
a50a10a0 1802
fc11dff0
PJ
1803 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1804 of C) and usage.
a50a10a0
PJ
1805
1806 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1807 `left', `max_width' and `max_height'.
1808
8738febd
GM
18092001-10-23 Gerd Moellmann <gerd@gnu.org>
1810
1811 * xdisp.c (display_line): For a tab continued to the next line,
1812 set row's ends_in_middle_of_char_p.
1813
653c329b
GM
18142001-10-22 Gerd Moellmann <gerd@gnu.org>
1815
1816 * xdisp.c (display_line): Fix computation of continuation lines
1817 width for TABs.
1818
f958c5ac
PJ
18192001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1820
7ba51063
PJ
1821 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1822 `Qlaplace'.
1823
f958c5ac
PJ
1824 * fileio.c: Remove unused code.
1825
eb360291
MB
18262001-10-22 Miles Bader <miles@gnu.org>
1827
1828 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1829 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1830 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1831
98515cf0
JR
18322001-10-21 Jason Rumney <jasonr@gnu.org>
1833
1834 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1835
93026d88
EZ
18362001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1837
1838 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1839 (Finsert_string): Avoid the multi-line string literals warning.
1840
c9a95b79
MB
18412001-10-22 Miles Bader <miles@gnu.org>
1842
1843 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1844 (Fdocumentation): Don't use it.
1845 (syms_of_doc): Don't initialize it.
1846
1847 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1848 * print.c (Fwith_output_to_temp_buffer): Likewise.
1849 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1850 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1851 (Fsave_restriction): Likewise.
c2d53558
SM
1852 * eval.c (Frun_hooks, Frun_hook_with_args)
1853 (Frun_hook_with_args_until_failure)
1854 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1855 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1856 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1857 (Funwind_protect, Fcondition_case): Likewise.
1858 * coding.c (Ffind_operation_coding_system): Likewise.
1859 * keyboard.c (Ftrack_mouse): Likewise.
1860
a3b10252
MB
18612001-10-21 Miles Bader <miles@gnu.org>
1862
c2d53558 1863 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1864 (Fmake_hash_table): Add usage: string to doc string.
1865 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1866 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1867 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1868 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1869 (Fml_prefix_argument_loop): Likewise.
1870
c6f73eec
PJ
18712001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1872
c2d53558 1873 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1874
c6f73eec
PJ
1875 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1876 style' [w/`doc:' keyword].
1877
1878 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1879 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1880 comments to `new style' [w/`doc:' keyword].
1881
3cf3436e
JR
18822001-10-21 Jason Rumney <jasonr@gnu.org>
1883
1884 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1885
c169b8f1
JR
1886 * w32term.c (remember_mouse_glyph): New function.
1887 (w32_mouse_position): Use it.
1888 (note_mouse_movement): If the mouse moved off the glyph, remember
1889 its new position.
c2d53558 1890
4fdd691b
JR
1891 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1892 (w32_display_info): Add mouse_face_overlay.
1893
c169b8f1
JR
1894 * w32term.c (notice_overwritten_cursor): Renamed from
1895 note_overwritten_text_cursor. Rewritten to take glyph widths into
1896 account.
1897 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1898 (fast_find_string_pos): New function.
1899 (fast_find_position): Return the correct vpos. Add parameter
1900 STOP. In the final row, stop before glyphs having STOP as object.
1901 Don't consider glyphs that are not from a buffer.
1902 (fast_find_position) [0]: Add a presumably more correct version
1903 for after 21.1.
1904 (expose_window_tree, expose_frame): Don't compute intersections here.
1905 (expose_window): Do it here instead.
1906 (expose_window_tree, expose_window, expose_line): Return 1 when
1907 overwriting mouse-face.
1908 (expose_window): If W is the window currently being updated, mark
1909 the frame garbaged.
1910 (expose_frame): If mouse-face was overwritten, redo it.
1911 (x_use_underline_position_properties): New variable.
1912 (syms_of_xterm): DEFVAR_BOOL it.
1913 (x_draw_glyph_string): Add comment to use it in future.
1914 (x_draw_glyph_string): Restore clipping after drawing box.
1915 Fix a computation of the underline position.
1916 (w32_get_glyph_string_clip_rect): Minor cleanup.
1917 (x_fill_stretch_glyph_string): Remove an assertion.
1918 (x_produce_glyphs): Don't convert multibyte characters
1919 to unibyte characters in unibyte buffers.
1920 (cursor_in_mouse_face_p): New function.
1921 (x_draw_stretch_glyph_string): Use it to choose a different GC
1922 when drawing a cursor within highlighted text. Don't draw
1923 background again if it has already been drawn.
1924 (x_draw_glyph_string_box): Don't draw a full-width
1925 box just because the glyph row's full_width_p flag is set.
1926 (x_draw_glyphs): Fix computation of rightmost x for
1927 full-width rows.
1928 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1929 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1930 change bottom shadow accordingly. Some cleanup.
1931 (x_update_window_end): Handle overwritten mouse face
1932 also for tool bar windows.
1933 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1934 DRAW is DRAW_IMAGE_RAISED.
1935 (clear_mouse_face): Return 1 if text with mouse face was
1936 actually redrawn. Make the function static. Reset
1937 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1938 optimize away highlighting if we pass over that same overlay again.
1939 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1940 to detect a case where we have to highlight a different region
1941 despite not having left the currently highlighted region.
1942 Set mouse_face_overlay in the x_display_info. Avoid changing the
1943 mouse pointer shape when show_mouse_face has already done it, or
1944 there is no need. Handle mouse-face and help-echo in strings.
1945 (glyph_rect): New function.
1946 (w32_mouse_position): Use it to raise the threshold for mouse
1947 movement event generation.
1948 (w32_initialize_display_info): Initialize the x_display_info's
1949 mouse_face_overlay.
1950 (w32_set_vertical_scroll_bar): Don't clear a zero height
1951 or width area.
1952 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1953 a widget to zero height.
1954
3cf3436e 1955 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1956 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1957 equivalents in menu_items.
1958 (w32_menu_show): Don't overwrite an item's name with its key
1959 description in case the description is a multibyte string.
1960 (single_submenu): Some cleanup.
1961
1962 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1963 (postprocess_image): New function.
1964 (lookup_image): Call it for all image types except PostScript.
1965 (x_kill_gs_process): Call postprocess_image.
1966 (tiff_error_handler, tiff_warning_handler): New functions.
1967 (tiff_load): Install them as handlers.
1968 (x_kill_gs_process): Recognize if someone has cleared the image
1969 cache under us.
1970 (valid_image_p): Protect better against invalid image
1971 specifications. Previous code could signal an error.
1972 (Fx_hide_tip, Fshow_tip): Doc fix.
1973 (Fv_max_tooltip_size): New variable.
1974 (syns_of_xfns): DEFVAR_LISP it.
1975 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1976 window buffer to *tip* right after creating the frame. Set frame's
1977 window_width. Use a maximum tooltip size specified by
1978 Vx_max_tooltip_size, if that has valid contents.
1979 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1980 Make sure the tooltip is completely visible.
1981 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1982 (Fx_create_frame): Adjust the frame's height for presence
1983 of the tool bar before calling x_figure_window_size.
1984 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1985 when the window gets smaller.
1986 (x_set_foreground_color): Set frame's cursor_pixel.
1987 (x_set_foreground_color, x_set_background_color): Cleaned up.
1988 (x_set_font): Handle case of x_new_fontset returning the same name
1989 as before, although there was a change in fontsets.
1990
386ca361
MB
19912001-10-21 Miles Bader <miles@gnu.org>
1992
c2d53558 1993 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1994 (Flogxor): Add usage: string to doc string.
1995 * charset.c (Fstring): Likewise.
1996 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1997 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1998
14ff1ee0
PJ
19992001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2000
03be2694
PJ
2001 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
2002
2003 * alloc.c: Reindent DEFUNs with doc: keywords.
2004
2005 * abbrev.c (Finsert_abbrev_table_description): Reindent.
2006
14ff1ee0
PJ
2007 * frame.c: Change doc-string comments to `new style' [w/`doc:'
2008 keyword].
2009
71431a0e
GM
20102001-10-20 Gerd Moellmann <gerd@gnu.org>
2011
6aa97356 2012 * (Version 21.1 released.)
71431a0e 2013
39f624fa
PJ
20142001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2015
c2d53558 2016 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
2017
2018 * xdisp.c (invisible_text_between_p): Put prototype inside #if
2019 0 because unused.
2020
2021 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
2022 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
2023 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 2024
abcce93a
MB
20252001-10-20 Miles Bader <miles@gnu.org>
2026
2027 The following changes remove the glyph_row `inverse_p' field,
2028 which is never set anymore, due to other changes:
2029
2030 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
2031 (reassert_line_highlight, change_line_highlight): Declarations removed.
2032 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
2033 (line_hash_code, row_equal_p, fake_current_matrices)
2034 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
2035 (update_frame_line, update_frame_line, update_frame_line):
2036 Don't use `inverse_p' field.
2037 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2038 change_line_highlight_hook.
2039 (XTreassert_line_highlight, x_change_line_highlight):
2040 Functions removed.
c2d53558 2041 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2042 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2043 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2044 `inverse_p' field.
c2d53558 2045 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
2046 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2047 (w32_reassert_line_highlight, x_change_line_highlight):
2048 Functions removed.
2049 * w32console.c (reassert_line_highlight, change_line_highlight):
2050 Functions removed.
2051 (initialize_w32_display): Don't set reassert_line_highlight_hook
2052 or change_line_highlight_hook.
2053 (hl_mode): Function removed.
c2d53558
SM
2054 (reset_terminal_modes, set_terminal_modes, update_begin)
2055 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
2056 (clear_frame, ins_del_lines): Don't call it.
2057 * termhooks.h (reassert_line_highlight_hook)
2058 (change_line_highlight_hook): Declarations removed.
2059 * term.c (reassert_line_highlight_hook)
2060 (change_line_highlight_hook): Variables removed.
2061 (reassert_line_highlight, change_line_highlight): Functions removed.
2062 * msdos.c (IT_reassert_line_highlight)
2063 (IT_change_line_highlight): Functions removed.
2064 (internal_terminal_init): Don't set reassert_line_highlight_hook
2065 or change_line_highlight_hook.
2066 (highlight): Variable removed.
c2d53558 2067 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
2068 (IT_set_terminal_modes): Don't set or use it.
2069
2070 The following changes remove inverse-video support for terminals
2071 that use a `magic cookie' standout mode. Due to changes in the
2072 way mode-lines are displayed, such support no longer works
2073 anyway, and it's probable that almost no one uses such terminals
2074 anymore:
2075
2076 * term.c (standout_requested): Variable removed.
2077 (update_end, highlight_if_desired): Don't use it.
2078 (chars_wasted, copybuf): Variables removed.
2079 (write_standout_marker): Function removed.
c2d53558 2080 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
2081 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2082 Don't use `chars_wasted' or `copybuf'.
2083 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2084 Set `costs_set' to true.
2085 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2086 `chars_wasted'.
2087 (clear_end_of_line): Function removed.
2088 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2089 (clear_to_end): Call `clear_end_of_line' instead of
2090 `clear_end_of_line_raw'.
54800acb
MB
2091 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2092 (term_init): Don't set them.
2093 Turn off any standout/underline modes that require magic cookies.
c2d53558 2094 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
2095 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2096 Remove special processing for magic-cookie standout modes.
2097 (turn_off_face, turn_on_face): Remove special processing for
2098 underline magic-cookie glitch.
abcce93a 2099
0b5f679f
RS
21002001-10-19 Richard M. Stallman <rms@gnu.org>
2101
2102 * eval.c (syms_of_eval): Doc fixes.
2103
5a4a5bd4
GM
21042001-10-19 Gerd Moellmann <gerd@gnu.org>
2105
2106 * xdisp.c (redisplay_internal): Don't clear echo area if the
2107 mini-window is selected.
2108
79f1f96c
MB
21092001-10-19 Miles Bader <miles@gnu.org>
2110
b57c2708
MB
2111 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2112 doesn't take precedence if the affected property's value is nil.
2113
2114 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2115
79f1f96c
MB
2116 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2117 with fields and suggest using `forward-line' to avoid them.
2118 * editfns.c (Fline_beginning_position, Fline_end_position):
2119 Clarify documentation.
2120
ef879104
SM
21212001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2122
2123 * keymap.c (current_minor_maps): `override' only shadows its
2124 correspondent in minor-mode-map-alist, not the whole tail.
2125
97f4db8c
AI
21262001-10-18 Andrew Innes <andrewi@gnu.org>
2127
2128 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2129 optimization. The fontp->encoding array was not being initialized
2130 correctly when compiled with optimizations by MSVC.
2131
e6b70fd8
GM
21322001-10-18 Gerd Moellmann <gerd@gnu.org>
2133
30903479 2134 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 2135
0e804d38
AI
21362001-10-17 Andrew Innes <andrewi@gnu.org>
2137
2138 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2139
2140 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2141 font_info.charset field.
2142
2143 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2144 rather than working it out by calling w32_codepage_for_font for
2145 every glyph.
2146
66e5868a
AI
21472001-10-17 Andrew Innes <andrewi@gnu.org>
2148
2149 * w32term.c (w32_read_socket): Determine clipping rectangle for
2150 the entire frame, including areas covered by scrollbars and the
2151 menubar. This avoids internal arguments about whether a frame is
2152 fully obscured or not.
2153
15b00083
GM
21542001-10-17 Gerd Moellmann <gerd@gnu.org>
2155
23e8bd86
GM
2156 * xdisp.c (try_window_id): Undo last change. Give up if
2157 window ends in strings.
30903479 2158
9c6ba6d1 2159 * xdisp.c (try_window_id): Don't display lines after the window
30903479 2160 end if the rest of the window after the window end was already blank.
23e8bd86 2161
30903479 2162 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
2163 for the release of 21.1.
2164
30903479 2165 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 2166
945220bd
MB
21672001-10-17 Miles Bader <miles@gnu.org>
2168
2169 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2170 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2171 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2172 Change doc-string comments to `new style' [w/`doc:' keyword].
2173 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2174 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2175 out make-docfile.
2176
14242528
MB
21772001-10-16 Miles Bader <miles@gnu.org>
2178
2179 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2180
3ddf952f
GM
21812001-10-16 Gerd Moellmann <gerd@gnu.org>
2182
2183 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2184 *scratch*.
2185
f3fbd155
KR
21862001-10-16 Ken Raeburn <raeburn@gnu.org>
2187
2188 Avoid the assumption that car and cdr slots of cons cells are
2189 addressable lvalues; this allows for easier experimentation with
2190 other lisp implementations that may not permit such accesses for
2191 various reasons. Not quite complete -- buffer.c still needs some
2192 work, and w32/mac files need rechecking -- so compile-time
2193 enforcement is left disabled for now.
2194
2195 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 2196 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
2197 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2198 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2199 (XSETCAR, XSETCDR): New macros.
2200 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2201 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2202 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2203 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2204 XSETCDR.
2205 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
2206 * buffer.c (record_buffer, Fbury_buffer)
2207 (swap_out_buffer_local_variables, recenter_overlay_lists)
2208 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
2209 fields of a cons cell respectively.
2210 * callint.c (quotify_args, Fcall_interactively): Likewise.
2211 * ccl.c (Fregister_code_conversion_map): Likewise.
2212 * coding.c (detect_coding_system): Likewise.
2213 * composite.c (get_composition_id, make_composition_value_copy):
2214 Likewise.
30903479
SM
2215 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2216 (swap_in_symval_forwarding, set_internal, Fset_default)
2217 (Fmake_variable_buffer_local, Fmake_local_variable)
2218 (Fmake_variable_frame_local): Likewise.
f3fbd155 2219 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 2220 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 2221 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
2222 * minibuf.c (get_minibuffer): Likewise.
2223 * search.c (Fmatch_data): Likewise.
2224 * textprop.c (extend_property_ranges): Likewise.
c2d53558 2225 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
2226 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2227 Likewise.
2228 * w32term.c (x_delete_display): Likewise.
2229 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2230 Likewise.
c2d53558 2231 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 2232 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 2233 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
2234 (Fread_file_name): Use XSETCAR.
2235 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2236 CHECK_NUMBER_CDR.
2237 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2238 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2239 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2240 CHECK_NUMBER_CDR.
2241 * keyboard.c (read_char): Alter list traversal to avoid taking the
2242 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2243 (parse_menu_item): Use XSETCAR and XSETCDR.
2244 (reach_char_x_menu_prompt): Use XSETCAR.
2245 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2246 (Fcommand_execute): Use XSETCDR.
2247 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2248 (openp): Change list traversal to avoid using XCAR as lvalue.
2249 (read_list): Use XSETCDR.
2250 * process.c (wait_reading_process_input): Change wait_for_cell
2251 handling to avoid taking addresses of cons cell slots.
30903479
SM
2252 * xselect.c (x_own_selection, x_handle_selection_clear)
2253 (x_clear_frame_selections): Use XSETCDR.
2254 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2255 (x_handle_property_notify, x_get_foreign_selection)
2256 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 2257
502150e5
PJ
22582001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2259
018ba359
PJ
2260 * buffer.c: Put doc strings in comments.
2261
30903479 2262 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 2263
b56ba8de
SS
22642001-10-15 Sam Steingold <sds@gnu.org>
2265
2266 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2267
6a0b793a
PJ
22682001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2269
30903479
SM
2270 * process.c (process-inherit-coding-system-flag)
2271 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
2272 in comment.
2273
a1f17501 2274 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 2275 arguments. Put doc strings in comments.
a65da641
PJ
2276
2277 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 2278
aa601ad0
GM
22792001-10-15 Gerd Moellmann <gerd@gnu.org>
2280
30903479 2281 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 2282
aa601ad0
GM
2283 * window.c (select_window_1): Unfreeze window start. Remove a
2284 doubled test for WINDOW being live.
2285
288148a1
PJ
22862001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2287
dd8d1e71
PJ
2288 * fns.c (Fmapconcat): Fix typo in a doc string.
2289
288148a1
PJ
2290 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2291
9f5eb4a3
GM
22922001-10-15 Gerd Moellmann <gerd@gnu.org>
2293
2294 * xterm.c (x_draw_glyph_string): Restore clipping after
2295 drawing box.
2296
dbae44c8
PJ
22972001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2298
30903479 2299 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 2300
0c88c937
SM
23012001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2302
56378db4
GM
2303 * indent.c (skip_invisible): Use new retval of
2304 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 2305
845e4cf4
SM
2306 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2307 If a parent is reached and noinherit is set, exit immediately.
2308 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2309
0c88c937
SM
2310 * s/ms-w32.h (EXEC_SUFFIXES):
2311 * s/msdos.h (EXEC_SUFFIXES):
2312 * process.h (EXEC_SUFFIXES): Remove.
2313
2314 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2315 (decode_suffixes): Remove.
2316
2317 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
2318 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2319 (invisible_ellipsis_p): Remove.
0c88c937
SM
2320
2321 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2322 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2323 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
2324 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2325 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 2326
d19be8a9
PJ
23272001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2328
04d7d066
PJ
2329 * lisp.h (Ftop_level): Add prototype.
2330
d624284c
PJ
2331 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2332 (XTread_socket): Improve style of comments to follow other
2333 comments.
2334
a87414f9
PJ
2335 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2336 is already prototyped in included lisp.h).
2337
d19be8a9
PJ
2338 * frame.c (Fset_mouse_position): Improve style of comment to
2339 follow other comments.
2340 (Fset_mouse_pixel_position): Improve style of comment to follow
2341 other comments.
2342 (Fmake_frame_visible): Doc fix and typo in comment.
2343 (Fmake_frame_invisible): Doc fix and typo in comment.
2344 (Ficonify_frame): Fix typo in comment.
2345
c061c855
GM
23462001-10-14 Gerd Moellmann <gerd@gnu.org>
2347
37f6b5b6 2348 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 2349 * term.c, alloc.c: Put doc strings in comments.
c061c855 2350
e641b454
GM
23512001-10-13 Gerd Moellmann <gerd@gnu.org>
2352
2353 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2354 Provide definitions for doc strings in comments.
2355
2356 * fns.c: Put doc strings in comments.
2357
51724e26
EZ
23582001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2359
2360 * dired.c (file_name_completion): Ignore a candidate directory if
2361 it matches an element in completion-ignored-extensions that ends
2362 in a slash.
2363 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2364 feature in the doc string.
2365 (Ffile_name_completion): Ditto.
2366
be5fc59b
SM
23672001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2368
5a1373f3
SM
2369 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2370
2371 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2372
2373 * lisp.h (Fprovide): Update prototype.
2374 (Ffeaturep, invisible_p): Remove.
2375
bbc4a3d3 2376 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
2377 (DOLIST, LOOP_PROPVAL): New macros.
2378 (invisible_p, invisible_ellipsis_p): Use them.
2379 (invisible_noellipsis_p): New function.
2380 (syms_of_xdisp): Use empty_string.
2381
2382 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2383
2384 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2385 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2386
2387 * print.c (Fwith_output_to_temp_buffer): Align with
2388 internal_with_output_to_temp_buffer.
2389 (print_preprocess): Use traverse_intervals_noorder.
2390 (print_object): Update call to traverse_intervals.
2391
2392 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2393 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2394
2395 * intervals.c (traverse_intervals_noorder): New function.
2396 (search_for_interval, count_intervals): Use it.
2397 (traverse_intervals): Use less stack space and drop `depth' arg.
2398
2399 * fns.c (Ffeaturep): Add new `subfeature' arg.
2400 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2401 (Qsubfeatures): New var.
2402 (syms_of_fns): Initialize it.
2403
026f408d
SM
2404 * keymap.c (Fkey_description): Use empty_string.
2405 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2406 (syms_of_keymap): Setup inheritance between maps.
2407 Don't export Sdescribe_bindings_internal any more.
2408
be5fc59b
SM
2409 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2410
3365175e
GM
24112001-10-12 Gerd Moellmann <gerd@gnu.org>
2412
2413 * xterm.c (notice_overwritten_cursor): Renamed from
2414 note_overwritten_text_cursor. Rewritten to take glyph widths into
2415 account.
2416
2ab7765c
EZ
24172001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2418
2419 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2420 multi-line strings without a trailing "\n\".
2421
311346bb
PJ
24222001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2423
2424 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2425 defined.
2426
2168e04d
SM
24272001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2428
026f408d
SM
2429 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2430
c0ec53ad
SM
2431 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2432 * w32proc.c (sys_spawnve):
2433 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2434 * w32.c (check_windows_init_file):
2435 * sound.c (Fplay_sound):
026f408d 2436 * emacs.c (init_cmdargs):
c0ec53ad
SM
2437 * process.c (Fstart_process): Update calls to openp.
2438
2439 * callproc.c (Vexec_suffixes): New var.
2440 (Fcall_process): Update call to openp.
2441 (decode_suffixes): New function.
2442 (syms_of_callproc): Init exec-suffixes.
2443
2444 * lread.c (Vload_suffixes, default_suffixes): New vars.
2445 (openp): Take a lisp list of suffixes.
2446 Check for file-name-handlers even if the file was absolute already.
2447 (syms_of_lread): Declare load-suffixes.
2448 (Fload): Fix up call to openp.
2449 Don't bother checking for file-name-handler at the very beginning.
2450
f6333468
SM
2451 * keymap.h (Fcopy_keymap): Don't export.
2452
2453 * lisp.h (empty_string): Declare.
c0ec53ad
SM
2454 (Vload_suffixes, Vexec_suffixes): Declare.
2455 (openp): Update prototype.
f6333468
SM
2456
2457 * emacs.c (empty_string): New var.
2458 (syms_of_emacs): Initialize it.
2459
2460 * search.c (wordify): Use it.
2461
2462 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2463 selected window if it's not displayed there. Handle the case
2464 when the window is dedicated.
2465 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2466
2467 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2468
2168e04d
SM
2469 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2470 Remove left_ok and right_ok.
2471 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2472 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2473 new meaning of b_property.
2474
2475 * syntax.c (update_syntax_table): Simplify.
2476 (Fforward_comment): Don't skip quoted chars when going backward.
2477
13d95cc0
GM
24782001-10-11 Gerd Moellmann <gerd@gnu.org>
2479
beb0990f
GM
2480 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2481 in case I is of some unsigned type, in which case
2482 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2483 comparison becomes bogus.
2484
cb938d46
GM
2485 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2486 (Fuser_full_name): Fix bug treating a float as a fixnum.
2487
2488 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2489
2490 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 2491
13d95cc0
GM
2492 * lisp.h (circular_list_error): Add prototype.
2493
2494 * data.c (Qcircular_list): New variable.
2495 (circular_list_error): New function.
2496 (syms_of_data): Initialize it Qcircular_list.
2497
e35f6ff7
SM
24982001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2499
2500 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2501 casefiddle.c, buffer.c: Include keymap.h.
2502
619632ac
GM
25032001-10-10 Gerd Moellmann <gerd@gnu.org>
2504
2505 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2506 options. From Dave Love <d.love@dl.ac.uk>.
2507
5e5388f6
GM
25082001-10-09 Gerd Moellmann <gerd@gnu.org>
2509
2510 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2511 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2512
14a3dff7
GM
2513 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2514 unsigned char.
2515 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 2516
76ba8daf
AI
25172001-10-08 Andrew Innes <andrewi@gnu.org>
2518
2519 * lisp.h [max]: Undef min and max before redefining them.
2520
2521 * w32gui.h: Do not undef min and max.
2522
2523 * w32heap.h: Do not undef min and max.
2524
2525 * s/ms-w32.h: Do not undef min and max.
2526
166253cb
SM
25272001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2528
2529 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2530
0c4d9527
SS
25312001-10-08 Sam Steingold <sds@gnu.org>
2532
2533 * keymap.c (current-active-maps): Quote newlines (compilation error).
2534
14bfa771
EZ
25352001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2536
2537 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2538 bindings.elc, since otherwise doc strings in bindings.el get wrong
2539 offsets in etc/DOC.
2540
bdb7aa47
SM
25412001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2542
9985827f
SM
2543 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2544
2545 * keyboard.h (map_prompt): Remove.
2546
2547 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 2548 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 2549
bdb7aa47
SM
2550 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2551
2552 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2553
2554 * keyboard.c (map_prompt): Remove.
2555 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2556 Use Fkeymap_prompt.
2557
2558 * keymap.h: New file. Extracted from lisp.h.
2559
9985827f
SM
2560 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2561 (accessible_keymaps_1): New function.
2562 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2563 (Fwhere_is_internal): Use Fcurrent_active_maps.
2564 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2565 Insert in current buffer rather than standard-output.
2566 Don't call `help-mode'. Export to elisp.
2567 (describe_buffer_bindings): New wrapper.
2568 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2569 and Sdescribe_buffer_bindings.
2570
402c9a51
GM
25712001-10-08 Gerd Moellmann <gerd@gnu.org>
2572
9985827f 2573 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
2574 Remove code setting signal handler.
2575
9985827f 2576 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
2577 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2578
3fe81fdf
PJ
25792001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2580
2581 * keyboard.c: Don't define min/max.
2582
55fa7820
GM
25832001-10-08 Gerd Moellmann <gerd@gnu.org>
2584
9985827f 2585 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 2586 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 2587 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 2588 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 2589 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
2590 Don't define min/max.
2591
2592 * lisp.h (min, max): New macros.
2593
55fa7820
GM
2594 * puresize.h (BASE_PURESIZE): Increase to 725000.
2595
1aad31e4
PJ
25962001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2597
9180dc8c
PJ
2598 * xfaces.c (free_frame_menubar): Add prototype.
2599
01f67d2c
PJ
2600 * lisp.h (init_window): Add prototype.
2601
2602 * editfns.c: Include ctype.h.
2603
2604 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 2605 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
2606 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2607 variable `sb'.
2608
5f351ff1
PJ
2609 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2610 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2611 `popup_activated_flag' and `title'.
2612
479dfe87
PJ
2613 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2614
dff49fc8
PJ
2615 * emacs.c (main): Remove extra `;'.
2616
248ac615
PJ
2617 * atimer.h (struct atimer): Fix typos in a comment.
2618
2619 * atimer.c: Fix typo.
2620
af232c7d
PJ
2621 * Makefile.in: Fix typo.
2622
2623 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 2624
d876f455
MB
26252001-10-07 Miles Bader <miles@gnu.org>
2626
2627 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2628
0037e2f2
KR
26292001-10-07 Ken Raeburn <raeburn@gnu.org>
2630
b056f36d
KR
2631 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2632 Lisp_Object.
2633
0037e2f2
KR
2634 * lisp.h (Ffield_end): Declare.
2635
1a4372ef
GM
26362001-10-07 Gerd Moellmann <gerd@gnu.org>
2637
a4a74e8c
GM
2638 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2639
2640 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2641
2642 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2643
2644 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2645
1a4372ef
GM
2646 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2647 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2648
2649 * alloc.c (inhibit_garbage_collection): Simplify.
2650 (Fmemory_use_counts): Ditto.
2651
9985827f 2652 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
2653 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2654 most-negative-fixnum.
2655
9985827f 2656 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
2657 (FIXNUM_OVERFLOW_P): New macros.
2658
4650e362
MB
26592001-10-06 Miles Bader <miles@gnu.org>
2660
2661 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2662 scroll_bar_bottom_shadow_pixel fields.
2663 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2664 for the shadows, and tell the toolkit about them if we succeed.
2665 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2666 Free scroll-bar shadow colors.
2667 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2668 Free scroll-bar shadow colors when the background color changes.
2669 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2670 Initialize scroll-bar shadow-color fields.
2671
ace64e0a
GM
26722001-10-05 Gerd Moellmann <gerd@gnu.org>
2673
2674 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2675
ec66bdc7
MB
26762001-10-05 Miles Bader <miles@gnu.org>
2677
9985827f
SM
2678 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2679 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 2680 New functions (were in simple.el).
9985827f 2681 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
2682 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2683 (syms_of_minibuf): Initialize them.
2684
a0fb4492
GM
26852001-10-05 Gerd Moellmann <gerd@gnu.org>
2686
2687 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2688 (tiff_load): Install them as error and warning handler.
2689
0bcf87c1
AI
26902001-10-04 Andrew Innes <andrewi@gnu.org>
2691
2692 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2693 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 2694 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
2695 (x_to_w32_charset): Handle private format for unknown charsets.
2696 Handle wildcards in charset spec, by ignoring them.
2697 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2698 "*-" prefix from charset.
2699 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2700 handle the truncated font spec form constructed by font_list_1, so
2701 that we correctly identify the charset fields. Don't remove "*-"
2702 prefix from charset.
2703 (w32_list_synthesized_fonts): Fix argument to alloca.
2704
c89e4bc5
GM
27052001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2706
2707 * window.h (MINI_WINDOW_P): Use NILP.
2708
2709 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2710
2711 * termhooks.h (struct input_event): Use proper type for `kind'.
2712
27132001-10-04 Gerd Moellmann <gerd@gnu.org>
2714
2715 This handles unknown keysyms better than before. For example,
2716 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2717 Emacs formerly completely ignored F5. With the change, it derives
2718 a key symbol from the name of the X keysym, `ccaron' in this case.
2719 Reported by Martin Buchholz.
2720
2721 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2722 unknown keysyms.
2723
2724 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2725 that EVENT->code isn't a function key, use the keysym's name.
2726
27272001-10-04 Gerd Moellmann <gerd@gnu.org>
2728
2729 FOREACH is a macro that should make it easier to loop over Lisp
2730 lists with checks for cycles and proper lists.
2731
2732 * lisp.h (LIST_END_P, FOREACH): New macros.
2733
27342001-10-04 Gerd Moellmann <gerd@gnu.org>
2735
2736 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2737 called for a lost connection. Prevent dumping core in this case.
2738 Instead print the X error, and exit. On user request.
2739
2740 * xterm.c (error_msg): New variable.
2741 (x_fatal_error_signal): New function.
2742 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2743 as fatal_error_signal_hook around the call to XtCloseDisplay.
2744
2745 * emacs.c (fatal_error_signal_hook): New variable.
2746 (fatal_error_signal): Call that function.
2747
27482001-10-04 Gerd Moellmann <gerd@gnu.org>
2749
2750 With this, Emacs prints how much pure storage it will
2751 approximately need in case pure storage overflows while dumping.
2752
2753 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2754 New variables.
2755 (init_alloc_once): Initialize new variables.
2756 (PURE_POINTER_P): Use new variables.
2757 (pure_alloc): If pure storage overflows, allocate from the heap.
2758 (check_pure_size): New function.
2759 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2760
2761 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2762 (check_pure_size): Add prototype.
2763
2764 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2765
27662001-10-04 Gerd Moellmann <gerd@gnu.org>
2767
2768 This adds a post-gc-hook that's run with GC inhibited.
2769 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2770
2771 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2772 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2773 (Fgarbage_collect): Run post-gc-hook.
2774
27752001-10-04 Gerd Moellmann <gerd@gnu.org>
2776
2777 This adds `defvaralias' and `indirect-variable'. Changes not
2778 directly related to this feature are there to gain the same
2779 performance again as before variable aliases.
2780
2781 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2782 code to get and set symbol values, to take defvaralias into account.
2783
2784 (Note: the new `constant' bit-flag in symbols would make it
2785 possible to define arbitrary read-only variables, e.g. with
2786 `defconst'.)
2787
2788 Documentation is in lispref/variables.texi. Added to NEWS.
2789
2790 * lisp.h (enum symbol_interned): New enumeration.
2791 (struct Lisp_Symbol): Remove member `obarray', add
2792 `indirect_variable', `constant', and `interned'.
2793 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2794 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2795 (indirect_variable): Add prototype.
2796
2797 * print.c (print_preprocess, print_object): Test internedness of
2798 symbols differently.
2799
2800 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2801 bit-fields.
2802 (init_obarray): Likewise for t and nil.
2803
2804 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2805 (Fdefvaralias): New function.
2806 (specbind): Simplify the test if symbol is a constant.
2807 (syms_of_eval): Defsubr Fdefvaralias.
2808
2809 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2810 (Qcyclic_variable_indirection): New variable.
2811 (Fkeywordp): Check for internedness differently.
2812 (Fmakunbound): Simplify the test if symbol is a constant.
2813 (indirect_variable, Findirect_variable): New functions.
2814 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2815 aliased symbol.
2816 (let_shadows_buffer_binding_p): Check for variable aliases.
2817 (set_internal): Simplify the test if SYMBOL is a constant.
2818 If SYMBOL has a buffer-local value and is an alias, use the aliased
2819 symbol instead.
2820 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2821 Sindirect_variable.
2822
2823 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2824 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2825 set directly.
2826
2827 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2828
2829 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2830 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2831 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2832
ab952a4f
GM
28332001-10-04 Gerd Moellmann <gerd@gnu.org>
2834
2835 * Branch for 21.1.
b56ba8de 2836
ba88ff28
MB
28372001-10-03 Miles Bader <miles@gnu.org>
2838
2839 * callproc.c (syms_of_callproc): Explicitly state in the
2840 documentation for `process-environment' that earlier entries take
2841 precedence over later ones.
2842
ae1a9581
MB
28432001-10-02 Miles Bader <miles@gnu.org>
2844
2845 * textprop.c (Fnext_char_property_change)
2846 (Fprevious_char_property_change): Remove reference to non-existant
2847 argument OBJECT from doc-string.
2848
257e3f57
GM
28492001-10-01 Gerd Moellmann <gerd@gnu.org>
2850
2851 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2852 (try_window_id): Skip back over lines ending in a newline from a
2853 string.
2854
2855 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2856 New bit flag
2857
c1f29759
RS
28582001-10-01 Richard M. Stallman <rms@gnu.org>
2859
2860 * search.c (Freplace_match): Doc fix.
2861
c30dce3d
AI
28622001-09-28 Andrew Innes <andrewi@gnu.org>
2863
2864 * w32menu.c (set_frame_menubar): Take into account that
2865 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2866 <raeburn@gnu.org>.
2867
03be5931
EZ
28682001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2869
2870 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2871
75bec752
PJ
28722001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2873
2874 * s/gnu-linux.h: Fix a typo in comment.
2875
83100e0a
AS
28762001-09-28 Andreas Schwab <schwab@suse.de>
2877
2878 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2879 nocombreloc, in case -z combreloc is the default.
2880
a74b48cf
GM
28812001-09-28 Gerd Moellmann <gerd@gnu.org>
2882
2883 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2884 really going on here.
2885
09c4719e
SM
28862001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2887
2888 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2889
f7d5d963
EZ
28902001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2891
2892 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2893 utf-8, menu-bar, and latin-N.
2894 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2895 unconditionally now.
2896 (lisp): Add latin-N, since they are preloaded.
2897
9240e746
GM
28982001-09-27 Gerd Moellmann <gerd@gnu.org>
2899
14531065
GM
2900 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2901 to the left. Some cleanup.
2902
9240e746
GM
2903 * xdisp.c (display_mode_element): One more case where a string's
2904 multibyteness should be used for display.
2905
edd1e654
GM
29062001-09-26 Gerd Moellmann <gerd@gnu.org>
2907
b02439c8
GM
2908 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2909 reading at EOF.
2910
032906b1 2911 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2912 of the only temporarily set echoing flag for deciding when
032906b1
GM
2913 the cancel echoing.
2914
2915 * keyboard.c (echo_kboard): Make externally visible.
2916
2917 * lisp.h (echo_kboard): Declare extern.
2918
cb617e7c 2919 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2920 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2921 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2922 this round of redisplay if make_cursor_line_fully_visible fails.
2923 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2924 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2925
2926 * dispextern.h (required_matrix_width, required_matrix_height):
2927 Add prototypes.
2928
09c4719e
SM
2929 * dispnew.c (required_matrix_width, required_matrix_height):
2930 New functions.
cb617e7c 2931 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2932 (allocate_matrices_for_frame_redisplay: Use them.
2933 Remove parameters CH_DIM.
cb617e7c 2934
edd1e654
GM
2935 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2936 and selected_window to the frame of the window whose mode-lines
2937 are displayed, and to the window itself.
2938 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2939 here.
edd1e654 2940
924b604c
GM
29412001-09-25 Gerd Moellmann <gerd@gnu.org>
2942
daba7643
GM
2943 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2944 the image cache under us.
2945
b7a22712 2946 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2947 with a string value, use that string's multibyteness for displaying.
b7a22712 2948
ad648212
GM
2949 * keyboard.c (read_char): Don't clear a message for a switch-frame
2950 event. From Stefan Monnier <monnier@cs.yale.edu>.
2951
9f8531e5
GM
2952 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2953 version for after 21.1.
2954
2955 * xdisp.c (row_containing_pos): Make externally visible.
2956
2957 * dispextern.h (row_containing_pos): Add prototype.
2958
924b604c
GM
2959 * process.c (send_process): Disable composition if from_byte < 0.
2960 From Kenichi Handa <handa@etl.go.jp>.
2961
6f3f0db4
GM
29622001-09-24 Gerd Moellmann <gerd@gnu.org>
2963
c69c0ebc
GM
2964 * xterm.c (refreshicon): Function removed.
2965
d1182bc4
GM
2966 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2967
2968 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2969
2970 * xterm.c (toplevel): Remove includes in #if 0.
2971
6f3f0db4
GM
2972 * process.c (sigchld_handler) [LINUX]: Don't return from
2973 the signal handler at the end of the loop.
2974
59957f85
GM
29752001-09-21 Gerd Moellmann <gerd@gnu.org>
2976
09c4719e
SM
2977 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2978 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2979
a0528984
EZ
29802001-09-21 Markus Rost <rost@math.ohio-state.edu>
2981
2982 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2983
db92b288
GM
29842001-09-20 Gerd Moellmann <gerd@gnu.org>
2985
3fed8ad5
GM
2986 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2987 since this function can be called during GC.
2988
db92b288
GM
2989 * callproc.c (Fcall_process): Handle errors from pipe(2).
2990 (child_setup): Delete code in #ifdef vipc.
2991
7121b85a
GM
29922001-09-19 Gerd Moellmann <gerd@gnu.org>
2993
72f62cb5
GM
2994 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2995 (display_mode_element): Display the string from decode_mode_spec
2996 depending on its multibyteness.
2997
a2697022
GM
2998 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2999
7121b85a
GM
3000 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
3001
bfc97351
GM
30022001-09-18 Gerd Moellmann <gerd@gnu.org>
3003
c9063433
GM
3004 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
3005 recursive_edit_unwind.
3006 (recursive_edit_unwind): Set kboard state according to
3007 SINGLE-KBOARD.
3008
3fbdba3e
GM
3009 * buffer.c (modify_overlay): Don't do nothing if START == END;
3010 This can still be a modification, for example when an overlay has
3011 a before-string or after-string.
3012 (Fdelete_overlay): Prevent redisplay optimizations when deleting
3013 an overlay with before-string or after-string.
3014
1270031d
GM
3015 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
3016 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
3017
bfc97351
GM
3018 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
3019 first_unchanged_at_end_row is in front of
3020 last_unchanged_at_beg_row. This code should be removed after the
3021 release of 21.1.
3022
d8a973aa
GM
30232001-09-17 Gerd Moellmann <gerd@gnu.org>
3024
e18c8b8d
GM
3025 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
3026 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
3027
d8a973aa
GM
3028 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
3029 versions >= 2.95.
3030
ed7d6ba4
EZ
30312001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
3032
3033 * dired.c (Ffile_attributes): Doc fix.
3034
551629f9
GM
30352001-09-14 Gerd Moellmann <gerd@gnu.org>
3036
3037 * fileio.c (Ffile_symlink_p): Fix last change.
3038
3039 * filelock.c (current_lock_owner): Fix last change.
3040
4c8c7926
GM
30412001-09-13 Gerd Moellmann <gerd@gnu.org>
3042
620c4704
GM
3043 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3044 take that to mean that the buffer is too small.
3045
81c3310d
GM
3046 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3047 that to mean that the buffer is too small.
3048
06fd3792
GM
3049 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3050 current buffer's multibyteness when discarding the iterator's
3051 stack.
3052
4c8c7926
GM
3053 * xfns.c (Fx_window_property): Handle case that property gets
3054 deleted between the two calls to XGetWindowProperty.
3055
9a72e4c1
GM
30562001-09-11 Gerd Moellmann <gerd@gnu.org>
3057
bd819d14 3058 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 3059
a41edd99
GM
3060 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3061 in addition to read-only.
3062
3063 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3064 to t in addition to read-only.
3065
3066 * lisp.h (Qinhibit_modification_hooks): Declare.
3067
3068 * insdel.c (Qinhibit_modification_hooks): New variable.
3069 (syms_of_insdel): Initialize and staticpro it.
3070
d4881c6a
GM
3071 * textprop.c (verify_interval_modification): Don't run
3072 modification-hooks if inhibit_modification_hooks.
3073
3074 * dispnew.c (set_window_cursor_after_update): Fix code
3075 finding glyph row containing cursor when cursor_in_echo_area
3076 is >= 0.
3077
9a72e4c1
GM
3078 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3079 (add_to_log): Use bcopy instead of strcpy.
3080 (init_from_display_pos): Use an explicit loop over bytes in
3081 overlay strings instead of calling index.
3082
f4a374a1
GM
30832001-09-10 Gerd Moellmann <gerd@gnu.org>
3084
300e57bd
GM
3085 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3086
3087 * dispnew.c (direct_output_for_insert): Don't change IT's
3088 stop_charpos to something in front of its current position.
3089
f4a374a1
GM
3090 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3091 `format'.
3092
7e4cbc91
RS
30932001-09-10 Richard M. Stallman <rms@gnu.org>
3094
3095 * frame.c (Fmouse_position): Doc fix.
3096
6afad91e
GM
30972001-09-07 Gerd Moellmann <gerd@gnu.org>
3098
3099 * xdisp.c (init_from_display_pos): Don't compare the result
3100 of calling index with NULL.
3101
f76e0368
GM
31022001-09-06 Gerd Moellmann <gerd@gnu.org>
3103
3104 * xfns.c (x_set_background_color): Don't change the colors
3105 of the X window of scroll bar widgets.
3106
9ead1b60
AI
31072001-09-05 Andrew Innes <andrewi@gnu.org>
3108
3109 * w32fns.c (w32_createwindow): Undo last change.
3110
c3b497b3
GM
31112001-09-05 Gerd Moellmann <gerd@gnu.org>
3112
08e1d6df
GM
3113 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3114
c3b497b3
GM
3115 * xdisp.c (string_buffer_position): Use *single_char_property*
3116 functions instead of the *single_property* functions.
b56ba8de 3117
8f860180
AI
31182001-09-04 Andrew Innes <andrewi@gnu.org>
3119
9a72e4c1
GM
3120 * w32term.c (w32_read_socket): Add more information to debugging
3121 output.
8f860180
AI
3122
3123 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3124 from Emacs frames, so that calls to GetClipBox in w32term.c
3125 correctly report when part of a frame is visible (including
3126 scrollbars, etc). This prevents repeated redrawing of frames when
3127 only a scrollbar is visible.
3128 (w32_wnd_proc): Add more frame information to debugging output.
3129
2ee1aa00
SM
31302001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3131
3132 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3133
e3b22517
GM
31342001-09-03 Gerd Moellmann <gerd@gnu.org>
3135
7e376260
GM
3136 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3137 help-echo for a string which doesn't have help-echo itself, use
3138 get-char-property to obtain the help-echo from the string's buffer
3139 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3140 have mouse-face, look ``under'' the string for mouse-face from an
3141 overlay.
3142 (fast_find_position): Add parameter STOP. In the final row, stop
3143 before glyphs having STOP as object. Don't consider glyphs that
3144 are not from a buffer.
3145
e3b22517
GM
3146 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3147
9a249bba
EZ
31482001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3149
3150 * fns.c (Fmd5): Doc fix.
3151
c9979669
GM
31522001-08-31 Gerd Moellmann <gerd@gnu.org>
3153
3154 * composite.c (update_compositions): Do nothing if
3155 inhibit-modification-hooks is set.
3156
9584e63a
GM
31572001-08-30 Gerd Moellmann <gerd@gnu.org>
3158
986ec8f2 3159 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 3160 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
3161 glyph matrices etc. in a core dump.
3162
92a25631
GM
3163 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3164 (syms_of_xdisp): Initialize them.
3165 (handle_single_display_prop): Don't change point, bind `object',
3166 `position', and `buffer-position' instead to the object having the
2ee1aa00 3167 `display' property, position in the object and position in the buffer.
92a25631 3168
9584e63a
GM
3169 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3170 of the buffer if REPLACE is non-nil.
3171
d38633a3
GM
31722001-08-29 Gerd Moellmann <gerd@gnu.org>
3173
3174 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3175
f4fccc1e
EZ
31762001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3177
3178 * w32term.c (x_set_glyph_string_background_width)
3179 (show_mouse_face): Track the last changes in xterm.c.
3180
eaaa65b0
GM
31812001-08-28 Gerd Moellmann <gerd@gnu.org>
3182
7b0870b2
GM
3183 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3184 string's background width so that multi-line mouse-face is drawn
3185 to the right edge of the window.
3186 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3187 glyphs.
3188
6b6e2422 3189 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 3190 before inserting/writing glyphs.
6b6e2422 3191
eaaa65b0
GM
3192 * xdisp.c (display_mode_element): Use string_byte_to_char to
3193 determine character positions in strings, use chars_in_text
3194 instead of strwidth.
3195 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3196 a matrix as parameter; this is easier to use from GDB.
3197
9ad62cf8
MB
31982001-08-28 Miles Bader <miles@gnu.org>
3199
2ee1aa00
SM
3200 * textprop.c (Fprevious_single_char_property_change)
3201 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 3202
32171635
GM
32032001-08-27 Gerd Moellmann <gerd@gnu.org>
3204
47d57b22
GM
3205 * fileio.c (Finsert_file_contents): Allocate, restore, and
3206 free composition data in the case of REPLACE not being nil.
3207
3208 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3209 there exist overlay strings with newlines at POS.
3210 (text_outside_line_unchanged_p): Return 0 if changes start at
3211 START and overlays exist at START. Likewise for END.
3212 (try_window_id): Give up if init_to_row_end returns 0.
3213
32171635
GM
3214 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3215 unconditionally.
3216
e1249666
GM
32172001-08-24 Gerd Moellmann <gerd@gnu.org>
3218
33954c45
GM
3219 * keymap.c (access_keymap): Return the cdr of the binding of
3220 a generic character instead of its definition (KEY . BINDING).
3221
e1249666
GM
3222 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3223 to 0 also in the REPLACE case.
3224
fb4c6c96
AC
32252001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3226
3227 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3228 open to determine whether file is readable (as for DOS_NT).
3229
59ecf80b
GM
32302001-08-23 Gerd Moellmann <gerd@gnu.org>
3231
3232 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3233 coding.type is coding_type_no_conversion or coding_type_raw_text,
3234 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3235 non-nil instead of just setting enable_multibyte_characters in the
3236 buffer to nil.
3237
40e33037
GM
32382001-08-22 Gerd Moellmann <gerd@gnu.org>
3239
374388c3
GM
3240 * dispextern.h (struct face_cache): Add member
3241 menu_face_changed_p.
3242
3243 * xfaces.c (menu_face_changed_default): New variable.
3244 (menu_face_changed_count): Variable removed.
3245 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3246 the menu_face_changed_default flag, otherwise set the FRAME's
3247 menu_face_changed_p flag if the `menu' face has been changed.
3248 Prevent calling set_font_frame_param if FRAME is t.
3249 (make_face_cache): Initialize cache's menu_face_changed_p
3250 from menu_face_changed_default.
3251 (realize_basic_faces): Look into the frame's face cache to
3252 determine if the menu appearance needs updating.
3253
40e33037
GM
3254 * keymap.c (access_keymap): Fix last change to not consider
3255 IDX when it has modifiers.
3256
859ea4b8
GM
32572001-08-21 Gerd Moellmann <gerd@gnu.org>
3258
3259 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3260 . BINDING) exists, where GENERIC-CHAR is the generic character of
3261 the charset of IDX, return BINDING unless there exists a binding
3262 for IDX itself.
3263
e8660d73
GM
32642001-08-16 Gerd Moellmann <gerd@gnu.org>
3265
cca1b1d7
GM
3266 * xrdb.c (SYSV): Don't define on Solaris 2.
3267 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3268
e8660d73 3269 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 3270 of the screen line, not text line, containing IT's current position.
e8660d73 3271
93aba6fc
GM
32722001-08-15 Gerd Moellmann <gerd@gnu.org>
3273
288d4e06
GM
3274 * window.c (window_scroll_pixel_based): Don't recenter if
3275 PT is partially visible in the window.
3276
3452efc2
SM
3277 * xterm.c (expose_window_tree, expose_window, expose_line):
3278 Return 1 when overwriting mouse-face.
82f053ab
GM
3279 (expose_frame): If mouse-face was overwritten, redo it.
3280
93aba6fc
GM
3281 * xfaces.c (x_update_menu_appearance): Don't call
3282 set_frame_menubar, let the next redisplay do it.
3283
858a55c1
AI
32842001-08-14 Andrew Innes <andrewi@gnu.org>
3285
3286 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3287 drawing glyph string.
3288
3a990b67
EZ
32892001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3290
3291 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3292 running HI-UX/MPP.
3293
04386463
GM
32942001-08-14 Gerd Moellmann <gerd@gnu.org>
3295
3296 * xfaces.c (x_update_menu_appearance): Save and restore value of
3297 interrupt_input_blocked.
3298
3e6385a4
GM
32992001-08-13 Gerd Moellmann <gerd@gnu.org>
3300
b0e619b4
GM
3301 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3302 a line start, move back to the line start.
3452efc2 3303
0de73d5a
GM
3304 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3305 exactly when a mini-buffer is active.
3306
3e6385a4
GM
3307 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3308 in units of 1/8 character on non window-system frames.
3309 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3310
d1b5f629
EZ
33112001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3312
3313 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3314 a doc string.
3315
eaa2319f
GM
33162001-08-09 Gerd Moellmann <gerd@gnu.org>
3317
8e3189f0
GM
3318 * keyboard.c (Vpre_help_message): New variable.
3319 (syms_of_keyboard): Initialize and staticpro it.
3320 (show_help_echo): Record current message before displaying a
3321 help-echo, and restore that message when clearing the help.
3322
eaa2319f
GM
3323 * xfns.c (x_create_im): Remove prototype.
3324
3325 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3326
3327 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 3328
eaa2319f
GM
33292001-08-08 Gerd Moellmann <gerd@gnu.org>
3330
3331 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 3332 windows whose height has changed, disable partially visible lines.
eaa2319f 3333
17fdcfc8
GM
33342001-08-07 Gerd Moellmann <gerd@gnu.org>
3335
22d01aed 3336 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 3337 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 3338
17fdcfc8
GM
3339 * xdisp.c (start_display): Don't try to determine the continuation
3340 lines width if lines are truncated. It's superfluous and leads to
3341 incorrect results if POS is not visible in the window after
3342 reseating the iterator at the previous line start.
3343
8e3fe78e
GM
33442001-08-06 Gerd Moellmann <gerd@gnu.org>
3345
3346 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3347
98a8938c
GM
33482001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3349
3350 * alloc.c (init_stack): Remove declaration.
3351
18f9986a
GM
33522001-08-03 Gerd Moellmann <gerd@gnu.org>
3353
5e1f85e0
GM
3354 * keyboard.c (read_key_sequence): Check that key is an integer
3355 before comparing it with quit_char.
3356 (add_command_key): Use larger_vector.
3357 (read_char_x_menu_prompt): Instead of converting symbol and
3358 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 3359 which cannot be confused with valid events.
5e1f85e0
GM
3360 (read_char): When reading from Vunread_command_events, check for
3361 events of the form (EVENT . disabled) instead of
3362 (EVENT . nil).
3363
18f9986a
GM
3364 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3365 a float, determine the max height from the frame's height.
3366
fbc7f2a6
GM
33672001-08-02 Gerd Moellmann <gerd@gnu.org>
3368
3369 * xdisp.c (redisplay_internal): Take message_cleared_p into
3370 account only if minibuf_level == 0.
3371
81b1a79d
GM
33722001-08-01 Gerd Moellmann <gerd@gnu.org>
3373
e5c60873
GM
3374 * xdisp.c (redisplay_internal): Add a check for the last
3375 displayed message.
3452efc2 3376
6e019995
GM
3377 * xdisp.c (message_cleared_p): New variable.
3378 (clear_message): Set message_cleared_p when clearing the current
3379 message.
3380 (redisplay_internal): Look at message_cleared_p to capture
3381 the case that the echo area should be cleared.
3382
308a74d8
GM
3383 * keyboard.c (command_loop_1): Fix spelling of
3384 resize_echo_area_exactly.
3385
3452efc2 3386 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
3387
3388 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3389
81b1a79d
GM
3390 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3391 current matrix when the window gets smaller.
3392
ada329e6
EZ
33932001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3394
3395 * print.c (strout): Cast the character passed to insert_char to
3396 unsigned char, to avoid sign extension when it is promoted to int.
3397
ed86208c
GM
33982001-07-31 Gerd Moellmann <gerd@gnu.org>
3399
3400 * fileio.c (Finsert_file_contents): Don't treat a return value
3401 of 0 from emacs_read as an IO error.
3402
6594ac22
GM
34032001-07-30 Gerd Moellmann <gerd@gnu.org>
3404
cef68af5
GM
3405 * keyboard.c (abs): New macro.
3406 (double_click_fuzz): New variable.
3407 (make_lispy_event): Use it to determine what makes a double-click.
3408 (syms_of_keyboard): DEFVAR_INT it.
3409
6594ac22
GM
3410 * xmenu.c (set_frame_menubar): Take into account that
3411 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3412 <raeburn@gnu.org>.
3413
75c5350a
GM
34142001-07-27 Gerd Moellmann <gerd@gnu.org>
3415
3416 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3417
3418 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3419 of row's visible height.
3420
3421 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
3422 deal with the first overlay string having an image `display' property.
3423 (try_window_reusing_current_matrix, compute_line_metrics):
3424 Fix computation of row's visible height for the case that part of the
75c5350a
GM
3425 row is invisible above and part of the row is at the same time
3426 invisible below the window.
3427
ac49effe
GM
34282001-07-26 Gerd Moellmann <gerd@gnu.org>
3429
3430 * xfns.c (x-show-tip): Doc fix.
3452efc2 3431
ac49effe
GM
3432 * xfns.c (Vx_max_tooltip_size): New variable.
3433 (syms_of_xfns): DEFVAR_LISP it.
3434 (Fx_show_tip): Set frame's window_width to the width of the
3435 window. Use a maximum tooltip size specified by
3436 Vx_max_tooltip_size, if that has valid contents.
3437 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 3438
8c3b00cb
AI
34392001-07-26 Andrew Innes <andrewi@gnu.org>
3440
3441 * w32term.c (x_display_list): New variable.
3442 (w32_term_init): Set it.
3443
3444 * w32term.h (x_display_list): New extern.
3445
16098288
GM
34462001-07-26 Gerd Moellmann <gerd@gnu.org>
3447
3448 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
3449 is non-nil, instead of when redisplaying_p is non-zero.
3450 See comment there.
16098288
GM
3451 (mark_window_display_accurate_1): Add an assertion.
3452
64c5be50
GM
34532001-07-25 Gerd Moellmann <gerd@gnu.org>
3454
e743f599
GM
3455 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3456
563b384d
GM
3457 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3458 events so that we get a chance of processing expose events.
3459
64c5be50
GM
3460 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3461
296808a5
GM
34622001-07-24 Gerd Moellmann <gerd@gnu.org>
3463
3464 * xfns.c (valid_image_p): Protect better against invalid image
3465 specifications. Previous code could signal an error.
3466
5247262a
GM
34672001-07-23 Gerd Moellmann <gerd@gnu.org>
3468
3452efc2 3469 * indent.c (current_column): Fix column computation in the
f1004faf
GM
3470 presence of display table entries.
3471 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3472
dd42b31a
GM
3473 * dispnew.c (adjust_glyph_matrix): In the optimization for
3474 windows whose height has changed, use the new window height
3475 to compute which rows to invalidate.
3476
9e5a7f2a
GM
3477 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3478 (MAX_10_EXP): New macro.
3479 (Fformat): Use it.
3480
5247262a
GM
3481 * coding.c (code_convert_region): Handle the multibyte case if
3482 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3483
177ab8ce
GM
34842001-07-20 Gerd Moellmann <gerd@gnu.org>
3485
6e07c0a5
GM
3486 * dispextern.h (struct face): Change type of `stipple' to
3487 int; it's an ID.
3488
177ab8ce
GM
3489 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3490
b5b80599
GM
34912001-07-19 Gerd Moellmann <gerd@gnu.org>
3492
4e2a256b
GM
3493 * dispnew.c (update_window): Don't set the cursor at the end
3494 of the update if display update has been paused.
3495
3452efc2 3496 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 3497
c1fd9232
KR
34982001-07-18 Ken Raeburn <raeburn@gnu.org>
3499
3500 * fns.c (Fset_char_table_default): Check that a charset is defined
3501 before checking its dimension.
3502
928a85c1
KR
35032001-07-17 Ken Raeburn <raeburn@gnu.org>
3504
3505 * coding.c (setup_coding_system): Don't do any designation based
3506 on reg_bits if charset is not yet defined.
3507
fb4c6c96 3508 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
3509 pointer, using eassert.
3510
de11c1ea
GM
35112001-07-17 Gerd Moellmann <gerd@gnu.org>
3512
3452efc2
SM
3513 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3514 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 3515
467f1209
GM
35162001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3517
3518 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3519
c3d6be34
GM
35202001-07-16 Gerd Moellmann <gerd@gnu.org>
3521
c1d61a7d
GM
3522 * fileio.c (unwind_read): Function removed.
3523 (read_non_regular, read_non_regular_quit): New functions.
3524 (Finsert_file_contents): When reading from non-regular files,
3525 arrange to catch a `quit' and terminate the loop. Rearrange
3526 code so that a `quit' when reading from a regular file doesn't
3527 insert text in the buffer.
3528
c3d6be34
GM
3529 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3530 Clear faces afterwards.
3531 (clear_font_table): Take a x_display_info parameter. Don't free
3532 fonts being the default font of any frame on the given display.
3533
e06aa1f9
GM
35342001-07-13 Gerd Moellmann <gerd@gnu.org>
3535
3536 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3537 instead of CHAR_STRING which can signal an error.
3538
3539 * charset.c (char_to_string_1): Extracted from char_to_string.
3540 Return -1 instead of signaling an error.
3541 (char_to_string): Use it.
3542
3543 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3544
176c92e6
SM
35452001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3546
3547 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3548 is t, don't try to append anything to it.
3549
1c56232f
EZ
35502001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3551
3552 * dired.c (file_name_completion): Pass dp->d_name to
3553 Fstring_match, not elt, which is always nil here.
3554
1d2b2268
GM
35552001-07-12 Gerd Moellmann <gerd@gnu.org>
3556
3557 * xselect.c (x_decline_selection_request): Handle errors
3558 caused by receivers that have vanished.
3559
3560 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3561 ignoring events on foreign windows in #if 0. Always dispatch
3562 the event after checking it with x_handle_property_notify.
3563
3564 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
3565 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3566 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
3567 (toplevel): Add prototypes for file-local functions.
3568 (x_atom_to_symbol): Remove DPYINFO parameter.
3569
fe5a0162
SM
35702001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3571
3572 * w32menu.c (menubar_selection_callback, w32_menu_show):
3573 Initialize `entry' to nil.
3574 (w32_dialog_show): Remove unused `save_wv' variable.
3575 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3576
a777242c
GM
35772001-07-11 Gerd Moellmann <gerd@gnu.org>
3578
8ee5b6a3
GM
3579 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3580
d0e2444e
GM
3581 * fileio.c (unwind_read): Print a message when discarding inserted
3582 text or switching the buffer to unibyte. Change parameter.
3583 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 3584
a777242c
GM
3585 * fileio.c (unwind_read): New function.
3586 (Finsert_file_contents): Record it as unwind-function for
3587 the case that reading is interrupted by C-g.
3588
ae794295
GM
35892001-07-10 Gerd Moellmann <gerd@gnu.org>
3590
fe5a0162 3591 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
3592 update when scrolling_window returns 0.
3593
6b05fae3
GM
3594 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3595
3596 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 3597 for the case that x_decode_color signals an error.
6b05fae3 3598
ae794295
GM
3599 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3600
bb6e8cee
GM
36012001-07-09 Gerd Moellmann <gerd@gnu.org>
3602
3603 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3604 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3605 around ioctls.
3606
36b40a8a
EZ
36072001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3608
24b97d4b
EZ
3609 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3610 doc string line for dos-timezone-offset.
3611
36b40a8a
EZ
3612 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3613 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
3614 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3615 line for dos-unsupported-char-glyph.
36b40a8a
EZ
3616
3617 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3618
0967b4b0
GM
36192001-07-05 Gerd Moellmann <gerd@gnu.org>
3620
f25cfe53
GM
3621 * sound.c: Include Emacs' header files with #include "...".
3622
0967b4b0
GM
3623 * eval.c (specbind): Additionally record the buffer that was
3624 current when a buffer-local or frame-local variable was bound.
3625
c347a1c3
GM
36262001-07-04 Gerd Moellmann <gerd@gnu.org>
3627
3628 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3629 to unibyte characters in unibyte buffers.
3630
6332ca8a
GM
36312001-07-03 Gerd Moellmann <gerd@gnu.org>
3632
38472d44
GM
3633 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3634 the frame on the binding stack. Change format of entries for
3635 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3636 (unbind_to): Handle unbinding a frame-local variable.
3637
6332ca8a 3638 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 3639 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
3640 (dump_glyph_row): Print row's continuation_lines_width.
3641 (try_window_id): Take the shortcut if ZV is visible in the
3642 window, but there are actually no changes at ZV.
3643
63d1b174
GM
36442001-07-02 Gerd Moellmann <gerd@gnu.org>
3645
4c175203
GM
3646 * xterm.h (x_free_dpy_colors): Add prototype.
3647
3648 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3649 right number of arguments.
3650
0b54ce28
GM
3651 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3652 ($(lwlibdir)TAGS): New target.
4c175203 3653 (TAGS): Fix dependency list.
0b54ce28 3654
63d1b174
GM
3655 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3656 with input blocked.
3657
d827466c
GM
36582001-06-30 Gerd Moellmann <gerd@gnu.org>
3659
3660 * emacs.c (main): Remove extern declaration for sys_nerr, which
3661 isn't used and causes a compilation error with GCC 3.0 on
3662 FreeBSD 4.3.
3663
b5cb1ada
GM
36642001-06-27 Gerd Moellmann <gerd@gnu.org>
3665
a5d3ec3f 3666 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 3667 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
3668 (toplevel): Include <signal.h> and syssignal.h.
3669
b5cb1ada
GM
3670 * sound.c (vox_configure, vox_close): Turn off atimers
3671 around ioctls.
3672
d9bad487
GM
36732001-06-26 Gerd Moellmann <gerd@gnu.org>
3674
fdbb67fe
GM
3675 * keyboard.c (read_char) <non_reread>: Record the previous idle
3676 start time before calling timer_stop_idle.
3677 (read_char) <reread_first>: After processing a help-echo event,
3678 restore the previous idle start time.
3679
d9bad487
GM
3680 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3681 the start of invisible text.
3682 (setup_for_ellipsis): New function.
3683 (next_overlay_string): After all overlay strings have been
3684 processed, display an ellipsis if necessary.
3685 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3686 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3687
3688 * dispextern.h (struct iterator_stack_entry): Add member
3689 display_ellipsis_p.
3690
2b9c25e0
GM
36912001-06-25 Gerd Moellmann <gerd@gnu.org>
3692
80de57df
GM
3693 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3694 on the value of the wait-for-wm frame parameter.
3695
3696 * xterm.h (struct x_output): Add member wait_for_wm.
3697
3698 * xfns.c (Qwait_for_wm): New variable.
3699 (x_frame_parms): Add entry for `wait-for-wm".
3700 (x_set_wait_for_wm): New function.
3701 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3702 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3703
2b9c25e0
GM
3704 * xdisp.c (try_window_id) <all changes below window end>: Don't
3705 take this shortcut if ZV is visible in the window.
3706 (try_window_id): When checking for window start being in changed
3707 text, don't check that the buffer's size has changed.
3708
f772775c
RS
37092001-06-23 Richard M. Stallman <rms@gnu.org>
3710
3711 * minibuf.c (Fcompleting_read): Doc fix.
3712
fa9090b8
GM
37132001-06-19 Gerd Moellmann <gerd@gnu.org>
3714
3715 * composite.c (Ffind_composition_internal): Accept ZV
3716 and a string's end position as POS.
3717
f6f1beba
GM
37182001-06-18 Gerd Moellmann <gerd@gnu.org>
3719
3720 * composite.c (Ffind_composition_internal): Check POS
3721 for validity.
3722
0ae83348
EZ
37232001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3724
3725 * editfns.c (Fmessage_box): If the frame is not under a window
3726 system, output the message in the echo area.
3727
e4cdc335
RS
37282001-06-14 Richard M. Stallman <rms@gnu.org>
3729
3730 * xdisp.c (try_window_id): When EOB is visible, don't treat
3731 insertion at EOB as if it were "off the bottom of the screen."
3732
a55a5f3c
AI
37332001-06-11 Andrew Innes <andrewi@gnu.org>
3734
3735 * w32proc.c (create_child): Add new parameter is_gui_app.
3736 (w32_executable_type): Add new parameter is_gui_app.
3737 (sys_spawnve): Use it.
3738 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3739 SIGQUIT. This matches better how the signals are interpreted by
3740 MSVC compiled programs.
3741 (syms_of_ntproc): Update docstring.
3742
1b85dc1c
SM
37432001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3744
3745 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3746 well otherwise note_mouse_highlight might optimize away highlighting
3747 if we pass over that same overlay again.
3748
b75f8eab
EZ
37492001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3750
3751 * lread.c (Fload): Document that the argument is run via
3752 substitute-in-file-name.
3753
94843cc1
GM
37542001-05-31 Gerd Moellmann <gerd@gnu.org>
3755
b14659e6
GM
3756 * Makefile.in (bootstrap-doc): New target.
3757 (bootstrap-emacs): Depend on it.
3758
0894672f
GM
3759 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3760 auto-save-list-file-name when shutting down Emacs, because
3761 creating the directory might signal an error, and leaves
3762 Emacs in a strange state.
3763
94843cc1
GM
3764 * term.c: (tty_cursor_hidden): New variable.
3765 (update_begin): Don't call tty_hide_cursor. Clean up.
3766 (update_end, set_terminal_window, set_scroll_region): Clean up.
3767 (ring_bell, reset_terminal_modes): Clean up.
3768 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3769 on tty_cursor_hidden.
3770 (write_glyphs): Call tty_hide_cursor.
3771
db3a49a6
SM
37722001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3773
3774 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3775
8bd189fb
GM
37762001-05-30 Gerd Moellmann <gerd@gnu.org>
3777
6f1be3b9
GM
3778 * xfns.c (enum image_value_type): New enumerator
3779 IMAGE_STRING_OR_NIL_VALUE.
3780 (parse_image_spec): Handle it.
3781 (xbm_format, pbm_format): Use it for :foreground and :background.
3782 (xbm_load, pbm_load): Check for nil color names.
3783
8bd189fb
GM
3784 * xterm.c (note_mouse_highlight): If an overlapping overlay
3785 exists, but we find that we highlight the same overlay as before,
3786 don't do the highlighting again.
3787
7bdba03c
GM
37882001-05-29 Gerd Moellmann <gerd@gnu.org>
3789
4c329aa8
GM
3790 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3791 Protect unibyte strings created by replacing their multibyte
3792 equivalents in menu_items.
3793
e15e2828
GM
3794 * keymap.c (Fsingle_key_description): NUL-terminate the string
3795 buffer before calling build_string.
3796
7bdba03c
GM
3797 * callproc.c (Fcall_process): Deal with decode_coding returning
3798 CODING_FINISH_INCONSISTENT_EOL.
3799
89c8dc6c
GM
38002001-05-28 Gerd Moellmann <gerd@gnu.org>
3801
db3a49a6 3802 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3803 an item's name with its key description in case the description
3804 is a multibyte string.
3805
3806 * keymap.c (Fsingle_key_description): Create a multibyte string
3807 only if necessary.
3808
eb04d6cd
GM
3809 * macros.c (Fstart_kbd_macro): Doc fix.
3810
8bd6307f
GM
3811 * xterm.c (cursor_in_mouse_face_p): New function.
3812 (x_draw_stretch_glyph_string): Use it to choose a different GC
3813 when drawing a cursor within highlighted text.
3814
e26c4089
GM
3815 * editfns.c (char_property_eq): Put in #if 0.
3816
3817 * indent.c (string_display_width): Put in #if 0.
3818
3819 * lread.c (Fload): Remove unused label.
3820
89c8dc6c
GM
3821 * termcap.c (speeds): Put in #if 0.
3822
9a1211f2
GM
38232001-05-18 Gerd Moellmann <gerd@gnu.org>
3824
29148a3f
GM
3825 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3826
9a1211f2
GM
3827 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3828 transformation matrix by 10.
3829
09393d07
GM
38302001-05-16 Gerd Moellmann <gerd@gnu.org>
3831
3832 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3833 only if it's equal to the former foreground pixel color.
db3a49a6 3834 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3835 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3836
460e6bae
GM
38372001-05-16 Dave Love <fx@gnu.org>
3838
3839 * insdel.c (signal_before_change, signal_after_change): Consider a
3840 local change hook which changes the buffer.
99c78ce8
GM
3841
3842 * process.c (read_process_output): Don't call signal_after_change
3843 and update_compositions after insert_from_string_before_markers.
3844
dbcf3c03
GM
38452001-05-16 Gerd Moellmann <gerd@gnu.org>
3846
a90b3d3c
GM
3847 * xfaces.c (split_font_name): Use the right field when
3848 checking for `[...]' syntax.
3849
1b7818b4
GM
3850 * buffer.c (copy_overlays): New function.
3851 (clone_per_buffer_values): Use it.
3852
3853 * buffer.h (OVERLAY_PLIST): New macro.
3854
9bae8781
GM
3855 * keymap.c (Fsingle_key_description): Replace a build_string with
3856 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3857
dbcf3c03
GM
3858 * fontset.c (Ffontset_info): Check that face is non-null
3859 before accessing its fields.
3860
8a1ae4dd
GM
38612001-05-15 Gerd Moellmann <gerd@gnu.org>
3862
18a0a39e
GM
3863 * keyboard.c (read_key_sequence): Prevent generating a fake
3864 prefix key twice.
3865
e335b66a
GM
3866 * xfaces.c (split_font_name): Handle `[...]' for the right
3867 font name fields.
3868
8a1ae4dd
GM
3869 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3870 of CCL_STAT_INVALID_CMD.
3871
3cf80731
SM
38722001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3873
33568849
SM
3874 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3875 in <var> has no default value yet.
3876
3cf80731
SM
3877 * xfaces.c (try_alternative_families): First try the FAMILY.
3878 And if nothing is found in the end, try again with scalable fonts.
3879 (try_font_list): Let try_alternative_families do a bit more of
3880 the work. Only use FAMILY if it is not nil.
3881 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3882
933b0249
GM
38832001-05-14 Gerd Moellmann <gerd@gnu.org>
3884
58e5af83
GM
3885 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3886 pointer shape when show_mouse_face has already done it.
33568849 3887
58e5af83 3888 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3889 full-width rows.
3890
7b16a6bf
GM
3891 * xfaces.c (split_font_name): Make sure to leave the loop
3892 with the right value of `i'.
3cf80731 3893
933b0249
GM
3894 * xfaces.c (split_font_name): Handle matrix transformations
3895 in the pixel and point size fields of XLFD font names.
3896 (xlfd_point_size): Likewise.
3897
dddcbf00
EZ
38982001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3899
3cf80731 3900 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3901 (x_to_w32_font): Add prototype.
3902
7689ef0b
EZ
3903 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3904 redefining, to avoid compiler warnings.
3905
e7c15bba
EZ
3906 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3907
dddcbf00
EZ
3908 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3909 (w32_get_bdf_glyph): Cast between unsigned char and char when
3910 passing arguments to subroutines, to shut up compiler warnings.
3911 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3912 GET_HEX_VAL.
3913
3914 * xfaces.c: Include keyboard.h before frame.h, not after it.
3915
3916 * widget.c: Include keyboard.h before frame.h.
3917
3918 * w32term.h (struct image, struct face): Forward declaration, to
3919 avoid compiler warnings.
3920
7bd2d083
GM
39212001-05-11 Gerd Moellmann <gerd@gnu.org>
3922
47e72862
GM
3923 * keyboard.c (read_key_sequence): Don't modify events when
3924 generating fake prefix keys (mode-line, scroll-bar, ...) since
3925 this prevents proper processing of such events when pushed back
3926 into unread-command-events.
3927
dd5f324b
GM
3928 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3929 actually redrawn. Make the function static.
3930 (note_mouse_highlight): Fix a case where the mouse cursor
3931 was changed back to the text cursor.
3932
3933 * xterm.h (clear_mouse_face): Remove prototype.
3934
d88a79d4
GM
3935 * xdisp.c (try_window_id): Fix the fix and set the right
3936 window_end_vpos.
3937
3938 * xdisp.c (try_window_id): Fix computation of window end in the
3939 case that lines were deleted at the end of the window. Add some
3940 more debug_method_adds.
0416532f 3941
7bd2d083
GM
3942 * xfaces.c (try_alternative_families): New function.
3943 (try_font_list): Use it. If ATTRS specifies a family, check
3944 fonts from that family first.
3945 (choose_face_font): Remove code setting the family part of
3946 the pattern to nil.
3947
23fca891
GM
39482001-05-10 Gerd Moellmann <gerd@gnu.org>
3949
ff9aa2ca
GM
3950 * xdisp.c (try_window_id): Fix case of all changes before
3951 the window start.
7b2654b5 3952
23fca891
GM
3953 * xdisp.c (try_window_id): Add some xasserts.
3954
e9726794
GM
39552001-05-09 Gerd Moellmann <gerd@gnu.org>
3956
3957 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3958
9e53a675
GM
39592001-05-09 Dave Love <fx@gnu.org>
3960
3961 * xdisp.c (GIVE_UP): Fix for K&R C.
3962
0d487c52
GM
39632001-05-09 Gerd Moellmann <gerd@gnu.org>
3964
fe88d421
GM
3965 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3966
0d487c52
GM
3967 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3968 back to the text cursor shape without need.
3969
1e9fc92e
GM
39702001-05-07 Gerd Moellmann <gerd@gnu.org>
3971
a2a6232e
GM
3972 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3973
3974 * dispextern.h (inverse_video): Declare extern.
3975
1e9fc92e
GM
3976 * keyboard.c (delete_kboard): Handle the case that selected_frame
3977 has been deleted in the course of x_connection_closed.
3978
12949a7f
EZ
39792001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3980
7b2654b5
SM
3981 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3982 Fix the change from 2001-04-30.
12949a7f 3983
2fa2f461
GM
39842001-05-03 Gerd Moellmann <gerd@gnu.org>
3985
a779d213
GM
3986 * xfns.c (file_dialog_unmap_cb): New function.
3987 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3988 where a dialog is closed via the window manager.
3989
7b2654b5 3990 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3991 the window start or all below the window end mostly rewritten.
3992 (redisplay_window): Move the tests if try_window_id is
3993 applicable to try_window_id.
3994 (GIVE_UP): New macro.
3995
3356df63
GM
39962001-05-02 Gerd Moellmann <gerd@gnu.org>
3997
a39202f6 3998 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3999 currently being updated, mark the frame garbaged.
4000 Fix computation of rows intersecting the exposed rectangle.
a39202f6 4001 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 4002
3356df63
GM
4003 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
4004 again if it has already been drawn.
4005
a9d2fd1d
SM
40062001-05-01 Stefan Monnier <monnier@cs.yale.edu>
4007
4008 * syntax.c (update_syntax_table): Check that oldi has the same
4009 properties as old_prop before deciding not to invalidate.
4010
c95fc5f1
GM
40112001-04-30 Gerd Moellmann <gerd@gnu.org>
4012
a9793e45
GM
4013 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
4014 read-only text that is so because of text properties.
4015
c95fc5f1 4016 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 4017 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
4018 windows that are components of a Lucid menu bar.
4019
5a5d9185
GM
40202001-04-27 Gerd Moellmann <gerd@gnu.org>
4021
4022 * term.c (turn_on_face): Fix reverse video handling on terminals
4023 that don't support colors.
4024
ba973f7a
GM
40252001-04-26 Gerd Moellmann <gerd@gnu.org>
4026
4027 * editfns.c (save_excursion_restore): Don't use XBUFFER on
4028 a non-buffer.
4029
8c56a983
GM
40302001-04-25 Gerd Moellmann <gerd@gnu.org>
4031
a728644c
GM
4032 * term.c (toggle_highlight): New function.
4033 (turn_on_face): Change handling of reverse video.
4034
7b2654b5
SM
4035 * process.c (wait_reading_process_input):
4036 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 4037
bfd8410f
GM
4038 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4039 of the number of overlays to check.
4040
be2488ca
GM
4041 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4042
8c56a983
GM
4043 * xdisp.c (try_window_id): Fix a case where window_end_pos
4044 and window_end_bytepos were not adjusted.
4045
522d42f7
GM
40462001-04-23 Gerd Moellmann <gerd@gnu.org>
4047
4048 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4049 zero instead of -1.
4050
78c1afb6
EZ
40512001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4052
a9d2fd1d
SM
4053 * process.c (wait_reading_process_input) [!subprocesses]:
4054 Don't reference waiting_for_user_input_p, it's not defined in the
4055 branch without async subprocesses support.
78c1afb6 4056
a2fab450
GM
40572001-04-19 Gerd Moellmann <gerd@gnu.org>
4058
a122a38e
GM
4059 * keyboard.c (delete_kboard): Prevent a dangling reference
4060 from current_kboard to KB, which is freed.
4061
a9d2fd1d
SM
4062 * process.c (wait_reading_process_input):
4063 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
4064 read_key_sequence aware of buffer changes from under it.
4065
0f8d6dc7
GM
40662001-04-18 Gerd Moellmann <gerd@gnu.org>
4067
eeffb293
GM
4068 * xfaces.c (Qscalable_fonts_allowed): New variable.
4069 (realizing_basic_faces_p): Removed.
2fa2f461
GM
4070 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4071 removed.
eeffb293 4072 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
4073 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4074 for scalable-fonts-allowed to t.
eeffb293 4075
0f8d6dc7
GM
4076 * fileio.c (Finsert_file_contents): If the file size returned from
4077 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 4078 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 4079
eec2d1de
EZ
40802001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4081
4082 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4083 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4084 (__memalign_hook): Make the two prototypes consistent.
4085
f4f480bd
GM
40862001-04-17 Gerd Moellmann <gerd@gnu.org>
4087
4088 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4089 matrix of mini-windows.
4090
52283633
SM
40912001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4092
4093 * intervals.c (find_interval): Don't rebalance during signal handling.
4094
ec2423c9
GM
40952001-04-11 Gerd Moellmann <gerd@gnu.org>
4096
30cb0001 4097 * fns.c: Include blockinput.h.
52283633 4098
ec2423c9
GM
4099 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4100
719d83ad
GM
41012001-04-10 Gerd Moellmann <gerd@gnu.org>
4102
60f8d735
GM
4103 * fns.c (Fcompare_strings): Fix return values.
4104
afffeb57
GM
4105 * window.c (window_scroll): Change the meaning of N to mean
4106 N screen-fulls or N lines.
4107 (window_scroll_pixel_based, window_scroll_line_based)
4108 (scroll_command, Fscroll_other_window): Change accordingly.
4109
52283633
SM
4110 * window.c (window_scroll_pixel_based, Frecenter):
4111 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
4112 height of the window.
4113
4114 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4115 instead of using it.last_visible_y for the height of the window.
52283633 4116
719d83ad 4117 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 4118 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
4119
4120 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
4121 able to write to hidden and system files. From Dan Holmsand
4122 <dan@eyebee.com>.
719d83ad 4123
8ddf3ee1
GM
4124 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4125 Holmsand <dan@eyebee.com>.
719d83ad 4126
522ed7fb
GM
41272001-04-09 Gerd Moellmann <gerd@gnu.org>
4128
9170e5d4
GM
4129 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4130
522ed7fb
GM
4131 * window.c (window_internal_height): Return 1 less if the
4132 window has a header line.
4133
4134 * xdisp.c (try_window_id): When scrolling on a terminal, take
4135 the change of window_internal_height into account.
4136
ceeb3d7d
EZ
41372001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4138
4139 * gmalloc.c (align): If the argument SIZE would overflow
4140 __malloc_ptrdiff_t, fail right away.
4141
63685b9d
GM
41422001-04-06 Gerd Moellmann <gerd@gnu.org>
4143
4144 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4145 Make sure the tooltip is completely visible.
4146 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4147
4148 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4149
4150 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4151
3ffb33bb
DL
41522001-04-06 Dave Love <fx@gnu.org>
4153
52283633
SM
4154 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4155 Fix test of `from'.
3ffb33bb 4156
869fb12c
GM
41572001-04-06 Gerd Moellmann <gerd@gnu.org>
4158
52283633 4159 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 4160
869fb12c
GM
4161 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4162
441bf856
GM
41632001-04-05 Gerd Moellmann <gerd@gnu.org>
4164
4d664b04
GM
4165 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4166
52283633 4167 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 4168
30ca89f5
GM
4169 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4170 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4171
4172 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4173 shell widget's position only if it is non-null.
4174
52283633
SM
4175 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4176 Set f->output_data.x->widget to null after destroying it.
30ca89f5 4177
81a81c0f
GM
4178 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4179 FILENAME to bring it in synch with the documentation.
4180
441bf856
GM
4181 * xfaces.c (realizing_basic_faces_p): Renamed from
4182 realize_default_face_p.
4183 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4184 (realize_default_face): Don't set the flag.
4185
702a1e8e
GM
41862001-04-04 Gerd Moellmann <gerd@gnu.org>
4187
1013f4e3
GM
4188 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4189
52283633
SM
4190 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4191
1013f4e3
GM
4192 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4193 the buffer that was used for echoing.
4194
702a1e8e
GM
4195 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4196 (first_font_matching): Removed unused function.
4197 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4198 (may_use_scalable_font_p): Remove parameter FONT; rename
4199 parameter NAME to FONT.
4200 (x_face_list_fonts): Fix missing bounds check.
4201 (realizing_default_face_p): New variable.
4202 (realize_default_face): Set and clear that flag.
4203 (x_face_list_fonts): When called during the realization of the
4204 default face, and no matching fonts are found when ignoring
4205 scalable fonts and fonts matching a regexp from
4206 face-ignored-fonts, try without ignoring fonts.
4207
f9dbcda4
GM
42082001-04-03 Gerd Moellmann <gerd@gnu.org>
4209
ad18ffb1
GM
4210 * xfns.c (postprocess_image): New function.
4211 (lookup_image): Call it for all image types except PostScript.
4212 (x_kill_gs_process): Call postprocess_image.
4213
f9dbcda4
GM
4214 * xterm.c (x_use_underline_position_properties): New variable.
4215 (x_draw_glyph_string): Use it.
4216 (syms_of_xterm): DEFVAR_BOOL it.
4217
651f03b6
GM
42182001-04-02 Gerd Moellmann <gerd@gnu.org>
4219
4220 * xterm.c (x_alloc_nearest_color_1): New function.
4221 (x_alloc_nearest_color): Use it.
4222 (x_color_cells): Take a Display as argument, instead of a frame.
4223 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4224 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4225 (x_initialize): Register cvt_string_to_pixel as resource converter
4226 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4227
73d75a62
GM
42282001-03-30 Gerd Moellmann <gerd@gnu.org>
4229
b2046df8
GM
4230 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4231 (set_iterator_to_next): If a string from a display property ends,
4232 consider the case that this might also be the end of an
4233 overlay string having the display property.
4234
52283633 4235 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 4236
87d8eba4
GM
4237 * xdisp.c (reseat_to_string): Undo last change.
4238
73d75a62
GM
4239 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4240 matrix of a window when the header line changes, when
4241 new rows are allocated, or when the width changes.
4242
911a2406
EZ
42432001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4244
52283633 4245 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 4246
aea51abe
EZ
42472001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4248
4249 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4250 deprecated.
4251
176bc847
GM
42522001-03-29 Gerd Moellmann <gerd@gnu.org>
4253
ed31fabf
GM
4254 * data.c (Fsubr_interactive_form): New function.
4255 (syms_of_data): Defsubr it.
4256
176bc847
GM
4257 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4258 (live_float_p, live_misc_p): Return 1 only if the offset of the
4259 pointer in its block is >= 0.
4260
e59d0e9d
GM
42612001-03-28 Paul Eggert <eggert@twinsun.com>
4262
4263 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4264 microseconds calcuation. Avoid double-rounding problem.
4265 In doc string, warn that the result is approximate.
4266
f827b862
GM
42672001-03-28 Gerd Moellmann <gerd@gnu.org>
4268
30a3f61c
GM
4269 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4270 bind `inhibit-eval-during-redisplay' to t.
4271
4272 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4273
4274 * xdisp.c (inhibit_eval_during_redisplay)
4275 (Qinhibit_eval_during_redisplay): New variables.
4276 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4277 don't eval, return nil instead.
4278 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4279 Initialize Qinhibit_eval_during_redisplay.
4280
e719f5ae
GM
4281 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4282 the iterator's multibyte_p flag.
4283
deb2613a
GM
4284 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4285 instead of setting it to zero; it's incremented for each frame
4286 where the menu face is changed.
4287
52283633
SM
4288 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4289 change bottom shadow accordingly.
4290
4291 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
4292 intersections here.
4293 (expose_window): Do it here instead.
52283633 4294 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 4295
f827b862
GM
4296 * bytecode.c (BYTE_CODE_QUIT): New macro.
4297 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4298
4bde0ebb
GM
42992001-03-27 Gerd Moellmann <gerd@gnu.org>
4300
607ec83c
GM
4301 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4302 Give up if matrix starts in an ellipsis.
4303 (init_from_display_pos): Do nothing if POS doesn't specify
4304 a dpvec_index but the iterator has such a position.
4305
0245398f
GM
4306 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4307
aba25348
GM
4308 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4309 x/y position is (0, 0) after destroying the menu bar, restore
4310 its original position.
4311
4bde0ebb
GM
4312 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4313 (init_from_display_pos): Use it.
4314 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4315
8cdb267e
GM
43162001-03-26 Gerd Moellmann <gerd@gnu.org>
4317
4318 * xdisp.c (try_window_id): Undo last change.
4319
9948db79
EZ
43202001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4321
4322 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4323
4324 * buffer.c (syms_of_buffer): Doc fix.
4325
2eddf899
GM
43262001-03-26 Gerd Moellmann <gerd@gnu.org>
4327
4328 * xfaces.c (x_update_menu_appearance): Use local variable
4329 popup_path for setting font resources.
4330
6c145d35
EZ
43312001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4332
6a65b1b5
EZ
4333 * frame.c (Fframe_list): Don't reference tip_frame if
4334 HAVE_WINDOW_SYSTEM is not defined.
4335
6c145d35
EZ
4336 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4337 <wl@gnu.org>.
4338
d74c1900
GM
43392001-03-25 Gerd Moellmann <gerd@gnu.org>
4340
20fbd925
GM
4341 * xdisp.c (init_from_display_pos): Test invisible property
4342 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 4343
927c5b3b
GM
4344 * xdisp.c (redisplay_internal) <update one window>: Make sure
4345 last_arrow_position and last_arrow_string are set.
4346
d74c1900
GM
4347 * frame.c (Fframe_list): Don't return a tooltip frame.
4348
091f8878
GM
43492001-03-23 Gerd Moellmann <gerd@gnu.org>
4350
52283633
SM
4351 * xdisp.c (mark_window_display_accurate_1): New function,
4352 extracted from mark_window_display_accurate.
4353 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
4354 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4355 (mark_window_display_accurate): Use it.
4356 (redisplay_internal): Use it for the selected window.
4357 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4358 for the selected frame.
4359
ac90c44f
GM
4360 * xdisp.c Use make_number, for readability.
4361 (try_window_id): Disable rows below the window end.
4362 (try_window_reusing_current_matrix): Use cursor_row_p.
4363 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4364 of rows.
4365 (init_from_display_pos): If POS specifies a position in a display
4366 vector, maybe get the iterator set up for that ellipsis.
43c09969 4367
091f8878
GM
4368 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4369
991786dd
EZ
43702001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4371
4372 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4373
6c29b43c
GM
43742001-03-23 Gerd Moellmann <gerd@gnu.org>
4375
4376 * xfaces.c (x_update_menu_appearance): Use a different path
4377 for Lucid popup menus.
4378
d8731202
SM
43792001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4380
4381 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4382
4383 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4384 (string_buffer_position): Use `make_number'.
4385
f61a541b
GM
43862001-03-22 Gerd Moellmann <gerd@gnu.org>
4387
3c9e997b
GM
4388 * xfaces.c (x_update_menu_appearance): Renamed from
4389 x_set_menu_face_resources. Use different resources for popups.
4390
4391 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4392 (GC_CHECK_STRING_BYTES): Don't define.
4393
364cd450
GM
4394 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4395 Removed, together with subroutines.
4396 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 4397 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 4398
d8731202
SM
4399 * dispextern.h (x_set_menu_resources_from_menu_face):
4400 Remove prototype.
364cd450 4401
d8731202 4402 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
4403 Remove calls to x_set_menu_resources_from_menu_face.
4404
d8731202
SM
4405 * xfaces.c (xm_set_menu_resources_from_menu_face):
4406 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
4407
4408 * xmenu.c: Include widget.h.
4409 (single_submenu): Return int. Some cleanup.
4410 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4411
140330de
GM
44122001-03-21 Gerd Moellmann <gerd@gnu.org>
4413
4414 * xterm.c (x_update_window_end): Handle overwritten mouse face
4415 also for tool bar windows.
4416 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4417 DRAW is DRAW_IMAGE_RAISED.
4418
1741905c
GM
44192001-03-20 Gerd Moellmann <gerd@gnu.org>
4420
fa88947e
GM
4421 * print.c (syms_of_print): Doc fixes.
4422
1741905c
GM
4423 * fns.c (Fmd5): Doc fix.
4424
ade0bee1
GM
44252001-03-19 Gerd Moellmann <gerd@gnu.org>
4426
357e7376
GM
4427 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4428 Clear area of the frame not occupied by the scroll bar.
4429
c2c097cc
GM
4430 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4431 tip frame's root window buffer to *tip* right after creating
4432 the frame.
4433
ade0bee1
GM
4434 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4435 is an integer don't have to be for space characters.
4436
88c6e37e
GM
44372001-03-16 Gerd Moellmann <gerd@gnu.org>
4438
52283633
SM
4439 * indent.c (current_column, current_column_1, Fmove_to_column)
4440 (compute_motion): Handle characters from display vectors differently.
88c6e37e 4441
c62eed76
KH
44422001-03-15 Kenichi Handa <handa@etl.go.jp>
4443
4444 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4445 drawing glyph string.
4446
c899e7e6
GM
44472001-03-15 Gerd Moellmann <gerd@gnu.org>
4448
d0bbfc99
GM
4449 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4450 (command_loop_1): Undo last change.
4451
03d1a189
GM
4452 * xterm.c (fast_find_position): Return the correct vpos.
4453
c899e7e6 4454 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 4455 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
4456 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4457 Call store_symval_forwarding with BUF null.
4458 (set_internal): Call store_symval_forwarding with the BUF
4459 parameter passed to set_internal. Formerly, the value was always
4460 set in the current buffer; the buffer recorded in specbind for
4461 this case wasn't used.
4462 (arith_driver): Reindent.
4463
52283633
SM
4464 * buffer.c (swap_out_buffer_local_variables):
4465 Call store_symval_forwarding with BUF null.
c899e7e6
GM
4466
4467 * lisp.h (store_symval_forwarding): Change prototype.
4468
4469 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4470
57ac7c81
GM
44712001-03-14 Gerd Moellmann <gerd@gnu.org>
4472
697617d9
GM
4473 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4474 FOR_DELETION. Avoid resizing the mini-window of the selected
4475 frame if FOR_DELETION is set.
4476 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4477 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4478 signature.
4479
4480 * window.c (Fset_window_configuration): Change call to
4481 do_switch_frame to new format.
4482
4483 * keyboard.c (quit_throw_to_read_char): Change call to
4484 do_switch_frame to new format.
4485
4486 * lisp.h (do_switch_frame): Change prototype.
4487
819dce0f
GM
4488 * frame.c (Fframe_parameters): In the `buffer-list' frame
4489 parameter, store the buffer list of FRAME, not the list of the
4490 selected frame.
4491
57ac7c81
GM
4492 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4493 box just because the glyph row's full_width_p flag is set.
4494
65008712
GM
44952001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4496
4497 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4498 skip the padding blanks inserted in extend_face_to_end_of_line,
4499 before checking for trailing whitespace.
4500
159cf431
GM
45012001-03-13 Gerd Moellmann <gerd@gnu.org>
4502
52283633 4503 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
4504 Remove special handling for LessTif/Motif.
4505 (toplevel): Don't include Xm/Xm.h.
4506
52283633
SM
4507 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4508 Remove workaround code for LessTif; it doesn't work anymore.
4509
2564ea1b 4510 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 4511 Xm/ScrollBarP.h.
afcdc0a1 4512
52283633
SM
4513 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4514 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
4515 contemporary LessTif.
4516
52283633
SM
4517 * xfaces.c (xm_set_menu_resources_from_menu_face):
4518 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 4519
159cf431
GM
4520 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4521 removing button grabs.
4522
c6f7429a
KH
45232001-03-13 Kenichi Handa <handa@etl.go.jp>
4524
cb82d767
KH
4525 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4526 and clip-large-size-font as obsolete.
4527
c6f7429a
KH
4528 * lread.c (read_multibyte): Check the validity of multibyte
4529 sequence. If invalid, return the first byte.
4530
760cefb5
GM
45312001-03-12 Gerd Moellmann <gerd@gnu.org>
4532
4533 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4534 before running the command; timer functions or process
4535 filters may have set it.
4536
5141f9d0
EZ
45372001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4538
4539 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4540 Doc fix.
4541
b6a15240
GM
45422001-03-12 Gerd Moellmann <gerd@gnu.org>
4543
4544 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4545 to sprintf.
4546
95522746
GM
45472001-03-09 Gerd Moellmann <gerd@gnu.org>
4548
db14cfc5
GM
4549 * dispextern.h (string_buffer_position): Add prototype.
4550
52283633 4551 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
4552 (single_display_prop_string_p): New functions.
4553
4554 * xterm.c (note_mouse_highlight): If there's no help-echo on
4555 a string, look at the buffer text ``under'' it.
4556
4557 * keyboard.c (make_lispy_event): Add string info to the event,
4558 analogous to what's done on mode lines.
4559 (read_key_sequence): For a click on a string, consider `local-map'
4560 and `keymap' of that string.
4561
52283633
SM
4562 * keyboard.c (make_lispy_event, make_lispy_movement):
4563 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
4564
4565 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4566
4567 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4568 POS; return void.
4569
95522746
GM
4570 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4571 flags argument to emacs_open; it seems to conflict with O_EXCL.
4572
898a399d
KH
45732001-03-09 Kenichi Handa <handa@etl.go.jp>
4574
28cd4910
KH
4575 * composite.h (struct composition): Change types of members;
4576 glyph_len to unsigned, width to unsigned short.
898a399d 4577
4cdf6a6c
AI
45782001-03-08 Andrew Innes <andrewi@gnu.org>
4579
4580 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4581 menu titles.
4582
129004d3
GM
45832001-03-08 Gerd Moellmann <gerd@gnu.org>
4584
221dd3e7
GM
4585 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4586 instead of nil.
4587
52283633 4588 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
4589 help-echo in strings.
4590 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4591 (fast_find_string_pos): New function.
4592
52283633
SM
4593 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4594 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
4595
4596 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4597 Handle `mouse-face'.
4598
4599 * dispextern.h (face_at_string_position): Change prototype.
4600
52283633 4601 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 4602
129004d3
GM
4603 * keyboard.c (make_lispy_event): Avoid generating drag events
4604 if the mouse hasn't actually moved to another buffer position.
52283633 4605
80c8ab8c
DL
46062001-03-08 Dave Love <fx@gnu.org>
4607
129004d3 4608 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 4609
989521fd
GM
46102001-03-08 Gerd Moellmann <gerd@gnu.org>
4611
4612 * process.c (Fset_process_window_size): Fix a typo.
4613
bb5c338d
KH
46142001-03-08 Kenichi Handa <handa@etl.go.jp>
4615
4616 * coding.c (detect_coding_sjis): Do more rigid check.
4617 (detect_coding_big5): Likewise.
4618 (decode_coding_sjis_big5): Likewise.
4619 (Fdetect_coding_region): Call detect_coding_system with tailing
4620 anchor byte `\0' for more rigid detection.
52283633 4621 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
4622 (Fdetect_coding_string): Likewise.
4623
8b8f9197
SM
46242001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4625
4626 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4627 a string before extracting its data.
4628
3bdf2660
GM
46292001-03-07 Gerd Moellmann <gerd@gnu.org>
4630
4631 * window.c (Frecenter): Rewrite code handling negative values
4632 of ARG on graphical frames.
4633
46342001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4635
4636 * window.c (displayed_window_lines): If W->start is outside the
4637 accessible portion of the buffer, call start_display with BEGV or
4638 ZV instead of W->start.
4639
471f86b9
GM
46402001-03-07 Gerd Moellmann <gerd@gnu.org>
4641
2ab62c6c
GM
4642 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4643
471f86b9
GM
4644 * process.c (Fset_process_filter): Don't crash if the input
4645 file descriptor of PROCESS is closed.
4646 (Fset_process_window_size): Likewise.
4647
101922c3
GM
46482001-03-06 Kenichi Handa <handa@etl.go.jp>
4649
4650 * xterm.c (XTflash): Make the timeout of select shorter, and call
4651 select repeatedly until the desired time expires.
4652
45d051a7
GM
46532001-03-06 Gerd Moellmann <gerd@gnu.org>
4654
4655 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4656
4657 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4658
4659 * lisp.h (Vwindow_list): Declare extern.
4660
8f372c46
EZ
46612001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4662
4663 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4664
f16a7aa5
GM
46652001-03-06 Gerd Moellmann <gerd@gnu.org>
4666
157ae273
GM
4667 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4668 to detect a case where we have to highlight a different region
4669 despite not having left the currently highlighted region.
4670 Set mouse_face_overlay in the x_display_info.
45d051a7 4671 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
4672
4673 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4674
4675 * buffer.c (mouse_face_overlay_overlaps): New function.
4676
4677 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4678 (Qmouse_face): Declare extern.
4679
f16a7aa5
GM
4680 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4681 if face_change_count is non-zero.
4682
827afcac
KH
46832001-03-06 Kenichi Handa <handa@etl.go.jp>
4684
4685 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4686 that the source is unibyte.
4687
14c7242e
DL
46882001-03-05 Dave Love <fx@gnu.org>
4689
827afcac 4690 * xterm.c (XTmouse_position): Fix typo.
14c7242e 4691
c28b847b
GM
46922001-03-05 Gerd Moellmann <gerd@gnu.org>
4693
4694 * minibuf.c (read_minibuf): Clean up the binding stack if
4695 called noninteractively.
4696
b86644f2
KH
46972001-03-05 Kenichi Handa <handa@etl.go.jp>
4698
4699 * coding.c (syms_of_coding): Docstring modified.
4700
203682cc 47012001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
4702
4703 * charset.c (char_to_string): If a single byte char has modifier
4704 bits that can't be reflected to the character code, ignore them
45d051a7 4705 instead of signaling an error.
b86644f2 4706
e30bd7b7
EZ
47072001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4708
4709 * s/msdos.h: Update copyright notice.
4710
4711 * dosfns.h: Update copyright notice.
4712
4713 * dosfns.c: Update copyright notice.
4714
4715 * msdos.c: Update copyright notice.
4716
b52b65bd
GM
47172001-03-02 Gerd Moellmann <gerd@gnu.org>
4718
4719 * xterm.c (glyph_rect): New function.
4720 (XTmouse_position): Use it to raise the threshold for mouse
4721 movement event generation.
4722
53c4b1e6
EZ
47232001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4724
4725 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4726 specifies (reverse . t), reverse the initial screen colors.
4727 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
4728 but we are reversing the colors, set bg_set, not fg_set.
4729 Likewise for setting background-color and reversing: set fg_set.
4730 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
4731 in effect.
4732
4733 * xfaces.c (Finternal_set_lisp_face_attribute)
4734 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4735 parameters alist.
4736
f964b4d7
GM
47372001-03-02 Gerd Moellmann <gerd@gnu.org>
4738
ef53d75e
GM
4739 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4740 to a single slash in the middle of file names.
4741
52283633 4742 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
4743 Accept only alphanumeric time zone names.
4744
f964b4d7
GM
4745 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4746 or width area.
4747 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4748 a widget to zero height.
52283633 4749
c3c45f65
GM
47502001-03-01 Gerd Moellmann <gerd@gnu.org>
4751
4752 * window.c (Fwindow_end): Call move_it_past_eol only if
4753 ending up on a partially visible line.
4754
028d739a
DL
47552001-03-01 Dave Love <fx@gnu.org>
4756
4757 * ccl.c (Fccl_execute): Doc fix.
4758
57c5889c
GM
47592001-03-01 Gerd Moellmann <gerd@gnu.org>
4760
35f59f6b
GM
4761 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4762 of the tool bar before calling x_figure_window_size.
4763
f84ff02c
GM
4764 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4765 NULL after destroying it, otherwise XTread_socket can access a
4766 destroyed widget when input is unblocked.
4767
8b8f9197 4768 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 4769
57c5889c
GM
4770 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4771 same name as before, although there was a change in fontsets.
4772
224227d1
KR
47732001-02-28 Ken Raeburn <raeburn@gnu.org>
4774
4560730a
KR
4775 * lisp.h (Fframe_parameter): Declare.
4776
224227d1 4777 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 4778 Lisp_Object.
224227d1 4779
ece93c02
GM
47802001-02-28 Gerd Moellmann <gerd@gnu.org>
4781
11ef99b9
GM
4782 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4783 NULL instead.
4784
4785 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4786 NULL instead.
4787
ece93c02
GM
4788 * alloc.c (toplevel): Include process.h.
4789 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4790 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4791 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
4792 (allocate_vector, allocate_hash_table, allocate_window)
4793 (allocate_frame, allocate_process, allocate_other_vector):
4794 New functions.
ece93c02
GM
4795 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4796 (mark_maybe_pointer): New function.
52283633 4797 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
4798 remain and not Lisp_Objects.
4799 (min_heap_address, max_heap_address): New variables.
4800 (mem_find): Return MEM_NIL if START is below min_heap_address or
4801 above max_heap_address.
4802 (mem_insert): Compute min_heap_address and max_heap_address.
4803
4804 * process.c (make_process): Use allocate_process.
4805
4806 * frame.c (make_frame): Use allocate_frame.
4807
4808 * window.c (make_window, make_dummy_parent): Use allocate_window.
4809 (Fcurrent_window_configuration): Use allocate_other_vector.
4810
4811 * lisp.h (allocate_vectorlike): Remove prototype.
4812 (allocate_vector, allocate_other_vector, allocate_frame)
4813 (allocate_window, allocate_process, allocate_hash_table):
4814 Add prototypes.
4815
4816 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4817 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4818
063af457
KH
48192001-02-27 Kenichi Handa <handa@etl.go.jp>
4820
4821 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4822 treat the produced bytes as a valid multibyte sequence.
4823
4824 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4825 (ccl_driver) <CCL_WriteMultibyteChar2>:
4826 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4827 <ccl_finish>: Set ccl->eight_bit_control properly.
4828
4829 * ccl.h (struct ccl_program): New member eight_bit_control.
4830
f58c6494
SM
48312001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4832
4833 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4834 accessible_keymaps_char_table.
4835 (accessible_keymaps_char_table): Obey `is_metized'.
4836 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4837 Lisp_Object.
4838
c596c392
GM
48392001-02-26 Gerd Moellmann <gerd@gnu.org>
4840
4841 * dispnew.c: Check HAVE_TERM_H before including term.h.
4842
425de386
AI
48432001-02-24 Andrew Innes <andrewi@gnu.org>
4844
4845 * makefile.w32-in: Update copyright notice.
4846
2ba11bbd
SM
48472001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4848
4849 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4850
66c56ed1
KH
48512001-02-24 Kenichi Handa <handa@etl.go.jp>
4852
4c1593ce
KH
4853 * Makefile.in (lisp): Add international/utf-8.elc.
4854
66c56ed1
KH
4855 * fontset.c (Fnew_fontset): Fix handling of the case that an
4856 element of FONTLIST is a cons of family and registry.
4857
796ead7e
JR
48582001-02-23 Jason Rumney <jasonr@gnu.org>
4859
4860 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4861 to height unconditionally.
4862
4863 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4864 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4865 (x_insert_glyphs): Call window_box_left to obtain the left
4866 x-coordinate of the area to shift.
4867
4868 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4869 safe_run_hooks.
4870
f6839838
AI
48712001-02-22 Andrew Innes <andrewi@gnu.org>
4872
52283633 4873 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4874 ($(BLD)\dispnew.obj):
4875 ($(BLD)\editfns.obj):
4876 ($(BLD)\fileio.obj):
4877 ($(BLD)\filelock.obj):
4878 ($(BLD)\keyboard.obj):
4879 ($(BLD)\w32proc.obj):
4880 ($(BLD)\process.obj):
4881 ($(BLD)\sysdep.obj): Ditto.
4882
4883 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4884 header files.
52283633
SM
4885 ($(BLD)/dispnew.$(O)):
4886 ($(BLD)/editfns.$(O)):
4887 ($(BLD)/fileio.$(O)):
4888 ($(BLD)/filelock.$(O)):
4889 ($(BLD)/keyboard.$(O)):
4890 ($(BLD)/w32proc.$(O)):
4891 ($(BLD)/process.$(O)):
f6839838
AI
4892 ($(BLD)/sysdep.$(O)): Ditto.
4893
c224f70b
GM
48942001-02-22 Gerd Moellmann <gerd@gnu.org>
4895
51695746
GM
4896 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4897 at the start of the function, check that the \n in it->c is
4898 from the iterator's current position.
52283633 4899
a61b7058
GM
4900 * xdisp.c (handle_single_display_prop): Add parameter
4901 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4902 properties which replace the display of text with something else.
4903 (handle_display_prop): Call handle_single_display_prop with
4904 additional argument saying if we already replaced text display
4905 with something else. Use AREF.
52283633 4906 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4907 (decode_mode_spec_coding): Use AREF and ASIZE.
4908
3473f362
GM
4909 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4910 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4911 * vmstime.h: Files removed.
52283633 4912
2bb58df3
GM
4913 * unexencap.c, unexfx2800.c: Files removed.
4914
c224f70b
GM
4915 * dispnew.c (direct_output_for_insert): Give up if we are showing
4916 a message or just cleared the message because we might need to
4917 resize the echo area window or display an empty echo area.
4918
ffc9ff0c
GM
49192001-02-21 Gerd Moellmann <gerd@gnu.org>
4920
0528abe1
GM
4921 * xdisp.c (redisplay_internal): Do the
4922 mark_window_display_accurate after all windows have been
4923 redisplayed because this call resets flags in buffers which are
4924 needed for proper redisplay.
4925
52283633
SM
4926 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4927 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4928 the old names.
4929
52283633
SM
4930 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4931 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4932
4933 * msdos.h (struct x_output): Rename busy_window to
4934 hourglass_window, busy_p to hourglass_p.
4935
52283633
SM
4936 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4937 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4938
4939 * xfns.c: Rename everything containing *busy_cursor* and similar
4940 to *hourglass*.
4941 (syms_of_w32fns): Rename x-busy-pointer-shape to
4942 x-hourglass-pointer-shape, display-busy-cursor to
4943 display-hourglass, busy-cursor-delay to hourglass-delay.
4944
4945 * w32fns.c: Rename everything containing *busy_cursor* and similar
4946 to *hourglass*.
4947 (syms_of_w32fns): Rename x-busy-pointer-shape to
4948 x-hourglass-pointer-shape, display-busy-cursor to
4949 display-hourglass, busy-cursor-delay to hourglass-delay.
4950
4951 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4952 of its busy_p flag.
4953
4954 * dispextern.h (start_hourglass, cancel_hourglass)
4955 (display_hourglass_p): Renamed from *busy_cursor*.
4956
ab2c5f0a
GM
49572001-02-20 Gerd Moellmann <gerd@gnu.org>
4958
d17e49a8
GM
4959 * keyboard.c (read_char): When an event from unread-command-events
4960 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4961
fa97adf6
GM
4962 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4963 equal to the current buffer.
4964
ab2c5f0a
GM
4965 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4966 nil, otherwise we're left with truncate_lines t when a message
4967 is printed with message-truncate-lines bound to t.
4968
aeac019e
GM
49692001-02-19 Gerd Moellmann <gerd@gnu.org>
4970
c8bc6f65
GM
4971 * window.c (Fmove_to_window_line): Undo last change.
4972 (displayed_window_lines): Call line_bottom_y to determine
4973 the line's bottom position.
4974
4975 * dispextern.h (line_bottom_y): Add prototype.
4976
52283633 4977 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4978 (pos_visible_p): Use it.
4979
980a2d69
GM
4980 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4981 set redisplaying_p to 0 here instead of in Frecursive_edit.
4982 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4983 set redisplaying_p.
4984
52283633 4985 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4986 New variables.
4987 (syms_of_xdisp): Initialize new variables.
4988 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4989 Specbind `inhibit-menubar-update' when updating the menu bar.
4990
65048e97
GM
4991 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4992 safe_run_hooks.
4993
4994 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4995 safe_run_hooks.
4996
a57c4026
GM
4997 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4998 is null.
4999
aeac019e
GM
5000 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
5001 to the start of the file.
5002
76846b31
GM
50032001-02-16 Gerd Moellmann <gerd@gnu.org>
5004
f3f053f3 5005 * window.c (set_window_buffer): Fix last change.
52283633 5006
f3f053f3
GM
5007 * window.c (set_window_buffer): Set window's vscroll to 0.
5008
dad75588
GM
5009 * window.c (coordinates_in_window): Increase width of area
5010 where the vertical line can be dragged.
5011
c220b753
GM
5012 * xterm.c (x_set_glyph_string_background_width): Extend the
5013 background face to the end of the drawing area in the text
5014 area, only.
5015
c56b1c1b
GM
5016 * xdisp.c (handle_single_display_prop): Set iterator's position
5017 to where the `display' property starts, like for images.
5018 (dump_glyph): New function.
5019 (dump_glyph_row): Use it. Dump info about marginal areas.
5020
5021 * dispnew.c (direct_output_for_insert): Recognize more cases where
5022 glyphs can be written instead of being inserted.
5023
5024 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
5025 the left x-coordinate of the area to shift.
5026
76846b31
GM
5027 * dired.c (directory_files_internal): Set result list to nil
5028 before retrying.
5029
0fc71a77
KH
50302001-02-15 Kenichi Handa <handa@etl.go.jp>
5031
5032 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
5033 invalid multibyte sequence, treat *SRC as a character of
5034 eight-bit-graphic.
5035
25078b54
EZ
50362001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5037
5038 * textprop.c (Fset_text_properties): Doc fix.
5039
8399f8a0
GM
50402001-02-15 Gerd Moellmann <gerd@gnu.org>
5041
5042 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5043
9a2a6f73
DL
50442001-02-14 Dave Love <fx@gnu.org>
5045
5046 * coding.c: Doc and message fixes.
5047
bf853fee
AI
50482001-02-14 Andrew Innes <andrewi@gnu.org>
5049
5050 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5051 Emacs frame above the screen size.
5052
78c663d8
GM
50532001-02-14 Gerd Moellmann <gerd@gnu.org>
5054
5055 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5056
7cc9f69f
GM
50572001-02-13 Gerd Moellmann <gerd@gnu.org>
5058
0a411995
GM
5059 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5060 case that TO ends up beyond ZV after running before-change-functions.
5061
5ddc1b75
GM
5062 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5063 the selected window if it is showing the buffer in question.
5064
7cc9f69f
GM
5065 * dired.c (directory_files_internal): Initialize errno.
5066 (toplevel): Include errno.h.
5067
2e6621ca
GM
50682001-02-13 Kenichi Handa <handa@etl.go.jp>
5069
5070 * xfaces.c (best_matching_font): New parameter width_ratio.
5071 Multiply avgwidth by width_ratio.
5072 (choose_face_font): Call best_matching_font with width_ratio
5073 calculated from the column width of C.
5074
60222d69
AI
50752001-02-12 Andrew Innes <andrewi@gnu.org>
5076
5077 The following changes are to draw box lines inside characters area
5078 if line-width is negative.
52283633 5079
60222d69
AI
5080 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5081 face->box_line_width is negative.
5082 (x_produce_stretch_glyph): Likewise.
5083 (x_produce_glyphs): Likewise.
5084 (x_estimate_mode_line_height): Likewise.
5085 (x_draw_glyph_string_background): Likewise.
5086 (x_draw_glyph_string_foreground): Likewise.
5087 (x_draw_composite_glyph_string_foreground): Likewise.
5088 (x_draw_glyph_string_box): Likewise.
5089 (x_draw_image_foreground): Likewise.
5090 (x_draw_image_relief): Likewise.
5091 (x_draw_image_foreground_1): Likewise.
5092 (x_draw_image_glyph_string): Likewise.
5093
9804b846
KH
50942001-02-09 Kenichi Handa <handa@etl.go.jp>
5095
5096 The following changes are to draw box lines inside characters area
5097 if line-width is negative.
52283633 5098
9804b846
KH
5099 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5100 face->box_line_width is negative.
5101 (x_produce_stretch_glyph): Likewise.
5102 (x_produce_glyphs): Likewise.
5103 (x_estimate_mode_line_height): Likewise.
5104 (x_draw_glyph_string_background): Likewise.
5105 (x_draw_glyph_string_foreground): Likewise.
5106 (x_draw_composite_glyph_string_foreground): Likewise.
5107 (x_draw_glyph_string_box): Likewise.
5108 (x_draw_image_foreground): Likewise.
5109 (x_draw_image_relief): Likewise.
5110 (x_draw_image_foreground_1): Likewise.
5111 (x_draw_image_glyph_string): Likewise.
5112
5113 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5114 and :line-width can be negative.
52283633 5115 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 5116
49be9f70
JR
51172001-02-09 Jason Rumney <jasonr@gnu.org>
5118
5119 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5120 characters the same as ASCII and latin-1.
5121 (x_display_and_set_cursor): Check for the focus frame's selected
5122 window instead of selected_window.
5123 (x_after_update_window_line): Don't clear if frame's internal
5124 border width is zero.
5125 (x_new_font): Don't change a tooltip's size.
5126 (w32_initialize): Set char_ins_del_ok to 1.
5127
5128 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5129 (x_set_font): If font hasn't changed, avoid recomputing
5130 faces and other things.
52283633
SM
5131 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5132 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
5133 (x_create_tip_frame): Prevent changing the tooltip's
5134 background color by specifying a color for the default font
5135 in .Xdefaults.
5136 (Qcancel_timer): New variable.
5137 (syms_of_w32fns): Initialize and staticpro it.
5138 (Fx_hide_tip, Fx_show_tip): Use it.
5139 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5140 the timer.
5141 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5142
5143 * w32.c (init_environment): Duplicate local string before putenv.
5144
555e35d2
SZ
51452001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5146
5147 * charset.c (Fstring): A typo.
5148
19c92c94
KH
51492001-02-09 Kenichi Handa <handa@etl.go.jp>
5150
e47a1c33
KH
5151 * charset.c (Fstring): If all arguments are less than 256, return
5152 a unibyte string.
5153
5154 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5155 return a unibyte string.
5156
19c92c94
KH
5157 * coding.c (code_convert_region): After detecting a coding, if
5158 nothing found, set coding->composing to COMPOSITION_NO.
5159 (decode_coding_string): Likewise.
5160
d8e675f5
SM
51612001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5162
5163 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5164 to avoid overflow.
5165
bd503487
KH
51662001-02-07 Kenichi Handa <handa@etl.go.jp>
5167
5168 * charset.c (parse_str_to_multibyte): New function.
5169
5170 * charset.h (parse_str_to_multibyte): Extern it.
5171
5172 * print.c (print_string): If we are going to print a unibyte
5173 string into a multibyte buffer, convert the string to multibyte by
5174 str_to_multibyte.
5175
a8370d72
AI
51762001-02-06 Andrew Innes <andrewi@gnu.org>
5177
5178 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5179 been created. It seems we can get sent window messages such as
5180 WM_ERASEBKGND before we properly update a frame.
5181
c363a1d6
GM
51822001-02-06 Gerd Moellmann <gerd@gnu.org>
5183
5184 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5185 Avoid some unnecessary cursor positioning.
5186
a08332c0
GM
51872001-02-05 Gerd Moellmann <gerd@gnu.org>
5188
52283633 5189 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
5190 (LFACE_AVGWIDTH): New macro.
5191 (LFACEP): Use AREF.
5192 (check_lface_attrs): Check LFACE_AVGWIDTH.
5193 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5194 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5195 (merge_face_vectors): Check LFACE_AVGWIDTH.
5196 (Finternal_make_lisp_face): Use AREF.
5197 (xm_set_menu_resources_from_menu_face)
5198 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5199 (Finternal_lisp_face_empty_p): Use AREF.
5200 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5201 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5202 Compare average widths..
5203 (best_matching_font): Arrange for comparing average widths.
5204
52283633
SM
5205 * dispextern.h (enum lface_attribute_index):
5206 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5207
5cb3c8d4
DL
52082001-02-05 Dave Love <fx@gnu.org>
5209
5210 * puresize.h: Revert last change following loadup.el change.
5211
193fba87
AI
52122001-02-05 Andrew Innes <andrewi@gnu.org>
5213
5214 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5215 invocation of temacs, to work with Windows 2000.
5216 (bootstrap-emacs): Ditto.
5217
e16f52ce
GM
52182001-02-05 Gerd Moellmann <gerd@gnu.org>
5219
7a58ab59
GM
5220 * xterm.c (x_display_and_set_cursor): Check for the focus
5221 frame's selected window instead of selected_window.
5222
e89aaabd
GM
5223 * xdisp.c (try_scrolling): If point is in the line below the
5224 window, make sure to move the iterator at least a canonical
5225 char height down.
5226
52283633 5227 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 5228
789ce875
KH
52292001-02-05 Kenichi Handa <handa@etl.go.jp>
5230
52283633
SM
5231 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5232 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
5233 (ccl_driver): If the CCL program is terminated because of
5234 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5235 destination instead of throwing them away.
5236
20b28f82
GM
52372001-02-02 Gerd Moellmann <gerd@gnu.org>
5238
79fb38c0
GM
5239 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5240 faces and other things.
5241
20b28f82
GM
5242 * xdisp.c (get_next_display_element): Fix case of empty
5243 display table entry.
5244
5a72551e
EZ
52452001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5246
eb24d0bf
EZ
5247 * editfns.c (Fconstrain_to_field): Doc fix.
5248
6a3f48c7
EZ
5249 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5250 into `thoroughly', to make it consistent with the doc string.
5251
5a72551e
EZ
5252 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5253
01acdb05
GM
52542001-02-01 Gerd Moellmann <gerd@gnu.org>
5255
0353b28f
GM
5256 * search.c (search_buffer): Call set_search_regs with a byte
5257 position, not a character position.
5258
01acdb05
GM
5259 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5260 minibuffer-only,
5261
e86b5133
EZ
52622001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5263
5264 * frame.c (Fmodify_frame_parameters): Doc fix.
5265
7442878f
GM
52662001-01-31 Gerd Moellmann <gerd@gnu.org>
5267
01acdb05
GM
5268 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5269 identifier which is not reserved by Standard C.
52283633 5270
7442878f
GM
5271 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5272
5273 * window.c (enum window_part): New enumeration.
5274 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5275 Qright_bitmap_area.
5276 (coordinates_in_window): Return an enumerator from enum
5277 window_part. Fix handling of right scroll bar.
5278 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5279 `right-fringe' instead of `left-bitmap-area' and
5280 `right-bitmap-area'. Use enumerators from enum window_part
5281 instead of hard-coded integers.
52283633
SM
5282 (check_window_containing, window_from_coordinates):
5283 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
5284 (syms_of_window): Replace Qleft_bitmap_area and
5285 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5286
7c132cba
EZ
52872001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5288
5289 * editfns.c (Fformat_time_string): Doc fix.
5290
c359dd9e
SM
52912001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5292
5293 * keymap.c (Fwhere_is_internal): Use the first valid binding
5294 if no ascii binding is found (when firstonly is t).
5295
ce070307
GM
52962001-01-31 Gerd Moellmann <gerd@gnu.org>
5297
b4f30ec5
GM
5298 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5299 instead of Finteractive_p.
5300
5301 * lisp.h (interactive_p): Add prototype.
5302
5303 * eval.c (interactive_p): New function.
5304 (Finteractive_p): Use it.
5305
ce070307
GM
5306 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5307
f57b6e64
DL
53082001-01-31 Dave Love <fx@gnu.org>
5309
d61c7afe
DL
5310 * .gdbinit (hook-run): Define to run xreload.
5311
f57b6e64
DL
5312 * textprop.c (Fset_text_properties): Fix newline in doc string.
5313
eef93f99
GM
53142001-01-30 Gerd Moellmann <gerd@gnu.org>
5315
52283633
SM
5316 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5317 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
5318
5319 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 5320 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
5321 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5322
5323 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5324 height.
5325
d9c1f6f9
DL
53262001-01-30 Dave Love <fx@gnu.org>
5327
5328 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5329 AFTER_POTENTIAL_GC.
5330
e8f044a0
GM
53312001-01-29 Gerd Moellmann <gerd@gnu.org>
5332
52283633
SM
5333 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5334 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 5335
8e1db7b3
EZ
53362001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5337
5338 * textprop.c (Fset_text_properties): Doc fix.
5339
4eefd9d2
GM
53402001-01-29 Gerd Moellmann <gerd@gnu.org>
5341
5342 * xdisp.c (forward_to_next_line_start): Remove xassert.
5343
fccb8288
EZ
53442001-01-29 Jason Rumney <jasonr@gnu.org>
5345
4eefd9d2 5346 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
5347 returning without releasing it.
5348
76581eab
KH
53492001-01-29 Kenichi Handa <handa@etl.go.jp>
5350
5351 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5352 for '^', '$', and '\0'.
5353
83a96b4d
AC
53542001-01-28 Andrew Choi <akochoi@i-cable.com>
5355
5604ec34
AC
5356 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5357 regex for '^', '$', and '\0'.
5358
83a96b4d
AC
5359 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5360 only if current_sblock has been initialized.
5361
5362 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5363 terminal frame even if it is the only visible frame.
5364
c09a6440
KH
53652001-01-28 Kenichi Handa <handa@etl.go.jp>
5366
5367 * fontset.c (font_family_registry): Even if FONTNAME conform to
5368 XLFD, if it specifies other fields than family and registry,
52283633 5369 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 5370 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
5371 a signle byte character. Don't set FAMILY part to nil here.
5372 It is handled by the caller choose_face_font.
c09a6440
KH
5373 (Fnew_fontset): Call font_family_registry with FORCE 0.
5374 (Fset_fontset_font): Likewise.
5375
4dcd74e6
GM
53762001-01-27 Gerd Moellmann <gerd@gnu.org>
5377
5378 * xdisp.c (display_line): Don't treat a newline as fitting
5379 on the line.
5380
d2906bf8
GM
53812001-01-26 Gerd Moellmann <gerd@gnu.org>
5382
0130fe1a
GM
5383 * window.c (size_window): Set the window's orig_top to nil when
5384 changing heights, so that a future shrink_mini_window won't
5385 restore a bogus height.
5386
550f0e6a
GM
5387 * frame.c (do_switch_frame): If selected frame has a mini-window,
5388 resize that to exact size.
5389
b7b20fbd
GM
5390 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5391
a47b7816
GM
5392 * xdisp.c (display_line): Simplify check for glyphs fitting
5393 entirely in the line.
5394
d2906bf8
GM
5395 * xfns.c (xic_style): New variable.
5396 (create_frame_xic): Move static variable to global scope for
550f0e6a 5397 the case that `static' gets defined away.
d2906bf8 5398
73df2b1e
KH
53992001-01-26 Kenichi Handa <handa@etl.go.jp>
5400
5401 * coding.c (decode_coding): Set a flag for inhibiting
5402 inconsistent eol.
5403 (code_convert_region): Always set saved_coding_symbol.
5404 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 5405 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 5406
6613cfc4
GM
54072001-01-25 Gerd Moellmann <gerd@gnu.org>
5408
c5e6e06b
GM
5409 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5410 XClearArea.
5411
5412 * xterm.c (x_after_update_window_line): Don't clear if frame's
5413 internal border width is zero.
5414 (x_clear_area): New function.
5415 (x_after_update_window_line, x_clear_end_of_line)
5416 (x_scroll_bar_create, x_scroll_bar_set_handle)
5417 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5418 instead of XClearArea.
5419
5420 * xterm.h (x_clear_area): Add prototype.
5421
6613cfc4
GM
5422 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5423 which doesn't seem necessary anymore with Lesstif 0.92.
5424
650cc6cc
DL
54252001-01-25 Dave Love <fx@gnu.org>
5426
34ac3367
DL
5427 * puresize.h (BASE_PURESIZE): Up to 720000.
5428
650cc6cc
DL
5429 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5430
5e37dc22
GM
54312001-01-25 Gerd Moellmann <gerd@gnu.org>
5432
e1e441f9
GM
5433 * xdisp.c (echo_area_display): Don't call redisplay_internal
5434 when Emacs is shutting down. We can't run hooks etc. that
5435 would be necessary to do a redisplay.
5436
5e37dc22
GM
5437 * lread.c (read_integer): Use type EMACS_INT instead of int.
5438
0fb94c7f
EZ
54392001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5440
5441 * ccl.c (ccl_driver): Fix last change.
5442
e3778624
KH
54432001-01-25 Kenichi Handa <handa@etl.go.jp>
5444
5445 * ccl.h (sturct ccl_program): New member suppress_error.
5446
bb264518 5447 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
5448 insert error message to the output.
5449 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5450
5451 * coding.h (struct coding_system): New member suppress_error.
5452
5453 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5454 (Fset_terminal_coding_system_internal): Set the member
5455 suppress_error to 1.
5456 (Fset_safe_terminal_coding_system_internal): Likewise.
5457
245ed2b1
SM
54582001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5459
5460 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5461 as if it was a `charset'.
5462
f9aaedb6
GM
54632001-01-24 Gerd Moellmann <gerd@gnu.org>
5464
5465 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5466 value in where_is_cache; the next lookup in the cache returns
5467 something bogus if we do.
5468
c3902c3e
EZ
54692001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5470
5471 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5472 if HAVE_WINDOW_SYSTEM isn't defined.
5473
3497f73e
GM
54742001-01-24 Gerd Moellmann <gerd@gnu.org>
5475
e7e41584
GM
5476 * fns.c (sweep_weak_table): Fix code taking items out of
5477 the hash collision chain. Some cleanup.
5478
3497f73e
GM
5479 * xterm.c (x_new_font): Don't change a tooltip's size.
5480
5481 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5482 background color by specifying a color for the default font
5483 in .Xdefaults.
5484
3d48e687
KH
54852001-01-24 Kenichi Handa <handa@etl.go.jp>
5486
96531b20
KH
5487 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5488 a workaround for SunOS 4's cc.
5489 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5490 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5491 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5492 statement.
3d48e687 5493
a30629d2
GM
54942001-01-23 Gerd Moellmann <gerd@gnu.org>
5495
5496 * xterm.c (x_set_window_size_1): New function extracted from
5497 x_set_window_size.
5498 (x_set_window_size): Use it.
5499 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5500 doesn't have a widget, like tooltips.
5501
5a43decf
EZ
55022001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5503
52283633 5504 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 5505
b0e98867
KH
55062001-01-23 Kenichi Handa <handa@etl.go.jp>
5507
5508 * fns.c (Fset_char_table_default): Fix to make sub char-table
5509 correctly.
5510
50606b4c
GM
55112001-01-22 Gerd Moellmann <gerd@gnu.org>
5512
cb2ddc53 5513 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
5514 a desired tool bar string, even if there are no tool bar items.
5515
57c28064
GM
5516 * xdisp.c (Ftool_bar_lines_needed): New function.
5517 (syms_of_xdisp): Defsubr it.
5518
50606b4c
GM
5519 * editfns.c (Fformat): Don't extend text properties from arguments
5520 to padding chars in the result.
5521
2f169c38
EZ
55222001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5523
5524 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5525
0f32f023
AI
55262001-01-20 Andrew Innes <andrewi@gnu.org>
5527
52283633 5528 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
5529 (w32_initialize): Don't set term hooks that aren't actually needed
5530 in windowed mode.
5531
5532 * xfaces.c (realize_default_face):
5533 (realize_face):
5534 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5535
5536 * xdisp.c (handle_single_display_prop): Remove references to
5537 FRAME_W32_CONSOLE_P.
5538
52283633 5539 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
5540
5541 * frame.h (output_method): Remove output_w32_console method.
5542 (FRAME_W32_CONSOLE_P): Remove macro.
5543
5544 * frame.c (Qw32_console): Remove variable.
5545 (Fframep): Remove references to it.
5546 (syms_of_frame): Ditto.
5547 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5548
5549 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5550 redefinition.
5551
7173eada
KH
55522001-01-20 Kenichi Handa <handa@etl.go.jp>
5553
5554 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5555
755b45ce
AI
55562001-01-19 Andrew Innes <andrewi@gnu.org>
5557
5558 * w32.c (init_environment): Add a version-independent site-lisp
5559 directory to EMACSLOADPATH, after the version dependent one.
5560
0a949811
GM
55612001-01-19 Gerd Moellmann <gerd@gnu.org>
5562
8501998a
GM
5563 * editfns.c (Fbuffer_substring): Doc fix.
5564
52283633
SM
5565 * xdisp.c (message_dolog, message2, message2_nolog):
5566 Rename parameter LEN to NBYTES.
0a949811 5567
e6ebcbbe
KH
55682001-01-19 Kenichi Handa <handa@etl.go.jp>
5569
200ecca2
KH
5570 * charset.c (strwidth): Use c_string_width.
5571 (c_string_width): New function.
5572 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5573 Caller changed.
5574
5575 * charset.h (c_string_width, lisp_string_width): Extern them.
5576
52283633 5577 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 5578
e6ebcbbe
KH
5579 * indent.c (check_composition): Check validity of composition.
5580
200ecca2
KH
5581 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5582 characters by calling c_string_width.
5583 (x_consider_frame_title): Get byte length of frame tile string
5584 correctly.
5585 (display_mode_element): Pay attention to width of non-ASCII
5586 characters by calling strwidth.
5587
8692ca92
GM
55882001-01-18 Gerd Moellmann <gerd@gnu.org>
5589
8962e303
GM
5590 * xfns.c (Qcancel_timer): New variable.
5591 (syms_of_xfns): Initialize and staticpro it.
5592 (Fx_hide_tip, Fx_show_tip): Use it.
5593 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5594 the timer.
5595 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5596
91523be9
GM
5597 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5598
5599 * window.h (WINDOW_LIVE_P): New macro.
5600
b0b7ed0e
GM
5601 * window.c (window_size_fixed): New variable.
5602 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5603 the doc string.
5604
06bccf8e
GM
5605 * eval.c (specbind): If binding a per-buffer variable which
5606 doesn't have a buffer-local value in the current buffer, change
5607 the global value by changing the value of the symbol bound in all
5608 buffers not having their own value, to make it consistent with
5609 what happens with other buffer-local variables.
5610
8692ca92
GM
5611 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5612
5613 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5614 when searching for a newline.
5615
bb3a3b50
KH
56162001-01-18 Kenichi Handa <handa@etl.go.jp>
5617
5618 * xdisp.c (display_string): Fix previous change.
5619
c2cc16fa
JR
56202001-01-18 Jason Rumney <jasonr@gnu.org>
5621
5622 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5623 GLYPH_DEBUG is defined.
5624 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5625 true for images with `:ascent 100'.
5626 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5627 meantime, use face MOUSE_FACE_ID.
5628 If first glyph isn't a character glyph, use the ASCII NUL
5629 character to determine the face.
5630 (expose_area): Do not treat left margin specially.
5631 (note_mode_line_highlight): If no local_map, check global keymap.
5632 (note_mouse_highlight): Initialize overlay.
52283633 5633 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
5634 (show_scroll_bars): Remove unused function.
5635 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5636 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5637 Clip to row.
52283633 5638 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
5639 (x_free_frame_resources): Unload relief colors.
5640
9c11f79e
GM
56412001-01-17 Gerd Moellmann <gerd@gnu.org>
5642
3aec8722 5643 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
5644 get_next_display_element when the newline is already found.
5645 This may change the iterator's position, when its current position is
3aec8722
GM
5646 equal to the iterator's stop_charpos.
5647
f3ffc2c3
GM
5648 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5649 zero, use this method only at the end of a line.
5650
52283633 5651 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
5652 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5653 if SCALABLE_FONTS_P is set.
52283633 5654
d26d6fd9
GM
5655 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5656 so that scalable fonts are included.
5657
9c11f79e
GM
5658 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5659 In the cache, use a key containing the information if scalable
5660 fonts are included.
5661 (x_load_font): Adapt to change of keys in the font cache.
5662
56632001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 5664
d26d6fd9
GM
5665 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5666 XListFonts to take advantage of font caching.
5667
9c11f79e
GM
5668 * xterm.c (x_list_fonts): Ensure caching font information when
5669 called for a null frame, which is the case frequently when Emacs
5670 starts.
5671
51446987
GM
56722001-01-17 Gerd Moellmann <gerd@gnu.org>
5673
f864120f
GM
5674 * xfns.c (QCconversion): Replaces QCalgorithm.
5675
5676 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5677
5678 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5679 of :algorithm.
52283633 5680
e37d1417
GM
5681 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5682 not everything could be displayed.
5683
51446987
GM
5684 * line.h, x-list-font.c: Files removed because unused.
5685
9ad4f3e5
AI
56862001-01-17 Andrew Innes <andrewi@gnu.org>
5687
5688 * dired.c (directory_files_internal): Convert result from readdir
5689 to a unibyte string initially, to avoid possible misinterpretation
5690 of some bytes as the internal form of Emacs characters.
5691
2eda09b5
KH
56922001-01-17 Kenichi Handa <handa@etl.go.jp>
5693
5694 * fns.c (concat): Be sure to avoid putting the same `composition'
5695 property on the adjacent regions.
5696
826f3788
GM
56972001-01-16 Gerd Moellmann <gerd@gnu.org>
5698
52283633 5699 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
5700 (Fscroll_right, Fscroll_left): Set it here instead, if called
5701 interactively.
5702
d57b83b3
GM
5703 * buffer.c (Fset_buffer_modified_p): Set buffer's
5704 prevent_redisplay_optimizations_p flag.
5705
826f3788 5706 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
5707 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5708 with additional arg.
5709
5710 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5711 Change prototype.
826f3788 5712
826f3788
GM
5713 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5714 FROM_WHERE, for debugging.
5715
261d788b
KH
57162001-01-16 Kenichi Handa <handa@etl.go.jp>
5717
5718 * ccl.c (Fregister_ccl_program): Handle the return value of
5719 resolve_symbol_ccl_program correctly.
52283633 5720 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 5721
bccee4f2
GM
57222001-01-15 Gerd Moellmann <gerd@gnu.org>
5723
e4ded23c
GM
5724 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5725 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
5726
5727 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5728 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
5729 the display; we didn't open it.
5730
bccee4f2
GM
5731 * dispnew.c (save_or_restore_current_matrices): Function removed.
5732 (save_current_matrix, restore_current_matrix): New functions.
5733 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5734 restore the frame's current matrix. Due to the glyph pointer
5735 setup done in adjust_glyph_matrix, there is no easy way to make
5736 saving the current matrix in the desired matrix generally correct,
5737 so don't try it.
5738
ebeccffa
KH
57392001-01-15 Kenichi Handa <handa@etl.go.jp>
5740
5741 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5742 truncation glyphs.
5743 (display_line): Optimize for wide characters.
e4ded23c 5744 (display_string): Don't try to display a multi-column character
ebeccffa
KH
5745 partially. On ttys, produce more than one truncation glyph for
5746 multi-column characters that don't fit on the line.
5747
64388126
KH
57482001-01-13 Kenichi Handa <handa@etl.go.jp>
5749
52283633
SM
5750 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5751 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 5752
8edb0a6f
JR
57532001-01-13 Jason Rumney <jasonr@gnu.org>
5754
5755 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5756 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
5757 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5758 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 5759
52283633
SM
5760 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5761 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
5762 (x_draw_image_glyph_string): Adapt to change of image margins.
5763
5764 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5765 variables.
5766
5767 * w32bdf.c (search_file_line, get_cached_font_char)
5768 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5769
5770 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5771
5772 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5773 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5774 (Fw32_send_sys_command): Remove unused variables.
5775 (w32_msg_pump): Add parentheses.
5776
5777 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5778 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5779 Add parentheses.
5780
4956d1ef
GM
57812001-01-12 Gerd Moellmann <gerd@gnu.org>
5782
b30623be
GM
5783 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5784 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5785 being a pair of margins.
5786 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5787 to DEFVAR_LISP. Extend doc.
5788
5789 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5790 margins.
5791 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5792 pair of integers `(X . Y)', use X for the horizontal and Y for the
5793 vertical margin.
5794 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5795 (parse_image_spec): Check it.
52283633
SM
5796 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5797 (tiff_format, gif_format, gs_format):
5798 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 5799
52283633
SM
5800 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5801 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5802 (x_draw_image_glyph_string): Adapt to the change of image margins.
5803
5804 * dispextern.h (struct image): Replace member `margin' with
5805 `hmargin' and `vmargin'.
5806
4554cc79
GM
5807 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5808 and GLYPHS.
5809
5810 * dispnew.c (update_text_area): Put code which decrements the
5811 stop position when the row's face extends to the end of the
3bffc665 5812 line in #if 0.
4554cc79 5813
3cccce8d
GM
5814 * xfns.c (x_set_mouse_color): Fix color allocation.
5815
4956d1ef
GM
5816 * keyboard.c: Call get_local_map with new argument list.
5817
5818 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5819
5820 * intervals.h (enum map_property): Removed.
5821 (get_local_map): Change prototype.
5822
5823 * keymap.c: Call get_local_map with new argument list.
5824 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5825
2c2ff7f2
GM
58262001-01-11 Gerd Moellmann <gerd@gnu.org>
5827
a23887b9
GM
5828 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5829 of the size needed for the tool bar string. For the last image,
5830 use a `display' property that reaches to the end of the string.
5831
a7ee2d2e
GM
5832 * xselect.c (selection_request_dpyinfo): New variable.
5833 (x_handle_selection_request): Set it.
5834 (x_selection_request_lisp_error): Don't call
5835 x_decline_selection_request if selection request's display has
5836 been closed.
5837
52283633
SM
5838 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5839 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5840
457b792c
GM
58412001-01-10 Dave Love <fx@gnu.org>
5842
5843 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5844 ${SOME_MACHINE_LISP}, not ${lisp}.
5845
c1efd260
GM
58462001-01-10 Gerd Moellmann <gerd@gnu.org>
5847
52283633
SM
5848 * xdisp.c (display_line): On ttys, produce more than one truncation
5849 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5850
ac95a621
GM
5851 * xselect.c (x_reply_selection_request): Add a comment.
5852
c1efd260
GM
5853 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5854 XkbGetNames instead of XkbGetKeyboard.
5855
1bfb1345
DL
58562001-01-10 Dave Love <fx@gnu.org>
5857
5858 * sysdep.c (random): Revert the declaration.
5859
38119822
GM
58602001-01-09 Gerd Moellmann <gerd@gnu.org>
5861
52283633
SM
5862 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5863 Call function string_bytes.
35f464a7
GM
5864 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5865
5866 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5867 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5868 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5869 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5870 the current sblock.
5871 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5872 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5873 after sweeping strings, and at the end.
5874 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5875
38119822
GM
5876 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5877 ensure that pop_message is called.
5878
5879 * keyboard.c (Fexecute_extended_command): Use a
5880 record_unwind_protect to ensure that pop_message is called.
5881
5882 * lisp.h (push_message_unwind): Add prototype.
5883
5884 * xdisp.c (push_message_unwind): New function.
5885
5886 * fileio.c (do_auto_save_unwind): Do the pop_message here
5887 instead of in Fdo_auto_save.
5888 (Fdo_auto_save): Don't call pop_message.
5889
f47a9ec4
KR
58902001-01-08 Ken Raeburn <raeburn@gnu.org>
5891
5892 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5893 in inner block.
5894
a758f97d
GM
58952001-01-08 Gerd Moellmann <gerd@gnu.org>
5896
6d0afc03
GM
5897 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5898 when increasing window's vscroll.
5899
a758f97d
GM
5900 * macros.c (Qkbd_macro_termination_hook): New variable.
5901 (syms_of_macros): Initialize and staticpro it.
5902 (pop_kbd_macro): Run kbd-macro-termination-hook.
5903
5904 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5905
1bfb1345 59062001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5907
5908 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5909 arglist, for documentation's sake.
5910
0dac6924
AI
59112001-01-06 Andrew Innes <andrewi@gnu.org>
5912
5913 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5914 of *.pdb.
5915
8182406a
AI
59162001-01-05 Andrew Innes <andrewi@gnu.org>
5917
5918 * term.c (update_end): Don't check updating_frame; for some reason
5919 this can be 0 sometimes, such as after dismissing a popup menu,
5920 and isn't necessary given the explicit frame argument.
5921
3828218c
GM
59222001-01-05 Gerd Moellmann <gerd@gnu.org>
5923
5924 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5925 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5926
2f5ded21
GM
59272001-01-04 Gerd Moellmann <gerd@gnu.org>
5928
52283633 5929 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5930
5931 * xfns.c (x_create_tip_frame): Preserve the value of
5932 face_change_count around the creation of the tip frame.
52283633 5933
2f5ded21
GM
5934 * xfns.c (last_show_tip_args): New variable.
5935 (compute_tip_xy): New function.
5936 (Fx_show_tip): Reuse an existing tip frame, if possible.
5937 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5938
dfad65fa
DL
59392001-01-04 Dave Love <fx@gnu.org>
5940
64d4ec0f
DL
5941 * editfns.c (Fformat): Doc fix.
5942
dfad65fa
DL
5943 * systime.h (set_file_times): Prototype.
5944
5945 * widget.h (EmacsFrameSetCharSize_): Prototype.
5946
5947 * sysdep.c (random, srandom): Declare explicitly.
5948
5949 * dispextern.h (move_it_vertically_backward): Declare.
5950
85fe3b5e
GM
59512001-01-04 Gerd Moellmann <gerd@gnu.org>
5952
0f2ac578
GM
5953 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5954 like in Fx_create_frame.
5955
482cca61
GM
5956 * xfaces.c (set_font_frame_param): Don't do anything for
5957 non-graphical frames.
5958
85fe3b5e
GM
5959 * window.c (Fdelete_other_windows): Set window's window_end_valid
5960 to nil when changing the window's start. Don't change the
5961 window's start when its top position hasn't changed. If we do,
5962 this will set the window's optional_new_start, which act's like a
5963 force_start during redisplay with C-x 1 M-> under particular
5964 circumstances (see report from Per Starback to emacs-pretest-bug
5965 from 2000-12-13.).
5966
3e99d3b4
GM
59672001-01-03 Gerd Moellmann <gerd@gnu.org>
5968
a77dc1ec
GM
5969 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5970 short cut at the start of the function. Add an assertion.
5971 (reseat_at_next_visible_line_start): Add an assertion.
5972
2f3cad6c
GM
5973 * window.c (Frecenter): When changing the window start, set the
5974 window's window_end_valid to nil.
5975 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5976
5977 * dispextern.h (move_it_past_eol): Add prototype.
5978
5979 * xdisp.c (move_it_past_eol): New function.
5980
3e99d3b4
GM
5981 * window.c (Fwindow_end): Doc fix.
5982
59832001-01-03 Dave Love <fx@gnu.org>
5984
52283633 5985 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5986
bafb434c
GM
59872001-01-03 Gerd Moellmann <gerd@gnu.org>
5988
5989 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5990 the enabled_p flag of the glyph row at window_end_vpos to 0.
5991 (handle_single_display_prop): Fix last change.
5992
5297fb00
RS
59932001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5994
5995 * window.c (Frecenter): Doc fix.
5996
13d6a61c
AI
59972001-01-02 Andrew Innes <andrewi@gnu.org>
5998
5999 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
6000
6001 * frame.h (output_method): Add output_w32_console method.
6002 (FRAME_W32_CONSOLE_P): New macro.
6003
6004 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
6005 use output_w32_console method.
6006 (Qw32_console): New Lisp_Object.
6007 (Fframep): Return it.
6008 (syms_of_frame): Init it.
52283633 6009 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
6010
6011 * xfaces.c (realize_default_face): Set face foreground and
6012 background to unspecified for w32_console frames.
6013 (realize_face): Realize face cache for w32_console frames.
6014 (realize_tty_face): Accept w32_console frames.
6015
52283633 6016 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
6017 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
6018 necessary, even if running interactively.
6019
6020 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
6021 w32_console frames.
6022
52283633
SM
6023 * w32term.c (x_update_begin):
6024 (x_update_end):
6025 (x_clear_frame):
6026 (x_ins_del_lines):
6027 (x_change_line_highlight):
6028 (x_delete_glyphs):
6029 (w32_ring_bell):
6030 (x_update_begin):
6031 (x_update_end):
6032 (w32_reassert_line_highlight):
6033 (w32_frame_rehighlight):
13d6a61c
AI
6034 (w32_frame_raise_lower): Do nothing if not w32 frame.
6035
6036 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6037
6038 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6039 system doesn't tell us directly.
6040 (Fx_display_visual_class): Implement properly.
6041
d6bb0c0d
GM
60422001-01-02 Gerd Moellmann <gerd@gnu.org>
6043
6044 * window.c (Frecenter): Handle centering in graphical frames
6045 specially. Centering on the basis of line counts doesn't work
6046 reliably with variable-height lines.
52283633 6047
315f5865
EZ
60482001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6049
6050 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6051 and al[].
6052
52283633 6053 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
6054 (update_compositions): Remove unused variable `hook'.
6055
6056 * intervals.c (get_local_map): Remove unused variable `tem'.
6057
6058 * doprnt.c (doprnt1): Remove unused variable `size'.
6059
6060 * fns.c (Flength): Remove unused variable `tail'.
6061 (Fdelete): Remove unused variable `size'.
6062
6063 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6064 and `gcpro2'.
6065
52283633 6066 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
6067
6068 * data.c (find_symbol_value): Remove extra 3rd argument in the
6069 call to swap_in_symval_forwarding.
6070
52283633 6071 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
6072
6073 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6074 (trivial_regexp_p): Remove unused variable `c'.
6075 (boyer_moore): Remove unused variable `k'.
6076
6077 * indent.c (current_column): Remove unused variable `stopchar'.
6078 (Fcompute_motion): Remove unused variable `contin'.
6079
6080 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6081
6082 * dired.c (directory_files_internal): Fix a typo in a comment.
6083 Remove an unused variable `handler'.
52283633 6084 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
6085 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6086 on BSD4_2.
6087
52283633 6088 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
6089
6090 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6091 and `buf'.
6092 (Fmarker_insertion_type): Remove unused variable `buf'.
6093
6094 * insdel.c (make_gap): Remove unused variable `result'.
6095
52283633 6096 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
6097 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6098 (menu_bar_items): Remove unused function-scope variable `tem'.
6099
6100 * fontset.c (fontset_ref): Remove unused variable `i'.
6101 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 6102 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
6103 (make_fontset_for_ascii_face): Remove unused variable `name'.
6104 (fs_load_font): Remove unused variable `font_idx'.
52283633 6105 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
6106 (list_fontsets): Remove unused variable `tail'.
6107 (Fnew_fontset): Remove unused variables `family' and `registry'.
6108 (accumulate_font_info): Remove unused variable `tmp'.
6109 (Ffontset_font): Remove unused variable `id'.
6110 (syms_of_fontset): Remove unused variable `i'.
6111
6112 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6113 to x_term_init.
6114 (lookup_image): Remove unused variable `file'.
6115 (xbm_load): Remove unused variables `bitmap_data', `height', and
6116 `width'. Remove function-local variable `i', leave the
6117 block-local one.
6118 (gif_load): Remove unused variable `inc'.
6119
52283633 6120 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
6121 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6122 leave only the one in the inner block.
6123
6124 * xfaces.c (face_fontset, realize_default_face): Remove unused
6125 variable `fontset'.
6126 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6127
6128 * term.c (encode_terminal_code): Remove unused variable `c'.
6129
6130 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6131 char *' instead of `char *'.
6132
6133 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 6134 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
6135 (Fchar_category_set): Remove unused variables `val', `charset',
6136 `c1' and `c2'.
6137
52283633
SM
6138 * coding.c (detect_coding_iso2022, setup_coding_system):
6139 Remove unused variable `i'.
315f5865
EZ
6140 (detect_coding_mask): Remove unused variable `idx'.
6141 (detect_coding): Remove unused variable `i'.
6142 (ccl_coding_driver): Remove unused variable `result'.
6143 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 6144 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
6145 (encode_coding_string): Remove unused variables `gcpro1' and
6146 `saved_coding_symbol'.
6147 (Ffind_coding_systems_region_internal): Remove function-local
6148 variable args[], leave only the block-local one.
6149 (code_convert_region1): Remove unused variable `len'.
6150
6151 * charset.c (char_printable_p): Remove unused variable `chars'.
6152 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6153 (str_to_multibyte): Remove unused variable `c'.
6154
6155 * window.c (size_window): Remove block-local variable `min_size'.
6156
6157 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6158 `header_line_height'.
6159 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6160 enum display_element_type.
6161
1a8a9daf
GM
61622001-01-02 Gerd Moellmann <gerd@gnu.org>
6163
6dde6abc 6164 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
6165 statements that call X. Save away the error message in a local copy.
6166
1883b2c6
GM
6167 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6168 the start.
6169
a13be207
GM
6170 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6171 in or at the start of invisible text.
6172
1a8a9daf
GM
6173 * dispnew.c (update_window): Don't check_current_matrix_flags.
6174
3608c0f9
JR
61752001-01-01 Jason Rumney <jasonr@gnu.org>
6176
6177 * w32fns.c (x_figure_window_size): Do not allow new_height and
6178 new_width of frame to override specified values.
6179
abb1acc4
KH
61802000-12-30 Kenichi Handa <handa@etl.go.jp>
6181
52283633 6182 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 6183
762a68ec
GM
61842000-12-29 Gerd Moellmann <gerd@gnu.org>
6185
52283633 6186 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
6187 (update_window) [GLYPH_DEBUG]: Call it.
6188 (scrolling_window): Prevent including current rows which are below
6189 what's displayed in the window.
6190
6191 * xdisp.c (try_window_reusing_current_matrix)
6192 <new start <= old start>: Disable rows in the current matrix
6193 which are below the window after scrolling.
52283633 6194
762a68ec
GM
6195 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6196 is zero. It's not worth the complexity.
6197 (invisible_text_between_p): Put in #if 0 because unused.
6198
2d5912c1
GM
61992000-12-28 Gerd Moellmann <gerd@gnu.org>
6200
46f6a258
GM
6201 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6202 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6203
89f93679
GM
6204 * keyboard.c (echo_char): If C is an integer, always call
6205 push_key_description. Former code could signal an invalid
6206 character error.
6207
6208 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6209 If set, print multibyte text.
6210 (Fsingle_key_description): Call push_key_description with
6211 FORCE_MULTIBYTE set.
6212 (describe_buffer_bindings): Likewise.
6213
6214 * lisp.h (push_key_description): Add prototype.
6215
c06017fb
GM
6216 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6217 around the call to redisplay_internal.
6218
f1d2ce7f
GM
6219 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6220
2d5912c1
GM
6221 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6222
9371f831
KH
62232000-12-28 Kenichi Handa <handa@etl.go.jp>
6224
6225 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6226 (ccl_driver): New local variable `extra_bytes'.
6227
6228 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6229
52283633
SM
6230 * coding.c (setup_coding_system):
6231 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
6232 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6233
0c80628a
KH
62342000-12-28 Kenichi Handa <handa@etl.go.jp>
6235
6236 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6237 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6238 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6239 (decode_composition_emacs_mule): New function.
6240 (decode_coding_emacs_mule): Decode composition sequence by calling
6241 decode_composition_emacs_mule.
6242 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
6243 (encode_coding_emacs_mule): Changed from macro to function.
6244 If a text contains compositions, encode them correctly.
0c80628a
KH
6245 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6246 that decoding and encoding are required.
6247
3e32cc27
GM
62482000-12-27 Gerd Moellmann <gerd@gnu.org>
6249
5e25feee
GM
6250 * xfaces.c (PT_PER_INCH): New macro.
6251 (xlfd_point_size): Compute real point size from font's pixel size.
6252 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6253 instead of 72.
6254
892d8fcd
GM
6255 * .gdbinit: Comment out the line pointing to the Lesstif source
6256 directory.
6257
12c8b416
GM
6258 * window.c (Frecenter): Use displayed_window_lines instead
6259 of window_internal_height.
6260
6061fbf0
GM
6261 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6262 instead of x-toolkit-scroll-bars-p.
6263 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6264
6265 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6266 instead of x-toolkit-scroll-bars-p.
6267 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 6268
3e32cc27
GM
6269 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6270 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
6271 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6272 New variables.
6273 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
6274 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6275 (build_frame_matrix_from_leaf_window): Remove unused code.
6276 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6277 redisplay history.
6278 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6279 (update_window) [GLYPH_DEBUG]: Likewise.
6280 (syms_of_display): Defsubr dump-redisplay-history.
6281
31798cfe
GM
62822000-12-23 Gerd Moellmann <gerd@gnu.org>
6283
f717c2ba
GM
6284 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6285 the end of the prompt. Set echo_after_prompt to the offset
6286 of echoptr in echobuf.
6287
aeb2b8fc
GM
6288 * xdisp.c (init_from_display_pos): Pop until the iterator's
6289 stack is empty; there may be frames for stretch or images
6290 on the stack.
6291
31798cfe
GM
6292 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6293 (save_or_restore_current_matrix): New function for the same
6294 purpose, but more efficient.
6295 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6296
f8156156
EZ
62972000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6298
6299 * xdisp.c (syms_of_xdisp): Fix last change.
6300
bdd6d4e8
GM
63012000-12-23 Gerd Moellmann <gerd@gnu.org>
6302
6303 * xdisp.c (syms_of_xdisp): Doc fix.
6304
6305 * xdisp.c (redisplay_window): Remove label restore_buffers;
6306 use finish_scroll_bars instead to make sure that scroll bars
6307 are redeemed. If we don't do this, flickering can result from
6308 scroll bars being destroyed and recreated.
6309
9436cdf9
JR
63102000-12-22 Jason Rumney <jasonr@gnu.org>
6311
6312 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6313 in the wrong colors when the foreground is not black.
6314 (expose_window): Don't redraw the window that's currently being
6315 updated.
6316
951f9df5
GM
63172000-12-22 Gerd Moellmann <gerd@gnu.org>
6318
856ff7a7
GM
6319 * window.c (size_window): When setting the window's too_small_ok
6320 flag, compare old size with minimum size depending on WIDTH_P,
6321 don't compare with window_min_width.
52283633 6322
951f9df5
GM
6323 * window.c (delete_window): Simplify somewhat.
6324 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6325 freeing window matrices. The flag windows_or_buffers_changed is
6326 set, so the next redisplay will consider all windows; this should
6327 suffice.
6328
886bc933
KH
63292000-12-22 Kenichi Handa <handa@etl.go.jp>
6330
6331 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6332
6333 * ccl.h (struct ccl_program): New member cr_consumed.
6334
6335 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6336 (CCL_READ_CHAR): Handle EOL conversion here.
6337 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6338
177f4e88
GM
63392000-12-21 Gerd Moellmann <gerd@gnu.org>
6340
52283633 6341 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
6342
6343 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6344 otherwise tabs of different size compare equal.
6345
6346 * callint.c (Fcall_interactively): Prevent a compiler warning.
6347
6348 * print.c (print_unwind): Return nil.
6349 (PRINTDECLARE): Initialize all local variables.
6350 (print_preprocess): Add a default case.
6351
8e15274f
GM
6352 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6353
6354 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6355
52283633 6356 * window.c (delete_window, Fsplit_window)
177f4e88
GM
6357 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6358
6359 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6360
6361 * dispnew.c (ensure_frame_matrix): Removed.
6362 (save_frame_matrix, restore_frame_matrix): New functions.
6363 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6364
6365 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6366 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6367
99012074
AI
63682000-12-21 Andrew Innes <andrewi@gnu.org>
6369
6370 * w32term.c (x_update_begin): Regenerate the palette here, rather
6371 than for each window.
6372
6373 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6374 palette is NULL, since this corrupts memory! Also get
6375 display_info reference from frame.
6376
29ef7d2d
JR
63772000-12-21 Jason Rumney <jasonr@gnu.org>
6378
6379 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6380
6381 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6382 to avoid returning without releasing it.
3e27fa1f 6383
3f9d67a6
KH
63842000-12-21 Kenichi Handa <handa@etl.go.jp>
6385
587fc3f9
KH
6386 * keymap.c (push_key_description): Don't convert eight-bit-control
6387 and eight-bit-graphic to multibyte character.
6388
3f9d67a6
KH
6389 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6390 generic character and CODE1 is nil, return the smallest character
6391 in CHARSET.
6392
774ba8c9
DL
63932000-12-20 Dave Love <fx@gnu.org>
6394
6395 * s/osf5-0.h (NSIG): Don't redefine.
6396
88416888
SM
63972000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6398
6399 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6400 excluding menu-bar and tool-bar.
6401 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6402 (menu_item_p): Remove.
6403 (where_is_internal_1): Don't ignore menu-items.
6404
a6426c6f
GM
64052000-12-20 Gerd Moellmann <gerd@gnu.org>
6406
03ff8aab
GM
6407 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6408 into account.
6409
6410 * window.c (make_window): Initialize window's min_hscroll.
6411 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6412 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6413 to zero.
6414 (struct saved_window): New member min_hscroll.
6415 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6416 (Fset_window_configuration): Set window's min_hscroll.
6417 (save_window_save): Save window's min_hscroll.
6418 (compare_window_configurations): Compare min_hscroll values.
6419
6420 * window.h (struct window): New member min_hscroll.
6421
6422 * keyboard.c (echo_prompt): Prevent a compiler warning.
6423
8de4aaf8
GM
6424 * xdisp.c (try_cursor_movement): Fix last change. The real
6425 condition is that PT is at the end of the row, and should
6426 be displayed at the start of the next row.
52283633 6427
3f7e3031
GM
6428 * xdisp.c (try_cursor_movement): If we end on a partially
6429 visible line, end we already decided to scroll, return -1.
6430
a6426c6f
GM
6431 * dispextern.h (ensure_frame_matrix): Add prototype.
6432
6433 * window.c (delete_window, Fsplit_window)
6434 (Fset_window_configuration): Call ensure_frame_matrix.
6435
52283633
SM
6436 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6437 New functions.
a6426c6f
GM
6438 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6439 completed, call fake_current_matrices instead of marking frame
6440 garbaged.
6441
57fa2774
JR
64422000-12-20 Jason Rumney <jasonr@gnu.org>
6443
6444 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6445
d925df90
EZ
64462000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6447
6448 * fns.c (Frequire): Doc fix.
6449
7b93a85b
GM
64502000-12-19 Gerd Moellmann <gerd@gnu.org>
6451
52283633 6452 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 6453
c74e645b
GM
6454 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6455 currently displaying a message.
6456
7b93a85b
GM
6457 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6458 xterm.h.
6459 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6460
90d97e64
AI
64612000-12-18 Andrew Innes <andrewi@gnu.org>
6462
6463 * w32.c (w32_strerror): New function.
6464
6465 * w32.h (w32_strerror): New extern.
6466
6467 * w32fns.c (Fw32_shell_execute): Use it.
6468
91c9e6ce
GM
64692000-12-18 Gerd Moellmann <gerd@gnu.org>
6470
6471 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6472
6f4745e2
EZ
64732000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6474
6475 * msdos.c (IT_set_face): Obey inverse_video.
6476
c9e088ce
KH
64772000-12-18 Kenichi Handa <handa@etl.go.jp>
6478
6479 * dired.c (directory_files_internal): Always return decoded filenames.
6480
c3695f5f
GM
64812000-12-18 Gerd Moellmann <gerd@gnu.org>
6482
52d8e4ff
GM
6483 * xterm.c (x_connection_closed): Prevent being called recursively
6484 because of an error condition in XtCloseDisplay.
52283633 6485
62be9979
GM
6486 * xdisp.c (init_iterator): If noninteractive, and the frame's
6487 face cache is null, make one.
6488
52283633 6489 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 6490
c3695f5f
GM
6491 * process.c (wait_reading_process_input): Check for pending
6492 input when running timers.
6493
78555fbe
EZ
64942000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6495
52283633 6496 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 6497
b2b36264
KH
64982000-12-18 Kenichi Handa <handa@etl.go.jp>
6499
6500 * process.c (read_process_output): Don't run a filter if the code
6501 decoder produces nothing but carryover.
6502
9c543fbf
AI
65032000-12-17 Andrew Innes <andrewi@gnu.org>
6504
6505 * w32.c (sys_rename): Only check errno against EEXIST, and not
6506 EACCES, when determining whether rename failed because the target
6507 exists. This was resulting in indefinite looping on Windows 9x if
6508 the source file was locked by another process.
6509
6510 * w32fns.c (Ffile_system_info): New function.
6511 (syms_of_w32fns): Defsubr it.
6512
10c2b5a8
GM
65132000-12-17 Gerd Moellmann <gerd@gnu.org>
6514
b0228ace
GM
6515 * window.c (coordinates_in_window): Fix computation for
6516 position on vertical line between mode lines.
6517
10c2b5a8
GM
6518 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6519 Don't alter tip_frame or tip_window.
6520 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6521 was deleted.
6522
c844a81a
GM
6523 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6524 Don't alter tip_frame or tip_window.
6525 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6526 was deleted.
6527
6c825f8e
EZ
65282000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6529
6530 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6531 be consistent with the doc string. Reported by NAKAJIMA Mikio
6532 <minakaji@osaka.email.ne.jp>.
6533
af4bb4c8
KH
65342000-12-16 Kenichi Handa <handa@etl.go.jp>
6535
6536 * xfaces.c (Vface_ignored_fonts): New variable.
6537 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6538 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6539
8062e53a
GM
65402000-12-15 Gerd Moellmann <gerd@gnu.org>
6541
e87b8809
GM
6542 * dispnew.c (update_window): Detect pending input every nth line
6543 updated, i.e. do it depending on real work done, and not on the
6544 vpos of the line.
6545
6546 * xterm.c (expose_window): Don't redraw the window that's
6547 currently being updated.
6548
a6768cc5
GM
6549 * window.c (Fset_window_point): Remove test for
6550 cursor_in_non_selected_windows.
6551
4ea7fdca
GM
6552 * lread.c (read1): Recognize end of file after `\\'.
6553
8062e53a
GM
6554 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6555 not unwind_create_frame.
6556
bb7959c1
GM
65572000-12-15 Dave Love <fx@gnu.org>
6558
6559 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6560 bcopy & al.
6561
6562 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6563
ced04c42
KH
65642000-12-15 Kenichi Handa <handa@etl.go.jp>
6565
c5443913
KH
6566 * coding.c (setup_coding_system): Clear all members of the struct
6567 coding_system at first.
bc137305
KH
6568 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6569 argument.
6570 (code_convert_region): Don't override coding->src_multibyte and
6571 coding->dst_multibyte.
c5443913 6572
ced04c42
KH
6573 * fns.c (Fmd5): Docstring improved.
6574
c2d7f289
MB
65752000-12-15 Miles Bader <miles@gnu.org>
6576
6577 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6578 are actually marked as mode-lines; otherwise use
6579 estimate_mode_line_height.
6580
9d7d9263
GM
65812000-12-14 Gerd Moellmann <gerd@gnu.org>
6582
6583 * editfns.c (Fformat): Prevent a buffer overrun when the format
6584 specifies a precision.
6585
7cf0153a
EZ
65862000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6587
6588 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6589 argument is outside the range [2..3].
6590
1de0f662
AI
65912000-12-14 Andrew Innes <andrewi@gnu.org>
6592
6593 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6594 nothing to do. Bind inhibit-quit.
6595 (tip_frame): Make it a Lisp_Object.
6596 (x_create_tip_frame): Set tip_frame after it has been added to
6597 Vframe_list.
6598 (Fx_show_tip): Don't set tip_frame here.
52283633 6599 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
6600 (unwind_create_frame, unwind_create_tip_frame): New functions.
6601 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6602 while a frame is only partially constructed.
6603
6604 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6605 (x_free_frame_resources): New function.
6606 (x_destroy_window): Use it.
6607
02387dcc
GM
66082000-12-14 Gerd Moellmann <gerd@gnu.org>
6609
6610 * xfns.c (Fx_backspace_delete_keys_p): New function.
6611 (syms_of_xfns): Defsubr it.
6612
6613 * config.in (HAVE_XKBGETKEYBOARD): Add.
6614
0544ef49
KH
66152000-12-14 Kenichi Handa <handa@etl.go.jp>
6616
98d62747
KH
6617 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6618 Always store string in multibyte representation in echobuf.
6619 (echo_char): Always store string in multibyte representation in
6620 echobuf.
6621 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6622 (read_key_sequence): Adjusted for the change of echo_prompt.
6623
a20193cd
KH
6624 * fns.c (Fmd5): Docstring improved.
6625
191b83b6
KH
6626 * lisp.h (detect_coding_system): Prototype adjusted.
6627
0544ef49
KH
6628 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6629 (detect_coding_emacs_mule, detect_coding_iso2022,)
6630 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
6631 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6632 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
6633 (detect_coding_mask, detect_coding_system): New argument
6634 MULTIBYTEP. Callers changed.
1da1bb05
KH
6635 (decode_coding_string): Set coding->src_multibyte and
6636 coding->dst_multibyte before calling detect_coding and detect_eol.
6637 Update them after some coding system is detected.
52283633 6638
d5b3eb1b
SM
66392000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6640
6641 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6642
6643 * keyboard.c (menu_bar_items, tool_bar_items):
6644 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6645
f7f8bb69
GM
66462000-12-13 Gerd Moellmann <gerd@gnu.org>
6647
52283633 6648 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
6649 New variables.
6650 (unwind_create_frame, unwind_create_tip_frame): New functions.
6651 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6652 while a frame is only partially constructed.
6653
6654 * xterm.h (x_free_frame_resources): Declare.
6655
6656 * xterm.c (x_free_frame_resources): New function.
6657 (x_destroy_window): Use it.
6658
e10da507
GM
6659 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6660 don't interrupt the update for pending input initially, i.e.
6661 update at least some lines.
6662
6663 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 6664
d5b3eb1b 6665 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
6666
6667 * xfns.c (gray_bitmap_bits): Declare `char *'.
6668
90aa2856
GM
66692000-12-12 Gerd Moellmann <gerd@gnu.org>
6670
6671 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6672 lines start with a relief line.
6673
a308c9cd
DL
66742000-12-12 Dave Love <fx@gnu.org>
6675
6676 * window.c (Fdisplay_buffer): Doc fix.
6677 (Fwindow_list): Remove unused var.
6678
6679 * buffer.h (mmap_set_vars): Declare.
6680
6681 * window.h (Fset_window_point): Declare.
6682
d575011f
EZ
66832000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6684
bf6282d2 6685 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
6686 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6687 variable `area'. When looking for a row under (X,Y), give up if some
6688 of the previous rows is not enabled.
d575011f 6689
ecf4d726
GM
66902000-12-12 Gerd Moellmann <gerd@gnu.org>
6691
2ebf6139
GM
6692 * window.c (Fset_window_point): If displaying cursors in windows
6693 other than the selected window, make sure redisplay updates
6694 other windows to show the new value of point in the window.
6695
6696 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6697
bfdb75ee
GM
6698 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6699 the buffer is the sole visible buffer when in the mini-buffer.
6700
52283633 6701 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
6702 Bind `inhibit-read-only' to t.
6703 (unwind_with_echo_area_buffer): Use AREF.
6704
c0006262
GM
6705 * xfns.c (Fx_hide_tip): Simplified.
6706
52283633
SM
6707 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6708 instead of `1'.
e9a59cad 6709
ecf4d726
GM
6710 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6711
e5959a9a
GM
67122000-12-11 Gerd Moellmann <gerd@gnu.org>
6713
a3642e49 6714 * xfns.c (Fx_hide_tip): Fix last change.
52283633 6715
44b5a125
GM
6716 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6717 nothing to do. Bind inhibit-quit.
6718 (tip_frame): Make it a Lisp_Object.
6719 (x_create_tip_frame): Set tip_frame after it has been added to
6720 Vframe_list.
6721 (Fx_show_tip): Don't set tip_frame here.
6722
6723 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6724
6725 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6726 Lisp_Object.
6727
6728 * dispextern.h: Change external declaration of tip_frame.
6729
d990421f
GM
6730 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6731 return an empty string.
6732
4db87380
GM
6733 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6734 of the window's update_mode_line flag, since the former is set by
6735 force-mode-line-update, not the latter. This makes
6736 column-number-mode slightly faster.
52283633 6737
e5959a9a
GM
6738 * xdisp.c (try_window_id) <all changes above window start>:
6739 Set the cursor.
6740
169fe44e
GM
67412000-12-11 Paul Eggert <eggert@twinsun.com>
6742
6743 * config.in (HAVE_FTELLO): Remove.
6744 (HAVE_FSEEKO): Add.
6745 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6746 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6747 HAVE_FTELLO.
6748 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6749 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 6750
59ec59ae
MB
67512000-12-11 Miles Bader <miles@gnu.org>
6752
6753 * window.c (displayed_window_lines): Don't round up when
6754 converting empty space at bottom to lines.
ff904dd6
MB
6755 Handle non-newline-terminated final lines properly.
6756 (Fwindow_text_height): New function (used to be in lisp).
6757 (syms_of_window): Initialize it.
59ec59ae 6758
42ebfa31
SM
67592000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6760
6761 * syntax.c (scan_lists): Check that the right quote char has the
6762 right Sstring syntax when jumping over strings.
6763 (init_syntax_once): Use Smax rather than 13.
6764
5cdb3cf3
MB
67652000-12-09 Miles Bader <miles@gnu.org>
6766
6767 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6768 with PARTIALLY, inverting the sense.
6769 (window_scroll_pixel_based): Scroll partially visible lines into
6770 place if we hit the beginning or end of the buffer.
a12167c5
MB
6771 (displayed_window_lines): Don't include partially visible lines.
6772 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 6773
842b2a94
GM
67742000-12-08 Gerd Moellmann <gerd@gnu.org>
6775
6776 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6777
6778 * tparam.c (tparam1): Change the way buffers are reallocated to be
6779 portable and less obfuscated.
6780
6781 * termcap.c (tgetent): Change the way buffers are reallocated to
6782 be portable and less obfuscated.
6783
6784 * macros.c (store_kbd_macro_char): Change the way buffers are
6785 reallocated to be portable and less obfuscated.
6786
6787 * lread.c (read1): Change the way buffers are reallocated to be
6788 portable and less obfuscated.
6789
6790 * doc.c (Fsubstitute_command_keys): Change the way buffers
6791 are reallocated so that it is portable.
6792
137cad7c
EZ
67932000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6794
6795 * dosfns.c (Ffile_system_info): New function.
6796 (syms_of_dosfns): Defsubr it.
6797
5c7f629c
SM
67982000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6799
6800 * alloc.c (gc_sweep): Add comment.
6801
959e647d
GM
68022000-12-07 Gerd Moellmann <gerd@gnu.org>
6803
52283633
SM
6804 * sound.c (vox_configure): Change order of ioctls.
6805 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6806 Ignore errors when changing volume.
6807 (vox_close): Don't reset the device.
6808
926b7e5e
GM
6809 * process.c (read_process_output): Make sure the process marker's
6810 position is valid when the process buffer is changed in
6811 after-change functions. W3 does that.
52283633 6812
959e647d
GM
6813 * xfns.c (x_free_gcs): New function.
6814
6815 * xterm.h (x_free_gcs): Add prototype.
6816
6817 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6818 freeing GCs here.
6819
6820 * xterm.c (x_destroy_window): Call x_free_gcs so that
6821 resources of non-toolkit X windows will be freed.
6822
478ea067
AI
68232000-12-07 Andrew Innes <andrewi@gnu.org>
6824
6825 * w32fns.c (xlfd_charset_of_font): Fix last change.
6826
fbee3231
DL
68272000-12-06 Dave Love <fx@gnu.org>
6828
67292061
DL
6829 * md5.h (__P): Don't define -- it comes from config.h.
6830
fbee3231
DL
6831 * strftime.c: Change some #if foo to #ifdef foo.
6832
4ee87dbb
AI
68332000-12-06 Andrew Innes <andrewi@gnu.org>
6834
6835 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6836
52283633 6837 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6838 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6839 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6840
9765b4a4
GM
68412000-12-06 Gerd Moellmann <gerd@gnu.org>
6842
d285b373
GM
6843 * alloc.c (gc_sweep): Prevent symbols read during loadup
6844 from being freed.
6845
384333ee
GM
6846 * xdisp.c (underlying_face_id): New function.
6847 (handle_face_prop, face_before_or_after_it_pos): Use it
6848 to determine the face ``under'' a string. Let strings inherit
6849 the face of the buffer under them.
6850
6851 * xfaces.c (face_at_string_position): Update function comment.
52283633 6852
d4b72d58
GM
6853 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6854 matrix if the window's left position has changed; we need to
6855 redraw it in this case.
6856
6857 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6858
e1d05387
GM
6859 * window.c (coordinates_in_window): Check mouse on mode-line or
6860 header-line first.
6861
eb1b0c74
GM
6862 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6863 advertized by the function documentation.
6864
d94d636f
GM
6865 * window.c (syms_of_window): Doc fix.
6866
3887b449
GM
6867 * sound.c (vox_configure): Set volume for left and right channel.
6868 (sound_cleanup): Return nil.
6869
efc8f57a
GM
6870 * xdisp.c (move_it_by_lines): Fix paren typo.
6871
9765b4a4
GM
6872 * xterm.c (x_load_font): Don't use the font's max_bounds for
6873 computing the height of the font. If max_bounds' ascent or
6874 descent are greater than the font's ascent or descent, this means
6875 glyphs overlap, which should be handled now by redisplay.
6876
6529ed87
GM
6877 * window.c (Veven_window_heights): New variable.
6878 (syms_of_window): DEFVAR_LISP it.
6879 (Fdisplay_buffer): Check Veven_window_heights before evening the
6880 window heights.
52283633 6881
0eb2ecde
MB
68822000-12-06 Miles Bader <miles@gnu.org>
6883
6884 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6885 update `default-frame-alist' instead of setting no frame parameters.
6886
03d7a167
KH
68872000-12-06 Kenichi Handa <handa@etl.go.jp>
6888
6889 * composite.c (update_compositions): Fix typo (use the correct
6890 variable).
6891
5f8803c2
JR
68922000-12-05 Jason Rumney <jasonr@gnu.org>
6893
6894 * md5.h: Remove underscores from function declarations.
6895 (__attribute__, __alignof__) [!__GNUC__]: Define.
6896
6897 * md5.c: Delay include of md5.h until after namespace cleaning.
6898
c28a075b
JR
6899 * makefile.w32-in (fns.o): Depend on md5.h
6900 (md5.o): New target.
6901 (sunfns.o): Remove.
6902
6903 * makefile.nt: Likewise.
6904
ff3c7056
JR
69052000-12-05 Jason Rumney <jasonr@altavista.net>
6906
6907 * w32term.c (expose_area): Complete last change.
6908
0c21eeeb
KR
69092000-12-05 Ken Raeburn <raeburn@gnu.org>
6910
6911 * minibuf.c: Include intervals.h.
6912
f201d732
JR
69132000-12-05 Jason Rumney <jasonr@gnu.org>
6914
6915 * w32term.c (x_produce_glyphs): If a font for a component of
6916 a composition is not found, use 1 pixel dot ascent and 0 dot
6917 descent value to avoid displaying terribly tall empty boxes.
6918 (expose_area): Pass x-coordinate relative to the exposed
6919 area to x_draw_glyphs instead of a window-relative coordinate.
6920
21999ab9
GM
69212000-12-05 Gerd Moellmann <gerd@gnu.org>
6922
4d2036e4
GM
6923 * xdisp.c (next_element_from_ellipsis): Save face before selective
6924 display in saved_face_id, and set face_before_selective_p.
6925 (reseat_1): Reset face_before_selective_p.
6926 (append_space, extend_face_to_end_of_line): If iterator's
6927 face_before_selective_p is set, use the face from saved_face_id.
6928 (extend_face_to_end_of_line): For tty frames, make sure to
6929 use the right face id when producing spaces at the end of
6930 the line.
6931
6932 * dispextern.h (struct it): Add face_before_selective_p.
6933
52be17cc
GM
6934 * keyboard.c (record_char): Don't record identical help-echo
6935 events in recent_keys.
6936
8a4f36cc
GM
6937 * xterm.c [USE_X_TOOLKIT]: Close the display.
6938 (xim_close_dpy): Handle case that the display has been closed.
6939
57d6e381
GM
6940 * xterm.c (x_destroy_window): Reset the frame's X window after
6941 destroying it.
6942
21999ab9
GM
6943 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6944 variable window_width.
6945 (line_draw_cost): Fix code skipping over spaces at the end of the
6946 line when must_write_spaces is not set.
6947 (scrolling_window): Fix code inserting runs in list of all runs.
6948
91372bb7
KH
69492000-12-05 Kenichi Handa <handa@etl.go.jp>
6950
6951 * coding.c (setup_coding_system): Be sure to initialize
6952 coding->category_idx.
6953
6c083b4c
GM
69542000-12-04 Gerd Moellmann <gerd@gnu.org>
6955
0c68ce6f 6956 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6957
6452929e
GM
6958 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6959 area to x_draw_glyphs instead of a window-relative coordinate.
6960
d7f31e22
GM
6961 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6962 error in the message.
6963
ae18aa3b
GM
6964 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6965 timer after having read a key. It's not good for code reading
6966 several keys in a loop, like an input method.
6967
caa15ef7
GM
6968 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6969 record undo information for format-decode.
6970
6971 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6972 current buffer is read-only, not if it isn't.
6973
6c083b4c
GM
6974 * keyboard.c (record_char): Record `help-echo' input events
6975 in recent_keys only if they display some help. Don't record
6976 `help-echo' events as macro char.
6977
caa15ef7
GM
69782000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6979
6980 * editfns.c (save_excursion_restore): Don't move point
6981 in another window if it is showing the wrong buffer.
6982 Avoid the call to Fwindow_live_p, for speed.
6983
5a13529b
KH
69842000-12-04 Kenichi Handa <handa@etl.go.jp>
6985
e225faa7
KH
6986 * xfaces.c (struct font_name): New member registry_priority.
6987 (split_font_name): Initialize the above member to zero.
6988 (concat_font_list): New function.
6989 (font_list): Include fonts of all alternative registries.
6990 (FONT_POINT_SIZE_QUANTUM): New macro.
6991 (better_font_p): Ignore point size difference less than
6992 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6993
e89648b4
KH
6994 * xterm.c (x_produce_glyphs): If a font for a component of
6995 a composition is not found, use 1 pixel dot ascent and 0 dot
6996 descent value to avoid displaying terribly tall empty boxes.
6997
5a13529b
KH
6998 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6999
d7935eb6
KR
70002000-12-03 Ken Raeburn <raeburn@gnu.org>
7001
7002 * coding.h (code_convert_string1): Declare.
7003
7004 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
7005
52283633 7006 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 7007
0dd5e255
JR
70082000-12-02 Jason Rumney <jasonr@gnu.org>
7009
7010 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
7011 correctly for single byte character case.
7012 (w32_per_char_metric): Do not try to make any assumptions about
7013 the metrics of BDF fonts.
250cfece 7014 (x_estimate_mode_line_height): If `mode-line' face
52283633 7015 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
7016 (note_mouse_highlight): Change the cursor shape on the vertical
7017 border between windows [not enabled].
7018
7019 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
7020
7021 * w32fns.c (Fx_create_frame): Reintroduce the call to
7022 face-set-after-frame-defaults.
7023 (Vx_window_horizontal_drag_shape): New variable.
7024 (syms_of_xfns): DEFVAR_LISP it.
7025 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
7026 enabled].
0dd5e255 7027
b5d8d2ca
GM
70282000-12-02 Simon Josefsson <simon@josefsson.org>
7029
7030 * fns.c (Fmd5): Use a different logic to decide the coding system
7031 to use.
7032
7033 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
7034
fbb87147
EZ
70352000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7036
52283633 7037 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 7038
447e9da0
GM
70392000-12-01 Gerd Moellmann <gerd@gnu.org>
7040
7708ced0
GM
7041 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7042 height for YNegative.
7043 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7044 height; also see comment there.
7045
447e9da0
GM
7046 * window.c (coordinates_in_window): Handle computations for
7047 positions on the vertical bar and fringes differently for
7048 window-system frames. Consider some pixels near the vertical bar
7049 as on the bar if the frame doesn't have vertical scroll bars.
7050 Associate positions between mode or header lines with the
7051 right window, the left one.
7052
86d1db20
JR
70532000-12-01 Jason Rumney <jasonr@gnu.org>
7054
7055 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7056
7057 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7058 invalid frame.
7059
a1d58e5b
GM
70602000-12-01 Gerd Moellmann <gerd@gnu.org>
7061
52283633 7062 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
7063 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7064 (save_window_save, Fset_window_configuration): Save/restore
7065 window's orig_top and orig_height.
7066
89c609af
JR
70672000-12-01 Jason Rumney <jasonr@gnu.org>
7068
4d177746 7069 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 7070
89c609af
JR
7071 * w32fns.c (x_set_cursor_color): Fix last change.
7072
eccc05db
GM
70732000-11-30 Gerd Moellmann <gerd@gnu.org>
7074
31b6671b
GM
7075 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7076 sure that the next redisplay displays the minibuffer, so that
7077 the cursor will be replaced with what the minibuffer wants.
7078
eccc05db
GM
7079 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7080 #ifndef instead of using #if.
7081 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7082 USE_TOOLKIT_SCROLL_BARS is defined.
7083
162de750
JR
70842000-11-30 Jason Rumney <jasonr@gnu.org>
7085
7086 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7087 x_display_cursor.
7088
693c4692
GM
70892000-11-30 Gerd Moellmann <gerd@gnu.org>
7090
7091 * fns.c (Fmd5): Doc fix.
7092
b5d8d2ca 70932000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
7094
7095 * fns.c (Fmd5): New function.
7096 (syms_of_fns): Defsubr md5.
7097
7098 * Makefile.in (obj): Add md5.o
7099
b02cd40b
GM
71002000-11-30 Gerd Moellmann <gerd@gnu.org>
7101
edfb795e
GM
7102 * md5.h, md5.c: New files, taken from glibc.
7103
df3aedcf
GM
7104 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7105
b02cd40b 7106 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 7107 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 7108
8b5176cd
SM
71092000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7110
7111 * eval.c (Frun_hooks): Allow 0 arguments.
7112
346598f1
GM
71132000-11-29 Gerd Moellmann <gerd@gnu.org>
7114
f9396e03
GM
7115 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7116 is over the menu bar widget, say it's not on the frame.
7117
4a967a9b
GM
7118 * xfns.c (Fx_create_frame): Reintroduce the call to
7119 face-set-after-frame-defaults.
7120
346598f1
GM
7121 * eval.c (Fsignal): Reset handling_signal.
7122
222456a1
JR
71232000-11-28 Jason Rumney <jasonr@gnu.org>
7124
7125 * w32menu.c (add_menu_item): Reset menu item text when changing
7126 type to radio button.
7127
8049ddc0
GM
71282000-11-28 Gerd Moellmann <gerd@gnu.org>
7129
346598f1 7130 * xselect.c: Update copyright.
f4f4ee4d 7131
bebe4a2c
GM
7132 * window.c (coordinates_in_window): If on a mode or header line,
7133 but sufficiently close to its start, return ``on vertical
7134 border''. This gives us a way to drag windows horizontally when
7135 using toolkit scroll bars.
7136
7137 * xterm.c (note_mouse_highlight): Change the cursor shape
7138 on the vertical border between windows.
7139
7140 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7141
7142 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7143 (syms_of_xfns): DEFVAR_LISP it.
7144 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7145
8d2c2642
GM
7146 * textprop.c (text_read_only): New function.
7147 (verify_interval_modification): Use it instead of signaling
7148 `text-read-only'. This makes it easier to catch this error
52283633 7149 with a breakpoint.:
8d2c2642 7150
52283633 7151 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
7152 not end of line, which includes CR.
7153
5a2bae6c
KH
71542000-11-28 Kenichi Handa <handa@etl.go.jp>
7155
7156 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7157 include no-conversion.
7158
ae31f84d
JR
71592000-11-27 Jason Rumney <jasonr@gnu.org>
7160
7161 * w32fns.c (w32_load_system_font): Always mark font as double byte
7162 if codepage is unicode.
7163
67f1cf4c
GM
71642000-11-27 Gerd Moellmann <gerd@gnu.org>
7165
4a74d071 7166 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 7167 just consume it to avoid unintended skipping over invisible text below.
4a74d071 7168
902ae620
GM
7169 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7170 `vertical-line', `mode-line' and `header-line' events.
7171
7172 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
7173 of a character, a TAB for instance. This is easier than to set
7174 up the iterator exactly, and it's not a frequent case, so the
7175 additional effort wouldn't really pay off.
7176
c1e279c2
AC
71772000-11-26 Andrew Choi <akochoi@i-cable.com>
7178
67f1cf4c 7179 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
7180 init_window_once.
7181
a609568a
JR
71822000-11-25 Jason Rumney <jasonr@gnu.org>
7183
52283633
SM
7184 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7185 Args to window_from_coordinates should be pixel coordinates.
48b21762 7186
a609568a
JR
7187 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7188 redisplay handles them properly.
7189
a658d039
MB
71902000-11-25 Miles Bader <miles@gnu.org>
7191
7192 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7193
d3416cca
JR
71942000-11-24 Jason Rumney <jasonr@gnu.org>
7195
7196 * w32.c (init_environment): Set LANG environment variable based on
7197 locale settings, if not set.
7198
7199 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7200 making tool bar smaller. When clearing the frame, also
7201 clear current matrices. Clear frame when tool bar disappears.
7202 Don't use more lines for the tool-bar than is available.
7203 (x_change_window_heights): New function.
7204
ba193890
GM
72052000-11-24 Gerd Moellmann <gerd@gnu.org>
7206
2be8f184
GM
7207 * xdisp.c (init_from_display_pos): If POS says we're already after
7208 an overlay string ending at POS, make sure to pop the iterator
7209 because it will be in front of that overlay string. When POS is
7210 ZV, we've thereby also ``processed'' overlay strings at ZV.
7211
ba193890
GM
7212 * xfaces.c (lface_from_face_name): Function comment fix.
7213
1862a24e
MB
72142000-11-24 Miles Bader <miles@gnu.org>
7215
7216 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7217 apply `mode-line-inverse-video' -- zero means force display using
7218 the default face, non-zero means display using the specialized face.
7219 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7220
f07fa1b8
KH
72212000-11-23 Kenichi Handa <handa@etl.go.jp>
7222
7223 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7224 hard coded `4'.
7225
2bcdf662
EZ
72262000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7227
7228 * coding.c (decode_coding_emacs_mule): Fix the case of
7229 CODING_EOL_LF, which used uninitialized value of c.
7230
ba8299ff
SM
72312000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7232
7233 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7234
f4117c4d
GM
72352000-11-22 Gerd Moellmann <gerd@gnu.org>
7236
03e757c1
GM
7237 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7238 buffer object.
7239
f4117c4d
GM
7240 * frame.h (struct frame): Replace desired_tool_bar_items,
7241 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 7242 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
7243
7244 * frame.c (make_frame): Change initialization of tool bar
7245 items accordingly.
7246
7247 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 7248 Change references to members deleted from struct frame to use the
f4117c4d
GM
7249 new ones.
7250
7251 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 7252 references to members deleted from struct frame to use the new ones.
f4117c4d 7253
52283633 7254 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
7255
7256 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7257
7258 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 7259 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
7260 from struct frame to use the new ones.
7261
f8e2f3f2
MB
72622000-11-23 Miles Bader <miles@gnu.org>
7263
7264 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7265 the face's inverse-video attribute, rather than overriding it.
7266
60e8e0a5
GM
72672000-11-22 Gerd Moellmann <gerd@gnu.org>
7268
7269 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7270 making tool bar smaller.
7271
92dd1b29
DL
72722000-11-22 Dave Love <fx@gnu.org>
7273
7274 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7275
e672fdce
MB
72762000-11-22 Miles Bader <miles@gnu.org>
7277
3a17d6cc
MB
7278 * keyboard.c (Vminibuffer_message_timeout): New variable.
7279 (command_loop_1): Use it to determine message timeout.
7280 (syms_of_keyboard): Initialize it.
7281
60e8e0a5 7282 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 7283
e9655d81
KH
72842000-11-22 Kenichi Handa <handa@etl.go.jp>
7285
7286 * sysdep.c: Move the code for declaring h_errno after #include
7287 <netdb.h>.
7288
77270fac
GM
72892000-11-21 Gerd Moellmann <gerd@gnu.org>
7290
cd913aae
GM
7291 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7292 the menu bar when the tooltip is unmapped.
7293
77270fac
GM
7294 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7295 sole visible buffer when we're currently in the mini-buffer, and
7296 give up if so.
52283633 7297
556635d6
JR
72982000-11-21 Jason Rumney <jasonr@gnu.org>
7299
7300 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7301 put on the clipboard.
7302 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7303 copy of what Emacs last put there. If they are the same, do not
52283633 7304 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 7305
5b7bde64
MB
73062000-11-22 Miles Bader <miles@gnu.org>
7307
7308 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7309 (syms_of_minibuf): Initialize it.
7310 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7311 to prompt, don't make read-only.
7312
ff23e1dd
GM
73132000-11-21 Gerd Moellmann <gerd@gnu.org>
7314
52283633
SM
7315 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7316 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 7317
7aaf4388
GM
7318 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7319
f5f47add 7320 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 7321
ff23e1dd
GM
7322 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7323
37c35586
KH
73242000-11-21 Kenichi Handa <handa@etl.go.jp>
7325
7326 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7327 ... #endif scope.
7328
ff9ab414
GM
73292000-11-20 Gerd Moellmann <gerd@gnu.org>
7330
52283633 7331 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
7332 screen supports it.
7333
29a01b72
GM
7334 * s/gnu-linux.h: Don't use `#cpu'.
7335
09dfdf85
GM
7336 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7337 not defined in mman.h.
7338
52283633 7339 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
7340 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7341 and store an index in the XClientMessageEvent. Storing a
7342 Lisp_Object or pointer can fail on a 64 bit system, since X only
7343 transfers 32 bits.
52283633
SM
7344 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7345
81459ac9
DL
73462000-11-20 Dave Love <fx@gnu.org>
7347
7348 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7349
56c13ae6
GM
73502000-11-20 Gerd Moellmann <gerd@gnu.org>
7351
7352 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7353
495a6df3
KH
73542000-11-20 Kenichi Handa <handa@etl.go.jp>
7355
2bcf3714
KH
7356 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7357 by WIDTH.
7358
495a6df3
KH
7359 * alloc.c (make_string): Fix previous change. Be sure to make
7360 unibyte string correctly.
7361
6d950f4c
GM
73622000-11-19 Gerd Moellmann <gerd@gnu.org>
7363
39b39373
GM
7364 * window.c (Fwindow_list): Change parameter list to be XEmacs
7365 compatible.
7366 (window_list_1): New function.
7367 (window_loop): Use it instead of Fwindow_list.
7368
b95b34e5
GM
7369 * sysdep.c (emacs_ospeed): New variable.
7370 (toplevel): Don't declare ospeed extern.
7371 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7372
7373 * termcap.c (ospeed): Remove.
7374 (tputs) [!emacs]: Remove unused code.
7375 (tgetent): Avoid a compiler warning.
7376
e83dc917
GM
7377 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7378 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 7379 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
7380
7381 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7382 removed.
7383 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7384 Take the X display as additional argument.
7385 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7386 `Widget' is a pointer type that's not easily stored in Lisp_Object
7387 form in a portable way.
52283633 7388
6d950f4c
GM
7389 * dispnew.c (update_text_area): Fix last change.
7390
e47306e6
GM
73912000-11-18 Gerd Moellmann <gerd@gnu.org>
7392
fb3cd89b
GM
7393 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7394
7395 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7396 clear current matrices.
7397
edaa9aed
GM
7398 * buffer.c (mmap_enlarge): Don't print a message on stderr
7399 if mapping new memory at the end of the existing region fails.
7400
e47306e6
GM
7401 * dispnew.c (update_text_area): Don't skip over equal glyphs
7402 when the last current glyph overlaps the glyph to its right.
7403
509633e3
MB
74042000-11-18 Miles Bader <miles@gnu.org>
7405
7406 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7407 lines that *end* with "..." too (that's the most common case!).
7408
d392e9c5
GM
74092000-11-18 Gerd Moellmann <gerd@gnu.org>
7410
67988445
GM
7411 * xdisp.c (resize_mini_window): Temporarily change to the
7412 mini-window's buffer if necessary.
1bfdbe43 7413
d392e9c5
GM
7414 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7415 the tooltip obscures less text under it.
7416
74172000-11-17 Gerd Moellmann <gerd@gnu.org>
7418
7419 * puresize.h (BASE_PURESIZE): Increase to 700000.
7420
92bb977f
JR
74212000-11-18 Jason Rumney <jasonr@gnu.org>
7422
7423 * w32term.c (w32_draw_bitmap): Use face to set colors.
7424
26fbf20b
DL
74252000-11-17 Dave Love <fx@gnu.org>
7426
7427 * lread.c (Fload): Fix #ifdef for pcc.
7428
100b593b
GM
74292000-11-17 Gerd Moellmann <gerd@gnu.org>
7430
7431 * xdisp.c (pos_visible_p): Compute the default character height
7432 differently.
7433
a288d0d1
GM
74342000-11-16 Gerd Moellmann <gerd@gnu.org>
7435
cac94de6 7436 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 7437 knowing the line's height; use the default font's height in that case.
cac94de6 7438
a288d0d1
GM
7439 * xfaces.c (weight_table): Add `demi' with the same meaning as
7440 `demibold'.
7441
981fb6f6
KH
74422000-11-16 Kenichi Handa <handa@etl.go.jp>
7443
2cca872d 7444 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
7445 (clear_glyph_row): Delete local static variable null_row.
7446
e5fa381b
JR
74472000-11-15 Jason Rumney <jasonr@gnu.org>
7448
7449 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7450 (w32_alloc_lighter_color): Use new brightness calculations from
7451 xterm.c. Scale delta to be in the range expected by W32.
7452 (w32_draw_relief_rect): Use frame relief colors.
7453
8e42f043
GM
74542000-11-15 Gerd Moellmann <gerd@gnu.org>
7455
6d133d1f
GM
7456 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7457 (Qinhibit_default_face_x_resources): New variable.
7458 (syms_of_frame): Initialize it.
7459 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7460
7461 * xdisp.c (pos_visible_p): Improve function comment.
7462
7463 * lisp.h (BINDING_STACK_SIZE): New macro.
7464
8e42f043
GM
7465 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7466 reading the directory if readdir returns null and errno is EAGAIN
7467 or EINTR.
7468
e8c87124
SM
74692000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7470
7471 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7472 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7473 Set amount_to_scroll to max of dx and scroll_step so that
7474 scroll-conservatively doesn't defeat scroll-step>1.
7475 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7476 scroll-conservatively for line-at-a-time scrolling.
7477
5f0c971d
GM
74782000-11-14 Gerd Moellmann <gerd@gnu.org>
7479
7480 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7481 extra argument.
7482
7483 * xdisp.c (current_mode_line_height, current_header_line_height):
7484 New variables.
7485 (init_xdisp): Initialize them.
7486 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7487 and use exact mode line heights if it is set.
7488
7489 * lisp.h (pos_visible_p): Change prototype.
7490
7491 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7492 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7493 and current_header_line_height first.
52283633
SM
7494 (current_mode_line_height, current_header_line_height):
7495 Declare extern.
5f0c971d 7496
d7361edf
MB
74972000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7498
7499 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7500 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7501 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7502
ee5e440a
MB
75032000-11-14 Miles Bader <miles@gnu.org>
7504
7505 * xterm.c (x_alloc_lighter_color): Include an additive component
7506 too for dark colors, because FACTOR isn't enough.
7507 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7508 New macros.
7509
5ca020fc
GM
75102000-11-13 Gerd Moellmann <gerd@gnu.org>
7511
7512 * keyboard.c (show_help_echo): Call message3_nolog with number of
7513 bytes in the help string as 2nd parameter, instead of the number
7514 of characters.
7515
9d348294
MB
75162000-11-13 Miles Bader <miles@gnu.org>
7517
7518 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7519 (Fload): Use new openp return protocol.
7520 Don't try to use Vload_source_file_function to load .elc files.
7521 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7522 openp return protocol.
7523 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7524
1729bb9a
KH
75252000-11-11 Kenichi Handa <handa@etl.go.jp>
7526
4e677396
KH
7527 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7528
7529 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7530 Defined these macros.
7531 (NLIST_STRUCT): Avoid re-defining it.
7532
1729bb9a
KH
7533 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7534 -I/usr/contrib/X11R6/include.
7535 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7536
a82fe213
JR
75372000-11-10 Jason Rumney <jasonr@gnu.org>
7538
7539 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7540
7541 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7542 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7543
7544 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7545 (Qw32_charset_vietnamese): New symbol.
7546 (xlfd_charset_of_font): New function.
7547 (w32_load_system_font): Use it.
7548 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7549 when Vw32_charset_info_alist is nil to ensure default face always
7550 has font. Use Fcar and Fcdr for safety.
7551 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7552 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7553 pseudo-codepages for special cases.
7554 (w32_to_x_font): New parameter to allow charset portion to be
7555 specified where there is many to one mapping. Callers changed.
7556 (w32_list_fonts): Avoid listing fonts that won't display.
7557
52d89894
GM
75582000-11-10 Gerd Moellmann <gerd@gnu.org>
7559
7560 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7561 (font_list_1): Renamed from font_list.
7562 (font_list): New function, trying alternative registries from
7563 Vface_alternative_font_registry_alist.
7564 (Finternal_set_alternative_font_registry_alist): New function.
7565 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
7566 Vface_alternative_font_registry_alist.
7567 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 7568
651cd3da
KR
75692000-11-09 Ken Raeburn <raeburn@gnu.org>
7570
7571 * lisp.h (Flooking_at): Declare.
7572
388ac098
GM
75732000-11-09 Gerd Moellmann <gerd@gnu.org>
7574
778fbc46 7575 * dired.c (directory_files_internal): Fix a braino.
52283633 7576
388ac098
GM
7577 * dired.c (directory_files_internal): Add missing GCPRO's.
7578 Some cleanup.
7579
ecaedde1
GM
75802000-11-08 Gerd Moellmann <gerd@gnu.org>
7581
f7eb32aa
GM
7582 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7583 (resize_mini_window): Return quickly if Vresize_mini_window is
7584 nil. Don't return if Vmax_mini_window_height is nil.
7585
7586 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7587 (syms_of_xdisp): Initialize them.
7588 (resize_mini_window): Act according to the setting of
7589 Vresize_mini_window.
7590 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7591
ecaedde1
GM
7592 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7593 scroll bar widget after configuring it, so that it will appear at
7594 the right position from the start.
7595 (XTredeem_scroll_bar): Cleaned up.
7596
3747ef2c
KH
75972000-11-08 Kenichi Handa <handa@etl.go.jp>
7598
7599 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 7600 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
7601 division by two.
7602
7603 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7604
03391420
DL
76052000-11-07 Dave Love <fx@gnu.org>
7606
7758f1c1 7607 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
7608
7609 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7610
b5de343d
GM
76112000-11-07 Gerd Moellmann <gerd@gnu.org>
7612
acad3c0b
GM
7613 * window.c (Fset_window_configuration): Don't try to preserve
7614 point in the current buffer, if that buffer is displayed in more
7615 than one window.
7616
b5de343d
GM
7617 * xfaces.c (lookup_named_face): If default face isn't realized,
7618 try to realize it. Return -1 if not successful.
7619 (Fx_list_fonts): Handle case that face cannot be determined.
7620 (Fface_font): Likewise.
7621
cdb1fe49
GM
76222000-11-06 Gerd Moellmann <gerd@gnu.org>
7623
7624 * window.c (displayed_window_lines): Detect partially
7625 visible lines at the bottom correctly.
7626
d3a67486
SM
76272000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7628
7629 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7630 when ensuring we don't do visit in indirect buffer.
7631
ff8dd5d5
KH
76322000-11-06 Kenichi Handa <handa@etl.go.jp>
7633
7634 * composite.h (compose_chars_in_text): Add prototype.
7635
7636 * composite.c (Vcomposition_function_table): New variable.
7637 (Qcomposition_function_table): New variable.
7638 (run_composition_function): Call
7639 Vcompose_chars_after_function with three arguments.
7640 (compose_chars_in_text): New function.
7641 (syms_of_composite): Modified the doc-string of
7642 Vcompose_chars_after_function. Declare composition-function-table
7643 as a lisp variable, and initialize it.
7644
7645 * xfns.c (x_encode_text): Suppress producing escape sequences for
7646 composition.
7647
7648 * xselect.c: Include composite.h.
7649 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7650
d1145f85
AI
76512000-11-05 Andrew Innes <andrewi@gnu.org>
7652
7653 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7654
7655 * sysdep.c (read_input_waiting): Remove extraneous argument to
7656 read_socket_hook.
7657
7658 * w32fns.c (Fx_server_version): Include w32_build_number in the
7659 return list.
7660
7661 * w32heap.c (w32_build_number): New variable.
7662 (cache_system_info): Set it.
7663
7664 * w32heap.h (w32_build_number): Add extern.
7665
7666 * emacs.c (syms_of_emacs): Update docstring for
7667 system-configuration, to reflect the actual usage on MS-Windows.
7668
e85ee976
GM
76692000-10-31 Gerd Moellmann <gerd@gnu.org>
7670
26dcb81b
GM
7671 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7672 process idle timers while waiting for another event.
7673
52283633 7674 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
7675 the default face are colored.
7676
e85ee976
GM
7677 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7678 window height hasn't changed.
7679
01b220b6
JR
76802000-10-31 Jason Rumney <jasonr@gnu.org>
7681
7682 * w32term.c (x_produce_glyphs): Handle composite characters.
7683 (x_draw_glyph_string_foreground)
7684 (x_draw_composite_glyph_string_foreground): Restore old font.
7685
4e6b7204
MB
76862000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7687
7688 * minibuf.c (read_minibuf): Reset the undo history just before
7689 starting the recursive-edit.
7690
d4358b37
GM
76912000-10-30 Gerd Moellmann <gerd@gnu.org>
7692
563f68f1
GM
7693 * xfaces.c (menu_face_change_count): New variable.
7694 (Finternal_set_lisp_face_attribute): Increment it for changes
7695 of the `menu' face.
7696 (realize_basic_faces): Reflect changes in the `menu' faces
7697 in menu bars.
7698
82e274d1
GM
7699 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7700 dy obtained from the iterator's y-position after moving from
7701 scroll_margin_pos to PT; see comment there.
52283633 7702
0dbf9fd2
GM
7703 * xdisp.c (safe_eval_handler): Call add_to_log.
7704
906b3b14
GM
7705 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7706 is not a symbol or string.
7707
d4358b37
GM
7708 * xdisp.c (echo_area_display): Don't perform a display update from
7709 inside redisplay. The update will happen anyway at the end of
7710 redisplay, and it can confuse redisplay (GC messages while
7711 redisplaying, for instance.)
7712
70c825df
SM
77132000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7714
cf9b4b0b
SM
7715 * xrdb.c (x_load_resources): Use the class name in the defaults.
7716
70c825df
SM
7717 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7718 (regex_compile): Catch bogus \(\1\).
7719
a1d34b1e
GM
77202000-10-30 Gerd Moellmann <gerd@gnu.org>
7721
cae71efe
GM
7722 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7723 RGB values.
52283633 7724
35efe0a1
GM
7725 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7726 we have a color cache, check that the cached color equals the
7727 allocated color. If not, clear the color cache.
7728
1d3baf74
GM
7729 * window.c (displayed_window_lines): Change buffers if necessary.
7730 Fix computation of displayed lines.
7731
a1d34b1e
GM
7732 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7733 update_menu_bindings to DEFVAR_BOOL.
7734
70737ea9
KH
77352000-10-30 Kenichi Handa <handa@etl.go.jp>
7736
70c825df 7737 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 7738
fa0cb51d
KH
7739 * puresize.h (BASE_PURESIZE): Increase to 680000.
7740
70737ea9
KH
7741 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7742
0e4c08e8
JR
77432000-10-29 Jason Rumney <jasonr@gnu.org>
7744
7745 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7746
7747 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7748 (w32_cache_char_metrics): Handle possibility that 'x' does not
7749 exist in a BDF font.
7750 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7751
7752 * w32bdf.h (bdffont): Add nchars.
7753
7754 * w32bdf.c (set_bdf_font_info): Set it.
7755 (w32_BDF_TextOut): Swap byte order of double byte characters.
7756 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7757
45b84006
EZ
77582000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7759
7760 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7761 don't override the colors in frame's param_alist, unless they are
7762 unspecified.
7763
7764 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7765 reverse the effect of the highlight flag.
7766
caf9deee
KR
77672000-10-27 Ken Raeburn <raeburn@gnu.org>
7768
7769 * window.h (Fwindow_live_p): Declare.
7770
ae0b9b46
KR
7771 * undo.c (record_delete): Check that last_undo_buffer is really a
7772 buffer before applying XBUFFER to it.
7773
7774 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7775 Faref.
7776
02067692
SM
77772000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7778
7779 * lisp.h (KEYMAPP): New macro.
7780 (get_keymap): Remove.
7781 (get_keymap_1): Rename get_keymap.
7782
7783 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7784
7785 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7786
7787 * xmenu.c (single_submenu): Use KEYMAPP.
7788 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7789 Use KEYMAPP rather than Fkeymapp.
7790
7791 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7792
7793 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7794 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7795 Use KEYMAPP rather than Fkeymapp.
7796 (single_submenu): Use KEYMAPP.
7797 (w32_menu_show, w32_dialog_show): Use TRUE.
7798
7799 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7800
7801 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7802 (Fkeymapp): Use KEYMAPP.
7803 (get_keymap): Rename from get_keymap_1. Remove old def.
7804 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7805 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7806 (Fminor_mode_key_binding): Don't raise an error if the binding
7807 is not a keymap.
7808 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7809 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7810
7811 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7812 Allow Vspecial_event_map to be autoloaded.
7813 (menu_bar_items): Fetch the keymap rather than using keymapp.
7814 (menu_bar_one_keymap): No need to follow func-indirect any more.
7815 (parse_menu_item): get_keymap_1 -> get_keymap.
7816 (tool_bar_items): Fetch the keymap rather than using keymapp.
7817 (read_key_sequence): Use KEYMAPP.
7818
7819 * intervals.c (get_local_map): Use get_keymap rather than following
7820 function-indirections explicitly.
7821
7822 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7823
f9d80af3
JR
78242000-10-27 Jason Rumney <jasonr@gnu.org>
7825
7826 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7827 point, as Windows has oversized fonts.
7828
7829 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7830
a3ba27da
GM
78312000-10-27 Gerd Moellmann <gerd@gnu.org>
7832
7833 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7834 (freehook, reallochook): Handle null pointer arguments.
7835 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7836
aa3b80cc
SM
78372000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7838
7839 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7840 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7841 Giving in to popular pressure to shut up the compiler with casts.
7842
e24e84cc
GM
78432000-10-27 Gerd Moellmann <gerd@gnu.org>
7844
7845 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7846 signed value, and use a default value computed from the font's
7847 maximum descent.
7848
05ea7ef2
MB
78492000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7850
7851 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7852 that specify a negative underline position can still use underlines.
7853
7854 * window.c (Fpos_visible_in_window_p): Make POS default to
7855 WINDOW's point, not the current buffer's point.
7856
0b95284b
DL
78572000-10-26 Dave Love <fx@gnu.org>
7858
7859 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7860 when it's necessary.
7861
6c5b90af
GM
78622000-10-26 Gerd Moellmann <gerd@gnu.org>
7863
8b6d9dc9
GM
7864 * window.c (size_window): Compute size difference from sum of old
7865 child window sizes instead of from parent's size.
7866
6bc92b2e
GM
7867 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7868 Handle obscured lines at the top of the window.
7869
7870 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7871 down after the last error condition check.
7872
6c5b90af
GM
7873 * frame.c (Fdelete_frame): Run delete-frame-hook.
7874
42f92d4d
KH
78752000-10-26 Kenichi Handa <handa@etl.go.jp>
7876
7877 * coding.c (decode_coding): Fix previous change (check also
7878 CODING_MODE_LAST_BLOCK).
7879
d97151cb
SM
78802000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7881
e7efc503
SM
7882 * regex.c: More `unsigned char' -> `re_char' changes.
7883 Also change several `int' into `re_wchar_t'.
7884 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7885 (PUSH_FAILURE_POINTER): Don't cast any more.
7886 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7887 We want GCC to complain, since this piece of code makes
7888 re_match non-reentrant, which *should* be fixed.
7889 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7890 (EXTEND_BUFFER): Use RETALLOC.
7891 (SET_LIST_BIT): Don't cast.
7892 (re_wchar_t): New type.
7893 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7894 that those two functions will always properly return.
7895 (IMMEDIATE_QUIT_CHECK): Cast to void.
7896 (analyse_first): Use recursion rather than an explicit stack.
7897 (re_compile_fastmap): Can't fail anymore.
7898 (re_search_2): Don't check re_compile_fastmap for failure.
7899 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7900 Now also sets the new value (passed in a new argument).
7901 (re_match_2_internal): Use it.
7902 Also, use a new var `reg' of type size_t when looping through regs
7903 rather than reuse the inappropriate `mcnt'.
7904
d97151cb
SM
7905 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7906 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7907 (where_is_internal): Renamed from Fwhere_is_internal.
7908 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7909 (Fwhere_is_internal): New function wrapping where_is_internal.
7910 (where_is_internal_1): Handle the case where we're filling the cache.
7911 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7912
d5789b65
MB
79132000-10-25 Miles Bader <miles@gnu.org>
7914
7915 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7916
4ecda532
GM
79172000-10-25 Gerd Moellmann <gerd@gnu.org>
7918
7919 * window.c (pos_fully_visible_p): Removed.
7920 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7921 if position is visible and/or fully visible.
7922
7923 * lisp.h (pos_visible_p): Add prototype.
7924
7925 * xdisp.c (pos_visible_p): New function.
7926
68c3a137
KH
79272000-10-25 Kenichi Handa <handa@etl.go.jp>
7928
7929 * process.c (send_process): If OBJECT is t, it means that the data
7930 is from C string, but we should encode it. Before calling
7931 setup_raw_text_coding_system, be sure to flush out data by the
7932 previous coding system.
7933
7ae1c032
MB
79342000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7935
ff4dcd4b
MB
7936 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7937 assignment of startpos to prev when startpos == pos.
7938
7ae1c032
MB
7939 * editfns.c (find_field): Set the field stickiness correctly from
7940 overlay fields. Use renamed `text_property_stickiness'.
7941 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7942 Only check text properties, not overlays.
7ae1c032
MB
7943 * textprop.c (get_char_property_and_overlay): New function.
7944 (Fget_char_property): Use it.
7945 * intervals.h (get_char_property_and_overlay): Add declaration.
7946
49801145
SM
79472000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7948
7949 * keymap.c: Use AREF, ASET and ASIZE macros.
7950 (Fmake_sparse_keymap): Docstring fix.
7951 (synkey): Remove.
7952 (shadow_lookup): Move up.
7953 Handle the case where lookup-key returns an integer.
7954 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7955 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7956 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7957 Simplify/rewrite the keymap-finding code.
7958 Add check for command shadowing, using shadow_lookup.
7959
39e776cd
SM
79602000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7961
7962 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7963 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7964 a symbol.
7965
2488aba5
AI
79662000-10-24 Andrew Innes <andrewi@gnu.org>
7967
7968 * dired.c (directory_files_internal_unwind): New function.
7969 (directory_files_internal): Use it to ensure closedir is called
7970 even if expand-file-name or file-attributes throw, eg. because of
7971 a user interrupt. Also enable immediate_quit while calling
7972 re_search, so that matching can be interrupted as well.
7973
b94fdf61
AI
79742000-10-24 Andrew Innes <andrewi@gnu.org>
7975
7976 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7977 NT-Emacs only.
7978 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7979 so that re_search functions only quit when callers expect them to.
7980
79812000-10-24 Kenichi Handa <handa@etl.go.jp>
7982
7983 * regex.c (regex_compile): Change the way of handling a range from
7984 a char less than 256 to a char not less than 256.
7985
1946f901
GM
79862000-10-24 Gerd Moellmann <gerd@gnu.org>
7987
7ae2f10f
GM
7988 * window.c (size_window): Prevent setting window's width or
7989 height to a negative value (esp. with XSETFASTINT).
7990
5dcab13e
GM
7991 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7992 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7993 (protect_malloc_state) [GC_MALLOC_CHECK &&
7994 GC_PROTECT_MALLOC_STATE]: New function.
7995 (PROTECT_MALLOC_STATE): New macro.
7996 (__malloc_initialize, morecore, _malloc_internal)
7997 (_free_internal) _realloc_internal): Use it to make _heapinfo
7998 read-only outside of gmalloc.
7999
63e1b552
GM
8000 * keymap.c: Update copyright.
8001
1946f901
GM
8002 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
8003 a symbol.
8004
4fa09beb
GM
80052000-10-24 Colin Walters <walters@cis.ohio-state.edu>
8006
8007 * filelock.c (unlock_all_files): Use unlock_file to expand each
8008 buffer's file_truename before trying remove its lock file.
8009
23afac01
EZ
80102000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
8011
8012 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
8013 or CRLF, decode EOLs.
8014
04448b95
KH
80152000-10-24 Kenichi Handa <handa@etl.go.jp>
8016
8017 * window.c (Fdisplay_buffer): Fix doc.
8018
3090a5a5
JR
80192000-10-23 Jason Rumney <jasonr@gnu.org>
8020
8021 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
8022 ASCII font of default fontset on Windows.
8023
8024 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
8025 xterm.c comment below).
8026
8027 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
8028
a83fee2c
GM
80292000-10-23 Gerd Moellmann <gerd@gnu.org>
8030
8031 * xterm.c (x_connection_closed): Reset handling_signal.
8032
52283633 8033 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 8034
6ffdb539
MB
80352000-10-23 Miles Bader <miles@gnu.org>
8036
8037 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8038 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8039 maintain old behavior.
8040 * minibuf.c (Fminibuffer_complete): Likewise.
8041
7f1c969b
MB
80422000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8043
8044 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8045 that when a font can't be exactly centered, it errs up rather than
8046 down.
8047
23afac01 80482000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 8049
52283633 8050 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 8051
1a578e9b
AC
80522000-10-23 Andrew Choi <akochoi@i-cable.com>
8053
8054 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8055
8056 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 8057 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
8058
8059 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8060 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8061 syms_of_search, x_term_init, and init_keyboard before calling
8062 init_window_once. Also, call syms_of_xmenu.
8063
8064 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8065 default fontset to Monaco.
8066
8067 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8068 NewMacWindow and DisposeMacWindow.
8069 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8070 instead of calling NewMacWindow and setting fields of
8071 f->output_data.mac directly. Call init_frame_faces.
8072 (Fdelete_frame) [macintosh]: Remove unused code.
8073 (Fmodify_frame_parameters) [macintosh]: Call
8074 x_set_frame_parameters instead of mac_set_frame_parameters.
8075
8076 * frame.h [macintosh]: Define menu_bar_lines field in struct
8077 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8078
8079 * keyboard.c [macintosh]: Include macterm.h.
8080 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8081 and menu_bar_activate_event type events as for X and NT.
8082 (make_lispy_event) [macintosh]: Construct lisp events of type
8083 MENU_BAR_EVENT as for X and NT.
8084
8085 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8086 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8087 (sys_subshell) [macintosh]: Remove definition entirely.
8088 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8089 Vwindow_system_version here. Remove initialization of
8090 Vx_bitmap_file_path.
8091 (read_input_waiting): Correct the number of parameters passed to
8092 read_socket_hook.
8093 Move all Macintosh functions to mac/mac.c.
8094
8095 * term.c [macintosh]: Include macterm.h.
8096
8097 * window.c [macintosh]: Include macterm.h.
8098
8099 * xdisp.c [macintosh]: Include macterm.h. Declare
8100 set_frame_menubar and pending_menu_activation.
8101 (echo_area_display) [macintosh]: Do not return if terminal frame
8102 is the selected frame.
8103 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8104 Allow only the selected frame to set menu bar.
8105 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8106 calling FRAME_EXTERNAL_MENU_BAR (f).
8107 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8108
8109 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8110 and check_x. Declare XCreateGC. Define x_create_gc and
8111 x_free_gc. Initialize font_sort_order.
8112 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8113 but call x_list_fonts instead of w32_list_fonts.
8114 (Finternal_face_x_get_resource) [macintosh]: Do not call
8115 display_x_get_resource.
8116 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8117 (realize_x_face) [macintosh]: Load the font if it is specified in
8118 ATTRS.
52283633 8119 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 8120
1ffbabe3
SM
81212000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8122
8123 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8124 is nil: since we go to the end of submap anyway, we'd end up
8125 setting nil to nil.
8126 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8127 doesn't obey autoload.
8128
bed43f1d
EZ
81292000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8130
1ffbabe3 8131 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 8132
ea4233a7
JR
81332000-10-21 Jason Rumney <jasonr@gnu.org>
8134
8135 * w32term.c (w32_cache_char_metrics): Double check that font is
8136 really fixed pitch before trusting tmPitchAndFamily.
8137
f3d3c491
AI
81382000-10-21 Andrew Innes <andrewi@gnu.org>
8139
8140 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8141
8142 * w32term.h: Extern decl for w32_cache_char_metrics.
8143
8144 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8145
8146 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8147 (w32_unload_font): Free per_char array if present.
8148
8149 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8150 cached information in emulated XFontStruct to handle common cases
8151 quickly. Do not allocate XCharStruct for return.
8152 (w32_native_per_char_metric): New function.
8153 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8154 allocating one.
8155 (x_produce_glyphs): Don't get an HDC. Change calls to
8156 w32_per_char_metric to match arg change above. Remove calls to
8157 free results.
8158 (w32_get_glyph_overhangs): Ditto.
8159 (w32_cache_char_metrics): New function.
8160
8161 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8162 ($(BLD)/casefiddle.$(O)): Remove compile command.
8163 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
8164 ($(BLD)/dispnew.obj):
8165 ($(BLD)/keyboard.obj):
8166 ($(BLD)/w32inevt.obj):
8167 ($(BLD)/w32bdf.obj):
8168 ($(BLD)/alloc.obj):
8169 ($(BLD)/buffer.obj):
8170 ($(BLD)/editfns.obj):
8171 ($(BLD)/emacs.obj):
8172 ($(BLD)/fileio.obj):
8173 ($(BLD)/fns.obj):
8174 ($(BLD)/indent.obj):
8175 ($(BLD)/insdel.obj):
8176 ($(BLD)/intervals.obj):
8177 ($(BLD)/minibuf.obj):
8178 ($(BLD)/print.obj):
8179 ($(BLD)/scroll.obj):
8180 ($(BLD)/sysdep.obj):
8181 ($(BLD)/textprop.obj):
8182 ($(BLD)/widget.obj):
f3d3c491
AI
8183 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8184 ($(BLD)/term.obj): Add dependency on dispextern.h.
8185
52283633
SM
8186 * makefile.nt ($(BLD)\dispnew.obj):
8187 ($(BLD)\keyboard.obj):
8188 ($(BLD)\w32inevt.obj):
8189 ($(BLD)\w32bdf.obj):
8190 ($(BLD)\alloc.obj):
8191 ($(BLD)\buffer.obj):
8192 ($(BLD)\editfns.obj):
8193 ($(BLD)\emacs.obj):
8194 ($(BLD)\fileio.obj):
8195 ($(BLD)\fns.obj):
8196 ($(BLD)\indent.obj):
8197 ($(BLD)\insdel.obj):
8198 ($(BLD)\intervals.obj):
8199 ($(BLD)\minibuf.obj):
8200 ($(BLD)\print.obj):
8201 ($(BLD)\scroll.obj):
8202 ($(BLD)\sysdep.obj):
8203 ($(BLD)\textprop.obj):
8204 ($(BLD)\widget.obj):
f3d3c491
AI
8205 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8206 ($(BLD)\term.obj): Add dependency on dispextern.h
8207
18ad4821
EZ
82082000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8209
8210 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8211 with an additional argument of Qt.
8212
de54681a
MB
82132000-10-21 Miles Bader <miles@gnu.org>
8214
8215 * window.c (pos_fully_visible_in_window_p): New function.
8216 (Fpos_visible_in_window_p): Add FULLY argument.
8217 Use pos_fully_visible_in_window_p.
8218 (window_scroll_pixel_based, window_scroll_line_based): Update
8219 calls to Fpos_visible_in_window_p.
8220 * lisp.h (Fpos_visible_in_window_p): Update prototype
8221
13c844fb
GM
82222000-10-20 Gerd Moellmann <gerd@gnu.org>
8223
8224 * alloc.c (toplevel): Conditionalize compilation of mem_*
8225 functions differently.
52283633 8226
d9506268
JR
82272000-10-20 Jason Rumney <jasonr@gnu.org>
8228
8229 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8230 mem_init where it used to be. mem_z etc not defined otherwise.
8231
8094989b
GM
82322000-10-20 Gerd Moellmann <gerd@gnu.org>
8233
8234 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8235 GC_MALLOC_CHECK.
8236 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8237 structure definition and related variabled to the top of the file.
8238 Include this code when GC_MALLOC_CHECK is defined.
8239 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8240 register/unregister allocated region.
8241 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8242 which isn't allocated.
8243 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8244 something which is already in use.
8245 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8246 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8247 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8248 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8249
8250 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8251 _malloc_internal instead of malloc.
8252 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8253 of free.
8254
ea456eb4
AI
82552000-10-20 Andrew Innes <andrewi@gnu.org>
8256
8257 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8258 Windows.
8259 (my_strftime) <macro>: Don't use macro arg list when redefining as
8260 _strftime_copytm.
8261 (my_strftime) <function>: Supply 0 as ut argument.
8262
e64c3a75
JR
82632000-10-19 Jason Rumney <jasonr@altavista.net>
8264
8265 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8266 including dispextern.h, as it stops faces from working.
8267
8268 * w32fns.c (Fx_create_frame): Don't bother calling
8269 face-set-after-frame-default since the caller does it for us
8270 anyway. Clean up calls to x_get_arg to be consistent with X.
8271
8272 * w32term.c (x_produce_glyphs): Handle
8273 unibyte_display_via_language_environment correctly.
8274 (w32_draw_box_rect): Fix the calculation of width and height.
8275
8276 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8277 as it has stopped working.
8278 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8279 menu-bar.
8280
17401c97
GM
82812000-10-19 Gerd Moellmann <gerd@gnu.org>
8282
8283 * eval.c (skip_debugger): Prevent a compiler warning.
8284 (Fcondition_case): Likewise.
8285 (Fbacktrace_frame): Use a null interactive spec.
8286
773272d8
KH
82872000-10-19 Kenichi Handa <handa@etl.go.jp>
8288
8289 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8290
a42943e9
GM
82912000-10-18 Gerd Moellmann <gerd@gnu.org>
8292
e50517d9
GM
8293 * strftime.c: Sync with glibc, file version 1.78.
8294 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8295 should no longer be used according to ISO 8601.
8296
9035a35a
GM
8297 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8298 no map for meta_prefix_char, don't try to use it as a keymap.
8299 Instead, if T_OK is non-zero, look up a default binding, if any,
8300 otherwise, if T_OK is zero, return nil.
8301
a42943e9
GM
8302 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8303 (x_to_xcolors, png_load): Use x_query_color.
8304
52283633
SM
8305 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8306 New functions.
a42943e9
GM
8307 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8308 which can be slow.
8309 (x_copy_color, x_alloc_lighter_color): Likewise.
8310
8311 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8312 (x_query_color, x_query_colors): Add prototype.
8313
8314 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8315 check_string_bytes only if not noninteractive, increase count to 50.
8316
00de2987
MB
83172000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8318
8319 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8320 markers correctly.
8321
54918e2b
GM
83222000-10-17 Gerd Moellmann <gerd@gnu.org>
8323
1f0b3fd2
GM
8324 * alloc.c (pure_bytes_used): Renamed from pureptr.
8325 (ALIGN): New macro.
8326 (pure_alloc): New function.
8327 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8328 Use it.
8329 (Fpurecopy): Use PURE_POINTER_P.
8330
68c5d1db
GM
8331 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8332 PT has moved backward.
52283633 8333
9a038881
GM
8334 * xdisp.c (cursor_row_p): Take continued lines into account.
8335
361b097f
GM
8336 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8337 string's size_byte.
8338 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8339 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8340 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8341 string allocated.
8342
54918e2b
GM
8343 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8344 of selective display off while searching for the next line start.
8345
03ed0806
KH
83462000-10-17 Kenichi Handa <handa@etl.go.jp>
8347
8348 * Makefile.in (term.o): Depend on dispextern.h.
8349
7e05cdaf
SM
83502000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8351
8352 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8353
a6801fd1
GM
83542000-10-16 Gerd Moellmann <gerd@gnu.org>
8355
483de32b
GM
8356 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8357 the iterator at the beginning, so that they can be set later on,
8358 for instance in reseat_at_next_visible_line_start, without being
8359 overwritten.
8360
a6801fd1
GM
8361 * xfns.c (pbm_format): Add :foreground and :background keywords.
8362 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 8363 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 8364
dbf1fcc1
EZ
83652000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8366
8367 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8368
52283633 8369 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
8370
8371 * msdos.c (IT_set_face): Compare highlighted face with the default
8372 face, and invert colors if these faces' colors are identical.
8373 (Fmsdos_remember_default_colors): Don't swap foreground and
8374 background colors in initial_colors[].
8375 (IT_set_frame_parameters): Don't swap frame's foreground and
8376 background pixels. If ALIST includes "(reverse . t)", swap
8377 foreground-color and background-color properties in frame's
8378 param_alist. If the original frame's param_alist doesn't specify
8379 the colors, store unspecified-fg and unspecified-bg, reversed if
8380 required.
8381
8382 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8383 the colors are unspecified and reversed, reverse fore- and back-
8384 ground in the returned value.
8385 (Fframe_parameter): Ditto.
8386
b41fe2c3 83872000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 8388
3a6b59d9
GM
8389 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8390 get_last_unchanged_at_beg_row.
8391 (find_first_unchanged_at_end_row): Renamed from
8392 get_first_unchanged_at_end_row.
8393 (find_first_unchanged_at_end_row): Convert assertions to
8394 unconditional tests which abort. When looking for a row in
8395 unchanged text, don't go further back than first_text_row.
8396
b41fe2c3
GM
8397 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8398 Don't add in the last line's height when deciding if the new
8399 position is below the scroll margin.
9d1af64f 8400
b41fe2c3 84012000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
8402
8403 * editfns.c (Fconstrain_to_field): Check carefully for field
8404 boundaries if either OLD_POS or NEW_POS has a non-nil field
8405 property, even if they're the same.
8406
c412cb7b
KH
84072000-10-16 Kenichi Handa <handa@etl.go.jp>
8408
8409 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8410 height for XFillRectangle.
8411
5586f3eb
SM
84122000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8413
8414 * syntax.c (Fstring_to_syntax): New function extracted from
8415 Fmodify_syntax_entry.
8416 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8417 (skip_chars, Fforward_comment): Remove unused variables.
8418 (syms_of_syntax): Add defsubr for string-to-syntax.
8419 (describe_syntax): Add code for comment and string fences.
8420
db785038
SM
84212000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8422
8423 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8424 Do the meta->esc mapping. Call get_keyelt before returning.
8425 Start scanning from the second element (the first is always `keymap')
8426 to make it easier to detect when we reach a parent map.
8427 Handle the case of inheriting from a symbol whose function is a map.
8428 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8429 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8430 (get_keyelt, Flookup_key): Update call to access_keymap.
8431 Remove the meta->esc mappings.
8432 (define_as_prefix): Delete old disabled code.
8433 (menu_item_p): New function.
8434 (where_is_internal_1): Skip over the few remaining menu items.
8435 * lisp.h (access_keymap): Update prototype.
8436 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8437 Update call to access_keymap.
8438 (follow_key, read_key_sequence): Update calls to access_keymap.
8439 Remove the meta->esc mappings.
8440
cafafe0b
GM
84412000-10-13 Gerd Moellmann <gerd@gnu.org>
8442
a2e2a7f6
GM
8443 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8444 with additional argument.
8445
cafafe0b
GM
8446 * xdisp.c (cursor_row_p): New function.
8447 (try_cursor_movement, display_line): Use it.
52283633 8448
cafafe0b
GM
8449 * xdisp.c (append_space): Also save/restore iterator's current
8450 character and its length.
8451
8452 * xdisp.c (init_from_display_pos): Add an assertion.
8453 (handle_stop): Don't set iterator's add_overlay_start.
8454 (handle_invisible_prop): Likewise.
8455 (load_overlay_strings): If text under an overlay is invisible,
8456 take both before- and after-strings into account when the iterator
8457 is positioned either at the start or at the end of the overlay.
8458 (forward_to_next_line_start): Rewritten.
8459 (reseat_at_next_visible_line_start): Rewritten.
8460 (set_iterator_to_next): Add parameter RESEAT_P.
8461
8462 * dispextern.h (struct it): Remove member add_overlay_start.
8463 (set_iterator_to_next): Change prototype.
8464
c744452b
KH
84652000-10-13 Kenichi Handa <handa@etl.go.jp>
8466
8467 * coding.c (code_convert_region): Be sure to initialize
8468 coding->category_idx.
e4a3f4e1
KH
8469 (decode_coding_string): Set coding->src_multibyte and
8470 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8471 (encode_coding_string): Set coding->src_multibyte and
8472 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 8473
321fd26f
SM
84742000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8475
8476 * xfns.c (Fx_create_frame): Don't bother calling
8477 face-set-after-frame-default since the caller does it for us anyway.
8478
76832439
EZ
84792000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8480
8481 * window.c (coordinates_in_window): Fix detection of vertical line
8482 on character terminals.
8483
2483cf58
GM
84842000-10-12 Gerd Moellmann <gerd@gnu.org>
8485
8486 * editfns.c (save_excursion_save): Additionally record the
8487 selected window.
8488 (save_excursion_restore): If buffer was visible in a window, and a
8489 different window was selected, and the old selected window is
8490 still live, restore point in that window.
8491
eb991b25
KH
84922000-10-12 Kenichi Handa <handa@etl.go.jp>
8493
8a0eba09
KH
8494 * xterm.c (x_produce_glyphs): Handle
8495 unibyte_display_via_language_environment correctly.
8496
20401fcc
KH
8497 * regex.c (regex_compile): Change the way of handling a range from
8498 unibyte char to multibyte char.
8499
8500 * syntax.c (skip_chars): Change the way of handling a range from
8501 unibyte char to multibyte char.
8502
eb991b25
KH
8503 * process.c (read_process_output): Cancel previous change.
8504
365dd325
EZ
85052000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8506
c1b096cb
EZ
8507 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8508
365dd325
EZ
8509 * charset.c (Ffind_charset_string): Doc fix.
8510 (Ffind_charset_region): Doc fix.
8511
eb483c2b
KH
85122000-10-11 Kenichi Handa <handa@mule.m17n.org>
8513
8514 * process.c (read_process_output): Fix previous change. Adjust
8515 multibyteness of text to insert in a buffer by
52283633 8516 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 8517
b40bfb99
AS
85182000-10-10 Andreas Schwab <schwab@suse.de>
8519
8520 * alloc.c (mark_object): Remove all workarounds installed on
8521 1993-08-08.
8522
caff31d4
KH
85232000-10-10 Kenichi Handa <handa@etl.go.jp>
8524
52283633 8525 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
8526 (base64_encode_1): Make it work for a text of multibyte form.
8527 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8528 case. Don't call str_to_multibyte because base64_decode_1
8529 produces correct multibyte form for eight-bit codes.
52283633 8530 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
8531 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8532 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8533 codes.
8534
8535 * charset.h (CHAR_STRING): Optimized for single byte characters.
8536
cba026ef
AS
85372000-10-09 Andreas Schwab <schwab@suse.de>
8538
8539 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8540 -1 after socket is closed, to fall through to error processing.
8541
1e21fe48
EZ
85422000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8543
8544 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 8545 variables. If ALIST includes foreground-color or
1e21fe48
EZ
8546 background-color, change also the colors of the default face for
8547 this frame.
8548
a640322e
EZ
85492000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8550
8551 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8552 them extern (they are defined on xfaces.c).
8553 (syms_of_msdos): Don't intern and don't staticpro
8554 Qbackground_color and Qforeground_color.
8555
a115794c
EZ
85562000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8557
8558 * frame.c (Fframe_parameter): For non-windowed frames, if
8559 f->param_alist says foreground or background color is unspecified,
8560 call tty_color_name to return the color name computed from the
8561 frame's current colors.
8562
f5533b63
DL
85632000-10-06 Dave Love <fx@gnu.org>
8564
8565 * terminfo.c (ospeed): Don't declare.
8566
8567 * sysdep.c: Don't include string.h.
8568 (h_errno): Declare conditional also on TRY_AGAIN.
8569
8570 * charset.c (Ffind_charset_string): Doc fix.
8571
52283633 8572 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
8573 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8574 error messages.
8575
2b06561a
DL
85762000-10-05 Dave Love <fx@gnu.org>
8577
8578 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8579 position like menu-bar.
8580
ca839c85
GM
85812000-10-05 Gerd Moellmann <gerd@gnu.org>
8582
8583 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8584
8585 * xdisp.c (handle_single_display_prop): Use safe_call1.
8586 (safe_call): Renamed from call_function.
8587 (safe_call1): New function.
8588 (handle_fontified_prop): Use safe_call1 instead of call1.
8589 (safe_eval): Renamed from eval_form.
8590 (safe_eval_handler): Renamed from eval_handler.
8591 (handle_single_display_prop, display_mode_element): Use safe_eval
8592 instead of eval_form.
8593
8594 * xfaces.c (merge_face_heights): Use safe_call instead of
8595 call_function.
8596
8597 * keyboard.c (show_help_echo): Use safe_call instead of
8598 call_function; use safe_eval instead of eval_form.
8599
8600 * lisp.h (safe_call): Renamed from call_function.
8601 (safe_eval): Renamed from eval_form.
8602 (safe_call1): Add prototype.
8603
a3489ece
MB
86042000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8605
8606 * xfns.c (image_ascent): Rearrange ascent calculation for the
8607 has-a-font case.
8608
35810b6f
SM
86092000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8610
8611 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8612 (where_is_internal_1): Don't bother ignoring menu-items any more.
8613
3dc78168
GM
86142000-10-04 Gerd Moellmann <gerd@gnu.org>
8615
8616 * keyboard.c (update_menu_bindings): New variable.
8617 (parse_menu_item): Use AREF. If update_menu_bindings
8618 is 0, don't update menu bindings.
8619 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8620
1efc2bb9
EZ
86212000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8622
8623 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8624 to `mark_object'.
8625
3f679f55
SM
86262000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8627
8628 * syntax.c (forw_comment): Match nestedness of ender/starter.
8629 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8630 (prev_char_comstart_first): Remove.
8631 (back_comment): Check two-char comment markers more carefully
8632 to better handle overlapping cases like *//* or /* */* */ ...
8633 Match nestedness of ender/starter.
8634
2021ab61
DL
86352000-10-02 Dave Love <fx@gnu.org>
8636
8637 * config.in (HAVE_GAI_STRERROR): Add undef.
8638
8639 * process.c (Fopen_network_stream): Use it.
8640
8641 * m/alpha.h (NO_REMAP): Don't define.
8642
64e6cc18
GM
86432000-10-02 Gerd Moellmann <gerd@gnu.org>
8644
8645 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8646 return with a string converted to an integer or vice versa when
8647 Vmocklisp_arguments is t.
8648 (Fsignal): Likewise. The function can return for `quit'.
8649 (struct gcpro): Declare member `var' to point to a volatile
8650 Lisp_Object.
8651
8652 * eval.c (error): Prevent compiler warning.
8653
b1904cd9
SM
86542000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8655
8656 * keymap.c (keymap_memberp): New function.
8657 (Fset_keymap_parent): Use it.
8658 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8659 Use keymap_memberp to avoid creating cycles.
8660 (access_keymap): Use KEYMAPP.
8661
71c9ec51
GM
86622000-09-30 Gerd Moellmann <gerd@gnu.org>
8663
8664 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
8665 gai_strerror. Make sure xerrno is set if connect fails. Improve
8666 error recovery.
71c9ec51 8667
c70c6b58
JR
86682000-09-29 Jason Rumney <jasonr@gnu.org>
8669
8670 * w32term.c (w32_char_font_type, w32_encode_char)
8671 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8672 (w32_bdf_per_char_metric): New function.
8673 (w32_per_char_metric): Use it.
8674 (x_draw_glyph_string_background): Always draw background for BDF
8675 glyphs.
8676
8677 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8678 GDI object which is a scarce resource.
8679
8680 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8681 (get_quoted_string): Fix limit on memchr search.
8682 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8683 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8684 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8685 (get_cached_font_char, cache_char_offset): Use macro
8686 BDF_CODEPOINT_RANGE_COVER_P.
8687 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8688 (clear_cached_bitmap_slots): New function.
8689 (GET_HEX_VALUE): G-Z, g-z are not hex.
8690 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8691 (get_bitmap_with_cache): Use new cache implementation.
8692 (create_offscreen_bitmap): New function.
8693 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8694
8695 * w32term.c (x_produce_glyphs): If the distance from the current
8696 position to the next tab stop is less than a canonical character
8697 width, use the tab stop after that.
8698 (x_draw_glyphs): Handle case START and END are out of bounds more
8699 carefully.
8700 (x_clear_mouse_face): Block/unblock input.
8701 (x_display_and_set_cursor): Don't show a hollow box cursor for
8702 buffers whose cursor_type is nil.
8703
fe01239f
GM
87042000-09-29 Gerd Moellmann <gerd@gnu.org>
8705
52283633 8706 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
8707
8708 * dispextern.h (updating_frame): Declare extern.
8709
e7c52f1f
AS
87102000-09-29 Andreas Schwab <schwab@suse.de>
8711
8712 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8713
de6e1f7c
GM
87142000-09-29 Gerd Moellmann <gerd@gnu.org>
8715
25126faa
GM
8716 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8717 use its function definition.
8718 (tool_bar_items): Likewise.
8719
de6e1f7c 8720 * lisp.h (fatal): Declare NO_RETURN.
52283633 8721
454ee39b
KH
87222000-09-29 Kenichi Handa <handa@etl.go.jp>
8723
8724 * keymap.c: Remove the line "#undef NULL".
8725
96301c5f
GM
87262000-09-28 Gerd Moellmann <gerd@gnu.org>
8727
52283633 8728 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 8729
efffeeb4
DL
87302000-09-28 Dave Love <fx@gnu.org>
8731
ecb8b666
DL
8732 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8733
dc3cd20f
DL
8734 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8735
8736 * .gdbinit (xreload): Note its need on GNU/Linux.
8737
efffeeb4
DL
8738 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8739 r_alloc, r_alloc_free.
8740
8610d903
KH
87412000-09-28 Kenichi Handa <handa@etl.go.jp>
8742
8743 * syntax.c (skip_chars): Handle negation correctly.
8744
8901d1ac
GM
87452000-09-27 Gerd Moellmann <gerd@gnu.org>
8746
6f22f1ad
GM
8747 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8748 with non-zero FORCE_P argument.
8749
52283633 8750 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
8751 Add assertions.
8752
8753 * xdisp.c (window_box_height): Add an assertion.
8754
8755 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8756 tool-bar than is available.
8757 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8758
36f1966f
DL
87592000-09-27 Dave Love <fx@gnu.org>
8760
efffeeb4 8761 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 8762
31d929e5
GM
87632000-09-26 Gerd Moellmann <gerd@gnu.org>
8764
c98863bf
GM
8765 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8766 instead of BITS_PER_INT.
8767 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8768 EMACS_UINT, respectively.
8769 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8770
8771 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8772
8773 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8774
77072ab1
GM
8775 * window.c (freeze_window_starts): Construct last argument for
8776 foreach_window differently.
8777
8778 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8779
8780 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8781 EMACS_UINT instead of `int' and `unsigned int'.
8782 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8783
8784 * frame.h (struct frame): Make the `nothing' member of union
8785 output_data an EMACS_INT.
8786
52283633 8787 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
8788 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8789 size in the sdata structure.
8790 (SDATA_NBYTES, SDATA_DATA): New macros.
8791 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8792 differently for the different layout of the sdata structure.
8793 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8794 in sdata.
8795 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8796 Check that size recorded in the string size and size recorded in
8797 the sdata structure agree.
8798
3e60b029
DL
87992000-09-25 Dave Love <fx@gnu.org>
8800
8801 * buffer.c: Include stdio.h.
8802
8803 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8804
3e60b029
DL
8805 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8806
8807 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8808 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8809 (__malloc_extra_blocks): Declare as __malloc_size_t.
8810
8ff16b4e
GM
88112000-09-25 Gerd Moellmann <gerd@gnu.org>
8812
755a2ccd
GM
8813 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8814
d8b4516f
GM
8815 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8816 (read_char): If help-echo is showing, preserve the echo area
8817 when redisplaying.
8818
8819 * xdisp.c (help_echo_showing_p): New variable.
8820 (set_message): Reset it to 0.
8821 (init_xdisp): Initialize help_echo_showing_p.
8822
8823 * dispextern.h (help_echo_showing_p): Declare extern.
8824
8825 * config.in: Fix typo in __GNUC_MINOR__.
8826
8827 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8828
b11af2dd
GM
8829 * s/freebsd.h (POSIX_SIGNALS): Define.
8830
8ff16b4e
GM
8831 * xterm.c (x_clear_mouse_face): Block/unblock input.
8832
844eb643
DL
88332000-09-24 Dave Love <fx@gnu.org>
8834
8835 * fns.c (base64_encode_1): Fix last change.
8836
b30ab1b3
GM
88372000-09-22 Gerd Moellmann <gerd@gnu.org>
8838
8839 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8840
8841 * xdisp.c (try_window_reusing_current_matrix): More fixes
8842 for the case window has a header-line.
8843
c6cbe5f0
DL
88442000-09-22 Dave Love <fx@gnu.org>
8845
4c7c1f3f
DL
8846 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8847 a doc string.
8848
8849 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8850
c6cbe5f0
DL
8851 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8852
550a625e
GM
88532000-09-21 Gerd Moellmann <gerd@gnu.org>
8854
4c7c1f3f 8855 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8856 for GCC >= 2.5.
8857
52283633
SM
8858 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8859 Declare NO_RETURN.
fca99116 8860
80d26f99
GM
8861 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8862 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8863 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8864 warnings.
52283633 8865
80d26f99
GM
8866 * marker.c (byte_char_debug_check): Return void.
8867
623a0aae
GM
8868 * xfns.c (Fx_create_frame): Set default frame parameter value
8869 for tool-bar-lines to 1.
8870
8871 * dispnew.c (scrolling_window): Compare y-positions of rows
8872 equal at the start. Some simplification.
8873
8874 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8875 reused rows' y-position in the case window has a header-line, and
8876 new window start is greater than old window start.
8877
42ac0ae5
GM
8878 * process.c (process_sent_to): New variable.
8879 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8880 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8881 Declare more parameters volatile.
8882
550a625e
GM
8883 * lread.c (Vrecursive_load_depth_limit): New variable.
8884 (Fload): Check recursive loads whose recursion depth exceeds
8885 Vrecursive_load_depth_limit.
8886 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8887
8320414c
GM
88882000-09-20 Gerd Moellmann <gerd@gnu.org>
8889
f46c275e
GM
8890 * fileio.c (Fread_file_name): Doc fix.
8891
8892 * editfns.c (Fmessage_or_box): Doc fix.
8893
8894 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8895
b7e11c5b 8896 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8897
8320414c
GM
8898 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8899 symbols are specified, add color translations to the cache.
52283633 8900 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8901 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8902 xpm_cache_color.
8903 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8904 structures to xpm_init_color_cache.
8905
da1608d9
GM
89062000-09-19 Gerd Moellmann <gerd@gnu.org>
8907
52283633 8908 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8909
6badfa25
AI
89102000-09-19 Andrew Innes <andrewi@gnu.org>
8911
8912 * makefile.nt (bootstrap-emacs): Don't change directory.
8913
3a5f42bb
KH
89142000-09-19 Kenichi Handa <handa@etl.go.jp>
8915
1b7649bd
KH
8916 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8917
3a5f42bb
KH
8918 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8919 If output buffer is too small, signal an appropriated error.
8920
9f83cf0b
DL
89212000-09-18 Dave Love <fx@gnu.org>
8922
52283633 8923 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8924 (current_active_maps): Remove redundant get_local_map call.
8925
28c7826c
GM
89262000-09-18 Gerd Moellmann <gerd@gnu.org>
8927
5cefa566
GM
8928 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8929 cursor for buffers whose cursor_type is nil.
52283633 8930
6fed3546
GM
8931 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8932 a feature to implement that is already implemented.
8933 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8934 warnings.
8935
8936 * xfns.c (x_clear_image_1): New function.
8937 (x_clear_image): Use it.
52283633 8938 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8939
05b1f851
GM
8940 * dispnew.c (update_window): Move test for invisible lines
8941 at the top to update_window_line.
8942 (update_window_line): Handle invisible lines here.
8943
f4779de9
GM
8944 * xfns.c (clear_image_cache): Clear current matrices of all
8945 frames sharing an image cache. Block input while freeing
8946 images. Fix timestamp comparison.
8947 (x_clear_image): Also free the mask.
8948
28c7826c
GM
8949 * xfns.c (lookup_image): Block input while loading the image so
8950 that we won't get interrupted in a state where the image isn't yet
8951 set up completely.
8952 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8953 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8954 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8955 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8956
b7412313
GM
89572000-09-16 Gerd Moellmann <gerd@gnu.org>
8958
8959 * dispnew.c (update_window): Make sure to make desired rows
8960 current even if they are completely invisible at the top
8961 of a window.
8962
47e351a3
GM
89632000-09-15 Gerd Moellmann <gerd@gnu.org>
8964
7f8f1edc
GM
8965 * xfns.c (lookup_image): Build mask before applying an algorithm.
8966 Recognize algorithm `disabled'.
8967 (cross_disabled_images): New variable.
8968 (COLOR_INTENSITY): New macro.
8969 (x_detect_edges): Use COLOR_INTENSITY.
8970 (x_disable_image): New function.
8971 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8972
8973 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8974 disabled state, don't apply an image transformation algorithm if
8975 the user specified an image for the disabled state. Use
28c7826c 8976 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8977 user hasn't specified an image.
8978
ebb8f116
GM
8979 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8980 allocation functions with the XPM lib.
8981 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8982 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8983 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8984 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8985 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8986 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8987 functions, if possible, because these handle color allocation
8988 failure more gracefully.
8989 (Fimage_mask_p): New function.
8990
47e351a3
GM
8991 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8992 (Qedge_detection, Qheuristic): New symbols.
8993 (syms_of_xfns): Initialize new symbols.
8994 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8995 `algorithm (edge-detection ...)'.
8996 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8997 (tiff_format, gif_format, gs_format): Add `:mask'.
8998 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8999 (GIF_MASK, GS_MASK): New enumerators.
9000 (x_laplace_read_row, x_laplace_write_row): Functions removed.
9001 (emboss_matrix, laplace_matrix): New variables.
9002 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
9003 (x_edge_detection): New functions.
9004 (x_laplace): Rewritten in terms of x_detect_edges.
9005 (x_build_heuristic_mask): If image has a mask, free it.
9006
fe83b953
AI
90072000-09-14 Andrew Innes <andrewi@gnu.org>
9008
9009 * makefile.w32-in: Revert to Unix line endings.
9010
3021e816
AI
90112000-09-14 Andrew Innes <andrewi@gnu.org>
9012
9013 * makefile.w32-in: Standardize indentation somewhat.
9014 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
9015 cater for differences between shells.
9016
9017 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
9018
2a32b5ea
GM
90192000-09-14 Gerd Moellmann <gerd@gnu.org>
9020
9021 * xterm.c (x_produce_glyphs): If the distance from the current
9022 position to the next tab stop is less than a canonical character
9023 width, use the tab stop after that.
9024
b4331e96
DL
90252000-09-14 Dave Love <fx@gnu.org>
9026
9027 * buffer.c (alloc_buffer_text): Fix xmalloc call.
9028
ef9e4345
GM
90292000-09-14 Gerd Moellmann <gerd@gnu.org>
9030
085536c2
GM
9031 * xdisp.c (handle_fontified_prop): While running fontification
9032 functions, bind `fontification-functions' and
9033 `after-change-functions' to nil.
9034
ef9e4345
GM
9035 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9036 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9037
9038 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9039
9040 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9041 USE_MMAP_FOR_BUFFERS.
9042
9043 * insdel.c (make_gap): Use enlarge_buffer_text.
9044
9045 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9046 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9047 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9048 from former r_alloc_* functions in ralloc.c.
52283633 9049 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
9050 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9051 (mmap_init) [REL_ALLOC_MMAP]: New function.
9052 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9053 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9054 BUFFER_FREE.
9055
9056 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9057 (enlarge_buffer_text): Add prototype.
9058
9059 * ralloc.c: Remove everything having to do with the use of mmap.
9060
f8608968
GM
90612000-09-13 Gerd Moellmann <gerd@gnu.org>
9062
2a494b2d
GM
9063 * sound.c (Fplay_sound): Doc fix.
9064
8c907a56
GM
9065 * keyboard.c: Avoid some more compiler warnings.
9066 (parse_tool_bar_item): Ignore cached key bindings.
9067
f8608968
GM
9068 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9069 and allocation of Lisp data.
9070
6ab70e9a
GM
90712000-09-12 Gerd Moellmann <gerd@gnu.org>
9072
d12d0a9b
GM
9073 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9074 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9075 defaults first.
9076
6ab70e9a
GM
9077 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9078
63c36c3c
KH
90792000-09-12 Miyashita Hisashi <himi@meadowy.org>
9080
9081 * ccl.c: Comment fixed.
9082 (MAX_MAP_SET_LEVEL): Increased to 30.
9083 (PUSH_MAPPING_STACK): Enclose with do-while block.
9084 (POP_MAPPING_STACK): Likewise.
9085 (stack_idx_of_map_multiple): New variable.
9086 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9087 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 9088 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
9089 (ccl_driver) <CCL_MapSingle>: Likewise.
9090 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9091 with the case where looking up process reaches to the end of
9092 map-set, and call CCL programs as the above change.
9093
7ee3bd7b
GM
90942000-09-11 Gerd Moellmann <gerd@gnu.org>
9095
8ec8a5ec
GM
9096 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9097 that might be clobbered by longjmp.
9098 (check_x_display_info, x_decode_color, create_frame_xic)
9099 (Fx_display_backing_store, Fx_display_visual_class)
52283633 9100 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 9101
f74b0705
GM
9102 * lread.c (init_lread): Set Vloads_in_progress to nil.
9103 (Fload): Show list of recursively loaded files, when signaling an
9104 error.
9105
7ee3bd7b
GM
9106 * lread.c (Vloads_in_progress): New variable.
9107 (record_load_unwind): New function.
9108 (Fload): Check for recursive loads.
9109 (syms_of_lread): Initialize Vloads_in_progress.
9110 (read_integer, read1): Avoid some compiler warnings.
9111
9112 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9113 compiler warnings.
9114
974e1e5b
MB
91152000-09-11 Miles Bader <miles@gnu.org>
9116
9117 * editfns.c (Fbuffer_string): Doc fix.
9118
9824c4e3
GM
91192000-09-10 Gerd Moellmann <gerd@gnu.org>
9120
9121 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9122
6a72fdd1
KR
91232000-09-09 Ken Raeburn <raeburn@gnu.org>
9124
9125 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9126 whether to include other header files.
9127
28e6fb66
GM
91282000-09-09 Gerd Moellmann <gerd@gnu.org>
9129
52283633 9130 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 9131 by Fmemq as a boolean.
28e6fb66 9132
7f8b6551
SM
91332000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9134
9135 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9136
a8710abf
GM
91372000-09-08 Gerd Moellmann <gerd@gnu.org>
9138
d1a02881
GM
9139 * ralloc.c (mmap_fd): Remove initializer which can make it
9140 read-only in a dumped Emacs.
9141 (mmap_fd_1): New variable.
9142 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9143 restore it from there.
9144 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9145 unconditionally so that mmap_fd can be initialized there.
9146 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9147 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9148 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9149
c454aac1
GM
9150 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9151
9152 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 9153 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 9154
fc653ef2
GM
9155 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9156
3015eec0
GM
9157 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9158 inheritance.
9159
bfe0ee88
GM
9160 * xdisp.c (try_window_id): When trying to locate cursor in
9161 unchanged rows at the top, handle the case that we can't find it.
9162
a8710abf
GM
9163 * xterm.c (x_draw_glyphs): Handle case START and END are out
9164 of bounds more carefully.
9165
6b7d4ae4
DL
91662000-09-08 Dave Love <fx@gnu.org>
9167
423193c5
DL
9168 * s/sol2.h (REL_ALLOC_MMAP): Define.
9169 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9170
9171 * ralloc.c: Don't include string.h (redundant).
9172 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9173 [!MAP_ANON]: Include fcntl.h.
9174 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9175 (r_alloc, r_re_alloc, r_alloc_free)
9176 (mmap_enlarge, mmap_set_vars): Use it.
9177 (r_alloc_init_fd): New function.
9178 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9179 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9180 malloc type.
9181
9182 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9183 Remove vm-limit.o.
9184
6b7d4ae4
DL
9185 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9186 change to __NetBSD__.
9187
44d31981
KH
91882000-09-08 Kenichi Handa <handa@etl.go.jp>
9189
9190 * search.c (compile_pattern): Check the multibyteness of cached
9191 string and PATTERN.
9192
aad40737
MB
91932000-09-08 Miles Bader <miles@gnu.org>
9194
9195 * xfaces.c (default_face_vector): Function removed.
9196 (Finternal_merge_in_global_face): Restore old global/local
9197 attribute override order. Use inline loop instead of calling
9198 default_face_vector.
9199
91a211b5
GM
92002000-09-07 Gerd Moellmann <gerd@gnu.org>
9201
9202 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9203 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9204 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9205 where necessary, in case POINTER_TYPE is `void'.
9206
03419440
EZ
92072000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9208
9209 * frame.c (make_terminal_frame): Initialize frame foreground and
9210 background colors to unspecified, for the initial instance of an
9211 MSDOS frame.
9212
f46f845b
GM
92132000-09-07 Gerd Moellmann <gerd@gnu.org>
9214
24f76fbf
GM
9215 * ralloc.c (mmap_find): Fix overlap computation.
9216 (mmap_enlarge): Compute nbytes before trying to find an
9217 overlapping region.
9218
f46f845b
GM
9219 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9220 instead of `!='.
9221
9222 * lread.c (syms_of_lread): Change value of regexp
9223 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9224
9225 * xmenu.c (xdialog_show): When looking up the selection in
9226 menu_items, take `quote' boundaries into account; this corresponds
9227 to a nil ITEM in x-popup-dialog.
9228
3c014385
KH
92292000-09-07 Kenichi Handa <handa@etl.go.jp>
9230
fd6f711b
KH
9231 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9232 not 0x81.
9233 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9234
3c014385 9235 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
9236 encoding, not decoding. Fix the handling of latin-jisx0201.
9237 Check for the charset katakana-jisx0201 too.
3c014385 9238 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 9239 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 9240
0da3ecef
GM
92412000-09-07 Gerd Moellmann <gerd@gnu.org>
9242
ab0ee409
GM
9243 * xfaces.c (Vparam_value_alist): New variable.
9244 (syms_of_xfaces): Initialize it.
9245 (Finternal_set_lisp_face_attribute): Avoid more consing.
9246
9247 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9248 specially.
9249 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9250 (Qbackground_mode): New variable.
9251 (syms_of_frame_1): Initialize Qbackground_mode.
9252
9253 * lisp.h (Qdisplay): Declare extern.
1091dd67 9254
0da3ecef
GM
9255 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9256 change face on all frames, and change the default for new frames.
9257
b14654b9
DL
92582000-09-07 Dave Love <fx@gnu.org>
9259
9260 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9261
d24fd56f
KH
92622000-09-07 Kenichi Handa <handa@etl.go.jp>
9263
794f3670
KH
9264 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9265
0fddd0dc
KH
9266 * charset.c: Include composite.h
9267 (lisp_string_width): New function.
9268 (Fstring_width): Call lisp_string_width instead of strwidth.
9269
9270 * Makefile.in (charset.o): Depends on composite.h.
9271
d24fd56f
KH
9272 * process.c (read_process_output): Before inserting the decoded
9273 text in the buffer, adjust the multibyteness.
9274
fa0b693c
GM
92752000-09-06 Gerd Moellmann <gerd@gnu.org>
9276
52283633 9277 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
9278 buffer's text buffer is null, map new memory.
9279
0a58f946
GM
9280 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9281 POINTER_TYPE and size_t.
9282 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9283 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9284 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9285 [REL_ALLOC_MMAP]: New macros.
9286 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9287 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9288 [REL_ALLOC_MMAP]: New functions.
9289
9290 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9291 before and after unexec.
9292
9293 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9294 text buffers if necessary.
9295
9296 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9297 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9298 in prototypes.
9299
fa0b693c
GM
9300 * config.in (HAVE_MMAP): Add #undef.
9301
877055f6
GM
93022000-09-05 Gerd Moellmann <gerd@gnu.org>
9303
08ba3862
GM
9304 * frame.c (Qdisplay_type): New variable.
9305 (syms_of_frame_1): Initialize it.
9306 (Fframe_parameter): New function that avoids consing.
9307 (syms_of_frame): Defsubr it.
9308
66ffe51c
GM
9309 * buffer.c (Fother_buffer): Consider buffers as invisible when
9310 they are displayed in a window on an invisible frame.
9311
877055f6
GM
9312 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9313 get-largest-window always return nil.
9314
bb970e67
GM
93152000-09-04 Gerd Moellmann <gerd@gnu.org>
9316
9317 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9318 variable; recognize Emacs 19 elc files.
9319
7a3d0e0e
MB
93202000-09-04 Miles Bader <miles@gnu.org>
9321
9322 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9323 before initially popping up the menu, so the menu doesn't flash
52283633 9324 when the face settings are significantly different from the defaults.
7a3d0e0e 9325
14473664
SM
93262000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9327
9328 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9329 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9330 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9331 (BIT_UNIBYTE): Remove.
9332 (re_match_2_internal): Delete corresponding code and streamline the
9333 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9334 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9335 (re_wctype_t): New type.
9336 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9337 (regex_compile): Use them and fix handling of overly long char classes.
9338
c1174479
AI
93392000-09-03 Andrew Innes <andrewi@gnu.org>
9340
f8803e97
AI
9341 * makefile.w32-in: Change to DOS line endings.
9342
c1174479
AI
9343 * s/ms-w32.h (ORDINARY_LINK): New define.
9344
9345 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9346 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9347
9348 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9349 (distclean): Delete them here instead.
9350
44ef7cf6
AI
9351 * w32proc.c (compare_env): Convert to uppercase for comparison,
9352 not lowercase, to match how the native Windows shell works.
9353
49b3bd82
JR
93542000-09-03 Jason Rumney <jasonr@gnu.org>
9355
9356 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9357 CVS changes the line-ends when checking in/out on DOS/Windows.
9358
9359 * makefile.nt (emacs): Do not change directory to run temacs, as
9360 the load-path is set relative to current directory.
9361
a3d35a39
MB
93622000-09-03 Miles Bader <miles@gnu.org>
9363
9364 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9365
d276b0cf
GM
93662000-09-02 Gerd Moellmann <gerd@gnu.org>
9367
715e84c9
GM
9368 * xdisp.c (redisplay_mode_lines): New function.
9369 (display_mode_lines): Return number of mode lines displayed.
9370 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9371 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9372
8892f40b
GM
9373 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9374 string.h and strings.h.
9375 (index) [HAVE_INDEX]: Add prototype.
9376
d276b0cf
GM
9377 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9378 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9379
9380 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9381 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9382
38404229
GM
93832000-09-01 Gerd Moellmann <gerd@gnu.org>
9384
9385 * lread.c (read1): Accept `?' as symbol constituent, for
9386 compatiblity with XEmacs.
9387
c0f9ea08
SM
93882000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9389
9390 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9391 (struct re_pattern_buffer): Remove newline_anchor.
9392 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9393 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9394 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9395 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9396 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9397 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9398 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9399 Get rid of references to newline_anchor.
9400 (regcomp): Allocate and precompute a fastmap.
9401
8c0f83fe
GM
94022000-08-31 Gerd Moellmann <gerd@gnu.org>
9403
9404 * lread.c (openp): GCPRO local variable `filename'.
9405
4bb91c68
SM
94062000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9407
9408 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9409
9410 * regex.c: Merge some changes from GNU libc. Add prototypes.
9411 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9412 Use memcmp and memcpy instead of bcopy and bcmp.
9413 (init_syntax_once): Use ISALNUM.
9414 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9415 (REG_UNSET_VALUE): Remove. Use NULL instead.
9416 (REG_UNSET, re_match_2_internal): Use NULL.
9417 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9418 New macros.
9419 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9420 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9421 (regex_compile): In handle_interval, return an error rather than try to
9422 unfetch the interval if we can't find the closing brace.
9423 Obey the RE_NO_GNU_OPS syntax bit.
9424 (TOLOWER): New macro.
9425 (regcomp): Use it.
9426 (regexec): Allocate regs.start and regs.end as one block.
9427
5226a931
GM
94282000-08-30 Gerd Moellmann <gerd@gnu.org>
9429
868dd24b
GM
9430 * xdisp.c (echo_area_display): Check display_completed instead
9431 of calling detect_input_pending.
9432
9433 * dispnew.c (update_frame): Only set display_completed here; move
9434 the update_begin and update_end calls here from update_frame_1.
9435 (update_frame_1): Don't set display_completed here, don't call
9436 update_begin/update_end.
9437
5226a931
GM
9438 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9439 instead of store_frame_param.
9440
2a8bd25f
GM
94412000-08-29 Gerd Moellmann <gerd@gnu.org>
9442
9443 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9444 desired window matrix hasn't been displayed, use the current row
9445 instead. Make sure that only those frame rows are updated for
9446 which there exists a corresponding enabled desired row.
52283633 9447
ba3478d9
MB
94482000-08-29 Miles Bader <miles@gnu.org>
9449
9450 * xfaces.c (default_face_vector): New function.
9451 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9452
87d0f685
GM
94532000-08-29 Gerd Moellmann <gerd@gnu.org>
9454
9455 * lread.c (openp): Prevent temporary string passed to
9456 Ffile_readable_p from being garbage collected.
9457
6fa86045
DL
94582000-08-28 Dave Love <fx@gnu.org>
9459
9460 * keymap.c (store_in_keymap): Add `static' to declaration.
9461
bb17930d
GM
94622000-08-28 Gerd Moellmann <gerd@gnu.org>
9463
9464 * emacs.c, callint.c, doc.c, editfns.c
9465 (toplevel) [HAVE_STRING_H]: Include string.h.
9466 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9467 (index): Remove prototypes which might conflict with non-standard
9468 definitions of index/strchr.
9469
9470 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9471 (rindex): Define only if !HAVE_RINDEX.
9472
9473 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9474
9475 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9476
87188200
MB
94772000-08-28 Miles Bader <miles@gnu.org>
9478
9479 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9480 made inconsistent by a font-related attribute in FROM.
9481 (merge_face_inheritance): Add function comment.
9482
41a68aef
KH
94832000-08-28 Kenichi Handa <handa@etl.go.jp>
9484
9485 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9486 the 4th arg (PREV_EVENT) Qt to suppress input method.
9487
f7c436c1
SM
94882000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9489
0b32bf0e
SM
9490 * regex.c: Indent cpp directives and remove parens after `defined'.
9491 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9492 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9493 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9494 (re_compile_pattern): Use size_t for length.
9495 (init_syntax_once): Move to a better place.
9496 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9497 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9498
f7c436c1
SM
9499 * syntax.c (back_comment): Detect cases where a comment-starter is
9500 actually inside another comment as in: /* a // b */ c // d \n.
9501 Make it clear that `comstart_pos' is unused for nested comments.
9502
9503 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9504 (KEYMAPP): New macro.
9505 (Fkeymap_parent, Fset_keymap_parent): Use it.
9506 (fix_submap_inheritance): Mark it static.
9507 (define_as_prefix, describe_buffer_bindings, describe_command)
9508 (describe_translation, describe_map): Complete prototypes.
9509
9510 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9511
9512 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9513 to better match the key-lookup behavior.
9514
6288c62f
GM
95152000-08-27 Gerd Moellmann <gerd@gnu.org>
9516
9517 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9518 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9519
e931344e
EZ
95202000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9521
9522 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9523 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9524 (xterm.o): Depend on coding.h
9525
d10dfeef
KH
95262000-08-26 Kenichi Handa <handa@etl.go.jp>
9527
9528 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9529 the corresponding '#endif'.
9530
2d73e8d3
MB
95312000-08-26 Miles Bader <miles@gnu.org>
9532
9533 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9534 * xfaces.c (QCinherit): New variable.
9535 (syms_of_xfaces): Initialize it.
9536 (LFACE_INHERIT): New macro.
9537 (Finternal_get_lisp_face_attribute)
52283633 9538 (merge_face_vector_with_property)
2d73e8d3
MB
9539 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9540 (check_lface_attrs): Allow new types of face height. Check
9541 inherit attribute.
9542 (CYCLE_CHECK): New macro.
9543 (merge_face_inheritance): New function.
9544 (merge_face_vectors): Merge inherited faces too. Add F and
9545 CYCLE_CHECK arguments.
9546 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9547 (lookup_named_face, lookup_derived_face, realize_named_face)
9548 (face_at_string_position, face_at_buffer_position): Supply
9549 new F and CYCLE_CHECK arguments to merge_face_vectors.
9550 (merge_face_heights): New function.
52283633 9551 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
9552 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9553 handle relative face heights.
9554 (lface_same_font_attributes_p): Compare heights using EQ.
9555
6ce974d4
KH
95562000-08-26 Kenichi Handa <handa@etl.go.jp>
9557
9558 * charset.c (char_to_string): Check the character validity.
52283633 9559 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 9560
dc1e502d
SM
95612000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9562
9563 * regex.c (PUSH_FAILURE_COUNT): New macro.
9564 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9565 Handle popping of a register's or a counter's data.
9566 (POP_FAILURE_POINT): Use the new name.
9567 (re_match_2_internal): Push counter data on the stack for succeed_n,
9568 jump_n and set_number_at and remove misleading dead code in succeed_n.
9569
bd9d0f3f
GM
95702000-08-25 Gerd Moellmann <gerd@gnu.org>
9571
9572 * xdisp.c (redisplay_internal): If considering all windows on all
9573 frames, update the display for each frame as soon as possible,
9574 instead of first building all desired matrices for all frames, and
9575 then updating them all.
9576 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9577
aa5b8e15
GM
95782000-08-24 Gerd Moellmann <gerd@gnu.org>
9579
17494071
GM
9580 * bytecode.c (mark_byte_stack): Add a comment.
9581
52283633
SM
9582 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9583 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
9584 a graphical frame.
9585
c543db81
KH
95862000-08-24 Kenichi Handa <handa@etl.go.jp>
9587
d246d5f5
KH
9588 * minibuf.c (do_completion): Always use compare-string, not
9589 string-equal because the latter doesn't pay attention to
9590 multibyteness of strings.
9591
c543db81
KH
9592 * process.c (create_process): Don't setup raw-text coding here.
9593 (Fopen_network_stream): Don't set coding->src_multibyte and
9594 coding->dst_multibyte here.
9595 (read_process_output): For process filter, return unibyte string
9596 if default-enable-multibyte-characters is nil.
9597 (send_process): If OBJECT is multibyte text, be sure to encoded it
9598 by the specified coding system for the process. Otherwise, setup
9599 raw-text coding.
52283633 9600 (init_process): Don't initialize default-process-coding-system here.
c543db81 9601
9b47cfe0
EZ
96022000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9603
9604 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9605 <scroll-down-aggressively>: Likewise.
9606
f5a36960
KH
96072000-08-23 Kenichi Handa <handa@etl.go.jp>
9608
9609 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9610 zero. Set coding->produced_char correctly.
9611
69a7ffa7
AI
96122000-08-22 Andrew Innes <andrewi@gnu.org>
9613
9614 * makefile.w32-in: New file.
9615
9616 * unexw32.c (unexec): Ignore old_name, and use the actual location
9617 of the current executable instead. Base new_name on this.
9618
9619 * w32proc.c (create_child): Remove reference to security
9620 descriptor, which isn't needed and doesn't compile with mingw32.
9621
9622 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9623 up dllimport attributes.
9624 (x_update_window_end): Update prototype.
9625
9626 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9627 extern, which screws up dllimport attributes.
9628
9629 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9630 up dllimport attributes.
9631
9632 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9633 screws up dllimport attributes.
9634
9635 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9636 up dllimport attributes.
9637 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9638 screws up dllimport attributes.
9639
9640 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9641 up dllimport attributes.
9642
9643 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9644 screws up dllimport attributes.
9645
9646 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9647 screws up dllimport attributes.
9648
9649 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9650 up dllimport attributes.
9651
9652 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9653 unnecessary extern, which screws up dllimport attributes.
9654 (main): Ditto.
9655
9656 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9657 up dllimport attributes.
9658
9659 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9660 unnecessary extern, which screws up dllimport attributes.
9661
9662 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9663 screws up dllimport attributes.
9664
9665 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9666 up dllimport attributes.
9667
9668 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9669
52283633
SM
9670 * w32bdf.c (search_file_line):
9671 (set_bdf_font_info):
9672 (seek_char):
9673 (w32_get_bdf_glyph):
69a7ffa7
AI
9674 (w32_BDF_to_x_font): Fix compile warnings.
9675
52283633 9676 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
9677
9678 * w32select.c: Include keyboard.h before frame.h.
9679
9680 * w32fns.c (max): Define macro.
9681 (JOHAB_CHARSET): Define if not known.
9682 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9683 (Fx_show_tip): Synch with X version.
9684
9685 * w32xfns.c: Include keyboard.h before frame.h.
9686
9687 * w32fns.c: Include keyboard.h before frame.h.
9688
9689 * w32term.c: Include keyboard.h before frame.h.
9690
9691 * fontset.c: Include keyboard.h before frame.h.
9692
9693 * w32inevt.c: Include keyboard.h before frame.h.
9694 (MOUSE_MOVED): Define if not known.
9695
9696 * minibuf.c: Include keyboard.h before frame.h.
9697
9698 * keyboard.c: Include keyboard.h before frame.h.
9699
9700 * indent.c: Include keyboard.h before frame.h.
9701
9702 * dispnew.c: Include keyboard.h before frame.h.
9703
9704 * buffer.c: Include keyboard.h before frame.h.
9705
9706 * alloc.c: Include keyboard.h before frame.h.
9707
9708 * print.c: Include keyboard.h before frame.h.
9709
9710 * process.c: Include keyboard.h before frame.h.
9711
9712 * scroll.c: Include keyboard.h before frame.h.
9713
9714 * sysdep.c: Include keyboard.h before frame.h.
9715
9716 * term.c: Include keyboard.h before frame.h.
9717
9718 * window.c: Include keyboard.h before frame.h.
9719
9720 * xdisp.c: Include keyboard.h before frame.h.
9721 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9722
9723 * frame.c: Include keyboard.h before frame.h.
9724
9725 * w32heap.h: Undefine min, max.
9726
9727 * w32gui.h: Undefine min, max.
9728
9729 * unexw32.c: Change PUCHAR to PCHAR.
9730 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
9731 (relocate_offset):
9732 (get_section_info):
69a7ffa7
AI
9733 (copy_executable_and_dump_data): Remove unnecessary static defs.
9734 (copy_executable_and_dump_data): Fix compile warnings.
9735
9736 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9737
9738 * w32console.c (min): Define macro.
9739 (clear_frame, write_glyphs): Fix compile warning.
9740
52283633 9741 * w32proc.c (compare_env):
69a7ffa7
AI
9742 (find_child_console): Fix compile warning.
9743
9744 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9745 sys_errlist instead of _sys_errlist.
9746 (get_emacs_configuration_options): New function.
9747
9748 * s/ms-w32.h (sys_nerr): Provide default definition.
9749 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9750 name with _ prepended.
9751 (NSIG): Define if not known.
9752 (get_emacs_configuration): Provide extern declaration.
9753 (get_emacs_configuration_options): Provide extern declaration.
9754 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9755
9756 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 9757 (map_w32_filename):
69a7ffa7
AI
9758 (read_unc_volume): Fix compile warning.
9759
9760 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9761 definitions from being used.
9762
9763 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9764
52283633 9765 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
9766 (open_unc_volume): Make arg const.
9767
9768 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9769 (read_input_waiting): Remove excess parameter.
9770
9771 * w32.c (init_environment): Call _access.
9772 (check_windows_init_file): Call _close.
9773 (init_user_info): Call _putenv.
9774 (init_environment): Call _putenv and _strdup.
9775 (init_ntproc): Reset volume info cache on startup.
9776
9777 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9778 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9779 cannot override the CRT malloc.
9780
9781 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9782 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9783
9784 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9785 unless we are linking with a static CRT.
9786 (RVA_TO_PTR): Cast result to unsigned char*.
9787
9788 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9789 (add_volume_info): Use xstrdup.
9790
25060080
SM
97912000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9792
9793 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9794 (do_completion, Fminibuffer_complete_word): Use it.
9795 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9796 var so it can take non-boolean values.
9797
6917e6bb
GM
97982000-08-21 Gerd Moellmann <gerd@gnu.org>
9799
acb7cc89 9800 * editfns.c (find_field): Formatting changes.
52283633 9801 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9802 changed to prototypes, some new protypes added, some functions
9803 made static.
9804
9805 * lisp.h (set_time_zone_rule): Add prototype.
9806 (use_dialog_box): External declaration.
9807
0bbfdc25
GM
9808 * keyboard.c (gen_help_event): Add parameter SIZE.
9809 (kbd_buffer_events_waiting): Slightly rewritten.
9810 (clear_event): New function.
9811 (kbd_buffer_get_event): Use it, and clear the input_events of
9812 HELP_EVENTs.
9813 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9814 don't fill the newly created array with nils.
9815 (toplevel): Convert some old-style function forward declarations
9816 to prototypes.
9817
9818 * keyboard.h (gen_help_event): Change prototype.
9819
9820 * xterm.c (XTread_socket): Change calls to gen_help_event.
9821
9822 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9823
6917e6bb
GM
9824 * eval.c (Fmacroexpand): Doc fix.
9825
e5cd3d11
JR
98262000-08-20 Jason Rumney <jasonr@gnu.org>
9827
9828 * w32term.h (x_display_info_for_display): Remove as this function
9829 does not exist on W32.
9830
9831 * w32term.c (help_echo_window): New variable.
9832 (syms_of_w32term): staticpro it.
9833 (note_mode_line_highlight): Set it.
9834 (XTextExtents16): Removed as there is no equivalent on W32.
9835 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9836 the X way of doing this will not work for W32.
9837 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9838 (x_draw_image_foreground): Avoid drawing outside of the clip area
9839 when image doesn't have a mask.
9840 (note_mouse_highlight): Process overlays in the right order of
9841 priority. Set help_echo_window.
9842 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9843 because that's more visible for large images.
9844
9845 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9846 name to single_keymap_panes.
9847 (w32_menu_show): Set wv->title when dealing with titles.
9848 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9849
6e69ab8c
MB
98502000-08-21 Miles Bader <miles@gnu.org>
9851
9852 * minibuf.c (do_completion): Try again if we rewrite the input
9853 string, but no completion was done, so that any completion message
9854 will be correct.
9855
511bd4eb
GM
98562000-08-20 Gerd Moellmann <gerd@gnu.org>
9857
9858 * xfaces.c (lface_equal_p): Compare strings differently.
9859 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9860 (realize_tty_face): Use them.
9861 (syms_of_xfaces): Initialize new variables.
9862 (map_tty_color): New function, extracted from realize_tty_face.
9863 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9864 foreground or background color, store the new color name in the
9865 realized face; previous code trying to do this had no effect.
9866 (realize_tty_face): Use map_tty_color.
9867 (Fclear_face_cache): Set face_change_count and ensure thorough
9868 redisplay.
9869
1433385f
GM
98702000-08-19 Gerd Moellmann <gerd@gnu.org>
9871
511bd4eb
GM
9872 * undo.c (record_first_change, record_marker_adjustment): Don't
9873 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9874
419ac0a2
KH
98752000-08-18 Kenichi Handa <handa@etl.go.jp>
9876
9877 * coding.c (decode_coding_string): Set members consumed,
9878 consumed_char, produced, produced_char of *coding correctly. If
9879 decode_coding doesn't consume any byte, don't try anymore.
9880 (encode_coding_string): Likewise.
9881
7eb9e30d
GM
98822000-08-18 Gerd Moellmann <gerd@gnu.org>
9883
511bd4eb
GM
9884 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9885 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9886
9887 * xdisp.c (redisplay_internal): Compare windows for equality with
9888 EQ, instead of applying XWINDOW to something that might not
9889 be a window.
52283633 9890
dd34a735
KH
98912000-08-18 Kenichi Handa <handa@etl.go.jp>
9892
9893 * fontset.c (Finternal_char_font): Search only the selected frame
9894 for a window of the current buffer.
9895
385ff9e3
GM
98962000-08-18 Gerd Moellmann <gerd@gnu.org>
9897
511bd4eb 9898 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9899 Lisp_Objects.
9900
385ff9e3
GM
9901 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9902 second half of a HELP_EVENT is found at the start of kbd_buffer.
9903
d6abb4c7
MB
99042000-08-18 Miles Bader <miles@gnu.org>
9905
4618074a
MB
9906 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9907
d6abb4c7
MB
9908 * editfns.c (save_restriction_save): Rewrite to use markers.
9909 (save_restriction_restore): Rewrite to understand new form of data
9910 saved by save_restriction_save.
9911 (Fsave_restriction): Remove cautionary note in doc-string.
9912
a7b28523
GM
99132000-08-17 Gerd Moellmann <gerd@gnu.org>
9914
9915 * fileio.c (build_annotations): Add a comment explaining the
9916 return value of format-annotate-function. Replace a spurious call
9917 to Flength with a CONSP test. Call format-annotate-function with
9918 a fifth arg specifying how many times the function is been called
9919 in a row, to let it choose temporary buffers appropriately.
9920
03c9ed77
DL
99212000-08-17 Dave Love <fx@gnu.org>
9922
9923 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9924 declare make_temp_name twice.
9925
52283633 9926 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9927 (unreadpure): Give it an arg.
9928
9929 * unexalpha.c: Prototype fatal_unexec, mark_x,
9930 update_dynamic_symbols. Declare unexec as void.
9931
9932 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9933 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9934
9935 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9936 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9937
9938 * alloca.c: Use #error.
9939 [POINTER_TYPE]: Use it.
9940
9941 * eval.c (Fdefvar): Doc fix.
9942
9943 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9944 INITIALIZE_INTERVAL.
9945
9946 * buffer.h: Avoid DECLARE_INTERVALS.
9947
9948 * config.in: Add size_t.
9949
aae41d97
EZ
99502000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9951
9952 * w16select.c (set_clipboard_data): If there's not enough memory
9953 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9954 expects. In case of other failures, return 3.
9955 (system_error_msg): New error message.
9956 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9957 system_error_msg.
9958
65aa5e85
GM
99592000-08-16 Gerd Moellmann <gerd@gnu.org>
9960
9961 * term.c (write_glyphs): Also turn off inverse video after turning
9962 off other appearances in case TS_exit_attribute_mode is not equal
9963 to TS_end_standout_mode.
9964 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9965 with the same face.
9966 (turn_off_face): Reset standout_mode only if
9967 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9968 is equal to TS_end_standout_mode.
9969
ece23901
KH
99702000-08-16 Kenichi Handa <handa@etl.go.jp>
9971
9d7bcb2e
KH
9972 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9973 sequence at the end of the source block.
9974
ece23901
KH
9975 * ccl.c (Fccl_program_p): Docstring modified.
9976 (Fccl_execute): Likewise.
9977 (Fccl_execute_on_string): Likewise.
9978
5e30eaa2
EZ
99792000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9980
9981 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9982
290602fd
KH
99832000-08-16 Kenichi Handa <handa@etl.go.jp>
9984
9985 The following changes are mainly to fix bugs of
9986 encode/decode-coding-string failing if encoding/decoding return
9987 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9988 variable conversion_buffer.
9989
9990 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9991 decrement dst_end to avoid buffer overflow in the later call of
9992 string_as_multibyte
9993
9994 * coding.h (conversion_buffer_size, conversion_buffer)
9995 (get_conversion_buffer): Extern deleted.
9996
9997 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9998 (conversion_buffer, conversion_buffer_size): Variables deleted.
9999 (get_conversion_buffer): Function deleted.
10000 (struct conversion_buffer): New structure.
10001 (MAX_ALLOCA): New macro.
10002 (allocate_conversion_buffer): New macro.
10003 (extend_conversion_buffer, free_conversion_buffer): New functions.
10004 (ccl_coding_driver): Set coding->result.
10005 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
10006 this is the last block of source.
10007 (encode_coding): Likewise. Handle the source block as the last
10008 one only when the whole source text is consumed.
10009 (decode_coding_string): Handle the case that the output buffer is
10010 too small to decode the whole source text. Use
10011 allocate_conversion_buffer, extend_conversion_buffer and
10012 free_conversion_buffer, not get_conversion_buffer.
10013 (encode_coding_string): Likewise.
10014 (init_coding): Function deleted.
52283633 10015 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
10016
10017 * emacs.c (main): Don't call init_coding.
10018
52283633 10019 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
10020
10021 * term.c (write_glyphs): Use a locally declared conversion_buffer.
10022 (insert_glyphs): Likewise.
10023
10024 * w32console.c (write_glyphs): Use a locally declared
10025 conversion_buffer.
10026
b9f80d41
EZ
100272000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
10028
10029 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
10030 member of display_info is NULL.
10031
32dc52f7
GM
100322000-08-15 Gerd Moellmann <gerd@gnu.org>
10033
52283633 10034 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 10035
32dc52f7 10036 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 10037 appearances with capability `me'.
32dc52f7
GM
10038 (write_glyphs): Switch on inverse video before each face change.
10039
4eb22d33
DL
100402000-08-14 Dave Love <fx@gnu.org>
10041
10042 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10043 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10044 (lisp_free): Declare and make static.
10045
10046 * window.c: Fix embedded comment.
10047 (syms_of_window): Fix doc string.
10048
90cbf47e
GM
100492000-08-14 Gerd Moellmann <gerd@gnu.org>
10050
52283633 10051 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
10052 make sure to print `C-' before `M-', like in the manual.
10053
440fc135
GM
100542000-08-11 Gerd Moellmann <gerd@gnu.org>
10055
10056 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10057 since they aren't relocated anymore.
52283633 10058 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
10059
10060 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 10061 partially visible line which is smaller than the window's height.
440fc135 10062
6e264fad
KH
100632000-08-11 Kenichi Handa <handa@etl.go.jp>
10064
10065 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 10066 the multibyte form of eight-bit-control characters.
6e264fad
KH
10067 (Fccl_execute_on_string): Initialize ccl->multibyte.
10068
10069 * ccl.h (struct ccl_program): New member multibyte.
10070
10071 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10072
c371f69a
KH
100732000-08-11 Kenichi Handa <handa@etl.go.jp>
10074
10075 * regex.c (regex_compile) <normal_char>: Pay attention to
10076 multibyteness.
10077 (analyse_first) <exactn>: Setup fastmap correctly for
10078 eight-bit-control characters.
10079
100802000-08-11 Kenichi Handa <handa@etl.go.jp>
10081
52283633 10082 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
10083
10084 * keyboard.c (make_lispy_event): Handle the new event type
10085 multibyte_char_keystroke.
10086
10087 * xterm.c: Include coding.h.
10088 (XTread_socket): Work around a bug of XmbLookupString. If the
10089 input is from XIM, decode it according to the current locale. In
10090 that case, generate multibyte_char_keystroke events.
10091
b8ddbe71
KH
100922000-08-11 Kenichi Handa <handa@etl.go.jp>
10093
10094 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10095 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10096
47589c8c
GM
100972000-08-10 Gerd Moellmann <gerd@gnu.org>
10098
10099 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10100 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10101 (move_it_in_display_line_to): Record iterator's ascent and descent
10102 before producing glyphs, and restore them when we know the glyph
10103 doesn't fit on the line.
10104 (move_it_to): Restructured so that it's easier to debug. If
10105 moving to a vpos, and not moving to an x or character position,
10106 stop as soon as the specified vpos is reached; don't move further
10107 into that line because that might change the computed line height.
10108 (try_cursor_movement): New function, extracted from the cursor
10109 movement branch of redisplay_window. If ending on a partially
10110 visible line, don't try to scroll if the cursor line is taller
10111 than the window.
10112 (redisplay_window): Use try_cursor_movement.
10113
10114 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10115 because that function doesn't cope with variable-height lines.
10116
10117 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10118 box cursor because that's better visible for large images.
52283633 10119
c51bacd6
MB
101202000-08-10 Miles Bader <miles@gnu.org>
10121
10122 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10123
bea56df7
GM
101242000-08-10 Gerd Moellmann <gerd@gnu.org>
10125
10126 * xdisp.c (Vmessages_buffer_name): New variable.
10127 (message_dolog): Use it.
10128 (syms_of_xdisp): Initialize it.
10129
99cd7364
EZ
101302000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10131
52283633 10132 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
10133 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10134 redundant now that keyboard.h is included.
10135
7d093d56
EZ
101362000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10137
10138 * keyboard.c (kbd_buffer_events_waiting): New function.
10139
10140 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10141
10142 * msdos.c: Include keyboard.h.
10143 (XMenuActivate): Empty no_event events from the event buffer. If
10144 no events are left after that, call clear_input_pending.
10145 (mouse_clear_clicks): New function, code moved from mouse_init.
10146 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10147 mouse driver to ``forget'' any past clicks.
10148
10149 * Makefile.in (msdos.o): Depend on keyboard.h.
10150
41e757a6
GM
101512000-08-09 Gerd Moellmann <gerd@gnu.org>
10152
8e7bd231
GM
10153 * lisp.h (input_pending): External declaration.
10154
10155 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 10156
8e7bd231
GM
10157 * xdisp.c (echo_area_display): Display thoroughly if input is
10158 pending. Bind redisplay-dont-pause to t during the redisplay.
10159 in case input is pending.
10160
10161 * dispnew.c (Qredisplay_dont_pause): New variable.
10162 (syms_of_display): Initialize and staticpro it.
10163 (update_frame_1): Don't interrupt the display for pending input if
10164 redisplay_dont_pause is set.
52283633 10165
43028b7e
GM
10166 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10167
41e757a6
GM
10168 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10169
2f2174fa
KH
101702000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10171
10172 * callproc.c (Fcall_process): Terminate the unwind-protect around
10173 the post-read-conversion of coding system.
10174
0a6fd67e
MB
10175 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10176 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10177 * buffer.h (overlays_at): Update prototype.
10178 * xdisp.c (next_overlay_change): Update call to overlays_at.
10179 * xfaces.c (face_at_buffer_position): Likewise.
10180 * textprop.c (Fget_char_property): Likewise.
10181 * xterm.c (note_mouse_highlight): Likewise.
10182
0c80756e
MB
10183 * minibuf.c (do_completion): Don't consider a simple change of
10184 case as `completion'.
10185
975f250a
KR
101862000-08-08 Ken Raeburn <raeburn@gnu.org>
10187
52283633 10188 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
10189 * undo.c (record_delete): Make sure last_point_position_buffer is
10190 a buffer before comparing pointers.
10191
10192 * coding.h (decode_coding_string): Declare.
10193
10194 * intervals.h (Fprevious_single_char_property_change): Declare.
10195
10196 * textprop.c (Fprevious_single_char_property_change): Don't do
10197 arithmetic directly on lisp objects.
10198
52283633 10199 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
10200
10201 * keyboard.h (menu_item_eval_property): Declare.
10202
10203 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10204 reuse as buffer name, instead of recreating (and discarding) every
10205 time a message is logged.
10206 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
10207 (current_message_1, truncate_message_1, set_message_1)
10208 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10209 (current_message, truncate_echo_area, display_echo_area)
10210 (resize_echo_area_axactly): Changed calls.
b347b3fd 10211
975f250a 10212 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 10213 Lisp object.
975f250a 10214 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 10215 must be an integer, not a Lisp object.
975f250a 10216
46dc9912
KH
102172000-08-08 Kenichi Handa <handa@etl.go.jp>
10218
10219 * charset.c (Fchar_width): Doc fix.
10220
9f6d1a6c
GM
102212000-08-08 Gerd Moellmann <gerd@gnu.org>
10222
10223 * charset.c (Fstring_width): Doc fix.
10224
ff3d9573
GM
102252000-08-07 Gerd Moellmann <gerd@gnu.org>
10226
41e757a6 10227 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
10228 line, clear ascent and descent members of the iterator structure;
10229 the height of the continued line does not affect the height of the
10230 continuation line.
10231 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10232 line taller than the window.
10233 (redisplay_window) <forced window start>: Handle case that the
10234 middle of the window is not found in any row.
10235 (dump_glyph_row): Show more information.
10236 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10237 first text line in a glyph matrix.
10238
10239 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10240 of the clip area when image doesn't have a mask.
10241
70fc58b3
GM
10242 * fns.c (sweep_weak_table): Fix survival conditions for
10243 key-or-value and key-and-value weakness.
10244
10245 * .gdbinit (xhashtable): New command.
10246
ac0e96ee
GM
10247 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10248 tables out of the list of all weak hash tables.
10249
ff3d9573
GM
10250 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10251 a new buffer is created, make sure echo_area_buffer[] references
10252 the new buffer.
10253
e0d8827b
EZ
102542000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10255
10256 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10257 the doc string.
10258
c6f35378
KH
102592000-08-07 Kenichi Handa <handa@etl.go.jp>
10260
10261 * syntax.c (skip_chars): Fix previous change. Make the handling
10262 of unibyte string consistent with that of regex search.
10263
1fd4c450
GM
102642000-08-05 Gerd Moellmann <gerd@gnu.org>
10265
e49aa397
GM
10266 * xmenu.c (popup_get_selection): Use xfree instead of free.
10267
10268 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10269
10270 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10271
10272 * callproc.c (child_setup): Use xfree instead of free.
10273
10274 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10275 instead of malloc.
10276 (run_mac_command, closedir): Use `xfree' instead of `free'.
10277
10278 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10279
10280 * eval.c (error): Use xfree instead of free.
10281
1fd4c450
GM
10282 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10283
10284 * fns.c: Replace `illegal' with `invalid'.
e49aa397 10285 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 10286
82d497fc
KH
102872000-08-05 Kenichi Handa <handa@etl.go.jp>
10288
10289 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10290 conversion.
10291
59f953a2
NF
102922000-08-04 Noah Friedman <friedman@splode.com>
10293
10294 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10295 docstring.
10296
688351f2
GM
102972000-08-04 Gerd Moellmann <gerd@gnu.org>
10298
10299 * syntax.c (skip_chars): Fix typo in error message.
10300
2dad51cc
AS
103012000-08-04 Andreas Schwab <schwab@suse.de>
10302
10303 * m/ia64.h: Moved from s/ia64.h.
10304
99bb2c60
KH
103052000-08-04 Kenichi Handa <handa@etl.go.jp>
10306
082a1df2
KH
10307 * process.c (read_process_output): Big simplification. Handle
10308 composition and post-read-conversion of coding system correctly.
10309 (send_process): Handle composition correctly.
10310
10311 * callproc.c (Fcall_process): Handle post-read-conversion of
10312 coding system if any.
10313
99bb2c60
KH
10314 * coding.c (decode_coding_iso2022): More strict check for handling
10315 single shifting.
082a1df2
KH
10316 (coding_restore_composition): Pay attention to the case that
10317 cmp_data is not set properly (because of invalid code in the
10318 source text).
10319 (run_pre_post_conversion_on_str): Include text properties in the
10320 resulting string.
10321 (decode_coding_string): Set members of coding correctly.
99bb2c60 10322
f4988be7
GM
103232000-08-03 Gerd Moellmann <gerd@gnu.org>
10324
10325 * s/ia64.h: New file.
10326
10327 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10328 Use NULL instead of 0 at the end of variable argument list of
10329 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10330 sizeof (int) < sizeof (void *).
10331
10332 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10333 of variable argument lists of XtVaGetValues and XtVaSetValues.
10334
10335 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10336 variable argument lists of XtVaGetValues and XtVaSetValues.
10337
ead53494
GM
103382000-08-02 Gerd Moellmann <gerd@gnu.org>
10339
10340 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10341 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10342
10343 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10344 prototype.
10345
10346 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10347 in call to Fsingle_key_description.
10348
10349 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10350 Callers changed.
10351
103522000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10353
10354 * window.c (display_buffer_reuse_frames): New variable.
10355 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10356 frames displaying BUFFER.
52283633 10357 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 10358
10b0f752
MB
103592000-08-01 Miles Bader <miles@gnu.org>
10360
10361 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10362 when to constrain NEW_POS (they were pretty screwed up before).
10363
16425c4a
EZ
103642000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10365
10366 * msdos.c (run_msdos_command): Save and restore the master
10367 environment, for the case that child_setup signals an error.
10368 When mirroring slashes in DOS shell commands, don't fail when
10369 argv[2] has embedded blanks.
da288c14
EZ
10370 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10371 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10372 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
10373
10374 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10375 using alloca; free it after run_msdos_command returns.
10376
27f73852
DL
103772000-07-27 Dave Love <fx@gnu.org>
10378
52283633
SM
10379 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10380 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
10381
10382 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10383
c0261b5e
EZ
103842000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10385
10386 * editfns.c (lisp_time_argument): Fix last change.
10387
b548072f
GM
103882000-07-27 Gerd Moellmann <gerd@gnu.org>
10389
3ab82477
GM
10390 * fns.c (Fdelete): Make it work on vectors and strings in addition
10391 to lists.
10392
b548072f
GM
10393 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10394 (syms_of_fns): Initialize new variables.
52283633 10395 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
10396 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10397 weakness, with t meaning the same as `key-and-value'.
10398
91ae8751
KH
103992000-07-27 Kenichi Handa <handa@etl.go.jp>
10400
10401 * coding.h (struct coding_system): Member safe_charset deleted.
10402
10403 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
10404 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10405 New variables.
91ae8751
KH
10406 (coding_safe_chars): New function.
10407 (CODING_SAFE_CHAR_P): New macro.
10408 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 10409 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
10410 (detect_coding_iso2022): New local variable safe_chars.
10411 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10412 safe_charsets member of the coding system.
10413 (decode_coding_iso2022): New local variable safe_chars.
10414 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10415 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10416 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10417 (ENCODE_UNSAFE_CHARACTER): New macro.
10418 (encode_coding_iso2022): New local variable safe_chars. Check
10419 unsafe chars.
10420 (setup_coding_system): Delete the code to initialize
10421 coding->safe_charses
10422 (intersection, find_safe_codings): New functions.
10423 (Ffind_coding_systems_region_internal): New function.
10424 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10425 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10426 variable and initialize it.
10427
10428 * fns.c (char_table_ref_and_index): New function.
10429
10430 * lisp.h (char_table_ref_and_index): Add prototype.
10431
34a7a267
SS
104322000-07-26 Sam Steingold <sds@gnu.org>
10433
10434 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 10435 (Ffloat_time): New built-in Lisp function.
34a7a267 10436
a95cb10a
GM
104372000-07-26 Gerd Moellmann <gerd@gnu.org>
10438
3353ef5a
GM
10439 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10440 for the character code.
10441
10442 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10443 GNU/Linux.
10444
a95cb10a
GM
10445 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10446 if called for a popup menu.
10447 (xmenu_show): Store help string in widget values.
10448
b4a12321
DL
104492000-07-26 Dave Love <fx@gnu.org>
10450
10451 * syswait.h: Move some definitions.
10452 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10453 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10454 perspicuous definitions.
10455 (WTERMSIG): Fix bit pattern used.
10456
13f5ad37
KH
104572000-07-26 Kenichi Handa <handa@etl.go.jp>
10458
10459 * print.c (print_object): If vector printing is truncated, print
10460 "..." to indicate it as well as the case of list printing.
10461
070fe99c
GM
104622000-07-25 Gerd Moellmann <gerd@gnu.org>
10463
969065c3
GM
10464 * xdisp.c (next_element_from_display_vector): Improve comments.
10465
10466 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10467 for the character code, and the rest for the face id as in 20.x.
10468 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10469
10470 * window.c (window_display_table): Cleaned up.
10471
070fe99c
GM
10472 * syntax.c (Fforward_word): Add last arg nil in call of
10473 Fconstrain_to_field.
10474
bad77ef7
EZ
104752000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10476
969065c3 10477 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
10478 identical but for the letter-case, don't call
10479 barf_or_query_if_file_exists.
bad77ef7 10480
c28da489
MB
104812000-07-25 Miles Bader <miles@gnu.org>
10482
10483 * editfns.c (find_field): Honor special `boundary' fields.
10484 (Qboundary): New variables.
10485 (syms_of_editfns): Initialize Qboundary.
10486 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10487 Use scan_buffer instead of find_before_next_newline, because it
10488 allows us to detect the boundary case where there's a newline at
10489 the search limit.
10490 * lisp.h (Fconstrain_to_field): Update external declaration.
10491
e3c31fd5
GM
104922000-07-24 Gerd Moellmann <gerd@gnu.org>
10493
10494 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10495 if that is nil.
c28da489 10496
c66c29a2
DL
104972000-07-24 Dave Love <fx@gnu.org>
10498
10499 * s/sunos4-0.h, s/sol2.h:
10500 (LIBS_TERMCAP): Move from m/sparc.h.
10501
10502 * m/sparc.h (TERMINFO): Moved to system files (probably only
10503 relevant for sunos4 judging by its vintage).
10504 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10505 __arch64__.
10506
fbe0a958
EZ
105072000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10508
10509 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10510 name to single_keymap_panes.
10511
7d88e5c9
AS
105122000-07-24 Andreas Schwab <schwab@suse.de>
10513
10514 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10515
e024b101
GM
105162000-07-24 Gerd Moellmann <gerd@gnu.org>
10517
10518 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10519 parameters instead of using int parameters. Expect FN to accept
10520 EMACS_INT parameters.
10521 (display_echo_area, resize_echo_area_axactly, current_message)
10522 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10523 with new argument list.
10524 (resize_mini_window_1): New callback function.
10525 (current_message_1, truncate_message_1, set_message_1): Change
52283633 10526 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 10527
25c1a9ce
KH
105282000-07-24 Kenichi Handa <handa@etl.go.jp>
10529
10530 * fontset.c (fontset_ref): Remove INLINE declaration.
10531 (fontset_ref_via_base): Likewise.
10532 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10533 to downcase.
10534
7f987ac0
EZ
105352000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10536
10537 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10538 correct order of priority. If help echo was found in an overlay,
10539 use that overlay as the object in which the help echo was found.
10540
e2db3069
MB
105412000-07-22 Miles Bader <miles@gnu.org>
10542
10543 * textprop.c (Fprevious_single_char_property_change): The initial
10544 property value should be from the position preceding POSITION, not
10545 following it.
10546
5e3203e4
EZ
105472000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10548
10549 * coding.c (syms_of_coding): Doc fix for
10550 inhibit-iso-escape-detection.
10551
62145073
GM
105522000-07-21 Gerd Moellmann <gerd@gnu.org>
10553
c20aeb83
GM
10554 * xterm.c (note_mouse_highlight): Process overlays in the right
10555 order of priority.
34a7a267 10556
743934db
GM
10557 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10558
10559 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 10560 overlay, use that overlay as the object in which the help was found.
743934db 10561
d1dc7e43 10562 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 10563
62145073
GM
10564 * window.c (foreach_window): Instead of a fake variable argument
10565 list, take one USER_DATA argument.
10566 (foreach_window_1): Likewise, and call callback functions with two
10567 args, the window and USER_DATA.
10568 (struct check_window_data): New struct.
10569 (check_window_containing): Use it.
10570 (window_from_coordinates): Set up a struct check_window_data for
10571 foreach_window.
10572 (add_window_to_list, freeze_window_start): Change parameters
10573 according to new calling convention.
10574
10575 * window.h (foreach_window): Change prototype.
10576
10577 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10578
105792000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10580
10581 * xmenu.c (menu_help_callback): Call show_help_echo with
10582 additional arguments OBJECT and POS.
10583
11270583
KH
105842000-07-21 Kenichi Handa <handa@etl.go.jp>
10585
07b14857
KH
10586 * data.c (Faset): Allow storing any multibyte character in a
10587 string. Convert unibyte string to multibyte if necessary.
10588
11270583
KH
10589 * xfns.c (x_encode_text): New function.
10590 (x_set_name): Use x_encode_text.
10591 (x_set_title): Likewise.
10592
10593 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10594
10595 * xterm.h (x_encode_text): Add prototype.
10596
bc75b4fd
DL
105972000-07-20 Dave Love <fx@gnu.org>
10598
10599 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10600 xfree, not free.
10601
48c14970
EZ
106022000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10603
10604 * msdos.c (help_echo_window): New variable.
10605 (syms_of_msdos): Initialize and staticpro it.
10606 (IT_note_mode_line_highlight): Set help_echo_window.
10607 (IT_note_mouse_highlight): Ditto.
10608 (dos_rawgetc): Store help_echo_window in the second event produced
10609 for HELP_EVENTs.
10610
10611 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10612 Record the object that generated the help echo and the position of
10613 that object in help_echo_object and help_echo_pos. Record that
10614 some glyphs in a row are displayed in mouse-face.
10615 (IT_update_begin): Don't clear mouse highlight unless one of the
10616 enabled glyph rows is marked as being displayed in mouse-face.
10617 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10618 and position recorded in help_echo_object and help_echo_pos to the
10619 event queue.
10620 (IT_menu_display): Accept a new argument PN: the pane number of
10621 the current menu pane. Record the pane number and the item
10622 number of the item which has associated help string.
10623 (XMenuActivate): Update the prototype for help_callback in
10624 function declaration. Call IT_menu_display with the current menu
10625 pane number as an additional argument. Call help_callback with
10626 two additional arguments: the pane number and the item number of
10627 the menu item associated with the help text.
10628 (help_echo_object, help_echo_pos): New variables.
10629 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10630
10631 * msdos.h (XMenuActivate): Update prototype.
10632
4279296d
GM
106332000-07-19 Gerd Moellmann <gerd@gnu.org>
10634
47db06aa
GM
10635 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10636 Add some more prototypes.
10637
10638 * xterm.c, xterm.h: Add some more prototypes.
10639
10640 * lisp.h (Fnext_single_char_property_change): Add prototype.
10641
10642 * dispnew.c (direct_output_for_insert): Remove confusing
10643 outer local variable mouse_face_overwritten_p.
10644 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10645
4279296d
GM
10646 * alloc.c (allocate_string_data): Don't copy old string contents.
10647
670acd62
KH
106482000-07-19 Kenichi Handa <handa@etl.go.jp>
10649
10650 * coding.c (code_convert_region): Delete text properties before
10651 shrinking the conversion region.
10652
7cea38bc
GM
106532000-07-18 Gerd Moellmann <gerd@gnu.org>
10654
dc1cac59
GM
10655 * dispnew.c (update_text_area): Write the whole row if it
10656 has mouse-face in it.
10657
85a8aca9
GM
10658 * xfaces.c (face-alternative-font-family-alist): Remove
10659 DEFVAR_LISP; staticpro instead.
10660
34a7a267 10661 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
10662 new arguments.
10663
10664 * keyboard.c (show_help_echo): Add parameter WINDOW.
10665 (read_char): Call show_help_echo with window extracted from Lisp
10666 help event.
10667 (gen_help_event): Add parameter WINDOW.
10668
10669 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10670
10671 * xterm.c (help_echo_window): New variable.
52283633 10672 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
10673 (XTread_socket): Pass help_echo_window to gen_help_event.
10674 (syms_of_xterm): Initialize and staticpro help_echo_window.
10675
f8276b77
DL
106762000-07-18 Dave Love <fx@gnu.org>
10677
52283633 10678 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 10679
088831a6
GM
106802000-07-18 Gerd Moellmann <gerd@gnu.org>
10681
3d6cd763
GM
10682 * alloc.c (allocate_string_data): If string had already data
10683 assigned, copy old contents to new string data.
10684
10685 * coding.c (syms_of_coding): Fix typo in spelling of variable
10686 `inhibit-iso-escape-detection'.
10687
088831a6
GM
10688 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10689
10690 * Makefile.in: Add dependencies on dispextern.h.
10691 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10692 `free'; both can conflict with system header files.
10693
bc8a8d55
KH
106942000-07-18 Kenichi Handa <handa@etl.go.jp>
10695
10696 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10697 undefined.
10698
069f5950
DL
106992000-07-18 Dave Love <fx@gnu.org>
10700
10701 * window.c (Fwindow_list): Declare arg `window'.
10702
aa96c820
KH
107032000-07-18 Kenichi Handa <handa@etl.go.jp>
10704
10705 * coding.c (setup_coding_system): Don't override the explicitly
10706 specified designations.
10707
06be8d32
MB
107082000-07-15 Miles Bader <miles@gnu.org>
10709
10710 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10711 from `text_property_eq' and `text_property_stickiness', respectively.
10712 (find_field, Fconstrain_to_field, char_property_eq)
10713 (char_property_stickiness): Changed to call char-property functions
10714 instead of text-property-only ones.
10715
10716 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10717 `next_single_char_property_change'). Do more error checking, and
10718 cleanup limit behavior.
10719 (Fprevious_single_char_property_change): New function.
10720 (syms_of_textprop): Initialize new subrs.
10721
10722 * xdisp.c (display_prop_end, invisible_text_between_p):
10723 Call Fnext_single_char_property_change instead of
10724 next_single_char_property_change.
10725
3fddcdc3
JR
107262000-07-15 Jason Rumney <jasonr@gnu.org>
10727
10728 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10729 after menu is finished with.
10730 (add_menu_item): Only consider wv->title as a menu title.
10731 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10732
10733 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10734 null title.
10735 (FONT_REGEXP): Remove unused macro, and its sub-components.
10736 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10737
10738 * w32term.c (help_echo_object, help_echo_pos): New variables.
10739 (note_mode_line_highlight): Store additional information about the
10740 help-echo in help_echo_object and help_echo_pos. Check both
10741 `local-map' and `keymap' properties for changing the cursor
10742 (note_mouse_highlight): Store additional information about the
10743 help-echo in help_echo_object and help_echo_pos.
10744 (note_tool_bar_highlight): Set help_echo_object to nil and
10745 help_echo_pos to -1.
10746 (w32_read_socket): Use gen_help_event instead of filling
10747 input_events manually.
10748 (syms_of_w32term): Staticpro help_echo_object.
10749 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 10750 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
10751 (x_clear_mouse_face): New function.
10752 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10753 (x_update_window_begin): No need to turn off the mouse
10754 highlight here.
10755 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10756 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
10757 (x_fill_stretch_glyph_string): Consume runs of stretch
10758 glyphs instead of a single one.
10759 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10760 with new argument list.
10761 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10762 (x_append_glyph, x_append_composite_glyph)
10763 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10764 changes in struct glyph starting 1999-12-27. See comments for
10765 xterm.c on 2000-07-05.
10766
178c5d9c
SS
107672000-07-14 Sam Steingold <sds@gnu.org>
10768
10769 * xfaces.c (realize_x_face): Fix the last patch:
10770 check `default_face' before dereferencing.
10771
6fe533f6
DL
107722000-07-14 Dave Love <fx@gnu.org>
10773
069f5950 10774 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 10775
dd7b81cf
KH
107762000-07-14 Kenichi Handa <handa@etl.go.jp>
10777
0693904a 10778 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 10779 default_face's fontset, not using the default fontset.
0693904a 10780
dd7b81cf
KH
10781 * coding.c (inhibit_iso_escape_detection): New variable.
10782 (syms_of_coding): Make it a Lisp variable.
10783 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10784 nonzero, ignore ISO2022's escape sequence.
10785
d5aa31d8
GM
107862000-07-14 Gerd Moellmann <gerd@gnu.org>
10787
e5acf0ca
GM
10788 * alloca.c (malloc) [emacs]: Define as xmalloc.
10789
bd23a692
GM
10790 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10791 use that instead of the mouse position. Add parameters DX and DY.
10792
10793 * dispextern.h (Fx_show_tip): Adjust number of parameters
10794 in prototype.
10795
9662da0b
GM
10796 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10797 if HELP is a function, call it with OBJECT and POS as parameters
10798 to get the help to display.
10799 (gen_help_event, kbd_buffer_store_help_event): New functions.
10800 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10801 (read_char): Call show_help_echo with new parameters.
10802
178c5d9c 10803 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10804 Add prototypes.
10805
10806 * xterm.c (help_echo_object, help_echo_pos): New variables.
10807 (note_mode_line_highlight): Store additional information about the
10808 help-echo in help_echo_object and help_echo_pos. Check both
10809 `local-map' and `keymap' properties for changing the cursor
10810 (note_mouse_highlight): Store additional information about the
10811 help-echo in help_echo_object and help_echo_pos.
10812 (note_tool_bar_highlight): Set help_echo_object to nil and
10813 help_echo_pos to -1.
10814 (XTread_socket): Use gen_help_event instead of filling
10815 input_events manually.
10816 (syms_of_xterm): Staticpro help_echo_object.
10817
10818 * xmenu.c (menu_highlight_callback): Use
10819 kbd_buffer_store_help_event instead of setting up and input_event
10820 structure manually.
10821
10822 * xdisp.c (eval_form): GCPRO argument sexpr.
10823 (call_function): New function.
10824 (handle_single_display_prop): Use call_function and FUNCTIONP
10825 instead of checking whether if font_height is a symbol and
10826 using eval_form.
10827
10828 * eval.c (internal_condition_case_2): New function.
10829
10830 * lisp.h (FUNCTIONP): New macro.
10831 (internal_condition_case_2, call_function): Add prototypes.
10832
d5aa31d8
GM
10833 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10834 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10835 Always set `arg' member of input_events.
10836 (construct_menu_click): Unused function removed.
10837
10838 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10839
10840 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10841 (construct_drag_n_drop, x_scroll_bar_handle_click)
10842 (w32_read_socket): Always set `arg' member of input_events.
10843
10844 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10845
10846 * lisp.h (eval_form): Add prototype.
10847
10848 * xdisp.c (eval_form): Make it externally visible.
10849
0f1a9b23
GM
108502000-07-13 Gerd Moellmann <gerd@gnu.org>
10851
10852 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10853 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10854 consing. For prefix events, store the frame in the `arg' slot of
10855 the event, otherwise store the key there.
10856 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10857 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10858
10859 * xmenu.c (menu_highlight_callback): Store help string in the
10860 `arg' member of the input event; don't cons.
10861 (menubar_selection_callback): Use the `arg' slot of input events
10862 to queue additional information, instead of consing.
10863
10864 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10865
10866 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10867 TOOL_BAR_EVENTs.
10868 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10869
10870 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10871 input events to queue additional information, instead of consing.
10872
10873 * keyboard.c (kbd_buffer_gcpro): Renamed from
10874 kbd_buffer_frame_or_window. Now used for all Lisp objects
10875 referenced from the input queue.
10876 (kbd_buffer_store_event): Always use structure assignment for
10877 copying input events. Record all Lisp objects referenced from
10878 events in kbd_buffer_gcpro.
10879 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10880 differently from input events. Test for prefix menu_bar_events
10881 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10882 event in kbd_buffer_gcpro to nil.
10883 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10884 frame_or_window is equal to its arg member as prefix events.
10885 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10886 used by an input event to nil.
10887 (init_keyboard): Use two times the size of the input queue
10888 for kbd_buffer_gcpro.
10889 (syms_of_keyboard): Likewise.
10890
52283633
SM
10891 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10892 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10893
10894 * termhooks.h (struct input_event): Add member `arg'.
10895 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10896 (USER_SIGNAL_EVENT): Renamed from user_signal.
10897
10898 * xfaces.c (ASET): Remove definition.
10899
10900 * lisp.h (AREF, ASET, ASIZE): New macros.
10901
10902 * fontset.c (AREF, ASIZE): Remove definitions.
10903
10904 * fns.c (AREF): Remove definition.
178c5d9c 10905
0f1a9b23
GM
10906 * composite.c (AREF): Remove definition.
10907
712eaef2
GM
109082000-07-12 Gerd Moellmann <gerd@gnu.org>
10909
d8ee7803
GM
10910 * dispnew.c (redraw_overlapped_rows): Add missing local.
10911 (scrolling_window): Remove debug code.
10912
712eaef2
GM
10913 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10914 Before scrolling, turn off a mouse-highlight in the window
10915 being scrolled.
10916
10917 * xterm.c (x_update_window_end): Add parameter
10918 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10919 redisplay in XTframe_up_to_date.
10920 (x_clear_mouse_face): New function.
10921 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10922
10923 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10924 current glyph row.
10925 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10926 it when any row is written to that contains glyphs highlighted in
10927 mouse-face.
10928 (update_window): Call the window update end hook with new
10929 parameter MOUSE_FACE_OVERWRITTEN_P.
10930 (direct_output_for_insert): Give up if row contains mouse-face.
10931
10932 * dispextern.h (struct redisplay_interface): Add parameter
10933 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10934 (clear_mouse_face): New function pointer member.
10935
02010917
SM
109362000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10937
10938 * syntax.c (back_comment): Use one switch rather than a few `if's.
10939 Obey open_paren_in_column_0_is_defun_start.
10940 When reverting to the `slow' method, try to nicely handle the case
10941 of nested comments by checking that the comment-starter we found
10942 does indeed match the comment-ender.
10943 (scan_sexps_forward, scan_sexps_forward):
10944 Ignore excessive opening parenthesis rather than throwing an error.
10945
d76c03ea
GM
109462000-07-11 Gerd Moellmann <gerd@gnu.org>
10947
10948 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10949 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10950
10951 * dispnew.c (direct_output_forward_char): Give up if currently
10952 displaying a message instead of the minibuffer contents.
10953
10954 * xterm.c (x_update_window_begin): No need to turn off the mouse
10955 highlight here.
10956 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10957 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10958
10959 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10960 compare the mouse_face_p flags of both rows.
10961
10962 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10963
d55ead18
EZ
109642000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10965
10966 * keyboard.c (show_help_echo): Accept additional parameter
10967 ok_to_overwrite_keystroke_echo.
10968 (read_char): Call show_help_echo with a zero
10969 ok_to_overwrite_keystroke_echo argument.
52283633 10970 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10971 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10972 ok_to_overwrite_keystroke_echo argument.
10973 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10974 non-zero ok_to_overwrite_keystroke_echo argument.
10975
df75b1a3
GM
109762000-07-10 Gerd Moellmann <gerd@gnu.org>
10977
4b92c49a
GM
10978 * xdisp.c (try_window_id): If changes are all below what is
10979 displayed in the window, and point is in the window, we still
10980 might have to find point on the display.
10981
10982 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10983 glyphs instead of a single one.
10984 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10985 with new argument list.
10986 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10987
df75b1a3
GM
10988 * keymap.c (get_keymap_1): Add comment that this function can GC.
10989 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10990 comment that functions can GC.
10991 (Fset_keymap_parent): GCPRO arg KEYMAP.
10992
4314cf3e
EZ
109932000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10994
10995 * msdos.c (XMenuActivate): After exiting the menu, restore the
10996 echo area message and erase it.
10997
ab49ce15
KH
109982000-07-10 Kenichi Handa <handa@etl.go.jp>
10999
11000 * fontset.c (Ffontset_info): Make the return value more compatible
11001 with that of Emacs 20.
11002
090a072f
GM
110032000-07-07 Gerd Moellmann <gerd@gnu.org>
11004
11005 * eval.c (Fsignal): Handle case that backtrace_list is null.
11006
f92de4a6
KH
110072000-07-07 Kenichi Handa <handa@etl.go.jp>
11008
11009 * ccl.c (Fccl_execute): Typo fixed.
11010
dd8888a1
GM
110112000-07-06 Gerd Moellmann <gerd@gnu.org>
11012
e5c81191 11013 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 11014
dd8888a1
GM
11015 * window.c (Fwindow_list): Reverse list at the end.
11016 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
11017 means allow windows on OWINDOW's frame, only.
11018 (window_loop): Simplified; use Fwindow_list.
11019
11020 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
11021
485266d0
GM
110222000-07-05 Gerd Moellmann <gerd@gnu.org>
11023
11024 * xterm.c (XTread_socket): Increment handling_signal at the start,
11025 decrement it at the end.
11026
11027 * eval.c (handling_signal): New variable.
11028 (Fsignal): Abort if handling_signal is non-zero.
11029
11030 * lisp.h (handling_signal): External declaration.
178c5d9c 11031
485266d0
GM
11032 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
11033
80fcd514
KR
110342000-07-05 Ken Raeburn <raeburn@gnu.org>
11035
11036 Sound support for NetBSD through "Linux emulation" support:
11037 * config.in (HAVE_SOUNDCARD_H): Undef.
11038 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11039 * Makefile.in (LIBSOUND): New variable.
11040 (LIBES): Include it.
52283633
SM
11041 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11042 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
11043 (vox_open): Use DEFAULT_SOUND_DEVICE.
11044 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11045
d5c5cddd
GM
110462000-07-05 Gerd Moellmann <gerd@gnu.org>
11047
11048 * print.c (print_error_message): If Vsignaling_function is set,
11049 show it in *Messages*.
11050
11051 * lisp.h (Vsignaling_function): External declaration.
11052
11053 * eval.c (Vsignaling_function): New variable.
11054 (Fsignal): Compute it.
11055 (syms_of_eval): Staticpro it.
11056
65171e3a
DL
110572000-07-05 Dave Love <fx@gnu.org>
11058
11059 * syswait.h: Use the autoconf recommended approach. Old code
11060 #if'd out in case we need to revert.
11061
178c5d9c 11062 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 11063
e2c46326
AI
110642000-07-05 Andrew Innes <andrewi@gnu.org>
11065
11066 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11067 when non-NULL instead of __morecore, to take account of buffer
11068 memory. This also solves a problem with spurious memory warnings
11069 on Windows.
11070
11071 * ralloc.c: Make real_morecore non-static.
11072
11073 * eval.c (internal_condition_case): Comment out abort if
11074 interrupt_input_blocked is not zero.
11075
11076 * makefile.nt: Add support for `bootstrap' and related targets.
11077 Include minimal debug info in emacs.exe in release build.
11078 Remove all dependencies on lisp.h, and fixup some others.
11079
11080 * w32.c (init_environment): Install code from 20.7 for providing
11081 default values for environment variables, based on the
11082 executable's own location.
52283633 11083 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
11084 (sys_socket): Install socket inheritance bug fix from 20.7.
11085
11086 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11087 here via blockinput.h).
11088
a027a91b
SM
110892000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11090
e4b31601
SM
11091 * w32menu.c (w32_menu_display_help):
11092 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
11093
11094 * keyboard.h (show_help_echo): Declare.
11095
11096 * keyboard.c (show_help_echo): New function, extracted from read_char.
11097 Feval its `msg' argument if it's a cons cell.
11098 (read_char): Use it.
4cf8d9d5 11099 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 11100
178c5d9c 11101 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 11102 (note_tool_bar_highlight, XTread_socket):
178c5d9c 11103 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
11104 (dos_rawgetc):
11105 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11106 (note_tool_bar_highlight, w32_read_socket):
11107 Do not gratuitously ignore non-string `help-echo' properties.
11108
88d75730
GM
111092000-07-05 Gerd Moellmann <gerd@gnu.org>
11110
969f7e79
GM
11111 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11112
71201b00
GM
11113 * window.c (delete_all_subwindows): Reset Vwindow_list.
11114
88d75730
GM
11115 * xterm.c (x_append_glyph, x_append_composite_glyph)
11116 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11117 changes in struct glyph starting 1999-12-27. Some bit-fields of
11118 struct glyph were not set, which made glyphs unequal when compared
11119 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11120 effects were the result. This also depended on the contents of
11121 memory returned by xmalloc. If flickering happens again, activate
11122 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 11123 gone with that, chances are that it is caused by something similar.
88d75730
GM
11124
11125 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 11126
88d75730
GM
11127 * dispextern.h: Add some comments.
11128
11129 * window.c (add_window_to_list): Add parameter LIST.
11130 (window_list): Order list so that, for each frame, windows are
11131 in canonical order, and so that frames appear in the list in
11132 the order given by Vframe_list.
11133 (next_window): Reverse the handling of NEXT_P.
11134
53654733
GM
111352000-07-04 Gerd Moellmann <gerd@gnu.org>
11136
87efd256
GM
11137 * window.c (Vwindow_list): New variable.
11138 (make_window, delete_window): Set Vwindow_list to nil.
11139 (check_window_containing): New function.
11140 (window_from_coordinates): Rewritten.
11141 (add_window_to_list, window_list, candidate_window_p)
11142 (decode_next_window_args, next_window): New functions.
52283633 11143 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
11144 (Fwindow_list): New function.
11145 (Fother_window): Cleaned up.
11146 (foreach_window): Add a longer "variable argument list". Let
11147 callback function return 0 to indicate that cycling over windows
11148 should stop.
11149 (foreach_window_1): Likewise.
11150 (freeze_window_start): Return int.
11151 (init_window): New function.
11152 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11153
11154 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11155 input_event with bzero.
11156 (main): Call init_window.
11157
53654733
GM
11158 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11159 a menu filter.
11160
4a8c194f
KH
111612000-07-04 Kenichi Handa <handa@etl.go.jp>
11162
11163 * composite.h (make_composition_value_copy): Extern it.
11164
11165 * composite.c (make_composition_value_copy): New function.
11166
11167 * editfns.c (Fformat): While copying text properties, make each
11168 composition property value a copy.
11169
11170 * fns.c (concat): While copying text properties, make each
11171 composition property value a copy.
11172
831a6cb0
GM
111732000-07-03 Gerd Moellmann <gerd@gnu.org>
11174
2f516940
GM
11175 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11176
178c5d9c 11177 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
11178 marked already.
11179
831a6cb0
GM
11180 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11181 include those frames as candidates which have their focus
11182 redirected to the minibuffer frame.
11183
d9c4f922
SM
111842000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11185
11186 * fns.c (Fputhash): Return `value' rather than nil.
11187
3780bc22
GM
111882000-06-30 Gerd Moellmann <gerd@gnu.org>
11189
97d176db
GM
11190 * frame.c (next_frame): Don't check focus redirection in case
11191 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
11192 unless their focus is redirected, which contradicts the
11193 specification of next-frame, and leads to infinite loops in
11194 certain situations when cycling through windows with next-window.
11195
dca9961d
KH
111962000-06-30 Kenichi Handa <handa@etl.go.jp>
11197
11198 * coding.c (code_convert_region): Even if the length of text is
11199 zero, try to convert it if coding->type is coding_type_ccl.
11200 (decode_coding_string, encode_coding_string): Likewise.
11201
d5483ab1
GM
112022000-06-28 Gerd Moellmann <gerd@gnu.org>
11203
af5c25e1 11204 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 11205 the display if windows_or_buffers_changed.
af5c25e1
GM
11206
11207 * dispnew.c (struct row_entry): New structure.
11208 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11209 (row_table_size, old_lines, new_lines, old_lines_size)
11210 (new_lines_size, run_pool, runs_size, runs): New variables.
11211 (add_row_entry): New function.
11212 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 11213 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
11214 holding them in local variables. Use a larger hash table whose
11215 size depends on glyph matrix sizes. Don't use bzero to clear the
11216 hash table; instead, clear used slots only.
11217
11218 * fns.c (next_almost_prime): Make it externally visible.
11219
11220 * lisp.h (next_almost_prime): Add prototype.
11221
d5483ab1
GM
11222 * s/isc4-0.h (sigunblock): Define.
11223
11224 * s/sco5.h (sigunblock): Define.
11225
93e40f40
DL
112262000-06-27 Dave Love <fx@gnu.org>
11227
11228 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11229 (moved to osf5-0.h).
11230 [!NOT_C_CODE]: Protect string.h stuff.
11231
11232 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11233 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11234
3c4b7685
GM
112352000-06-27 Gerd Moellmann <gerd@gnu.org>
11236
97d176db 11237 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
11238 below the last line from the needed window height.
11239
32cad0aa
SM
112402000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11241
11242 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11243 (Fwidget_get): Use it.
11244 (syms_of_fns): Defsubr it.
11245
2c69ced2
GM
112462000-06-26 Gerd Moellmann <gerd@gnu.org>
11247
178c5d9c 11248 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
11249 display info for XIM.
11250 (xim_open_dpy): Likewise.
11251 (xim_close_dpy): Don't free the display info's XIM.
11252
11253 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11254
11255 * config.in (USE_XIM): New define.
11256
3fc720e4
GM
11257 * keymap.c (get_keyelt): For menu-items containing a `:filter
11258 FILTER', apply FILTER to the menu-item's definition to get the
11259 real definition to use.
11260
11261 * lisp.h (QCfilter): External declaration.
11262
2c69ced2
GM
11263 * xfns.c (Fimage_size): New function.
11264 (syms_of_xfns): Defsubr it.
11265
f978b2a2
AS
112662000-06-26 Andreas Schwab <schwab@suse.de>
11267
11268 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11269 Fstring_as_unibyte.
11270
94cc7892
DL
112712000-06-25 Dave Love <fx@gnu.org>
11272
52283633 11273 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
11274
11275 * Makefile.in (blockinput.h): Depend on atimer.h.
11276 (atimer.h): Depend on systime.h.
11277
52283633 11278 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 11279
52283633 11280 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
11281
11282 * lisp.h (swap_in_global_binding): Declare.
11283
b8c24556
KR
112842000-06-24 Ken Raeburn <raeburn@gnu.org>
11285
11286 * process.c (Fopen_network_stream): Turn off atimers for duration
11287 of call to connect. (Patch from Gerd.)
11288
8cf8560b
DL
112892000-06-23 Dave Love <fx@gnu.org>
11290
511c7541
DL
11291 * ralloc.c: Maybe include unistd.h
11292
8cf8560b
DL
11293 * emacs.c (setgrp): Undefine before defining.
11294 (malloc_warning, set_time_zone_rule, index): Prototype.
11295
11296 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11297 HAVE_STRUCT_TIMEZONE.
11298
11299 * s/osf1.h: Move string.h hack here from alpha.h and make it
11300 conditional.
11301 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11302 _XOPEN_SOURCE.
11303 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11304 (SOCKLEN_TYPE): Don't define.
11305
11306 * m/alpha.h: Remove string.h hack.
11307
11308 * s/osf5-0.h: New file.
11309
11310 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11311 include time.h, done by systime.h.
11312 [__FreeBSD__]: Remove redundant includes.
11313
3fc720e4 11314 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
11315 (delete_temp_file): Return Qnil to avoid warning.
11316
11317 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11318
11319 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11320 HAVE_X_WINDOWS.
11321
11322 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11323
11324 * composite.h (compose_text): Declare.
11325
11326 * xterm.c: Don't include sys/types.h unconditionally. Don't
11327 protect its inclusion with !USG (following xmenu.c).
11328
ea055732
GM
113292000-06-23 Gerd Moellmann <gerd@gnu.org>
11330
11331 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11332 in x_create_frame.
11333
74b01b80
EZ
113342000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11335
11336 * coding.c (decode_eol_post_ccl): Special handling for undecided
11337 and inconsistent EOL types.
11338
64f3a166
GM
113392000-06-22 Gerd Moellmann <gerd@gnu.org>
11340
16cf31f7
GM
11341 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11342 trough color and main window's background color.
11343
52283633 11344 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
11345
11346 * xterm.h (Xt_app_con): External declaration.
11347
11348 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 11349
486a103d
GM
11350 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11351
64f3a166
GM
11352 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11353 (handle_invisible_prop): Record the start of invisible text in
11354 it->add_overlay_start.
11355 (struct overlay_entry): Add member `overlay'.
11356 (handle_overlay_change): Simplify.
11357 (next_overlay_string): After having processed overlay strings at the
11358 end of the buffer, record that fact in
11359 it->overlay_strings_at_end_processed_p.
11360 (compare_overlay_entries): If before- and after-strings come
11361 from the same overlay, let before-strings come first.
11362 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11363 (load_overlay_strings): Take it->add_overlay_start into account
11364 when adding overlay strings.
11365
11366 * dispextern.h (struct it): Add member add_overlay_start.
11367
bb746ea6
DL
113682000-06-22 Dave Love <fx@gnu.org>
11369
11370 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11371
11372 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11373
a8f573f3
KH
113742000-06-22 Kenichi Handa <handa@etl.go.jp>
11375
11376 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11377 is greater than 0.
11378
9f2bbc92
DL
113792000-06-21 Dave Love <fx@gnu.org>
11380
178c5d9c 11381 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 11382
3ee5041c
SM
113832000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11384
11385 * syntax.c (back_comment): Simplify string-parity counting (with
11386 the added benefit of handling multiple string-styles as long as
11387 they are not intertwined).
11388 Jump to the slow code as soon as a comment starter is found in
11389 a "string_lossage" position. Fixes the case: " /* " /* " */.
11390
4c343001
DL
113912000-06-21 Dave Love <fx@gnu.org>
11392
11393 * Makefile.in: Use GETLOADAVG_LIBS.
11394
11395 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11396 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11397
e6365855
SM
113982000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11399
11400 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11401 (Fforward_comment, scan_lists):
11402 Check the comstyle of single-char comment-starters.
11403 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11404 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
11405 Check the comstyle of single-char comment-starters.
11406 Clarify control-flow around the Scomment case.
e6365855 11407
5700d2cc
DL
114082000-06-20 Dave Love <fx@gnu.org>
11409
d355bd8a
SM
11410 * fns.c (make_hash_table, maybe_resize_hash_table):
11411 Cast arg of next_almost_prime.
5700d2cc 11412
178c5d9c 11413 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
11414
11415 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11416 and unistd.h.
11417
4a27bdfb
GM
114182000-06-20 Gerd Moellmann <gerd@gnu.org>
11419
a61d762c 11420 * keyboard.c (adjust_point_for_property): Check if display
52283633 11421 property should be treated as intangible by looking at its value.
a61d762c 11422
178c5d9c 11423 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
11424 (display_prop_intangible_p): New functions.
11425
11426 * dispextern.h (display_prop_intangible_p): Add prototype.
11427
11428 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 11429
4a27bdfb
GM
11430 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11431 argument to sigprocmask.
11432
11433 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11434 argument to sigprocmask.
11435
11436 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11437 sigprocmask_set, and pass a pointer to it to sigprocmask.
11438
11439 * sysdep.c (sigprocmask_set): New variable.
11440
11441 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11442 report_file_error.
11443
427ec082
SS
114442000-06-20 Sam Steingold <sds@gnu.org>
11445
11446 * xrdb.c: Don't declare xmalloc, xrealloc.
11447
8972fe79 114482000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
11449
11450 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11451 (re_comp): Cast gettext return value to avoid complaints when
11452 !HAVE_LIBINTL.
11453
074b6efe
DL
114542000-06-20 Dave Love <fx@gnu.org>
11455
52283633 11456 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 11457
5700d2cc 11458 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 11459
d355bd8a 11460 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
11461
11462 * m/alpha.h: Don't declare xmalloc, xrealloc.
11463
0af4f205
DL
11464 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11465
11466 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11467
11468 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11469
11470 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11471 HAVE_GETWD.
11472
074b6efe
DL
11473 * keyboard.h (poll_for_input_1): Declare.
11474
11475 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11476
11477 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11478
11479 * doprnt.c: Don't declare xmalloc, xrealloc.
11480
11481 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11482 (getenv, ctime, getwd): Removed.
11483 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11484
11485 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11486 x_set_tool_bar_lines.
11487
11488 * config.in: Add HAVE_GETWD. Move some definitions above
11489 machine/system includes.
11490
68a5e97b
KH
114912000-06-20 Kenichi Handa <handa@etl.go.jp>
11492
95417e1e
KH
11493 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11494
68a5e97b
KH
11495 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11496 contain information about ENCODING.
11497
11498 * fontset.c (FONTSET_ASCII): Use the first element of char table
11499 for an ASCII font, not defalt slot.
11500 (fontset_ref_via_base): If FONTSET doesn't contain information for
11501 C, try the default fontset.
11502 (make_fontset): Don't copy the default fontset.
11503 (fontset_font_pattern): Likewise.
11504 (accumulate_font_info): If ELT is nil, use the corresponding
11505 element in the default fontset.
11506
3b4fa1b2
DL
115072000-06-19 Dave Love <fx@gnu.org>
11508
943e731c
DL
11509 * syntax.c (Fparse_partial_sexp): Doc fix.
11510
11511 * regex.h: Test PROTOTYPES as well as __STDC__.
11512
3b4fa1b2
DL
11513 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11514 errno, strerror. Put text after #endif in comment.
11515
52283633 11516 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
11517
11518 * xterm.c (x_frame_of_widget): Likewise.
11519
cdf0357b
GM
115202000-06-19 Gerd Moellmann <gerd@gnu.org>
11521
11522 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11523 to Vfundamental_mode_abbrev_table.
11524
11525 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11526 bogus objects are marked. This slows down GC by ~80 percent, but
11527 it might be worth trying when debugging GC-related problems.
11528 This feature requires conservative stack marking to be enabled.
11529
11530 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11531 returns XLookupChars, reset `modifiers' to zero.
11532
998e9f8c
DL
115332000-06-19 Dave Love <fx@gnu.org>
11534
11535 * mktime.c: Unprotoized.
11536
18e21ce8 115372000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
11538
11539 * data.c (set_internal): If variable is frame-local,
11540 store the new value immediately into the frame parameter alist.
11541
140c4ac6
KR
115422000-06-19 Ken Raeburn <raeburn@gnu.org>
11543
14358466
KR
11544 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11545 in the custom handler pointer.
11546
140c4ac6
KR
11547 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11548 value, or checks for CHAR_META can fail when Lisp_Object is a
11549 union type.
11550 * keymap.c (get_keyelt): Likewise.
11551
10d7bf84
KH
115522000-06-19 Kenichi Handa <handa@etl.go.jp>
11553
11554 * ccl.h (struct ccl_program): New member eol_type.
11555 (struct ccl_spec): New member cr_carryover.
11556
11557 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11558 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11559
11560 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11561 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11562 (decode_eol_post_ccl): New function.
11563 (decode_coding): Don't detect EOL format here for CCL based coding
11564 systems.
11565 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11566 decode_eol_post_ccl after running the CCL program.
11567 (code_convert_region): Don't detect EOL format here for CCL based
11568 coding systems.
11569 (decode_coding_string): Likewise.
11570
52e386c2
KR
115712000-06-18 Ken Raeburn <raeburn@gnu.org>
11572
11573 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11574 when treating it as an integer.
11575
11576 * coding.h (encode_coding_string): Declare.
11577
11578 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11579 it as an integer.
11580
11581 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11582 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11583 to be passed to get_local_map.
11584
11585 * sound.c (Fplay_sound): Don't call make_number on
11586 Frun_hook_with_args count argument.
11587
11588 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11589 for lisp objects in X event structure data field, when lisp
11590 objects are represented with unions.
11591 (x_scroll_bar_to_input_event): Ditto.
11592
b357b9d4
KR
115932000-06-16 Ken Raeburn <raeburn@gnu.org>
11594
11595 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
11596 termination of string. Fix sense of test whether
11597 Vline_number_display_limit is an integer.
b357b9d4 11598
a871441d
GM
115992000-06-16 Gerd Moellmann <gerd@gnu.org>
11600
a9021acd
GM
11601 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11602 only if HAVE_X_WINDOWS.
11603
6344985d
GM
11604 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11605 of titles.
11606
427ec082 11607 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
11608 out of bounds.
11609
228b083e
EZ
116102000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11611
11612 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11613 of its headers.
11614
c25b53a2
KH
116152000-06-15 Kenichi Handa <handa@etl.go.jp>
11616
11617 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11618 start of the while loop.
11619
a6981b11
GM
116202000-06-15 Gerd Moellmann <gerd@gnu.org>
11621
e9924e52
GM
11622 * atimer.c (alarm_signal_handler): Add forward declaration.
11623
a6981b11
GM
11624 * data.c (set_internal): Remove debug code.
11625
25fa6deb
GM
116262000-06-14 Gerd Moellmann <gerd@gnu.org>
11627
dce6b995
GM
11628 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11629
9f817ea4
GM
11630 * unexec.c (toplevel) [COFF]: Include coff.h.
11631
11632 * s/lynxos.h: New file.
11633
11634 * keymap.c (Fsingle_key_description): Enclose function key and
11635 event symbol names in angle brackets.
11636
8a4e3c0c
GM
11637 * xdisp.c (setup_echo_area_for_printing): Call
11638 message_log_maybe_newline if message_buf_print is not set.
11639
11640 * print.c (printchar, strout): Don't check message_buf_print
427ec082 11641 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
11642 function does something useful even when message_buf_print is
11643 already set.
11644
52283633
SM
11645 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11646 New variables.
25fa6deb
GM
11647 (ensure_echo_area_buffers): Initialize echo buffer's
11648 truncate lines setting to nil.
11649 (with_echo_area_buffer): Don't set the echo buffer's truncate
11650 lines setting here.
8a4e3c0c 11651 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
11652 of message_truncate_lines.
11653 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
11654 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11655 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
11656
11657 * keyboard.c (read_char): Bind message-truncate-lines to t
11658 while displaying a help-echo.
11659
11660 * lisp.h (Qmessage_truncate_lines): External declaration.
11661
163dcff3
GM
116622000-06-13 Gerd Moellmann <gerd@gnu.org>
11663
1681ead6
GM
11664 * xdisp.c (Vline_number_display_limit): Renamed from
11665 line_number_display_limit.
11666 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11667 Extend documentation string. Initialize
11668 Vline_number_display_limit to nil meaning no limit.
11669 (decode_mode_spec): Use Vline_number_display_limit with its new
11670 meaning.
11671
163dcff3
GM
11672 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11673
18e21ce8 116742000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
11675
11676 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 11677
163dcff3
GM
11678 * xfns.c (x_set_frame_parameters): Comment fix.
11679
11680 * frame.c (store_frame_param): Call swap_in_global_binding if the
11681 variable's current binding was chosen based on this frame.
11682
11683 * data.c (swap_in_global_binding): New function.
11684
a704139d
EZ
116852000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11686
11687 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11688 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11689
9b6610db
EZ
116902000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11691
11692 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11693
c68833d2
JR
116942000-06-12 Jason Rumney <jasonr@gnu.org>
11695
11696 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11697
11698 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11699
11700 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11701
11702 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11703
ed1056b3
GM
117042000-06-12 Gerd Moellmann <gerd@gnu.org>
11705
11706 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11707 (syms_of_xfaces): Defsubr Sdump_colors.
11708 (x_free_colors): Don't treat b&w specially on default visual.
11709 (x_free_dpy_colors): New function.
11710 (free_face_colors): Don't check visual class; it's done
11711 in x_free_colors.
11712
11713 * xterm.c (x_frame_of_widget): New function.
11714 (x_alloc_nearest_color_for_widget): Use it.
11715 (x_copy_dpy_color): New function.
11716 (x_destroy_window): Free various colors.
11717
5050a2ef
KH
117182000-06-12 Kenichi Handa <handa@etl.go.jp>
11719
11720 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11721
11722 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11723
11724 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11725
11726 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11727
11728 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11729
fb1b041d
DL
117302000-06-11 Dave Love <fx@gnu.org>
11731
11732 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11733
ff96b5f4
EZ
117342000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11735
11736 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11737
db8eeecd
GM
117382000-06-11 Gerd Moellmann <gerd@gnu.org>
11739
ed1056b3 11740 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
11741 to `XEvent *'.
11742
49b71c5f
KH
117432000-06-10 Kenichi Handa <handa@etl.go.jp>
11744
c479bd55
KH
11745 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11746 (regex_compile): Fix the code for handling the case of single byte
11747 char and multibyte char being mixed in a range within [...].
11748
ff6a65c2
KH
11749 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11750 and dst_multibyte members of coding.
11751
49b71c5f
KH
11752 * charset.c (update_charset_table): Update the table
11753 bytes_by_char_head.
11754 (init_charset_once): Initialize elements of bytes_by_char_head to
11755 1 except for leading codes for private charases.
11756
11757 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 11758 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 11759
9e80b57d
KR
117602000-06-09 Ken Raeburn <raeburn@gnu.org>
11761
11762 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11763 access the data it doesn't point to.
11764
f83fe4b4
GM
117652000-06-08 Gerd Moellmann <gerd@gnu.org>
11766
11767 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 11768 will be translated to a switch-frame event when reading the
f83fe4b4
GM
11769 event queue. This is necessary because Emacs otherwise won't
11770 perform a switch-frame to a new frame until some other event, for
11771 example a keystroke event, forces it to do so. This has various
11772 effects, one visible being that the cursor of a frame created with
11773 C-x 5 2 or switched to with a window manager key binding like
11774 A-TAB stays hollow because selected_window isn't on the newly
11775 focused frame until the switch-frame is performed.
11776
11777 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11778 generating a switch-frame event if necessary.
11779
11780 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11781
11782 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11783 it's an integer.
11784
0890801b
KH
117852000-06-08 Kenichi Handa <handa@etl.go.jp>
11786
52283633 11787 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 11788
173cbca8
GM
117892000-06-07 Gerd Moellmann <gerd@gnu.org>
11790
3091c2a6
GM
11791 * window.c (displayed_window_lines): Take empty lines at
11792 the bottom of a window into account.
427ec082 11793
f38952fe
GM
11794 * window.c (displayed_window_lines): New function.
11795 (Fmove_to_window_line): Use displayed_window_lines to determine
11796 the number of lines to move, instead of using the window's height.
11797
11798 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11799 to stop reading, even if the form read sets point to a different
11800 value when evaluated.
11801
427ec082 11802 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11803 put the cursor.
11804
6ba6c818
KH
118052000-06-07 Kenichi Handa <handa@etl.go.jp>
11806
11807 * fileio.c (e_write): Free composition data if stored in
11808 coding->cmp_data.
11809
5f1aea9a
GM
118102000-06-06 Gerd Moellmann <gerd@gnu.org>
11811
666852af
GM
11812 * xdisp.c (display_line): Set row's and iterator's
11813 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11814 Set cursor even if row ends in the middle of a character.
11815 (dump_glyph_row): Print values of new flags.
11816 (redisplay_window) <cursor movement in unchanged window>: When
11817 point has been moved forward, and PT is at the end of the cursor
11818 row, don't place the cursor in the next row if the cursor row ends
11819 in the middle of a character or at ZV.
11820
11821 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11822 (struct glyph_row): Add starts_in_middle_of_char_p and
11823 ends_in_middle_of_char_p.
11824 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11825 ends_in_middle_of_char_p flag.
11826 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11827
d13f3e2e
GM
11828 * term.c (append_glyph): Revert change of 2000-06-06.
11829
11830 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11831 padding glyph not fitting on line as whole character not
11832 fitting on line.
11833
5f1aea9a
GM
11834 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11835 this isn't true for images with `:ascent 100'.
11836
10cda9b0
KH
118372000-06-06 Kenichi Handa <handa@etl.go.jp>
11838
ed00559d
KH
11839 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11840 as modified if it is originally unmodified.
11841
10cda9b0
KH
11842 * term.c (encode_terminal_code): Change the way to check if
11843 terminal coding does any conversion.
11844 (append_glyph): Set glyph->pixel_width correctly.
11845
11846 * xdisp.c (display_line): While checking line continuation, pay
11847 attention to a padding glyph.
11848
1969fae2
GM
118492000-06-05 Gerd Moellmann <gerd@gnu.org>
11850
11851 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11852
162ccef4
DL
118532000-06-05 Dave Love <fx@gnu.org>
11854
f19f32dd
DL
11855 * xdisp.c: Include fontset.h.
11856
11857 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11858
11859 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11860
11861 * dispnew.c: Conditionally include term.h.
11862
11863 * coding.h: Declare code_convert_string_norecord.
11864
11865 * frame.h (struct frame): Use volatile unconditionally.
11866
11867 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11868
11869 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11870
11871 * systime.h: Protect against multiple inclusion.
11872 (timezone) [USG5_4]: Define as time_t.
11873
11874 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11875 (Foptimize_char_table, make_temp_name): Declare.
11876
11877 * Makefile.in (xdisp.o): Depend on fontset.h.
11878
11879 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11880
11881 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11882 (Foptimize_char_table, make_temp_name): Declare.
11883
427ec082 11884 * s/irix4-0.h:
162ccef4
DL
11885 * s/irix5-0.h:
11886 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11887
2082fe81
DL
118882000-06-02 Dave Love <fx@gnu.org>
11889
11890 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11891
dcf671d2
GM
118922000-06-02 Gerd Moellmann <gerd@gnu.org>
11893
11894 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11895 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11896 be freed.
11897
11898 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11899 glyph, use the ASCII NUL character to determine the face.
11900
d42122a3
DL
119012000-06-02 Dave Love <fx@gnu.org>
11902
11903 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11904 (VFORK_RETURN_TYPE): Remove.
427ec082 11905
d42122a3
DL
11906 * config.in: Add NO_MATHERR.
11907
dd432f16
DL
119082000-06-01 Dave Love <fx@gnu.org>
11909
90aa4ea8
DL
11910 * cmds.c (internal_self_insert): Don't check
11911 Vbefore_change_function, Vafter_change_function.
11912
11913 * insdel.c (signal_before_change, signal_after_change): Likewise.
11914
11915 * buffer.c (Vbefore_change_function, Vafter_change_function):
11916 Variables and their initializations deleted.
11917
2330c9d4
DL
11918 * callint.c (Fcall_interactively): Doc fix.
11919
dd432f16
DL
11920 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11921
bf9e8804
DL
119222000-05-31 Dave Love <fx@gnu.org>
11923
11924 * textprop.c: Revert last change -- duplicated.
11925
3694b4ab
GM
119262000-05-31 Gerd Moellmann <gerd@gnu.org>
11927
11928 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11929 in #if 0.
11930
11931 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11932
f14156cd
JR
119332000-05-31 Jason Rumney <jasonr@gnu.org>
11934
8119aab8
JR
11935 * search.c (Fre_search_forward, Fre_search_backward)
11936 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11937
f14156cd
JR
11938 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11939
4aab9be3
JR
119402000-05-30 Jason Rumney <jasonr@gnu.org>
11941
11942 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11943 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11944
52283633 11945 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11946
11947 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11948 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11949 expand a nil default_filename.
11950
11951 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11952 pointer to glyph_to_pixel_coords, not a frame.
11953
11954 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11955 coding.h to dependencies.
11956
11957 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11958
11959 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11960 window pointer to be consistent with w32term.c and xterm.c.
11961
11962 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11963 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11964 (Qline_spacing, Qcenter): New variables.
11965 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11966 (x_set_line_spacing): New function.
52283633 11967 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11968 (x_specified_cursor_type): New function.
11969 (x_set_cursor_type): Use it.
11970 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11971 and icon strings.
11972 (validate_x_resource_name, x_get_resource_string): Measure lengths
11973 of external strings in bytes.
11974 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11975 GetTextExtentPoint32 with NULL title.
11976 (Fx_create_frame): Initialize Qline_spacing.
11977 (w32_load_system_font): Initialize font->double_byte_p.
11978 (x_to_w32_charset): Use Vw32_charset_info_alist.
11979 (Image, busy cursor, tooltip functions): Merged changes from
11980 xfns.c. Not yet functional on Windows.
11981
11982 * w32gui.h (W32FontStruct): Add double_byte_p member.
11983
11984 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11985 (emacs_button_translation): Use it.
11986 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11987 in `mask' to be set.
11988
11989 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11990 menu strings.
11991
11992 * w32term.c: Format and doc changes to bring closer to xterm.c.
11993 (w32_char_font_type): New enum.
11994 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11995 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11996 (w32_encode_char): New function.
11997 (x_encode_char): Removed.
11998 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11999 x_encode_char and w32_font_is_double_byte.
12000 (x_produce_image_glyph): Use image_ascent.
12001 (x_produce_glyphs): Use new version of w32_per_char_metric and
12002 handle NULL return value. Allow extra line spacing.
12003 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
12004 (w32_get_glyph_overhangs): Remove unicode_p param. Use
12005 w32_font_type member of glyph instead.
12006 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
12007 (fast_find_position): Make sure not to consider rows not visible
12008 in the window.
12009 (w32_read_socket) [WM_MENUSELECT]: Cannot call
12010 w32_menu_display_help with input blocked, as it can abort.
12011 (x_display_and_set_cursor): Choose cursor depending
12012 on buffer-local value of cursor_type.
12013 (x_draw_bar_cursor): Add parameter WIDTH.
12014
12015 * w32term.h (CP_DEFAULT): Define.
12016 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
12017
10fc3187
GM
120182000-05-30 Gerd Moellmann <gerd@gnu.org>
12019
12020 * search.c (Fre_search_forward, Fre_search_backward)
12021 (Fposix_search_backward, Fposix_search_forward): Doc fix.
12022
d0555360
KH
120232000-05-30 Kenichi Handa <handa@etl.go.jp>
12024
12025 * coding.c (detect_coding_iso2022): Fix code for checking
12026 CODING_CATEGORY_MASK_ISO_8_2.
12027
f1ad044f
SM
120282000-05-29 Stefan Monnier <monnier@cs.yale.edu>
12029
12030 * regex.c (PREFETCH_NOLIMIT): New function.
12031 (re_match_2_internal): Use it and adjust the end_match_2 logic.
12032
84ec3b4b
GM
120332000-05-29 Gerd Moellmann <gerd@gnu.org>
12034
66254a13
GM
12035 * syntax.c (find_defun_start): Move test for
12036 open_paren_in_column_0_is_defun_start outside of the loop.
12037
49e70dec
GM
12038 * xdisp.c (redisplay_window): Really switch buffers when
12039 displaying mode lines, and temporarily set selected_frame to the
12040 frame of the window that's redisplayed.
12041
84ec3b4b
GM
12042 * xfaces.c (free_realized_faces): Block/unblock input.
12043 (free_realized_multibyte_face): Ditto.
12044
869a3a14
DL
120452000-05-29 Dave Love <fx@gnu.org>
12046
12047 * textprop.c (Qkeymap): New variable.
12048 (syms_of_textprop): Intern it.
12049
12050 * keymap.c: Include intervals.h.
12051 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12052
12053 * Makefile.in (keymap.o): Depend on intervals.h.
12054
12055 * keyboard.c (menu_bar_items, tool_bar_items)
12056 (Fexecute_extended_command): Deal with `keymap' property.
12057 (read_key_sequence): Track map from `keymap' property as well as
12058 `local_map'.
12059
12060 * intervals.c (get_local_map): Extra arg to allow looking for
12061 `keymap' too.
12062
12063 * intervals.h (map_property): New enum.
12064 (get_local_map): Extra arg using it.
12065 (Qkeymap): Declare.
12066
84ec3b4b 12067 * lisp.h (get_local_map): Don't declare here.
869a3a14 12068
89d0c844
KH
120692000-05-29 Kenichi Handa <handa@etl.go.jp>
12070
12071 * Makefile.in (callproc.o): Depend on composite.h.
12072
12073 * callproc.c: Include composite.h.
12074 (Fcall_process): Handle composition correctly.
12075
12076 * coding.h (coding_allocate_composition_data): Extern it.
12077 (coding_restore_composition): Likewise.
12078
12079 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12080 yet allocated, finish decoding with result
12081 CODING_FINISH_INSUFFICIENT_CMP.
12082 (coding_allocate_composition_data): Make it non-static.
12083 (coding_restore_composition): Likewise.
12084
797a084a
EZ
120852000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12086
12087 * charset.c (syms_of_charset): Revert last change.
12088
cf872af5
EZ
120892000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12090
12091 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
12092 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12093 Handa.
cf872af5 12094
5b1ae051
EZ
120952000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12096
12097 * charset.c (syms_of_charset): Set width of character sets
12098 eight-bit-control and eight-bit-graphic to 1 column.
12099
34ec9ebe
GM
121002000-05-26 Gerd Moellmann <gerd@gnu.org>
12101
12102 * config.in (HAVE_SPEED_T): New define.
12103
12104 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12105 `extern speed_t'.
12106
dd854dc2
DL
121072000-05-26 Dave Love <fx@gnu.org>
12108
12109 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12110
12111 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12112 (Fsubr_arity): New function.
12113 (syms_of_data): Install them.
12114
ba9f8f95
KH
121152000-05-26 Kenichi Handa <handa@etl.go.jp>
12116
0f3e0672
KH
12117 * charset.c (init_charset_once): Set the table bytes_by_char_head
12118 correctly.
12119
cebefb44
KH
12120 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12121 the default fontset to what Emacs uses by default.
0f3e0672
KH
12122 (check_registry_encoding): This function deleted.
12123 (Fset_fontset_font): Remove the adhoc condition for the default
12124 fontset. Allow cons in FONTNAME.
cebefb44 12125
0f3e0672
KH
12126 * fns.c (map_char_table): Ignore char-table entries for
12127 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 12128
7a18af49
KR
121292000-05-25 Ken Raeburn <raeburn@gnu.org>
12130
12131 * emacs.c (main): Initialize keyboard syms before initializing
12132 window code, so face names are available.
12133
d2af47df
SM
121342000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12135
12136 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12137 of an anchor at the beginning of a shy-group.
12138
fc6a6a4e
GM
121392000-05-25 Gerd Moellmann <gerd@gnu.org>
12140
12141 * xdisp.c (handle_invisible_prop): Don't try to skip over
12142 invisible text if end of text is already reached.
12143
005f0d35
DL
121442000-05-25 Dave Love <fx@gnu.org>
12145
02513cdd
DL
12146 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12147
005f0d35
DL
12148 * coding.c (encode_eol): Add null statement after label.
12149
89f6ca4e
EZ
121502000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12151
12152 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12153 2000-05-20.
12154
a4e1759e
KH
121552000-05-25 Kenichi Handa <handa@etl.go.jp>
12156
12157 * ccl.c (ccl_driver): Fix previous change.
12158
eacfd7fe
KH
121592000-05-25 Kenichi Handa <handa@etl.go.jp>
12160
46ab33a9
KH
12161 * coding.c (run_pre_post_conversion_on_str): Set point to the
12162 beginning of buffer before calling coding->post_read_conversion.
12163 (decode_coding_string): Give correct args to
12164 run_pre_post_conversion_on_str.
12165 (encode_coding_string): Likewise.
12166
eacfd7fe
KH
12167 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12168 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12169 eight-bit-graphic correctly.
12170
f8569325
DL
121712000-05-24 Kenichi HANDA <handa@etl.go.jp>
12172
12173 * fileio.c (Finsert_file_contents): Even if a file is not found,
12174 execute codes for setting up coding system. Call
12175 after-insert-file-functions unconditionally.
12176
04545643
GM
121772000-05-24 Gerd Moellmann <gerd@gnu.org>
12178
12179 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12180 BSD_PGRPS are not defined.
12181
747d90ea
KH
121822000-05-24 Kenichi Handa <handa@etl.go.jp>
12183
12184 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12185 DESCRIPTION.
12186 (syms_of_charset): Avoid building same strings.
12187
716e3b88
GM
121882000-05-23 Gerd Moellmann <gerd@gnu.org>
12189
12190 * lread.c (Fload): Add a comment about the meaning of
12191 Vuser_init_file being t.
12192
12193 * puresize.h (BASE_PURESIZE): Increase to 675000.
12194
12195 * s/gnu-linux.h (setpgrp): Don't define it here because this
12196 prevents compilation on GNU/Linux systems with glib 2.2.
12197
12198 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12199 as setpgid.
427ec082 12200
9aeb39fa
EZ
122012000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12202
12203 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12204 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12205 version.
12206 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12207
29ced61b
KH
122082000-05-23 Kenichi Handa <handa@etl.go.jp>
12209
52283633 12210 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 12211
3d80f24d
KH
12212 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12213
52283633 12214 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 12215
29ced61b
KH
12216 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12217
d7e00792
KH
122182000-05-22 Kenichi Handa <handa@etl.go.jp>
12219
c9d80d38
KH
12220 * keyboard.c (read_char): Allow character codes 128..255 to be
12221 handled by input-method-function.
12222
d7e00792
KH
12223 * insdel.c (adjust_markers_for_replace): Fix previous change.
12224 (adjust_after_replace): If PREV_TEXT is nil, call
12225 adjust_markers_for_insert, not adjust_markers_for_replace.
12226
087121cc 122272000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 12228
087121cc
GM
12229 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12230 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12231 [HAVE_GRANDPT]: Define.
12232 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12233
12234 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12235 like SYSV_PTYS.
12236
12237 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12238
12239 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12240
c9671f81
KH
122412000-05-20 Kenichi Handa <handa@etl.go.jp>
12242
12243 The following changes are to handle 8-bit characters in a
12244 multibyte buffer/string without facing with byte combining
12245 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12246 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12247
12248 * Makefile.in (fns.o): Depend on charset.h.
12249
12250 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12251 convert it to unibyte.
12252 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12253
12254 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12255 apparent char boundary.
12256 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12257 0x80..0x9F to/from multibyte form.
12258
12259 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12260 to unibyte.
12261
12262 * callproc.c (Fcall_process): Always encode an argument string if
12263 it is multibyte. Setup src_multibyte and dst_multibyte members of
12264 process_coding properly.
ce75fd23 12265
c9671f81
KH
12266 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12267 SPLIT_NON_ASCII_CHAR.
12268
12269 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12270 as is.
12271 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12272
52283633 12273 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 12274 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 12275 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
12276 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12277 and eight-bit-graphic.
12278 (char_to_string): Likewise. Signal an error for too large
12279 character code.
12280 (char_printable_p): Return 0 for 8-bit characters.
12281 (update_charset_table): Update iso_charset_table only when a final
12282 character is non-negative.
12283 (find_charset_in_text): Renamed from find_charset_in_str.
12284 Arguments and return value changed. Callers changed.
12285 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12286 be -1 if CHARSET is used only internally.
12287 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12288 eight-bit-graphic.
12289 (Fcharset_after): Simplified.
12290 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12291 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12292 (multibyte_chars_in_text): Simplified by assuming there's no
12293 invalid multibyte sequence.
52283633
SM
12294 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12295 (str_as_unibyte): New functions.
12296 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
12297 (init_charset_once): Initialization for
12298 LEADING_CODE_8_BIT_CONTROL.
12299 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12300 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12301 eight-bit-control and eight-bit-graphic.
12302
52283633
SM
12303 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12304 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
12305 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12306 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12307 (CHARSET_REVERSE_CHARSET): Likewise.
12308 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12309 eight-bit-graphic.
12310 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12311 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12312 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12313 encounter an invalid multibyte sequence.
12314 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12315 sequence is always valid.
12316 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 12317 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
12318 (CHAR_STRING): For 8-bit characters, call char_to_string.
12319 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12320 multibyte sequence is always valid.
12321 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
12322 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12323 (str_as_unibyte): Extern them.
c9671f81 12324 (BCOPY_SHORT): Fix a bug.
52283633 12325 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
12326 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12327 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12328 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12329
bd4bde7f 12330 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 12331 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
12332 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12333 (EMIT_BYTES): New macros.
12334 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12335 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
12336 macros deleted.
12337 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12338 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12339 check the validity of multibyte sequence.
12340 (decode_coding_emacs_mule): New function.
12341 (encode_coding_emacs_mule): New macro.
12342 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12343 the source.
12344 (DECODE_ISO_CHARACTER): Just return a character code.
12345 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12346 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12347 EMIT_CHAR to produced decoded characters. Exit the loop only by
12348 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12349 block here.
12350 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12351 only position codes for an invalid character.
12352 (encode_designation_at_bol): Return new destination pointer. 5th
12353 arg DSTP is changed to DST.
12354 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12355 from the source by ONE_MORE_CHAR. Don't handle the case of last
12356 block here.
12357 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12358 macros deleted.
52283633
SM
12359 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12360 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
12361 TWO_MORE_BYTES to fetch a byte from the source.
12362 (encode_eol): Pay attention to coding->src_multibyte.
12363 (detect_coding, detect_eol): Preserve members src_multibyte and
12364 dst_multibyte.
12365 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12366 (encoding_buffer_size): Set magnification to 3 for all coding
12367 systems that require encoding.
12368 (ccl_coding_driver): For decoding, be sure that the result is
12369 valid multibyte sequence.
12370 (decode_coding): Initialize coding->errors and coding->result.
12371 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12372 and raw-text, always call decode_eol. Handle the case of last
12373 block here. If not coding->dst_multibyte, convert the resulting
12374 sequence to unibyte.
12375 (encode_coding): Initialize coding->errors and coding->result.
12376 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12377 and raw-text, always call encode_eol. Handle the case of last
12378 block here.
12379 (shrink_decoding_region, shrink_encoding_region): Detect cases
12380 that we can't skip data more rigidly.
12381 (code_convert_region): Setup src_multibyte and dst_multibyte
12382 members of coding. For decoding, if the buffer is multibyte,
12383 convert the source sequence to unibyte in advance. For encoding,
12384 if the buffer is multibyte, convert the resulting sequence to
12385 multibyte afterward.
12386 (run_pre_post_conversion_on_str): New function.
12387 (code_convert_string): Deleted and divided into the following two.
12388 (decode_coding_string, encode_coding_string): New functions.
12389 (code_convert_string1, code_convert_string_norecord): Call one of
12390 above.
12391 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12392 MAKE_NON_ASCII_CHAR.
52283633
SM
12393 (Fset_terminal_coding_system_internal)
12394 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
12395 and dst_multibyte members.
12396 (init_coding_once): Initialize iso_code_class with new enum
12397 ISO_control_0 and ISO_control_1.
12398
12399 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12400 devided into ISO_control_0 and ISO_control_1.
12401 (struct coding_system): New members src_multibyte, dst_multibyte,
12402 errors, and result. Delete member fake_multibyte.
12403 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12404 nonzero.
12405 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12406 nonzero.
12407
12408 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12409 (Faset): Likewise.
12410
12411 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12412 multibyte form.
12413 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12414 combining occurs.
12415 (Ftranspose_region): Delete codes for handling byte combining.
12416
12417 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12418 dst_multibyte members of coding. On handling REPLACE on unibyte
12419 buffer, convert the result of decode_coding to unibyte. On
12420 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 12421 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
12422 multibyteness of the source (buffer or string).
12423
12424 * fns.c (concat): Handle 8-bit characters correctly.
12425 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12426 unibyte in the result.
12427 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12428 valid multibyte form in the result.
12429 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12430 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12431 return -1, signal an error.
12432 (base64_encode_1): New arg MULTIBYTE. Get each character by
12433 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12434 character is found, return -1.
12435 (Fbase64_decode_region): Delete codes for handling byte-combining.
12436 Treat each decoded byte as a unibyte character.
12437 (Fbase64_decode_string): Return unibyte string.
12438 (Fcompare_strings, concat, string_byte_to_char): Use
12439 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12440 FETCH_STRING_CHAR_ADVANCE.
12441 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12442 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12443
12444 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12445 SPLIT_NON_ASCII_CHAR.
12446 (fontset_ref_via_base, fontset_set): Likewise
12447
12448 * insdel.c (adjust_markers_for_record_delete): Deleted.
12449 (adjust_markers_for_insert): Argument changed. Caller changed.
12450 (adjust_markers_for_replace): Likewise.
52283633
SM
12451 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12452 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
12453 (copy_text): Delete unused local varialbe c_save. For converting
12454 to multibyte, be sure to make all 8-bit characters in valid
12455 multibyte form.
12456 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
12457 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12458 (adjust_after_replace, replace_range, del_range_2)
c9671f81 12459 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
12460 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12461 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
12462 handling byte combining.
12463 (adjust_before_replace): Deleted.
427ec082 12464
c9671f81
KH
12465 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12466 SPLIT_NON_ASCII_CHAR.
12467 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 12468 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12469 (Fkey_description): Likewise.
12470
12471 * lread.c (read1): On reading multibyte string, be sure to make
12472 all 8-bit chararacters in valid multibyte form.
12473 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12474
12475 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12476 unconditionally.
12477
12478 * process.c (Fstart_process): GCPRO current_dir before calling
12479 Ffind_operation_coding_system. Encode arguments here.
12480 (create_process): Don't encode arguments here. Setup
12481 src_multibyte and dst_multibyte members of struct coding.
12482 (read_process_output): Setup src_multibyte and dst_multibyte
12483 members of struct coding. If the output is to multibyte buffer,
12484 always decode the output of the process. Adjust the
52283633 12485 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
12486 (send_process): Setup coding->src_multibyte according to the
12487 multibyteness of the source.
12488
52283633 12489 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
12490 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12491 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12492
52283633 12493 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
12494
12495 * w16select.c (Fw16_set_clipboard_data): Setup members
12496 src_multibyte and dst_multibyte of coding. Adjusted for the
12497 change for find_charset_in_str.
12498 (Fw16_get_clipboard_data): Likewise.
12499
12500 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12501 dst_multibyte of coding.
12502 (x_to_w32_font): Likewise.
12503
12504 * w32select.c (Fw32_set_clipboard_data): Setup members
12505 src_multibyte and dst_multibyte of coding. Adjusted for the
12506 change for find_charset_in_str.
12507 (Fw32_get_clipboard_data): Likewise.
12508
12509 * xdisp.c (get_next_display_element): Handle 8-bit characters
12510 correctly.
52283633
SM
12511 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12512 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
12513
12514 * xselect.c (selection_data_to_lisp_data): Setup members
12515 src_multibyte and dst_multibyte of coding. Adjusted for the
12516 change for find_charset_in_str.
12517 (lisp_data_to_selection_data): Likewise.
12518
5f64c9e0
GM
125192000-05-19 Gerd Moellmann <gerd@gnu.org>
12520
52283633 12521 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 12522
5f64c9e0
GM
12523 * dispextern.h (Vimage_types): Add extern declaration.
12524
12525 * xdisp.c (Vimage_types): Moved here from xfns.c.
12526 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12527
12528 * xfns.c (Vimages_types): Moved to xdisp.c.
12529 (syms_of_xfns): Move `image-types' to xdisp.c.
12530
12531 * w32fns.c (Vimage_types): Removed.
12532 (syms_of_w32fns): Remove `image-types'.
12533
813086ea
KH
125342000-05-18 Kenichi Handa <handa@etl.go.jp>
12535
12536 * fns.c (map_char_table): Pay attention to character number of
12537 charset. Check the validity of charset at the first level. For
12538 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12539 the default value.
12540
12541 * fontset.c: Include "buffer.h".
12542 (fs_load_font): If the face has fontset, record the face ID in
12543 that fontset.
12544 (Finternal_char_font): New function.
12545 (accumulate_font_info): New function.
12546 (Ffontset_info): Rewritten for the new fontset implementation.
12547 (syms_of_fontset): Register Vdefault_fontset in the first element
12548 of Vfontset_table. Include Vdefault_fontset in
12549 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12550 function.
12551
bdaebbf0
DL
125522000-05-16 Dave Love <fx@gnu.org>
12553
12554 * m/iris5d.h: Deleted -- unused.
12555
cb613bb8
GM
125562000-05-16 Gerd Moellmann <gerd@gnu.org>
12557
b15f3b77
GM
12558 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12559 `invalid' instead of `illegal'.
12560
12561 * indent.c (Fmove_to_column): When ending within a tab, insert
12562 spaces first so that markers at the end of the tab get adjusted.
12563
835c1b36
GM
12564 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12565 buffer list that wasn't selected in that frame.
12566
cb613bb8
GM
12567 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12568 is needed on mescaline, use a 2 char prefix, and call
12569 make_temp_name with second arg non-zero.
12570
12571 * fileio.c (make_temp_name): New function, extracted from
12572 Fmake_temp_name.
12573 (Fmake_temp_name): Use it.
12574
f685bea9
EZ
125752000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12576
52283633 12577 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 12578
a1b8d58b
GM
125792000-05-15 Gerd Moellmann <gerd@gnu.org>
12580
12581 * Makefile.in (lisp): Add env.elc.
12582
12583 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12584
a265079f
GM
125852000-05-12 Gerd Moellmann <gerd@gnu.org>
12586
12587 * search.c (Freplace_match): Handle case of `\N' in the
12588 replacement when there's no group N.
12589
da4496b6
GM
125902000-05-11 Gerd Moellmann <gerd@gnu.org>
12591
0ace421a
GM
12592 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12593 of the message to message_dolog.
12594
1172eb8d
GM
12595 * keyboard.c (read_char): Don't clear current message for help
12596 events; let the code handling help events handle this. Change
12597 code detecting help events that should be ignored.
12598
da4496b6
GM
12599 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12600 we're interating over a string.
12601
0623e40f
DL
126022000-05-09 Dave Love <fx@gnu.org>
12603
12604 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12605 that offset before writing. Move gcpro region past call of
12606 Ffile_regular_p.
12607
bae2503b
DL
126082000-05-04 Dave Love <fx@gnu.org>
12609
12610 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12611
ec82fb2f
GM
126122000-05-04 Gerd Moellmann <gerd@gnu.org>
12613
12614 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12615 of inserted characters when BUF equals the current buffer, and PT
12616 is in front of or equal to FROM.
12617
cbf18892
GM
126182000-05-03 Gerd Moellmann <gerd@gnu.org>
12619
4ff40dd0
GM
12620 * xdisp.c (handle_single_display_prop): If display property value
12621 is invalid, or something not supported on the frame, restore
12622 iterator's position to what it was initially. Make sure to return
12623 0 for invalid and unsupported property values.
12624
cbf18892
GM
12625 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12626 that x_per_char_metric returns null.
12627
1b0672c3
GM
126282000-05-02 Gerd Moellmann <gerd@gnu.org>
12629
576da55d
GM
12630 * xterm.h (struct face): Add forward declaration.
12631 (struct image): Ditto.
12632 (image_ascent): Add prototype.
12633
12634 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12635 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12636 image_ascent instead of using IMAGE_ASCENT.
12637
12638 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12639 (IMAGE_ASCENT): Removed.
12640
12641 * xfns.c (Qcenter): New variable.
12642 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12643 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12644 (image_ascent): New function.
12645 (lookup_image): Recognize `:ascent center'.
12646 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12647 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12648 (xbm_load): Don't set image's ascent here.
12649 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12650 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12651 check ascent values here.
12652 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12653 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12654 (syms_of_xfns): Initialize Qcenter.
12655
1b0672c3
GM
12656 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12657 to the limits, increase the limits.
12658
0d7811ed
KH
126592000-05-01 Kenichi Handa <handa@etl.go.jp>
12660
12661 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 12662 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 12663
a943a5ca
GM
126642000-04-28 Gerd Moellmann <gerd@gnu.org>
12665
12666 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12667 taller than the window.
12668
5dba1e29
KH
126692000-04-28 Kenichi Handa <handa@etl.go.jp>
12670
12671 * xfaces.c (realize_x_face): Fix the argument of the second
12672 xassert. BASE_FACE may not be a face for ASCII.
12673
353964e3
GM
126742000-04-27 Gerd Moellmann <gerd@gnu.org>
12675
c76e04a8
GM
12676 * print.c (print_object): Treat print-length < 0 as nil.
12677
12678 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12679
12680 * s/freebsd.h (TERMCAP_OBJ): Removed.
12681 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12682
12683 * lread.c (read1): Don't treat period followed by certain
12684 characters as symbol start.
12685
12686 * xfns.c (slurp_file): New function.
12687 (xbm_image_p): Handle case of in-memory XBM files.
12688 (xbm_scan): Rewritten to work on memory buffers instead of files.
12689 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12690 Work on memory buffers instead of files. If DATA is null test
12691 if buffer looks like an in-memory XBM file.
12692 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12693 memory buffers instead of files.
12694 (xbm_file_p): New function.
12695 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12696
353964e3
GM
12697 * lread.c (end_of_file_error): New function.
12698 (read1): Call it instead of signaling `end-of-file' directly.
12699
427ec082 12700 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
12701 with Fprinc instead of Fprin1.
12702
24d744ac
KR
127032000-04-26 Ken Raeburn <raeburn@gnu.org>
12704
12705 * window.c (freeze_window_start): Check that minibuffer scroll
12706 window isn't nil before extracting the window structure pointer
12707 from it.
12708
12709 * undo.c (record_delete): If we hit the end of the undo list, stop
12710 picking elements apart.
12711
7464346d
GM
127122000-04-26 Gerd Moellmann <gerd@gnu.org>
12713
12714 * xdisp.c (display_line): If lines are continued, restore
12715 iterator's ascent/descent information to the values before the
12716 first glyph not fitting on the line.
12717
612839b6
GM
127182000-04-25 Gerd Moellmann <gerd@gnu.org>
12719
12720 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 12721 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
12722
12723 * dispnew.c (increment_matrix_positions): Renamed from
12724 increment_glyph_matrix_buffer_positions.
12725 (increment_row_positions): Renamed from
12726 increment_glyph_row_buffer_positions.
12727
12728 * dispextern.h: Change names of renamed functions from dispnew.c
12729 in prototypes.
12730
cc181e95
GM
127312000-04-24 Gerd Moellmann <gerd@gnu.org>
12732
abfcc168
GM
12733 * fileio.c (Fdo_auto_save): Create directories for auto-save
12734 list file if necessary.
12735
cc181e95
GM
12736 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12737 from buffer or frame.
12738 (automatic_hscrolling_p): New variable.
12739 (hscroll_windows): Scroll windows horizontally only if automatic
12740 hscrolling is allowed.
12741 (syms_of_xdisp): New variable `automatic-hscrolling'.
12742
12743 * frame.h (struct frame): Add member extra_line_spacing.
12744
12745 * xfns.c (x_set_line_spacing): New function.
12746 (Fx_create_frame): Set line spacing from resources.
12747 (Qline_spacing): New variable.
12748 (syms_of_xfns): Initialize Qline_spacing.
427ec082 12749
cc181e95
GM
12750 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12751
12752 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12753 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 12754 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
12755 extra_line_spacing from default value.
12756 (init_buffer_once): Initialize default value of extra_line_spacing.
12757
12758 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12759 and extra3.
12760
12761 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12762 prompt_width. Add extra line spacing.
12763
12764 * term.c (produce_glyphs): Remove reference to struct it's
12765 prompt_width.
12766
12767 * dispextern.h (struct it): Remove member prompt_width, add
12768 extra_line_spacing.
12769
58827478
GM
127702000-04-22 Gerd Moellmann <gerd@gnu.org>
12771
12772 * dispnew.c (update_frame_line): When writing a whole line, make
12773 sure cursor is in the right row afterwards, otherwise a use of
12774 capability `ch' in cmgoto might leave the cursor in the row below.
12775
25a87f42
GM
127762000-04-21 Gerd Moellmann <gerd@gnu.org>
12777
12778 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12779
12780 * keyboard.c (timer_check): Fix typo in comment.
12781
54edf5c2
KH
127822000-04-21 Kenichi Handa <handa@etl.go.jp>
12783
12784 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12785 name change: ch -> character.
12786
3a64eef5
GM
127872000-04-20 Gerd Moellmann <gerd@gnu.org>
12788
12789 * keyboard.c (echo_message_buffer): New variable.
12790 (echo_now): Set echo_message_buffer to the echo area buffer used
12791 to display the echo.
12792 (cancel_echoing): Reset echo_message_buffer to nil.
12793 (read_char): Code rewritten that handles canceling an echo or
12794 echoing a dash, respectively.
12795
12796 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12797 directory doesn't exist.
12798
6142fdcb
DL
127992000-04-19 Dave Love <fx@gnu.org>
12800
12801 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12802 (concat): Don't allow numeric args.
12803 (Fconcat): Doc change.
6142fdcb 12804
ac6b5352
SM
128052000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12806
12807 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12808 instead define end_match(1|2) more carefully.
12809 Use GET_CHAR_BEFORE_2 for `begline'.
12810
cb9215e4
GM
128112000-04-19 Gerd Moellmann <gerd@gnu.org>
12812
5e3dac3f
GM
12813 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12814 on 64-bit systems where NULL is defined as `0'.
12815
12816 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12817 the `variable argument list' to make it work on Alpha.
12818
cb9215e4
GM
12819 * m/alpha.h (_LP64) [!_LP64]: Define.
12820 (ORDINARY_LINK): Define for NetBSD.
12821
12822 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12823
f532dca0
DL
128242000-04-19 Dave Love <fx@gnu.org>
12825
c750667e
DL
12826 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12827 change.
12828
12829 * Makefile.in (LIBS): Don't use.
12830 (GETLOADAVG_OBJ): Define again.
12831 (otherobj): Add GETLOADAVG_OBJ.
12832
f532dca0
DL
12833 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12834
1c7e22fd
GM
128352000-04-18 Gerd Moellmann <gerd@gnu.org>
12836
f6d3257b
GM
12837 * lread.c (read_filtered_event): Cancel and start busy cursor.
12838
427ec082 12839 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12840 that the per-character metrics may be null.
12841
e10f64e7
GM
128422000-04-17 Gerd Moellmann <gerd@gnu.org>
12843
0daee095
GM
12844 * buffer.c (clone_per_buffer_values): New function.
12845 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12846 clone_per_buffer_values if CLONE is not nil.
12847
e10f64e7
GM
12848 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12849
38687d43
DL
128502000-04-16 Dave Love <fx@gnu.org>
12851
12852 * Makefile.in: Remove obsolete localcpp stuff.
12853 (GETLOADAVG_OBJ): Don't define.
12854 (obj): Move LIBOBJS...
12855 (otherobj): ... to here.
12856 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12857 whitespace-only lines after the continuation (Irix).
12858
c21c7262
GM
128592000-04-14 Gerd Moellmann <gerd@gnu.org>
12860
12861 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12862
12863 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12864
314767c0
DL
128652000-04-14 Dave Love <fx@gnu.org>
12866
12867 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12868 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12869 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12870 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12871 NLIST_STRUCT.
12872
12873 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12874 autoconfiscated HAVE_GETLOADAVG.
12875
12876 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12877 BROKEN_MKTIME.
12878
a2522dca
GM
128792000-04-14 Gerd Moellmann <gerd@gnu.org>
12880
12881 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12882 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12883
33744b5d
DL
128842000-04-14 Dave Love <fx@gnu.org>
12885
c21c7262 12886 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12887 (INTERVAL_SRC): Convert to make variable.
12888 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12889 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12890 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12891 add LIBOBJS.
12892 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12893 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12894 (shortlisp): Add facemenu, float-sup, frame.
12895 (SOME_MACHINE_LISP): Remove them from here.
12896 (LIBES): Change unused LDLIBS to autoconf LIBS.
12897
12898 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12899
9d3d5916
KH
129002000-04-14 Kenichi Handa <handa@etl.go.jp>
12901
12902 * composite.c (update_compositions): If FROM and TO are not in a
12903 valid range, do nothing.
12904
198e3c7a
GM
129052000-04-13 Gerd Moellmann <gerd@gnu.org>
12906
52283633 12907 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12908
52283633 12909 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12910
12911 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12912 as TERMCAP_OBJ.
12913
055a28c9
EZ
129142000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12915
12916 * fileio.c (a_write): Remove redundant semi-colons.
12917 (e_write): Return -1 if failed to write all the data.
12918 This fixes the changes made at 1999-12-15.
12919
f5c75033
DL
129202000-04-12 Dave Love <fx@gnu.org>
12921
12922 * fns.c (mapcar1): Test for null vals to support mapc.
12923 (Fmapc): New function.
12924
0c3cfc51
EZ
129252000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12926
12927 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12928 (IT_frame_up_to_date): Support the buffer local value of
12929 cursor-type, if defined.
12930
33465a31
DL
129312000-04-10 Dave Love <fx@gnu.org>
12932
12933 * editfns.c (preceding-char, following-char): Doc fix.
12934
6ed56568
KR
129352000-04-10 Ken Raeburn <raeburn@gnu.org>
12936
12937 * Makefile.in (temacs): Revert 2000-03-12 change.
12938
7cf80d4e
JR
129392000-04-10 Jason Rumney <jasonr@gnu.org>
12940
12941 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12942
34f3f342
GM
129432000-04-10 Gerd Moellmann <gerd@gnu.org>
12944
1a1b1895
GM
12945 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12946 area buffer, if it's not set up yet.
12947
34f3f342
GM
12948 * indent.c (compute_motion): Set immediate_quit.
12949
be0dbdab
GM
129502000-04-09 Gerd Moellmann <gerd@gnu.org>
12951
52283633 12952 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12953 (realize_tty_face): Suppress boldness if colors are the inverse of
12954 the default colors, and tty_suppress_bold_inverse_default_colors_p
12955 is set.
12956 (Ftty_suppress_bold_inverse_default_colors): New function.
12957 (syms_of_xfaces): Defsubr it.
12958
be0dbdab
GM
12959 * buffer.c (Frestore_buffer_modified_p): New function.
12960 (syms_of_buffer): Defsubr it.
12961
e8413c3b
KR
129622000-04-08 Ken Raeburn <raeburn@gnu.org>
12963
87f67317
KR
12964 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12965 charset id (int) argument, not a charset (Lisp_Object).
12966
e8413c3b
KR
12967 * coding.h (code_convert_string): Declare.
12968 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12969 object, as the fourth argument to code_convert_string.
12970
52283633 12971 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12972 (Fset_fontset_font): Use EQ to compare lisp objects.
12973
7c752c80
KR
129742000-04-05 Ken Raeburn <raeburn@gnu.org>
12975
c0333abc
KR
12976 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12977 a pointer that looks like a lisp object.
12978 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12979 zero, instead see whether it's an integer object, since they can't
12980 have intervals.
12981 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12982
52283633
SM
12983 * dispnew.c (allocate_matrices_for_frame_redisplay)
12984 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12985 to convert between (unsigned) int values and lisp integers.
12986 * keyboard.c (read_key_sequence): Likewise.
12987 * lread.c (substitute_object_recurse): Likewise.
12988 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12989 * minibuf.c (do_completion, Fminibuffer_complete_word)
12990 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12991 * term.c (produce_special_glyphs): Likewise.
12992
12993 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12994 * print.c (print_preprocess, print_object): Likewise.
12995
12996 * search.c (compile_pattern): Use NILP when checking for nil.
12997
74e49b38
KR
12998 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12999 __OPTIMIZE__]: Provide a GNU C macro version that handles
13000 lisp-object unions.
13001 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
13002 field, to better cope with ENABLE_CHECKING and calls that modify a
13003 Lisp_Object using its old value.
13004
685e5ed2
GM
130052000-04-04 Gerd Moellmann <gerd@gnu.org>
13006
c407c570
GM
13007 * window.c (compare_window_configurations): Signal an error
13008 if parameters C1 or C2 aren't window configurations.
13009
685e5ed2
GM
13010 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
13011 AFTER_POTENTIAL_GC calls around calls to functions that can
13012 signal an error and thus invoke the debugger.
13013
587a49ab
GM
130142000-04-03 Gerd Moellmann <gerd@gnu.org>
13015
62f20204
GM
13016 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
13017 an error if decoding fails.
13018
587a49ab
GM
13019 * keyboard.c (lispy_mouse_names): Variable removed.
13020 (Vlispy_mouse_stem): New variable.
13021 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
13022 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
13023 for any mouse button number. Increase size of mouse_syms and
13024 button_down_location as needed. Call modify_event_symbol with
13025 different arguments.
13026 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
13027 Call modify_event_symbol with different arguments.
13028 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
13029 for any button number. Call modify_event_symbol with different
13030 arguments.
13031 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
13032 Accept a string for NAME_ALIST_OR_STEM.
13033
13034 * lisp.h (larger_vector): Add prototype.
13035
13036 * fns.c (larger_vector): Make externally visible.
13037
13038 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13039
2d1675e4
SM
130402000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13041
13042 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13043 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13044 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13045 we are between str1 and str2.
13046 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13047 (PATFETCH): Use `TRANSLATE'.
13048 (PATFETCH_RAW): Fetch multibyte char if applicable.
13049 (PATUNFETCH): Remove.
13050 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13051 When writing a char, write it directly into the pattern buffer rather
13052 than going needlessly through a temp char-array.
13053 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13054 multibyte magic and remove the useless `#ifdef emacs'.
13055 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13056 buffer.
13057
13058 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13059 conditional on `emacs'.
13060
13061 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13062
cc2d8c6b
KR
130632000-04-01 Ken Raeburn <raeburn@gnu.org>
13064
13065 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13066 non-union-type versions of XMARK and friends here, because XMARK
13067 and friends won't work on an integer field if NO_UNION_TYPE is not
13068 defined.
52283633 13069 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 13070
52283633 13071 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
13072 (syms_of_composite): Delete local var NARGS, pass an int as first
13073 argument to Fmake_hash_table.
13074
2387b382
KR
13075 * editfns.c (text_property_stickiness): Use NILP to test
13076 Lisp_Object boolean value.
13077 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
13078 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13079 problems reading from and changing the same lisp value in an
13080 XSETSTRING call.
13081
27660e89
GM
130822000-04-01 Gerd Moellmann <gerd@gnu.org>
13083
13084 * term.c (TN_no_color_video): New variable.
13085 (term_init): Intitialize TN_no_color_video.
13086 (enum no_color_bit): New enumeration.
13087 (MAY_USE_WITH_COLORS_P): New macro.
13088 (turn_on_face): Use it to determine if attributes may be used
13089 combined with colors.
13090
3578db3c
KR
130912000-04-01 Ken Raeburn <raeburn@gnu.org>
13092
13093 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 13094 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
13095 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13096 proper accessor macros.
13097 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13098 (grow_mini_window): Fix typo getting int value of root->height.
13099
6fc556fd
KR
13100 * xdisp.c (compute_string_pos): Fix order of arguments to
13101 string_pos_nchars_ahead.
13102 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13103 count arg to variable-arg routines like Frun_hook_with_args and
13104 Fformat.
587a49ab
GM
13105 (back_to_previous_visible_line_start)
13106 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
13107 fixed-arg routines like Fget_char_property and Fmake_string.
13108 (reconsider_clip_changes): Use XINT when comparing integer lisp
13109 objects, or passing them as int arguments.
587a49ab
GM
13110 (mark_window_display_accurate, insert_left_trunc_glyphs)
13111 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
13112 storing or passing integer values as lisp objects.
13113 (set_cursor_from_row, highlight_trailing_whitespace): Use
13114 INTEGERP, not implicit test against zero, for glyph object.
13115 (try_window_id): Don't use make_number when we want an int value.
13116
13117 * xfaces.c (xlfd_symbolic_value): Make last argument a
13118 Lisp_Object, to be consistent with callers.
13119 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13120 (lface_hash): Apply XFASTINT to lisp values before folding in.
13121
13122 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13123 fill in window width and height. Pass an int, not a lisp object,
13124 as first arg to Finsert.
13125
6e7b2457
GM
131262000-04-01 Gerd Moellmann <gerd@gnu.org>
13127
610d841e
GM
13128 * xfaces.c (realize_basic_faces): Block input while realizing
13129 the faces.
13130
6e7b2457
GM
13131 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13132
13133 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13134
aa110c0c
GM
131352000-03-31 Gerd Moellmann <gerd@gnu.org>
13136
13137 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 13138 or ASCII, handle case that per-char metric is null.
aa110c0c 13139
8801a864
KR
131402000-03-30 Ken Raeburn <raeburn@gnu.org>
13141
c6129d7e
KR
13142 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13143
52283633
SM
13144 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13145 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
13146 pointer, using eassert.
13147 * frame.h (XFRAME): Likewise.
13148
52283633
SM
13149 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13150 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13151 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 13152 * data.c (set_internal): Likewise.
52283633
SM
13153 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13154 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
13155 * fileio.c (auto_save_1): Likewise.
13156 * insdel.c (check_markers): Likewise.
13157 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13158 * undo.c (record_insert): Likewise.
13159 * vmsproc.c (child_sig): Likewise.
13160 * window.c (unshow_buffer, window_loop): Likewise.
13161 * xterm.c (x_erase_phys_cursor): Likewise.
13162
8e7af858
GM
131632000-03-30 Gerd Moellmann <gerd@gnu.org>
13164
13165 * xfns.c (free_image_cache): Free the cache structure itself
13166 last, after all its members have been freed.
13167
13168 * lisp.h (xstrdup): Add prototype.
13169
13170 * alloc.c (xstrdup): Moved here from xfaces.c.
13171 (allocating_for_lisp): Variable removed.
52283633 13172 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
13173
13174 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13175 of Fsymbol_value.
13176 (xstrdup): Moved to alloc.c.
13177
e0b8c689
KR
131782000-03-29 Ken Raeburn <raeburn@gnu.org>
13179
b96f9fb7
KR
13180 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13181
13182 * emacs.c (main): Fix sense of no-loadup test.
13183
e0b8c689
KR
13184 * config.in (ENABLE_CHECKING): Undef.
13185
13186 * lisp.h (struct interval): Replace "parent" field with a union of
13187 interval pointer and Lisp_Object; add new bitfield to use as
13188 discriminant. Change other flag fields to bitfields.
13189 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
13190 is defined and the supplied test fails, print a message and abort.
13191 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
13192
13193 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13194 pointers; abort if the value looks like a lisp object.
52283633
SM
13195 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13196 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
13197 Modify for new interval parent definition.
13198
52283633
SM
13199 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13200 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
13201 addressable lisp object in the interval structure.
13202 (die): New function.
13203 (suppress_checking): New variable.
13204
13205 * intervals.c (interval_start_pos): Just return 0 if there's no
13206 parent object.
13207
f83c5440
GM
132082000-03-29 Gerd Moellmann <gerd@gnu.org>
13209
13210 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13211 and earlier Emacs versions.
13212
13213 * keyboard.c (Ftop_level): Cancel busy-cursor.
13214
13215 * eval.c (call_debugger): Cancel busy-cursor.
13216
fdce64ff
KH
132172000-03-29 Kenichi Handa <handa@etl.go.jp>
13218
13219 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 13220 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 13221
f6a3f532
SM
132222000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13223
13224 * regex.c (analyse_first): New function obtained by ripping out most
13225 of re_compile_fastmap and generalizing it a little bit so that it
13226 can also just return whether a given (sub)pattern can match the empty
13227 string or not.
13228 (regex_compile): Use `analyse_first' to decide whether the loop-check
13229 needs to be done or not for *, +, *? and +? (the loop check is costly
13230 for non-greedy repetition).
13231 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13232
e9b309ac
DL
132332000-03-28 Dave Love <fx@gnu.org>
13234
52283633 13235 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 13236
e9b309ac
DL
13237 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13238
ed0767d8
SM
132392000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13240
13241 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13242 an expression.
13243 (enum re_opcode_t): Update description of succeed_n.
13244 (PATFETCH): Always define.
13245 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13246 operators, char classes, shy-groups and intervals).
13247 Optimize special cases of intervals so as to only use succeed_n and
13248 jump_n when really needed.
13249 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13250 that we don't have to handle the special cases any more.
13251 Simplify on_failure_jump handling as well.
13252
e11e7e46
JR
132532000-03-28 Jason Rumney <jasonr@gnu.org>
13254
13255 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13256
88faab89
GM
132572000-03-27 Gerd Moellmann <gerd@gnu.org>
13258
182ff242
GM
13259 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13260
13261 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 13262
182ff242
GM
13263 * alloc.c (mark_maybe_object): New function.
13264 (mark_memory): Use it.
13265 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13266 (setjmp_tested_p, longjmp_done): New variables.
13267 (test_setjmp): New function.
13268 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13269 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13270
c1005d06
GM
13271 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13272 to DEC_TEXT_POS and INC_TEXT_POS.
13273
13274 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13275 with parameter MULTIBYTE_P.
13276
52283633 13277 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 13278
7439e5b9 13279 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
13280 buffers because it looks for multibyte character byte sequences
13281 which don't exist in unibyte text.
7439e5b9 13282
d9c545da
GM
13283 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13284
11fd416e 13285 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
13286 [DEBUG_X_COLORS]: New functions.
13287 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13288
13289 * xfns.c (x_set_cursor_color): Get color reference counts right.
13290
13291 * xterm.c (x_copy_color): New function.
13292 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13293
13294 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13295 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13296 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13297 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13298 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13299 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13300 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13301 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13302 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13303 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13304
11fd416e
GM
13305 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13306 names for handling per-buffer variables.
d9c545da
GM
13307
13308 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13309 instead of MAX_BUFFER_LOCAL_VARS.
13310 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13311
13312 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13313
88faab89
GM
13314 * xfns.c (x_specified_cursor_type): New function.
13315 (x_set_cursor_type): Use it.
13316
13317 * buffer.h (struct buffer): Add cursor_type.
13318
d80f42b7
SM
133192000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13320
13321 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
13322 (print_partial_compiled_pattern, re_compile_fastmap):
13323 Handle new opcode.
d80f42b7
SM
13324 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13325 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13326 executing it as well as when popping it off the stack to find infinite
13327 loops in non-greedy repetition operators.
13328
89e80928
GM
133292000-03-26 Gerd Moellmann <gerd@gnu.org>
13330
3d4ff2dd
GM
13331 * doc.c (Qfunction_documentation): New variable.
13332 (syms_of_doc): Initialize Qfunction_documentation.
13333 (Fdocumentation): If FUNCTION is a symbol with non-nil
13334 `function-documentation' property, return a documentation derived
13335 from that.
13336
bd96bd79
GM
13337 * buffer.c (syms_of_buffer): Add default-cursor-type.
13338 (init_buffer_once): Don't let cursor_type have a local value
13339 in every buffer.
13340
19d1bc27
GM
13341 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13342 on buffer-local value of cursor_type.
13343 (x_draw_bar_cursor): Add parameter WIDTH.
13344
13345 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13346 (init_buffer_once): Set default cursor_type value to t.
13347 Mark cursor_type as local everywhere.
13348 (syms_of_buffer): New per-buffer variable cursor-type.
13349
89e80928
GM
13350 * buffer.h (struct buffer): Remove member local_var_flags,
13351 add local_flags.
13352 (MAX_BUFFER_LOCAL_VARS): New macro.
13353 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13354 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13355 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13356 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13357
52283633 13358 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
13359
13360 * category.c (Fset_category_table): Use new macros for per-buffer
13361 variables.
13362
13363 * buffer.c (buffer_permanent_local_flags): Make a char array.
13364 (max_buffer_local_idx): New variable.
13365 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13366 for new handling of per-buffer variables.
13367 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13368 (init_buffer_once): Initialize per-buffer vars differently.
13369 Set max_buffer_local_idx.
13370
13371 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13372 variables.
13373
52283633 13374 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
13375
13376 * data.c (do_symval_forwarding, store_symval_forwarding)
13377 (find_symbol_value, set_internal, default_value, Fset_default)
13378 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13379 per-buffer variables.
13380
13381 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13382
9a0dd3dc
GM
133832000-03-24 Gerd Moellmann <gerd@gnu.org>
13384
b68c375f
GM
13385 * xterm.c (x_term_init): Unblock input around call1 of
13386 Qvendor_specific_keysyms.
13387
9a0dd3dc
GM
13388 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13389 (find_defun_start): Consider an open parenthesis in column 0
13390 a defun start only if open_paren_in_column_0_is_defun_start is set.
13391 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13392
7973e637
SM
133932000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13394
13395 * eval.c (Fautoload): Add entry in load-history (if after dump).
13396 * lread.c (load-history): Update docstring.
13397
39210e90
GM
133982000-03-24 Gerd Moellmann <gerd@gnu.org>
13399
13400 * indent.c (Fvertical_motion): Always use the current buffer.
13401 Temporarily change the window's buffer, if necessary.
13402
72db3ab5
GM
134032000-03-23 Gerd Moellmann <gerd@gnu.org>
13404
13405 * xterm.c (fast_find_position): Make sure not to consider rows
13406 not visible in the window.
13407
990b2375
SM
134082000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13409
13410 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13411 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13412
ff4df011
JR
134132000-03-22 Jason Rumney <jasonr@gnu.org>
13414
13415 * w32menu.c (single_submenu): Set help string to NULL if none.
13416 (w32_menu_show): Set help string correctly.
13417 (add-menu-item): Set help string in MIIM_DATA for menu item.
13418 Load SetMenuItemInfoA explicitly.
13419 (w32_menu_display_help): New function.
427ec082 13420
ff4df011
JR
13421 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13422 (QCdata): Moved to xdisp.c.
13423
13424 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13425 (Vw32_charset_to_codepage_alist): Removed.
13426 (Vw32_charset_info_alist): New variable.
52283633
SM
13427 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13428 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13429 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
13430 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13431 with TODO comment.
13432 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13433 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13434 Define Vw32_charset_info_alist and w32_charset symbols.
13435
134362000-03-22 Jason Rumney <jasonr@gnu.org>
13437
13438 * makefile.nt (w32bdf.obj): Update dependencies.
13439
13440 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13441
13442 * w32fns.c: Include fontset.h after dispextern.h.
13443 (Fx_create_frame): Do not create fontset.
13444 (w32_load_system_font): Doc fix.
13445 (Fx_close_connection): Free full_name if it is not shared.
13446
13447 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
13448 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13449 Callers updated.
ff4df011
JR
13450 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13451 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13452 (w32_font_is_double_byte): New function, needs body.
13453 (x_append_glyph): Set glyph->glyph_not_available_p.
13454 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13455 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13456 character, convert it to a unibyte character.
13457 (struct glyph_string): Delete member `charset'.
13458 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13459 calculating it is found.
13460 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13461 the case that per char metric is not available correctly.
13462 (x_fill_glyph_string): Handle the case that the specific glyph is
13463 not available correctly.
13464 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13465 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13466 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13467 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13468 fontset. Don't call FS_LOAD_FONT.
13469
439d5cb4
KR
134702000-03-22 Ken Raeburn <raeburn@gnu.org>
13471
13472 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13473 (INT_LISPLIKE): New macro.
13474 (NULL_INTERVAL_P): Use it.
52283633
SM
13475 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13476 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13477 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
13478
13479 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13480 explicit references to "parent" field of struct interval and
13481 associated unclean type conversions.
52283633
SM
13482 * intervals.c (create_root_interval, root_interval, rotate_right)
13483 (rotate_left, balance_possible_root_interval, split_interval_right)
13484 (split_interval_left, interval_start_pos, find_interval)
13485 (next_interval, previous_interval, update_interval)
13486 (adjust_intervals_for_insertion, delete_node, delete_interval)
13487 (adjust_intervals_for_deletion, merge_interval_right)
13488 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13489 (copy_intervals_to_string): Likewise.
439d5cb4
KR
13490 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13491 Likewise.
13492 * syntax.c (update_syntax_table): Likewise.
13493
13494 * intervals.c (reproduce_tree_obj): New function, like
13495 reproduce_tree but takes a Lisp_Object for the parent. Declare
13496 with prototype.
13497 (graft_intervals_into_buffer): Use it when appropriate.
13498 (reproduce_tree): Declare with prototype.
13499 (balance_possible_root_interval): Check that the parent is a lisp
13500 object before trying to examine its type.
13501
ee1c5b21
GM
135022000-03-22 Gerd Moellmann <gerd@gnu.org>
13503
13504 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13505 as strings only if both are known to be strings.
13506
13507 * s/openbsd.h (LIBS_TERMCAP): Undef.
13508
1fb352e0
SM
135092000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13510
13511 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13512 definitions for non-Emacs compilation.
13513 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13514 outside of `#ifdef emacs'.
13515 (print_partial_compiled_pattern): Update.
13516 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13517 (re_compile_fastmap): Merge handling of charset and charset_not (for
13518 emacs and non-emacs compilation as well).
13519 Similarly for (not)categoryspec and (not)syntaxspec.
13520 Don't use the fastmap when reaching `anychar' since the added
13521 complexity is not justified.
13522 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13523 and (not)syntaxspec. Merge (not)categoryspec.
13524
fdaa1f77
KH
135252000-03-22 Kenichi Handa <handa@etl.go.jp>
13526
52283633
SM
13527 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13528 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 13529 --without-x.
fdaa1f77 13530
d152fb46
DL
135312000-03-21 Dave Love <fx@gnu.org>
13532
13533 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13534 doc string.
13535
d2cafc8c
GM
135362000-03-21 Gerd Moellmann <gerd@gnu.org>
13537
13538 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13539 (lface_fully_specified_p): Don't check contents of
13540 LFACE_FONT_INDEX because that attribute is optional.
13541 (realize_x_face): Remove now unwarranted xassert.
13542
9111d4b5
KH
135432000-03-21 Kenichi HANDA <handa@etl.go.jp>
13544
13545 The following changes are to make font selection based on
13546 characters, not charset. In addition, they recover fontset
13547 facilities while utilizing the new font selection mechanism.
13548
6c4bfdc0
KH
13549 * Makefile.in (fontset.o): Depend on dispextern.h.
13550
13551 * alloc.c (mark_face_cache): Don't mark face->registry.
13552
9111d4b5
KH
13553 * dispextern.h (struct glyph): New member glyph_not_available_p.
13554 Use 22 bits for face_id.
13555 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13556 (struct face): Delete member registry, new member ascii_face.
13557 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13558 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13559 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 13560 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
13561
13562 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13563 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
13564 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13565 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 13566 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
13567 (fs_free_face_fontset, fontset_font_pattern)
13568 (face_suitable_for_char_p, face_for_char)
13569 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
13570 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13571 (FS_LOAD_FACE_FONT): New macro.
13572
13573 * fontset.c: All codes rewritten or adjusted for the change of
13574 fontset implementation. Now fontset is represented by char table.
52283633
SM
13575 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13576 Variables removed.
9111d4b5 13577 (my_strcasecmp): Function removed.
52283633 13578 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 13579 (AREF, ASIZE): New macros.
52283633
SM
13580 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13581 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13582 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13583 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13584 (fontset_id_valid_p, font_family_registry, fontset_name)
13585 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13586 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
13587 New functions.
13588 (fs_load_font): New arg FACE. Caller changed.
13589 (fs_query_fontset): Argument changed. Caller changed.
13590 (Fquery_fontset): call fs_query_fontset.
13591 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13592 Functions removed.
52283633
SM
13593 (clear_fontset_elements, check_registry_encoding)
13594 (check_fontset_name): New functions.
9111d4b5
KH
13595 (syms_of_fontset): Set char-table-extra-slots property of fontset
13596 to 3. Staticpro and initialize Vfontset_table and
13597 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13598
13599 * frame.h (struct frame): Member `fontset_data' removed.
13600 (FRAME_FONTSET_DATA): Macro removed.
13601
13602 * frame.c (make_frame): Don't allocate f->fontset_data.
13603 (Fdelete_frame): Don't free f->fontset_data.
13604
6c4bfdc0
KH
13605 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13606
9111d4b5
KH
13607 * xdisp.c (charset_at_position): Function removed.
13608 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
13609 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13610 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
13611 Likewise.
13612 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13613 FACE_FOR_CHARSET.
52283633
SM
13614 (get_next_display_element, append_space)
13615 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
13616
13617 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13618 Variables removed.
13619 (clear_font_table, frame_update_line_height, load_face_font):
13620 Adjusted for the change of fontset implementation.
13621 (load_face_fontset_font): Function removed.
13622 (pixel_point_size): New function.
13623 (font_list): Argument type changed. Caller changed.
13624 (LFACE_FONT): New macro.
13625 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13626 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13627 Lisp_Object. Determine the font name by actually loading a font
13628 by the specified pattern. Set LFACE_FONT (lface) to the specified
13629 pattern. Even if a font is not found, don't try alternatives.
13630 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13631 (set_font_frame_param): If `font' is specified in lface, use it.
13632 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13633 (lface_same_font_attributes_p): Likewise.
13634 (make_realized_face): Arguent changed. Caller changed. Set
13635 face->ascii_face to face itself.
13636 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
13637 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13638 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
13639 (free_realized_multibyte_face): New function.
13640 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13641 changed. Caller changed.
13642 (try_font_list): Argument type changed.
13643 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13644 (choose_face_font): Argument changed. Handle fontset properly.
13645 (choose_face_fontset_font): Function removed.
13646 (realize_default_face, realize_named_face): Don't remove the
13647 former face here.
13648 (realize_face): Argument changed. Caller changed. Remove face
52283633 13649 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
13650 (realize_x_face): Argument changed. Caller changed. For a
13651 multibyte character, share fontset with base_face. For a single
52283633 13652 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
13653 (realize_tty_face): Argument changed. Caller changed.
13654 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13655 (face_at_buffer_position): Don't check multibyte_p for returning
13656 DEFAULT_FACE_ID.
13657 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13658 FACE_SUITABLE_FOR_CHARSET_P.
13659 (syms_of_xfaces): Remove code for Qx_charset_registry and
13660 Vface_default_registry.
13661
6c4bfdc0
KH
13662 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13663 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
13664 (x_per_char_metric): Don't try FONT->default_char. Even if
13665 pcm->width is zero, glyph bits may exist.
13666 (x_encode_char): Always initialize char2b->byte1.
13667 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 13668 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
13669 (x_append_glyph): Set glyph->glyph_not_available_p.
13670 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13671 it->charset. Handle the case that per char metric is not
13672 available. If it->multibyte_p is zero and it->c is a multibyte
13673 character, convert it to a unibyte character.
13674 (struct glyph_string): Delete member `charset'.
13675 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13676 the case that per char metric is not available correctly.
13677 (x_fill_glyph_string): Handle the case that the specific glyph is
13678 not available correctly.
13679 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13680 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13681 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13682 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13683 fontset. Don't call FS_LOAD_FONT.
13684
13685 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13686 (x_create_tip_frame): Likewise.
13687 (Fx_close_connection): Free full_name of font_info.
13688
13689 * fns.c (optimize_sub_char_table): New function.
13690 (Foptimize_char_table): New function.
13691 (syms_of_fns): Defsubr Soptimize_char_table.
13692
b33dd3b0
GM
136932000-03-20 Gerd Moellmann <gerd@gnu.org>
13694
13695 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13696 only if buffer is displayed in some window.
13697
13698 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13699 (try_window_reusing_current_matrix): Don't call scroll run
13700 function if run's current and desired position are the same;
13701 this prevents cursor flickering.
13702
4e8a9132
SM
137032000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13704
13705 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13706
13707 * regex.c (RE_STRING_CHAR): New macro.
13708 (GET_CHAR_AFER_2): Remove.
13709 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13710 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13711 (print_partial_compiled_pattern, re_compile_fastmap)
13712 (re_match_2_internal): Remove on_failure_jump_exclusive.
13713 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13714 optimization only need to work for * (ie. can use of_keep_string_jump).
13715 Remove the special case for .*\n since it is now covered by the general
13716 optimization.
13717 (re_search_2): Don't bother with `room'.
13718 (skip_one_char): New function.
13719 (skip_noops): Simplify since `memory' is not needed any more.
13720 (mutually_exclusive_p): Restructure slightly to use `switch' and
13721 add handling for "all" remaining cases.
13722 (re_match_2_internal): Change on_failure_jump_smart to use
13723 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13724 rather than on_failure_jump_exclusive.
13725
2136fdd4
GM
137262000-03-19 Gerd Moellmann <gerd@gnu.org>
13727
13728 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13729 number of bits per RGB because it's everywhere used as the depth
13730 of the visual.
13731
13732 * term.c (calculate_costs): Remove code dealing with X frames.
13733
18e21ce8 137342000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
13735
13736 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13737
d7b511c4
GM
137382000-03-18 Gerd Moellmann <gerd@gnu.org>
13739
13740 * lread.c (read_integer): Unread the last char not consumed.
13741
16b5d424
GM
137422000-03-17 Gerd Moellmann <gerd@gnu.org>
13743
13744 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 13745 which are in the process of being deleted.
16b5d424 13746
1fa28578
GM
137472000-03-16 Gerd Moellmann <gerd@gnu.org>
13748
83488cce
GM
13749 * Makefile.in (mostlyclean): Add `*.core'.
13750 (clean): Add `bootstrap-emacs'.
13751
1fa28578
GM
13752 * lread.c (read_integer): New function.
13753 (read1): Support read syntax #o, #x, #b, #r.
13754
99633e97
SM
137552000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13756
1fa28578
GM
13757 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13758 make sure POINTER_TO_OFFSET gives the same value before and after
13759 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
13760 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13761 (debug): Now only active if > 0 rather than if != 0.
13762 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
13763 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13764 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13765 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
13766 (store_op1, store_op2, insert_op1, insert_op2)
13767 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
13768 (group_in_compile_stack): Move to after its arg's types are
13769 declared and add a prototype.
99633e97 13770 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 13771 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 13772 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
13773 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13774 indentation of the greedy-op and shy-group code.
99633e97
SM
13775 (at_(beg|end)line_loc_p): Fix argument's types.
13776 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13777 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13778 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
13779 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13780 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13781 QUIT unconditionally.
99633e97 13782
699238d9
GM
137832000-03-15 Gerd Moellmann <gerd@gnu.org>
13784
13785 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13786 a sole completion.
13787
13788 * process.c (send_process): Add a hint that the function
13789 can call Lisp code to its comment.
13790
13791 * lread.c (load_dangerous_libraries): New variable.
13792 (Vbytecomp_version_regexp): New variable.
13793 (safe_to_load_p): New function.
13794 (Fload): Handle files not compiled with Emacs specially.
13795 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13796
34e23e5a
GM
137972000-03-14 Gerd Moellmann <gerd@gnu.org>
13798
9c763cca
GM
13799 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13800
13801 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13802 support functions only if HAVE_X11R6_XIM is defined.
13803 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13804
13805 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13806
13807 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13808 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13809 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13810
13811 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13812 (HAVE_X11R6_XIM): Define.
13813
13814 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13815
34e23e5a
GM
13816 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13817 If set, call XSynchronize.
13818
66f0296e
SM
138192000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13820
34e23e5a
GM
13821 * regex.c: Declare a new type `re_char' used throughout the code
13822 for the string char type. It's `const unsigned char' to match the
13823 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13824 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13825 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13826 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13827 code duplication.
66f0296e
SM
13828
13829 * charset.h (GET_CHAR_AFTER_2): Remove.
13830 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13831
854a025c
KR
138322000-03-12 Ken Raeburn <raeburn@gnu.org>
13833
13834 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13835 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13836 of them try to use backquotes.
13837
b9d2c7e2
DL
138382000-03-12 Dave Love <fx@gnu.org>
13839
13840 * unexelf.c: Restore changes of 1999-10-19.
13841 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13842 fix its type and alignment; copy it from current process.
13843
5e5dff44
GM
138442000-03-12 Gerd Moellmann <gerd@gnu.org>
13845
9b2f3c38
GM
13846 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13847 has been found. Fix bug not computing timer's predecessor.
13848
427ec082 13849 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13850 file name.
13851
e1cff360
GM
13852 * window.c (Fsave_window_excursion): Doc fix.
13853
52283633 13854 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13855
e411ce4b
EZ
138562000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13857
13858 * msdos.c (vga_installed): New function, code moved from
13859 dos_set_window_size.
13860 (Qbar, Qcursor_type, outside_cursor): New variables.
13861 (syms_of_msdos): Intern and staticpro them.
13862 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13863 shape used outside Emacs when called for the first time.
13864 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13865 cursor shape used outside Emacs.
13866 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13867 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13868 type has changed.
13869 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13870 parameters specify the cursor. Make qreverse a global
13871 variable (renamed to Qreverse).
13872
80460654
GM
138732000-03-09 Gerd Moellmann <gerd@gnu.org>
13874
13875 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13876
95cd4c40
SM
138772000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13878
13879 This is a big redesign of failure-stack and register handling, prompted
13880 by bugs revealed when trying to add shy-groups. Overall, what happened
13881 is that loops are now structured a little differently, groups can be
13882 shy and the code is a little simpler.
13883
13884 * regex.h: Update the copyright.
13885 (RE_SHY_GROUPS): New value.
13886 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13887 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13888
80460654
GM
13889 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13890 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13891 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13892 for (start|stop)_memory since they now only take one argument (the
13893 second has becomes unnecessary).
52283633 13894 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13895 (print_compiled_pattern): Use %ld to printf long ints and flush to
13896 make debugging a little easier.
95cd4c40
SM
13897 (union fail_stack_elt): Make the integer unsigned.
13898 (struct fail_stack_type): Add a `frame' element.
13899 (INIT_FAIL_STACK): Init `frame' as well.
13900 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13901 (DEBUG_PUSH, DEBUG_POP): Remove.
13902 (NUM_REG_ITEMS): Remove.
13903 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13904 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13905 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13906 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13907 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13908 New macros.
80460654
GM
13909 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13910 address pushed is not the destination of the jump but the source
13911 of it instead.
95cd4c40
SM
13912 (NUM_FAILURE_ITEMS): Remove.
13913 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13914 registers before the actual failure point). Don't hardcode any
13915 meaning for str==NULL anymore.
95cd4c40 13916 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13917 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13918 Remove.
95cd4c40
SM
13919 (REG_UNSET_VALUE): Use NULL (why not?).
13920 (compile_range): Remove declaration since it doesn't exist.
13921 (struct compile_stack_elt_t): Remove inner_group_offset.
13922 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13923 (regex_grow_registers): Remove dead code.
13924 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13925 (regex_compile): Add shy-groups Change loops to use
13926 on_failure_jump_smart&jump instead of
13927 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13928 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13929 variable to me). Use `jump' instead of `jump_past_alt' and don't
13930 bother with push_dummy_failure in alternatives since it is now
13931 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13932 emacs' for (re)allocating the stack.
13933 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13934 from loop when bufp->can_be_null rather than jumping to `done'.
13935 Avoid jumping backwards so as to ensure termination. Use
13936 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13937 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13938 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13939 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13940 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13941 (lowest_active_reg, highest_active_reg)
13942 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13943 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13944 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13945 variables. Push register (in `start_memory') on the stack rather
13946 than storing it in old_reg(start|end). Remove the cycle detection
13947 from `stop_memory', replaced by the use of on_failure_jump_loop
13948 for greedy loops. Add code for the new on_failure_jump_<foo>.
13949 Remove ad-hoc code in `on_failure_jump' to push more registers in
13950 the case of a loop. Take out code from `maybe_pop_jump' into
13951 separate functions and adapt it to the semantics of
13952 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13953 and push_dummy_failure. Remove dummy_failure handling and
13954 handling of `failures to jump to on_failure_jump' (this last one
13955 was already dead code, it seems).
13956 (group_match_null_string_p, alt_match_null_string_p)
13957 (common_op_match_null_string_p): Remove.
95cd4c40 13958
7397acc4
DL
139592000-03-08 Dave Love <fx@gnu.org>
13960
13961 * config.in: Don't depend on __STDC__ for volatile.
13962 Add POINTER_TYPE, PTR, PROTOTYPES.
13963
13964 * hftctl.c, strftime.c: Use PROTOTYPES.
13965 * eval.c (find_handler_clause): Likewise.
13966
13967 * mem-limits.h: Use POINTER_TYPE.
13968
13969 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13970 (memory_warnings): Declare using POINTER_TYPE.
13971
5e91ff9e
GM
139722000-03-08 Gerd Moellmann <gerd@gnu.org>
13973
feab4fba
GM
13974 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13975
52283633 13976 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13977
5e91ff9e
GM
13978 * xfns.c: Remove obsolete code in #if 0.
13979 (Fx_focus_frame): New function.
13980
a735b7e1
KH
139812000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13982
13983 * coding.c (coding_category_name): Add coding-category-utf-8,
13984 coding-category-utf-16-be, coding-category-utf-16-le.
13985 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13986 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13987 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13988 (detect_coding_utf_8): New function.
13989 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13990 UTF_16_LOW_SURROGATE_P): New macros.
13991 (detect_coding_utf_16): New function
13992 (detect_coding_mask): When priorities are specified, skip any
13993 categories that have `nil' coding-system. Fix bug of returning
13994 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13995 returns a mask not set in PRIORITIES.
13996 (detect_eol_type_in_2_octet_form): New function.
13997 (detect_eol): selects detect_eol_type_XXX to call according to
13998 cooding->category_idx.
13999 (detect_coding_system): Remove `nil' coding-system in the result.
14000 (Fupdate_coding_systems_internal): Update all coding-categories.
14001
52283633
SM
14002 * coding.h (CODING_CATEGORY_IDX_UTF_8)
14003 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
14004 New macros.
14005 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
14006 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
14007 (CODING_CATEGORY_IDX_UTF_16_LE)
14008 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
14009 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
14010 (CODING_CATEGORY_MASK_ANY): Include the above macros.
14011 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
14012
9994cc69
GM
140132000-03-07 Gerd Moellmann <gerd@gnu.org>
14014
e9b4e5ff
GM
14015 * doc.c (Fdocumentation_property): If value is not a string,
14016 and doesn't refer to etc/DOC, evaluate it to obtain a string.
14017
f7daf1e1
GM
14018 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
14019 close the display with XtCloseDisplay. This caused a bus error
14020 on OpenWindows.
14021
9994cc69
GM
14022 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
14023 complete but not unique.
14024
4336c705
GM
140252000-03-06 Gerd Moellmann <gerd@gnu.org>
14026
18bb0684
GM
14027 * process.c (send_process): Remove local variable `procname' that
14028 might become invalid when a GC happens. Instead, access the
14029 process name slot directly.
14030
4336c705
GM
14031 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
14032 orig_height if set.
14033
14034 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14035 orig_height if set.
14036
515d0d0e
EZ
140372000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14038
14039 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14040 glyph matrices have been freed.
14041
100b3cbb
GM
140422000-03-05 Gerd Moellmann <gerd@gnu.org>
14043
50df5e5a 14044 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 14045 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
14046
14047 * xfns.c (QCdata): Moved to xdisp.c.
14048
14049 * xdisp.c (QCdata): Moved here from xfns.c.
14050 (syms_of_xdisp): Initialize QCdata.
14051
14052 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14053
14054 * window.c (coordinates_in_window): Use
14055 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14056 FRAME_INTERNAL_BORDER_WIDTH.
14057
100b3cbb 14058 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 14059 it is obviously invalid.
100b3cbb
GM
14060
14061 * xterm.c (x_term_init): Create a colormap if not using the
14062 default visual.
14063
14064 * xterm.h (select_visual): Change prototype.
14065
14066 * xfns.c (select_visual): Rewritten. Recognize user-specified
14067 visual classes.
14068 (visual_classes): New variable.
14069
64d739c4
GM
140702000-03-04 Gerd Moellmann <gerd@gnu.org>
14071
14072 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14073 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14074 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 14075 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
14076 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14077 XtNcolormap resources.
14078 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14079 (Fx_create_frame): Initialize color members of x_output structure.
14080 (xpm_load): Pass colormap to XPM lib.
14081
14082 * xfaces.c (x_free_colors): Access colormap of frame using
14083 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14084 when default colormap is used.
14085
14086 * xterm.c (x_term_init): Set Colormap member of x_display_info
14087 structure. Copy colormap if resource `privateColormap' is
14088 specified (PseudoColor only).
14089 (x_setup_relief_color): Access colormap of frame using
14090 FRAME_X_COLORMAP.
14091
14092 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14093 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14094
c3cee013
JR
140952000-03-04 Jason Rumney <jasonr@gnu.org>
14096
14097 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14098 other non-platform-specific equivalents.
64d739c4 14099 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
14100 specific functions and macros as their w32 equivalents where
14101 non-platform-specifics are not available.
14102 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14103 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14104 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14105 (frame_update_line_height): Use macros to access f->output_data.
14106 (defined_color): Remove FIXME comments; fixed.
14107 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14108 into #ifdef blocks. Add WINDOWSNT blocks.
14109 (Fx_list_fonts): Use macros for accessing font data.
14110 (set_lface_from_font_name): Different default fonts for X and
14111 WINDOWSNT.
14112 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14113 scalable for backward compatibility.
64d739c4 14114 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
14115 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14116
64d739c4 14117 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
14118 syms_of_w32faces.
14119
14120 * makefile.nt (w32faces.obj): Remove.
14121 (xfaces.obj): Add.
14122
807cc41c
JR
141232000-03-03 Jason Rumney <jasonr@gnu.org>
14124
14125 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14126 correct parameters.
14127
0007072a
KR
141282000-03-03 Ken Raeburn <raeburn@gnu.org>
14129
14130 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14131 standard ELF definitions here if the system header does not.
14132
71a6ba55
GM
141332000-03-03 Gerd Moellmann <gerd@gnu.org>
14134
14135 * xterm.c (PER_CHAR_METRIC): Removed.
14136 (x_per_char_metric_1, x_default_char): New functions.
14137 (x_per_char_metric): If font's default char is invalid, return
14138 metrics of a suitably chosen usable default char.
14139 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
14140 char, replace occurrences of unprintable chars with a suitably
14141 chosen usable default char.
71a6ba55 14142
900fa1f1
GM
141432000-03-02 Gerd Moellmann <gerd@gnu.org>
14144
42f55fe0
GM
14145 * xterm.c (note_mouse_highlight): Return quickly if frame's
14146 glyph matrices have been freed.
14147
14148 * dispnew.c (free_glyphs): Block input while freeing matrices.
14149
900fa1f1
GM
14150 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14151
52283633
SM
14152 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14153 Use x_free_colors.
900fa1f1
GM
14154
14155 * dispextern.h (x_free_colors): Add prototype.
14156
14157 * xfaces.c (x_free_colors): New function.
14158 (unload_color, free_face_colors): Use it.
14159
2f950292
EZ
141602000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14161
14162 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14163
14164 * window.c [MSDOS]: Include msdos.h.
14165
54d04320
DL
141662000-03-02 Dave Love <fx@gnu.org>
14167
14168 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14169
14170 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14171 set C_OPTIMIZE_SWITCH for gcc.
14172
0ba93ac4
KH
141732000-03-02 Kenichi Handa <handa@etl.go.jp>
14174
14175 * coding.c (coding_save_composition): Be sure to allocate
14176 composition data area in coding even if there's no composition in
14177 the current run.
14178
a2bc11d4
JR
141792000-03-01 Jason Rumney <jasonr@gnu.org>
14180
14181 * w32term.c: Equivalent changes to those made to xterm.c on
14182 2000-02-25 and 2000-02-24.
14183
14184 * w32fns.c: Equivalent changes to those made to xfns.c on
14185 2000-02-25 and 2000-02-21.
14186
14187 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14188 correct line-end convention is followed.
14189
14190 * w32menu.c [HAVE_BOXES]: Remove #undef.
14191 (single_keymap_panes): Remove code for simulating checkmarks.
14192 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14193 Remove code for drawing simulated checkmarks.
14194 (w32_menu_show): make unibyte help string correctly.
14195 (add_menu_item): draw standard Windows checkmarks. Draw radio
14196 buttons as radio buttons if possible.
14197
72d19d75
GM
141982000-03-01 Gerd Moellmann <gerd@gnu.org>
14199
2df636f4
GM
14200 * sysdep.c (start_of_text): Don't define this function for NetBSD
14201 with ELF.
14202
427ec082 14203 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
14204 Don't define.
14205 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14206 (LINKER): Don't undef if __NetBSD__ is defined.
14207
14208 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14209
14210 * fileio.c [__NetBSD__]: Define `unix'.
14211
72d19d75
GM
14212 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14213
ed4d0512
GM
142142000-02-29 Gerd Moellmann <gerd@gnu.org>
14215
50b1039f
GM
14216 * atimer.c (start_atimer): Don't abort when timers are stopped.
14217 (append_atimer_lists): New function.
14218 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14219 arbitrary lists of stopped and running atimers.
14220
ed4d0512
GM
14221 * atimer.c (cancel_atimer): Handle canceling an atimer when
14222 some timers are stopped.
14223
14224 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14225 after canceling it.
14226
14227 * fns.c (maybe_resize_hash_table): Handle case of new size
14228 coming out as being the same as old size.
14229
387023ee
JR
142302000-02-27 Jason Rumney <jasonr@gnu.org>
14231
14232 * makefile.nt: Add atimer.h to dependencies.
14233 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14234 * w32console.c: Only disable window system features for dispextern.h
14235 (initialize_w32_display): Build a display info for the console.
14236 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14237 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14238 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14239 as 2 button mice.
14240 * w32gui.h (struct W32FontStruct): Revert last change after change
14241 to xdisp.c.
14242 * w32menu.c (single_submenu): Set up help string.
14243 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14244 (w32_dialog_show): Set up help string.
14245 * w32term.c (w32_display_info_for_display): Remove unused function.
14246 (w32_draw_bitmap): Use pre-built bitmaps.
14247 (w32_initialize_display_info): New function to initialize parts of
14248 display info that are common to both GUI and console frames.
14249 (w32_term_init): Use w32_initialize_display_info. Do not set
14250 Vw32_num_mouse_buttons here, as it is not called for console
14251 frames. Build bitmaps for indicating truncated lines etc.
14252 (x_delete_display): Destroy pre-built bitmaps.
14253 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14254 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14255
4516715a
DL
142562000-02-27 Dave Love <fx@gnu.org>
14257
14258 * lisp.h: Add a bunch of prototypes.
14259
171ca836
KH
142602000-02-26 Kenichi Handa <handa@etl.go.jp>
14261
14262 * keyboard.c (read_char): Set `usec' correctly.
14263
4013921d
KH
142642000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14265
14266 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14267 `lambda', set reg[RRR] to the map index.
14268 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14269 reg[RRR] to 0. Otherwise, set it to -1.
14270
9244a058
GM
142712000-02-25 Gerd Moellmann <gerd@gnu.org>
14272
2df636f4 14273 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 14274
18e21ce8 142752000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 14276
f43d79c1
GM
14277 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14278 and contains a `:', prepend `/:'.
14279
14280 * window.c (select_window_1): If selected_window is nil,
14281 don't "swap out" the buffer's point.
14282 (Fset_window_configuration): Set selected_window to nil
14283 before calling Fselect_window.
14284 (unshow_buffer): Don't set point in buffer from window's point
14285 if another more recently selected window also shows the buffer.
14286
bed0c171
GM
142872000-02-25 Gerd Moellmann <gerd@gnu.org>
14288
449c3c52
GM
14289 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14290
f5b58615
GM
14291 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14292 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
14293 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14294 New variables.
f5b58615
GM
14295 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14296 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14297 (hide_busy_cursor): New functions.
14298 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14299
14300 * minibuf.c (read_minibuf): Cancel busy-cursor.
14301
14302 * keyboard.c (command_loop_1): Call start_busy_cursor before
14303 Fcommand_execute and cancel_busy_cursor after it.
14304 (timer_check): Remove busy-cursor code.
14305 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14306 cursor timer.
14307
14308 * process.c (wait_reading_process_input): Remove busy-cursor code.
14309
14310 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14311 Fx_hide_busy_cursor.
14312
14313 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14314 Remove prototyoes.
14315 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14316
14317 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14318
14319 * xterm.c (XTread_socket): Remove busy-cursor code.
14320
4eb8436f
GM
14321 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14322 (build_frame_matrix_from_leaf_window): Put code handling
14323 glyph row's not being a slice of a frame row in #if 0.
14324 (sync_window_with_frame_matrix_rows): New function.
14325 (frame_row_to_window): New function.
14326 (mirror_line_dance): Handle copies between windows.
14327
3cb65b0e
GM
14328 * lread.c (Fload): Use `xfree' instead of `free'.
14329 (init_obarray): Use `xmalloc' instead of `malloc'.
14330
bed0c171
GM
14331 * window.c (Fset_window_buffer): Set WINDOW to the window
14332 after decoding.
2add4349
GM
14333 (coordinates_in_window): Take frame's internal border width
14334 into account.
bed0c171 14335
42088c12
GM
143362000-02-24 Gerd Moellmann <gerd@gnu.org>
14337
14338 * xterm.c (x_display_and_set_cursor): Display cursor of
14339 non-selected windows depending on the setting of
14340 cursor_in_non_selected_windows.
14341
14342 * xdisp.c (cursor_in_non_selected_windows): New variable.
14343 (syms_of_xdisp): DEFVAR_BOOL it.
14344
d1e103b2
GM
143452000-02-23 Gerd Moellmann <gerd@gnu.org>
14346
723e779c
GM
14347 * data.c (Fstring_to_number): If number is greater than what
14348 fits into an integer, return a float.
14349
d1e103b2
GM
14350 * eval.c (specbind): Remove references to
14351 keyword_symbols_constant_flag.
14352
14353 * data.c (keyword_symbols_constant_flag): Removed.
14354 (Fmakunbound, set_internal, syms_of_data): Remove references to
14355 keyword_symbols_constant_flag.
14356
14357 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14358
214f877f
KH
143592000-02-23 Kenichi Handa <handa@etl.go.jp>
14360
14361 * syntax.c (multibyte_syntax_as_symbol): New variable.
14362 (syms_of_syntax): Declare it as a Lisp variable.
14363 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14364 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14365 nonzero, treat all multibyte characters as symbol.
52283633 14366 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 14367
130adcb7
EZ
143682000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14369
3cb65b0e 14370 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 14371 a deleted frame.
130adcb7 14372
17cbbf95
GM
143732000-02-21 Gerd Moellmann <gerd@gnu.org>
14374
14375 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14376
14377 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14378 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14379
beb0bc36
DL
143802000-02-21 Dave Love <fx@gnu.org>
14381
14382 * frame.c (Vmouse_position_function): New variable.
14383 (Fmouse_position): Use it.
14384 (syms_of_frame): Install it.
14385
14386 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14387
1d92afcd
GM
143882000-02-20 Gerd Moellmann <gerd@gnu.org>
14389
14390 * fileio.c (Finsert_file_contents): Unbind the binding of
14391 standard-output done by temp_output_buffer_setup.
329eed9f
GM
14392
14393 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14394 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14395 (specbind, unbind_to): Handle most common case of non-constant
14396 symbol with trivial value specially.
14397
14398 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14399
18e21ce8 144002000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
14401
14402 * data.c (Fmake_variable_buffer_local): Doc fix.
14403 Init found_for_buffer to 0.
14404 (Fmake_variable_frame_local): If the variable has already
14405 been buffer-local, set the check_frame field.
14406
1d4311c3
EZ
144072000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14408
14409 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14410 produced for CODING_MODE_LAST_BLOCK requires.
14411
2dc95ddd
DL
144122000-02-18 Dave Love <fx@gnu.org>
14413
14414 * keyboard.c (echo_keystrokes): Remove declaration.
14415 (Vecho_keystrokes) New variable.
14416 (read_char, record_menu_key, read_key_sequence): Use it to allow
14417 use of float value.
14418 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14419
14420 * lread.c: Undef feature selection macros before defining.
14421
f0930f35
GM
144222000-02-18 Gerd Moellmann <gerd@gnu.org>
14423
14424 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14425 for symbols other than the symbol in question.
14426
e3d4de90
DL
144272000-02-17 Dave Love <fx@gnu.org>
14428
14429 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14430
0b378936
GM
144312000-02-17 Gerd Moellmann <gerd@gnu.org>
14432
d621caf7
GM
14433 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14434
0b378936
GM
14435 * alloc.c (enum mem_type): Compile unconditionally.
14436
3b451f74
EZ
144372000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14438
14439 * xfaces.c (tty_defined_color): Don't return faulire indication
14440 for unspecified-fg and unspecified-bg pseudo-colors.
14441
10689a01
GM
144422000-02-17 Gerd Moellmann <gerd@gnu.org>
14443
1216f5e4
GM
14444 * alloc.c (mark_object): Don't mark symbol names in pure space.
14445 (gc_sweep): Don't unmark symbol names in pure space.
14446
14447 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14448 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14449 [GC_MARK_STACK]: New defines.
427ec082 14450 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
14451 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14452
14453 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14454
14455 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14456 allocate_buffer instead of xmalloc.
14457
14458 * alloc.c (toplevel): Include setjmp.h.
14459 (PURE_POINTER_P): New define.
14460 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14461 (Vdead) [GC_MARK_STACK]: New variable.
14462 (lisp_malloc): Add parameter TYPE, call mem_insert if
14463 GC_MARK_STACK is defined.
14464 (allocate_buffer): New function.
427ec082 14465 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
14466 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14467 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14468 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14469 (MEM_NIL) [GC_MARK_STACK]: New define.
14470 (struct mem_node) [GC_MARK_STACK]: New structure.
14471 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14472 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14473 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14474 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14475 (mark_stack) [GC_MARK_STACK]: New functions.
14476 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14477 (clear_marks): Removed.
14478 (gc_sweep): Set free conses' car, free floats' type, free
14479 symbols' function to Vdead. Use lisp_free to free buffers.
14480 (init_alloc_once): Initialize Vdead.
14481 (survives_gc_p): Return non-zero for pure objects.
14482
14483 * alloc.c: Add comments throughout the file.
14484
2503c8b1
GM
14485 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14486 that unblocks alarms.
14487
8389e1e2
GM
14488 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14489 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14490 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14491
10689a01 14492 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 14493
bfc17d18
KH
144942000-02-17 Kenichi Handa <handa@etl.go.jp>
14495
4a09dee0
KH
14496 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14497 avoid infinite error signaling. Allocate sufficient memory for
14498 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 14499
2b927d02
SM
145002000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14501
14502 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14503 depends on the previous behavior.
14504
b49cb764
GM
145052000-02-16 Gerd Moellmann <gerd@gnu.org>
14506
14507 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14508
99e95407
GM
145092000-02-15 Gerd Moellmann <gerd@gnu.org>
14510
14511 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14512
14513 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 14514 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
14515 write(2).
14516
6ffd3cf7
RS
145172000-02-15 Richard M. Stallman <rms@gnu.org>
14518
14519 * data.c (set_internal): Don't make variable buffer-local
14520 if within a let-binding for the same buffer.
14521 (let_shadows_buffer_binding_p): New function.
14522
14523 * eval.c (specbind): For buffer-local value,
14524 record the current buffer also.
14525 (unbind_to): Cope with that change.
14526
cad53475
GM
145272000-02-15 Gerd Moellmann <gerd@gnu.org>
14528
14529 * window.c (Fsave_window_excursion): Doc fix.
14530
1aa963c8
SM
145312000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14532
14533 * syntax.c (back_comment): Make sure we only consider comment-starters
14534 of the relevant style and return -1 in case of a failure to find the
14535 beginning of the comment.
14536 (Fforward_comment): If back_comment fails, go back to the position just
14537 after the comment-end.
14538 (scan_lists): Add comment describing a very minor bug.
14539
b9b84fd3
SM
145402000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14541
14542 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14543 `completion-regexp-list' in the docstring.
14544
3a28db80
DL
145452000-02-14 Dave Love <fx@gnu.org>
14546
14547 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14548
fb4a568d
SM
145492000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14550
14551 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14552 to Emacs' syntax. Also fix the comment about set/not-set meanings
14553 since Emacs syntax is not the value 0 any more.
14554 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14555 since it's now part of RE_SYNTAX_EMACS.
14556
1063ebb5
DL
145572000-02-12 Dave Love <fx@gnu.org>
14558
52283633 14559 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 14560
fb07a302
GM
145612000-02-12 Gerd Moellmann <gerd@gnu.org>
14562
14563 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14564
aaf2320c
DL
145652000-02-12 Dave Love <fx@gnu.org>
14566
14567 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14568
14569 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
14570 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14571 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
14572
14573 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14574
14575 * s/nextstep.h: Don't define HAVE_ALLOCA.
14576
14577 * config.in: Add vfork bits.
14578
eedf8bde
GM
145792000-02-12 Gerd Moellmann <gerd@gnu.org>
14580
14581 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14582 unwind function to undo the effect of stopping atimers.
14583
52283633 14584 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
14585
14586 * atimer.c (stopped_atimers): New variable.
14587 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14588 New functions.
14589
14590 * atimer.h (stop_other_atimers, run_all_atimers)
14591 (unwind_stop_other_atimers): Add function prototypes.
427ec082 14592
eedf8bde
GM
14593 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14594
8476c2f8
KR
145952000-02-11 Ken Raeburn <raeburn@gnu.org>
14596
14597 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14598 library may depend on jpeg.
14599 (atimer.o): Depends on atimer.c.
14600
0e85e4a3
KH
146012000-02-11 Kenichi Handa <handa@etl.go.jp>
14602
14603 * insdel.c (del_range_1): Call update_compositions.
14604 (del_range_both): Call update_compositions just once..
14605
97fa0cc8
DL
146062000-02-10 Dave Love <fx@gnu.org>
14607
14608 * xfns.c (create_frame_xic): Fix initialization of automatic
14609 aggregates for pcc.
14610
25566a3c
KH
146112000-02-09 Kenichi Handa <handa@etl.go.jp>
14612
14613 * ccl.c (CCL_MAKE_CHAR): New macro.
14614 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14615 registers by CCL_MAKE_CHAR before calling translate_char.
14616 <CCL_TranslateCharacterConstTbl> Likewise.
14617
69da54ba
DL
146182000-02-08 Dave Love <fx@gnu.org>
14619
14620 * lread.c (__EXTENSIONS__): Define.
14621
f7136ee8
GM
146222000-02-08 Gerd Moellmann <gerd@gnu.org>
14623
14624 * puresize.h (BASE_PURESIZE): Increase to 650000.
14625
7768790b
EZ
146262000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14627
14628 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14629 the help message.
14630
38fd211b
EZ
146312000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14632
14633 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14634 md, mh, mb, mr, and me to the fake termcap entry.
14635
66e4690f
KR
146362000-02-06 Ken Raeburn <raeburn@gnu.org>
14637
14638 * sound.c (sound_cleanup): Don't call device close routine if the
14639 function pointer is null.
14640
a75dfea0
AI
146412000-02-06 Andrew Innes <andrewi@gnu.org>
14642
14643 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14644 around image definitions and prototypes.
14645 (gamma_correct) [WINDOWSNT]: New prototype.
14646
14647 * w32term.c (x_make_frame_visible): Replace call to
14648 input_poll_signal with poll_for_input.
14649
14650 * window.c [WINDOWSNT]: Include w32term.h.
14651
14652 * xdisp.c [WINDOWSNT]: Include w32term.h.
14653
14654 * makefile.nt: Add dependencies on w32gui.h.
14655 (OBJ1): Include atimer.obj.
14656 ($(BLD)\atimer.obj): New dependency rule.
14657
14658 * w32.c (sigmask): New function (does nothing).
14659 (sigunblock): Ditto.
14660
14661 * frame.c [WINDOWSNT]: Include w32term.h.
14662
14663 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14664
14665 * lread.c (syms_of_lread): Fix literal newlines.
14666
14667 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14668 the string constant limit (2048 bytes) in MSVC.
14669 (main): Ditto.
14670
59ddecde
GM
146712000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14672
52283633 14673 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
14674 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14675 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14676 dispatch the event.
14677
07590973
DL
146782000-02-04 Dave Love <fx@gnu.org>
14679
14680 * fileio.c: Remove some unused vars.
14681 (_GNU_SOURCE): Define (for euidaccess).
14682
14683 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14684
14685 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14686 gcpro1, gcpro2.
14687 (read_minibuf): Deal with allow_props correctly.
14688
649351f9
EZ
146892000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14690
14691 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14692
66e4690f 146932000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
14694
14695 * search.c (compile_pattern): If a cache entry has a nil regexp,
14696 fill in that entry instead of clobbering a previously cached
14697 string regexp.
14698
66e4690f 146992000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
14700
14701 * puresize.h (BASE_PURESIZE): Increase to 610000.
14702
d240a249
GM
147032000-02-02 Gerd Moellmann <gerd@gnu.org>
14704
14705 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14706 can GC.
14707
ca91fb26
KH
147082000-02-02 Kenichi Handa <handa@etl.go.jp>
14709
25660570
KH
14710 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14711 instead of incrementing ic directly.
14712 <CCL_WriteExprConst> Likewise.
14713 <ccl_set_expr>: Set ic to jump_address.
14714
ca91fb26
KH
14715 * fileio.c (e_write): Fix the handling of
14716 CODING_FINISH_INSUFFICIENT_SRC.
14717
2ede9689
DL
147182000-02-01 Dave Love <fx@gnu.org>
14719
14720 * editfns.c (Fpropertize): Doc fix.
14721
14722 * process.c (Fstart_process): Doc fix.
14723
14724 * eval.c: Fix various doc strings not to duplicate information
14725 from help-manyarg-func-alist.
14726
52283633 14727 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
14728
14729 * doc.c (Vhelp_manyarg_func_alist): New variable.
14730 (Fdocumentation): Use it.
14731 (syms_of_doc): Define it.
14732
b6680a0e
GM
147332000-01-31 Gerd Moellmann <gerd@gnu.org>
14734
2cb750ba
GM
14735 * xterm.c (xim_open_dpy): Remove unused local variable.
14736
52283633 14737 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
14738
14739 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14740 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14741
b6680a0e
GM
14742 * fns.c (sweep_weak_table): New function.
14743 (sweep_weak_hash_tables): Use it. Keep on marking until there
14744 is no more change.
14745
994c5afe
GM
147462000-01-30 Gerd Moellmann <gerd@gnu.org>
14747
14748 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14749 that XTread_socket does not crash by trying to call XNoOp on a
14750 closed display.
427ec082 14751
f00276e3
JR
147522000-01-30 Jason Rumney <jasonr@gnu.org>
14753
14754 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14755 Change selected_frame to SELECTED_FRAME ().
14756 (w32_console_mouse_position): Remove #ifndef MULE from around
14757 `insist' parameter.
14758
14759 * makefile.nt: Remove dosfns.obj.
14760
14761 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14762
14763 * w32fns.c (w32_defined_color): Check for valid frame before
14764 applying gamma correction. Eliminate dependency on frame elsewhere.
14765 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14766 (w32_to_x_font): Use resx and resy not height_in and width_in.
14767 (x_to_w32_font): Doc fix.
14768 (xlfd_strip_height): New function to strip and return font height.
14769 (w32_font_match): Compare height separately from rest of xlfd
14770 spec, using xlfd_strip_height.
14771
14772 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14773 width_in. Use w32_defined_color in place of defined_color.
14774
14775 * w32faces.c: Merge more of DOS and X specifics in preparation for
14776 merge with xfaces.c.
14777 (defined_color): Remove FIXME comment.
14778 (tty_color_name): Provide w32-specific function.
14779 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14780
14781 * w32console.c (turn_on_face, turn_off_face): Removed.
14782 (w32_face_attributes): New function.
14783 (Global_variables): Reduce scope where possible.
14784 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14785 fill attribute.
14786 (hl_mode): Don't modify text attributes.
14787 (write_glyphs): Don't do anything if len <= 0. Use
14788 w32_face_attributes to get attributes for drawing. Write
14789 terminating codes using char_attr_normal.
14790 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14791 (update_begin, update_end): Likewise.
14792 (vga_stdcolor_name): New function.
14793 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14794 (Fset_screen_color): Remove char_attr_reverse.
14795
b08e8bb2
GM
147962000-01-29 Gerd Moellmann <gerd@gnu.org>
14797
14798 * xfns.c (xic_set_preeditarea): Take window parameter and
14799 window-relative pixel-positions.
14800
14801 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14802 is its frame's selected window.
14803 (xim_instantiate_callback): Likewise.
14804
14805 * xfns.c (x_create_im): Removed.
14806 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14807 (supported_xim_styles): Renamed from supported_styles.
14808 (best_xim_style): Renamed from best_style.
14809 (create_frame_xic): Renamed from xic_create_frame.
14810 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14811
b08e8bb2
GM
148122000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14813
14814 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14815 our frames, call XFilterEvent with 2nd parameter `None'.
14816 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14817 returning XBufferOverflow.
52283633 14818 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14819 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14820 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14821 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14822 (xim_initialize, xim_close)
14823 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14824 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14825 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14826 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14827
14828 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14829 and `xim_styles'.
14830 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14831 `xic_style' and `xic_xfs'.
14832 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14833 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14834 (FRAME_XIM): Removed.
14835
14836 * xfns.c (supported_styles): New variable.
14837 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14838 (xic_create_xfontset, best_style, xic_create_frame)
14839 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14840 (xic_set_xfontset): New functions.
14841
142e109c
DL
148422000-01-28 Dave Love <fx@gnu.org>
14843
14844 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14845
14846 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14847
b02786f9
GM
148482000-01-28 Gerd Moellmann <gerd@gnu.org>
14849
d060bc9f
GM
14850 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14851 for *scratch* if it already existed.
14852
b02786f9
GM
14853 * emacs.c (USAGE): New macro.
14854 (main): Use it to display usage information.
14855
2c52d7e4
EZ
148562000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14857
14858 Support for the menu-help feature:
14859
52283633 14860 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14861
14862 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14863 part of the line to the termscript file.
14864 (IT_clear_to_end): Clear the entire line, not just its beginning.
14865 (menu_help_message, prev_menu_help_message): New variables.
14866 (IT_menu_make_room): Make room for the help_text member.
14867 (IT_menu_display): New argument disp_help; all callers changed.
14868 If disp_help is non-zero, store the help text of the active menu
14869 item in menu_help_message.
14870 (XMenuAddPane): Initialize the help_text member to NULL.
14871 (XMenuAddSelection): New argument help_text. Store it in the
14872 XMenu structure.
14873 (XMenuActivate): New argument help_callback. If the value of
14874 menu_help_message has changed since the last time, display the
14875 menu help message text while waiting for the mouse to move. Clear
14876 the echo area before exiting.
14877 (XMenuDestroy): Free the help_text member.
14878
ffe0bcd1
GM
148792000-01-27 Gerd Moellmann <gerd@gnu.org>
14880
14881 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14882 XMenuAddSelection. Pass help callback to XMenuActivate.
14883 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14884
50dbd23f
EZ
148852000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14886
14887 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14888 and EMACS_SET_USECS.
14889
f5941bf8
GM
148902000-01-26 Dave Love <fx@gnu.org>
14891
6c67ddee
DL
14892 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14893
f5941bf8
GM
14894 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14895 an error may be signalled.
14896
9e49c990
GM
148972000-01-26 Gerd Moellmann <gerd@gnu.org>
14898
fc3cb460
GM
14899 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14900 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14901
9e49c990
GM
14902 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14903
d0c037d8
GM
149042000-01-25 Gerd Moellmann <gerd@gnu.org>
14905
14906 * charset.c (Fstring): If there is a multibyte char among
14907 the args, always return a multibyte string.
14908
e12489f9
GM
149092000-01-25 Gerd Moellmann <gerd@gnu.org>
14910
14911 * sysdep.c (sys_select): Turn atimers off and on instead of
14912 recording and restoring old alarm handler
14913
14914 * process.c (toplevel): Include atimer.h.
14915 (create_process_1): Rewritten.
14916 (create_process): Use atimers instead of alarm.
14917 (wait_reading_process_input) [hpux]: Turn atimers off instead
14918 of turning off SIGALRM.
14919 (wait_reading_process_input): Turn off atimers instead off
14920 calling stop_polling.
14921
14922 * emacs.c (main): Call init_atimer.
14923
14924 * keyboard.c (toplevel): Include systime.h and atimer.h.
14925 (polling_for_input): Removed because unused.
14926 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14927 (poll_timer): New variable.
14928 (poll_for_input, poll_for_input_1): New functions.
14929 (start_polling, stop_polling): Rewritten.
14930
14931 * keyboard.h (polling_for_input): Removed.
427ec082 14932
e12489f9
GM
14933 * atimer.h, atimer.c: New files.
14934
14935 * Makefile.in (obj): Add atimer.o.
14936 (atimer.o): New target.
14937
14938 * blockinput.h (pending_atimers): Add extern declaration.
14939 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14940
14941 * lisp.h (popup_activated_flag): Add extern declaration.
14942
14943 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14944 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14945 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14946
14947 * xterm.c (toplevel): Include atimer.h.
14948 (toolkit_scroll_bar_interaction): New variable.
14949 (Fxt_process_timeouts): Removed.
14950 (x_process_timeouts): New function.
14951 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14952 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14953 (x_make_frame_visible): Call poll_for_input_1 instead of
14954 input_poll_signal. Don't call alarm.
14955 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14956
1e5279b9
DL
149572000-01-24 Dave Love <fx@gnu.org>
14958
6c67ddee 14959 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14960 Don't use -cckr -- apparently not now necessary.
14961
edf6aeb8
EZ
149622000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14963
14964 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14965 screen boundary.
14966
9badad41
JR
149672000-01-23 Jason Rumney <jasonr@gnu.org>
14968
14969 * w32fns.c (w32_defined_color): Apply gamma correction before
14970 trying to map to the palette.
14971 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14972 to w32_clear_rect.
14973
14974 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14975 here. Callers changed to always pass real device context.
14976 (w32_draw_bitmap): Likewise.
14977 (w32_get_glyph_overhangs): Likewise.
52283633 14978 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14979 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14980 pfnSetScrollInfo and SetScrollRange.
14981 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14982 back into MULE characters after decoding them.
14983 (x_get_glyph_face_and_encoding): Likewise.
14984 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14985 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14986 (x_produce_glyphs): Calculate per char metrics for a character
14987 that we know exists in default font when font_not_found_p is true.
14988
63bd786b
JR
149892000-01-22 Jason Rumney <jasonr@gnu.org>
14990
14991 * makefile.nt (intervals.obj, composite.obj): New modules.
14992 (composite.h): Added as dependency where appropriate.
14993
14994 * w32gui.h (XGCValue): New struct for emulating X GCs.
14995
14996 * w32term.h (XCharStruct): New struct for emulating X.
14997
14998 * w32console.c (turn_on_face, turn_off_face): New functions.
14999 (change_line_highlight): New prototype for new redisplay.
15000 (write_glyphs): Support multibyte text. Support faces.
15001
52283633 15002 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
15003
15004 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
15005 throughout. struct frame * in place of FRAME_PTR.
15006 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 15007 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
15008 (w32_get_arg): Renamed from x_get_arg.
15009 (Fx_file_dialog): New function.
15010 (w32_list_fonts): Check cache before asking system.
15011 (Vw32_enable_synthesized_fonts): New variable.
15012 (Vw32_enable_italics): Obsolete, removed.
15013
15014 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
15015 Use SELECTED_FRAME macro.
15016
15017 * w32menu.c: Add skeleton support for help strings on menus.
15018 (add_menu_item): Native checkbox and radio support added, but not
15019 yet enabled due to bugs.
15020 (push_menu_item): Add parameters type, selection and help.
15021 Callers updated.
15022 Formatting changes to reduce unnecessary diffs with xmenu.c.
15023
15024 * w32select.c (Fw32_set_clipboard_data): Update call to
15025 find_charset_in_str.
15026
15027 * w32term.c: Complete rewrite for new redisplay based on new
15028 xterm.c with necessary sections merged back in from old w32term.c.
15029
6ffd3cf7 150302000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
15031
15032 * data.c (set_internal): Further fix in same criterion.
15033
6ffd3cf7 150342000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
15035
15036 * data.c (set_internal): Fix the criteria for whether
15037 to swap out the old cached binding.
15038
60af03f1
DL
150392000-01-19 Dave Love <fx@gnu.org>
15040
15041 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15042
f9be074f
KH
150432000-01-18 Kenichi Handa <handa@etl.go.jp>
15044
15045 * regex.c (re_compile_fastmap): While checking a range table for
15046 `charset', skip flag bits for a character class correctly.
15047
52b8dbf9
GM
150482000-01-17 Gerd Moellmann <gerd@gnu.org>
15049
d36100c9
GM
15050 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15051
52283633 15052 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
15053
15054 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 15055 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
15056
15057 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15058 MENU_ITEMS_ITEM_.*.
15059 (MENU_ITEMS_ITEM_HELP): New enumerator.
15060 (push_menu_item): Add parameter HELP. Record help in menu_items.
15061 (single_menu_item, single_submenu, list_of_items): Call
15062 push_menu_item with new parameter.
15063 (single_submenu): Set help string in widget value.
15064 (menu_highlight_callback): New function.
15065 (set_frame_menubar): Call lw_create_widget with new
15066 parameter list.
15067 (xmenu_show, xdialog_show): Ditto.
15068
3139018f
GM
150692000-01-13 Gerd Moellmann <gerd@gnu.org>
15070
15071 * sound.c (Fplay_sound): Improve doc string.
15072
83c8f461
RS
150732000-01-11 Richard M. Stallman <rms@gnu.org>
15074
15075 * lisp.h (set_internal): Enter the new arg.
15076
15077 * eval.c (specbind): Record buffer-local variables specially,
15078 indicating which buffer's binding was saved.
15079 (unbind_to): Restore buffer-local variables specially
15080 in the proper buffer.
15081
15082 * data.c (set_internal): New arg BUF.
427ec082 15083
83c8f461
RS
15084 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15085 * data.c (Fset): Pass new arg to set_internal.
15086 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 15087
1fab1775
GM
150882000-01-11 Gerd Moellmann <gerd@gnu.org>
15089
52283633 15090 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 15091
83c8f461 150922000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
15093
15094 * minibuf.c (Ftry_completion): Doc fix.
15095
7a85e4df
GM
150962000-01-11 Gerd Moellmann <gerd@gnu.org>
15097
15098 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15099 vector, too.
15100
a970dae4
AS
151012000-01-11 Andreas Schwab <schwab@suse.de>
15102
15103 * coding.c (code_convert_region): Initialize total_skip.
15104
c65d14ee
DL
151052000-01-08 Dave Love <fx@gnu.org>
15106
15107 * eval.c (Fuser_variable_p): Check customizability too.
15108
834938d2
GM
151092000-01-07 Gerd Moellmann <gerd@gnu.org>
15110
15111 * minibuf.c (Fcompleting_read): Doc fix.
15112
e0303cd6
GM
151132000-01-05 Gerd Moellmann <gerd@gnu.org>
15114
8a26744b
GM
15115 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15116 -L /usr/local/lib.
15117
e0303cd6
GM
15118 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15119 Check that input style is supported before trying to create an
15120 IC for it.
15121 (x_window): Call x_create_im.
427ec082 15122
2e471eb5
GM
151232000-01-04 Gerd Moellmann <gerd@gnu.org>
15124
560a7bd2
GM
15125 * xfns.c (current_gif_memory_src): New variable.
15126 (gif_load): Record the address of the current memory source
15127 in current_gif_memory_src.
15128 (gif_read_from_memory): Use current_gif_memory_src.
15129
f9ee84a3
GM
15130 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15131 macros statement form.
15132
d1299cde
GM
15133 * sound.c (struct sound): Renamed from struct sound_file.
15134 (struct sound): Add members `data' and `header_size'.
15135 (enum sound_attr): Add SOUND_DATA.
15136 (current_sound, current_sound_device): Variables renamed from
15137 sound_file and sound_device.
15138 (parse_sound): Parse :data.
15139 (parse_sound): Handle sound data in strings.
15140 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 15141 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
15142 needed header size.
15143 (wav_play, au_play): Play sounds from string data.
15144
2e471eb5
GM
15145 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15146
15147 * lisp.h: Add prototype for allocate_string_data.
15148
52283633 15149 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
15150
15151 * alloc.c (mark_buffer): Remove code in #if 0.
15152 (gc_sweep): Ditto.
15153 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15154 (strings_consed): New variable.
15155 (allocate_string): Set it.
15156 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15157 (Fmemory_use_counts): Return strings_consed. Use Flist.
15158
15159 * alloc.c: General cleanup in comments etc. Remove conditional
15160 compilation for `standalone'.
15161
15162 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15163
15164 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15165 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15166 (DONT_COPY_FLAG): Removed.
15167 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15168 (struct sdata, struct sblock): New
15169 (struct string_block): Rewritten.
15170 (STRINGS_IN_STRING_BLOCK): New macro.
15171 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15172 (large_sblocks, string_blocks, string_free_list): New variables.
15173 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15174 (init_strings): Rewritten.
15175 (allocate_string, allocate_string_data, compact_small_strings)
15176 (free_large_strings, sweep_strings): New functions.
15177 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15178 (struct string_block_head, current_string_block)
15179 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15180 (STRING_PAD): Removed.
15181 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15182 (Fgarbage_collect): Don't set mark bit in large strings.
15183 (mark_object): Mark strings differently. Mark symbol names
15184 differently.
15185 (survives_gc_p): Test marked strings differently.
427ec082 15186 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
15187 symbol names.
15188 (compact_strings): Removed.
15189
42608ba8
EZ
151902000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15191
15192 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15193 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15194
e0a09e1a
KH
151952000-01-04 Kenichi Handa <handa@etl.go.jp>
15196
dd9f0750 15197 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 15198 in a non-empty buffer.
dd9f0750 15199
3c0f3b15 15200 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 15201
44cd3ae5
GM
152022000-01-03 Gerd Moellmann <gerd@gnu.org>
15203
15204 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15205 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15206
15207 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15208
c182a70f
EZ
152092000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15210
15211 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15212 need to test for MSDOS frames.
15213
24480d5b
EZ
152142000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15215
15216 * dosfns.c (unspecified_colors): Remove.
15217 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15218 unspecified_bg.
15219 (msdos_stdcolor_name): Return strings for unspecified fore- and
15220 back-ground colors.
15221
15222 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 15223 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
15224 (tty_color_name): Return Lisp strings for unspecified fore- and
15225 back-ground colors.
15226 (Finternal_set_lisp_face_attribute): Remove the special treatment
15227 for Qunspecified_{f,b}g.
52283633 15228 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 15229
047f434a
GM
152302000-01-03 Gerd Moellmann <gerd@gnu.org>
15231
15232 * xdisp.c (reseat_at_next_visible_line_start): Position before
15233 newline only if ending up on a newline.
15234 (next_element_from_ellipsis): Return success. Handle case of
52283633 15235 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
15236 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15237 returns 0.
15238
d684c676
EZ
152392000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15240
15241 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15242 (Fcolor_supported_p): Renamed from face-color-supported-p.
15243
5fe1d139
EZ
152442000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15245
15246 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15247 list of colors renamed to tty-defined-color-alist.
15248 (tty_color_name): Pass the frame to tty-color-by-index.
15249 (realize_tty_face): tty-color-alist is now a function which
15250 accepts the frame as argument.
15251
52283633 15252 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 15253
816be8b8
EZ
152542000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15255
15256 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15257 encode_terminal_code.
15258
b635321e
EZ
152592000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15260
15261 * dispnew.c (mode_line_string): Support termcap frames as well.
15262
9b784e96
GM
152632000-01-01 Gerd Moellmann <gerd@gnu.org>
15264
27189709
GM
15265 * syntax.c (Fforward_word): Undo previous change.
15266
15267 * editfns.c (Fconstrain_to_field): Don't constrain if
15268 inhibit-field-text-motion is non-nil.
15269 (Fline_beginning_position): Undo previous change.
15270 (Fline_end_position): Ditto.
15271
15272 * syntax.c (Fforward_word): Notice field boundaries only if
15273 inhibit-field-text-motion is nil.
15274
15275 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15276
15277 * editfns.c (Vinhibit_field_text_motion): New variable.
15278 (inhibit-field-text-motion): New DEFVAR_LISP.
15279 (Fline_beginning_position, Fline_end_position): Notice field
15280 boundaries only if inhibit-field-text-motion is nil.
15281
45158a91
GM
15282 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15283 All calls adjusted.
15284 (x_build_heuristic_mask): Likewise.
15285 (xbm_load_image_from_file): Change error output.
15286 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15287 (gif_load, gs_load, x_kill_gs_process): Ditto.
15288
9b784e96
GM
15289 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15290 color indices when accessing raster pixels.
63cec32f
GM
15291 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15292 one of :file or :data.
15293 (enum pbm_keyword_index): Add PBM_DATA.
15294 (pbm_format): Add :data.
15295 (pbm_image_p): Allow either :file or :data.
15296 (pbm_read_file): New function.
15297 (pbm_scan_number): Rewritten to read from string.
15298 (pbm_load): Support :data.
9b784e96 15299
2cb085db 15300See ChangeLog.8 for earlier changes.
6922b018
KH
15301
15302;; Local Variables:
49b3bd82 15303;; coding: iso-2022-7bit
6922b018 15304;; End:
2a34a036
GM
15305
15306 Copyright (C) 2001 Free Software Foundation, Inc.
15307 Copying and distribution of this file, with or without modification,
15308 are permitted provided the copyright notice and this notice are preserved.