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