(encode_coding): Fix the bug of not flushing ISO escape sequence at
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ece23901
KH
12000-08-16 Kenichi Handa <handa@etl.go.jp>
2
9d7bcb2e
KH
3 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
4 sequence at the end of the source block.
5
ece23901
KH
6 * ccl.c (Fccl_program_p): Docstring modified.
7 (Fccl_execute): Likewise.
8 (Fccl_execute_on_string): Likewise.
9
5e30eaa2
EZ
102000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
11
12 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
13
290602fd
KH
142000-08-16 Kenichi Handa <handa@etl.go.jp>
15
16 The following changes are mainly to fix bugs of
17 encode/decode-coding-string failing if encoding/decoding return
18 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
19 variable conversion_buffer.
20
21 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
22 decrement dst_end to avoid buffer overflow in the later call of
23 string_as_multibyte
24
25 * coding.h (conversion_buffer_size, conversion_buffer)
26 (get_conversion_buffer): Extern deleted.
27
28 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
29 (conversion_buffer, conversion_buffer_size): Variables deleted.
30 (get_conversion_buffer): Function deleted.
31 (struct conversion_buffer): New structure.
32 (MAX_ALLOCA): New macro.
33 (allocate_conversion_buffer): New macro.
34 (extend_conversion_buffer, free_conversion_buffer): New functions.
35 (ccl_coding_driver): Set coding->result.
36 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
37 this is the last block of source.
38 (encode_coding): Likewise. Handle the source block as the last
39 one only when the whole source text is consumed.
40 (decode_coding_string): Handle the case that the output buffer is
41 too small to decode the whole source text. Use
42 allocate_conversion_buffer, extend_conversion_buffer and
43 free_conversion_buffer, not get_conversion_buffer.
44 (encode_coding_string): Likewise.
45 (init_coding): Function deleted.
46 (init_coding_once): Delete code to initialize
47 conversion_buffer_size.
48
49 * emacs.c (main): Don't call init_coding.
50
51 * msdos.c (IT_write_glyphs): Use a locally declared
52 conversion_buffer.
53
54 * term.c (write_glyphs): Use a locally declared conversion_buffer.
55 (insert_glyphs): Likewise.
56
57 * w32console.c (write_glyphs): Use a locally declared
58 conversion_buffer.
59
b9f80d41
EZ
602000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
61
62 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
63 member of display_info is NULL.
64
32dc52f7
GM
652000-08-15 Gerd Moellmann <gerd@gnu.org>
66
58ed0d3b
GM
67 * alloc.c (compact_small_strings): Use safe_bcopy, add an
68 assertion.
69
32dc52f7 70 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 71 appearances with capability `me'.
32dc52f7
GM
72 (write_glyphs): Switch on inverse video before each face change.
73
4eb22d33
DL
742000-08-14 Dave Love <fx@gnu.org>
75
76 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
77 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
78 (lisp_free): Declare and make static.
79
80 * window.c: Fix embedded comment.
81 (syms_of_window): Fix doc string.
82
90cbf47e
GM
832000-08-14 Gerd Moellmann <gerd@gnu.org>
84
85 * keymap.c (push_key_description): If C without modifiers is < 32,
86 make sure to print `C-' before `M-', like in the manual.
87
440fc135
GM
882000-08-11 Gerd Moellmann <gerd@gnu.org>
89
90 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
91 since they aren't relocated anymore.
92 (sxhash_string): Make sure returned hash code fits in a Lisp
93 integer.
94
95 * xdisp.c (try_cursor_movement): Fix handling of cursor in
96 partially visible line which is smaller than the window's
97 height.
98
6e264fad
KH
992000-08-11 Kenichi Handa <handa@etl.go.jp>
100
101 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
102 the multibyte form of eight-bit-control characters.
103 (Fccl_execute_on_string): Initialize ccl->multibyte.
104
105 * ccl.h (struct ccl_program): New member multibyte.
106
107 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
108
c371f69a
KH
1092000-08-11 Kenichi Handa <handa@etl.go.jp>
110
111 * regex.c (regex_compile) <normal_char>: Pay attention to
112 multibyteness.
113 (analyse_first) <exactn>: Setup fastmap correctly for
114 eight-bit-control characters.
115
1162000-08-11 Kenichi Handa <handa@etl.go.jp>
117
118 * termhooks.h (enum event_kind): New member
119 multibyte_char_keystroke.
120
121 * keyboard.c (make_lispy_event): Handle the new event type
122 multibyte_char_keystroke.
123
124 * xterm.c: Include coding.h.
125 (XTread_socket): Work around a bug of XmbLookupString. If the
126 input is from XIM, decode it according to the current locale. In
127 that case, generate multibyte_char_keystroke events.
128
b8ddbe71
KH
1292000-08-11 Kenichi Handa <handa@etl.go.jp>
130
131 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
132 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
133
47589c8c
GM
1342000-08-10 Gerd Moellmann <gerd@gnu.org>
135
136 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
137 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
138 (move_it_in_display_line_to): Record iterator's ascent and descent
139 before producing glyphs, and restore them when we know the glyph
140 doesn't fit on the line.
141 (move_it_to): Restructured so that it's easier to debug. If
142 moving to a vpos, and not moving to an x or character position,
143 stop as soon as the specified vpos is reached; don't move further
144 into that line because that might change the computed line height.
145 (try_cursor_movement): New function, extracted from the cursor
146 movement branch of redisplay_window. If ending on a partially
147 visible line, don't try to scroll if the cursor line is taller
148 than the window.
149 (redisplay_window): Use try_cursor_movement.
150
151 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
152 because that function doesn't cope with variable-height lines.
153
154 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
155 box cursor because that's better visible for large images.
156
c51bacd6
MB
1572000-08-10 Miles Bader <miles@gnu.org>
158
159 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
160
bea56df7
GM
1612000-08-10 Gerd Moellmann <gerd@gnu.org>
162
163 * xdisp.c (Vmessages_buffer_name): New variable.
164 (message_dolog): Use it.
165 (syms_of_xdisp): Initialize it.
166
99cd7364
EZ
1672000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
168
169 * msdos.c (IT_note_mouse_highlight): Update the calls to
170 overlays_at.
171 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
172 redundant now that keyboard.h is included.
173
7d093d56
EZ
1742000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
175
176 * keyboard.c (kbd_buffer_events_waiting): New function.
177
178 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
179
180 * msdos.c: Include keyboard.h.
181 (XMenuActivate): Empty no_event events from the event buffer. If
182 no events are left after that, call clear_input_pending.
183 (mouse_clear_clicks): New function, code moved from mouse_init.
184 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
185 mouse driver to ``forget'' any past clicks.
186
187 * Makefile.in (msdos.o): Depend on keyboard.h.
188
41e757a6
GM
1892000-08-09 Gerd Moellmann <gerd@gnu.org>
190
8e7bd231
GM
191 * lisp.h (input_pending): External declaration.
192
193 * dispextern.h (Qredisplay_dont_pause): Declare extern.
194
195 * xdisp.c (echo_area_display): Display thoroughly if input is
196 pending. Bind redisplay-dont-pause to t during the redisplay.
197 in case input is pending.
198
199 * dispnew.c (Qredisplay_dont_pause): New variable.
200 (syms_of_display): Initialize and staticpro it.
201 (update_frame_1): Don't interrupt the display for pending input if
202 redisplay_dont_pause is set.
203
43028b7e
GM
204 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
205
41e757a6
GM
206 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
207
2f2174fa
KH
2082000-08-09 Miles Bader <miles@lsi.nec.co.jp>
209
210 * callproc.c (Fcall_process): Terminate the unwind-protect around
211 the post-read-conversion of coding system.
212
0a6fd67e
MB
213 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
214 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
215 * buffer.h (overlays_at): Update prototype.
216 * xdisp.c (next_overlay_change): Update call to overlays_at.
217 * xfaces.c (face_at_buffer_position): Likewise.
218 * textprop.c (Fget_char_property): Likewise.
219 * xterm.c (note_mouse_highlight): Likewise.
220
0c80756e
MB
221 * minibuf.c (do_completion): Don't consider a simple change of
222 case as `completion'.
223
975f250a
KR
2242000-08-08 Ken Raeburn <raeburn@gnu.org>
225
b347b3fd
KR
226 * keyboard.c (syms_of_keyboard): Initialize
227 last_point_position_buffer.
228 * undo.c (record_delete): Make sure last_point_position_buffer is
229 a buffer before comparing pointers.
230
231 * coding.h (decode_coding_string): Declare.
232
233 * intervals.h (Fprevious_single_char_property_change): Declare.
234
235 * textprop.c (Fprevious_single_char_property_change): Don't do
236 arithmetic directly on lisp objects.
237
25ad1371 238 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
239 objects.
240
241 * keyboard.h (menu_item_eval_property): Declare.
242
243 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
244 reuse as buffer name, instead of recreating (and discarding) every
245 time a message is logged.
246 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
247 (current_message_1, truncate_message_1, set_message_1)
248 (display_echo_area_1, resize_mini_window_1): Signatures changed.
249 (current_message, truncate_echo_area, display_echo_area)
250 (resize_echo_area_axactly): Changed calls.
b347b3fd 251
975f250a 252 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 253 Lisp object.
975f250a 254 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 255 must be an integer, not a Lisp object.
975f250a 256
46dc9912
KH
2572000-08-08 Kenichi Handa <handa@etl.go.jp>
258
259 * charset.c (Fchar_width): Doc fix.
260
9f6d1a6c
GM
2612000-08-08 Gerd Moellmann <gerd@gnu.org>
262
263 * charset.c (Fstring_width): Doc fix.
264
ff3d9573
GM
2652000-08-07 Gerd Moellmann <gerd@gnu.org>
266
41e757a6 267 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
268 line, clear ascent and descent members of the iterator structure;
269 the height of the continued line does not affect the height of the
270 continuation line.
271 (make_cursor_line_fully_visible): Do nothing if cursor is on a
272 line taller than the window.
273 (redisplay_window) <forced window start>: Handle case that the
274 middle of the window is not found in any row.
275 (dump_glyph_row): Show more information.
276 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
277 first text line in a glyph matrix.
278
279 * xterm.c (x_draw_image_foreground): Avoid drawing outside
280 of the clip area when image doesn't have a mask.
281
70fc58b3
GM
282 * fns.c (sweep_weak_table): Fix survival conditions for
283 key-or-value and key-and-value weakness.
284
285 * .gdbinit (xhashtable): New command.
286
ac0e96ee
GM
287 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
288 tables out of the list of all weak hash tables.
289
ff3d9573
GM
290 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
291 a new buffer is created, make sure echo_area_buffer[] references
292 the new buffer.
293
e0d8827b
EZ
2942000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
295
296 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
297 the doc string.
298
c6f35378
KH
2992000-08-07 Kenichi Handa <handa@etl.go.jp>
300
301 * syntax.c (skip_chars): Fix previous change. Make the handling
302 of unibyte string consistent with that of regex search.
303
1fd4c450
GM
3042000-08-05 Gerd Moellmann <gerd@gnu.org>
305
e49aa397
GM
306 * xmenu.c (popup_get_selection): Use xfree instead of free.
307
308 * fileio.c (Finsert_file_contents): Use xfree instead of free.
309
310 * editfns.c (Ftranspose_regions): Use xfree instead of free.
311
312 * callproc.c (child_setup): Use xfree instead of free.
313
314 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
315 instead of malloc.
316 (run_mac_command, closedir): Use `xfree' instead of `free'.
317
318 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
319
320 * eval.c (error): Use xfree instead of free.
321
1fd4c450
GM
322 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
323
324 * fns.c: Replace `illegal' with `invalid'.
e49aa397 325 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 326
82d497fc
KH
3272000-08-05 Kenichi Handa <handa@etl.go.jp>
328
329 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
330 conversion.
331
59f953a2
NF
3322000-08-04 Noah Friedman <friedman@splode.com>
333
334 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
335 docstring.
336
688351f2
GM
3372000-08-04 Gerd Moellmann <gerd@gnu.org>
338
339 * syntax.c (skip_chars): Fix typo in error message.
340
2dad51cc
AS
3412000-08-04 Andreas Schwab <schwab@suse.de>
342
343 * m/ia64.h: Moved from s/ia64.h.
344
99bb2c60
KH
3452000-08-04 Kenichi Handa <handa@etl.go.jp>
346
082a1df2
KH
347 * process.c (read_process_output): Big simplification. Handle
348 composition and post-read-conversion of coding system correctly.
349 (send_process): Handle composition correctly.
350
351 * callproc.c (Fcall_process): Handle post-read-conversion of
352 coding system if any.
353
99bb2c60
KH
354 * coding.c (decode_coding_iso2022): More strict check for handling
355 single shifting.
082a1df2
KH
356 (coding_restore_composition): Pay attention to the case that
357 cmp_data is not set properly (because of invalid code in the
358 source text).
359 (run_pre_post_conversion_on_str): Include text properties in the
360 resulting string.
361 (decode_coding_string): Set members of coding correctly.
99bb2c60 362
f4988be7
GM
3632000-08-03 Gerd Moellmann <gerd@gnu.org>
364
365 * s/ia64.h: New file.
366
367 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
368 Use NULL instead of 0 at the end of variable argument list of
369 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
370 sizeof (int) < sizeof (void *).
371
372 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
373 of variable argument lists of XtVaGetValues and XtVaSetValues.
374
375 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
376 variable argument lists of XtVaGetValues and XtVaSetValues.
377
ead53494
GM
3782000-08-02 Gerd Moellmann <gerd@gnu.org>
379
380 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
381 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
382
383 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
384 prototype.
385
386 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
387 in call to Fsingle_key_description.
388
389 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
390 Callers changed.
391
3922000-08-02 Colin Walters <walters@cis.ohio-state.edu>
393
394 * window.c (display_buffer_reuse_frames): New variable.
395 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
396 frames displaying BUFFER.
397 (syms_of_window): Define Lisp variable
398 display-buffer-reuse-frames.
399
10b0f752
MB
4002000-08-01 Miles Bader <miles@gnu.org>
401
402 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
403 when to constrain NEW_POS (they were pretty screwed up before).
404
16425c4a
EZ
4052000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
406
407 * msdos.c (run_msdos_command): Save and restore the master
408 environment, for the case that child_setup signals an error.
409 When mirroring slashes in DOS shell commands, don't fail when
410 argv[2] has embedded blanks.
da288c14
EZ
411 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
412 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
413 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
414
415 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
416 using alloca; free it after run_msdos_command returns.
417
27f73852
DL
4182000-07-27 Dave Love <fx@gnu.org>
419
420 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
421 define.
422 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
423 working.
424
425 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
426
c0261b5e
EZ
4272000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
428
429 * editfns.c (lisp_time_argument): Fix last change.
430
b548072f
GM
4312000-07-27 Gerd Moellmann <gerd@gnu.org>
432
3ab82477
GM
433 * fns.c (Fdelete): Make it work on vectors and strings in addition
434 to lists.
435
b548072f
GM
436 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
437 (syms_of_fns): Initialize new variables.
438 (sweep_weak_table): Handle weakness `key-or-value' and
439 `key-and-value'.
440 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
441 weakness, with t meaning the same as `key-and-value'.
442
91ae8751
KH
4432000-07-27 Kenichi Handa <handa@etl.go.jp>
444
445 * coding.h (struct coding_system): Member safe_charset deleted.
446
447 * coding.c (Qsafe_charsets): This variable deleted.
448 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
449 variables.
450 (coding_safe_chars): New function.
451 (CODING_SAFE_CHAR_P): New macro.
452 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
453 checking safe_charsets member of the coding system. Caller
454 changed.
455 (detect_coding_iso2022): New local variable safe_chars.
456 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
457 safe_charsets member of the coding system.
458 (decode_coding_iso2022): New local variable safe_chars.
459 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
460 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
461 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
462 (ENCODE_UNSAFE_CHARACTER): New macro.
463 (encode_coding_iso2022): New local variable safe_chars. Check
464 unsafe chars.
465 (setup_coding_system): Delete the code to initialize
466 coding->safe_charses
467 (intersection, find_safe_codings): New functions.
468 (Ffind_coding_systems_region_internal): New function.
469 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
470 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
471 variable and initialize it.
472
473 * fns.c (char_table_ref_and_index): New function.
474
475 * lisp.h (char_table_ref_and_index): Add prototype.
476
34a7a267
SS
4772000-07-26 Sam Steingold <sds@gnu.org>
478
479 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 480 (Ffloat_time): New built-in Lisp function.
34a7a267 481
a95cb10a
GM
4822000-07-26 Gerd Moellmann <gerd@gnu.org>
483
3353ef5a
GM
484 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
485 for the character code.
486
487 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
488 GNU/Linux.
489
a95cb10a
GM
490 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
491 if called for a popup menu.
492 (xmenu_show): Store help string in widget values.
493
b4a12321
DL
4942000-07-26 Dave Love <fx@gnu.org>
495
496 * syswait.h: Move some definitions.
497 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
498 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
499 perspicuous definitions.
500 (WTERMSIG): Fix bit pattern used.
501
13f5ad37
KH
5022000-07-26 Kenichi Handa <handa@etl.go.jp>
503
504 * print.c (print_object): If vector printing is truncated, print
505 "..." to indicate it as well as the case of list printing.
506
070fe99c
GM
5072000-07-25 Gerd Moellmann <gerd@gnu.org>
508
969065c3
GM
509 * xdisp.c (next_element_from_display_vector): Improve comments.
510
511 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
512 for the character code, and the rest for the face id as in 20.x.
513 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
514
515 * window.c (window_display_table): Cleaned up.
516
070fe99c
GM
517 * syntax.c (Fforward_word): Add last arg nil in call of
518 Fconstrain_to_field.
519
bad77ef7
EZ
5202000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
521
969065c3 522 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
523 identical but for the letter-case, don't call
524 barf_or_query_if_file_exists.
525
c28da489
MB
5262000-07-25 Miles Bader <miles@gnu.org>
527
528 * editfns.c (find_field): Honor special `boundary' fields.
529 (Qboundary): New variables.
530 (syms_of_editfns): Initialize Qboundary.
531 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
532 Use scan_buffer instead of find_before_next_newline, because it
533 allows us to detect the boundary case where there's a newline at
534 the search limit.
535 * lisp.h (Fconstrain_to_field): Update external declaration.
536
e3c31fd5
GM
5372000-07-24 Gerd Moellmann <gerd@gnu.org>
538
539 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
540 if that is nil.
c28da489 541
c66c29a2
DL
5422000-07-24 Dave Love <fx@gnu.org>
543
544 * s/sunos4-0.h, s/sol2.h:
545 (LIBS_TERMCAP): Move from m/sparc.h.
546
547 * m/sparc.h (TERMINFO): Moved to system files (probably only
548 relevant for sunos4 judging by its vintage).
549 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
550 __arch64__.
551
fbe0a958
EZ
5522000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
553
554 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
555 name to single_keymap_panes.
556
7d88e5c9
AS
5572000-07-24 Andreas Schwab <schwab@suse.de>
558
559 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
560
e024b101
GM
5612000-07-24 Gerd Moellmann <gerd@gnu.org>
562
563 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
564 parameters instead of using int parameters. Expect FN to accept
565 EMACS_INT parameters.
566 (display_echo_area, resize_echo_area_axactly, current_message)
567 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
568 with new argument list.
569 (resize_mini_window_1): New callback function.
570 (current_message_1, truncate_message_1, set_message_1): Change
571 parameter lists to the new format expected by
572 with_echo_area_buffer.
573
25c1a9ce
KH
5742000-07-24 Kenichi Handa <handa@etl.go.jp>
575
576 * fontset.c (fontset_ref): Remove INLINE declaration.
577 (fontset_ref_via_base): Likewise.
578 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
579 to downcase.
580
7f987ac0
EZ
5812000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
582
583 * msdos.c (IT_note_mouse_highlight): Process overlays in the
584 correct order of priority. If help echo was found in an overlay,
585 use that overlay as the object in which the help echo was found.
586
e2db3069
MB
5872000-07-22 Miles Bader <miles@gnu.org>
588
589 * textprop.c (Fprevious_single_char_property_change): The initial
590 property value should be from the position preceding POSITION, not
591 following it.
592
5e3203e4
EZ
5932000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
594
595 * coding.c (syms_of_coding): Doc fix for
596 inhibit-iso-escape-detection.
597
62145073
GM
5982000-07-21 Gerd Moellmann <gerd@gnu.org>
599
c20aeb83
GM
600 * xterm.c (note_mouse_highlight): Process overlays in the right
601 order of priority.
34a7a267 602
743934db
GM
603 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
604
605 * xterm.c (note_mouse_highlight): If help-echo was found in an
606 overlay, use that overlay as the object in which the help was
607 found.
608
d1dc7e43 609 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 610
62145073
GM
611 * window.c (foreach_window): Instead of a fake variable argument
612 list, take one USER_DATA argument.
613 (foreach_window_1): Likewise, and call callback functions with two
614 args, the window and USER_DATA.
615 (struct check_window_data): New struct.
616 (check_window_containing): Use it.
617 (window_from_coordinates): Set up a struct check_window_data for
618 foreach_window.
619 (add_window_to_list, freeze_window_start): Change parameters
620 according to new calling convention.
621
622 * window.h (foreach_window): Change prototype.
623
624 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
625
6262000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
627
628 * xmenu.c (menu_help_callback): Call show_help_echo with
629 additional arguments OBJECT and POS.
630
11270583
KH
6312000-07-21 Kenichi Handa <handa@etl.go.jp>
632
07b14857
KH
633 * data.c (Faset): Allow storing any multibyte character in a
634 string. Convert unibyte string to multibyte if necessary.
635
11270583
KH
636 * xfns.c (x_encode_text): New function.
637 (x_set_name): Use x_encode_text.
638 (x_set_title): Likewise.
639
640 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
641
642 * xterm.h (x_encode_text): Add prototype.
643
bc75b4fd
DL
6442000-07-20 Dave Love <fx@gnu.org>
645
646 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
647 xfree, not free.
648
48c14970
EZ
6492000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
650
651 * msdos.c (help_echo_window): New variable.
652 (syms_of_msdos): Initialize and staticpro it.
653 (IT_note_mode_line_highlight): Set help_echo_window.
654 (IT_note_mouse_highlight): Ditto.
655 (dos_rawgetc): Store help_echo_window in the second event produced
656 for HELP_EVENTs.
657
658 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
659 Record the object that generated the help echo and the position of
660 that object in help_echo_object and help_echo_pos. Record that
661 some glyphs in a row are displayed in mouse-face.
662 (IT_update_begin): Don't clear mouse highlight unless one of the
663 enabled glyph rows is marked as being displayed in mouse-face.
664 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
665 and position recorded in help_echo_object and help_echo_pos to the
666 event queue.
667 (IT_menu_display): Accept a new argument PN: the pane number of
668 the current menu pane. Record the pane number and the item
669 number of the item which has associated help string.
670 (XMenuActivate): Update the prototype for help_callback in
671 function declaration. Call IT_menu_display with the current menu
672 pane number as an additional argument. Call help_callback with
673 two additional arguments: the pane number and the item number of
674 the menu item associated with the help text.
675 (help_echo_object, help_echo_pos): New variables.
676 (syms_of_msdos): Initialize them and staticpro help_echo_object.
677
678 * msdos.h (XMenuActivate): Update prototype.
679
4279296d
GM
6802000-07-19 Gerd Moellmann <gerd@gnu.org>
681
47db06aa
GM
682 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
683 Add some more prototypes.
684
685 * xterm.c, xterm.h: Add some more prototypes.
686
687 * lisp.h (Fnext_single_char_property_change): Add prototype.
688
689 * dispnew.c (direct_output_for_insert): Remove confusing
690 outer local variable mouse_face_overwritten_p.
691 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
692
4279296d
GM
693 * alloc.c (allocate_string_data): Don't copy old string contents.
694
670acd62
KH
6952000-07-19 Kenichi Handa <handa@etl.go.jp>
696
697 * coding.c (code_convert_region): Delete text properties before
698 shrinking the conversion region.
699
7cea38bc
GM
7002000-07-18 Gerd Moellmann <gerd@gnu.org>
701
dc1cac59
GM
702 * dispnew.c (update_text_area): Write the whole row if it
703 has mouse-face in it.
704
85a8aca9
GM
705 * xfaces.c (face-alternative-font-family-alist): Remove
706 DEFVAR_LISP; staticpro instead.
707
34a7a267 708 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
709 new arguments.
710
711 * keyboard.c (show_help_echo): Add parameter WINDOW.
712 (read_char): Call show_help_echo with window extracted from Lisp
713 help event.
714 (gen_help_event): Add parameter WINDOW.
715
716 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
717
718 * xterm.c (help_echo_window): New variable.
719 (note_mouse_highlight, note_tool_bar_highlight): Set
720 help_echo_window.
721 (XTread_socket): Pass help_echo_window to gen_help_event.
722 (syms_of_xterm): Initialize and staticpro help_echo_window.
723
f8276b77
DL
7242000-07-18 Dave Love <fx@gnu.org>
725
726 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
727 systime.h.
728
088831a6
GM
7292000-07-18 Gerd Moellmann <gerd@gnu.org>
730
3d6cd763
GM
731 * alloc.c (allocate_string_data): If string had already data
732 assigned, copy old contents to new string data.
733
734 * coding.c (syms_of_coding): Fix typo in spelling of variable
735 `inhibit-iso-escape-detection'.
736
088831a6
GM
737 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
738
739 * Makefile.in: Add dependencies on dispextern.h.
740 (alloca.o): Don't define malloc and define EMACS_FREE instead of
741 `free'; both can conflict with system header files.
742
bc8a8d55
KH
7432000-07-18 Kenichi Handa <handa@etl.go.jp>
744
745 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
746 undefined.
747
069f5950
DL
7482000-07-18 Dave Love <fx@gnu.org>
749
750 * window.c (Fwindow_list): Declare arg `window'.
751
aa96c820
KH
7522000-07-18 Kenichi Handa <handa@etl.go.jp>
753
754 * coding.c (setup_coding_system): Don't override the explicitly
755 specified designations.
756
06be8d32
MB
7572000-07-15 Miles Bader <miles@gnu.org>
758
759 * editfns.c (char_property_eq, char_property_stickiness): Renamed
760 from `text_property_eq' and `text_property_stickiness', respectively.
761 (find_field, Fconstrain_to_field, char_property_eq)
762 (char_property_stickiness): Changed to call char-property functions
763 instead of text-property-only ones.
764
765 * textprop.c (Fnext_single_char_property_change): Made a subr (was
766 `next_single_char_property_change'). Do more error checking, and
767 cleanup limit behavior.
768 (Fprevious_single_char_property_change): New function.
769 (syms_of_textprop): Initialize new subrs.
770
771 * xdisp.c (display_prop_end, invisible_text_between_p):
772 Call Fnext_single_char_property_change instead of
773 next_single_char_property_change.
774
3fddcdc3
JR
7752000-07-15 Jason Rumney <jasonr@gnu.org>
776
777 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
778 after menu is finished with.
779 (add_menu_item): Only consider wv->title as a menu title.
780 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
781
782 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
783 null title.
784 (FONT_REGEXP): Remove unused macro, and its sub-components.
785 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
786
787 * w32term.c (help_echo_object, help_echo_pos): New variables.
788 (note_mode_line_highlight): Store additional information about the
789 help-echo in help_echo_object and help_echo_pos. Check both
790 `local-map' and `keymap' properties for changing the cursor
791 (note_mouse_highlight): Store additional information about the
792 help-echo in help_echo_object and help_echo_pos.
793 (note_tool_bar_highlight): Set help_echo_object to nil and
794 help_echo_pos to -1.
795 (w32_read_socket): Use gen_help_event instead of filling
796 input_events manually.
797 (syms_of_w32term): Staticpro help_echo_object.
798 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
799 set, arrange for a mouse-highlight redisplay in
800 XTframe_up_to_date.
801 (x_clear_mouse_face): New function.
802 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
803 (x_update_window_begin): No need to turn off the mouse
804 highlight here.
805 (show_mouse_face): Set the mouse_face_p flag of glyph rows
806 depending on whether they contain glyphs highlighted in
807 mouse-face.
808 (x_fill_stretch_glyph_string): Consume runs of stretch
809 glyphs instead of a single one.
810 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
811 with new argument list.
812 (x_set_glyph_string_gc): Make sure the face's GC is valid.
813 (x_append_glyph, x_append_composite_glyph)
814 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
815 changes in struct glyph starting 1999-12-27. See comments for
816 xterm.c on 2000-07-05.
817
178c5d9c
SS
8182000-07-14 Sam Steingold <sds@gnu.org>
819
820 * xfaces.c (realize_x_face): Fix the last patch:
821 check `default_face' before dereferencing.
822
6fe533f6
DL
8232000-07-14 Dave Love <fx@gnu.org>
824
069f5950 825 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 826
dd7b81cf
KH
8272000-07-14 Kenichi Handa <handa@etl.go.jp>
828
0693904a 829 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 830 default_face's fontset, not using the default fontset.
0693904a 831
dd7b81cf
KH
832 * coding.c (inhibit_iso_escape_detection): New variable.
833 (syms_of_coding): Make it a Lisp variable.
834 (detect_coding_iso2022): If inhibit_iso_escape_detection is
835 nonzero, ignore ISO2022's escape sequence.
836
d5aa31d8
GM
8372000-07-14 Gerd Moellmann <gerd@gnu.org>
838
e5acf0ca
GM
839 * alloca.c (malloc) [emacs]: Define as xmalloc.
840
bd23a692
GM
841 * xfns.c (Fx_show_tip): If frame parameters contain a position,
842 use that instead of the mouse position. Add parameters DX and DY.
843
844 * dispextern.h (Fx_show_tip): Adjust number of parameters
845 in prototype.
846
9662da0b
GM
847 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
848 if HELP is a function, call it with OBJECT and POS as parameters
849 to get the help to display.
850 (gen_help_event, kbd_buffer_store_help_event): New functions.
851 (kbd_buffer_get_event): Construct the Lisp help-event differently.
852 (read_char): Call show_help_echo with new parameters.
853
178c5d9c 854 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
855 Add prototypes.
856
857 * xterm.c (help_echo_object, help_echo_pos): New variables.
858 (note_mode_line_highlight): Store additional information about the
859 help-echo in help_echo_object and help_echo_pos. Check both
860 `local-map' and `keymap' properties for changing the cursor
861 (note_mouse_highlight): Store additional information about the
862 help-echo in help_echo_object and help_echo_pos.
863 (note_tool_bar_highlight): Set help_echo_object to nil and
864 help_echo_pos to -1.
865 (XTread_socket): Use gen_help_event instead of filling
866 input_events manually.
867 (syms_of_xterm): Staticpro help_echo_object.
868
869 * xmenu.c (menu_highlight_callback): Use
870 kbd_buffer_store_help_event instead of setting up and input_event
871 structure manually.
872
873 * xdisp.c (eval_form): GCPRO argument sexpr.
874 (call_function): New function.
875 (handle_single_display_prop): Use call_function and FUNCTIONP
876 instead of checking whether if font_height is a symbol and
877 using eval_form.
878
879 * eval.c (internal_condition_case_2): New function.
880
881 * lisp.h (FUNCTIONP): New macro.
882 (internal_condition_case_2, call_function): Add prototypes.
883
d5aa31d8
GM
884 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
885 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
886 Always set `arg' member of input_events.
887 (construct_menu_click): Unused function removed.
888
889 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
890
891 * w32term.c (construct_mouse_click, construct_mouse_wheel)
892 (construct_drag_n_drop, x_scroll_bar_handle_click)
893 (w32_read_socket): Always set `arg' member of input_events.
894
895 * keyboard.c (show_help_echo): Use eval_form. Add comment.
896
897 * lisp.h (eval_form): Add prototype.
898
899 * xdisp.c (eval_form): Make it externally visible.
900
0f1a9b23
GM
9012000-07-13 Gerd Moellmann <gerd@gnu.org>
902
903 * xterm.c (x_handle_tool_bar_click): Store the frame in the
904 frame_or_window slot of TOOL_BAR_EVENT input events instead of
905 consing. For prefix events, store the frame in the `arg' slot of
906 the event, otherwise store the key there.
907 (XTread_socket): Instead of consing, use the frame_or_window slot
908 of HELP_EVENTs for the frame, and the `arg' slot for the help
909 string.
910
911 * xmenu.c (menu_highlight_callback): Store help string in the
912 `arg' member of the input event; don't cons.
913 (menubar_selection_callback): Use the `arg' slot of input events
914 to queue additional information, instead of consing.
915
916 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
917
918 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
919 TOOL_BAR_EVENTs.
920 (w32_read_socket): Adapt to changes in HELP_EVENTs.
921
922 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
923 input events to queue additional information, instead of consing.
924
925 * keyboard.c (kbd_buffer_gcpro): Renamed from
926 kbd_buffer_frame_or_window. Now used for all Lisp objects
927 referenced from the input queue.
928 (kbd_buffer_store_event): Always use structure assignment for
929 copying input events. Record all Lisp objects referenced from
930 events in kbd_buffer_gcpro.
931 (kbd_buffer_get_event): Construct Lisp `help-echo' events
932 differently from input events. Test for prefix menu_bar_events
933 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
934 event in kbd_buffer_gcpro to nil.
935 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
936 frame_or_window is equal to its arg member as prefix events.
937 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
938 used by an input event to nil.
939 (init_keyboard): Use two times the size of the input queue
940 for kbd_buffer_gcpro.
941 (syms_of_keyboard): Likewise.
942
943 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
944 USER_SIGNAL_EVENT.
945
946 * termhooks.h (struct input_event): Add member `arg'.
947 (MENU_BAR_EVENT): Renamed from menu_bar_event.
948 (USER_SIGNAL_EVENT): Renamed from user_signal.
949
950 * xfaces.c (ASET): Remove definition.
951
952 * lisp.h (AREF, ASET, ASIZE): New macros.
953
954 * fontset.c (AREF, ASIZE): Remove definitions.
955
956 * fns.c (AREF): Remove definition.
178c5d9c 957
0f1a9b23
GM
958 * composite.c (AREF): Remove definition.
959
712eaef2
GM
9602000-07-12 Gerd Moellmann <gerd@gnu.org>
961
d8ee7803
GM
962 * dispnew.c (redraw_overlapped_rows): Add missing local.
963 (scrolling_window): Remove debug code.
964
712eaef2
GM
965 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
966 Before scrolling, turn off a mouse-highlight in the window
967 being scrolled.
968
969 * xterm.c (x_update_window_end): Add parameter
970 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
971 redisplay in XTframe_up_to_date.
972 (x_clear_mouse_face): New function.
973 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
974
975 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
976 current glyph row.
977 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
978 it when any row is written to that contains glyphs highlighted in
979 mouse-face.
980 (update_window): Call the window update end hook with new
981 parameter MOUSE_FACE_OVERWRITTEN_P.
982 (direct_output_for_insert): Give up if row contains mouse-face.
983
984 * dispextern.h (struct redisplay_interface): Add parameter
985 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
986 (clear_mouse_face): New function pointer member.
987
02010917
SM
9882000-07-11 Stefan Monnier <monnier@cs.yale.edu>
989
990 * syntax.c (back_comment): Use one switch rather than a few `if's.
991 Obey open_paren_in_column_0_is_defun_start.
992 When reverting to the `slow' method, try to nicely handle the case
993 of nested comments by checking that the comment-starter we found
994 does indeed match the comment-ender.
995 (scan_sexps_forward, scan_sexps_forward):
996 Ignore excessive opening parenthesis rather than throwing an error.
997
d76c03ea
GM
9982000-07-11 Gerd Moellmann <gerd@gnu.org>
999
1000 * doc.c (Fsubstitute_command_keys): Handle case that a GC
1001 in Fwhere_is_internal or get_keymap_1 relocates string contents.
1002
1003 * dispnew.c (direct_output_forward_char): Give up if currently
1004 displaying a message instead of the minibuffer contents.
1005
1006 * xterm.c (x_update_window_begin): No need to turn off the mouse
1007 highlight here.
1008 (show_mouse_face): Set the mouse_face_p flag of glyph rows
1009 depending on whether they contain glyphs highlighted in
1010 mouse-face.
1011
1012 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
1013 compare the mouse_face_p flags of both rows.
1014
1015 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
1016
d55ead18
EZ
10172000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
1018
1019 * keyboard.c (show_help_echo): Accept additional parameter
1020 ok_to_overwrite_keystroke_echo.
1021 (read_char): Call show_help_echo with a zero
1022 ok_to_overwrite_keystroke_echo argument.
1023 * keyboard.h (show_help_echo): Update prototype of
1024 show_help_echo.
1025 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
1026 ok_to_overwrite_keystroke_echo argument.
1027 * w32menu.c (w32_menu_display_help): Call show_help_echo with
1028 non-zero ok_to_overwrite_keystroke_echo argument.
1029
df75b1a3
GM
10302000-07-10 Gerd Moellmann <gerd@gnu.org>
1031
4b92c49a
GM
1032 * xdisp.c (try_window_id): If changes are all below what is
1033 displayed in the window, and point is in the window, we still
1034 might have to find point on the display.
1035
1036 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
1037 glyphs instead of a single one.
1038 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
1039 with new argument list.
1040 (x_set_glyph_string_gc): Make sure the face's GC is valid.
1041
df75b1a3
GM
1042 * keymap.c (get_keymap_1): Add comment that this function can GC.
1043 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
1044 comment that functions can GC.
1045 (Fset_keymap_parent): GCPRO arg KEYMAP.
1046
4314cf3e
EZ
10472000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
1048
1049 * msdos.c (XMenuActivate): After exiting the menu, restore the
1050 echo area message and erase it.
1051
ab49ce15
KH
10522000-07-10 Kenichi Handa <handa@etl.go.jp>
1053
1054 * fontset.c (Ffontset_info): Make the return value more compatible
1055 with that of Emacs 20.
1056
090a072f
GM
10572000-07-07 Gerd Moellmann <gerd@gnu.org>
1058
1059 * eval.c (Fsignal): Handle case that backtrace_list is null.
1060
f92de4a6
KH
10612000-07-07 Kenichi Handa <handa@etl.go.jp>
1062
1063 * ccl.c (Fccl_execute): Typo fixed.
1064
dd8888a1
GM
10652000-07-06 Gerd Moellmann <gerd@gnu.org>
1066
e5c81191 1067 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 1068
dd8888a1
GM
1069 * window.c (Fwindow_list): Reverse list at the end.
1070 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
1071 means allow windows on OWINDOW's frame, only.
1072 (window_loop): Simplified; use Fwindow_list.
1073
1074 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
1075
485266d0
GM
10762000-07-05 Gerd Moellmann <gerd@gnu.org>
1077
1078 * xterm.c (XTread_socket): Increment handling_signal at the start,
1079 decrement it at the end.
1080
1081 * eval.c (handling_signal): New variable.
1082 (Fsignal): Abort if handling_signal is non-zero.
1083
1084 * lisp.h (handling_signal): External declaration.
178c5d9c 1085
485266d0
GM
1086 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
1087
80fcd514
KR
10882000-07-05 Ken Raeburn <raeburn@gnu.org>
1089
1090 Sound support for NetBSD through "Linux emulation" support:
1091 * config.in (HAVE_SOUNDCARD_H): Undef.
1092 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
1093 * Makefile.in (LIBSOUND): New variable.
1094 (LIBES): Include it.
1095 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
1096 <soundcard.h>.
1097 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
1098 elsewhere.
1099 (vox_open): Use DEFAULT_SOUND_DEVICE.
1100 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
1101
d5c5cddd
GM
11022000-07-05 Gerd Moellmann <gerd@gnu.org>
1103
1104 * print.c (print_error_message): If Vsignaling_function is set,
1105 show it in *Messages*.
1106
1107 * lisp.h (Vsignaling_function): External declaration.
1108
1109 * eval.c (Vsignaling_function): New variable.
1110 (Fsignal): Compute it.
1111 (syms_of_eval): Staticpro it.
1112
65171e3a
DL
11132000-07-05 Dave Love <fx@gnu.org>
1114
1115 * syswait.h: Use the autoconf recommended approach. Old code
1116 #if'd out in case we need to revert.
1117
178c5d9c 1118 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 1119
e2c46326
AI
11202000-07-05 Andrew Innes <andrewi@gnu.org>
1121
1122 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
1123 when non-NULL instead of __morecore, to take account of buffer
1124 memory. This also solves a problem with spurious memory warnings
1125 on Windows.
1126
1127 * ralloc.c: Make real_morecore non-static.
1128
1129 * eval.c (internal_condition_case): Comment out abort if
1130 interrupt_input_blocked is not zero.
1131
1132 * makefile.nt: Add support for `bootstrap' and related targets.
1133 Include minimal debug info in emacs.exe in release build.
1134 Remove all dependencies on lisp.h, and fixup some others.
1135
1136 * w32.c (init_environment): Install code from 20.7 for providing
1137 default values for environment variables, based on the
1138 executable's own location.
1139 (map_w32_filename): Handle filenames that are longer than
1140 MAX_PATH.
1141 (sys_socket): Install socket inheritance bug fix from 20.7.
1142
1143 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
1144 here via blockinput.h).
1145
a027a91b
SM
11462000-07-05 Stefan Monnier <monnier@cs.yale.edu>
1147
e4b31601
SM
1148 * w32menu.c (w32_menu_display_help):
1149 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
1150
1151 * keyboard.h (show_help_echo): Declare.
1152
1153 * keyboard.c (show_help_echo): New function, extracted from read_char.
1154 Feval its `msg' argument if it's a cons cell.
1155 (read_char): Use it.
4cf8d9d5 1156 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 1157
178c5d9c 1158 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 1159 (note_tool_bar_highlight, XTread_socket):
178c5d9c 1160 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
1161 (dos_rawgetc):
1162 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
1163 (note_tool_bar_highlight, w32_read_socket):
1164 Do not gratuitously ignore non-string `help-echo' properties.
1165
88d75730
GM
11662000-07-05 Gerd Moellmann <gerd@gnu.org>
1167
969f7e79
GM
1168 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
1169
71201b00
GM
1170 * window.c (delete_all_subwindows): Reset Vwindow_list.
1171
88d75730
GM
1172 * xterm.c (x_append_glyph, x_append_composite_glyph)
1173 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
1174 changes in struct glyph starting 1999-12-27. Some bit-fields of
1175 struct glyph were not set, which made glyphs unequal when compared
1176 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
1177 effects were the result. This also depended on the contents of
1178 memory returned by xmalloc. If flickering happens again, activate
1179 the code in clear_glyph_row that's in #if 0. If the flickering is
1180 gone with that, chances are that it is caused by something
1181 similar.
1182
1183 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 1184
88d75730
GM
1185 * dispextern.h: Add some comments.
1186
1187 * window.c (add_window_to_list): Add parameter LIST.
1188 (window_list): Order list so that, for each frame, windows are
1189 in canonical order, and so that frames appear in the list in
1190 the order given by Vframe_list.
1191 (next_window): Reverse the handling of NEXT_P.
1192
53654733
GM
11932000-07-04 Gerd Moellmann <gerd@gnu.org>
1194
87efd256
GM
1195 * window.c (Vwindow_list): New variable.
1196 (make_window, delete_window): Set Vwindow_list to nil.
1197 (check_window_containing): New function.
1198 (window_from_coordinates): Rewritten.
1199 (add_window_to_list, window_list, candidate_window_p)
1200 (decode_next_window_args, next_window): New functions.
1201 (Fnext_window, Fprevious_window): Rewritten in terms of
1202 next_window.
1203 (Fwindow_list): New function.
1204 (Fother_window): Cleaned up.
1205 (foreach_window): Add a longer "variable argument list". Let
1206 callback function return 0 to indicate that cycling over windows
1207 should stop.
1208 (foreach_window_1): Likewise.
1209 (freeze_window_start): Return int.
1210 (init_window): New function.
1211 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
1212
1213 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
1214 input_event with bzero.
1215 (main): Call init_window.
1216
53654733
GM
1217 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
1218 a menu filter.
1219
4a8c194f
KH
12202000-07-04 Kenichi Handa <handa@etl.go.jp>
1221
1222 * composite.h (make_composition_value_copy): Extern it.
1223
1224 * composite.c (make_composition_value_copy): New function.
1225
1226 * editfns.c (Fformat): While copying text properties, make each
1227 composition property value a copy.
1228
1229 * fns.c (concat): While copying text properties, make each
1230 composition property value a copy.
1231
831a6cb0
GM
12322000-07-03 Gerd Moellmann <gerd@gnu.org>
1233
2f516940
GM
1234 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
1235
178c5d9c 1236 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
1237 marked already.
1238
831a6cb0
GM
1239 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
1240 include those frames as candidates which have their focus
1241 redirected to the minibuffer frame.
1242
d9c4f922
SM
12432000-07-03 Stefan Monnier <monnier@cs.yale.edu>
1244
1245 * fns.c (Fputhash): Return `value' rather than nil.
1246
3780bc22
GM
12472000-06-30 Gerd Moellmann <gerd@gnu.org>
1248
97d176db
GM
1249 * frame.c (next_frame): Don't check focus redirection in case
1250 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
1251 unless their focus is redirected, which contradicts the
1252 specification of next-frame, and leads to infinite loops in
1253 certain situations when cycling through windows with next-window.
1254
dca9961d
KH
12552000-06-30 Kenichi Handa <handa@etl.go.jp>
1256
1257 * coding.c (code_convert_region): Even if the length of text is
1258 zero, try to convert it if coding->type is coding_type_ccl.
1259 (decode_coding_string, encode_coding_string): Likewise.
1260
d5483ab1
GM
12612000-06-28 Gerd Moellmann <gerd@gnu.org>
1262
af5c25e1 1263 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 1264 the display if windows_or_buffers_changed.
af5c25e1
GM
1265
1266 * dispnew.c (struct row_entry): New structure.
1267 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
1268 (row_table_size, old_lines, new_lines, old_lines_size)
1269 (new_lines_size, run_pool, runs_size, runs): New variables.
1270 (add_row_entry): New function.
1271 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 1272 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
1273 holding them in local variables. Use a larger hash table whose
1274 size depends on glyph matrix sizes. Don't use bzero to clear the
1275 hash table; instead, clear used slots only.
1276
1277 * fns.c (next_almost_prime): Make it externally visible.
1278
1279 * lisp.h (next_almost_prime): Add prototype.
1280
d5483ab1
GM
1281 * s/isc4-0.h (sigunblock): Define.
1282
1283 * s/sco5.h (sigunblock): Define.
1284
93e40f40
DL
12852000-06-27 Dave Love <fx@gnu.org>
1286
1287 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
1288 (moved to osf5-0.h).
1289 [!NOT_C_CODE]: Protect string.h stuff.
1290
1291 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
1292 (sys_siglist, NSIG): Definitions moved here from osf1.h.
1293
3c4b7685
GM
12942000-06-27 Gerd Moellmann <gerd@gnu.org>
1295
97d176db 1296 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
1297 below the last line from the needed window height.
1298
32cad0aa
SM
12992000-06-26 Stefan Monnier <monnier@cs.yale.edu>
1300
1301 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
1302 (Fwidget_get): Use it.
1303 (syms_of_fns): Defsubr it.
1304
2c69ced2
GM
13052000-06-26 Gerd Moellmann <gerd@gnu.org>
1306
178c5d9c 1307 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
1308 display info for XIM.
1309 (xim_open_dpy): Likewise.
1310 (xim_close_dpy): Don't free the display info's XIM.
1311
1312 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
1313
1314 * config.in (USE_XIM): New define.
1315
3fc720e4
GM
1316 * keymap.c (get_keyelt): For menu-items containing a `:filter
1317 FILTER', apply FILTER to the menu-item's definition to get the
1318 real definition to use.
1319
1320 * lisp.h (QCfilter): External declaration.
1321
2c69ced2
GM
1322 * xfns.c (Fimage_size): New function.
1323 (syms_of_xfns): Defsubr it.
1324
f978b2a2
AS
13252000-06-26 Andreas Schwab <schwab@suse.de>
1326
1327 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
1328 Fstring_as_unibyte.
1329
94cc7892
DL
13302000-06-25 Dave Love <fx@gnu.org>
1331
1332 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
1333 tgetnum.
1334
1335 * Makefile.in (blockinput.h): Depend on atimer.h.
1336 (atimer.h): Depend on systime.h.
1337
1338 * blockinput.h: Protect against multiple inclusion. Include
1339 atimer.h.
1340
1341 * atimer.h: Protect against multiple inclusion. Include
1342 systime.h.
1343
1344 * lisp.h (swap_in_global_binding): Declare.
1345
b8c24556
KR
13462000-06-24 Ken Raeburn <raeburn@gnu.org>
1347
1348 * process.c (Fopen_network_stream): Turn off atimers for duration
1349 of call to connect. (Patch from Gerd.)
1350
8cf8560b
DL
13512000-06-23 Dave Love <fx@gnu.org>
1352
511c7541
DL
1353 * ralloc.c: Maybe include unistd.h
1354
8cf8560b
DL
1355 * emacs.c (setgrp): Undefine before defining.
1356 (malloc_warning, set_time_zone_rule, index): Prototype.
1357
1358 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
1359 HAVE_STRUCT_TIMEZONE.
1360
1361 * s/osf1.h: Move string.h hack here from alpha.h and make it
1362 conditional.
1363 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
1364 _XOPEN_SOURCE.
1365 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
1366 (SOCKLEN_TYPE): Don't define.
1367
1368 * m/alpha.h: Remove string.h hack.
1369
1370 * s/osf5-0.h: New file.
1371
1372 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
1373 include time.h, done by systime.h.
1374 [__FreeBSD__]: Remove redundant includes.
1375
3fc720e4 1376 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
1377 (delete_temp_file): Return Qnil to avoid warning.
1378
1379 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
1380
1381 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
1382 HAVE_X_WINDOWS.
1383
1384 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
1385
1386 * composite.h (compose_text): Declare.
1387
1388 * xterm.c: Don't include sys/types.h unconditionally. Don't
1389 protect its inclusion with !USG (following xmenu.c).
1390
ea055732
GM
13912000-06-23 Gerd Moellmann <gerd@gnu.org>
1392
1393 * xfns.c (x_create_tip_frame): Initialize frame's colors like
1394 in x_create_frame.
1395
74b01b80
EZ
13962000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
1397
1398 * coding.c (decode_eol_post_ccl): Special handling for undecided
1399 and inconsistent EOL types.
1400
64f3a166
GM
14012000-06-22 Gerd Moellmann <gerd@gnu.org>
1402
16cf31f7
GM
1403 * xrdb.c (x_load_resources): Add default resource for scroll bar's
1404 trough color and main window's background color.
1405
178c5d9c 1406 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
1407 differently.
1408
1409 * xterm.h (Xt_app_con): External declaration.
1410
1411 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 1412
486a103d
GM
1413 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
1414
64f3a166
GM
1415 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
1416 (handle_invisible_prop): Record the start of invisible text in
1417 it->add_overlay_start.
1418 (struct overlay_entry): Add member `overlay'.
1419 (handle_overlay_change): Simplify.
1420 (next_overlay_string): After having processed overlay strings at the
1421 end of the buffer, record that fact in
1422 it->overlay_strings_at_end_processed_p.
1423 (compare_overlay_entries): If before- and after-strings come
1424 from the same overlay, let before-strings come first.
1425 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
1426 (load_overlay_strings): Take it->add_overlay_start into account
1427 when adding overlay strings.
1428
1429 * dispextern.h (struct it): Add member add_overlay_start.
1430
bb746ea6
DL
14312000-06-22 Dave Love <fx@gnu.org>
1432
1433 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
1434
1435 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
1436
a8f573f3
KH
14372000-06-22 Kenichi Handa <handa@etl.go.jp>
1438
1439 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
1440 is greater than 0.
1441
9f2bbc92
DL
14422000-06-21 Dave Love <fx@gnu.org>
1443
178c5d9c 1444 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 1445
3ee5041c
SM
14462000-06-21 Stefan Monnier <monnier@cs.yale.edu>
1447
1448 * syntax.c (back_comment): Simplify string-parity counting (with
1449 the added benefit of handling multiple string-styles as long as
1450 they are not intertwined).
1451 Jump to the slow code as soon as a comment starter is found in
1452 a "string_lossage" position. Fixes the case: " /* " /* " */.
1453
4c343001
DL
14542000-06-21 Dave Love <fx@gnu.org>
1455
1456 * Makefile.in: Use GETLOADAVG_LIBS.
1457
1458 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
1459 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
1460
e6365855
SM
14612000-06-20 Stefan Monnier <monnier@cs.yale.edu>
1462
1463 * syntax.c (describe_syntax): Recognize the `n'estable bit.
1464 (Fforward_comment, scan_lists):
1465 Check the comstyle of single-char comment-starters.
1466 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
1467 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
1468 Check the comstyle of single-char comment-starters.
1469 Clarify control-flow around the Scomment case.
e6365855 1470
5700d2cc
DL
14712000-06-20 Dave Love <fx@gnu.org>
1472
d355bd8a
SM
1473 * fns.c (make_hash_table, maybe_resize_hash_table):
1474 Cast arg of next_almost_prime.
5700d2cc 1475
178c5d9c 1476 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
1477
1478 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
1479 and unistd.h.
1480
4a27bdfb
GM
14812000-06-20 Gerd Moellmann <gerd@gnu.org>
1482
a61d762c
GM
1483 * keyboard.c (adjust_point_for_property): Check if display
1484 property should be treated as intangible by looking at its
1485 value.
1486
178c5d9c 1487 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
1488 (display_prop_intangible_p): New functions.
1489
1490 * dispextern.h (display_prop_intangible_p): Add prototype.
1491
1492 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 1493
4a27bdfb
GM
1494 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
1495 argument to sigprocmask.
1496
1497 * s/sco5.h (sigblock): Redefined to pass a pointer as second
1498 argument to sigprocmask.
1499
1500 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
1501 sigprocmask_set, and pass a pointer to it to sigprocmask.
1502
1503 * sysdep.c (sigprocmask_set): New variable.
1504
1505 * fileio.c (make_temp_name): Don't use `%s' in string passed to
1506 report_file_error.
1507
427ec082
SS
15082000-06-20 Sam Steingold <sds@gnu.org>
1509
1510 * xrdb.c: Don't declare xmalloc, xrealloc.
1511
8972fe79 15122000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
1513
1514 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
1515 (re_comp): Cast gettext return value to avoid complaints when
1516 !HAVE_LIBINTL.
1517
074b6efe
DL
15182000-06-20 Dave Love <fx@gnu.org>
1519
f85c008a
DL
1520 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
1521 HAVE_GETTIMEOFDAY.
1522
5700d2cc 1523 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 1524
d355bd8a 1525 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
1526
1527 * m/alpha.h: Don't declare xmalloc, xrealloc.
1528
0af4f205
DL
1529 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
1530
1531 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
1532
1533 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
1534
1535 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
1536 HAVE_GETWD.
1537
074b6efe
DL
1538 * keyboard.h (poll_for_input_1): Declare.
1539
1540 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
1541
1542 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
1543
1544 * doprnt.c: Don't declare xmalloc, xrealloc.
1545
1546 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
1547 (getenv, ctime, getwd): Removed.
1548 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
1549
1550 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
1551 x_set_tool_bar_lines.
1552
1553 * config.in: Add HAVE_GETWD. Move some definitions above
1554 machine/system includes.
1555
68a5e97b
KH
15562000-06-20 Kenichi Handa <handa@etl.go.jp>
1557
95417e1e
KH
1558 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
1559
68a5e97b
KH
1560 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
1561 contain information about ENCODING.
1562
1563 * fontset.c (FONTSET_ASCII): Use the first element of char table
1564 for an ASCII font, not defalt slot.
1565 (fontset_ref_via_base): If FONTSET doesn't contain information for
1566 C, try the default fontset.
1567 (make_fontset): Don't copy the default fontset.
1568 (fontset_font_pattern): Likewise.
1569 (accumulate_font_info): If ELT is nil, use the corresponding
1570 element in the default fontset.
1571
3b4fa1b2
DL
15722000-06-19 Dave Love <fx@gnu.org>
1573
943e731c
DL
1574 * syntax.c (Fparse_partial_sexp): Doc fix.
1575
1576 * regex.h: Test PROTOTYPES as well as __STDC__.
1577
3b4fa1b2
DL
1578 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
1579 errno, strerror. Put text after #endif in comment.
1580
1581 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
1582 pcc).
1583
1584 * xterm.c (x_frame_of_widget): Likewise.
1585
cdf0357b
GM
15862000-06-19 Gerd Moellmann <gerd@gnu.org>
1587
1588 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
1589 to Vfundamental_mode_abbrev_table.
1590
1591 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
1592 bogus objects are marked. This slows down GC by ~80 percent, but
1593 it might be worth trying when debugging GC-related problems.
1594 This feature requires conservative stack marking to be enabled.
1595
1596 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
1597 returns XLookupChars, reset `modifiers' to zero.
1598
998e9f8c
DL
15992000-06-19 Dave Love <fx@gnu.org>
1600
1601 * mktime.c: Unprotoized.
1602
18e21ce8 16032000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
1604
1605 * data.c (set_internal): If variable is frame-local,
1606 store the new value immediately into the frame parameter alist.
1607
140c4ac6
KR
16082000-06-19 Ken Raeburn <raeburn@gnu.org>
1609
14358466
KR
1610 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
1611 in the custom handler pointer.
1612
140c4ac6
KR
1613 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
1614 value, or checks for CHAR_META can fail when Lisp_Object is a
1615 union type.
1616 * keymap.c (get_keyelt): Likewise.
1617
10d7bf84
KH
16182000-06-19 Kenichi Handa <handa@etl.go.jp>
1619
1620 * ccl.h (struct ccl_program): New member eol_type.
1621 (struct ccl_spec): New member cr_carryover.
1622
1623 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
1624 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
1625
1626 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
1627 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
1628 (decode_eol_post_ccl): New function.
1629 (decode_coding): Don't detect EOL format here for CCL based coding
1630 systems.
1631 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
1632 decode_eol_post_ccl after running the CCL program.
1633 (code_convert_region): Don't detect EOL format here for CCL based
1634 coding systems.
1635 (decode_coding_string): Likewise.
1636
52e386c2
KR
16372000-06-18 Ken Raeburn <raeburn@gnu.org>
1638
1639 * charset.c (update_charset_table): Use XINT on "iso_final_char"
1640 when treating it as an integer.
1641
1642 * coding.h (encode_coding_string): Declare.
1643
1644 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
1645 it as an integer.
1646
1647 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
1648 "xkeymap" to avoid shadowing the "enum map_type" value that needs
1649 to be passed to get_local_map.
1650
1651 * sound.c (Fplay_sound): Don't call make_number on
1652 Frun_hook_with_args count argument.
1653
1654 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
1655 for lisp objects in X event structure data field, when lisp
1656 objects are represented with unions.
1657 (x_scroll_bar_to_input_event): Ditto.
1658
b357b9d4
KR
16592000-06-16 Ken Raeburn <raeburn@gnu.org>
1660
1661 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
1662 termination of string. Fix sense of test whether
1663 Vline_number_display_limit is an integer.
b357b9d4 1664
a871441d
GM
16652000-06-16 Gerd Moellmann <gerd@gnu.org>
1666
a9021acd
GM
1667 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
1668 only if HAVE_X_WINDOWS.
1669
6344985d
GM
1670 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
1671 of titles.
1672
427ec082 1673 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
1674 out of bounds.
1675
228b083e
EZ
16762000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1677
1678 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
1679 of its headers.
1680
c25b53a2
KH
16812000-06-15 Kenichi Handa <handa@etl.go.jp>
1682
1683 * coding.c (decode_coding_emacs_mule): Always set src_base at the
1684 start of the while loop.
1685
a6981b11
GM
16862000-06-15 Gerd Moellmann <gerd@gnu.org>
1687
e9924e52
GM
1688 * atimer.c (alarm_signal_handler): Add forward declaration.
1689
a6981b11
GM
1690 * data.c (set_internal): Remove debug code.
1691
25fa6deb
GM
16922000-06-14 Gerd Moellmann <gerd@gnu.org>
1693
dce6b995
GM
1694 * Makefile.in (bootstrap-temacs): Add `-I../src'.
1695
9f817ea4
GM
1696 * unexec.c (toplevel) [COFF]: Include coff.h.
1697
1698 * s/lynxos.h: New file.
1699
1700 * keymap.c (Fsingle_key_description): Enclose function key and
1701 event symbol names in angle brackets.
1702
8a4e3c0c
GM
1703 * xdisp.c (setup_echo_area_for_printing): Call
1704 message_log_maybe_newline if message_buf_print is not set.
1705
1706 * print.c (printchar, strout): Don't check message_buf_print
427ec082 1707 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
1708 function does something useful even when message_buf_print is
1709 already set.
1710
25fa6deb
GM
1711 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
1712 variables.
1713 (ensure_echo_area_buffers): Initialize echo buffer's
1714 truncate lines setting to nil.
1715 (with_echo_area_buffer): Don't set the echo buffer's truncate
1716 lines setting here.
8a4e3c0c 1717 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
1718 of message_truncate_lines.
1719 (resize_mini_window): Handle case that lines are truncated.
1720 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
1721 message-truncate-lines.
1722
1723 * keyboard.c (read_char): Bind message-truncate-lines to t
1724 while displaying a help-echo.
1725
1726 * lisp.h (Qmessage_truncate_lines): External declaration.
1727
163dcff3
GM
17282000-06-13 Gerd Moellmann <gerd@gnu.org>
1729
1681ead6
GM
1730 * xdisp.c (Vline_number_display_limit): Renamed from
1731 line_number_display_limit.
1732 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
1733 Extend documentation string. Initialize
1734 Vline_number_display_limit to nil meaning no limit.
1735 (decode_mode_spec): Use Vline_number_display_limit with its new
1736 meaning.
1737
163dcff3
GM
1738 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
1739
18e21ce8 17402000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
1741
1742 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 1743
163dcff3
GM
1744 * xfns.c (x_set_frame_parameters): Comment fix.
1745
1746 * frame.c (store_frame_param): Call swap_in_global_binding if the
1747 variable's current binding was chosen based on this frame.
1748
1749 * data.c (swap_in_global_binding): New function.
1750
a704139d
EZ
17512000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
1752
1753 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
1754 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
1755
9b6610db
EZ
17562000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
1757
1758 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
1759
c68833d2
JR
17602000-06-12 Jason Rumney <jasonr@gnu.org>
1761
1762 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
1763
1764 * w32.h (EMACS_W32_H): Renamed from _NT_H_
1765
1766 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
1767
1768 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
1769
ed1056b3
GM
17702000-06-12 Gerd Moellmann <gerd@gnu.org>
1771
1772 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
1773 (syms_of_xfaces): Defsubr Sdump_colors.
1774 (x_free_colors): Don't treat b&w specially on default visual.
1775 (x_free_dpy_colors): New function.
1776 (free_face_colors): Don't check visual class; it's done
1777 in x_free_colors.
1778
1779 * xterm.c (x_frame_of_widget): New function.
1780 (x_alloc_nearest_color_for_widget): Use it.
1781 (x_copy_dpy_color): New function.
1782 (x_destroy_window): Free various colors.
1783
5050a2ef
KH
17842000-06-12 Kenichi Handa <handa@etl.go.jp>
1785
1786 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
1787
1788 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
1789
1790 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
1791
1792 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
1793
1794 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
1795
fb1b041d
DL
17962000-06-11 Dave Love <fx@gnu.org>
1797
1798 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
1799
ff96b5f4
EZ
18002000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
1801
1802 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
1803
db8eeecd
GM
18042000-06-11 Gerd Moellmann <gerd@gnu.org>
1805
ed1056b3 1806 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
1807 to `XEvent *'.
1808
49b71c5f
KH
18092000-06-10 Kenichi Handa <handa@etl.go.jp>
1810
c479bd55
KH
1811 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
1812 (regex_compile): Fix the code for handling the case of single byte
1813 char and multibyte char being mixed in a range within [...].
1814
ff6a65c2
KH
1815 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
1816 and dst_multibyte members of coding.
1817
49b71c5f
KH
1818 * charset.c (update_charset_table): Update the table
1819 bytes_by_char_head.
1820 (init_charset_once): Initialize elements of bytes_by_char_head to
1821 1 except for leading codes for private charases.
1822
1823 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
1824 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
1825 sequence.
1826
9e80b57d
KR
18272000-06-09 Ken Raeburn <raeburn@gnu.org>
1828
1829 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
1830 access the data it doesn't point to.
1831
f83fe4b4
GM
18322000-06-08 Gerd Moellmann <gerd@gnu.org>
1833
1834 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 1835 will be translated to a switch-frame event when reading the
f83fe4b4
GM
1836 event queue. This is necessary because Emacs otherwise won't
1837 perform a switch-frame to a new frame until some other event, for
1838 example a keystroke event, forces it to do so. This has various
1839 effects, one visible being that the cursor of a frame created with
1840 C-x 5 2 or switched to with a window manager key binding like
1841 A-TAB stays hollow because selected_window isn't on the newly
1842 focused frame until the switch-frame is performed.
1843
1844 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
1845 generating a switch-frame event if necessary.
1846
1847 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
1848
1849 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
1850 it's an integer.
1851
0890801b
KH
18522000-06-08 Kenichi Handa <handa@etl.go.jp>
1853
1854 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
1855 charset.
1856
173cbca8
GM
18572000-06-07 Gerd Moellmann <gerd@gnu.org>
1858
3091c2a6
GM
1859 * window.c (displayed_window_lines): Take empty lines at
1860 the bottom of a window into account.
427ec082 1861
f38952fe
GM
1862 * window.c (displayed_window_lines): New function.
1863 (Fmove_to_window_line): Use displayed_window_lines to determine
1864 the number of lines to move, instead of using the window's height.
1865
1866 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
1867 to stop reading, even if the form read sets point to a different
1868 value when evaluated.
1869
427ec082 1870 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
1871 put the cursor.
1872
6ba6c818
KH
18732000-06-07 Kenichi Handa <handa@etl.go.jp>
1874
1875 * fileio.c (e_write): Free composition data if stored in
1876 coding->cmp_data.
1877
5f1aea9a
GM
18782000-06-06 Gerd Moellmann <gerd@gnu.org>
1879
666852af
GM
1880 * xdisp.c (display_line): Set row's and iterator's
1881 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
1882 Set cursor even if row ends in the middle of a character.
1883 (dump_glyph_row): Print values of new flags.
1884 (redisplay_window) <cursor movement in unchanged window>: When
1885 point has been moved forward, and PT is at the end of the cursor
1886 row, don't place the cursor in the next row if the cursor row ends
1887 in the middle of a character or at ZV.
1888
1889 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
1890 (struct glyph_row): Add starts_in_middle_of_char_p and
1891 ends_in_middle_of_char_p.
1892 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
1893 ends_in_middle_of_char_p flag.
1894 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
1895
d13f3e2e
GM
1896 * term.c (append_glyph): Revert change of 2000-06-06.
1897
1898 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
1899 padding glyph not fitting on line as whole character not
1900 fitting on line.
1901
5f1aea9a
GM
1902 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
1903 this isn't true for images with `:ascent 100'.
1904
10cda9b0
KH
19052000-06-06 Kenichi Handa <handa@etl.go.jp>
1906
ed00559d
KH
1907 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
1908 as modified if it is originally unmodified.
1909
10cda9b0
KH
1910 * term.c (encode_terminal_code): Change the way to check if
1911 terminal coding does any conversion.
1912 (append_glyph): Set glyph->pixel_width correctly.
1913
1914 * xdisp.c (display_line): While checking line continuation, pay
1915 attention to a padding glyph.
1916
1969fae2
GM
19172000-06-05 Gerd Moellmann <gerd@gnu.org>
1918
1919 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
1920
162ccef4
DL
19212000-06-05 Dave Love <fx@gnu.org>
1922
f19f32dd
DL
1923 * xdisp.c: Include fontset.h.
1924
1925 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
1926
1927 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
1928
1929 * dispnew.c: Conditionally include term.h.
1930
1931 * coding.h: Declare code_convert_string_norecord.
1932
1933 * frame.h (struct frame): Use volatile unconditionally.
1934
1935 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
1936
1937 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
1938
1939 * systime.h: Protect against multiple inclusion.
1940 (timezone) [USG5_4]: Define as time_t.
1941
1942 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
1943 (Foptimize_char_table, make_temp_name): Declare.
1944
1945 * Makefile.in (xdisp.o): Depend on fontset.h.
1946
1947 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
1948
1949 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
1950 (Foptimize_char_table, make_temp_name): Declare.
1951
427ec082 1952 * s/irix4-0.h:
162ccef4
DL
1953 * s/irix5-0.h:
1954 * s/netbsd.h: Don't define autoconfiscated MATHERR.
1955
2082fe81
DL
19562000-06-02 Dave Love <fx@gnu.org>
1957
1958 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
1959
dcf671d2
GM
19602000-06-02 Gerd Moellmann <gerd@gnu.org>
1961
1962 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 1963 result face, set flags in that face indicating that colors may not
dcf671d2
GM
1964 be freed.
1965
1966 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
1967 glyph, use the ASCII NUL character to determine the face.
1968
d42122a3
DL
19692000-06-02 Dave Love <fx@gnu.org>
1970
1971 * sysdep.c: Conditionally include stdlib.h, unistd.h.
1972 (VFORK_RETURN_TYPE): Remove.
427ec082 1973
d42122a3
DL
1974 * config.in: Add NO_MATHERR.
1975
dd432f16
DL
19762000-06-01 Dave Love <fx@gnu.org>
1977
90aa4ea8
DL
1978 * cmds.c (internal_self_insert): Don't check
1979 Vbefore_change_function, Vafter_change_function.
1980
1981 * insdel.c (signal_before_change, signal_after_change): Likewise.
1982
1983 * buffer.c (Vbefore_change_function, Vafter_change_function):
1984 Variables and their initializations deleted.
1985
2330c9d4
DL
1986 * callint.c (Fcall_interactively): Doc fix.
1987
dd432f16
DL
1988 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
1989
bf9e8804
DL
19902000-05-31 Dave Love <fx@gnu.org>
1991
1992 * textprop.c: Revert last change -- duplicated.
1993
3694b4ab
GM
19942000-05-31 Gerd Moellmann <gerd@gnu.org>
1995
1996 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
1997 in #if 0.
1998
1999 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
2000
f14156cd
JR
20012000-05-31 Jason Rumney <jasonr@gnu.org>
2002
8119aab8
JR
2003 * search.c (Fre_search_forward, Fre_search_backward)
2004 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
2005
f14156cd
JR
2006 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
2007
4aab9be3
JR
20082000-05-30 Jason Rumney <jasonr@gnu.org>
2009
2010 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
2011 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
2012
2013 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
2014 member.
2015
2016 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
2017 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
2018 expand a nil default_filename.
2019
2020 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
2021 pointer to glyph_to_pixel_coords, not a frame.
2022
2023 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
2024 coding.h to dependencies.
2025
2026 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
2027
2028 * w32console.c (glyph_to_pixel_coords): Change first parameter to
2029 window pointer to be consistent with w32term.c and xterm.c.
2030
2031 * w32fns.c: Format and doc changes to bring closer to xfns.c.
2032 (VIETNAMESE_CHARSET): Define if not defined in system headers.
2033 (Qline_spacing, Qcenter): New variables.
2034 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
2035 (x_set_line_spacing): New function.
2036 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
2037 macros.
2038 (x_specified_cursor_type): New function.
2039 (x_set_cursor_type): Use it.
2040 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
2041 and icon strings.
2042 (validate_x_resource_name, x_get_resource_string): Measure lengths
2043 of external strings in bytes.
2044 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
2045 GetTextExtentPoint32 with NULL title.
2046 (Fx_create_frame): Initialize Qline_spacing.
2047 (w32_load_system_font): Initialize font->double_byte_p.
2048 (x_to_w32_charset): Use Vw32_charset_info_alist.
2049 (Image, busy cursor, tooltip functions): Merged changes from
2050 xfns.c. Not yet functional on Windows.
2051
2052 * w32gui.h (W32FontStruct): Add double_byte_p member.
2053
2054 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
2055 (emacs_button_translation): Use it.
2056 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
2057 in `mask' to be set.
2058
2059 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
2060 menu strings.
2061
2062 * w32term.c: Format and doc changes to bring closer to xterm.c.
2063 (w32_char_font_type): New enum.
2064 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
2065 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
2066 (w32_encode_char): New function.
2067 (x_encode_char): Removed.
2068 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
2069 x_encode_char and w32_font_is_double_byte.
2070 (x_produce_image_glyph): Use image_ascent.
2071 (x_produce_glyphs): Use new version of w32_per_char_metric and
2072 handle NULL return value. Allow extra line spacing.
2073 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
2074 (w32_get_glyph_overhangs): Remove unicode_p param. Use
2075 w32_font_type member of glyph instead.
2076 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
2077 (fast_find_position): Make sure not to consider rows not visible
2078 in the window.
2079 (w32_read_socket) [WM_MENUSELECT]: Cannot call
2080 w32_menu_display_help with input blocked, as it can abort.
2081 (x_display_and_set_cursor): Choose cursor depending
2082 on buffer-local value of cursor_type.
2083 (x_draw_bar_cursor): Add parameter WIDTH.
2084
2085 * w32term.h (CP_DEFAULT): Define.
2086 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
2087
10fc3187
GM
20882000-05-30 Gerd Moellmann <gerd@gnu.org>
2089
2090 * search.c (Fre_search_forward, Fre_search_backward)
2091 (Fposix_search_backward, Fposix_search_forward): Doc fix.
2092
d0555360
KH
20932000-05-30 Kenichi Handa <handa@etl.go.jp>
2094
2095 * coding.c (detect_coding_iso2022): Fix code for checking
2096 CODING_CATEGORY_MASK_ISO_8_2.
2097
f1ad044f
SM
20982000-05-29 Stefan Monnier <monnier@cs.yale.edu>
2099
2100 * regex.c (PREFETCH_NOLIMIT): New function.
2101 (re_match_2_internal): Use it and adjust the end_match_2 logic.
2102
84ec3b4b
GM
21032000-05-29 Gerd Moellmann <gerd@gnu.org>
2104
66254a13
GM
2105 * syntax.c (find_defun_start): Move test for
2106 open_paren_in_column_0_is_defun_start outside of the loop.
2107
49e70dec
GM
2108 * xdisp.c (redisplay_window): Really switch buffers when
2109 displaying mode lines, and temporarily set selected_frame to the
2110 frame of the window that's redisplayed.
2111
84ec3b4b
GM
2112 * xfaces.c (free_realized_faces): Block/unblock input.
2113 (free_realized_multibyte_face): Ditto.
2114
869a3a14
DL
21152000-05-29 Dave Love <fx@gnu.org>
2116
2117 * textprop.c (Qkeymap): New variable.
2118 (syms_of_textprop): Intern it.
2119
2120 * keymap.c: Include intervals.h.
2121 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
2122
2123 * Makefile.in (keymap.o): Depend on intervals.h.
2124
2125 * keyboard.c (menu_bar_items, tool_bar_items)
2126 (Fexecute_extended_command): Deal with `keymap' property.
2127 (read_key_sequence): Track map from `keymap' property as well as
2128 `local_map'.
2129
2130 * intervals.c (get_local_map): Extra arg to allow looking for
2131 `keymap' too.
2132
2133 * intervals.h (map_property): New enum.
2134 (get_local_map): Extra arg using it.
2135 (Qkeymap): Declare.
2136
84ec3b4b 2137 * lisp.h (get_local_map): Don't declare here.
869a3a14 2138
89d0c844
KH
21392000-05-29 Kenichi Handa <handa@etl.go.jp>
2140
2141 * Makefile.in (callproc.o): Depend on composite.h.
2142
2143 * callproc.c: Include composite.h.
2144 (Fcall_process): Handle composition correctly.
2145
2146 * coding.h (coding_allocate_composition_data): Extern it.
2147 (coding_restore_composition): Likewise.
2148
2149 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
2150 yet allocated, finish decoding with result
2151 CODING_FINISH_INSUFFICIENT_CMP.
2152 (coding_allocate_composition_data): Make it non-static.
2153 (coding_restore_composition): Likewise.
2154
797a084a
EZ
21552000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
2156
2157 * charset.c (syms_of_charset): Revert last change.
2158
cf872af5
EZ
21592000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
2160
2161 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
2162 charsets as unibyte, with 1-column screen width. Sent by Kenichi
2163 Handa.
cf872af5 2164
5b1ae051
EZ
21652000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
2166
2167 * charset.c (syms_of_charset): Set width of character sets
2168 eight-bit-control and eight-bit-graphic to 1 column.
2169
34ec9ebe
GM
21702000-05-26 Gerd Moellmann <gerd@gnu.org>
2171
2172 * config.in (HAVE_SPEED_T): New define.
2173
2174 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
2175 `extern speed_t'.
2176
dd854dc2
DL
21772000-05-26 Dave Love <fx@gnu.org>
2178
2179 * coding.c (shrink_decoding_region): Initialize eol_conversion.
2180
2181 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
2182 (Fsubr_arity): New function.
2183 (syms_of_data): Install them.
2184
ba9f8f95
KH
21852000-05-26 Kenichi Handa <handa@etl.go.jp>
2186
0f3e0672
KH
2187 * charset.c (init_charset_once): Set the table bytes_by_char_head
2188 correctly.
2189
cebefb44
KH
2190 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
2191 the default fontset to what Emacs uses by default.
0f3e0672
KH
2192 (check_registry_encoding): This function deleted.
2193 (Fset_fontset_font): Remove the adhoc condition for the default
2194 fontset. Allow cons in FONTNAME.
cebefb44 2195
0f3e0672
KH
2196 * fns.c (map_char_table): Ignore char-table entries for
2197 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 2198
7a18af49
KR
21992000-05-25 Ken Raeburn <raeburn@gnu.org>
2200
2201 * emacs.c (main): Initialize keyboard syms before initializing
2202 window code, so face names are available.
2203
d2af47df
SM
22042000-05-25 Stefan Monnier <monnier@cs.yale.edu>
2205
2206 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
2207 of an anchor at the beginning of a shy-group.
2208
fc6a6a4e
GM
22092000-05-25 Gerd Moellmann <gerd@gnu.org>
2210
2211 * xdisp.c (handle_invisible_prop): Don't try to skip over
2212 invisible text if end of text is already reached.
2213
005f0d35
DL
22142000-05-25 Dave Love <fx@gnu.org>
2215
02513cdd
DL
2216 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
2217
005f0d35
DL
2218 * coding.c (encode_eol): Add null statement after label.
2219
89f6ca4e
EZ
22202000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
2221
2222 * w16select.c (Fw16_set_clipboard_data): Fix the change from
2223 2000-05-20.
2224
a4e1759e
KH
22252000-05-25 Kenichi Handa <handa@etl.go.jp>
2226
2227 * ccl.c (ccl_driver): Fix previous change.
2228
eacfd7fe
KH
22292000-05-25 Kenichi Handa <handa@etl.go.jp>
2230
46ab33a9
KH
2231 * coding.c (run_pre_post_conversion_on_str): Set point to the
2232 beginning of buffer before calling coding->post_read_conversion.
2233 (decode_coding_string): Give correct args to
2234 run_pre_post_conversion_on_str.
2235 (encode_coding_string): Likewise.
2236
eacfd7fe
KH
2237 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
2238 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
2239 eight-bit-graphic correctly.
2240
f8569325
DL
22412000-05-24 Kenichi HANDA <handa@etl.go.jp>
2242
2243 * fileio.c (Finsert_file_contents): Even if a file is not found,
2244 execute codes for setting up coding system. Call
2245 after-insert-file-functions unconditionally.
2246
04545643
GM
22472000-05-24 Gerd Moellmann <gerd@gnu.org>
2248
2249 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
2250 BSD_PGRPS are not defined.
2251
747d90ea
KH
22522000-05-24 Kenichi Handa <handa@etl.go.jp>
2253
2254 * charset.c (update_charset_table): Accept nil in LONG_NAME and
2255 DESCRIPTION.
2256 (syms_of_charset): Avoid building same strings.
2257
716e3b88
GM
22582000-05-23 Gerd Moellmann <gerd@gnu.org>
2259
2260 * lread.c (Fload): Add a comment about the meaning of
2261 Vuser_init_file being t.
2262
2263 * puresize.h (BASE_PURESIZE): Increase to 675000.
2264
2265 * s/gnu-linux.h (setpgrp): Don't define it here because this
2266 prevents compilation on GNU/Linux systems with glib 2.2.
2267
2268 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
2269 as setpgid.
427ec082 2270
9aeb39fa
EZ
22712000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
2272
2273 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
2274 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
2275 version.
2276 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
2277
29ced61b
KH
22782000-05-23 Kenichi Handa <handa@etl.go.jp>
2279
0574a2ed
KH
2280 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
2281 unconditionally.
2282
3d80f24d
KH
2283 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
2284
2285 * term.c (encode_terminal_code): Set coding->src_multibyte
2286 properly.
2287
29ced61b
KH
2288 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
2289
d7e00792
KH
22902000-05-22 Kenichi Handa <handa@etl.go.jp>
2291
c9d80d38
KH
2292 * keyboard.c (read_char): Allow character codes 128..255 to be
2293 handled by input-method-function.
2294
d7e00792
KH
2295 * insdel.c (adjust_markers_for_replace): Fix previous change.
2296 (adjust_after_replace): If PREV_TEXT is nil, call
2297 adjust_markers_for_insert, not adjust_markers_for_replace.
2298
087121cc 22992000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 2300
087121cc
GM
2301 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
2302 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
2303 [HAVE_GRANDPT]: Define.
2304 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
2305
2306 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
2307 like SYSV_PTYS.
2308
2309 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
2310
2311 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
2312
c9671f81
KH
23132000-05-20 Kenichi Handa <handa@etl.go.jp>
2314
2315 The following changes are to handle 8-bit characters in a
2316 multibyte buffer/string without facing with byte combining
2317 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
2318 eight-bit-graphic (for 0xA0..0xFF) are introduced.
2319
2320 * Makefile.in (fns.o): Depend on charset.h.
2321
2322 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
2323 convert it to unibyte.
2324 (make_string): Use parse_str_as_multibyte, not chars_in_text.
2325
2326 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
2327 apparent char boundary.
2328 (Fset_buffer_multibyte): Convert 8-bit characters in the range
2329 0x80..0x9F to/from multibyte form.
2330
2331 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
2332 to unibyte.
2333
2334 * callproc.c (Fcall_process): Always encode an argument string if
2335 it is multibyte. Setup src_multibyte and dst_multibyte members of
2336 process_coding properly.
ce75fd23 2337
c9671f81
KH
2338 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
2339 SPLIT_NON_ASCII_CHAR.
2340
2341 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
2342 as is.
2343 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
2344
2345 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
2346 variables.
2347 (SPLIT_CHARACTER_SEQ): This macro deleted.
2348 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
2349 valid.
2350 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
2351 and eight-bit-graphic.
2352 (char_to_string): Likewise. Signal an error for too large
2353 character code.
2354 (char_printable_p): Return 0 for 8-bit characters.
2355 (update_charset_table): Update iso_charset_table only when a final
2356 character is non-negative.
2357 (find_charset_in_text): Renamed from find_charset_in_str.
2358 Arguments and return value changed. Callers changed.
2359 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
2360 be -1 if CHARSET is used only internally.
2361 (Fmake_char_internal): Handle new charsets; eight-bit-control and
2362 eight-bit-graphic.
2363 (Fcharset_after): Simplified.
2364 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
2365 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
2366 (multibyte_chars_in_text): Simplified by assuming there's no
2367 invalid multibyte sequence.
2368 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
2369 str_as_unibyte): New functions.
2370 (Fstring): Simpified by assuming that byte combining never
2371 happens.
2372 (init_charset_once): Initialization for
2373 LEADING_CODE_8_BIT_CONTROL.
2374 (syms_of_charset): Intern and staticpro Qeight_bit_control and
2375 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
2376 eight-bit-control and eight-bit-graphic.
2377
2378 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
2379 CHARSET_8_BIT_GRAPHIC): New macros.
2380 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
2381 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
2382 (CHARSET_REVERSE_CHARSET): Likewise.
2383 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
2384 eight-bit-graphic.
2385 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
2386 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
2387 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
2388 encounter an invalid multibyte sequence.
2389 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
2390 sequence is always valid.
2391 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
2392 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
2393 macros.
2394 (CHAR_STRING): For 8-bit characters, call char_to_string.
2395 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
2396 multibyte sequence is always valid.
2397 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
2398 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
2399 str_as_unibyte): Extern them.
2400 (BCOPY_SHORT): Fix a bug.
2401 (CHAR_LEN): This macro deleted. Callers changed to use
2402 CHAR_BYTES.
2403 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
2404 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
2405 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
2406
bd4bde7f 2407 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
2408 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
2409 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
2410 EMIT_BYTES): New macros.
2411 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
2412 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
2413 macros deleted.
2414 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
2415 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
2416 check the validity of multibyte sequence.
2417 (decode_coding_emacs_mule): New function.
2418 (encode_coding_emacs_mule): New macro.
2419 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
2420 the source.
2421 (DECODE_ISO_CHARACTER): Just return a character code.
2422 (DECODE_COMPOSITION_START): Set coding->result instead of result.
2423 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
2424 EMIT_CHAR to produced decoded characters. Exit the loop only by
2425 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
2426 block here.
2427 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
2428 only position codes for an invalid character.
2429 (encode_designation_at_bol): Return new destination pointer. 5th
2430 arg DSTP is changed to DST.
2431 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
2432 from the source by ONE_MORE_CHAR. Don't handle the case of last
2433 block here.
2434 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
2435 macros deleted.
2436 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
2437 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
2438 TWO_MORE_BYTES to fetch a byte from the source.
2439 (encode_eol): Pay attention to coding->src_multibyte.
2440 (detect_coding, detect_eol): Preserve members src_multibyte and
2441 dst_multibyte.
2442 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
2443 (encoding_buffer_size): Set magnification to 3 for all coding
2444 systems that require encoding.
2445 (ccl_coding_driver): For decoding, be sure that the result is
2446 valid multibyte sequence.
2447 (decode_coding): Initialize coding->errors and coding->result.
2448 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
2449 and raw-text, always call decode_eol. Handle the case of last
2450 block here. If not coding->dst_multibyte, convert the resulting
2451 sequence to unibyte.
2452 (encode_coding): Initialize coding->errors and coding->result.
2453 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
2454 and raw-text, always call encode_eol. Handle the case of last
2455 block here.
2456 (shrink_decoding_region, shrink_encoding_region): Detect cases
2457 that we can't skip data more rigidly.
2458 (code_convert_region): Setup src_multibyte and dst_multibyte
2459 members of coding. For decoding, if the buffer is multibyte,
2460 convert the source sequence to unibyte in advance. For encoding,
2461 if the buffer is multibyte, convert the resulting sequence to
2462 multibyte afterward.
2463 (run_pre_post_conversion_on_str): New function.
2464 (code_convert_string): Deleted and divided into the following two.
2465 (decode_coding_string, encode_coding_string): New functions.
2466 (code_convert_string1, code_convert_string_norecord): Call one of
2467 above.
2468 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
2469 MAKE_NON_ASCII_CHAR.
2470 (Fset_terminal_coding_system_internal,
2471 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
2472 and dst_multibyte members.
2473 (init_coding_once): Initialize iso_code_class with new enum
2474 ISO_control_0 and ISO_control_1.
2475
2476 * coding.h (enum iso_code_class_type): Member ISO_control_code is
2477 devided into ISO_control_0 and ISO_control_1.
2478 (struct coding_system): New members src_multibyte, dst_multibyte,
2479 errors, and result. Delete member fake_multibyte.
2480 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
2481 nonzero.
2482 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
2483 nonzero.
2484
2485 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
2486 (Faset): Likewise.
2487
2488 * editfns.c (Fformat): Be sure to convert 8-bit characters to
2489 multibyte form.
2490 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
2491 combining occurs.
2492 (Ftranspose_region): Delete codes for handling byte combining.
2493
2494 * fileio.c (Finsert_file_contents): Setup src_multibyte and
2495 dst_multibyte members of coding. On handling REPLACE on unibyte
2496 buffer, convert the result of decode_coding to unibyte. On
2497 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 2498 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
2499 multibyteness of the source (buffer or string).
2500
2501 * fns.c (concat): Handle 8-bit characters correctly.
2502 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
2503 unibyte in the result.
2504 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
2505 valid multibyte form in the result.
2506 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
2507 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
2508 return -1, signal an error.
2509 (base64_encode_1): New arg MULTIBYTE. Get each character by
2510 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
2511 character is found, return -1.
2512 (Fbase64_decode_region): Delete codes for handling byte-combining.
2513 Treat each decoded byte as a unibyte character.
2514 (Fbase64_decode_string): Return unibyte string.
2515 (Fcompare_strings, concat, string_byte_to_char): Use
2516 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
2517 FETCH_STRING_CHAR_ADVANCE.
2518 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
2519 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
2520
2521 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
2522 SPLIT_NON_ASCII_CHAR.
2523 (fontset_ref_via_base, fontset_set): Likewise
2524
2525 * insdel.c (adjust_markers_for_record_delete): Deleted.
2526 (adjust_markers_for_insert): Argument changed. Caller changed.
2527 (adjust_markers_for_replace): Likewise.
2528 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
2529 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
2530 (copy_text): Delete unused local varialbe c_save. For converting
2531 to multibyte, be sure to make all 8-bit characters in valid
2532 multibyte form.
2533 (count_size_as_multibyte): Handle 8-bit characters correctly.
2534 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
2535 adjust_after_replace, replace_range, del_range_2)
2536 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
2537 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
2538 adjust_after_replace, replace_range, del_range_2) Delete codes for
2539 handling byte combining.
2540 (adjust_before_replace): Deleted.
427ec082 2541
c9671f81
KH
2542 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
2543 SPLIT_NON_ASCII_CHAR.
2544 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
2545 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
2546 unconditionally.
2547 (Fkey_description): Likewise.
2548
2549 * lread.c (read1): On reading multibyte string, be sure to make
2550 all 8-bit chararacters in valid multibyte form.
2551 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
2552
2553 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
2554 unconditionally.
2555
2556 * process.c (Fstart_process): GCPRO current_dir before calling
2557 Ffind_operation_coding_system. Encode arguments here.
2558 (create_process): Don't encode arguments here. Setup
2559 src_multibyte and dst_multibyte members of struct coding.
2560 (read_process_output): Setup src_multibyte and dst_multibyte
2561 members of struct coding. If the output is to multibyte buffer,
2562 always decode the output of the process. Adjust the
2563 representation of 8-bit characters to the multibyteness of the
2564 output.
2565 (send_process): Setup coding->src_multibyte according to the
2566 multibyteness of the source.
2567
2568 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
2569 unconditionally.
2570 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
2571 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
2572
2573 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
2574 CHAR_LEN.
2575
2576 * w16select.c (Fw16_set_clipboard_data): Setup members
2577 src_multibyte and dst_multibyte of coding. Adjusted for the
2578 change for find_charset_in_str.
2579 (Fw16_get_clipboard_data): Likewise.
2580
2581 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
2582 dst_multibyte of coding.
2583 (x_to_w32_font): Likewise.
2584
2585 * w32select.c (Fw32_set_clipboard_data): Setup members
2586 src_multibyte and dst_multibyte of coding. Adjusted for the
2587 change for find_charset_in_str.
2588 (Fw32_get_clipboard_data): Likewise.
2589
2590 * xdisp.c (get_next_display_element): Handle 8-bit characters
2591 correctly.
2592 (next_element_from_display_vector): Use CHAR_BYTES instead of
2593 CHAR_LEN.
2594 (disp_char_vector): Use SPLIT_CHAR instead of
2595 SPLIT_NON_ASCII_CHAR.
2596
2597 * xselect.c (selection_data_to_lisp_data): Setup members
2598 src_multibyte and dst_multibyte of coding. Adjusted for the
2599 change for find_charset_in_str.
2600 (lisp_data_to_selection_data): Likewise.
2601
5f64c9e0
GM
26022000-05-19 Gerd Moellmann <gerd@gnu.org>
2603
2b63d473
GM
2604 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
2605 buffer.
2606
5f64c9e0
GM
2607 * dispextern.h (Vimage_types): Add extern declaration.
2608
2609 * xdisp.c (Vimage_types): Moved here from xfns.c.
2610 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
2611
2612 * xfns.c (Vimages_types): Moved to xdisp.c.
2613 (syms_of_xfns): Move `image-types' to xdisp.c.
2614
2615 * w32fns.c (Vimage_types): Removed.
2616 (syms_of_w32fns): Remove `image-types'.
2617
813086ea
KH
26182000-05-18 Kenichi Handa <handa@etl.go.jp>
2619
2620 * fns.c (map_char_table): Pay attention to character number of
2621 charset. Check the validity of charset at the first level. For
2622 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
2623 the default value.
2624
2625 * fontset.c: Include "buffer.h".
2626 (fs_load_font): If the face has fontset, record the face ID in
2627 that fontset.
2628 (Finternal_char_font): New function.
2629 (accumulate_font_info): New function.
2630 (Ffontset_info): Rewritten for the new fontset implementation.
2631 (syms_of_fontset): Register Vdefault_fontset in the first element
2632 of Vfontset_table. Include Vdefault_fontset in
2633 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
2634 function.
2635
bdaebbf0
DL
26362000-05-16 Dave Love <fx@gnu.org>
2637
2638 * m/iris5d.h: Deleted -- unused.
2639
cb613bb8
GM
26402000-05-16 Gerd Moellmann <gerd@gnu.org>
2641
b15f3b77
GM
2642 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
2643 `invalid' instead of `illegal'.
2644
2645 * indent.c (Fmove_to_column): When ending within a tab, insert
2646 spaces first so that markers at the end of the tab get adjusted.
2647
835c1b36
GM
2648 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
2649 buffer list that wasn't selected in that frame.
2650
cb613bb8
GM
2651 * filelock.c (get_boot_time): To obtain an 8 char file name, which
2652 is needed on mescaline, use a 2 char prefix, and call
2653 make_temp_name with second arg non-zero.
2654
2655 * fileio.c (make_temp_name): New function, extracted from
2656 Fmake_temp_name.
2657 (Fmake_temp_name): Use it.
2658
f685bea9
EZ
26592000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
2660
2661 * window.c (coordinates_in_window): Subtract 1 when computing
2662 right_x.
2663
a1b8d58b
GM
26642000-05-15 Gerd Moellmann <gerd@gnu.org>
2665
2666 * Makefile.in (lisp): Add env.elc.
2667
2668 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
2669
a265079f
GM
26702000-05-12 Gerd Moellmann <gerd@gnu.org>
2671
2672 * search.c (Freplace_match): Handle case of `\N' in the
2673 replacement when there's no group N.
2674
da4496b6
GM
26752000-05-11 Gerd Moellmann <gerd@gnu.org>
2676
0ace421a
GM
2677 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
2678 of the message to message_dolog.
2679
1172eb8d
GM
2680 * keyboard.c (read_char): Don't clear current message for help
2681 events; let the code handling help events handle this. Change
2682 code detecting help events that should be ignored.
2683
da4496b6
GM
2684 * xdisp.c (handle_single_display_prop): Don't try to set PT if
2685 we're interating over a string.
2686
0623e40f
DL
26872000-05-09 Dave Love <fx@gnu.org>
2688
2689 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
2690 that offset before writing. Move gcpro region past call of
2691 Ffile_regular_p.
2692
bae2503b
DL
26932000-05-04 Dave Love <fx@gnu.org>
2694
2695 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
2696
ec82fb2f
GM
26972000-05-04 Gerd Moellmann <gerd@gnu.org>
2698
2699 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
2700 of inserted characters when BUF equals the current buffer, and PT
2701 is in front of or equal to FROM.
2702
cbf18892
GM
27032000-05-03 Gerd Moellmann <gerd@gnu.org>
2704
4ff40dd0
GM
2705 * xdisp.c (handle_single_display_prop): If display property value
2706 is invalid, or something not supported on the frame, restore
2707 iterator's position to what it was initially. Make sure to return
2708 0 for invalid and unsupported property values.
2709
cbf18892
GM
2710 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
2711 that x_per_char_metric returns null.
2712
1b0672c3
GM
27132000-05-02 Gerd Moellmann <gerd@gnu.org>
2714
576da55d
GM
2715 * xterm.h (struct face): Add forward declaration.
2716 (struct image): Ditto.
2717 (image_ascent): Add prototype.
2718
2719 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2720 (x_draw_image_relief, x_draw_image_foreground_1): Call function
2721 image_ascent instead of using IMAGE_ASCENT.
2722
2723 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
2724 (IMAGE_ASCENT): Removed.
2725
2726 * xfns.c (Qcenter): New variable.
2727 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
2728 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
2729 (image_ascent): New function.
2730 (lookup_image): Recognize `:ascent center'.
2731 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2732 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
2733 (xbm_load): Don't set image's ascent here.
2734 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
2735 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
2736 check ascent values here.
2737 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
2738 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
2739 (syms_of_xfns): Initialize Qcenter.
2740
1b0672c3
GM
2741 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
2742 to the limits, increase the limits.
2743
0d7811ed
KH
27442000-05-01 Kenichi Handa <handa@etl.go.jp>
2745
2746 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
2747 Check Vfont_encoding_alist against the full name of the opened
2748 font.
2749
a943a5ca
GM
27502000-04-28 Gerd Moellmann <gerd@gnu.org>
2751
2752 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
2753 taller than the window.
2754
5dba1e29
KH
27552000-04-28 Kenichi Handa <handa@etl.go.jp>
2756
2757 * xfaces.c (realize_x_face): Fix the argument of the second
2758 xassert. BASE_FACE may not be a face for ASCII.
2759
353964e3
GM
27602000-04-27 Gerd Moellmann <gerd@gnu.org>
2761
c76e04a8
GM
2762 * print.c (print_object): Treat print-length < 0 as nil.
2763
2764 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
2765
2766 * s/freebsd.h (TERMCAP_OBJ): Removed.
2767 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
2768
2769 * lread.c (read1): Don't treat period followed by certain
2770 characters as symbol start.
2771
2772 * xfns.c (slurp_file): New function.
2773 (xbm_image_p): Handle case of in-memory XBM files.
2774 (xbm_scan): Rewritten to work on memory buffers instead of files.
2775 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
2776 Work on memory buffers instead of files. If DATA is null test
2777 if buffer looks like an in-memory XBM file.
2778 (xbm_load_image): Renamed from xbm_load_image_file. Work on
2779 memory buffers instead of files.
2780 (xbm_file_p): New function.
2781 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
2782
353964e3
GM
2783 * lread.c (end_of_file_error): New function.
2784 (read1): Call it instead of signaling `end-of-file' directly.
2785
427ec082 2786 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
2787 with Fprinc instead of Fprin1.
2788
24d744ac
KR
27892000-04-26 Ken Raeburn <raeburn@gnu.org>
2790
2791 * window.c (freeze_window_start): Check that minibuffer scroll
2792 window isn't nil before extracting the window structure pointer
2793 from it.
2794
2795 * undo.c (record_delete): If we hit the end of the undo list, stop
2796 picking elements apart.
2797
7464346d
GM
27982000-04-26 Gerd Moellmann <gerd@gnu.org>
2799
2800 * xdisp.c (display_line): If lines are continued, restore
2801 iterator's ascent/descent information to the values before the
2802 first glyph not fitting on the line.
2803
612839b6
GM
28042000-04-25 Gerd Moellmann <gerd@gnu.org>
2805
2806 * xdisp.c (try_window_id) <all changes above window start>: Adjust
2807 positions in glyph matrix. Don't compute new window end
2808 positions.
2809
2810 * dispnew.c (increment_matrix_positions): Renamed from
2811 increment_glyph_matrix_buffer_positions.
2812 (increment_row_positions): Renamed from
2813 increment_glyph_row_buffer_positions.
2814
2815 * dispextern.h: Change names of renamed functions from dispnew.c
2816 in prototypes.
2817
cc181e95
GM
28182000-04-24 Gerd Moellmann <gerd@gnu.org>
2819
abfcc168
GM
2820 * fileio.c (Fdo_auto_save): Create directories for auto-save
2821 list file if necessary.
2822
cc181e95
GM
2823 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
2824 from buffer or frame.
2825 (automatic_hscrolling_p): New variable.
2826 (hscroll_windows): Scroll windows horizontally only if automatic
2827 hscrolling is allowed.
2828 (syms_of_xdisp): New variable `automatic-hscrolling'.
2829
2830 * frame.h (struct frame): Add member extra_line_spacing.
2831
2832 * xfns.c (x_set_line_spacing): New function.
2833 (Fx_create_frame): Set line spacing from resources.
2834 (Qline_spacing): New variable.
2835 (syms_of_xfns): Initialize Qline_spacing.
427ec082 2836
cc181e95
GM
2837 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
2838
2839 * buffer.c (init_buffer_once): Handle extra_line_spacing.
2840 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 2841 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
2842 extra_line_spacing from default value.
2843 (init_buffer_once): Initialize default value of extra_line_spacing.
2844
2845 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
2846 and extra3.
2847
2848 * xterm.c (x_produce_glyphs): Remove reference to struct it's
2849 prompt_width. Add extra line spacing.
2850
2851 * term.c (produce_glyphs): Remove reference to struct it's
2852 prompt_width.
2853
2854 * dispextern.h (struct it): Remove member prompt_width, add
2855 extra_line_spacing.
2856
58827478
GM
28572000-04-22 Gerd Moellmann <gerd@gnu.org>
2858
2859 * dispnew.c (update_frame_line): When writing a whole line, make
2860 sure cursor is in the right row afterwards, otherwise a use of
2861 capability `ch' in cmgoto might leave the cursor in the row below.
2862
25a87f42
GM
28632000-04-21 Gerd Moellmann <gerd@gnu.org>
2864
2865 * lisp.h (struct Lisp_Buffer_Cons): Remove.
2866
2867 * keyboard.c (timer_check): Fix typo in comment.
2868
54edf5c2
KH
28692000-04-21 Kenichi Handa <handa@etl.go.jp>
2870
2871 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
2872 name change: ch -> character.
2873
3a64eef5
GM
28742000-04-20 Gerd Moellmann <gerd@gnu.org>
2875
2876 * keyboard.c (echo_message_buffer): New variable.
2877 (echo_now): Set echo_message_buffer to the echo area buffer used
2878 to display the echo.
2879 (cancel_echoing): Reset echo_message_buffer to nil.
2880 (read_char): Code rewritten that handles canceling an echo or
2881 echoing a dash, respectively.
2882
2883 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
2884 directory doesn't exist.
2885
6142fdcb
DL
28862000-04-19 Dave Love <fx@gnu.org>
2887
2888 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
2889 (concat): Don't allow numeric args.
2890 (Fconcat): Doc change.
6142fdcb 2891
ac6b5352
SM
28922000-04-19 Stefan Monnier <monnier@cs.yale.edu>
2893
2894 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
2895 instead define end_match(1|2) more carefully.
2896 Use GET_CHAR_BEFORE_2 for `begline'.
2897
cb9215e4
GM
28982000-04-19 Gerd Moellmann <gerd@gnu.org>
2899
5e3dac3f
GM
2900 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
2901 on 64-bit systems where NULL is defined as `0'.
2902
2903 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
2904 the `variable argument list' to make it work on Alpha.
2905
cb9215e4
GM
2906 * m/alpha.h (_LP64) [!_LP64]: Define.
2907 (ORDINARY_LINK): Define for NetBSD.
2908
2909 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 2910
f532dca0
DL
29112000-04-19 Dave Love <fx@gnu.org>
2912
c750667e
DL
2913 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
2914 change.
2915
2916 * Makefile.in (LIBS): Don't use.
2917 (GETLOADAVG_OBJ): Define again.
2918 (otherobj): Add GETLOADAVG_OBJ.
2919
f532dca0
DL
2920 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
2921
1c7e22fd
GM
29222000-04-18 Gerd Moellmann <gerd@gnu.org>
2923
f6d3257b
GM
2924 * lread.c (read_filtered_event): Cancel and start busy cursor.
2925
427ec082 2926 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
2927 that the per-character metrics may be null.
2928
e10f64e7
GM
29292000-04-17 Gerd Moellmann <gerd@gnu.org>
2930
0daee095
GM
2931 * buffer.c (clone_per_buffer_values): New function.
2932 (Fmake_indirect_buffer): Add optional argument CLONE. Call
2933 clone_per_buffer_values if CLONE is not nil.
2934
e10f64e7
GM
2935 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
2936
38687d43
DL
29372000-04-16 Dave Love <fx@gnu.org>
2938
2939 * Makefile.in: Remove obsolete localcpp stuff.
2940 (GETLOADAVG_OBJ): Don't define.
2941 (obj): Move LIBOBJS...
2942 (otherobj): ... to here.
2943 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
2944 whitespace-only lines after the continuation (Irix).
2945
c21c7262
GM
29462000-04-14 Gerd Moellmann <gerd@gnu.org>
2947
2948 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
2949
2950 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
2951
314767c0
DL
29522000-04-14 Dave Love <fx@gnu.org>
2953
2954 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
2955 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
2956 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
2957 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
2958 NLIST_STRUCT.
2959
2960 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
2961 autoconfiscated HAVE_GETLOADAVG.
2962
2963 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
2964 BROKEN_MKTIME.
2965
a2522dca
GM
29662000-04-14 Gerd Moellmann <gerd@gnu.org>
2967
2968 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
2969 (fill_in_lock_file_name): Avoid existing files that aren't
2970 links.
2971
33744b5d
DL
29722000-04-14 Dave Love <fx@gnu.org>
2973
c21c7262 2974 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
2975 (INTERVAL_SRC): Convert to make variable.
2976 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
2977 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
2978 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
2979 add LIBOBJS.
2980 (SOME_MACHINE_OBJECTS): Remove interval stuff.
2981 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
2982 (shortlisp): Add facemenu, float-sup, frame.
2983 (SOME_MACHINE_LISP): Remove them from here.
2984 (LIBES): Change unused LDLIBS to autoconf LIBS.
2985
2986 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
2987
9d3d5916
KH
29882000-04-14 Kenichi Handa <handa@etl.go.jp>
2989
2990 * composite.c (update_compositions): If FROM and TO are not in a
2991 valid range, do nothing.
2992
198e3c7a
GM
29932000-04-13 Gerd Moellmann <gerd@gnu.org>
2994
2995 * tparam.c (tparam1): Abort when encountering an unknown
2996 `%'-specifier.
2997
2998 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
2999 terminfo.o.
3000
3001 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
3002 as TERMCAP_OBJ.
3003
055a28c9
EZ
30042000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
3005
3006 * fileio.c (a_write): Remove redundant semi-colons.
3007 (e_write): Return -1 if failed to write all the data.
3008 This fixes the changes made at 1999-12-15.
3009
f5c75033
DL
30102000-04-12 Dave Love <fx@gnu.org>
3011
3012 * fns.c (mapcar1): Test for null vals to support mapc.
3013 (Fmapc): New function.
3014
0c3cfc51
EZ
30152000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
3016
3017 * msdos.c (NUM_MOUSE_BUTTONS): Define.
3018 (IT_frame_up_to_date): Support the buffer local value of
3019 cursor-type, if defined.
3020
33465a31
DL
30212000-04-10 Dave Love <fx@gnu.org>
3022
3023 * editfns.c (preceding-char, following-char): Doc fix.
3024
6ed56568
KR
30252000-04-10 Ken Raeburn <raeburn@gnu.org>
3026
3027 * Makefile.in (temacs): Revert 2000-03-12 change.
3028
7cf80d4e
JR
30292000-04-10 Jason Rumney <jasonr@gnu.org>
3030
3031 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
3032
34f3f342
GM
30332000-04-10 Gerd Moellmann <gerd@gnu.org>
3034
1a1b1895
GM
3035 * xdisp.c (setup_echo_area_for_printing): Choose an echo
3036 area buffer, if it's not set up yet.
3037
34f3f342
GM
3038 * indent.c (compute_motion): Set immediate_quit.
3039
be0dbdab
GM
30402000-04-09 Gerd Moellmann <gerd@gnu.org>
3041
c45be9ac
GM
3042 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
3043 variable.
3044 (realize_tty_face): Suppress boldness if colors are the inverse of
3045 the default colors, and tty_suppress_bold_inverse_default_colors_p
3046 is set.
3047 (Ftty_suppress_bold_inverse_default_colors): New function.
3048 (syms_of_xfaces): Defsubr it.
3049
be0dbdab
GM
3050 * buffer.c (Frestore_buffer_modified_p): New function.
3051 (syms_of_buffer): Defsubr it.
3052
e8413c3b
KR
30532000-04-08 Ken Raeburn <raeburn@gnu.org>
3054
87f67317
KR
3055 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
3056 charset id (int) argument, not a charset (Lisp_Object).
3057
e8413c3b
KR
3058 * coding.h (code_convert_string): Declare.
3059 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
3060 object, as the fourth argument to code_convert_string.
3061
3062 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
3063 value.
3064 (Fset_fontset_font): Use EQ to compare lisp objects.
3065
7c752c80
KR
30662000-04-05 Ken Raeburn <raeburn@gnu.org>
3067
c0333abc
KR
3068 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
3069 a pointer that looks like a lisp object.
3070 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
3071 zero, instead see whether it's an integer object, since they can't
3072 have intervals.
3073 (GET_INTERVAL_OBJECT): Simply assign to the destination.
3074
7c752c80
KR
3075 * dispnew.c (allocate_matrices_for_frame_redisplay,
3076 direct_output_forward_char): Use X(U)INT and make_number as needed
3077 to convert between (unsigned) int values and lisp integers.
3078 * keyboard.c (read_key_sequence): Likewise.
3079 * lread.c (substitute_object_recurse): Likewise.
3080 * fns.c (concat, hash_lookup, hash_remove): Likewise.
3081 * minibuf.c (do_completion, Fminibuffer_complete_word,
3082 Fminibuffer_completion_help): Likewise.
3083 * term.c (produce_special_glyphs): Likewise.
3084
3085 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
3086 * print.c (print_preprocess, print_object): Likewise.
3087
3088 * search.c (compile_pattern): Use NILP when checking for nil.
3089
74e49b38
KR
3090 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
3091 __OPTIMIZE__]: Provide a GNU C macro version that handles
3092 lisp-object unions.
3093 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
3094 field, to better cope with ENABLE_CHECKING and calls that modify a
3095 Lisp_Object using its old value.
3096
685e5ed2
GM
30972000-04-04 Gerd Moellmann <gerd@gnu.org>
3098
c407c570
GM
3099 * window.c (compare_window_configurations): Signal an error
3100 if parameters C1 or C2 aren't window configurations.
3101
685e5ed2
GM
3102 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
3103 AFTER_POTENTIAL_GC calls around calls to functions that can
3104 signal an error and thus invoke the debugger.
3105
587a49ab
GM
31062000-04-03 Gerd Moellmann <gerd@gnu.org>
3107
62f20204
GM
3108 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
3109 an error if decoding fails.
3110
587a49ab
GM
3111 * keyboard.c (lispy_mouse_names): Variable removed.
3112 (Vlispy_mouse_stem): New variable.
3113 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
3114 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
3115 for any mouse button number. Increase size of mouse_syms and
3116 button_down_location as needed. Call modify_event_symbol with
3117 different arguments.
3118 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
3119 Call modify_event_symbol with different arguments.
3120 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
3121 for any button number. Call modify_event_symbol with different
3122 arguments.
3123 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
3124 Accept a string for NAME_ALIST_OR_STEM.
3125
3126 * lisp.h (larger_vector): Add prototype.
3127
3128 * fns.c (larger_vector): Make externally visible.
3129
3130 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
3131
2d1675e4
SM
31322000-04-02 Stefan Monnier <monnier@cs.yale.edu>
3133
3134 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
3135 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
3136 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
3137 we are between str1 and str2.
3138 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
3139 (PATFETCH): Use `TRANSLATE'.
3140 (PATFETCH_RAW): Fetch multibyte char if applicable.
3141 (PATUNFETCH): Remove.
3142 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
3143 When writing a char, write it directly into the pattern buffer rather
3144 than going needlessly through a temp char-array.
3145 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
3146 multibyte magic and remove the useless `#ifdef emacs'.
3147 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
3148 buffer.
3149
3150 * regex.h (struct re_pattern_buffer): Make field `multibyte'
3151 conditional on `emacs'.
3152
3153 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
3154
cc2d8c6b
KR
31552000-04-01 Ken Raeburn <raeburn@gnu.org>
3156
3157 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
3158 non-union-type versions of XMARK and friends here, because XMARK
3159 and friends won't work on an integer field if NO_UNION_TYPE is not
3160 defined.
3161 (make_number): Define as a function if it's not defined as a
3162 macro.
3163
09654086
KR
3164 * composite.c (run_composite_function): Use NILP when checking for
3165 nil.
3166 (syms_of_composite): Delete local var NARGS, pass an int as first
3167 argument to Fmake_hash_table.
3168
2387b382
KR
3169 * editfns.c (text_property_stickiness): Use NILP to test
3170 Lisp_Object boolean value.
3171 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
3172 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
3173 problems reading from and changing the same lisp value in an
3174 XSETSTRING call.
3175
27660e89
GM
31762000-04-01 Gerd Moellmann <gerd@gnu.org>
3177
3178 * term.c (TN_no_color_video): New variable.
3179 (term_init): Intitialize TN_no_color_video.
3180 (enum no_color_bit): New enumeration.
3181 (MAY_USE_WITH_COLORS_P): New macro.
3182 (turn_on_face): Use it to determine if attributes may be used
3183 combined with colors.
3184
3578db3c
KR
31852000-04-01 Ken Raeburn <raeburn@gnu.org>
3186
3187 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
3188 with int lvalues via casts; instead, just yield lisp object
3189 lvalues.
3190 (enlarge_window): Variable sizep now points to Lisp_Object. Use
3191 proper accessor macros.
3192 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
3193 (grow_mini_window): Fix typo getting int value of root->height.
3194
6fc556fd
KR
3195 * xdisp.c (compute_string_pos): Fix order of arguments to
3196 string_pos_nchars_ahead.
3197 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
3198 count arg to variable-arg routines like Frun_hook_with_args and
3199 Fformat.
587a49ab
GM
3200 (back_to_previous_visible_line_start)
3201 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
3202 fixed-arg routines like Fget_char_property and Fmake_string.
3203 (reconsider_clip_changes): Use XINT when comparing integer lisp
3204 objects, or passing them as int arguments.
587a49ab
GM
3205 (mark_window_display_accurate, insert_left_trunc_glyphs)
3206 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
3207 storing or passing integer values as lisp objects.
3208 (set_cursor_from_row, highlight_trailing_whitespace): Use
3209 INTEGERP, not implicit test against zero, for glyph object.
3210 (try_window_id): Don't use make_number when we want an int value.
3211
3212 * xfaces.c (xlfd_symbolic_value): Make last argument a
3213 Lisp_Object, to be consistent with callers.
3214 (Fbitmap_spec_p): Use XINT to get numeric value of height.
3215 (lface_hash): Apply XFASTINT to lisp values before folding in.
3216
3217 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
3218 fill in window width and height. Pass an int, not a lisp object,
3219 as first arg to Finsert.
3220
6e7b2457
GM
32212000-04-01 Gerd Moellmann <gerd@gnu.org>
3222
610d841e
GM
3223 * xfaces.c (realize_basic_faces): Block input while realizing
3224 the faces.
3225
6e7b2457
GM
3226 * keyboard.c (lispy_mouse_names): Add additional mouse names.
3227
3228 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
3229
aa110c0c
GM
32302000-03-31 Gerd Moellmann <gerd@gnu.org>
3231
3232 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 3233 or ASCII, handle case that per-char metric is null.
aa110c0c 3234
8801a864
KR
32352000-03-30 Ken Raeburn <raeburn@gnu.org>
3236
c6129d7e
KR
3237 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
3238
8801a864
KR
3239 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
3240 XSUBR, XBUFFER): Verify correct object type before returning
3241 pointer, using eassert.
3242 * frame.h (XFRAME): Likewise.
3243
3244 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
3245 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
3246 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
3247 type.
3248 * data.c (set_internal): Likewise.
3249 * dispextern.h (WINDOW_WANTS_MODELINE_P,
3250 WINDOW_WANTS_HEADER_LINE_P): Likewise.
3251 * fileio.c (auto_save_1): Likewise.
3252 * insdel.c (check_markers): Likewise.
3253 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
3254 * undo.c (record_insert): Likewise.
3255 * vmsproc.c (child_sig): Likewise.
3256 * window.c (unshow_buffer, window_loop): Likewise.
3257 * xterm.c (x_erase_phys_cursor): Likewise.
3258
8e7af858
GM
32592000-03-30 Gerd Moellmann <gerd@gnu.org>
3260
3261 * xfns.c (free_image_cache): Free the cache structure itself
3262 last, after all its members have been freed.
3263
3264 * lisp.h (xstrdup): Add prototype.
3265
3266 * alloc.c (xstrdup): Moved here from xfaces.c.
3267 (allocating_for_lisp): Variable removed.
3268 (lisp_malloc): Block input around the calls to malloc and
3269 mem_insert.
3270
3271 * xfaces.c (realize_tty_face): Use find_symbol_value instead
3272 of Fsymbol_value.
3273 (xstrdup): Moved to alloc.c.
3274
e0b8c689
KR
32752000-03-29 Ken Raeburn <raeburn@gnu.org>
3276
b96f9fb7
KR
3277 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
3278
3279 * emacs.c (main): Fix sense of no-loadup test.
3280
e0b8c689
KR
3281 * config.in (ENABLE_CHECKING): Undef.
3282
3283 * lisp.h (struct interval): Replace "parent" field with a union of
3284 interval pointer and Lisp_Object; add new bitfield to use as
3285 discriminant. Change other flag fields to bitfields.
3286 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
3287 is defined and the supplied test fails, print a message and
3288 abort.
3289 (eassert): New macro. Use CHECK to provide an assert-like
3290 facility.
3291
3292 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
3293 pointers; abort if the value looks like a lisp object.
3294 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
3295 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
3296 Modify for new interval parent definition.
3297
3298 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
3299 UNMARK_BALANCE_INTERVALS): Update references that need an
3300 addressable lisp object in the interval structure.
3301 (die): New function.
3302 (suppress_checking): New variable.
3303
3304 * intervals.c (interval_start_pos): Just return 0 if there's no
3305 parent object.
3306
f83c5440
GM
33072000-03-29 Gerd Moellmann <gerd@gnu.org>
3308
3309 * lread.c (read1): Accept `.' (period) as symbol start like in CL
3310 and earlier Emacs versions.
3311
3312 * keyboard.c (Ftop_level): Cancel busy-cursor.
3313
3314 * eval.c (call_debugger): Cancel busy-cursor.
3315
fdce64ff
KH
33162000-03-29 Kenichi Handa <handa@etl.go.jp>
3317
3318 * search.c (Freplace_match): Adjust multibyteness of the current
3319 buffer and NEWTEXT. Free allocated memory before signaling an
3320 error.
3321
f6a3f532
SM
33222000-03-28 Stefan Monnier <monnier@cs.yale.edu>
3323
3324 * regex.c (analyse_first): New function obtained by ripping out most
3325 of re_compile_fastmap and generalizing it a little bit so that it
3326 can also just return whether a given (sub)pattern can match the empty
3327 string or not.
3328 (regex_compile): Use `analyse_first' to decide whether the loop-check
3329 needs to be done or not for *, +, *? and +? (the loop check is costly
3330 for non-greedy repetition).
3331 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
3332
e9b309ac
DL
33332000-03-28 Dave Love <fx@gnu.org>
3334
bb15bd9a
DL
3335 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
3336 alpha.
3337
e9b309ac
DL
3338 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
3339
ed0767d8
SM
33402000-03-27 Stefan Monnier <monnier@cs.yale.edu>
3341
3342 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
3343 an expression.
3344 (enum re_opcode_t): Update description of succeed_n.
3345 (PATFETCH): Always define.
3346 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
3347 operators, char classes, shy-groups and intervals).
3348 Optimize special cases of intervals so as to only use succeed_n and
3349 jump_n when really needed.
3350 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
3351 that we don't have to handle the special cases any more.
3352 Simplify on_failure_jump handling as well.
3353
e11e7e46
JR
33542000-03-28 Jason Rumney <jasonr@gnu.org>
3355
3356 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
3357
88faab89
GM
33582000-03-27 Gerd Moellmann <gerd@gnu.org>
3359
182ff242
GM
3360 * s/freebsd.h (GC_SETJMP_WORKS): Define.
3361
3362 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 3363
182ff242
GM
3364 * alloc.c (mark_maybe_object): New function.
3365 (mark_memory): Use it.
3366 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
3367 (setjmp_tested_p, longjmp_done): New variables.
3368 (test_setjmp): New function.
3369 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
3370 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
3371
c1005d06
GM
3372 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
3373 to DEC_TEXT_POS and INC_TEXT_POS.
3374
3375 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
3376 with parameter MULTIBYTE_P.
3377
427ec082 3378 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
3379 MULTIBYTE_P.
3380
7439e5b9 3381 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
3382 buffers because it looks for multibyte character byte sequences
3383 which don't exist in unibyte text.
7439e5b9 3384
d9c545da
GM
3385 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
3386
11fd416e 3387 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
3388 [DEBUG_X_COLORS]: New functions.
3389 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
3390
3391 * xfns.c (x_set_cursor_color): Get color reference counts right.
3392
3393 * xterm.c (x_copy_color): New function.
3394 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
3395
3396 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
3397 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
3398 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
3399 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
3400 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
3401 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
3402 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
3403 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
3404 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
3405 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
3406
11fd416e
GM
3407 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
3408 names for handling per-buffer variables.
d9c545da
GM
3409
3410 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
3411 instead of MAX_BUFFER_LOCAL_VARS.
3412 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
3413
3414 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
3415
88faab89
GM
3416 * xfns.c (x_specified_cursor_type): New function.
3417 (x_set_cursor_type): Use it.
3418
3419 * buffer.h (struct buffer): Add cursor_type.
3420
d80f42b7
SM
34212000-03-26 Stefan Monnier <monnier@cs.yale.edu>
3422
3423 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 3424 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 3425 opcode.
d80f42b7
SM
3426 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
3427 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
3428 executing it as well as when popping it off the stack to find infinite
3429 loops in non-greedy repetition operators.
3430
89e80928
GM
34312000-03-26 Gerd Moellmann <gerd@gnu.org>
3432
3d4ff2dd
GM
3433 * doc.c (Qfunction_documentation): New variable.
3434 (syms_of_doc): Initialize Qfunction_documentation.
3435 (Fdocumentation): If FUNCTION is a symbol with non-nil
3436 `function-documentation' property, return a documentation derived
3437 from that.
3438
bd96bd79
GM
3439 * buffer.c (syms_of_buffer): Add default-cursor-type.
3440 (init_buffer_once): Don't let cursor_type have a local value
3441 in every buffer.
3442
19d1bc27
GM
3443 * xterm.c (x_display_and_set_cursor): Choose cursor depending
3444 on buffer-local value of cursor_type.
3445 (x_draw_bar_cursor): Add parameter WIDTH.
3446
3447 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
3448 (init_buffer_once): Set default cursor_type value to t.
3449 Mark cursor_type as local everywhere.
3450 (syms_of_buffer): New per-buffer variable cursor-type.
3451
89e80928
GM
3452 * buffer.h (struct buffer): Remove member local_var_flags,
3453 add local_flags.
3454 (MAX_BUFFER_LOCAL_VARS): New macro.
3455 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
3456 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
3457 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
3458 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
3459
3460 * print.c (print_object): Use new macros for per-buffer
3461 variables.
3462
3463 * category.c (Fset_category_table): Use new macros for per-buffer
3464 variables.
3465
3466 * buffer.c (buffer_permanent_local_flags): Make a char array.
3467 (max_buffer_local_idx): New variable.
3468 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
3469 for new handling of per-buffer variables.
3470 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
3471 (init_buffer_once): Initialize per-buffer vars differently.
3472 Set max_buffer_local_idx.
3473
3474 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
3475 variables.
3476
3477 * lread.c (defvar_per_buffer): Use new macros for per-buffer
3478 variables.
3479
3480 * data.c (do_symval_forwarding, store_symval_forwarding)
3481 (find_symbol_value, set_internal, default_value, Fset_default)
3482 (Fkill_local_variable, Flocal_variable_p): Use new macros for
3483 per-buffer variables.
3484
3485 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
3486
9a0dd3dc
GM
34872000-03-24 Gerd Moellmann <gerd@gnu.org>
3488
b68c375f
GM
3489 * xterm.c (x_term_init): Unblock input around call1 of
3490 Qvendor_specific_keysyms.
3491
9a0dd3dc
GM
3492 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
3493 (find_defun_start): Consider an open parenthesis in column 0
3494 a defun start only if open_paren_in_column_0_is_defun_start is set.
3495 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
3496
7973e637
SM
34972000-03-24 Stefan Monnier <monnier@cs.yale.edu>
3498
3499 * eval.c (Fautoload): Add entry in load-history (if after dump).
3500 * lread.c (load-history): Update docstring.
3501
39210e90
GM
35022000-03-24 Gerd Moellmann <gerd@gnu.org>
3503
3504 * indent.c (Fvertical_motion): Always use the current buffer.
3505 Temporarily change the window's buffer, if necessary.
3506
72db3ab5
GM
35072000-03-23 Gerd Moellmann <gerd@gnu.org>
3508
3509 * xterm.c (fast_find_position): Make sure not to consider rows
3510 not visible in the window.
3511
990b2375
SM
35122000-03-22 Stefan Monnier <monnier@cs.yale.edu>
3513
3514 * regex.c (enum syntaxcode): Provide default for non-Emacs.
3515 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
3516
ff4df011
JR
35172000-03-22 Jason Rumney <jasonr@gnu.org>
3518
3519 * w32menu.c (single_submenu): Set help string to NULL if none.
3520 (w32_menu_show): Set help string correctly.
3521 (add-menu-item): Set help string in MIIM_DATA for menu item.
3522 Load SetMenuItemInfoA explicitly.
3523 (w32_menu_display_help): New function.
427ec082 3524
ff4df011
JR
3525 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
3526 (QCdata): Moved to xdisp.c.
3527
3528 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
3529 (Vw32_charset_to_codepage_alist): Removed.
3530 (Vw32_charset_info_alist): New variable.
3531 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
3532 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
3533 greek, hebrew, thai, johab, mac, unicode]): New symbols.
3534 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
3535 with TODO comment.
3536 (w32_codepage_for_font): Use Vw32_charset_info_alist.
3537 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
3538 Define Vw32_charset_info_alist and w32_charset symbols.
3539
35402000-03-22 Jason Rumney <jasonr@gnu.org>
3541
3542 * makefile.nt (w32bdf.obj): Update dependencies.
3543
3544 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
3545
3546 * w32fns.c: Include fontset.h after dispextern.h.
3547 (Fx_create_frame): Do not create fontset.
3548 (w32_load_system_font): Doc fix.
3549 (Fx_close_connection): Free full_name if it is not shared.
3550
3551 * w32term.c: Include fontset.h after dispextern.h.
3552 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
3553 updated.
3554 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
3555 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
3556 (w32_font_is_double_byte): New function, needs body.
3557 (x_append_glyph): Set glyph->glyph_not_available_p.
3558 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
3559 it->charset. If it->multibyte_p is zero and it->c is a multibyte
3560 character, convert it to a unibyte character.
3561 (struct glyph_string): Delete member `charset'.
3562 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
3563 calculating it is found.
3564 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
3565 the case that per char metric is not available correctly.
3566 (x_fill_glyph_string): Handle the case that the specific glyph is
3567 not available correctly.
3568 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
3569 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
3570 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
3571 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
3572 fontset. Don't call FS_LOAD_FONT.
3573
439d5cb4
KR
35742000-03-22 Ken Raeburn <raeburn@gnu.org>
3575
3576 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
3577 (INT_LISPLIKE): New macro.
3578 (NULL_INTERVAL_P): Use it.
3579 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
3580 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
3581 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
3582
3583 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
3584 explicit references to "parent" field of struct interval and
3585 associated unclean type conversions.
3586 * intervals.c (create_root_interval, root_interval, rotate_right,
3587 rotate_left, balance_possible_root_interval, split_interval_right,
3588 split_interval_left, interval_start_pos, find_interval,
3589 next_interval, previous_interval, update_interval,
3590 adjust_intervals_for_insertion, delete_node, delete_interval,
3591 adjust_intervals_for_deletion, merge_interval_right,
3592 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
3593 copy_intervals_to_string): Likewise.
3594 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
3595 Likewise.
3596 * syntax.c (update_syntax_table): Likewise.
3597
3598 * intervals.c (reproduce_tree_obj): New function, like
3599 reproduce_tree but takes a Lisp_Object for the parent. Declare
3600 with prototype.
3601 (graft_intervals_into_buffer): Use it when appropriate.
3602 (reproduce_tree): Declare with prototype.
3603 (balance_possible_root_interval): Check that the parent is a lisp
3604 object before trying to examine its type.
3605
ee1c5b21
GM
36062000-03-22 Gerd Moellmann <gerd@gnu.org>
3607
3608 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
3609 as strings only if both are known to be strings.
3610
3611 * s/openbsd.h (LIBS_TERMCAP): Undef.
3612
1fb352e0
SM
36132000-03-21 Stefan Monnier <monnier@cs.yale.edu>
3614
3615 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
3616 definitions for non-Emacs compilation.
3617 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
3618 outside of `#ifdef emacs'.
3619 (print_partial_compiled_pattern): Update.
3620 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
3621 (re_compile_fastmap): Merge handling of charset and charset_not (for
3622 emacs and non-emacs compilation as well).
3623 Similarly for (not)categoryspec and (not)syntaxspec.
3624 Don't use the fastmap when reaching `anychar' since the added
3625 complexity is not justified.
3626 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
3627 and (not)syntaxspec. Merge (not)categoryspec.
3628
fdaa1f77
KH
36292000-03-22 Kenichi Handa <handa@etl.go.jp>
3630
ff1a0d8e
KH
3631 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
3632 FACE_FOR_CHAR): Define them differently for the configuration of
3633 --without-x.
fdaa1f77 3634
d152fb46
DL
36352000-03-21 Dave Love <fx@gnu.org>
3636
3637 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
3638 doc string.
3639
d2cafc8c
GM
36402000-03-21 Gerd Moellmann <gerd@gnu.org>
3641
3642 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
3643 (lface_fully_specified_p): Don't check contents of
3644 LFACE_FONT_INDEX because that attribute is optional.
3645 (realize_x_face): Remove now unwarranted xassert.
3646
9111d4b5
KH
36472000-03-21 Kenichi HANDA <handa@etl.go.jp>
3648
3649 The following changes are to make font selection based on
3650 characters, not charset. In addition, they recover fontset
3651 facilities while utilizing the new font selection mechanism.
3652
6c4bfdc0
KH
3653 * Makefile.in (fontset.o): Depend on dispextern.h.
3654
3655 * alloc.c (mark_face_cache): Don't mark face->registry.
3656
9111d4b5
KH
3657 * dispextern.h (struct glyph): New member glyph_not_available_p.
3658 Use 22 bits for face_id.
3659 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
3660 (struct face): Delete member registry, new member ascii_face.
3661 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
3662 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
3663 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
3664 (struct it): Delete member charset, new member
3665 glyph_not_available_p.
3666
3667 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
3668 (struct fontset_info, struct fontset_data): Structs removed.
3669 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
3670 Vglobale_fontset_alist, font_idx_temp): Externs removed.
3671 (fs_load_font, fs_query_fontset): Adjusted for new argument.
3672 (fs_free_face_fontset, fontset_font_pattern,
3673 face_suitable_for_char_p, face_for_char,
3674 make_fontset_for_ascii_face): Extern them.
3675 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
3676 (FS_LOAD_FACE_FONT): New macro.
3677
3678 * fontset.c: All codes rewritten or adjusted for the change of
3679 fontset implementation. Now fontset is represented by char table.
3680 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
3681 removed.
3682 (my_strcasecmp): Function removed.
3683 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
3684 variables.
3685 (AREF, ASIZE): New macros.
3686 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
3687 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
3688 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
3689 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
3690 fontset_id_valid_p, font_family_registry, fontset_name,
3691 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
3692 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
3693 New functions.
3694 (fs_load_font): New arg FACE. Caller changed.
3695 (fs_query_fontset): Argument changed. Caller changed.
3696 (Fquery_fontset): call fs_query_fontset.
3697 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
3698 Functions removed.
3699 (clear_fontset_elements, check_registry_encoding,
3700 check_fontset_name): New functions.
3701 (syms_of_fontset): Set char-table-extra-slots property of fontset
3702 to 3. Staticpro and initialize Vfontset_table and
3703 Vdefault_fontset. Defsubr fontset_font and fontset_list.
3704
3705 * frame.h (struct frame): Member `fontset_data' removed.
3706 (FRAME_FONTSET_DATA): Macro removed.
3707
3708 * frame.c (make_frame): Don't allocate f->fontset_data.
3709 (Fdelete_frame): Don't free f->fontset_data.
3710
6c4bfdc0
KH
3711 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
3712
9111d4b5
KH
3713 * xdisp.c (charset_at_position): Function removed.
3714 (init_iterator): Don't set member charset of struct `it'.
3715 (handle_face_prop, reseat_to_string, set_iterator_to_next,
3716 next_element_from_display_vector, insert_left_trunc_glyphs):
3717 Likewise.
3718 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
3719 FACE_FOR_CHARSET.
3720 (get_next_display_element, append_space,
3721 extend_face_to_end_of_line): Likewise.
3722
3723 * xfaces.c (Qx_charset_registry, Vface_default_registry):
3724 Variables removed.
3725 (clear_font_table, frame_update_line_height, load_face_font):
3726 Adjusted for the change of fontset implementation.
3727 (load_face_fontset_font): Function removed.
3728 (pixel_point_size): New function.
3729 (font_list): Argument type changed. Caller changed.
3730 (LFACE_FONT): New macro.
3731 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
3732 (set_lface_from_font_name): Type of arg FONTNAME is changed to
3733 Lisp_Object. Determine the font name by actually loading a font
3734 by the specified pattern. Set LFACE_FONT (lface) to the specified
3735 pattern. Even if a font is not found, don't try alternatives.
3736 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
3737 (set_font_frame_param): If `font' is specified in lface, use it.
3738 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
3739 (lface_same_font_attributes_p): Likewise.
3740 (make_realized_face): Arguent changed. Caller changed. Set
3741 face->ascii_face to face itself.
3742 (free_realized_face): Free face->fontset if face is for ASCII.
3743 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
3744 deduce_unibyte_registry, x_charset_registry): Functions removed.
3745 (free_realized_multibyte_face): New function.
3746 (lookup_face, lookup_named_face, lookup_derived_face): Argument
3747 changed. Caller changed.
3748 (try_font_list): Argument type changed.
3749 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
3750 (choose_face_font): Argument changed. Handle fontset properly.
3751 (choose_face_fontset_font): Function removed.
3752 (realize_default_face, realize_named_face): Don't remove the
3753 former face here.
3754 (realize_face): Argument changed. Caller changed. Remove face
3755 with the arg former_face_id in advance. Load font for the new
3756 face.
3757 (realize_x_face): Argument changed. Caller changed. For a
3758 multibyte character, share fontset with base_face. For a single
3759 byte character, make a new realized fontset. Don't load a font
3760 here.
3761 (realize_tty_face): Argument changed. Caller changed.
3762 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
3763 (face_at_buffer_position): Don't check multibyte_p for returning
3764 DEFAULT_FACE_ID.
3765 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
3766 FACE_SUITABLE_FOR_CHARSET_P.
3767 (syms_of_xfaces): Remove code for Qx_charset_registry and
3768 Vface_default_registry.
3769
6c4bfdc0
KH
3770 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
3771 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
3772 (x_per_char_metric): Don't try FONT->default_char. Even if
3773 pcm->width is zero, glyph bits may exist.
3774 (x_encode_char): Always initialize char2b->byte1.
3775 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
3776 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
3777 changed.
3778 (x_append_glyph): Set glyph->glyph_not_available_p.
3779 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
3780 it->charset. Handle the case that per char metric is not
3781 available. If it->multibyte_p is zero and it->c is a multibyte
3782 character, convert it to a unibyte character.
3783 (struct glyph_string): Delete member `charset'.
3784 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
3785 the case that per char metric is not available correctly.
3786 (x_fill_glyph_string): Handle the case that the specific glyph is
3787 not available correctly.
3788 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
3789 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
3790 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
3791 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
3792 fontset. Don't call FS_LOAD_FONT.
3793
3794 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
3795 (x_create_tip_frame): Likewise.
3796 (Fx_close_connection): Free full_name of font_info.
3797
3798 * fns.c (optimize_sub_char_table): New function.
3799 (Foptimize_char_table): New function.
3800 (syms_of_fns): Defsubr Soptimize_char_table.
3801
b33dd3b0
GM
38022000-03-20 Gerd Moellmann <gerd@gnu.org>
3803
3804 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
3805 only if buffer is displayed in some window.
3806
3807 * xdisp.c (handle_single_display_prop): Initialize local `value'.
3808 (try_window_reusing_current_matrix): Don't call scroll run
3809 function if run's current and desired position are the same;
3810 this prevents cursor flickering.
3811
4e8a9132
SM
38122000-03-19 Stefan Monnier <monnier@cs.yale.edu>
3813
3814 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
3815
3816 * regex.c (RE_STRING_CHAR): New macro.
3817 (GET_CHAR_AFER_2): Remove.
3818 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
3819 (enum re_opcode_t): Remove on_failure_jump_exclusive.
3820 (print_partial_compiled_pattern, re_compile_fastmap)
3821 (re_match_2_internal): Remove on_failure_jump_exclusive.
3822 (regex_compile): Turn optimizable P+ loops into PP*, so that the
3823 optimization only need to work for * (ie. can use of_keep_string_jump).
3824 Remove the special case for .*\n since it is now covered by the general
3825 optimization.
3826 (re_search_2): Don't bother with `room'.
3827 (skip_one_char): New function.
3828 (skip_noops): Simplify since `memory' is not needed any more.
3829 (mutually_exclusive_p): Restructure slightly to use `switch' and
3830 add handling for "all" remaining cases.
3831 (re_match_2_internal): Change on_failure_jump_smart to use
3832 on_failure_keep_string_jump (and redirect the end-of-loop jump)
3833 rather than on_failure_jump_exclusive.
3834
2136fdd4
GM
38352000-03-19 Gerd Moellmann <gerd@gnu.org>
3836
3837 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
3838 number of bits per RGB because it's everywhere used as the depth
3839 of the visual.
3840
3841 * term.c (calculate_costs): Remove code dealing with X frames.
3842
18e21ce8 38432000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
3844
3845 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
3846
d7b511c4
GM
38472000-03-18 Gerd Moellmann <gerd@gnu.org>
3848
3849 * lread.c (read_integer): Unread the last char not consumed.
3850
16b5d424
GM
38512000-03-17 Gerd Moellmann <gerd@gnu.org>
3852
3853 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 3854 which are in the process of being deleted.
16b5d424 3855
1fa28578
GM
38562000-03-16 Gerd Moellmann <gerd@gnu.org>
3857
83488cce
GM
3858 * Makefile.in (mostlyclean): Add `*.core'.
3859 (clean): Add `bootstrap-emacs'.
3860
1fa28578
GM
3861 * lread.c (read_integer): New function.
3862 (read1): Support read syntax #o, #x, #b, #r.
3863
99633e97
SM
38642000-03-15 Stefan Monnier <monnier@cs.yale.edu>
3865
1fa28578
GM
3866 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
3867 make sure POINTER_TO_OFFSET gives the same value before and after
3868 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
3869 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
3870 (debug): Now only active if > 0 rather than if != 0.
3871 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
3872 (print_partial_compiled_pattern): Add missing `succeed' case. Use
3873 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
3874 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
3875 (store_op1, store_op2, insert_op1, insert_op2)
3876 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
3877 (group_in_compile_stack): Move to after its arg's types are
3878 declared and add a prototype.
99633e97 3879 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
3880 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
3881 wrapper.
99633e97 3882 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
3883 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
3884 indentation of the greedy-op and shy-group code.
99633e97
SM
3885 (at_(beg|end)line_loc_p): Fix argument's types.
3886 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
3887 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
3888 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
3889 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
3890 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
3891 QUIT unconditionally.
99633e97 3892
699238d9
GM
38932000-03-15 Gerd Moellmann <gerd@gnu.org>
3894
3895 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
3896 a sole completion.
3897
3898 * process.c (send_process): Add a hint that the function
3899 can call Lisp code to its comment.
3900
3901 * lread.c (load_dangerous_libraries): New variable.
3902 (Vbytecomp_version_regexp): New variable.
3903 (safe_to_load_p): New function.
3904 (Fload): Handle files not compiled with Emacs specially.
3905 (syms_of_lread): New Lisp variable load-dangerous-libraries.
3906
34e23e5a
GM
39072000-03-14 Gerd Moellmann <gerd@gnu.org>
3908
9c763cca
GM
3909 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
3910
3911 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
3912 support functions only if HAVE_X11R6_XIM is defined.
3913 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
3914
3915 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
3916
3917 * xfns.c (X_I18N_INHIBITED): Don't define.
3918 (create_frame_xic): Remove conditional compilation on
3919 X_I18N_INHIBITED.
3920 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
3921
3922 * config.in (HAVE_X_I18N): Moved here from xterm.h.
3923 (HAVE_X11R6_XIM): Define.
3924
3925 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
3926
34e23e5a
GM
3927 * xterm.c (x_term_init): Add support for X resource `synchronous'.
3928 If set, call XSynchronize.
3929
66f0296e
SM
39302000-03-13 Stefan Monnier <monnier@cs.yale.edu>
3931
34e23e5a
GM
3932 * regex.c: Declare a new type `re_char' used throughout the code
3933 for the string char type. It's `const unsigned char' to match the
3934 rest of Emacs. Consistently make sure all pointers to strings use
3935 it and make sure all pointers into the pattern use `unsigned
3936 char'.
66f0296e 3937 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
3938 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
3939 code duplication.
66f0296e
SM
3940
3941 * charset.h (GET_CHAR_AFTER_2): Remove.
3942 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
3943
854a025c
KR
39442000-03-12 Ken Raeburn <raeburn@gnu.org>
3945
3946 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
3947 variable before the invocation of YMF_PASS_LDFLAGS, in case both
3948 of them try to use backquotes.
3949
b9d2c7e2
DL
39502000-03-12 Dave Love <fx@gnu.org>
3951
3952 * unexelf.c: Restore changes of 1999-10-19.
3953 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
3954 fix its type and alignment; copy it from current process.
3955
5e5dff44
GM
39562000-03-12 Gerd Moellmann <gerd@gnu.org>
3957
9b2f3c38
GM
3958 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
3959 has been found. Fix bug not computing timer's predecessor.
3960
427ec082 3961 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
3962 file name.
3963
e1cff360
GM
3964 * window.c (Fsave_window_excursion): Doc fix.
3965
5e5dff44
GM
3966 * xfns.c (x_defined_color): Rewritten to use
3967 x_allocate_nearest_color.
3968
e411ce4b
EZ
39692000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3970
3971 * msdos.c (vga_installed): New function, code moved from
3972 dos_set_window_size.
3973 (Qbar, Qcursor_type, outside_cursor): New variables.
3974 (syms_of_msdos): Intern and staticpro them.
3975 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
3976 shape used outside Emacs when called for the first time.
3977 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
3978 cursor shape used outside Emacs.
3979 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
3980 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
3981 type has changed.
3982 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
3983 parameters specify the cursor. Make qreverse a global
3984 variable (renamed to Qreverse).
3985
80460654
GM
39862000-03-09 Gerd Moellmann <gerd@gnu.org>
3987
3988 * fns.c (Fy_or_n_p): Cancel busy-cursor.
3989
95cd4c40
SM
39902000-03-08 Stefan Monnier <monnier@cs.yale.edu>
3991
3992 This is a big redesign of failure-stack and register handling, prompted
3993 by bugs revealed when trying to add shy-groups. Overall, what happened
3994 is that loops are now structured a little differently, groups can be
3995 shy and the code is a little simpler.
3996
3997 * regex.h: Update the copyright.
3998 (RE_SHY_GROUPS): New value.
3999 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
4000 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
4001
80460654
GM
4002 * regex.c (enum re_opcode_t): Remove jump_past_alt,
4003 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
4004 on_failure_jump_(exclusive, loop and smart). Also fix the comment
4005 for (start|stop)_memory since they now only take one argument (the
4006 second has becomes unnecessary).
4007 (print_partial_compiled_pattern): Adjust for changes in
4008 re_opcode_t.
4009 (print_compiled_pattern): Use %ld to printf long ints and flush to
4010 make debugging a little easier.
95cd4c40
SM
4011 (union fail_stack_elt): Make the integer unsigned.
4012 (struct fail_stack_type): Add a `frame' element.
4013 (INIT_FAIL_STACK): Init `frame' as well.
4014 (POP_PATTERN_OP): New macro for re_compile_fastmap.
4015 (DEBUG_PUSH, DEBUG_POP): Remove.
4016 (NUM_REG_ITEMS): Remove.
4017 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
4018 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
4019 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 4020 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
4021 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
4022 macros.
4023 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
4024 address pushed is not the destination of the jump but the source
4025 of it instead.
95cd4c40
SM
4026 (NUM_FAILURE_ITEMS): Remove.
4027 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
4028 registers before the actual failure point). Don't hardcode any
4029 meaning for str==NULL anymore.
95cd4c40 4030 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
4031 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
4032 Remove.
95cd4c40
SM
4033 (REG_UNSET_VALUE): Use NULL (why not?).
4034 (compile_range): Remove declaration since it doesn't exist.
4035 (struct compile_stack_elt_t): Remove inner_group_offset.
4036 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
4037 (regex_grow_registers): Remove dead code.
4038 (FIXUP_ALT_JUMP): New macro.
80460654
GM
4039 (regex_compile): Add shy-groups Change loops to use
4040 on_failure_jump_smart&jump instead of
4041 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
4042 initial (dummy_failure_)jump. Remove c1_base (looks like unused
4043 variable to me). Use `jump' instead of `jump_past_alt' and don't
4044 bother with push_dummy_failure in alternatives since it is now
4045 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
4046 emacs' for (re)allocating the stack.
4047 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
4048 from loop when bufp->can_be_null rather than jumping to `done'.
4049 Avoid jumping backwards so as to ensure termination. Use
4050 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
4051 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 4052 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
4053 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
4054 improve mutually_exclusive_p to handle ".+\n".
4055 (lowest_active_reg, highest_active_reg,
4056 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
4057 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
4058 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
4059 variables. Push register (in `start_memory') on the stack rather
4060 than storing it in old_reg(start|end). Remove the cycle detection
4061 from `stop_memory', replaced by the use of on_failure_jump_loop
4062 for greedy loops. Add code for the new on_failure_jump_<foo>.
4063 Remove ad-hoc code in `on_failure_jump' to push more registers in
4064 the case of a loop. Take out code from `maybe_pop_jump' into
4065 separate functions and adapt it to the semantics of
4066 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
4067 and push_dummy_failure. Remove dummy_failure handling and
4068 handling of `failures to jump to on_failure_jump' (this last one
4069 was already dead code, it seems).
4070 (group_match_null_string_p, alt_match_null_string_p)
4071 (common_op_match_null_string_p): Remove.
95cd4c40 4072
7397acc4
DL
40732000-03-08 Dave Love <fx@gnu.org>
4074
4075 * config.in: Don't depend on __STDC__ for volatile.
4076 Add POINTER_TYPE, PTR, PROTOTYPES.
4077
4078 * hftctl.c, strftime.c: Use PROTOTYPES.
4079 * eval.c (find_handler_clause): Likewise.
4080
4081 * mem-limits.h: Use POINTER_TYPE.
4082
4083 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
4084 (memory_warnings): Declare using POINTER_TYPE.
4085
5e91ff9e
GM
40862000-03-08 Gerd Moellmann <gerd@gnu.org>
4087
feab4fba
GM
4088 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
4089
25edb08f
GM
4090 * xdisp.c (display_echo_area): Temporarily inhibit garbage
4091 collection.
4092
5e91ff9e
GM
4093 * xfns.c: Remove obsolete code in #if 0.
4094 (Fx_focus_frame): New function.
4095
a735b7e1
KH
40962000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
4097
4098 * coding.c (coding_category_name): Add coding-category-utf-8,
4099 coding-category-utf-16-be, coding-category-utf-16-le.
4100 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
4101 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
4102 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
4103 (detect_coding_utf_8): New function.
4104 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
4105 UTF_16_LOW_SURROGATE_P): New macros.
4106 (detect_coding_utf_16): New function
4107 (detect_coding_mask): When priorities are specified, skip any
4108 categories that have `nil' coding-system. Fix bug of returning
4109 wrong mask when PRIORITIES is specified and detect_coding_XXX()
4110 returns a mask not set in PRIORITIES.
4111 (detect_eol_type_in_2_octet_form): New function.
4112 (detect_eol): selects detect_eol_type_XXX to call according to
4113 cooding->category_idx.
4114 (detect_coding_system): Remove `nil' coding-system in the result.
4115 (Fupdate_coding_systems_internal): Update all coding-categories.
4116
4117 * coding.h (CODING_CATEGORY_IDX_UTF_8,
4118 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
4119 macros.
4120 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
4121 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
4122 CODING_CATEGORY_IDX_UTF_16_LE.
4123 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
4124 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
4125 (CODING_CATEGORY_MASK_ANY): Include the above macros.
4126 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
4127
9994cc69
GM
41282000-03-07 Gerd Moellmann <gerd@gnu.org>
4129
e9b4e5ff
GM
4130 * doc.c (Fdocumentation_property): If value is not a string,
4131 and doesn't refer to etc/DOC, evaluate it to obtain a string.
4132
f7daf1e1
GM
4133 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
4134 close the display with XtCloseDisplay. This caused a bus error
4135 on OpenWindows.
4136
9994cc69
GM
4137 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
4138 complete but not unique.
4139
4336c705
GM
41402000-03-06 Gerd Moellmann <gerd@gnu.org>
4141
18bb0684
GM
4142 * process.c (send_process): Remove local variable `procname' that
4143 might become invalid when a GC happens. Instead, access the
4144 process name slot directly.
4145
4336c705
GM
4146 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
4147 orig_height if set.
4148
4149 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
4150 orig_height if set.
4151
515d0d0e
EZ
41522000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4153
4154 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
4155 glyph matrices have been freed.
4156
100b3cbb
GM
41572000-03-05 Gerd Moellmann <gerd@gnu.org>
4158
50df5e5a 4159 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 4160 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
4161
4162 * xfns.c (QCdata): Moved to xdisp.c.
4163
4164 * xdisp.c (QCdata): Moved here from xfns.c.
4165 (syms_of_xdisp): Initialize QCdata.
4166
4167 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
4168
4169 * window.c (coordinates_in_window): Use
4170 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
4171 FRAME_INTERNAL_BORDER_WIDTH.
4172
100b3cbb 4173 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 4174 it is obviously invalid.
100b3cbb
GM
4175
4176 * xterm.c (x_term_init): Create a colormap if not using the
4177 default visual.
4178
4179 * xterm.h (select_visual): Change prototype.
4180
4181 * xfns.c (select_visual): Rewritten. Recognize user-specified
4182 visual classes.
4183 (visual_classes): New variable.
4184
64d739c4
GM
41852000-03-04 Gerd Moellmann <gerd@gnu.org>
4186
4187 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
4188 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
4189 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
4190 (x_decode_color): Don't handle allocation of white and black
4191 specially.
4192 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
4193 XtNcolormap resources.
4194 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
4195 (Fx_create_frame): Initialize color members of x_output structure.
4196 (xpm_load): Pass colormap to XPM lib.
4197
4198 * xfaces.c (x_free_colors): Access colormap of frame using
4199 FRAME_X_COLORMAP. Be paranoid about freeing black and white
4200 when default colormap is used.
4201
4202 * xterm.c (x_term_init): Set Colormap member of x_display_info
4203 structure. Copy colormap if resource `privateColormap' is
4204 specified (PseudoColor only).
4205 (x_setup_relief_color): Access colormap of frame using
4206 FRAME_X_COLORMAP.
4207
4208 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
4209 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
4210
c3cee013
JR
42112000-03-04 Jason Rumney <jasonr@gnu.org>
4212
4213 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
4214 other non-platform-specific equivalents.
64d739c4 4215 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
4216 specific functions and macros as their w32 equivalents where
4217 non-platform-specifics are not available.
4218 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
4219 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
4220 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
4221 (frame_update_line_height): Use macros to access f->output_data.
4222 (defined_color): Remove FIXME comments; fixed.
4223 (x_face_list_fonts, prepare_face_for_display): Put X specifics
4224 into #ifdef blocks. Add WINDOWSNT blocks.
4225 (Fx_list_fonts): Use macros for accessing font data.
4226 (set_lface_from_font_name): Different default fonts for X and
4227 WINDOWSNT.
4228 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
4229 scalable for backward compatibility.
64d739c4 4230 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
4231 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
4232
64d739c4 4233 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
4234 syms_of_w32faces.
4235
4236 * makefile.nt (w32faces.obj): Remove.
4237 (xfaces.obj): Add.
4238
807cc41c
JR
42392000-03-03 Jason Rumney <jasonr@gnu.org>
4240
4241 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
4242 correct parameters.
4243
0007072a
KR
42442000-03-03 Ken Raeburn <raeburn@gnu.org>
4245
4246 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
4247 standard ELF definitions here if the system header does not.
4248
71a6ba55
GM
42492000-03-03 Gerd Moellmann <gerd@gnu.org>
4250
4251 * xterm.c (PER_CHAR_METRIC): Removed.
4252 (x_per_char_metric_1, x_default_char): New functions.
4253 (x_per_char_metric): If font's default char is invalid, return
4254 metrics of a suitably chosen usable default char.
4255 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
4256 char, replace occurrences of unprintable chars with a suitably
4257 chosen usable default char.
71a6ba55 4258
900fa1f1
GM
42592000-03-02 Gerd Moellmann <gerd@gnu.org>
4260
42f55fe0
GM
4261 * xterm.c (note_mouse_highlight): Return quickly if frame's
4262 glyph matrices have been freed.
4263
4264 * dispnew.c (free_glyphs): Block input while freeing matrices.
4265
900fa1f1
GM
4266 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
4267
4268 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
4269 x_free_colors.
4270
4271 * dispextern.h (x_free_colors): Add prototype.
4272
4273 * xfaces.c (x_free_colors): New function.
4274 (unload_color, free_face_colors): Use it.
4275
2f950292
EZ
42762000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4277
4278 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
4279
4280 * window.c [MSDOS]: Include msdos.h.
4281
54d04320
DL
42822000-03-02 Dave Love <fx@gnu.org>
4283
4284 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
4285
4286 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
4287 set C_OPTIMIZE_SWITCH for gcc.
4288
0ba93ac4
KH
42892000-03-02 Kenichi Handa <handa@etl.go.jp>
4290
4291 * coding.c (coding_save_composition): Be sure to allocate
4292 composition data area in coding even if there's no composition in
4293 the current run.
4294
a2bc11d4
JR
42952000-03-01 Jason Rumney <jasonr@gnu.org>
4296
4297 * w32term.c: Equivalent changes to those made to xterm.c on
4298 2000-02-25 and 2000-02-24.
4299
4300 * w32fns.c: Equivalent changes to those made to xfns.c on
4301 2000-02-25 and 2000-02-21.
4302
4303 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
4304 correct line-end convention is followed.
4305
4306 * w32menu.c [HAVE_BOXES]: Remove #undef.
4307 (single_keymap_panes): Remove code for simulating checkmarks.
4308 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
4309 Remove code for drawing simulated checkmarks.
4310 (w32_menu_show): make unibyte help string correctly.
4311 (add_menu_item): draw standard Windows checkmarks. Draw radio
4312 buttons as radio buttons if possible.
4313
72d19d75
GM
43142000-03-01 Gerd Moellmann <gerd@gnu.org>
4315
2df636f4
GM
4316 * sysdep.c (start_of_text): Don't define this function for NetBSD
4317 with ELF.
4318
427ec082 4319 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
4320 Don't define.
4321 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
4322 (LINKER): Don't undef if __NetBSD__ is defined.
4323
4324 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
4325
4326 * fileio.c [__NetBSD__]: Define `unix'.
4327
72d19d75
GM
4328 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
4329
ed4d0512
GM
43302000-02-29 Gerd Moellmann <gerd@gnu.org>
4331
50b1039f
GM
4332 * atimer.c (start_atimer): Don't abort when timers are stopped.
4333 (append_atimer_lists): New function.
4334 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
4335 arbitrary lists of stopped and running atimers.
4336
ed4d0512
GM
4337 * atimer.c (cancel_atimer): Handle canceling an atimer when
4338 some timers are stopped.
4339
4340 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
4341 after canceling it.
4342
4343 * fns.c (maybe_resize_hash_table): Handle case of new size
4344 coming out as being the same as old size.
4345
387023ee
JR
43462000-02-27 Jason Rumney <jasonr@gnu.org>
4347
4348 * makefile.nt: Add atimer.h to dependencies.
4349 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
4350 * w32console.c: Only disable window system features for dispextern.h
4351 (initialize_w32_display): Build a display info for the console.
4352 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
4353 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
4354 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
4355 as 2 button mice.
4356 * w32gui.h (struct W32FontStruct): Revert last change after change
4357 to xdisp.c.
4358 * w32menu.c (single_submenu): Set up help string.
4359 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
4360 (w32_dialog_show): Set up help string.
4361 * w32term.c (w32_display_info_for_display): Remove unused function.
4362 (w32_draw_bitmap): Use pre-built bitmaps.
4363 (w32_initialize_display_info): New function to initialize parts of
4364 display info that are common to both GUI and console frames.
4365 (w32_term_init): Use w32_initialize_display_info. Do not set
4366 Vw32_num_mouse_buttons here, as it is not called for console
4367 frames. Build bitmaps for indicating truncated lines etc.
4368 (x_delete_display): Destroy pre-built bitmaps.
4369 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
4370 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
4371
4516715a
DL
43722000-02-27 Dave Love <fx@gnu.org>
4373
4374 * lisp.h: Add a bunch of prototypes.
4375
171ca836
KH
43762000-02-26 Kenichi Handa <handa@etl.go.jp>
4377
4378 * keyboard.c (read_char): Set `usec' correctly.
4379
4013921d
KH
43802000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
4381
4382 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
4383 `lambda', set reg[RRR] to the map index.
4384 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
4385 reg[RRR] to 0. Otherwise, set it to -1.
4386
9244a058
GM
43872000-02-25 Gerd Moellmann <gerd@gnu.org>
4388
2df636f4 4389 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 4390
18e21ce8 43912000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 4392
f43d79c1
GM
4393 * fileio.c (Ffile_symlink_p): If result starts with a `/'
4394 and contains a `:', prepend `/:'.
4395
4396 * window.c (select_window_1): If selected_window is nil,
4397 don't "swap out" the buffer's point.
4398 (Fset_window_configuration): Set selected_window to nil
4399 before calling Fselect_window.
4400 (unshow_buffer): Don't set point in buffer from window's point
4401 if another more recently selected window also shows the buffer.
4402
bed0c171
GM
44032000-02-25 Gerd Moellmann <gerd@gnu.org>
4404
449c3c52
GM
4405 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
4406
f5b58615
GM
4407 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
4408 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
4409 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
4410 variables.
4411 (DEFAULT_BUSY_CURSOR_DELAY): New define.
4412 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
4413 (hide_busy_cursor): New functions.
4414 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
4415
4416 * minibuf.c (read_minibuf): Cancel busy-cursor.
4417
4418 * keyboard.c (command_loop_1): Call start_busy_cursor before
4419 Fcommand_execute and cancel_busy_cursor after it.
4420 (timer_check): Remove busy-cursor code.
4421 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
4422 cursor timer.
4423
4424 * process.c (wait_reading_process_input): Remove busy-cursor code.
4425
4426 * eval.c (Fsignal): Call cancel_busy_cursor instead of
4427 Fx_hide_busy_cursor.
4428
4429 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
4430 Remove prototyoes.
4431 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
4432
4433 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
4434
4435 * xterm.c (XTread_socket): Remove busy-cursor code.
4436
4eb8436f
GM
4437 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
4438 (build_frame_matrix_from_leaf_window): Put code handling
4439 glyph row's not being a slice of a frame row in #if 0.
4440 (sync_window_with_frame_matrix_rows): New function.
4441 (frame_row_to_window): New function.
4442 (mirror_line_dance): Handle copies between windows.
4443
3cb65b0e
GM
4444 * lread.c (Fload): Use `xfree' instead of `free'.
4445 (init_obarray): Use `xmalloc' instead of `malloc'.
4446
bed0c171
GM
4447 * window.c (Fset_window_buffer): Set WINDOW to the window
4448 after decoding.
2add4349
GM
4449 (coordinates_in_window): Take frame's internal border width
4450 into account.
bed0c171 4451
42088c12
GM
44522000-02-24 Gerd Moellmann <gerd@gnu.org>
4453
4454 * xterm.c (x_display_and_set_cursor): Display cursor of
4455 non-selected windows depending on the setting of
4456 cursor_in_non_selected_windows.
4457
4458 * xdisp.c (cursor_in_non_selected_windows): New variable.
4459 (syms_of_xdisp): DEFVAR_BOOL it.
4460
d1e103b2
GM
44612000-02-23 Gerd Moellmann <gerd@gnu.org>
4462
723e779c
GM
4463 * data.c (Fstring_to_number): If number is greater than what
4464 fits into an integer, return a float.
4465
d1e103b2
GM
4466 * eval.c (specbind): Remove references to
4467 keyword_symbols_constant_flag.
4468
4469 * data.c (keyword_symbols_constant_flag): Removed.
4470 (Fmakunbound, set_internal, syms_of_data): Remove references to
4471 keyword_symbols_constant_flag.
4472
4473 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
4474
214f877f
KH
44752000-02-23 Kenichi Handa <handa@etl.go.jp>
4476
4477 * syntax.c (multibyte_syntax_as_symbol): New variable.
4478 (syms_of_syntax): Declare it as a Lisp variable.
4479 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
4480 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
4481 nonzero, treat all multibyte characters as symbol.
42088c12 4482 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
4483 characters.
4484
130adcb7
EZ
44852000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
4486
3cb65b0e 4487 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 4488 a deleted frame.
130adcb7 4489
17cbbf95
GM
44902000-02-21 Gerd Moellmann <gerd@gnu.org>
4491
4492 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
4493
4494 * xfns.c (x_window_to_frame, x_any_window_to_frame)
4495 (x_non_menubar_window_to_frame): Check the busy-cursor window.
4496
beb0bc36
DL
44972000-02-21 Dave Love <fx@gnu.org>
4498
4499 * frame.c (Vmouse_position_function): New variable.
4500 (Fmouse_position): Use it.
4501 (syms_of_frame): Install it.
4502
4503 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
4504
1d92afcd
GM
45052000-02-20 Gerd Moellmann <gerd@gnu.org>
4506
4507 * fileio.c (Finsert_file_contents): Unbind the binding of
4508 standard-output done by temp_output_buffer_setup.
329eed9f
GM
4509
4510 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
4511 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
4512 (specbind, unbind_to): Handle most common case of non-constant
4513 symbol with trivial value specially.
4514
4515 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
4516
18e21ce8 45172000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
4518
4519 * data.c (Fmake_variable_buffer_local): Doc fix.
4520 Init found_for_buffer to 0.
4521 (Fmake_variable_frame_local): If the variable has already
4522 been buffer-local, set the check_frame field.
4523
1d4311c3
EZ
45242000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
4525
4526 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
4527 produced for CODING_MODE_LAST_BLOCK requires.
4528
2dc95ddd
DL
45292000-02-18 Dave Love <fx@gnu.org>
4530
4531 * keyboard.c (echo_keystrokes): Remove declaration.
4532 (Vecho_keystrokes) New variable.
4533 (read_char, record_menu_key, read_key_sequence): Use it to allow
4534 use of float value.
4535 (syms_of_keyboard): Change Vecho_keystrokes declaration.
4536
4537 * lread.c: Undef feature selection macros before defining.
4538
f0930f35
GM
45392000-02-18 Gerd Moellmann <gerd@gnu.org>
4540
4541 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
4542 for symbols other than the symbol in question.
4543
e3d4de90
DL
45442000-02-17 Dave Love <fx@gnu.org>
4545
4546 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
4547
0b378936
GM
45482000-02-17 Gerd Moellmann <gerd@gnu.org>
4549
d621caf7
GM
4550 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
4551
0b378936
GM
4552 * alloc.c (enum mem_type): Compile unconditionally.
4553
3b451f74
EZ
45542000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
4555
4556 * xfaces.c (tty_defined_color): Don't return faulire indication
4557 for unspecified-fg and unspecified-bg pseudo-colors.
4558
10689a01
GM
45592000-02-17 Gerd Moellmann <gerd@gnu.org>
4560
1216f5e4
GM
4561 * alloc.c (mark_object): Don't mark symbol names in pure space.
4562 (gc_sweep): Don't unmark symbol names in pure space.
4563
4564 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
4565 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
4566 [GC_MARK_STACK]: New defines.
427ec082 4567 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
4568 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
4569
4570 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
4571
4572 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
4573 allocate_buffer instead of xmalloc.
4574
4575 * alloc.c (toplevel): Include setjmp.h.
4576 (PURE_POINTER_P): New define.
4577 (enum mem_type) [GC_MARK_STACK]: New enumeration.
4578 (Vdead) [GC_MARK_STACK]: New variable.
4579 (lisp_malloc): Add parameter TYPE, call mem_insert if
4580 GC_MARK_STACK is defined.
4581 (allocate_buffer): New function.
427ec082 4582 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
4583 (free_float) [GC_MARK_STACK]: Set type to Vdead.
4584 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
4585 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
4586 (MEM_NIL) [GC_MARK_STACK]: New define.
4587 (struct mem_node) [GC_MARK_STACK]: New structure.
4588 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
4589 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
4590 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
4591 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
4592 (mark_stack) [GC_MARK_STACK]: New functions.
4593 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
4594 (clear_marks): Removed.
4595 (gc_sweep): Set free conses' car, free floats' type, free
4596 symbols' function to Vdead. Use lisp_free to free buffers.
4597 (init_alloc_once): Initialize Vdead.
4598 (survives_gc_p): Return non-zero for pure objects.
4599
4600 * alloc.c: Add comments throughout the file.
4601
2503c8b1
GM
4602 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
4603 that unblocks alarms.
4604
8389e1e2
GM
4605 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
4606 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
4607 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
4608
10689a01 4609 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 4610
bfc17d18
KH
46112000-02-17 Kenichi Handa <handa@etl.go.jp>
4612
4a09dee0
KH
4613 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
4614 avoid infinite error signaling. Allocate sufficient memory for
4615 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 4616
2b927d02
SM
46172000-02-17 Stefan Monnier <monnier@cs.yale.edu>
4618
4619 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
4620 depends on the previous behavior.
4621
b49cb764
GM
46222000-02-16 Gerd Moellmann <gerd@gnu.org>
4623
4624 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
4625
99e95407
GM
46262000-02-15 Gerd Moellmann <gerd@gnu.org>
4627
4628 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
4629
4630 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 4631 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
4632 write(2).
4633
6ffd3cf7
RS
46342000-02-15 Richard M. Stallman <rms@gnu.org>
4635
4636 * data.c (set_internal): Don't make variable buffer-local
4637 if within a let-binding for the same buffer.
4638 (let_shadows_buffer_binding_p): New function.
4639
4640 * eval.c (specbind): For buffer-local value,
4641 record the current buffer also.
4642 (unbind_to): Cope with that change.
4643
cad53475
GM
46442000-02-15 Gerd Moellmann <gerd@gnu.org>
4645
4646 * window.c (Fsave_window_excursion): Doc fix.
4647
1aa963c8
SM
46482000-02-15 Stefan Monnier <monnier@cs.yale.edu>
4649
4650 * syntax.c (back_comment): Make sure we only consider comment-starters
4651 of the relevant style and return -1 in case of a failure to find the
4652 beginning of the comment.
4653 (Fforward_comment): If back_comment fails, go back to the position just
4654 after the comment-end.
4655 (scan_lists): Add comment describing a very minor bug.
4656
b9b84fd3
SM
46572000-02-14 Stefan Monnier <monnier@cs.yale.edu>
4658
4659 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
4660 `completion-regexp-list' in the docstring.
4661
3a28db80
DL
46622000-02-14 Dave Love <fx@gnu.org>
4663
4664 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
4665
fb4a568d
SM
46662000-02-14 Stefan Monnier <monnier@cs.yale.edu>
4667
4668 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
4669 to Emacs' syntax. Also fix the comment about set/not-set meanings
4670 since Emacs syntax is not the value 0 any more.
4671 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
4672 since it's now part of RE_SYNTAX_EMACS.
4673
1063ebb5
DL
46742000-02-12 Dave Love <fx@gnu.org>
4675
4676 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
4677 Alpha.
4678
fb07a302
GM
46792000-02-12 Gerd Moellmann <gerd@gnu.org>
4680
4681 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
4682
aaf2320c
DL
46832000-02-12 Dave Love <fx@gnu.org>
4684
4685 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
4686
4687 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
4688 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
4689 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
4690
4691 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
4692
4693 * s/nextstep.h: Don't define HAVE_ALLOCA.
4694
4695 * config.in: Add vfork bits.
4696
eedf8bde
GM
46972000-02-12 Gerd Moellmann <gerd@gnu.org>
4698
4699 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
4700 unwind function to undo the effect of stopping atimers.
4701
4702 * keyboard.c (bind_polling_period): Stop all timers except
4703 poll_timer.
4704
4705 * atimer.c (stopped_atimers): New variable.
4706 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
4707 New functions.
4708
4709 * atimer.h (stop_other_atimers, run_all_atimers)
4710 (unwind_stop_other_atimers): Add function prototypes.
427ec082 4711
eedf8bde
GM
4712 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
4713
8476c2f8
KR
47142000-02-11 Ken Raeburn <raeburn@gnu.org>
4715
4716 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
4717 library may depend on jpeg.
4718 (atimer.o): Depends on atimer.c.
4719
0e85e4a3
KH
47202000-02-11 Kenichi Handa <handa@etl.go.jp>
4721
4722 * insdel.c (del_range_1): Call update_compositions.
4723 (del_range_both): Call update_compositions just once..
4724
97fa0cc8
DL
47252000-02-10 Dave Love <fx@gnu.org>
4726
4727 * xfns.c (create_frame_xic): Fix initialization of automatic
4728 aggregates for pcc.
4729
25566a3c
KH
47302000-02-09 Kenichi Handa <handa@etl.go.jp>
4731
4732 * ccl.c (CCL_MAKE_CHAR): New macro.
4733 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
4734 registers by CCL_MAKE_CHAR before calling translate_char.
4735 <CCL_TranslateCharacterConstTbl> Likewise.
4736
69da54ba
DL
47372000-02-08 Dave Love <fx@gnu.org>
4738
4739 * lread.c (__EXTENSIONS__): Define.
4740
f7136ee8
GM
47412000-02-08 Gerd Moellmann <gerd@gnu.org>
4742
4743 * puresize.h (BASE_PURESIZE): Increase to 650000.
4744
7768790b
EZ
47452000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
4746
4747 * msdos.c (XMenuActivate): Turn off the cursor after displaying
4748 the help message.
4749
38fd211b
EZ
47502000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
4751
4752 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
4753 md, mh, mb, mr, and me to the fake termcap entry.
4754
66e4690f
KR
47552000-02-06 Ken Raeburn <raeburn@gnu.org>
4756
4757 * sound.c (sound_cleanup): Don't call device close routine if the
4758 function pointer is null.
4759
a75dfea0
AI
47602000-02-06 Andrew Innes <andrewi@gnu.org>
4761
4762 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
4763 around image definitions and prototypes.
4764 (gamma_correct) [WINDOWSNT]: New prototype.
4765
4766 * w32term.c (x_make_frame_visible): Replace call to
4767 input_poll_signal with poll_for_input.
4768
4769 * window.c [WINDOWSNT]: Include w32term.h.
4770
4771 * xdisp.c [WINDOWSNT]: Include w32term.h.
4772
4773 * makefile.nt: Add dependencies on w32gui.h.
4774 (OBJ1): Include atimer.obj.
4775 ($(BLD)\atimer.obj): New dependency rule.
4776
4777 * w32.c (sigmask): New function (does nothing).
4778 (sigunblock): Ditto.
4779
4780 * frame.c [WINDOWSNT]: Include w32term.h.
4781
4782 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
4783
4784 * lread.c (syms_of_lread): Fix literal newlines.
4785
4786 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
4787 the string constant limit (2048 bytes) in MSVC.
4788 (main): Ditto.
4789
59ddecde
GM
47902000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
4791
4792 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
4793 area.
4794 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
4795 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
4796 dispatch the event.
4797
07590973
DL
47982000-02-04 Dave Love <fx@gnu.org>
4799
4800 * fileio.c: Remove some unused vars.
4801 (_GNU_SOURCE): Define (for euidaccess).
4802
4803 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
4804
4805 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
4806 gcpro1, gcpro2.
4807 (read_minibuf): Deal with allow_props correctly.
4808
649351f9
EZ
48092000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
4810
4811 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
4812
66e4690f 48132000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
4814
4815 * search.c (compile_pattern): If a cache entry has a nil regexp,
4816 fill in that entry instead of clobbering a previously cached
4817 string regexp.
4818
66e4690f 48192000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
4820
4821 * puresize.h (BASE_PURESIZE): Increase to 610000.
4822
d240a249
GM
48232000-02-02 Gerd Moellmann <gerd@gnu.org>
4824
4825 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
4826 can GC.
4827
ca91fb26
KH
48282000-02-02 Kenichi Handa <handa@etl.go.jp>
4829
25660570
KH
4830 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
4831 instead of incrementing ic directly.
4832 <CCL_WriteExprConst> Likewise.
4833 <ccl_set_expr>: Set ic to jump_address.
4834
ca91fb26
KH
4835 * fileio.c (e_write): Fix the handling of
4836 CODING_FINISH_INSUFFICIENT_SRC.
4837
2ede9689
DL
48382000-02-01 Dave Love <fx@gnu.org>
4839
4840 * editfns.c (Fpropertize): Doc fix.
4841
4842 * process.c (Fstart_process): Doc fix.
4843
4844 * eval.c: Fix various doc strings not to duplicate information
4845 from help-manyarg-func-alist.
4846
4847 * window.c (Fset_window_margins): Don't make interactive. Doc
4848 fix.
4849
4850 * doc.c (Vhelp_manyarg_func_alist): New variable.
4851 (Fdocumentation): Use it.
4852 (syms_of_doc): Define it.
4853
b6680a0e
GM
48542000-01-31 Gerd Moellmann <gerd@gnu.org>
4855
2cb750ba
GM
4856 * xterm.c (xim_open_dpy): Remove unused local variable.
4857
74e9213b
GM
4858 * emacs.c (USAGE): Use term `display options' instead of `X
4859 options'.
4860
4861 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
4862 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
4863
b6680a0e
GM
4864 * fns.c (sweep_weak_table): New function.
4865 (sweep_weak_hash_tables): Use it. Keep on marking until there
4866 is no more change.
4867
994c5afe
GM
48682000-01-30 Gerd Moellmann <gerd@gnu.org>
4869
4870 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
4871 that XTread_socket does not crash by trying to call XNoOp on a
4872 closed display.
427ec082 4873
f00276e3
JR
48742000-01-30 Jason Rumney <jasonr@gnu.org>
4875
4876 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
4877 Change selected_frame to SELECTED_FRAME ().
4878 (w32_console_mouse_position): Remove #ifndef MULE from around
4879 `insist' parameter.
4880
4881 * makefile.nt: Remove dosfns.obj.
4882
4883 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
4884
4885 * w32fns.c (w32_defined_color): Check for valid frame before
4886 applying gamma correction. Eliminate dependency on frame elsewhere.
4887 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
4888 (w32_to_x_font): Use resx and resy not height_in and width_in.
4889 (x_to_w32_font): Doc fix.
4890 (xlfd_strip_height): New function to strip and return font height.
4891 (w32_font_match): Compare height separately from rest of xlfd
4892 spec, using xlfd_strip_height.
4893
4894 * w32term.c (w32_term_init): Swap resx and height_in, resy and
4895 width_in. Use w32_defined_color in place of defined_color.
4896
4897 * w32faces.c: Merge more of DOS and X specifics in preparation for
4898 merge with xfaces.c.
4899 (defined_color): Remove FIXME comment.
4900 (tty_color_name): Provide w32-specific function.
4901 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
4902
4903 * w32console.c (turn_on_face, turn_off_face): Removed.
4904 (w32_face_attributes): New function.
4905 (Global_variables): Reduce scope where possible.
4906 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
4907 fill attribute.
4908 (hl_mode): Don't modify text attributes.
4909 (write_glyphs): Don't do anything if len <= 0. Use
4910 w32_face_attributes to get attributes for drawing. Write
4911 terminating codes using char_attr_normal.
4912 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
4913 (update_begin, update_end): Likewise.
4914 (vga_stdcolor_name): New function.
4915 (initialize_w32_display): Remove char_attr_reverse and char_attr.
4916 (Fset_screen_color): Remove char_attr_reverse.
4917
b08e8bb2
GM
49182000-01-29 Gerd Moellmann <gerd@gnu.org>
4919
4920 * xfns.c (xic_set_preeditarea): Take window parameter and
4921 window-relative pixel-positions.
4922
4923 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
4924 is its frame's selected window.
4925 (xim_instantiate_callback): Likewise.
4926
4927 * xfns.c (x_create_im): Removed.
4928 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
4929 (supported_xim_styles): Renamed from supported_styles.
4930 (best_xim_style): Renamed from best_style.
4931 (create_frame_xic): Renamed from xic_create_frame.
4932 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 4933
b08e8bb2
GM
49342000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
4935
4936 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
4937 our frames, call XFilterEvent with 2nd parameter `None'.
4938 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
4939 returning XBufferOverflow.
4940 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
4941 area.
4942 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
4943 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
4944 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
4945 (xim_initialize, xim_close)
4946 [HAVE_X_I18N && HAVE_X11R6]: New functions.
4947 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
4948 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
4949 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
4950
4951 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
4952 and `xim_styles'.
4953 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
4954 `xic_style' and `xic_xfs'.
4955 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
4956 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
4957 (FRAME_XIM): Removed.
4958
4959 * xfns.c (supported_styles): New variable.
4960 (DEFAULT_STYLE, DEFAULT_FONT): New macros
4961 (xic_create_xfontset, best_style, xic_create_frame)
4962 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
4963 (xic_set_xfontset): New functions.
4964
142e109c
DL
49652000-01-28 Dave Love <fx@gnu.org>
4966
4967 * s/irix6-5.h: Revert last change after change to irix5-0.h.
4968
4969 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
4970
b02786f9
GM
49712000-01-28 Gerd Moellmann <gerd@gnu.org>
4972
d060bc9f
GM
4973 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
4974 for *scratch* if it already existed.
4975
b02786f9
GM
4976 * emacs.c (USAGE): New macro.
4977 (main): Use it to display usage information.
4978
2c52d7e4
EZ
49792000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
4980
4981 Support for the menu-help feature:
4982
4983 * msdos.h: Change prototypes of XMenuAddSelection and
4984 XMenuActivate.
4985
4986 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
4987 part of the line to the termscript file.
4988 (IT_clear_to_end): Clear the entire line, not just its beginning.
4989 (menu_help_message, prev_menu_help_message): New variables.
4990 (IT_menu_make_room): Make room for the help_text member.
4991 (IT_menu_display): New argument disp_help; all callers changed.
4992 If disp_help is non-zero, store the help text of the active menu
4993 item in menu_help_message.
4994 (XMenuAddPane): Initialize the help_text member to NULL.
4995 (XMenuAddSelection): New argument help_text. Store it in the
4996 XMenu structure.
4997 (XMenuActivate): New argument help_callback. If the value of
4998 menu_help_message has changed since the last time, display the
4999 menu help message text while waiting for the mouse to move. Clear
5000 the echo area before exiting.
5001 (XMenuDestroy): Free the help_text member.
5002
ffe0bcd1
GM
50032000-01-27 Gerd Moellmann <gerd@gnu.org>
5004
5005 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
5006 XMenuAddSelection. Pass help callback to XMenuActivate.
5007 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
5008
50dbd23f
EZ
50092000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
5010
5011 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
5012 and EMACS_SET_USECS.
5013
f5941bf8
GM
50142000-01-26 Dave Love <fx@gnu.org>
5015
6c67ddee
DL
5016 * editfns.c (Fchar_after, Fchar_before): Doc fix.
5017
f5941bf8
GM
5018 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
5019 an error may be signalled.
5020
9e49c990
GM
50212000-01-26 Gerd Moellmann <gerd@gnu.org>
5022
fc3cb460
GM
5023 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
5024 LD_SWITCH_SYSTEM inherited from irix5-0.h.
5025
9e49c990
GM
5026 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
5027
d0c037d8
GM
50282000-01-25 Gerd Moellmann <gerd@gnu.org>
5029
5030 * charset.c (Fstring): If there is a multibyte char among
5031 the args, always return a multibyte string.
5032
e12489f9
GM
50332000-01-25 Gerd Moellmann <gerd@gnu.org>
5034
5035 * sysdep.c (sys_select): Turn atimers off and on instead of
5036 recording and restoring old alarm handler
5037
5038 * process.c (toplevel): Include atimer.h.
5039 (create_process_1): Rewritten.
5040 (create_process): Use atimers instead of alarm.
5041 (wait_reading_process_input) [hpux]: Turn atimers off instead
5042 of turning off SIGALRM.
5043 (wait_reading_process_input): Turn off atimers instead off
5044 calling stop_polling.
5045
5046 * emacs.c (main): Call init_atimer.
5047
5048 * keyboard.c (toplevel): Include systime.h and atimer.h.
5049 (polling_for_input): Removed because unused.
5050 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
5051 (poll_timer): New variable.
5052 (poll_for_input, poll_for_input_1): New functions.
5053 (start_polling, stop_polling): Rewritten.
5054
5055 * keyboard.h (polling_for_input): Removed.
427ec082 5056
e12489f9
GM
5057 * atimer.h, atimer.c: New files.
5058
5059 * Makefile.in (obj): Add atimer.o.
5060 (atimer.o): New target.
5061
5062 * blockinput.h (pending_atimers): Add extern declaration.
5063 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
5064
5065 * lisp.h (popup_activated_flag): Add extern declaration.
5066
5067 * xmenu.c (popup_activated_flag): Make externally visible.
5068 (popup_activate_callback) [USE_MOTIF]: Increment
5069 popup_activated_flag.
5070 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
5071
5072 * xterm.c (toplevel): Include atimer.h.
5073 (toolkit_scroll_bar_interaction): New variable.
5074 (Fxt_process_timeouts): Removed.
5075 (x_process_timeouts): New function.
5076 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
5077 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
5078 (x_make_frame_visible): Call poll_for_input_1 instead of
5079 input_poll_signal. Don't call alarm.
5080 (x_initialize): Install timer calling x_process_timeouts.
427ec082 5081
1e5279b9
DL
50822000-01-24 Dave Love <fx@gnu.org>
5083
6c67ddee 5084 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
5085 Don't use -cckr -- apparently not now necessary.
5086
edf6aeb8
EZ
50872000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5088
5089 * msdos.c (IT_menu_display): Truncate long menu lines at the right
5090 screen boundary.
5091
9badad41
JR
50922000-01-23 Jason Rumney <jasonr@gnu.org>
5093
5094 * w32fns.c (w32_defined_color): Apply gamma correction before
5095 trying to map to the palette.
5096 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
5097 to w32_clear_rect.
5098
5099 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
5100 here. Callers changed to always pass real device context.
5101 (w32_draw_bitmap): Likewise.
5102 (w32_get_glyph_overhangs): Likewise.
5103 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
5104 one.
5105 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
5106 pfnSetScrollInfo and SetScrollRange.
5107 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
5108 back into MULE characters after decoding them.
5109 (x_get_glyph_face_and_encoding): Likewise.
5110 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
5111 GetCharABCWidthsW fails, since this is defined on Windows 9x.
5112 (x_produce_glyphs): Calculate per char metrics for a character
5113 that we know exists in default font when font_not_found_p is true.
5114
63bd786b
JR
51152000-01-22 Jason Rumney <jasonr@gnu.org>
5116
5117 * makefile.nt (intervals.obj, composite.obj): New modules.
5118 (composite.h): Added as dependency where appropriate.
5119
5120 * w32gui.h (XGCValue): New struct for emulating X GCs.
5121
5122 * w32term.h (XCharStruct): New struct for emulating X.
5123
5124 * w32console.c (turn_on_face, turn_off_face): New functions.
5125 (change_line_highlight): New prototype for new redisplay.
5126 (write_glyphs): Support multibyte text. Support faces.
5127
5128 * w32faces.c: Complete rewrite for new redisplay based on new
5129 xfaces.c.
5130
5131 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
5132 throughout. struct frame * in place of FRAME_PTR.
5133 Skeleton support for images, toolbars, tooltips from xfns.c.
5134 (Fx_create_frame): Use system default for default scroll bar
5135 width.
5136 (w32_get_arg): Renamed from x_get_arg.
5137 (Fx_file_dialog): New function.
5138 (w32_list_fonts): Check cache before asking system.
5139 (Vw32_enable_synthesized_fonts): New variable.
5140 (Vw32_enable_italics): Obsolete, removed.
5141
5142 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
5143 Use SELECTED_FRAME macro.
5144
5145 * w32menu.c: Add skeleton support for help strings on menus.
5146 (add_menu_item): Native checkbox and radio support added, but not
5147 yet enabled due to bugs.
5148 (push_menu_item): Add parameters type, selection and help.
5149 Callers updated.
5150 Formatting changes to reduce unnecessary diffs with xmenu.c.
5151
5152 * w32select.c (Fw32_set_clipboard_data): Update call to
5153 find_charset_in_str.
5154
5155 * w32term.c: Complete rewrite for new redisplay based on new
5156 xterm.c with necessary sections merged back in from old w32term.c.
5157
6ffd3cf7 51582000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
5159
5160 * data.c (set_internal): Further fix in same criterion.
5161
6ffd3cf7 51622000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
5163
5164 * data.c (set_internal): Fix the criteria for whether
5165 to swap out the old cached binding.
5166
60af03f1
DL
51672000-01-19 Dave Love <fx@gnu.org>
5168
5169 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
5170
f9be074f
KH
51712000-01-18 Kenichi Handa <handa@etl.go.jp>
5172
5173 * regex.c (re_compile_fastmap): While checking a range table for
5174 `charset', skip flag bits for a character class correctly.
5175
52b8dbf9
GM
51762000-01-17 Gerd Moellmann <gerd@gnu.org>
5177
d36100c9
GM
5178 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
5179
52b8dbf9
GM
5180 * xfns.c (x_window): Call lw_create_widget with new parameter
5181 list.
5182
5183 * widget.c (EmacsFrameSetCharSize): Change size of children first
5184 because of problems with main window geometry management under
5185 Lesstif.
5186
5187 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
5188 MENU_ITEMS_ITEM_.*.
5189 (MENU_ITEMS_ITEM_HELP): New enumerator.
5190 (push_menu_item): Add parameter HELP. Record help in menu_items.
5191 (single_menu_item, single_submenu, list_of_items): Call
5192 push_menu_item with new parameter.
5193 (single_submenu): Set help string in widget value.
5194 (menu_highlight_callback): New function.
5195 (set_frame_menubar): Call lw_create_widget with new
5196 parameter list.
5197 (xmenu_show, xdialog_show): Ditto.
5198
3139018f
GM
51992000-01-13 Gerd Moellmann <gerd@gnu.org>
5200
5201 * sound.c (Fplay_sound): Improve doc string.
5202
83c8f461
RS
52032000-01-11 Richard M. Stallman <rms@gnu.org>
5204
5205 * lisp.h (set_internal): Enter the new arg.
5206
5207 * eval.c (specbind): Record buffer-local variables specially,
5208 indicating which buffer's binding was saved.
5209 (unbind_to): Restore buffer-local variables specially
5210 in the proper buffer.
5211
5212 * data.c (set_internal): New arg BUF.
427ec082 5213
83c8f461
RS
5214 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
5215 * data.c (Fset): Pass new arg to set_internal.
5216 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 5217
1fab1775
GM
52182000-01-11 Gerd Moellmann <gerd@gnu.org>
5219
5220 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
5221 xprintsym.
5222
83c8f461 52232000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
5224
5225 * minibuf.c (Ftry_completion): Doc fix.
5226
7a85e4df
GM
52272000-01-11 Gerd Moellmann <gerd@gnu.org>
5228
5229 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
5230 vector, too.
5231
a970dae4
AS
52322000-01-11 Andreas Schwab <schwab@suse.de>
5233
5234 * coding.c (code_convert_region): Initialize total_skip.
5235
c65d14ee
DL
52362000-01-08 Dave Love <fx@gnu.org>
5237
5238 * eval.c (Fuser_variable_p): Check customizability too.
5239
834938d2
GM
52402000-01-07 Gerd Moellmann <gerd@gnu.org>
5241
5242 * minibuf.c (Fcompleting_read): Doc fix.
5243
e0303cd6
GM
52442000-01-05 Gerd Moellmann <gerd@gnu.org>
5245
8a26744b
GM
5246 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
5247 -L /usr/local/lib.
5248
e0303cd6
GM
5249 * xfns.c (x_create_im): New function to set IM and IC of a frame.
5250 Check that input style is supported before trying to create an
5251 IC for it.
5252 (x_window): Call x_create_im.
427ec082 5253
2e471eb5
GM
52542000-01-04 Gerd Moellmann <gerd@gnu.org>
5255
560a7bd2
GM
5256 * xfns.c (current_gif_memory_src): New variable.
5257 (gif_load): Record the address of the current memory source
5258 in current_gif_memory_src.
5259 (gif_read_from_memory): Use current_gif_memory_src.
5260
f9ee84a3
GM
5261 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
5262 macros statement form.
5263
d1299cde
GM
5264 * sound.c (struct sound): Renamed from struct sound_file.
5265 (struct sound): Add members `data' and `header_size'.
5266 (enum sound_attr): Add SOUND_DATA.
5267 (current_sound, current_sound_device): Variables renamed from
5268 sound_file and sound_device.
5269 (parse_sound): Parse :data.
5270 (parse_sound): Handle sound data in strings.
5271 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 5272 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
5273 needed header size.
5274 (wav_play, au_play): Play sounds from string data.
5275
2e471eb5
GM
5276 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
5277
5278 * lisp.h: Add prototype for allocate_string_data.
5279
5280 * alloc.c (Fgarbage_collect): Return number of live and free
5281 strings.
5282
5283 * alloc.c (mark_buffer): Remove code in #if 0.
5284 (gc_sweep): Ditto.
5285 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
5286 (strings_consed): New variable.
5287 (allocate_string): Set it.
5288 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
5289 (Fmemory_use_counts): Return strings_consed. Use Flist.
5290
5291 * alloc.c: General cleanup in comments etc. Remove conditional
5292 compilation for `standalone'.
5293
5294 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
5295
5296 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
5297 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
5298 (DONT_COPY_FLAG): Removed.
5299 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
5300 (struct sdata, struct sblock): New
5301 (struct string_block): Rewritten.
5302 (STRINGS_IN_STRING_BLOCK): New macro.
5303 (oldest_sblock, current_sblock, total_strings, total_free_strings)
5304 (large_sblocks, string_blocks, string_free_list): New variables.
5305 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
5306 (init_strings): Rewritten.
5307 (allocate_string, allocate_string_data, compact_small_strings)
5308 (free_large_strings, sweep_strings): New functions.
5309 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
5310 (struct string_block_head, current_string_block)
5311 (first_string_block, large_string_blocks, STRING_FULLSIZE)
5312 (STRING_PAD): Removed.
5313 (make_uninit_multibyte_string, make_pure_string): Rewritten.
5314 (Fgarbage_collect): Don't set mark bit in large strings.
5315 (mark_object): Mark strings differently. Mark symbol names
5316 differently.
5317 (survives_gc_p): Test marked strings differently.
427ec082 5318 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
5319 symbol names.
5320 (compact_strings): Removed.
5321
42608ba8
EZ
53222000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
5323
5324 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
5325 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
5326
e0a09e1a
KH
53272000-01-04 Kenichi Handa <handa@etl.go.jp>
5328
dd9f0750 5329 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 5330 in a non-empty buffer.
dd9f0750 5331
3c0f3b15 5332 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 5333
44cd3ae5
GM
53342000-01-03 Gerd Moellmann <gerd@gnu.org>
5335
5336 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
5337 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
5338
5339 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
5340
c182a70f
EZ
53412000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
5342
5343 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
5344 need to test for MSDOS frames.
5345
24480d5b
EZ
53462000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
5347
5348 * dosfns.c (unspecified_colors): Remove.
5349 (msdos_stdcolor_idx): Use global variables unspecified_fg and
5350 unspecified_bg.
5351 (msdos_stdcolor_name): Return strings for unspecified fore- and
5352 back-ground colors.
5353
5354 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 5355 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
5356 (tty_color_name): Return Lisp strings for unspecified fore- and
5357 back-ground colors.
5358 (Finternal_set_lisp_face_attribute): Remove the special treatment
5359 for Qunspecified_{f,b}g.
5360 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
5361 string.
5362
047f434a
GM
53632000-01-03 Gerd Moellmann <gerd@gnu.org>
5364
5365 * xdisp.c (reseat_at_next_visible_line_start): Position before
5366 newline only if ending up on a newline.
5367 (next_element_from_ellipsis): Return success. Handle case of
5368 displaying no ellipsis. Fix case of ellipsis defined in display
5369 table.
5370 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
5371 returns 0.
5372
d684c676
EZ
53732000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
5374
5375 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
5376 (Fcolor_supported_p): Renamed from face-color-supported-p.
5377
5fe1d139
EZ
53782000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5379
5380 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
5381 list of colors renamed to tty-defined-color-alist.
5382 (tty_color_name): Pass the frame to tty-color-by-index.
5383 (realize_tty_face): tty-color-alist is now a function which
5384 accepts the frame as argument.
5385
5386 * term.c (Ftty_display_color_p): Accept an optional argument
5387 FRAME.
5388
816be8b8
EZ
53892000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5390
5391 * term.c (insert_glyphs): Pass glyph, not &glyph, to
5392 encode_terminal_code.
5393
b635321e
EZ
53942000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5395
5396 * dispnew.c (mode_line_string): Support termcap frames as well.
5397
9b784e96
GM
53982000-01-01 Gerd Moellmann <gerd@gnu.org>
5399
27189709
GM
5400 * syntax.c (Fforward_word): Undo previous change.
5401
5402 * editfns.c (Fconstrain_to_field): Don't constrain if
5403 inhibit-field-text-motion is non-nil.
5404 (Fline_beginning_position): Undo previous change.
5405 (Fline_end_position): Ditto.
5406
5407 * syntax.c (Fforward_word): Notice field boundaries only if
5408 inhibit-field-text-motion is nil.
5409
5410 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
5411
5412 * editfns.c (Vinhibit_field_text_motion): New variable.
5413 (inhibit-field-text-motion): New DEFVAR_LISP.
5414 (Fline_beginning_position, Fline_end_position): Notice field
5415 boundaries only if inhibit-field-text-motion is nil.
5416
45158a91
GM
5417 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
5418 All calls adjusted.
5419 (x_build_heuristic_mask): Likewise.
5420 (xbm_load_image_from_file): Change error output.
5421 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
5422 (gif_load, gs_load, x_kill_gs_process): Ditto.
5423
9b784e96
GM
5424 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
5425 color indices when accessing raster pixels.
63cec32f
GM
5426 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
5427 one of :file or :data.
5428 (enum pbm_keyword_index): Add PBM_DATA.
5429 (pbm_format): Add :data.
5430 (pbm_image_p): Allow either :file or :data.
5431 (pbm_read_file): New function.
5432 (pbm_scan_number): Rewritten to read from string.
5433 (pbm_load): Support :data.
9b784e96 5434
2cb085db 5435See ChangeLog.8 for earlier changes.