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