(Fwindow_list): Change parameter list to be XEmacs
[bpt/emacs.git] / src / ChangeLog
CommitLineData
6d950f4c
GM
12000-11-19 Gerd Moellmann <gerd@gnu.org>
2
b95b34e5
GM
3 * sysdep.c (emacs_ospeed): New variable.
4 (toplevel): Don't declare ospeed extern.
5 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6
7 * termcap.c (ospeed): Remove.
8 (tputs) [!emacs]: Remove unused code.
9 (tgetent): Avoid a compiler warning.
10
e83dc917
GM
11 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
12 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 13 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
14
15 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
16 removed.
17 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
18 Take the X display as additional argument.
19 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
20 `Widget' is a pointer type that's not easily stored in Lisp_Object
21 form in a portable way.
22
6d950f4c
GM
23 * dispnew.c (update_text_area): Fix last change.
24
e47306e6
GM
252000-11-18 Gerd Moellmann <gerd@gnu.org>
26
fb3cd89b
GM
27 * xdisp.c: Use BINDING_STACK_SIZE throughout.
28
29 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
30 clear current matrices.
31
edaa9aed
GM
32 * buffer.c (mmap_enlarge): Don't print a message on stderr
33 if mapping new memory at the end of the existing region fails.
34
e47306e6
GM
35 * dispnew.c (update_text_area): Don't skip over equal glyphs
36 when the last current glyph overlaps the glyph to its right.
37
509633e3
MB
382000-11-18 Miles Bader <miles@gnu.org>
39
40 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
41 lines that *end* with "..." too (that's the most common case!).
42
d392e9c5
GM
432000-11-18 Gerd Moellmann <gerd@gnu.org>
44
67988445
GM
45 * xdisp.c (resize_mini_window): Temporarily change to the
46 mini-window's buffer if necessary.
1bfdbe43 47
d392e9c5
GM
48 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
49 the tooltip obscures less text under it.
50
512000-11-17 Gerd Moellmann <gerd@gnu.org>
52
53 * puresize.h (BASE_PURESIZE): Increase to 700000.
54
92bb977f
JR
552000-11-18 Jason Rumney <jasonr@gnu.org>
56
57 * w32term.c (w32_draw_bitmap): Use face to set colors.
58
26fbf20b
DL
592000-11-17 Dave Love <fx@gnu.org>
60
61 * lread.c (Fload): Fix #ifdef for pcc.
62
100b593b
GM
632000-11-17 Gerd Moellmann <gerd@gnu.org>
64
65 * xdisp.c (pos_visible_p): Compute the default character height
66 differently.
67
a288d0d1
GM
682000-11-16 Gerd Moellmann <gerd@gnu.org>
69
cac94de6
GM
70 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
71 knowing the line's height; use the default font's height in that
72 case.
73
a288d0d1
GM
74 * xfaces.c (weight_table): Add `demi' with the same meaning as
75 `demibold'.
76
981fb6f6
KH
772000-11-16 Kenichi Handa <handa@etl.go.jp>
78
2cca872d 79 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
80 (clear_glyph_row): Delete local static variable null_row.
81
e5fa381b
JR
822000-11-15 Jason Rumney <jasonr@gnu.org>
83
84 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
85 (w32_alloc_lighter_color): Use new brightness calculations from
86 xterm.c. Scale delta to be in the range expected by W32.
87 (w32_draw_relief_rect): Use frame relief colors.
88
8e42f043
GM
892000-11-15 Gerd Moellmann <gerd@gnu.org>
90
6d133d1f
GM
91 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
92 (Qinhibit_default_face_x_resources): New variable.
93 (syms_of_frame): Initialize it.
94 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
95
96 * xdisp.c (pos_visible_p): Improve function comment.
97
98 * lisp.h (BINDING_STACK_SIZE): New macro.
99
8e42f043
GM
100 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
101 reading the directory if readdir returns null and errno is EAGAIN
102 or EINTR.
103
e8c87124
SM
1042000-11-14 Stefan Monnier <monnier@cs.yale.edu>
105
106 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
107 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
108 Set amount_to_scroll to max of dx and scroll_step so that
109 scroll-conservatively doesn't defeat scroll-step>1.
110 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
111 scroll-conservatively for line-at-a-time scrolling.
112
5f0c971d
GM
1132000-11-14 Gerd Moellmann <gerd@gnu.org>
114
115 * window.c (Fpos_visible_in_window_p): Call pos_visible with
116 extra argument.
117
118 * xdisp.c (current_mode_line_height, current_header_line_height):
119 New variables.
120 (init_xdisp): Initialize them.
121 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
122 and use exact mode line heights if it is set.
123
124 * lisp.h (pos_visible_p): Change prototype.
125
126 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
127 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
128 and current_header_line_height first.
129 (current_mode_line_height, current_header_line_height): Declare
130 extern.
131
d7361edf
MB
1322000-11-14 Miles Bader <miles@lsi.nec.co.jp>
133
134 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
135 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
136 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
137
ee5e440a
MB
1382000-11-14 Miles Bader <miles@gnu.org>
139
140 * xterm.c (x_alloc_lighter_color): Include an additive component
141 too for dark colors, because FACTOR isn't enough.
142 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
143 New macros.
144
5ca020fc
GM
1452000-11-13 Gerd Moellmann <gerd@gnu.org>
146
147 * keyboard.c (show_help_echo): Call message3_nolog with number of
148 bytes in the help string as 2nd parameter, instead of the number
149 of characters.
150
9d348294
MB
1512000-11-13 Miles Bader <miles@gnu.org>
152
153 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
154 (Fload): Use new openp return protocol.
155 Don't try to use Vload_source_file_function to load .elc files.
156 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
157 openp return protocol.
158 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
159
1729bb9a
KH
1602000-11-11 Kenichi Handa <handa@etl.go.jp>
161
4e677396
KH
162 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
163
164 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
165 Defined these macros.
166 (NLIST_STRUCT): Avoid re-defining it.
167
1729bb9a
KH
168 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
169 -I/usr/contrib/X11R6/include.
170 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
171
a82fe213
JR
1722000-11-10 Jason Rumney <jasonr@gnu.org>
173
174 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
175
176 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
177 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
178
179 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
180 (Qw32_charset_vietnamese): New symbol.
181 (xlfd_charset_of_font): New function.
182 (w32_load_system_font): Use it.
183 (x_to_w32_charset): Use Fassoc to find charset info. Special case
184 when Vw32_charset_info_alist is nil to ensure default face always
185 has font. Use Fcar and Fcdr for safety.
186 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
187 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
188 pseudo-codepages for special cases.
189 (w32_to_x_font): New parameter to allow charset portion to be
190 specified where there is many to one mapping. Callers changed.
191 (w32_list_fonts): Avoid listing fonts that won't display.
192
52d89894
GM
1932000-11-10 Gerd Moellmann <gerd@gnu.org>
194
195 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
196 (font_list_1): Renamed from font_list.
197 (font_list): New function, trying alternative registries from
198 Vface_alternative_font_registry_alist.
199 (Finternal_set_alternative_font_registry_alist): New function.
200 (syms_of_xfaces): Initialize and Staticpro
201 Vface_alternative_font_registry_alist. Defsubr
202 Finternal_set_alternative_font_registry_alist.
203
651cd3da
KR
2042000-11-09 Ken Raeburn <raeburn@gnu.org>
205
206 * lisp.h (Flooking_at): Declare.
207
388ac098
GM
2082000-11-09 Gerd Moellmann <gerd@gnu.org>
209
778fbc46
GM
210 * dired.c (directory_files_internal): Fix a braino.
211
388ac098
GM
212 * dired.c (directory_files_internal): Add missing GCPRO's.
213 Some cleanup.
214
ecaedde1
GM
2152000-11-08 Gerd Moellmann <gerd@gnu.org>
216
f7eb32aa
GM
217 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
218 (resize_mini_window): Return quickly if Vresize_mini_window is
219 nil. Don't return if Vmax_mini_window_height is nil.
220
221 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
222 (syms_of_xdisp): Initialize them.
223 (resize_mini_window): Act according to the setting of
224 Vresize_mini_window.
225 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
226
ecaedde1
GM
227 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
228 scroll bar widget after configuring it, so that it will appear at
229 the right position from the start.
230 (XTredeem_scroll_bar): Cleaned up.
231
3747ef2c
KH
2322000-11-08 Kenichi Handa <handa@etl.go.jp>
233
234 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 235 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
236 division by two.
237
238 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
239
03391420
DL
2402000-11-07 Dave Love <fx@gnu.org>
241
7758f1c1 242 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
243
244 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
245
b5de343d
GM
2462000-11-07 Gerd Moellmann <gerd@gnu.org>
247
acad3c0b
GM
248 * window.c (Fset_window_configuration): Don't try to preserve
249 point in the current buffer, if that buffer is displayed in more
250 than one window.
251
b5de343d
GM
252 * xfaces.c (lookup_named_face): If default face isn't realized,
253 try to realize it. Return -1 if not successful.
254 (Fx_list_fonts): Handle case that face cannot be determined.
255 (Fface_font): Likewise.
256
cdb1fe49
GM
2572000-11-06 Gerd Moellmann <gerd@gnu.org>
258
259 * window.c (displayed_window_lines): Detect partially
260 visible lines at the bottom correctly.
261
d3a67486
SM
2622000-11-06 Stefan Monnier <monnier@cs.yale.edu>
263
264 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
265 when ensuring we don't do visit in indirect buffer.
266
ff8dd5d5
KH
2672000-11-06 Kenichi Handa <handa@etl.go.jp>
268
269 * composite.h (compose_chars_in_text): Add prototype.
270
271 * composite.c (Vcomposition_function_table): New variable.
272 (Qcomposition_function_table): New variable.
273 (run_composition_function): Call
274 Vcompose_chars_after_function with three arguments.
275 (compose_chars_in_text): New function.
276 (syms_of_composite): Modified the doc-string of
277 Vcompose_chars_after_function. Declare composition-function-table
278 as a lisp variable, and initialize it.
279
280 * xfns.c (x_encode_text): Suppress producing escape sequences for
281 composition.
282
283 * xselect.c: Include composite.h.
284 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
285
d1145f85
AI
2862000-11-05 Andrew Innes <andrewi@gnu.org>
287
288 * w32term.c (x_produce_glyphs): Fix typo in enum name.
289
290 * sysdep.c (read_input_waiting): Remove extraneous argument to
291 read_socket_hook.
292
293 * w32fns.c (Fx_server_version): Include w32_build_number in the
294 return list.
295
296 * w32heap.c (w32_build_number): New variable.
297 (cache_system_info): Set it.
298
299 * w32heap.h (w32_build_number): Add extern.
300
301 * emacs.c (syms_of_emacs): Update docstring for
302 system-configuration, to reflect the actual usage on MS-Windows.
303
e85ee976
GM
3042000-10-31 Gerd Moellmann <gerd@gnu.org>
305
26dcb81b
GM
306 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
307 process idle timers while waiting for another event.
308
0a894bad
GM
309 * dispnew.c (update_frame_line): Handle case where spaces in
310 the default face are colored.
311
e85ee976
GM
312 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
313 window height hasn't changed.
314
01b220b6
JR
3152000-10-31 Jason Rumney <jasonr@gnu.org>
316
317 * w32term.c (x_produce_glyphs): Handle composite characters.
318 (x_draw_glyph_string_foreground)
319 (x_draw_composite_glyph_string_foreground): Restore old font.
320
4e6b7204
MB
3212000-10-31 Miles Bader <miles@lsi.nec.co.jp>
322
323 * minibuf.c (read_minibuf): Reset the undo history just before
324 starting the recursive-edit.
325
d4358b37
GM
3262000-10-30 Gerd Moellmann <gerd@gnu.org>
327
563f68f1
GM
328 * xfaces.c (menu_face_change_count): New variable.
329 (Finternal_set_lisp_face_attribute): Increment it for changes
330 of the `menu' face.
331 (realize_basic_faces): Reflect changes in the `menu' faces
332 in menu bars.
333
82e274d1
GM
334 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
335 dy obtained from the iterator's y-position after moving from
336 scroll_margin_pos to PT; see comment there.
337
0dbf9fd2
GM
338 * xdisp.c (safe_eval_handler): Call add_to_log.
339
906b3b14
GM
340 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
341 is not a symbol or string.
342
d4358b37
GM
343 * xdisp.c (echo_area_display): Don't perform a display update from
344 inside redisplay. The update will happen anyway at the end of
345 redisplay, and it can confuse redisplay (GC messages while
346 redisplaying, for instance.)
347
70c825df
SM
3482000-10-30 Stefan Monnier <monnier@cs.yale.edu>
349
cf9b4b0b
SM
350 * xrdb.c (x_load_resources): Use the class name in the defaults.
351
70c825df
SM
352 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
353 (regex_compile): Catch bogus \(\1\).
354
a1d34b1e
GM
3552000-10-30 Gerd Moellmann <gerd@gnu.org>
356
cae71efe
GM
357 * xterm.c (x_alloc_nearest_color): Fix last change to compare
358 RGB values.
359
35efe0a1
GM
360 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
361 we have a color cache, check that the cached color equals the
362 allocated color. If not, clear the color cache.
363
1d3baf74
GM
364 * window.c (displayed_window_lines): Change buffers if necessary.
365 Fix computation of displayed lines.
366
a1d34b1e
GM
367 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
368 update_menu_bindings to DEFVAR_BOOL.
369
70737ea9
KH
3702000-10-30 Kenichi Handa <handa@etl.go.jp>
371
70c825df 372 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 373
fa0cb51d
KH
374 * puresize.h (BASE_PURESIZE): Increase to 680000.
375
70737ea9
KH
376 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
377
0e4c08e8
JR
3782000-10-29 Jason Rumney <jasonr@gnu.org>
379
380 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
381
382 * w32term.c (w32_bdf_per_char_metric): Negate descent.
383 (w32_cache_char_metrics): Handle possibility that 'x' does not
384 exist in a BDF font.
385 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
386
387 * w32bdf.h (bdffont): Add nchars.
388
389 * w32bdf.c (set_bdf_font_info): Set it.
390 (w32_BDF_TextOut): Swap byte order of double byte characters.
391 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
392
45b84006
EZ
3932000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
394
395 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
396 don't override the colors in frame's param_alist, unless they are
397 unspecified.
398
399 * term.c (reassert_line_highlight): If inverse_video is non-zero,
400 reverse the effect of the highlight flag.
401
caf9deee
KR
4022000-10-27 Ken Raeburn <raeburn@gnu.org>
403
404 * window.h (Fwindow_live_p): Declare.
405
ae0b9b46
KR
406 * undo.c (record_delete): Check that last_undo_buffer is really a
407 buffer before applying XBUFFER to it.
408
409 * keymap.c (where_is_internal): Pass lisp object, not integer, to
410 Faref.
411
02067692
SM
4122000-10-27 Stefan Monnier <monnier@cs.yale.edu>
413
414 * lisp.h (KEYMAPP): New macro.
415 (get_keymap): Remove.
416 (get_keymap_1): Rename get_keymap.
417
418 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
419
420 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
421
422 * xmenu.c (single_submenu): Use KEYMAPP.
423 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
424 Use KEYMAPP rather than Fkeymapp.
425
426 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
427
428 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
429 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
430 Use KEYMAPP rather than Fkeymapp.
431 (single_submenu): Use KEYMAPP.
432 (w32_menu_show, w32_dialog_show): Use TRUE.
433
434 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
435
436 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
437 (Fkeymapp): Use KEYMAPP.
438 (get_keymap): Rename from get_keymap_1. Remove old def.
439 Return t when autoload=0 and error=0 and the keymap needs autoloading.
440 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
441 (Fminor_mode_key_binding): Don't raise an error if the binding
442 is not a keymap.
443 (Fuse_global_map, Fuse_local_map): Allow autoloading.
444 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
445
446 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
447 Allow Vspecial_event_map to be autoloaded.
448 (menu_bar_items): Fetch the keymap rather than using keymapp.
449 (menu_bar_one_keymap): No need to follow func-indirect any more.
450 (parse_menu_item): get_keymap_1 -> get_keymap.
451 (tool_bar_items): Fetch the keymap rather than using keymapp.
452 (read_key_sequence): Use KEYMAPP.
453
454 * intervals.c (get_local_map): Use get_keymap rather than following
455 function-indirections explicitly.
456
457 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
458
f9d80af3
JR
4592000-10-27 Jason Rumney <jasonr@gnu.org>
460
461 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
462 point, as Windows has oversized fonts.
463
464 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
465
a3ba27da
GM
4662000-10-27 Gerd Moellmann <gerd@gnu.org>
467
468 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
469 (freehook, reallochook): Handle null pointer arguments.
470 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
471
aa3b80cc
SM
4722000-10-27 Stefan Monnier <monnier@cs.yale.edu>
473
474 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
475 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
476 Giving in to popular pressure to shut up the compiler with casts.
477
e24e84cc
GM
4782000-10-27 Gerd Moellmann <gerd@gnu.org>
479
480 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
481 signed value, and use a default value computed from the font's
482 maximum descent.
483
05ea7ef2
MB
4842000-10-27 Miles Bader <miles@lsi.nec.co.jp>
485
486 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
487 that specify a negative underline position can still use underlines.
488
489 * window.c (Fpos_visible_in_window_p): Make POS default to
490 WINDOW's point, not the current buffer's point.
491
0b95284b
DL
4922000-10-26 Dave Love <fx@gnu.org>
493
494 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
495 when it's necessary.
496
6c5b90af
GM
4972000-10-26 Gerd Moellmann <gerd@gnu.org>
498
8b6d9dc9
GM
499 * window.c (size_window): Compute size difference from sum of old
500 child window sizes instead of from parent's size.
501
6bc92b2e
GM
502 * xdisp.c (pos_visible_p): Change current buffer if necessary.
503 Handle obscured lines at the top of the window.
504
505 * frame.c (Fdelete_frame): Doc fix. Move running the hook
506 down after the last error condition check.
507
6c5b90af
GM
508 * frame.c (Fdelete_frame): Run delete-frame-hook.
509
42f92d4d
KH
5102000-10-26 Kenichi Handa <handa@etl.go.jp>
511
512 * coding.c (decode_coding): Fix previous change (check also
513 CODING_MODE_LAST_BLOCK).
514
d97151cb
SM
5152000-10-25 Stefan Monnier <monnier@cs.yale.edu>
516
e7efc503
SM
517 * regex.c: More `unsigned char' -> `re_char' changes.
518 Also change several `int' into `re_wchar_t'.
519 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
520 (PUSH_FAILURE_POINTER): Don't cast any more.
521 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
522 We want GCC to complain, since this piece of code makes
523 re_match non-reentrant, which *should* be fixed.
524 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
525 (EXTEND_BUFFER): Use RETALLOC.
526 (SET_LIST_BIT): Don't cast.
527 (re_wchar_t): New type.
528 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
529 that those two functions will always properly return.
530 (IMMEDIATE_QUIT_CHECK): Cast to void.
531 (analyse_first): Use recursion rather than an explicit stack.
532 (re_compile_fastmap): Can't fail anymore.
533 (re_search_2): Don't check re_compile_fastmap for failure.
534 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
535 Now also sets the new value (passed in a new argument).
536 (re_match_2_internal): Use it.
537 Also, use a new var `reg' of type size_t when looping through regs
538 rather than reuse the inappropriate `mcnt'.
539
d97151cb
SM
540 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
541 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
542 (where_is_internal): Renamed from Fwhere_is_internal.
543 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
544 (Fwhere_is_internal): New function wrapping where_is_internal.
545 (where_is_internal_1): Handle the case where we're filling the cache.
546 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
547
d5789b65
MB
5482000-10-25 Miles Bader <miles@gnu.org>
549
550 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
551
4ecda532
GM
5522000-10-25 Gerd Moellmann <gerd@gnu.org>
553
554 * window.c (pos_fully_visible_p): Removed.
555 (Fpos_visible_in_window_p): Use pos_visible_p to determine
556 if position is visible and/or fully visible.
557
558 * lisp.h (pos_visible_p): Add prototype.
559
560 * xdisp.c (pos_visible_p): New function.
561
68c3a137
KH
5622000-10-25 Kenichi Handa <handa@etl.go.jp>
563
564 * process.c (send_process): If OBJECT is t, it means that the data
565 is from C string, but we should encode it. Before calling
566 setup_raw_text_coding_system, be sure to flush out data by the
567 previous coding system.
568
7ae1c032
MB
5692000-10-25 Miles Bader <miles@lsi.nec.co.jp>
570
ff4dcd4b
MB
571 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
572 assignment of startpos to prev when startpos == pos.
573
7ae1c032
MB
574 * editfns.c (find_field): Set the field stickiness correctly from
575 overlay fields. Use renamed `text_property_stickiness'.
576 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 577 Only check text properties, not overlays.
7ae1c032
MB
578 * textprop.c (get_char_property_and_overlay): New function.
579 (Fget_char_property): Use it.
580 * intervals.h (get_char_property_and_overlay): Add declaration.
581
49801145
SM
5822000-10-25 Stefan Monnier <monnier@cs.yale.edu>
583
584 * keymap.c: Use AREF, ASET and ASIZE macros.
585 (Fmake_sparse_keymap): Docstring fix.
586 (synkey): Remove.
587 (shadow_lookup): Move up.
588 Handle the case where lookup-key returns an integer.
589 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
590 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
591 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
592 Simplify/rewrite the keymap-finding code.
593 Add check for command shadowing, using shadow_lookup.
594
39e776cd
SM
5952000-10-24 Stefan Monnier <monnier@cs.yale.edu>
596
597 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
598 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
599 a symbol.
600
2488aba5
AI
6012000-10-24 Andrew Innes <andrewi@gnu.org>
602
603 * dired.c (directory_files_internal_unwind): New function.
604 (directory_files_internal): Use it to ensure closedir is called
605 even if expand-file-name or file-attributes throw, eg. because of
606 a user interrupt. Also enable immediate_quit while calling
607 re_search, so that matching can be interrupted as well.
608
b94fdf61
AI
6092000-10-24 Andrew Innes <andrewi@gnu.org>
610
611 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
612 NT-Emacs only.
613 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
614 so that re_search functions only quit when callers expect them to.
615
6162000-10-24 Kenichi Handa <handa@etl.go.jp>
617
618 * regex.c (regex_compile): Change the way of handling a range from
619 a char less than 256 to a char not less than 256.
620
1946f901
GM
6212000-10-24 Gerd Moellmann <gerd@gnu.org>
622
7ae2f10f
GM
623 * window.c (size_window): Prevent setting window's width or
624 height to a negative value (esp. with XSETFASTINT).
625
5dcab13e
GM
626 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
627 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
628 (protect_malloc_state) [GC_MALLOC_CHECK &&
629 GC_PROTECT_MALLOC_STATE]: New function.
630 (PROTECT_MALLOC_STATE): New macro.
631 (__malloc_initialize, morecore, _malloc_internal)
632 (_free_internal) _realloc_internal): Use it to make _heapinfo
633 read-only outside of gmalloc.
634
63e1b552
GM
635 * keymap.c: Update copyright.
636
1946f901
GM
637 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
638 a symbol.
639
4fa09beb
GM
6402000-10-24 Colin Walters <walters@cis.ohio-state.edu>
641
642 * filelock.c (unlock_all_files): Use unlock_file to expand each
643 buffer's file_truename before trying remove its lock file.
644
23afac01
EZ
6452000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
646
647 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
648 or CRLF, decode EOLs.
649
04448b95
KH
6502000-10-24 Kenichi Handa <handa@etl.go.jp>
651
652 * window.c (Fdisplay_buffer): Fix doc.
653
3090a5a5
JR
6542000-10-23 Jason Rumney <jasonr@gnu.org>
655
656 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
657 ASCII font of default fontset on Windows.
658
659 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
660 xterm.c comment below).
661
662 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
663
a83fee2c
GM
6642000-10-23 Gerd Moellmann <gerd@gnu.org>
665
666 * xterm.c (x_connection_closed): Reset handling_signal.
667
668 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
669 null.
670
6ffdb539
MB
6712000-10-23 Miles Bader <miles@gnu.org>
672
673 * window.c (window_scroll_pixel_based, window_scroll_line_based):
674 Pass nil for FULLY argument to Fpos_visible_in_window_p to
675 maintain old behavior.
676 * minibuf.c (Fminibuffer_complete): Likewise.
677
7f1c969b
MB
6782000-10-23 Miles Bader <miles@lsi.nec.co.jp>
679
680 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
681 that when a font can't be exactly centered, it errs up rather than
682 down.
683
23afac01 6842000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
685
686 * fns.c (Fbase64_decode_string): The decoded result should be
687 unibyte.
688
1a578e9b
AC
6892000-10-23 Andrew Choi <akochoi@i-cable.com>
690
691 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
692
693 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 694 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
695
696 * emacs.c (main) [macintosh]: Call syms_of_textprop,
697 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
698 syms_of_search, x_term_init, and init_keyboard before calling
699 init_window_once. Also, call syms_of_xmenu.
700
701 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
702 default fontset to Monaco.
703
704 * frame.c [macintosh]: Include macterm.h. Remove declarations of
705 NewMacWindow and DisposeMacWindow.
706 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
707 instead of calling NewMacWindow and setting fields of
708 f->output_data.mac directly. Call init_frame_faces.
709 (Fdelete_frame) [macintosh]: Remove unused code.
710 (Fmodify_frame_parameters) [macintosh]: Call
711 x_set_frame_parameters instead of mac_set_frame_parameters.
712
713 * frame.h [macintosh]: Define menu_bar_lines field in struct
714 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
715
716 * keyboard.c [macintosh]: Include macterm.h.
717 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
718 and menu_bar_activate_event type events as for X and NT.
719 (make_lispy_event) [macintosh]: Construct lisp events of type
720 MENU_BAR_EVENT as for X and NT.
721
722 * sysdep.c [macintosh]: Remove declaration for sys_signal.
723 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
724 (sys_subshell) [macintosh]: Remove definition entirely.
725 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
726 Vwindow_system_version here. Remove initialization of
727 Vx_bitmap_file_path.
728 (read_input_waiting): Correct the number of parameters passed to
729 read_socket_hook.
730 Move all Macintosh functions to mac/mac.c.
731
732 * term.c [macintosh]: Include macterm.h.
733
734 * window.c [macintosh]: Include macterm.h.
735
736 * xdisp.c [macintosh]: Include macterm.h. Declare
737 set_frame_menubar and pending_menu_activation.
738 (echo_area_display) [macintosh]: Do not return if terminal frame
739 is the selected frame.
740 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
741 Allow only the selected frame to set menu bar.
742 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
743 calling FRAME_EXTERNAL_MENU_BAR (f).
744 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
745
746 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
747 and check_x. Declare XCreateGC. Define x_create_gc and
748 x_free_gc. Initialize font_sort_order.
749 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
750 but call x_list_fonts instead of w32_list_fonts.
751 (Finternal_face_x_get_resource) [macintosh]: Do not call
752 display_x_get_resource.
753 (prepare_face_for_display) [macintosh]: Set xgcv.font.
754 (realize_x_face) [macintosh]: Load the font if it is specified in
755 ATTRS.
756 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
757 to Qt.
758
1ffbabe3
SM
7592000-10-22 Stefan Monnier <monnier@cs.yale.edu>
760
761 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
762 is nil: since we go to the end of submap anyway, we'd end up
763 setting nil to nil.
764 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
765 doesn't obey autoload.
766
bed43f1d
EZ
7672000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
768
1ffbabe3 769 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 770
ea4233a7
JR
7712000-10-21 Jason Rumney <jasonr@gnu.org>
772
773 * w32term.c (w32_cache_char_metrics): Double check that font is
774 really fixed pitch before trusting tmPitchAndFamily.
775
f3d3c491
AI
7762000-10-21 Andrew Innes <andrewi@gnu.org>
777
778 * w32gui.h (w32_char_font_type): Move enum from w32term.c
779
780 * w32term.h: Extern decl for w32_cache_char_metrics.
781
782 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
783
784 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
785 (w32_unload_font): Free per_char array if present.
786
787 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
788 cached information in emulated XFontStruct to handle common cases
789 quickly. Do not allocate XCharStruct for return.
790 (w32_native_per_char_metric): New function.
791 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
792 allocating one.
793 (x_produce_glyphs): Don't get an HDC. Change calls to
794 w32_per_char_metric to match arg change above. Remove calls to
795 free results.
796 (w32_get_glyph_overhangs): Ditto.
797 (w32_cache_char_metrics): New function.
798
799 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
800 ($(BLD)/casefiddle.$(O)): Remove compile command.
801 ($(BLD)/gmalloc.$(O)): Remove compile command.
802 ($(BLD)/dispnew.obj):
803 ($(BLD)/keyboard.obj):
804 ($(BLD)/w32inevt.obj):
805 ($(BLD)/w32bdf.obj):
806 ($(BLD)/alloc.obj):
807 ($(BLD)/buffer.obj):
808 ($(BLD)/editfns.obj):
809 ($(BLD)/emacs.obj):
810 ($(BLD)/fileio.obj):
811 ($(BLD)/fns.obj):
812 ($(BLD)/indent.obj):
813 ($(BLD)/insdel.obj):
814 ($(BLD)/intervals.obj):
815 ($(BLD)/minibuf.obj):
816 ($(BLD)/print.obj):
817 ($(BLD)/scroll.obj):
818 ($(BLD)/sysdep.obj):
819 ($(BLD)/textprop.obj):
820 ($(BLD)/widget.obj):
821 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
822 ($(BLD)/term.obj): Add dependency on dispextern.h.
823
824 * makefile.nt ($(BLD)\dispnew.obj):
825 ($(BLD)\keyboard.obj):
826 ($(BLD)\w32inevt.obj):
827 ($(BLD)\w32bdf.obj):
828 ($(BLD)\alloc.obj):
829 ($(BLD)\buffer.obj):
830 ($(BLD)\editfns.obj):
831 ($(BLD)\emacs.obj):
832 ($(BLD)\fileio.obj):
833 ($(BLD)\fns.obj):
834 ($(BLD)\indent.obj):
835 ($(BLD)\insdel.obj):
836 ($(BLD)\intervals.obj):
837 ($(BLD)\minibuf.obj):
838 ($(BLD)\print.obj):
839 ($(BLD)\scroll.obj):
840 ($(BLD)\sysdep.obj):
841 ($(BLD)\textprop.obj):
842 ($(BLD)\widget.obj):
843 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
844 ($(BLD)\term.obj): Add dependency on dispextern.h
845
18ad4821
EZ
8462000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
847
848 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
849 with an additional argument of Qt.
850
de54681a
MB
8512000-10-21 Miles Bader <miles@gnu.org>
852
853 * window.c (pos_fully_visible_in_window_p): New function.
854 (Fpos_visible_in_window_p): Add FULLY argument.
855 Use pos_fully_visible_in_window_p.
856 (window_scroll_pixel_based, window_scroll_line_based): Update
857 calls to Fpos_visible_in_window_p.
858 * lisp.h (Fpos_visible_in_window_p): Update prototype
859
13c844fb
GM
8602000-10-20 Gerd Moellmann <gerd@gnu.org>
861
862 * alloc.c (toplevel): Conditionalize compilation of mem_*
863 functions differently.
864
d9506268
JR
8652000-10-20 Jason Rumney <jasonr@gnu.org>
866
867 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
868 mem_init where it used to be. mem_z etc not defined otherwise.
869
8094989b
GM
8702000-10-20 Gerd Moellmann <gerd@gnu.org>
871
872 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
873 GC_MALLOC_CHECK.
874 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
875 structure definition and related variabled to the top of the file.
876 Include this code when GC_MALLOC_CHECK is defined.
877 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
878 register/unregister allocated region.
879 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
880 which isn't allocated.
881 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
882 something which is already in use.
883 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
884 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
885 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
886 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
887
888 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
889 _malloc_internal instead of malloc.
890 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
891 of free.
892
ea456eb4
AI
8932000-10-20 Andrew Innes <andrewi@gnu.org>
894
895 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
896 Windows.
897 (my_strftime) <macro>: Don't use macro arg list when redefining as
898 _strftime_copytm.
899 (my_strftime) <function>: Supply 0 as ut argument.
900
e64c3a75
JR
9012000-10-19 Jason Rumney <jasonr@altavista.net>
902
903 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
904 including dispextern.h, as it stops faces from working.
905
906 * w32fns.c (Fx_create_frame): Don't bother calling
907 face-set-after-frame-default since the caller does it for us
908 anyway. Clean up calls to x_get_arg to be consistent with X.
909
910 * w32term.c (x_produce_glyphs): Handle
911 unibyte_display_via_language_environment correctly.
912 (w32_draw_box_rect): Fix the calculation of width and height.
913
914 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
915 as it has stopped working.
916 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
917 menu-bar.
918
17401c97
GM
9192000-10-19 Gerd Moellmann <gerd@gnu.org>
920
921 * eval.c (skip_debugger): Prevent a compiler warning.
922 (Fcondition_case): Likewise.
923 (Fbacktrace_frame): Use a null interactive spec.
924
773272d8
KH
9252000-10-19 Kenichi Handa <handa@etl.go.jp>
926
927 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
928
a42943e9
GM
9292000-10-18 Gerd Moellmann <gerd@gnu.org>
930
e50517d9
GM
931 * strftime.c: Sync with glibc, file version 1.78.
932 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
933 should no longer be used according to ISO 8601.
934
9035a35a
GM
935 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
936 no map for meta_prefix_char, don't try to use it as a keymap.
937 Instead, if T_OK is non-zero, look up a default binding, if any,
938 otherwise, if T_OK is zero, return nil.
939
a42943e9
GM
940 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
941 (x_to_xcolors, png_load): Use x_query_color.
942
943 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
944 functions.
945 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
946 which can be slow.
947 (x_copy_color, x_alloc_lighter_color): Likewise.
948
949 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
950 (x_query_color, x_query_colors): Add prototype.
951
952 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
953 check_string_bytes only if not noninteractive, increase count to 50.
954
00de2987
MB
9552000-10-18 Miles Bader <miles@lsi.nec.co.jp>
956
957 * insdel.c (adjust_markers_for_delete): Handle before-insertion
958 markers correctly.
959
54918e2b
GM
9602000-10-17 Gerd Moellmann <gerd@gnu.org>
961
1f0b3fd2
GM
962 * alloc.c (pure_bytes_used): Renamed from pureptr.
963 (ALIGN): New macro.
964 (pure_alloc): New function.
965 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
966 Use it.
967 (Fpurecopy): Use PURE_POINTER_P.
968
68c5d1db
GM
969 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
970 PT has moved backward.
971
9a038881
GM
972 * xdisp.c (cursor_row_p): Take continued lines into account.
973
361b097f
GM
974 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
975 string's size_byte.
976 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
977 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
978 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
979 string allocated.
980
54918e2b
GM
981 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
982 of selective display off while searching for the next line start.
983
03ed0806
KH
9842000-10-17 Kenichi Handa <handa@etl.go.jp>
985
986 * Makefile.in (term.o): Depend on dispextern.h.
987
7e05cdaf
SM
9882000-10-16 Stefan Monnier <monnier@cs.yale.edu>
989
990 * keymap.c (keymap_memberp): Ensure that nil is not a member.
991
a6801fd1
GM
9922000-10-16 Gerd Moellmann <gerd@gnu.org>
993
483de32b
GM
994 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
995 the iterator at the beginning, so that they can be set later on,
996 for instance in reseat_at_next_visible_line_start, without being
997 overwritten.
998
a6801fd1
GM
999 * xfns.c (pbm_format): Add :foreground and :background keywords.
1000 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 1001 (xbm_load): Recognize foreground and background color
a6801fd1
GM
1002 specifications.
1003
dbf1fcc1
EZ
10042000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
1005
1006 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
1007
1008 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
1009 declaration.
1010
1011 * msdos.c (IT_set_face): Compare highlighted face with the default
1012 face, and invert colors if these faces' colors are identical.
1013 (Fmsdos_remember_default_colors): Don't swap foreground and
1014 background colors in initial_colors[].
1015 (IT_set_frame_parameters): Don't swap frame's foreground and
1016 background pixels. If ALIST includes "(reverse . t)", swap
1017 foreground-color and background-color properties in frame's
1018 param_alist. If the original frame's param_alist doesn't specify
1019 the colors, store unspecified-fg and unspecified-bg, reversed if
1020 required.
1021
1022 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
1023 the colors are unspecified and reversed, reverse fore- and back-
1024 ground in the returned value.
1025 (Fframe_parameter): Ditto.
1026
b41fe2c3
GM
10272000-10-16 Gerd Moellmann <gerd@gnu.org>
1028
3a6b59d9
GM
1029 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
1030 get_last_unchanged_at_beg_row.
1031 (find_first_unchanged_at_end_row): Renamed from
1032 get_first_unchanged_at_end_row.
1033 (find_first_unchanged_at_end_row): Convert assertions to
1034 unconditional tests which abort. When looking for a row in
1035 unchanged text, don't go further back than first_text_row.
1036
b41fe2c3
GM
1037 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
1038 Don't add in the last line's height when deciding if the new
1039 position is below the scroll margin.
9d1af64f 1040
b41fe2c3 10412000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
1042
1043 * editfns.c (Fconstrain_to_field): Check carefully for field
1044 boundaries if either OLD_POS or NEW_POS has a non-nil field
1045 property, even if they're the same.
1046
c412cb7b
KH
10472000-10-16 Kenichi Handa <handa@etl.go.jp>
1048
1049 * xterm.c (x_draw_box_rect): Fix the calculation of width and
1050 height for XFillRectangle.
1051
5586f3eb
SM
10522000-10-15 Stefan Monnier <monnier@cs.yale.edu>
1053
1054 * syntax.c (Fstring_to_syntax): New function extracted from
1055 Fmodify_syntax_entry.
1056 (Fmodify_syntax_entry): Use it and document the ! and | fences.
1057 (skip_chars, Fforward_comment): Remove unused variables.
1058 (syms_of_syntax): Add defsubr for string-to-syntax.
1059 (describe_syntax): Add code for comment and string fences.
1060
db785038
SM
10612000-10-14 Stefan Monnier <monnier@cs.yale.edu>
1062
1063 * keymap.c (access_keymap): Add AUTOLOAD parameter.
1064 Do the meta->esc mapping. Call get_keyelt before returning.
1065 Start scanning from the second element (the first is always `keymap')
1066 to make it easier to detect when we reach a parent map.
1067 Handle the case of inheriting from a symbol whose function is a map.
1068 (Fkeymap_parent): Also handle the `inherit from symbol' case.
1069 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
1070 (get_keyelt, Flookup_key): Update call to access_keymap.
1071 Remove the meta->esc mappings.
1072 (define_as_prefix): Delete old disabled code.
1073 (menu_item_p): New function.
1074 (where_is_internal_1): Skip over the few remaining menu items.
1075 * lisp.h (access_keymap): Update prototype.
1076 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
1077 Update call to access_keymap.
1078 (follow_key, read_key_sequence): Update calls to access_keymap.
1079 Remove the meta->esc mappings.
1080
cafafe0b
GM
10812000-10-13 Gerd Moellmann <gerd@gnu.org>
1082
a2e2a7f6
GM
1083 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
1084 with additional argument.
1085
cafafe0b
GM
1086 * xdisp.c (cursor_row_p): New function.
1087 (try_cursor_movement, display_line): Use it.
1088
1089 * xdisp.c (append_space): Also save/restore iterator's current
1090 character and its length.
1091
1092 * xdisp.c (init_from_display_pos): Add an assertion.
1093 (handle_stop): Don't set iterator's add_overlay_start.
1094 (handle_invisible_prop): Likewise.
1095 (load_overlay_strings): If text under an overlay is invisible,
1096 take both before- and after-strings into account when the iterator
1097 is positioned either at the start or at the end of the overlay.
1098 (forward_to_next_line_start): Rewritten.
1099 (reseat_at_next_visible_line_start): Rewritten.
1100 (set_iterator_to_next): Add parameter RESEAT_P.
1101
1102 * dispextern.h (struct it): Remove member add_overlay_start.
1103 (set_iterator_to_next): Change prototype.
1104
c744452b
KH
11052000-10-13 Kenichi Handa <handa@etl.go.jp>
1106
1107 * coding.c (code_convert_region): Be sure to initialize
1108 coding->category_idx.
e4a3f4e1
KH
1109 (decode_coding_string): Set coding->src_multibyte and
1110 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
1111 (encode_coding_string): Set coding->src_multibyte and
1112 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 1113
321fd26f
SM
11142000-10-12 Stefan Monnier <monnier@cs.yale.edu>
1115
1116 * xfns.c (Fx_create_frame): Don't bother calling
1117 face-set-after-frame-default since the caller does it for us anyway.
1118
76832439
EZ
11192000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1120
1121 * window.c (coordinates_in_window): Fix detection of vertical line
1122 on character terminals.
1123
2483cf58
GM
11242000-10-12 Gerd Moellmann <gerd@gnu.org>
1125
1126 * editfns.c (save_excursion_save): Additionally record the
1127 selected window.
1128 (save_excursion_restore): If buffer was visible in a window, and a
1129 different window was selected, and the old selected window is
1130 still live, restore point in that window.
1131
eb991b25
KH
11322000-10-12 Kenichi Handa <handa@etl.go.jp>
1133
8a0eba09
KH
1134 * xterm.c (x_produce_glyphs): Handle
1135 unibyte_display_via_language_environment correctly.
1136
20401fcc
KH
1137 * regex.c (regex_compile): Change the way of handling a range from
1138 unibyte char to multibyte char.
1139
1140 * syntax.c (skip_chars): Change the way of handling a range from
1141 unibyte char to multibyte char.
1142
eb991b25
KH
1143 * process.c (read_process_output): Cancel previous change.
1144
365dd325
EZ
11452000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
1146
c1b096cb
EZ
1147 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
1148
365dd325
EZ
1149 * charset.c (Ffind_charset_string): Doc fix.
1150 (Ffind_charset_region): Doc fix.
1151
eb483c2b
KH
11522000-10-11 Kenichi Handa <handa@mule.m17n.org>
1153
1154 * process.c (read_process_output): Fix previous change. Adjust
1155 multibyteness of text to insert in a buffer by
df3c11b9 1156 string_make_unibyte/multibyte instead of
eb483c2b
KH
1157 Fstring_as_unibyte/multibyte.
1158
b40bfb99
AS
11592000-10-10 Andreas Schwab <schwab@suse.de>
1160
1161 * alloc.c (mark_object): Remove all workarounds installed on
1162 1993-08-08.
1163
caff31d4
KH
11642000-10-10 Kenichi Handa <handa@etl.go.jp>
1165
1166 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
1167 returning.
1168 (base64_encode_1): Make it work for a text of multibyte form.
1169 (Fbase64_decode_region): Allocate sufficient memory for multibyte
1170 case. Don't call str_to_multibyte because base64_decode_1
1171 produces correct multibyte form for eight-bit codes.
1172 (Fbase64_decode_string): Adjusted for the change of
1173 base64_decode_1.
1174 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
1175 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
1176 codes.
1177
1178 * charset.h (CHAR_STRING): Optimized for single byte characters.
1179
cba026ef
AS
11802000-10-09 Andreas Schwab <schwab@suse.de>
1181
1182 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
1183 -1 after socket is closed, to fall through to error processing.
1184
1e21fe48
EZ
11852000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
1186
1187 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 1188 variables. If ALIST includes foreground-color or
1e21fe48
EZ
1189 background-color, change also the colors of the default face for
1190 this frame.
1191
a640322e
EZ
11922000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1193
1194 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
1195 them extern (they are defined on xfaces.c).
1196 (syms_of_msdos): Don't intern and don't staticpro
1197 Qbackground_color and Qforeground_color.
1198
a115794c
EZ
11992000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
1200
1201 * frame.c (Fframe_parameter): For non-windowed frames, if
1202 f->param_alist says foreground or background color is unspecified,
1203 call tty_color_name to return the color name computed from the
1204 frame's current colors.
1205
f5533b63
DL
12062000-10-06 Dave Love <fx@gnu.org>
1207
1208 * terminfo.c (ospeed): Don't declare.
1209
1210 * sysdep.c: Don't include string.h.
1211 (h_errno): Declare conditional also on TRY_AGAIN.
1212
1213 * charset.c (Ffind_charset_string): Doc fix.
1214
1215 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
1216 (Fbase64_decode_region, Fbase64_decode_string): More explicit
1217 error messages.
1218
2b06561a
DL
12192000-10-05 Dave Love <fx@gnu.org>
1220
1221 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
1222 position like menu-bar.
1223
ca839c85
GM
12242000-10-05 Gerd Moellmann <gerd@gnu.org>
1225
1226 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
1227
1228 * xdisp.c (handle_single_display_prop): Use safe_call1.
1229 (safe_call): Renamed from call_function.
1230 (safe_call1): New function.
1231 (handle_fontified_prop): Use safe_call1 instead of call1.
1232 (safe_eval): Renamed from eval_form.
1233 (safe_eval_handler): Renamed from eval_handler.
1234 (handle_single_display_prop, display_mode_element): Use safe_eval
1235 instead of eval_form.
1236
1237 * xfaces.c (merge_face_heights): Use safe_call instead of
1238 call_function.
1239
1240 * keyboard.c (show_help_echo): Use safe_call instead of
1241 call_function; use safe_eval instead of eval_form.
1242
1243 * lisp.h (safe_call): Renamed from call_function.
1244 (safe_eval): Renamed from eval_form.
1245 (safe_call1): Add prototype.
1246
a3489ece
MB
12472000-10-05 Miles Bader <miles@lsi.nec.co.jp>
1248
1249 * xfns.c (image_ascent): Rearrange ascent calculation for the
1250 has-a-font case.
1251
35810b6f
SM
12522000-10-04 Stefan Monnier <monnier@cs.yale.edu>
1253
1254 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
1255 (where_is_internal_1): Don't bother ignoring menu-items any more.
1256
3dc78168
GM
12572000-10-04 Gerd Moellmann <gerd@gnu.org>
1258
1259 * keyboard.c (update_menu_bindings): New variable.
1260 (parse_menu_item): Use AREF. If update_menu_bindings
1261 is 0, don't update menu bindings.
1262 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
1263
1efc2bb9
EZ
12642000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
1265
1266 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
1267 to `mark_object'.
1268
3f679f55
SM
12692000-10-02 Stefan Monnier <monnier@cs.yale.edu>
1270
1271 * syntax.c (forw_comment): Match nestedness of ender/starter.
1272 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
1273 (prev_char_comstart_first): Remove.
1274 (back_comment): Check two-char comment markers more carefully
1275 to better handle overlapping cases like *//* or /* */* */ ...
1276 Match nestedness of ender/starter.
1277
2021ab61
DL
12782000-10-02 Dave Love <fx@gnu.org>
1279
1280 * config.in (HAVE_GAI_STRERROR): Add undef.
1281
1282 * process.c (Fopen_network_stream): Use it.
1283
1284 * m/alpha.h (NO_REMAP): Don't define.
1285
64e6cc18
GM
12862000-10-02 Gerd Moellmann <gerd@gnu.org>
1287
1288 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
1289 return with a string converted to an integer or vice versa when
1290 Vmocklisp_arguments is t.
1291 (Fsignal): Likewise. The function can return for `quit'.
1292 (struct gcpro): Declare member `var' to point to a volatile
1293 Lisp_Object.
1294
1295 * eval.c (error): Prevent compiler warning.
1296
b1904cd9
SM
12972000-09-30 Stefan Monnier <monnier@cs.yale.edu>
1298
1299 * keymap.c (keymap_memberp): New function.
1300 (Fset_keymap_parent): Use it.
1301 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
1302 Use keymap_memberp to avoid creating cycles.
1303 (access_keymap): Use KEYMAPP.
1304
71c9ec51
GM
13052000-09-30 Gerd Moellmann <gerd@gnu.org>
1306
1307 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
1308 gai_strerror. Make sure xerrno is set if connect fails. Improve
1309 error recovery.
71c9ec51 1310
c70c6b58
JR
13112000-09-29 Jason Rumney <jasonr@gnu.org>
1312
1313 * w32term.c (w32_char_font_type, w32_encode_char)
1314 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
1315 (w32_bdf_per_char_metric): New function.
1316 (w32_per_char_metric): Use it.
1317 (x_draw_glyph_string_background): Always draw background for BDF
1318 glyphs.
1319
1320 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
1321 GDI object which is a scarce resource.
1322
1323 * w32bdf.c (search_file_line): Fix skipping of whitespace.
1324 (get_quoted_string): Fix limit on memchr search.
1325 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
1326 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
1327 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
1328 (get_cached_font_char, cache_char_offset): Use macro
1329 BDF_CODEPOINT_RANGE_COVER_P.
1330 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
1331 (clear_cached_bitmap_slots): New function.
1332 (GET_HEX_VALUE): G-Z, g-z are not hex.
1333 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
1334 (get_bitmap_with_cache): Use new cache implementation.
1335 (create_offscreen_bitmap): New function.
1336 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
1337
1338 * w32term.c (x_produce_glyphs): If the distance from the current
1339 position to the next tab stop is less than a canonical character
1340 width, use the tab stop after that.
1341 (x_draw_glyphs): Handle case START and END are out of bounds more
1342 carefully.
1343 (x_clear_mouse_face): Block/unblock input.
1344 (x_display_and_set_cursor): Don't show a hollow box cursor for
1345 buffers whose cursor_type is nil.
1346
fe01239f
GM
13472000-09-29 Gerd Moellmann <gerd@gnu.org>
1348
1349 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
1350 disappears.
1351
1352 * dispextern.h (updating_frame): Declare extern.
1353
e7c52f1f
AS
13542000-09-29 Andreas Schwab <schwab@suse.de>
1355
1356 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
1357
de6e1f7c
GM
13582000-09-29 Gerd Moellmann <gerd@gnu.org>
1359
25126faa
GM
1360 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
1361 use its function definition.
1362 (tool_bar_items): Likewise.
1363
de6e1f7c
GM
1364 * lisp.h (fatal): Declare NO_RETURN.
1365
454ee39b
KH
13662000-09-29 Kenichi Handa <handa@etl.go.jp>
1367
1368 * keymap.c: Remove the line "#undef NULL".
1369
96301c5f
GM
13702000-09-28 Gerd Moellmann <gerd@gnu.org>
1371
1372 * xterm.c (x_make_frame_visible): Try harder to make the frame
1373 visible.
1374
efffeeb4
DL
13752000-09-28 Dave Love <fx@gnu.org>
1376
ecb8b666
DL
1377 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
1378
dc3cd20f
DL
1379 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
1380
1381 * .gdbinit (xreload): Note its need on GNU/Linux.
1382
efffeeb4
DL
1383 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
1384 r_alloc, r_alloc_free.
1385
8610d903
KH
13862000-09-28 Kenichi Handa <handa@etl.go.jp>
1387
1388 * syntax.c (skip_chars): Handle negation correctly.
1389
8901d1ac
GM
13902000-09-27 Gerd Moellmann <gerd@gnu.org>
1391
6f22f1ad
GM
1392 * xfaces.c (realize_default_face): Call set_lface_from_font_name
1393 with non-zero FORCE_P argument.
1394
8901d1ac
GM
1395 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
1396 Add assertions.
1397
1398 * xdisp.c (window_box_height): Add an assertion.
1399
1400 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
1401 tool-bar than is available.
1402 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
1403
36f1966f
DL
14042000-09-27 Dave Love <fx@gnu.org>
1405
efffeeb4 1406 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 1407
31d929e5
GM
14082000-09-26 Gerd Moellmann <gerd@gnu.org>
1409
c98863bf
GM
1410 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
1411 instead of BITS_PER_INT.
1412 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
1413 EMACS_UINT, respectively.
1414 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
1415
1416 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
1417
1418 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
1419
77072ab1
GM
1420 * window.c (freeze_window_starts): Construct last argument for
1421 foreach_window differently.
1422
1423 * xfns.c (x_decode_color): Don't return a Lisp_Object.
1424
1425 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
1426 EMACS_UINT instead of `int' and `unsigned int'.
1427 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
1428
1429 * frame.h (struct frame): Make the `nothing' member of union
1430 output_data an EMACS_INT.
1431
31d929e5
GM
1432 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
1433 hunting.
1434 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
1435 size in the sdata structure.
1436 (SDATA_NBYTES, SDATA_DATA): New macros.
1437 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
1438 differently for the different layout of the sdata structure.
1439 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
1440 in sdata.
1441 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
1442 Check that size recorded in the string size and size recorded in
1443 the sdata structure agree.
1444
3e60b029
DL
14452000-09-25 Dave Love <fx@gnu.org>
1446
1447 * buffer.c: Include stdio.h.
1448
1449 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
1450
1451 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
1452
1453 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
1454 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
1455 size_t.
1456 (__malloc_extra_blocks): Declare as __malloc_size_t.
1457
8ff16b4e
GM
14582000-09-25 Gerd Moellmann <gerd@gnu.org>
1459
755a2ccd
GM
1460 * alloc.c (mark_image): Use GC_NILP instead of NILP.
1461
d8b4516f
GM
1462 * keyboard.c (show_help_echo): Set help_echo_showing_p.
1463 (read_char): If help-echo is showing, preserve the echo area
1464 when redisplaying.
1465
1466 * xdisp.c (help_echo_showing_p): New variable.
1467 (set_message): Reset it to 0.
1468 (init_xdisp): Initialize help_echo_showing_p.
1469
1470 * dispextern.h (help_echo_showing_p): Declare extern.
1471
1472 * config.in: Fix typo in __GNUC_MINOR__.
1473
1474 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
1475
b11af2dd
GM
1476 * s/freebsd.h (POSIX_SIGNALS): Define.
1477
8ff16b4e
GM
1478 * xterm.c (x_clear_mouse_face): Block/unblock input.
1479
844eb643
DL
14802000-09-24 Dave Love <fx@gnu.org>
1481
1482 * fns.c (base64_encode_1): Fix last change.
1483
b30ab1b3
GM
14842000-09-22 Gerd Moellmann <gerd@gnu.org>
1485
1486 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
1487
1488 * xdisp.c (try_window_reusing_current_matrix): More fixes
1489 for the case window has a header-line.
1490
c6cbe5f0
DL
14912000-09-22 Dave Love <fx@gnu.org>
1492
4c7c1f3f
DL
1493 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
1494 a doc string.
1495
1496 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
1497
c6cbe5f0
DL
1498 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
1499
550a625e
GM
15002000-09-21 Gerd Moellmann <gerd@gnu.org>
1501
4c7c1f3f 1502 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
1503 for GCC >= 2.5.
1504
1505 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
1506 NO_RETURN.
1507
80d26f99
GM
1508 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
1509 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
1510 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
1511 warnings.
1512
1513 * marker.c (byte_char_debug_check): Return void.
1514
623a0aae
GM
1515 * xfns.c (Fx_create_frame): Set default frame parameter value
1516 for tool-bar-lines to 1.
1517
1518 * dispnew.c (scrolling_window): Compare y-positions of rows
1519 equal at the start. Some simplification.
1520
1521 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
1522 reused rows' y-position in the case window has a header-line, and
1523 new window start is greater than old window start.
1524
42ac0ae5
GM
1525 * process.c (process_sent_to): New variable.
1526 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
1527 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
1528 Declare more parameters volatile.
1529
550a625e
GM
1530 * lread.c (Vrecursive_load_depth_limit): New variable.
1531 (Fload): Check recursive loads whose recursion depth exceeds
1532 Vrecursive_load_depth_limit.
1533 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
1534
8320414c
GM
15352000-09-20 Gerd Moellmann <gerd@gnu.org>
1536
f46c275e
GM
1537 * fileio.c (Fread_file_name): Doc fix.
1538
1539 * editfns.c (Fmessage_or_box): Doc fix.
1540
1541 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
1542
b7e11c5b
GM
1543 * xfns.c (xbm_scan): Allow C-style comments.
1544
8320414c
GM
1545 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
1546 symbols are specified, add color translations to the cache.
1547 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
1548 functions.
1549 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
1550 xpm_cache_color.
1551 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
1552 structures to xpm_init_color_cache.
1553
da1608d9
GM
15542000-09-19 Gerd Moellmann <gerd@gnu.org>
1555
1556 * dispnew.c (update_window_line): Make sure to always draw
1557 mode-lines.
1558
6badfa25
AI
15592000-09-19 Andrew Innes <andrewi@gnu.org>
1560
1561 * makefile.nt (bootstrap-emacs): Don't change directory.
1562
3a5f42bb
KH
15632000-09-19 Kenichi Handa <handa@etl.go.jp>
1564
1b7649bd
KH
1565 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
1566
3a5f42bb
KH
1567 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
1568 If output buffer is too small, signal an appropriated error.
1569
9f83cf0b
DL
15702000-09-18 Dave Love <fx@gnu.org>
1571
1572 * keyboard.c (menu_bar_items, tool_bar_items)
1573 (current_active_maps): Remove redundant get_local_map call.
1574
28c7826c
GM
15752000-09-18 Gerd Moellmann <gerd@gnu.org>
1576
5cefa566
GM
1577 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
1578 cursor for buffers whose cursor_type is nil.
1579
6fed3546
GM
1580 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
1581 a feature to implement that is already implemented.
1582 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
1583 warnings.
1584
1585 * xfns.c (x_clear_image_1): New function.
1586 (x_clear_image): Use it.
1587 (x_from_xcolors): Use x_clear_image_1; don't free the image's
1588 mask.
1589
05b1f851
GM
1590 * dispnew.c (update_window): Move test for invisible lines
1591 at the top to update_window_line.
1592 (update_window_line): Handle invisible lines here.
1593
f4779de9
GM
1594 * xfns.c (clear_image_cache): Clear current matrices of all
1595 frames sharing an image cache. Block input while freeing
1596 images. Fix timestamp comparison.
1597 (x_clear_image): Also free the mask.
1598
28c7826c
GM
1599 * xfns.c (lookup_image): Block input while loading the image so
1600 that we won't get interrupted in a state where the image isn't yet
1601 set up completely.
1602 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
1603 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
1604 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
1605 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
1606 input.
1607
b7412313
GM
16082000-09-16 Gerd Moellmann <gerd@gnu.org>
1609
1610 * dispnew.c (update_window): Make sure to make desired rows
1611 current even if they are completely invisible at the top
1612 of a window.
1613
47e351a3
GM
16142000-09-15 Gerd Moellmann <gerd@gnu.org>
1615
7f8f1edc
GM
1616 * xfns.c (lookup_image): Build mask before applying an algorithm.
1617 Recognize algorithm `disabled'.
1618 (cross_disabled_images): New variable.
1619 (COLOR_INTENSITY): New macro.
1620 (x_detect_edges): Use COLOR_INTENSITY.
1621 (x_disable_image): New function.
1622 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
1623
1624 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
1625 disabled state, don't apply an image transformation algorithm if
1626 the user specified an image for the disabled state. Use
28c7826c 1627 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
1628 user hasn't specified an image.
1629
ebb8f116
GM
1630 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
1631 allocation functions with the XPM lib.
1632 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
1633 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
1634 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
1635 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
1636 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
1637 functions.
1638 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
1639 functions, if possible, because these handle color allocation
1640 failure more gracefully.
1641 (Fimage_mask_p): New function.
1642
47e351a3
GM
1643 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
1644 (Qedge_detection, Qheuristic): New symbols.
1645 (syms_of_xfns): Initialize new symbols.
1646 (lookup_image): Handle `:mask X', `:algorithm emboss', and
1647 `algorithm (edge-detection ...)'.
1648 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
1649 (tiff_format, gif_format, gs_format): Add `:mask'.
1650 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
1651 (GIF_MASK, GS_MASK): New enumerators.
1652 (x_laplace_read_row, x_laplace_write_row): Functions removed.
1653 (emboss_matrix, laplace_matrix): New variables.
1654 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
1655 (x_edge_detection): New functions.
1656 (x_laplace): Rewritten in terms of x_detect_edges.
1657 (x_build_heuristic_mask): If image has a mask, free it.
1658
fe83b953
AI
16592000-09-14 Andrew Innes <andrewi@gnu.org>
1660
1661 * makefile.w32-in: Revert to Unix line endings.
1662
3021e816
AI
16632000-09-14 Andrew Innes <andrewi@gnu.org>
1664
1665 * makefile.w32-in: Standardize indentation somewhat.
1666 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
1667 cater for differences between shells.
1668
1669 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
1670
2a32b5ea
GM
16712000-09-14 Gerd Moellmann <gerd@gnu.org>
1672
1673 * xterm.c (x_produce_glyphs): If the distance from the current
1674 position to the next tab stop is less than a canonical character
1675 width, use the tab stop after that.
1676
b4331e96
DL
16772000-09-14 Dave Love <fx@gnu.org>
1678
1679 * buffer.c (alloc_buffer_text): Fix xmalloc call.
1680
ef9e4345
GM
16812000-09-14 Gerd Moellmann <gerd@gnu.org>
1682
085536c2
GM
1683 * xdisp.c (handle_fontified_prop): While running fontification
1684 functions, bind `fontification-functions' and
1685 `after-change-functions' to nil.
1686
ef9e4345
GM
1687 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
1688 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
1689
1690 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
1691
1692 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
1693 USE_MMAP_FOR_BUFFERS.
1694
1695 * insdel.c (make_gap): Use enlarge_buffer_text.
1696
1697 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
1698 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
1699 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
1700 from former r_alloc_* functions in ralloc.c.
1701 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
1702 variables.
1703 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
1704 (mmap_init) [REL_ALLOC_MMAP]: New function.
1705 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
1706 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
1707 BUFFER_FREE.
1708
1709 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
1710 (enlarge_buffer_text): Add prototype.
1711
1712 * ralloc.c: Remove everything having to do with the use of mmap.
1713
f8608968
GM
17142000-09-13 Gerd Moellmann <gerd@gnu.org>
1715
2a494b2d
GM
1716 * sound.c (Fplay_sound): Doc fix.
1717
8c907a56
GM
1718 * keyboard.c: Avoid some more compiler warnings.
1719 (parse_tool_bar_item): Ignore cached key bindings.
1720
f8608968
GM
1721 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
1722 and allocation of Lisp data.
1723
6ab70e9a
GM
17242000-09-12 Gerd Moellmann <gerd@gnu.org>
1725
d12d0a9b
GM
1726 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
1727 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
1728 defaults first.
1729
6ab70e9a
GM
1730 * lread.c (Fload): Put code checking for recursive loads in #if 0.
1731
63c36c3c
KH
17322000-09-12 Miyashita Hisashi <himi@meadowy.org>
1733
1734 * ccl.c: Comment fixed.
1735 (MAX_MAP_SET_LEVEL): Increased to 30.
1736 (PUSH_MAPPING_STACK): Enclose with do-while block.
1737 (POP_MAPPING_STACK): Likewise.
1738 (stack_idx_of_map_multiple): New variable.
1739 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
1740 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
1741 call the corresponding CCL program by
1742 CCL_CALL_FOR_MAP_INSTRUCTION.
1743 (ccl_driver) <CCL_MapSingle>: Likewise.
1744 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
1745 with the case where looking up process reaches to the end of
1746 map-set, and call CCL programs as the above change.
1747
7ee3bd7b
GM
17482000-09-11 Gerd Moellmann <gerd@gnu.org>
1749
8ec8a5ec
GM
1750 * xfns.c (png_load, jpeg_load): Declare some variables volatile
1751 that might be clobbered by longjmp.
1752 (check_x_display_info, x_decode_color, create_frame_xic)
1753 (Fx_display_backing_store, Fx_display_visual_class)
1754 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
1755 warnings.
1756
f74b0705
GM
1757 * lread.c (init_lread): Set Vloads_in_progress to nil.
1758 (Fload): Show list of recursively loaded files, when signaling an
1759 error.
1760
7ee3bd7b
GM
1761 * lread.c (Vloads_in_progress): New variable.
1762 (record_load_unwind): New function.
1763 (Fload): Check for recursive loads.
1764 (syms_of_lread): Initialize Vloads_in_progress.
1765 (read_integer, read1): Avoid some compiler warnings.
1766
1767 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
1768 compiler warnings.
1769
974e1e5b
MB
17702000-09-11 Miles Bader <miles@gnu.org>
1771
1772 * editfns.c (Fbuffer_string): Doc fix.
1773
9824c4e3
GM
17742000-09-10 Gerd Moellmann <gerd@gnu.org>
1775
1776 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
1777
6a72fdd1
KR
17782000-09-09 Ken Raeburn <raeburn@gnu.org>
1779
1780 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
1781 whether to include other header files.
1782
28e6fb66
GM
17832000-09-09 Gerd Moellmann <gerd@gnu.org>
1784
1785 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 1786 by Fmemq as a boolean.
28e6fb66 1787
7f8b6551
SM
17882000-09-08 Stefan Monnier <monnier@cs.yale.edu>
1789
1790 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
1791
a8710abf
GM
17922000-09-08 Gerd Moellmann <gerd@gnu.org>
1793
d1a02881
GM
1794 * ralloc.c (mmap_fd): Remove initializer which can make it
1795 read-only in a dumped Emacs.
1796 (mmap_fd_1): New variable.
1797 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
1798 restore it from there.
1799 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
1800 unconditionally so that mmap_fd can be initialized there.
1801 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
1802 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
1803 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
1804
c454aac1
GM
1805 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
1806
1807 * xdisp.c (dump_glyph_row): Fix printf format string.
1808 (display_line, move_it_in_display_line_to): Avoid compiler
1809 warnings.
1810
fc653ef2
GM
1811 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
1812
3015eec0
GM
1813 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
1814 inheritance.
1815
bfe0ee88
GM
1816 * xdisp.c (try_window_id): When trying to locate cursor in
1817 unchanged rows at the top, handle the case that we can't find it.
1818
a8710abf
GM
1819 * xterm.c (x_draw_glyphs): Handle case START and END are out
1820 of bounds more carefully.
1821
6b7d4ae4
DL
18222000-09-08 Dave Love <fx@gnu.org>
1823
423193c5
DL
1824 * s/sol2.h (REL_ALLOC_MMAP): Define.
1825 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
1826
1827 * ralloc.c: Don't include string.h (redundant).
1828 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
1829 [!MAP_ANON]: Include fcntl.h.
1830 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
1831 (r_alloc, r_re_alloc, r_alloc_free)
1832 (mmap_enlarge, mmap_set_vars): Use it.
1833 (r_alloc_init_fd): New function.
1834 (__morecore) [SYSTEM_MALLOC]: Don't declare.
1835 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
1836 malloc type.
1837
1838 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
1839 Remove vm-limit.o.
1840
6b7d4ae4
DL
1841 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
1842 change to __NetBSD__.
1843
44d31981
KH
18442000-09-08 Kenichi Handa <handa@etl.go.jp>
1845
1846 * search.c (compile_pattern): Check the multibyteness of cached
1847 string and PATTERN.
1848
aad40737
MB
18492000-09-08 Miles Bader <miles@gnu.org>
1850
1851 * xfaces.c (default_face_vector): Function removed.
1852 (Finternal_merge_in_global_face): Restore old global/local
1853 attribute override order. Use inline loop instead of calling
1854 default_face_vector.
1855
91a211b5
GM
18562000-09-07 Gerd Moellmann <gerd@gnu.org>
1857
1858 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
1859 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
1860 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
1861 where necessary, in case POINTER_TYPE is `void'.
1862
03419440
EZ
18632000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
1864
1865 * frame.c (make_terminal_frame): Initialize frame foreground and
1866 background colors to unspecified, for the initial instance of an
1867 MSDOS frame.
1868
f46f845b
GM
18692000-09-07 Gerd Moellmann <gerd@gnu.org>
1870
24f76fbf
GM
1871 * ralloc.c (mmap_find): Fix overlap computation.
1872 (mmap_enlarge): Compute nbytes before trying to find an
1873 overlapping region.
1874
f46f845b
GM
1875 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
1876 instead of `!='.
1877
1878 * lread.c (syms_of_lread): Change value of regexp
1879 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
1880
1881 * xmenu.c (xdialog_show): When looking up the selection in
1882 menu_items, take `quote' boundaries into account; this corresponds
1883 to a nil ITEM in x-popup-dialog.
1884
3c014385
KH
18852000-09-07 Kenichi Handa <handa@etl.go.jp>
1886
fd6f711b
KH
1887 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
1888 not 0x81.
1889 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
1890
3c014385 1891 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
1892 encoding, not decoding. Fix the handling of latin-jisx0201.
1893 Check for the charset katakana-jisx0201 too.
3c014385 1894 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 1895 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 1896
0da3ecef
GM
18972000-09-07 Gerd Moellmann <gerd@gnu.org>
1898
ab0ee409
GM
1899 * xfaces.c (Vparam_value_alist): New variable.
1900 (syms_of_xfaces): Initialize it.
1901 (Finternal_set_lisp_face_attribute): Avoid more consing.
1902
1903 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
1904 specially.
1905 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
1906 (Qbackground_mode): New variable.
1907 (syms_of_frame_1): Initialize Qbackground_mode.
1908
1909 * lisp.h (Qdisplay): Declare extern.
1091dd67 1910
0da3ecef
GM
1911 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
1912 change face on all frames, and change the default for new frames.
1913
b14654b9
DL
19142000-09-07 Dave Love <fx@gnu.org>
1915
1916 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
1917
d24fd56f
KH
19182000-09-07 Kenichi Handa <handa@etl.go.jp>
1919
794f3670
KH
1920 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
1921
0fddd0dc
KH
1922 * charset.c: Include composite.h
1923 (lisp_string_width): New function.
1924 (Fstring_width): Call lisp_string_width instead of strwidth.
1925
1926 * Makefile.in (charset.o): Depends on composite.h.
1927
d24fd56f
KH
1928 * process.c (read_process_output): Before inserting the decoded
1929 text in the buffer, adjust the multibyteness.
1930
fa0b693c
GM
19312000-09-06 Gerd Moellmann <gerd@gnu.org>
1932
73b77ee5
GM
1933 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
1934 buffer's text buffer is null, map new memory.
1935
0a58f946
GM
1936 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
1937 POINTER_TYPE and size_t.
1938 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
1939 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
1940 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
1941 [REL_ALLOC_MMAP]: New macros.
1942 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
1943 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
1944 [REL_ALLOC_MMAP]: New functions.
1945
1946 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
1947 before and after unexec.
1948
1949 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
1950 text buffers if necessary.
1951
1952 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
1953 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
1954 in prototypes.
1955
fa0b693c
GM
1956 * config.in (HAVE_MMAP): Add #undef.
1957
877055f6
GM
19582000-09-05 Gerd Moellmann <gerd@gnu.org>
1959
08ba3862
GM
1960 * frame.c (Qdisplay_type): New variable.
1961 (syms_of_frame_1): Initialize it.
1962 (Fframe_parameter): New function that avoids consing.
1963 (syms_of_frame): Defsubr it.
1964
66ffe51c
GM
1965 * buffer.c (Fother_buffer): Consider buffers as invisible when
1966 they are displayed in a window on an invisible frame.
1967
877055f6
GM
1968 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
1969 get-largest-window always return nil.
1970
bb970e67
GM
19712000-09-04 Gerd Moellmann <gerd@gnu.org>
1972
1973 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
1974 variable; recognize Emacs 19 elc files.
1975
7a3d0e0e
MB
19762000-09-04 Miles Bader <miles@gnu.org>
1977
1978 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
1979 before initially popping up the menu, so the menu doesn't flash
1980 when the face settings are significantly different from the
1981 defaults.
1982
14473664
SM
19832000-09-04 Stefan Monnier <monnier@cs.yale.edu>
1984
1985 * regex.c (WIDE_CHAR_SUPPORT): New macro.
1986 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
1987 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
1988 (BIT_UNIBYTE): Remove.
1989 (re_match_2_internal): Delete corresponding code and streamline the
1990 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
1991 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
1992 (re_wctype_t): New type.
1993 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
1994 (regex_compile): Use them and fix handling of overly long char classes.
1995
c1174479
AI
19962000-09-03 Andrew Innes <andrewi@gnu.org>
1997
f8803e97
AI
1998 * makefile.w32-in: Change to DOS line endings.
1999
c1174479
AI
2000 * s/ms-w32.h (ORDINARY_LINK): New define.
2001
2002 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
2003 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
2004
2005 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
2006 (distclean): Delete them here instead.
2007
44ef7cf6
AI
2008 * w32proc.c (compare_env): Convert to uppercase for comparison,
2009 not lowercase, to match how the native Windows shell works.
2010
49b3bd82
JR
20112000-09-03 Jason Rumney <jasonr@gnu.org>
2012
2013 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
2014 CVS changes the line-ends when checking in/out on DOS/Windows.
2015
2016 * makefile.nt (emacs): Do not change directory to run temacs, as
2017 the load-path is set relative to current directory.
2018
a3d35a39
MB
20192000-09-03 Miles Bader <miles@gnu.org>
2020
2021 * xterm.c (x_alloc_lighter_color_for_widget): New function.
2022
d276b0cf
GM
20232000-09-02 Gerd Moellmann <gerd@gnu.org>
2024
715e84c9
GM
2025 * xdisp.c (redisplay_mode_lines): New function.
2026 (display_mode_lines): Return number of mode lines displayed.
2027 (echo_area_display): Use redisplay_mode_lines to draw garbaged
2028 mode lines. Don't temporarily bind redisplay-dont-pause to t.
2029
8892f40b
GM
2030 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
2031 string.h and strings.h.
2032 (index) [HAVE_INDEX]: Add prototype.
2033
d276b0cf
GM
2034 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
2035 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
2036
2037 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
2038 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
2039
38404229
GM
20402000-09-01 Gerd Moellmann <gerd@gnu.org>
2041
2042 * lread.c (read1): Accept `?' as symbol constituent, for
2043 compatiblity with XEmacs.
2044
c0f9ea08
SM
20452000-08-31 Stefan Monnier <monnier@cs.yale.edu>
2046
2047 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
2048 (struct re_pattern_buffer): Remove newline_anchor.
2049 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
2050 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
2051 (re_max_failures, fail_stack): Use size_t rather than unsigned.
2052 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
2053 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
2054 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
2055 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
2056 Get rid of references to newline_anchor.
2057 (regcomp): Allocate and precompute a fastmap.
2058
8c0f83fe
GM
20592000-08-31 Gerd Moellmann <gerd@gnu.org>
2060
2061 * lread.c (openp): GCPRO local variable `filename'.
2062
4bb91c68
SM
20632000-08-30 Stefan Monnier <monnier@cs.yale.edu>
2064
2065 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
2066
2067 * regex.c: Merge some changes from GNU libc. Add prototypes.
2068 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
2069 Use memcmp and memcpy instead of bcopy and bcmp.
2070 (init_syntax_once): Use ISALNUM.
2071 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
2072 (REG_UNSET_VALUE): Remove. Use NULL instead.
2073 (REG_UNSET, re_match_2_internal): Use NULL.
2074 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
2075 New macros.
2076 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
2077 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
2078 (regex_compile): In handle_interval, return an error rather than try to
2079 unfetch the interval if we can't find the closing brace.
2080 Obey the RE_NO_GNU_OPS syntax bit.
2081 (TOLOWER): New macro.
2082 (regcomp): Use it.
2083 (regexec): Allocate regs.start and regs.end as one block.
2084
5226a931
GM
20852000-08-30 Gerd Moellmann <gerd@gnu.org>
2086
868dd24b
GM
2087 * xdisp.c (echo_area_display): Check display_completed instead
2088 of calling detect_input_pending.
2089
2090 * dispnew.c (update_frame): Only set display_completed here; move
2091 the update_begin and update_end calls here from update_frame_1.
2092 (update_frame_1): Don't set display_completed here, don't call
2093 update_begin/update_end.
2094
5226a931
GM
2095 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
2096 instead of store_frame_param.
2097
2a8bd25f
GM
20982000-08-29 Gerd Moellmann <gerd@gnu.org>
2099
2100 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
2101 desired window matrix hasn't been displayed, use the current row
2102 instead. Make sure that only those frame rows are updated for
2103 which there exists a corresponding enabled desired row.
2104
ba3478d9
MB
21052000-08-29 Miles Bader <miles@gnu.org>
2106
2107 * xfaces.c (default_face_vector): New function.
2108 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
2109
87d0f685
GM
21102000-08-29 Gerd Moellmann <gerd@gnu.org>
2111
2112 * lread.c (openp): Prevent temporary string passed to
2113 Ffile_readable_p from being garbage collected.
2114
6fa86045
DL
21152000-08-28 Dave Love <fx@gnu.org>
2116
2117 * keymap.c (store_in_keymap): Add `static' to declaration.
2118
bb17930d
GM
21192000-08-28 Gerd Moellmann <gerd@gnu.org>
2120
2121 * emacs.c, callint.c, doc.c, editfns.c
2122 (toplevel) [HAVE_STRING_H]: Include string.h.
2123 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
2124 (index): Remove prototypes which might conflict with non-standard
2125 definitions of index/strchr.
2126
2127 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
2128 (rindex): Define only if !HAVE_RINDEX.
2129
2130 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
2131
2132 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
2133
87188200
MB
21342000-08-28 Miles Bader <miles@gnu.org>
2135
2136 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
2137 made inconsistent by a font-related attribute in FROM.
2138 (merge_face_inheritance): Add function comment.
2139
41a68aef
KH
21402000-08-28 Kenichi Handa <handa@etl.go.jp>
2141
2142 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
2143 the 4th arg (PREV_EVENT) Qt to suppress input method.
2144
f7c436c1
SM
21452000-08-27 Stefan Monnier <monnier@cs.yale.edu>
2146
0b32bf0e
SM
2147 * regex.c: Indent cpp directives and remove parens after `defined'.
2148 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
2149 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
2150 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
2151 (re_compile_pattern): Use size_t for length.
2152 (init_syntax_once): Move to a better place.
2153 * regex.h: Merge changes from GNU libc. Indent cpp directives.
2154 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
2155
f7c436c1
SM
2156 * syntax.c (back_comment): Detect cases where a comment-starter is
2157 actually inside another comment as in: /* a // b */ c // d \n.
2158 Make it clear that `comstart_pos' is unused for nested comments.
2159
2160 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
2161 (KEYMAPP): New macro.
2162 (Fkeymap_parent, Fset_keymap_parent): Use it.
2163 (fix_submap_inheritance): Mark it static.
2164 (define_as_prefix, describe_buffer_bindings, describe_command)
2165 (describe_translation, describe_map): Complete prototypes.
2166
2167 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
2168
2169 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
2170 to better match the key-lookup behavior.
2171
6288c62f
GM
21722000-08-27 Gerd Moellmann <gerd@gnu.org>
2173
2174 * xfaces.c (lface_fully_specified_p): Handle :inherit.
2175 (Finternal_set_lisp_face_attribute): Fix typo in error message.
2176
e931344e
EZ
21772000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
2178
2179 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
2180 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
2181 (xterm.o): Depend on coding.h
2182
d10dfeef
KH
21832000-08-26 Kenichi Handa <handa@etl.go.jp>
2184
2185 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
2186 the corresponding '#endif'.
2187
2d73e8d3
MB
21882000-08-26 Miles Bader <miles@gnu.org>
2189
2190 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
2191 * xfaces.c (QCinherit): New variable.
2192 (syms_of_xfaces): Initialize it.
2193 (LFACE_INHERIT): New macro.
2194 (Finternal_get_lisp_face_attribute)
2195 (merge_face_vector_with_property)
2196 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
2197 (check_lface_attrs): Allow new types of face height. Check
2198 inherit attribute.
2199 (CYCLE_CHECK): New macro.
2200 (merge_face_inheritance): New function.
2201 (merge_face_vectors): Merge inherited faces too. Add F and
2202 CYCLE_CHECK arguments.
2203 (merge_face_vector_with_property, Finternal_merge_in_global_face)
2204 (lookup_named_face, lookup_derived_face, realize_named_face)
2205 (face_at_string_position, face_at_buffer_position): Supply
2206 new F and CYCLE_CHECK arguments to merge_face_vectors.
2207 (merge_face_heights): New function.
2208 (merge_face_vectors, merge_face_vector_with_property)
2209 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
2210 handle relative face heights.
2211 (lface_same_font_attributes_p): Compare heights using EQ.
2212
6ce974d4
KH
22132000-08-26 Kenichi Handa <handa@etl.go.jp>
2214
2215 * charset.c (char_to_string): Check the character validity.
2216 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
2217 0.
2218
dc1e502d
SM
22192000-08-25 Stefan Monnier <monnier@cs.yale.edu>
2220
2221 * regex.c (PUSH_FAILURE_COUNT): New macro.
2222 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
2223 Handle popping of a register's or a counter's data.
2224 (POP_FAILURE_POINT): Use the new name.
2225 (re_match_2_internal): Push counter data on the stack for succeed_n,
2226 jump_n and set_number_at and remove misleading dead code in succeed_n.
2227
bd9d0f3f
GM
22282000-08-25 Gerd Moellmann <gerd@gnu.org>
2229
2230 * xdisp.c (redisplay_internal): If considering all windows on all
2231 frames, update the display for each frame as soon as possible,
2232 instead of first building all desired matrices for all frames, and
2233 then updating them all.
2234 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
2235
aa5b8e15
GM
22362000-08-24 Gerd Moellmann <gerd@gnu.org>
2237
17494071
GM
2238 * bytecode.c (mark_byte_stack): Add a comment.
2239
aa5b8e15
GM
2240 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
2241 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
2242 a graphical frame.
2243
c543db81
KH
22442000-08-24 Kenichi Handa <handa@etl.go.jp>
2245
d246d5f5
KH
2246 * minibuf.c (do_completion): Always use compare-string, not
2247 string-equal because the latter doesn't pay attention to
2248 multibyteness of strings.
2249
c543db81
KH
2250 * process.c (create_process): Don't setup raw-text coding here.
2251 (Fopen_network_stream): Don't set coding->src_multibyte and
2252 coding->dst_multibyte here.
2253 (read_process_output): For process filter, return unibyte string
2254 if default-enable-multibyte-characters is nil.
2255 (send_process): If OBJECT is multibyte text, be sure to encoded it
2256 by the specified coding system for the process. Otherwise, setup
2257 raw-text coding.
2258 (init_process): Don't initialize default-process-coding-system
2259 here.
2260
9b47cfe0
EZ
22612000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
2262
2263 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
2264 <scroll-down-aggressively>: Likewise.
2265
f5a36960
KH
22662000-08-23 Kenichi Handa <handa@etl.go.jp>
2267
2268 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
2269 zero. Set coding->produced_char correctly.
2270
69a7ffa7
AI
22712000-08-22 Andrew Innes <andrewi@gnu.org>
2272
2273 * makefile.w32-in: New file.
2274
2275 * unexw32.c (unexec): Ignore old_name, and use the actual location
2276 of the current executable instead. Base new_name on this.
2277
2278 * w32proc.c (create_child): Remove reference to security
2279 descriptor, which isn't needed and doesn't compile with mingw32.
2280
2281 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2282 up dllimport attributes.
2283 (x_update_window_end): Update prototype.
2284
2285 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
2286 extern, which screws up dllimport attributes.
2287
2288 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2289 up dllimport attributes.
2290
2291 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
2292 screws up dllimport attributes.
2293
2294 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2295 up dllimport attributes.
2296 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
2297 screws up dllimport attributes.
2298
2299 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2300 up dllimport attributes.
2301
2302 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
2303 screws up dllimport attributes.
2304
2305 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
2306 screws up dllimport attributes.
2307
2308 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2309 up dllimport attributes.
2310
2311 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
2312 unnecessary extern, which screws up dllimport attributes.
2313 (main): Ditto.
2314
2315 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2316 up dllimport attributes.
2317
2318 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
2319 unnecessary extern, which screws up dllimport attributes.
2320
2321 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
2322 screws up dllimport attributes.
2323
2324 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2325 up dllimport attributes.
2326
2327 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
2328
2329 * w32bdf.c (search_file_line):
2330 (set_bdf_font_info):
2331 (seek_char):
2332 (w32_get_bdf_glyph):
2333 (w32_BDF_to_x_font): Fix compile warnings.
2334
2335 * w32menu.c: Include keyboard.h before frame.h. Fix compile
2336 warnings.
2337
2338 * w32select.c: Include keyboard.h before frame.h.
2339
2340 * w32fns.c (max): Define macro.
2341 (JOHAB_CHARSET): Define if not known.
2342 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
2343 (Fx_show_tip): Synch with X version.
2344
2345 * w32xfns.c: Include keyboard.h before frame.h.
2346
2347 * w32fns.c: Include keyboard.h before frame.h.
2348
2349 * w32term.c: Include keyboard.h before frame.h.
2350
2351 * fontset.c: Include keyboard.h before frame.h.
2352
2353 * w32inevt.c: Include keyboard.h before frame.h.
2354 (MOUSE_MOVED): Define if not known.
2355
2356 * minibuf.c: Include keyboard.h before frame.h.
2357
2358 * keyboard.c: Include keyboard.h before frame.h.
2359
2360 * indent.c: Include keyboard.h before frame.h.
2361
2362 * dispnew.c: Include keyboard.h before frame.h.
2363
2364 * buffer.c: Include keyboard.h before frame.h.
2365
2366 * alloc.c: Include keyboard.h before frame.h.
2367
2368 * print.c: Include keyboard.h before frame.h.
2369
2370 * process.c: Include keyboard.h before frame.h.
2371
2372 * scroll.c: Include keyboard.h before frame.h.
2373
2374 * sysdep.c: Include keyboard.h before frame.h.
2375
2376 * term.c: Include keyboard.h before frame.h.
2377
2378 * window.c: Include keyboard.h before frame.h.
2379
2380 * xdisp.c: Include keyboard.h before frame.h.
2381 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
2382
2383 * frame.c: Include keyboard.h before frame.h.
2384
2385 * w32heap.h: Undefine min, max.
2386
2387 * w32gui.h: Undefine min, max.
2388
2389 * unexw32.c: Change PUCHAR to PCHAR.
2390 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
2391 (relocate_offset):
2392 (get_section_info):
2393 (copy_executable_and_dump_data): Remove unnecessary static defs.
2394 (copy_executable_and_dump_data): Fix compile warnings.
2395
2396 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
2397
2398 * w32console.c (min): Define macro.
2399 (clear_frame, write_glyphs): Fix compile warning.
2400
2401 * w32proc.c (compare_env):
2402 (find_child_console): Fix compile warning.
2403
2404 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
2405 sys_errlist instead of _sys_errlist.
2406 (get_emacs_configuration_options): New function.
2407
2408 * s/ms-w32.h (sys_nerr): Provide default definition.
2409 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
2410 name with _ prepended.
2411 (NSIG): Define if not known.
2412 (get_emacs_configuration): Provide extern declaration.
2413 (get_emacs_configuration_options): Provide extern declaration.
2414 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
2415
2416 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
2417 (map_w32_filename):
2418 (read_unc_volume): Fix compile warning.
2419
2420 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
2421 definitions from being used.
2422
2423 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
2424
2425 * w32.c (unc_volume_file_attributes):
2426 (open_unc_volume): Make arg const.
2427
2428 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
2429 (read_input_waiting): Remove excess parameter.
2430
2431 * w32.c (init_environment): Call _access.
2432 (check_windows_init_file): Call _close.
2433 (init_user_info): Call _putenv.
2434 (init_environment): Call _putenv and _strdup.
2435 (init_ntproc): Reset volume info cache on startup.
2436
2437 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
2438 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
2439 cannot override the CRT malloc.
2440
2441 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
2442 (LINK_FLAGS): Append to original value of LINK_FLAGS.
2443
2444 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
2445 unless we are linking with a static CRT.
2446 (RVA_TO_PTR): Cast result to unsigned char*.
2447
2448 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
2449 (add_volume_info): Use xstrdup.
2450
25060080
SM
24512000-08-22 Stefan Monnier <monnier@cs.yale.edu>
2452
2453 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
2454 (do_completion, Fminibuffer_complete_word): Use it.
2455 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
2456 var so it can take non-boolean values.
2457
6917e6bb
GM
24582000-08-21 Gerd Moellmann <gerd@gnu.org>
2459
acb7cc89
GM
2460 * editfns.c (find_field): Formatting changes.
2461 (toplevel): Some old-style function forward declarations
2462 changed to prototypes, some new protypes added, some functions
2463 made static.
2464
2465 * lisp.h (set_time_zone_rule): Add prototype.
2466 (use_dialog_box): External declaration.
2467
0bbfdc25
GM
2468 * keyboard.c (gen_help_event): Add parameter SIZE.
2469 (kbd_buffer_events_waiting): Slightly rewritten.
2470 (clear_event): New function.
2471 (kbd_buffer_get_event): Use it, and clear the input_events of
2472 HELP_EVENTs.
2473 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
2474 don't fill the newly created array with nils.
2475 (toplevel): Convert some old-style function forward declarations
2476 to prototypes.
2477
2478 * keyboard.h (gen_help_event): Change prototype.
2479
2480 * xterm.c (XTread_socket): Change calls to gen_help_event.
2481
2482 * w32term.c (w32_read_socket): Change calls to gen_help_event.
2483
6917e6bb
GM
2484 * eval.c (Fmacroexpand): Doc fix.
2485
e5cd3d11
JR
24862000-08-20 Jason Rumney <jasonr@gnu.org>
2487
2488 * w32term.h (x_display_info_for_display): Remove as this function
2489 does not exist on W32.
2490
2491 * w32term.c (help_echo_window): New variable.
2492 (syms_of_w32term): staticpro it.
2493 (note_mode_line_highlight): Set it.
2494 (XTextExtents16): Removed as there is no equivalent on W32.
2495 (x_compute_glyph_string_overhangs): Incomplete body removed, as
2496 the X way of doing this will not work for W32.
2497 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
2498 (x_draw_image_foreground): Avoid drawing outside of the clip area
2499 when image doesn't have a mask.
2500 (note_mouse_highlight): Process overlays in the right order of
2501 priority. Set help_echo_window.
2502 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
2503 because that's more visible for large images.
2504
2505 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
2506 name to single_keymap_panes.
2507 (w32_menu_show): Set wv->title when dealing with titles.
2508 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
2509
6e69ab8c
MB
25102000-08-21 Miles Bader <miles@gnu.org>
2511
2512 * minibuf.c (do_completion): Try again if we rewrite the input
2513 string, but no completion was done, so that any completion message
2514 will be correct.
2515
511bd4eb
GM
25162000-08-20 Gerd Moellmann <gerd@gnu.org>
2517
2518 * xfaces.c (lface_equal_p): Compare strings differently.
2519 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
2520 (realize_tty_face): Use them.
2521 (syms_of_xfaces): Initialize new variables.
2522 (map_tty_color): New function, extracted from realize_tty_face.
2523 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
2524 foreground or background color, store the new color name in the
2525 realized face; previous code trying to do this had no effect.
2526 (realize_tty_face): Use map_tty_color.
2527 (Fclear_face_cache): Set face_change_count and ensure thorough
2528 redisplay.
2529
1433385f
GM
25302000-08-19 Gerd Moellmann <gerd@gnu.org>
2531
511bd4eb
GM
2532 * undo.c (record_first_change, record_marker_adjustment): Don't
2533 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 2534
419ac0a2
KH
25352000-08-18 Kenichi Handa <handa@etl.go.jp>
2536
2537 * coding.c (decode_coding_string): Set members consumed,
2538 consumed_char, produced, produced_char of *coding correctly. If
2539 decode_coding doesn't consume any byte, don't try anymore.
2540 (encode_coding_string): Likewise.
2541
7eb9e30d
GM
25422000-08-18 Gerd Moellmann <gerd@gnu.org>
2543
511bd4eb
GM
2544 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
2545 conditional have void type, for Standard C compilers.
7eb9e30d
GM
2546
2547 * xdisp.c (redisplay_internal): Compare windows for equality with
2548 EQ, instead of applying XWINDOW to something that might not
2549 be a window.
2550
dd34a735
KH
25512000-08-18 Kenichi Handa <handa@etl.go.jp>
2552
2553 * fontset.c (Finternal_char_font): Search only the selected frame
2554 for a window of the current buffer.
2555
385ff9e3
GM
25562000-08-18 Gerd Moellmann <gerd@gnu.org>
2557
511bd4eb 2558 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
2559 Lisp_Objects.
2560
385ff9e3
GM
2561 * keyboard.c (kbd_buffer_get_event): Handle the case that the
2562 second half of a HELP_EVENT is found at the start of kbd_buffer.
2563
d6abb4c7
MB
25642000-08-18 Miles Bader <miles@gnu.org>
2565
4618074a
MB
2566 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
2567
d6abb4c7
MB
2568 * editfns.c (save_restriction_save): Rewrite to use markers.
2569 (save_restriction_restore): Rewrite to understand new form of data
2570 saved by save_restriction_save.
2571 (Fsave_restriction): Remove cautionary note in doc-string.
2572
a7b28523
GM
25732000-08-17 Gerd Moellmann <gerd@gnu.org>
2574
2575 * fileio.c (build_annotations): Add a comment explaining the
2576 return value of format-annotate-function. Replace a spurious call
2577 to Flength with a CONSP test. Call format-annotate-function with
2578 a fifth arg specifying how many times the function is been called
2579 in a row, to let it choose temporary buffers appropriately.
2580
03c9ed77
DL
25812000-08-17 Dave Love <fx@gnu.org>
2582
2583 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
2584 declare make_temp_name twice.
2585
2586 * lread.c: Prototype readevalloop, load_unwind,
2587 load_descriptor_unwind.
2588 (unreadpure): Give it an arg.
2589
2590 * unexalpha.c: Prototype fatal_unexec, mark_x,
2591 update_dynamic_symbols. Declare unexec as void.
2592
2593 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
2594 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
2595
2596 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
2597 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
2598 DOUG_LEA_MALLOC.
2599
2600 * alloca.c: Use #error.
2601 [POINTER_TYPE]: Use it.
2602
2603 * eval.c (Fdefvar): Doc fix.
2604
2605 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
2606 INITIALIZE_INTERVAL.
2607
2608 * buffer.h: Avoid DECLARE_INTERVALS.
2609
2610 * config.in: Add size_t.
2611
aae41d97
EZ
26122000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
2613
2614 * w16select.c (set_clipboard_data): If there's not enough memory
2615 to put text into clipboard, return 1, as Fw16_set_clipboard_data
2616 expects. In case of other failures, return 3.
2617 (system_error_msg): New error message.
2618 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
2619 system_error_msg.
2620
65aa5e85
GM
26212000-08-16 Gerd Moellmann <gerd@gnu.org>
2622
2623 * term.c (write_glyphs): Also turn off inverse video after turning
2624 off other appearances in case TS_exit_attribute_mode is not equal
2625 to TS_end_standout_mode.
2626 (insert_glyphs): Turn inverse video on/off for each run of glyphs
2627 with the same face.
2628 (turn_off_face): Reset standout_mode only if
2629 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
2630 is equal to TS_end_standout_mode.
2631
ece23901
KH
26322000-08-16 Kenichi Handa <handa@etl.go.jp>
2633
9d7bcb2e
KH
2634 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
2635 sequence at the end of the source block.
2636
ece23901
KH
2637 * ccl.c (Fccl_program_p): Docstring modified.
2638 (Fccl_execute): Likewise.
2639 (Fccl_execute_on_string): Likewise.
2640
5e30eaa2
EZ
26412000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
2642
2643 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
2644
290602fd
KH
26452000-08-16 Kenichi Handa <handa@etl.go.jp>
2646
2647 The following changes are mainly to fix bugs of
2648 encode/decode-coding-string failing if encoding/decoding return
2649 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
2650 variable conversion_buffer.
2651
2652 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
2653 decrement dst_end to avoid buffer overflow in the later call of
2654 string_as_multibyte
2655
2656 * coding.h (conversion_buffer_size, conversion_buffer)
2657 (get_conversion_buffer): Extern deleted.
2658
2659 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
2660 (conversion_buffer, conversion_buffer_size): Variables deleted.
2661 (get_conversion_buffer): Function deleted.
2662 (struct conversion_buffer): New structure.
2663 (MAX_ALLOCA): New macro.
2664 (allocate_conversion_buffer): New macro.
2665 (extend_conversion_buffer, free_conversion_buffer): New functions.
2666 (ccl_coding_driver): Set coding->result.
2667 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
2668 this is the last block of source.
2669 (encode_coding): Likewise. Handle the source block as the last
2670 one only when the whole source text is consumed.
2671 (decode_coding_string): Handle the case that the output buffer is
2672 too small to decode the whole source text. Use
2673 allocate_conversion_buffer, extend_conversion_buffer and
2674 free_conversion_buffer, not get_conversion_buffer.
2675 (encode_coding_string): Likewise.
2676 (init_coding): Function deleted.
2677 (init_coding_once): Delete code to initialize
2678 conversion_buffer_size.
2679
2680 * emacs.c (main): Don't call init_coding.
2681
2682 * msdos.c (IT_write_glyphs): Use a locally declared
2683 conversion_buffer.
2684
2685 * term.c (write_glyphs): Use a locally declared conversion_buffer.
2686 (insert_glyphs): Likewise.
2687
2688 * w32console.c (write_glyphs): Use a locally declared
2689 conversion_buffer.
2690
b9f80d41
EZ
26912000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
2692
2693 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
2694 member of display_info is NULL.
2695
32dc52f7
GM
26962000-08-15 Gerd Moellmann <gerd@gnu.org>
2697
58ed0d3b
GM
2698 * alloc.c (compact_small_strings): Use safe_bcopy, add an
2699 assertion.
2700
32dc52f7 2701 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 2702 appearances with capability `me'.
32dc52f7
GM
2703 (write_glyphs): Switch on inverse video before each face change.
2704
4eb22d33
DL
27052000-08-14 Dave Love <fx@gnu.org>
2706
2707 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
2708 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
2709 (lisp_free): Declare and make static.
2710
2711 * window.c: Fix embedded comment.
2712 (syms_of_window): Fix doc string.
2713
90cbf47e
GM
27142000-08-14 Gerd Moellmann <gerd@gnu.org>
2715
2716 * keymap.c (push_key_description): If C without modifiers is < 32,
2717 make sure to print `C-' before `M-', like in the manual.
2718
440fc135
GM
27192000-08-11 Gerd Moellmann <gerd@gnu.org>
2720
2721 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
2722 since they aren't relocated anymore.
2723 (sxhash_string): Make sure returned hash code fits in a Lisp
2724 integer.
2725
2726 * xdisp.c (try_cursor_movement): Fix handling of cursor in
2727 partially visible line which is smaller than the window's
2728 height.
2729
6e264fad
KH
27302000-08-11 Kenichi Handa <handa@etl.go.jp>
2731
2732 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
2733 the multibyte form of eight-bit-control characters.
2734 (Fccl_execute_on_string): Initialize ccl->multibyte.
2735
2736 * ccl.h (struct ccl_program): New member multibyte.
2737
2738 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
2739
c371f69a
KH
27402000-08-11 Kenichi Handa <handa@etl.go.jp>
2741
2742 * regex.c (regex_compile) <normal_char>: Pay attention to
2743 multibyteness.
2744 (analyse_first) <exactn>: Setup fastmap correctly for
2745 eight-bit-control characters.
2746
27472000-08-11 Kenichi Handa <handa@etl.go.jp>
2748
2749 * termhooks.h (enum event_kind): New member
2750 multibyte_char_keystroke.
2751
2752 * keyboard.c (make_lispy_event): Handle the new event type
2753 multibyte_char_keystroke.
2754
2755 * xterm.c: Include coding.h.
2756 (XTread_socket): Work around a bug of XmbLookupString. If the
2757 input is from XIM, decode it according to the current locale. In
2758 that case, generate multibyte_char_keystroke events.
2759
b8ddbe71
KH
27602000-08-11 Kenichi Handa <handa@etl.go.jp>
2761
2762 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
2763 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
2764
47589c8c
GM
27652000-08-10 Gerd Moellmann <gerd@gnu.org>
2766
2767 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
2768 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
2769 (move_it_in_display_line_to): Record iterator's ascent and descent
2770 before producing glyphs, and restore them when we know the glyph
2771 doesn't fit on the line.
2772 (move_it_to): Restructured so that it's easier to debug. If
2773 moving to a vpos, and not moving to an x or character position,
2774 stop as soon as the specified vpos is reached; don't move further
2775 into that line because that might change the computed line height.
2776 (try_cursor_movement): New function, extracted from the cursor
2777 movement branch of redisplay_window. If ending on a partially
2778 visible line, don't try to scroll if the cursor line is taller
2779 than the window.
2780 (redisplay_window): Use try_cursor_movement.
2781
2782 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
2783 because that function doesn't cope with variable-height lines.
2784
2785 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
2786 box cursor because that's better visible for large images.
2787
c51bacd6
MB
27882000-08-10 Miles Bader <miles@gnu.org>
2789
2790 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
2791
bea56df7
GM
27922000-08-10 Gerd Moellmann <gerd@gnu.org>
2793
2794 * xdisp.c (Vmessages_buffer_name): New variable.
2795 (message_dolog): Use it.
2796 (syms_of_xdisp): Initialize it.
2797
99cd7364
EZ
27982000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2799
2800 * msdos.c (IT_note_mouse_highlight): Update the calls to
2801 overlays_at.
2802 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
2803 redundant now that keyboard.h is included.
2804
7d093d56
EZ
28052000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
2806
2807 * keyboard.c (kbd_buffer_events_waiting): New function.
2808
2809 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
2810
2811 * msdos.c: Include keyboard.h.
2812 (XMenuActivate): Empty no_event events from the event buffer. If
2813 no events are left after that, call clear_input_pending.
2814 (mouse_clear_clicks): New function, code moved from mouse_init.
2815 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
2816 mouse driver to ``forget'' any past clicks.
2817
2818 * Makefile.in (msdos.o): Depend on keyboard.h.
2819
41e757a6
GM
28202000-08-09 Gerd Moellmann <gerd@gnu.org>
2821
8e7bd231
GM
2822 * lisp.h (input_pending): External declaration.
2823
2824 * dispextern.h (Qredisplay_dont_pause): Declare extern.
2825
2826 * xdisp.c (echo_area_display): Display thoroughly if input is
2827 pending. Bind redisplay-dont-pause to t during the redisplay.
2828 in case input is pending.
2829
2830 * dispnew.c (Qredisplay_dont_pause): New variable.
2831 (syms_of_display): Initialize and staticpro it.
2832 (update_frame_1): Don't interrupt the display for pending input if
2833 redisplay_dont_pause is set.
2834
43028b7e
GM
2835 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
2836
41e757a6
GM
2837 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
2838
2f2174fa
KH
28392000-08-09 Miles Bader <miles@lsi.nec.co.jp>
2840
2841 * callproc.c (Fcall_process): Terminate the unwind-protect around
2842 the post-read-conversion of coding system.
2843
0a6fd67e
MB
2844 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
2845 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
2846 * buffer.h (overlays_at): Update prototype.
2847 * xdisp.c (next_overlay_change): Update call to overlays_at.
2848 * xfaces.c (face_at_buffer_position): Likewise.
2849 * textprop.c (Fget_char_property): Likewise.
2850 * xterm.c (note_mouse_highlight): Likewise.
2851
0c80756e
MB
2852 * minibuf.c (do_completion): Don't consider a simple change of
2853 case as `completion'.
2854
975f250a
KR
28552000-08-08 Ken Raeburn <raeburn@gnu.org>
2856
b347b3fd
KR
2857 * keyboard.c (syms_of_keyboard): Initialize
2858 last_point_position_buffer.
2859 * undo.c (record_delete): Make sure last_point_position_buffer is
2860 a buffer before comparing pointers.
2861
2862 * coding.h (decode_coding_string): Declare.
2863
2864 * intervals.h (Fprevious_single_char_property_change): Declare.
2865
2866 * textprop.c (Fprevious_single_char_property_change): Don't do
2867 arithmetic directly on lisp objects.
2868
25ad1371 2869 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
2870 objects.
2871
2872 * keyboard.h (menu_item_eval_property): Declare.
2873
2874 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
2875 reuse as buffer name, instead of recreating (and discarding) every
2876 time a message is logged.
2877 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
2878 (current_message_1, truncate_message_1, set_message_1)
2879 (display_echo_area_1, resize_mini_window_1): Signatures changed.
2880 (current_message, truncate_echo_area, display_echo_area)
2881 (resize_echo_area_axactly): Changed calls.
b347b3fd 2882
975f250a 2883 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 2884 Lisp object.
975f250a 2885 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 2886 must be an integer, not a Lisp object.
975f250a 2887
46dc9912
KH
28882000-08-08 Kenichi Handa <handa@etl.go.jp>
2889
2890 * charset.c (Fchar_width): Doc fix.
2891
9f6d1a6c
GM
28922000-08-08 Gerd Moellmann <gerd@gnu.org>
2893
2894 * charset.c (Fstring_width): Doc fix.
2895
ff3d9573
GM
28962000-08-07 Gerd Moellmann <gerd@gnu.org>
2897
41e757a6 2898 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
2899 line, clear ascent and descent members of the iterator structure;
2900 the height of the continued line does not affect the height of the
2901 continuation line.
2902 (make_cursor_line_fully_visible): Do nothing if cursor is on a
2903 line taller than the window.
2904 (redisplay_window) <forced window start>: Handle case that the
2905 middle of the window is not found in any row.
2906 (dump_glyph_row): Show more information.
2907 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
2908 first text line in a glyph matrix.
2909
2910 * xterm.c (x_draw_image_foreground): Avoid drawing outside
2911 of the clip area when image doesn't have a mask.
2912
70fc58b3
GM
2913 * fns.c (sweep_weak_table): Fix survival conditions for
2914 key-or-value and key-and-value weakness.
2915
2916 * .gdbinit (xhashtable): New command.
2917
ac0e96ee
GM
2918 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
2919 tables out of the list of all weak hash tables.
2920
ff3d9573
GM
2921 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
2922 a new buffer is created, make sure echo_area_buffer[] references
2923 the new buffer.
2924
e0d8827b
EZ
29252000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
2926
2927 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
2928 the doc string.
2929
c6f35378
KH
29302000-08-07 Kenichi Handa <handa@etl.go.jp>
2931
2932 * syntax.c (skip_chars): Fix previous change. Make the handling
2933 of unibyte string consistent with that of regex search.
2934
1fd4c450
GM
29352000-08-05 Gerd Moellmann <gerd@gnu.org>
2936
e49aa397
GM
2937 * xmenu.c (popup_get_selection): Use xfree instead of free.
2938
2939 * fileio.c (Finsert_file_contents): Use xfree instead of free.
2940
2941 * editfns.c (Ftranspose_regions): Use xfree instead of free.
2942
2943 * callproc.c (child_setup): Use xfree instead of free.
2944
2945 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
2946 instead of malloc.
2947 (run_mac_command, closedir): Use `xfree' instead of `free'.
2948
2949 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
2950
2951 * eval.c (error): Use xfree instead of free.
2952
1fd4c450
GM
2953 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
2954
2955 * fns.c: Replace `illegal' with `invalid'.
e49aa397 2956 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 2957
82d497fc
KH
29582000-08-05 Kenichi Handa <handa@etl.go.jp>
2959
2960 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
2961 conversion.
2962
59f953a2
NF
29632000-08-04 Noah Friedman <friedman@splode.com>
2964
2965 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
2966 docstring.
2967
688351f2
GM
29682000-08-04 Gerd Moellmann <gerd@gnu.org>
2969
2970 * syntax.c (skip_chars): Fix typo in error message.
2971
2dad51cc
AS
29722000-08-04 Andreas Schwab <schwab@suse.de>
2973
2974 * m/ia64.h: Moved from s/ia64.h.
2975
99bb2c60
KH
29762000-08-04 Kenichi Handa <handa@etl.go.jp>
2977
082a1df2
KH
2978 * process.c (read_process_output): Big simplification. Handle
2979 composition and post-read-conversion of coding system correctly.
2980 (send_process): Handle composition correctly.
2981
2982 * callproc.c (Fcall_process): Handle post-read-conversion of
2983 coding system if any.
2984
99bb2c60
KH
2985 * coding.c (decode_coding_iso2022): More strict check for handling
2986 single shifting.
082a1df2
KH
2987 (coding_restore_composition): Pay attention to the case that
2988 cmp_data is not set properly (because of invalid code in the
2989 source text).
2990 (run_pre_post_conversion_on_str): Include text properties in the
2991 resulting string.
2992 (decode_coding_string): Set members of coding correctly.
99bb2c60 2993
f4988be7
GM
29942000-08-03 Gerd Moellmann <gerd@gnu.org>
2995
2996 * s/ia64.h: New file.
2997
2998 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
2999 Use NULL instead of 0 at the end of variable argument list of
3000 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
3001 sizeof (int) < sizeof (void *).
3002
3003 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
3004 of variable argument lists of XtVaGetValues and XtVaSetValues.
3005
3006 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
3007 variable argument lists of XtVaGetValues and XtVaSetValues.
3008
ead53494
GM
30092000-08-02 Gerd Moellmann <gerd@gnu.org>
3010
3011 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
3012 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
3013
3014 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
3015 prototype.
3016
3017 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
3018 in call to Fsingle_key_description.
3019
3020 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
3021 Callers changed.
3022
30232000-08-02 Colin Walters <walters@cis.ohio-state.edu>
3024
3025 * window.c (display_buffer_reuse_frames): New variable.
3026 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
3027 frames displaying BUFFER.
3028 (syms_of_window): Define Lisp variable
3029 display-buffer-reuse-frames.
3030
10b0f752
MB
30312000-08-01 Miles Bader <miles@gnu.org>
3032
3033 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
3034 when to constrain NEW_POS (they were pretty screwed up before).
3035
16425c4a
EZ
30362000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
3037
3038 * msdos.c (run_msdos_command): Save and restore the master
3039 environment, for the case that child_setup signals an error.
3040 When mirroring slashes in DOS shell commands, don't fail when
3041 argv[2] has embedded blanks.
da288c14
EZ
3042 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
3043 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
3044 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
3045
3046 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
3047 using alloca; free it after run_msdos_command returns.
3048
27f73852
DL
30492000-07-27 Dave Love <fx@gnu.org>
3050
3051 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
3052 define.
3053 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
3054 working.
3055
3056 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
3057
c0261b5e
EZ
30582000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
3059
3060 * editfns.c (lisp_time_argument): Fix last change.
3061
b548072f
GM
30622000-07-27 Gerd Moellmann <gerd@gnu.org>
3063
3ab82477
GM
3064 * fns.c (Fdelete): Make it work on vectors and strings in addition
3065 to lists.
3066
b548072f
GM
3067 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
3068 (syms_of_fns): Initialize new variables.
3069 (sweep_weak_table): Handle weakness `key-or-value' and
3070 `key-and-value'.
3071 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
3072 weakness, with t meaning the same as `key-and-value'.
3073
91ae8751
KH
30742000-07-27 Kenichi Handa <handa@etl.go.jp>
3075
3076 * coding.h (struct coding_system): Member safe_charset deleted.
3077
3078 * coding.c (Qsafe_charsets): This variable deleted.
3079 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
3080 variables.
3081 (coding_safe_chars): New function.
3082 (CODING_SAFE_CHAR_P): New macro.
3083 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
3084 checking safe_charsets member of the coding system. Caller
3085 changed.
3086 (detect_coding_iso2022): New local variable safe_chars.
3087 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
3088 safe_charsets member of the coding system.
3089 (decode_coding_iso2022): New local variable safe_chars.
3090 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
3091 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
3092 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
3093 (ENCODE_UNSAFE_CHARACTER): New macro.
3094 (encode_coding_iso2022): New local variable safe_chars. Check
3095 unsafe chars.
3096 (setup_coding_system): Delete the code to initialize
3097 coding->safe_charses
3098 (intersection, find_safe_codings): New functions.
3099 (Ffind_coding_systems_region_internal): New function.
3100 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
3101 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
3102 variable and initialize it.
3103
3104 * fns.c (char_table_ref_and_index): New function.
3105
3106 * lisp.h (char_table_ref_and_index): Add prototype.
3107
34a7a267
SS
31082000-07-26 Sam Steingold <sds@gnu.org>
3109
3110 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 3111 (Ffloat_time): New built-in Lisp function.
34a7a267 3112
a95cb10a
GM
31132000-07-26 Gerd Moellmann <gerd@gnu.org>
3114
3353ef5a
GM
3115 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
3116 for the character code.
3117
3118 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
3119 GNU/Linux.
3120
a95cb10a
GM
3121 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
3122 if called for a popup menu.
3123 (xmenu_show): Store help string in widget values.
3124
b4a12321
DL
31252000-07-26 Dave Love <fx@gnu.org>
3126
3127 * syswait.h: Move some definitions.
3128 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
3129 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
3130 perspicuous definitions.
3131 (WTERMSIG): Fix bit pattern used.
3132
13f5ad37
KH
31332000-07-26 Kenichi Handa <handa@etl.go.jp>
3134
3135 * print.c (print_object): If vector printing is truncated, print
3136 "..." to indicate it as well as the case of list printing.
3137
070fe99c
GM
31382000-07-25 Gerd Moellmann <gerd@gnu.org>
3139
969065c3
GM
3140 * xdisp.c (next_element_from_display_vector): Improve comments.
3141
3142 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
3143 for the character code, and the rest for the face id as in 20.x.
3144 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
3145
3146 * window.c (window_display_table): Cleaned up.
3147
070fe99c
GM
3148 * syntax.c (Fforward_word): Add last arg nil in call of
3149 Fconstrain_to_field.
3150
bad77ef7
EZ
31512000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
3152
969065c3 3153 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
3154 identical but for the letter-case, don't call
3155 barf_or_query_if_file_exists.
3156
c28da489
MB
31572000-07-25 Miles Bader <miles@gnu.org>
3158
3159 * editfns.c (find_field): Honor special `boundary' fields.
3160 (Qboundary): New variables.
3161 (syms_of_editfns): Initialize Qboundary.
3162 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
3163 Use scan_buffer instead of find_before_next_newline, because it
3164 allows us to detect the boundary case where there's a newline at
3165 the search limit.
3166 * lisp.h (Fconstrain_to_field): Update external declaration.
3167
e3c31fd5
GM
31682000-07-24 Gerd Moellmann <gerd@gnu.org>
3169
3170 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
3171 if that is nil.
c28da489 3172
c66c29a2
DL
31732000-07-24 Dave Love <fx@gnu.org>
3174
3175 * s/sunos4-0.h, s/sol2.h:
3176 (LIBS_TERMCAP): Move from m/sparc.h.
3177
3178 * m/sparc.h (TERMINFO): Moved to system files (probably only
3179 relevant for sunos4 judging by its vintage).
3180 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
3181 __arch64__.
3182
fbe0a958
EZ
31832000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
3184
3185 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
3186 name to single_keymap_panes.
3187
7d88e5c9
AS
31882000-07-24 Andreas Schwab <schwab@suse.de>
3189
3190 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
3191
e024b101
GM
31922000-07-24 Gerd Moellmann <gerd@gnu.org>
3193
3194 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
3195 parameters instead of using int parameters. Expect FN to accept
3196 EMACS_INT parameters.
3197 (display_echo_area, resize_echo_area_axactly, current_message)
3198 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
3199 with new argument list.
3200 (resize_mini_window_1): New callback function.
3201 (current_message_1, truncate_message_1, set_message_1): Change
3202 parameter lists to the new format expected by
3203 with_echo_area_buffer.
3204
25c1a9ce
KH
32052000-07-24 Kenichi Handa <handa@etl.go.jp>
3206
3207 * fontset.c (fontset_ref): Remove INLINE declaration.
3208 (fontset_ref_via_base): Likewise.
3209 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
3210 to downcase.
3211
7f987ac0
EZ
32122000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
3213
3214 * msdos.c (IT_note_mouse_highlight): Process overlays in the
3215 correct order of priority. If help echo was found in an overlay,
3216 use that overlay as the object in which the help echo was found.
3217
e2db3069
MB
32182000-07-22 Miles Bader <miles@gnu.org>
3219
3220 * textprop.c (Fprevious_single_char_property_change): The initial
3221 property value should be from the position preceding POSITION, not
3222 following it.
3223
5e3203e4
EZ
32242000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
3225
3226 * coding.c (syms_of_coding): Doc fix for
3227 inhibit-iso-escape-detection.
3228
62145073
GM
32292000-07-21 Gerd Moellmann <gerd@gnu.org>
3230
c20aeb83
GM
3231 * xterm.c (note_mouse_highlight): Process overlays in the right
3232 order of priority.
34a7a267 3233
743934db
GM
3234 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
3235
3236 * xterm.c (note_mouse_highlight): If help-echo was found in an
3237 overlay, use that overlay as the object in which the help was
3238 found.
3239
d1dc7e43 3240 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 3241
62145073
GM
3242 * window.c (foreach_window): Instead of a fake variable argument
3243 list, take one USER_DATA argument.
3244 (foreach_window_1): Likewise, and call callback functions with two
3245 args, the window and USER_DATA.
3246 (struct check_window_data): New struct.
3247 (check_window_containing): Use it.
3248 (window_from_coordinates): Set up a struct check_window_data for
3249 foreach_window.
3250 (add_window_to_list, freeze_window_start): Change parameters
3251 according to new calling convention.
3252
3253 * window.h (foreach_window): Change prototype.
3254
3255 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
3256
32572000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
3258
3259 * xmenu.c (menu_help_callback): Call show_help_echo with
3260 additional arguments OBJECT and POS.
3261
11270583
KH
32622000-07-21 Kenichi Handa <handa@etl.go.jp>
3263
07b14857
KH
3264 * data.c (Faset): Allow storing any multibyte character in a
3265 string. Convert unibyte string to multibyte if necessary.
3266
11270583
KH
3267 * xfns.c (x_encode_text): New function.
3268 (x_set_name): Use x_encode_text.
3269 (x_set_title): Likewise.
3270
3271 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
3272
3273 * xterm.h (x_encode_text): Add prototype.
3274
bc75b4fd
DL
32752000-07-20 Dave Love <fx@gnu.org>
3276
3277 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
3278 xfree, not free.
3279
48c14970
EZ
32802000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
3281
3282 * msdos.c (help_echo_window): New variable.
3283 (syms_of_msdos): Initialize and staticpro it.
3284 (IT_note_mode_line_highlight): Set help_echo_window.
3285 (IT_note_mouse_highlight): Ditto.
3286 (dos_rawgetc): Store help_echo_window in the second event produced
3287 for HELP_EVENTs.
3288
3289 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
3290 Record the object that generated the help echo and the position of
3291 that object in help_echo_object and help_echo_pos. Record that
3292 some glyphs in a row are displayed in mouse-face.
3293 (IT_update_begin): Don't clear mouse highlight unless one of the
3294 enabled glyph rows is marked as being displayed in mouse-face.
3295 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
3296 and position recorded in help_echo_object and help_echo_pos to the
3297 event queue.
3298 (IT_menu_display): Accept a new argument PN: the pane number of
3299 the current menu pane. Record the pane number and the item
3300 number of the item which has associated help string.
3301 (XMenuActivate): Update the prototype for help_callback in
3302 function declaration. Call IT_menu_display with the current menu
3303 pane number as an additional argument. Call help_callback with
3304 two additional arguments: the pane number and the item number of
3305 the menu item associated with the help text.
3306 (help_echo_object, help_echo_pos): New variables.
3307 (syms_of_msdos): Initialize them and staticpro help_echo_object.
3308
3309 * msdos.h (XMenuActivate): Update prototype.
3310
4279296d
GM
33112000-07-19 Gerd Moellmann <gerd@gnu.org>
3312
47db06aa
GM
3313 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
3314 Add some more prototypes.
3315
3316 * xterm.c, xterm.h: Add some more prototypes.
3317
3318 * lisp.h (Fnext_single_char_property_change): Add prototype.
3319
3320 * dispnew.c (direct_output_for_insert): Remove confusing
3321 outer local variable mouse_face_overwritten_p.
3322 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
3323
4279296d
GM
3324 * alloc.c (allocate_string_data): Don't copy old string contents.
3325
670acd62
KH
33262000-07-19 Kenichi Handa <handa@etl.go.jp>
3327
3328 * coding.c (code_convert_region): Delete text properties before
3329 shrinking the conversion region.
3330
7cea38bc
GM
33312000-07-18 Gerd Moellmann <gerd@gnu.org>
3332
dc1cac59
GM
3333 * dispnew.c (update_text_area): Write the whole row if it
3334 has mouse-face in it.
3335
85a8aca9
GM
3336 * xfaces.c (face-alternative-font-family-alist): Remove
3337 DEFVAR_LISP; staticpro instead.
3338
34a7a267 3339 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
3340 new arguments.
3341
3342 * keyboard.c (show_help_echo): Add parameter WINDOW.
3343 (read_char): Call show_help_echo with window extracted from Lisp
3344 help event.
3345 (gen_help_event): Add parameter WINDOW.
3346
3347 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
3348
3349 * xterm.c (help_echo_window): New variable.
3350 (note_mouse_highlight, note_tool_bar_highlight): Set
3351 help_echo_window.
3352 (XTread_socket): Pass help_echo_window to gen_help_event.
3353 (syms_of_xterm): Initialize and staticpro help_echo_window.
3354
f8276b77
DL
33552000-07-18 Dave Love <fx@gnu.org>
3356
3357 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
3358 systime.h.
3359
088831a6
GM
33602000-07-18 Gerd Moellmann <gerd@gnu.org>
3361
3d6cd763
GM
3362 * alloc.c (allocate_string_data): If string had already data
3363 assigned, copy old contents to new string data.
3364
3365 * coding.c (syms_of_coding): Fix typo in spelling of variable
3366 `inhibit-iso-escape-detection'.
3367
088831a6
GM
3368 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
3369
3370 * Makefile.in: Add dependencies on dispextern.h.
3371 (alloca.o): Don't define malloc and define EMACS_FREE instead of
3372 `free'; both can conflict with system header files.
3373
bc8a8d55
KH
33742000-07-18 Kenichi Handa <handa@etl.go.jp>
3375
3376 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
3377 undefined.
3378
069f5950
DL
33792000-07-18 Dave Love <fx@gnu.org>
3380
3381 * window.c (Fwindow_list): Declare arg `window'.
3382
aa96c820
KH
33832000-07-18 Kenichi Handa <handa@etl.go.jp>
3384
3385 * coding.c (setup_coding_system): Don't override the explicitly
3386 specified designations.
3387
06be8d32
MB
33882000-07-15 Miles Bader <miles@gnu.org>
3389
3390 * editfns.c (char_property_eq, char_property_stickiness): Renamed
3391 from `text_property_eq' and `text_property_stickiness', respectively.
3392 (find_field, Fconstrain_to_field, char_property_eq)
3393 (char_property_stickiness): Changed to call char-property functions
3394 instead of text-property-only ones.
3395
3396 * textprop.c (Fnext_single_char_property_change): Made a subr (was
3397 `next_single_char_property_change'). Do more error checking, and
3398 cleanup limit behavior.
3399 (Fprevious_single_char_property_change): New function.
3400 (syms_of_textprop): Initialize new subrs.
3401
3402 * xdisp.c (display_prop_end, invisible_text_between_p):
3403 Call Fnext_single_char_property_change instead of
3404 next_single_char_property_change.
3405
3fddcdc3
JR
34062000-07-15 Jason Rumney <jasonr@gnu.org>
3407
3408 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
3409 after menu is finished with.
3410 (add_menu_item): Only consider wv->title as a menu title.
3411 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
3412
3413 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
3414 null title.
3415 (FONT_REGEXP): Remove unused macro, and its sub-components.
3416 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
3417
3418 * w32term.c (help_echo_object, help_echo_pos): New variables.
3419 (note_mode_line_highlight): Store additional information about the
3420 help-echo in help_echo_object and help_echo_pos. Check both
3421 `local-map' and `keymap' properties for changing the cursor
3422 (note_mouse_highlight): Store additional information about the
3423 help-echo in help_echo_object and help_echo_pos.
3424 (note_tool_bar_highlight): Set help_echo_object to nil and
3425 help_echo_pos to -1.
3426 (w32_read_socket): Use gen_help_event instead of filling
3427 input_events manually.
3428 (syms_of_w32term): Staticpro help_echo_object.
3429 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
3430 set, arrange for a mouse-highlight redisplay in
3431 XTframe_up_to_date.
3432 (x_clear_mouse_face): New function.
3433 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
3434 (x_update_window_begin): No need to turn off the mouse
3435 highlight here.
3436 (show_mouse_face): Set the mouse_face_p flag of glyph rows
3437 depending on whether they contain glyphs highlighted in
3438 mouse-face.
3439 (x_fill_stretch_glyph_string): Consume runs of stretch
3440 glyphs instead of a single one.
3441 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
3442 with new argument list.
3443 (x_set_glyph_string_gc): Make sure the face's GC is valid.
3444 (x_append_glyph, x_append_composite_glyph)
3445 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
3446 changes in struct glyph starting 1999-12-27. See comments for
3447 xterm.c on 2000-07-05.
3448
178c5d9c
SS
34492000-07-14 Sam Steingold <sds@gnu.org>
3450
3451 * xfaces.c (realize_x_face): Fix the last patch:
3452 check `default_face' before dereferencing.
3453
6fe533f6
DL
34542000-07-14 Dave Love <fx@gnu.org>
3455
069f5950 3456 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 3457
dd7b81cf
KH
34582000-07-14 Kenichi Handa <handa@etl.go.jp>
3459
0693904a 3460 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 3461 default_face's fontset, not using the default fontset.
0693904a 3462
dd7b81cf
KH
3463 * coding.c (inhibit_iso_escape_detection): New variable.
3464 (syms_of_coding): Make it a Lisp variable.
3465 (detect_coding_iso2022): If inhibit_iso_escape_detection is
3466 nonzero, ignore ISO2022's escape sequence.
3467
d5aa31d8
GM
34682000-07-14 Gerd Moellmann <gerd@gnu.org>
3469
e5acf0ca
GM
3470 * alloca.c (malloc) [emacs]: Define as xmalloc.
3471
bd23a692
GM
3472 * xfns.c (Fx_show_tip): If frame parameters contain a position,
3473 use that instead of the mouse position. Add parameters DX and DY.
3474
3475 * dispextern.h (Fx_show_tip): Adjust number of parameters
3476 in prototype.
3477
9662da0b
GM
3478 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
3479 if HELP is a function, call it with OBJECT and POS as parameters
3480 to get the help to display.
3481 (gen_help_event, kbd_buffer_store_help_event): New functions.
3482 (kbd_buffer_get_event): Construct the Lisp help-event differently.
3483 (read_char): Call show_help_echo with new parameters.
3484
178c5d9c 3485 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
3486 Add prototypes.
3487
3488 * xterm.c (help_echo_object, help_echo_pos): New variables.
3489 (note_mode_line_highlight): Store additional information about the
3490 help-echo in help_echo_object and help_echo_pos. Check both
3491 `local-map' and `keymap' properties for changing the cursor
3492 (note_mouse_highlight): Store additional information about the
3493 help-echo in help_echo_object and help_echo_pos.
3494 (note_tool_bar_highlight): Set help_echo_object to nil and
3495 help_echo_pos to -1.
3496 (XTread_socket): Use gen_help_event instead of filling
3497 input_events manually.
3498 (syms_of_xterm): Staticpro help_echo_object.
3499
3500 * xmenu.c (menu_highlight_callback): Use
3501 kbd_buffer_store_help_event instead of setting up and input_event
3502 structure manually.
3503
3504 * xdisp.c (eval_form): GCPRO argument sexpr.
3505 (call_function): New function.
3506 (handle_single_display_prop): Use call_function and FUNCTIONP
3507 instead of checking whether if font_height is a symbol and
3508 using eval_form.
3509
3510 * eval.c (internal_condition_case_2): New function.
3511
3512 * lisp.h (FUNCTIONP): New macro.
3513 (internal_condition_case_2, call_function): Add prototypes.
3514
d5aa31d8
GM
3515 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
3516 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
3517 Always set `arg' member of input_events.
3518 (construct_menu_click): Unused function removed.
3519
3520 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
3521
3522 * w32term.c (construct_mouse_click, construct_mouse_wheel)
3523 (construct_drag_n_drop, x_scroll_bar_handle_click)
3524 (w32_read_socket): Always set `arg' member of input_events.
3525
3526 * keyboard.c (show_help_echo): Use eval_form. Add comment.
3527
3528 * lisp.h (eval_form): Add prototype.
3529
3530 * xdisp.c (eval_form): Make it externally visible.
3531
0f1a9b23
GM
35322000-07-13 Gerd Moellmann <gerd@gnu.org>
3533
3534 * xterm.c (x_handle_tool_bar_click): Store the frame in the
3535 frame_or_window slot of TOOL_BAR_EVENT input events instead of
3536 consing. For prefix events, store the frame in the `arg' slot of
3537 the event, otherwise store the key there.
3538 (XTread_socket): Instead of consing, use the frame_or_window slot
3539 of HELP_EVENTs for the frame, and the `arg' slot for the help
3540 string.
3541
3542 * xmenu.c (menu_highlight_callback): Store help string in the
3543 `arg' member of the input event; don't cons.
3544 (menubar_selection_callback): Use the `arg' slot of input events
3545 to queue additional information, instead of consing.
3546
3547 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
3548
3549 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
3550 TOOL_BAR_EVENTs.
3551 (w32_read_socket): Adapt to changes in HELP_EVENTs.
3552
3553 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
3554 input events to queue additional information, instead of consing.
3555
3556 * keyboard.c (kbd_buffer_gcpro): Renamed from
3557 kbd_buffer_frame_or_window. Now used for all Lisp objects
3558 referenced from the input queue.
3559 (kbd_buffer_store_event): Always use structure assignment for
3560 copying input events. Record all Lisp objects referenced from
3561 events in kbd_buffer_gcpro.
3562 (kbd_buffer_get_event): Construct Lisp `help-echo' events
3563 differently from input events. Test for prefix menu_bar_events
3564 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
3565 event in kbd_buffer_gcpro to nil.
3566 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
3567 frame_or_window is equal to its arg member as prefix events.
3568 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
3569 used by an input event to nil.
3570 (init_keyboard): Use two times the size of the input queue
3571 for kbd_buffer_gcpro.
3572 (syms_of_keyboard): Likewise.
3573
3574 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
3575 USER_SIGNAL_EVENT.
3576
3577 * termhooks.h (struct input_event): Add member `arg'.
3578 (MENU_BAR_EVENT): Renamed from menu_bar_event.
3579 (USER_SIGNAL_EVENT): Renamed from user_signal.
3580
3581 * xfaces.c (ASET): Remove definition.
3582
3583 * lisp.h (AREF, ASET, ASIZE): New macros.
3584
3585 * fontset.c (AREF, ASIZE): Remove definitions.
3586
3587 * fns.c (AREF): Remove definition.
178c5d9c 3588
0f1a9b23
GM
3589 * composite.c (AREF): Remove definition.
3590
712eaef2
GM
35912000-07-12 Gerd Moellmann <gerd@gnu.org>
3592
d8ee7803
GM
3593 * dispnew.c (redraw_overlapped_rows): Add missing local.
3594 (scrolling_window): Remove debug code.
3595
712eaef2
GM
3596 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
3597 Before scrolling, turn off a mouse-highlight in the window
3598 being scrolled.
3599
3600 * xterm.c (x_update_window_end): Add parameter
3601 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
3602 redisplay in XTframe_up_to_date.
3603 (x_clear_mouse_face): New function.
3604 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
3605
3606 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
3607 current glyph row.
3608 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
3609 it when any row is written to that contains glyphs highlighted in
3610 mouse-face.
3611 (update_window): Call the window update end hook with new
3612 parameter MOUSE_FACE_OVERWRITTEN_P.
3613 (direct_output_for_insert): Give up if row contains mouse-face.
3614
3615 * dispextern.h (struct redisplay_interface): Add parameter
3616 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
3617 (clear_mouse_face): New function pointer member.
3618
02010917
SM
36192000-07-11 Stefan Monnier <monnier@cs.yale.edu>
3620
3621 * syntax.c (back_comment): Use one switch rather than a few `if's.
3622 Obey open_paren_in_column_0_is_defun_start.
3623 When reverting to the `slow' method, try to nicely handle the case
3624 of nested comments by checking that the comment-starter we found
3625 does indeed match the comment-ender.
3626 (scan_sexps_forward, scan_sexps_forward):
3627 Ignore excessive opening parenthesis rather than throwing an error.
3628
d76c03ea
GM
36292000-07-11 Gerd Moellmann <gerd@gnu.org>
3630
3631 * doc.c (Fsubstitute_command_keys): Handle case that a GC
3632 in Fwhere_is_internal or get_keymap_1 relocates string contents.
3633
3634 * dispnew.c (direct_output_forward_char): Give up if currently
3635 displaying a message instead of the minibuffer contents.
3636
3637 * xterm.c (x_update_window_begin): No need to turn off the mouse
3638 highlight here.
3639 (show_mouse_face): Set the mouse_face_p flag of glyph rows
3640 depending on whether they contain glyphs highlighted in
3641 mouse-face.
3642
3643 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
3644 compare the mouse_face_p flags of both rows.
3645
3646 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
3647
d55ead18
EZ
36482000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
3649
3650 * keyboard.c (show_help_echo): Accept additional parameter
3651 ok_to_overwrite_keystroke_echo.
3652 (read_char): Call show_help_echo with a zero
3653 ok_to_overwrite_keystroke_echo argument.
3654 * keyboard.h (show_help_echo): Update prototype of
3655 show_help_echo.
3656 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
3657 ok_to_overwrite_keystroke_echo argument.
3658 * w32menu.c (w32_menu_display_help): Call show_help_echo with
3659 non-zero ok_to_overwrite_keystroke_echo argument.
3660
df75b1a3
GM
36612000-07-10 Gerd Moellmann <gerd@gnu.org>
3662
4b92c49a
GM
3663 * xdisp.c (try_window_id): If changes are all below what is
3664 displayed in the window, and point is in the window, we still
3665 might have to find point on the display.
3666
3667 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
3668 glyphs instead of a single one.
3669 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
3670 with new argument list.
3671 (x_set_glyph_string_gc): Make sure the face's GC is valid.
3672
df75b1a3
GM
3673 * keymap.c (get_keymap_1): Add comment that this function can GC.
3674 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
3675 comment that functions can GC.
3676 (Fset_keymap_parent): GCPRO arg KEYMAP.
3677
4314cf3e
EZ
36782000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
3679
3680 * msdos.c (XMenuActivate): After exiting the menu, restore the
3681 echo area message and erase it.
3682
ab49ce15
KH
36832000-07-10 Kenichi Handa <handa@etl.go.jp>
3684
3685 * fontset.c (Ffontset_info): Make the return value more compatible
3686 with that of Emacs 20.
3687
090a072f
GM
36882000-07-07 Gerd Moellmann <gerd@gnu.org>
3689
3690 * eval.c (Fsignal): Handle case that backtrace_list is null.
3691
f92de4a6
KH
36922000-07-07 Kenichi Handa <handa@etl.go.jp>
3693
3694 * ccl.c (Fccl_execute): Typo fixed.
3695
dd8888a1
GM
36962000-07-06 Gerd Moellmann <gerd@gnu.org>
3697
e5c81191 3698 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 3699
dd8888a1
GM
3700 * window.c (Fwindow_list): Reverse list at the end.
3701 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
3702 means allow windows on OWINDOW's frame, only.
3703 (window_loop): Simplified; use Fwindow_list.
3704
3705 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
3706
485266d0
GM
37072000-07-05 Gerd Moellmann <gerd@gnu.org>
3708
3709 * xterm.c (XTread_socket): Increment handling_signal at the start,
3710 decrement it at the end.
3711
3712 * eval.c (handling_signal): New variable.
3713 (Fsignal): Abort if handling_signal is non-zero.
3714
3715 * lisp.h (handling_signal): External declaration.
178c5d9c 3716
485266d0
GM
3717 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
3718
80fcd514
KR
37192000-07-05 Ken Raeburn <raeburn@gnu.org>
3720
3721 Sound support for NetBSD through "Linux emulation" support:
3722 * config.in (HAVE_SOUNDCARD_H): Undef.
3723 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
3724 * Makefile.in (LIBSOUND): New variable.
3725 (LIBES): Include it.
3726 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
3727 <soundcard.h>.
3728 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
3729 elsewhere.
3730 (vox_open): Use DEFAULT_SOUND_DEVICE.
3731 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
3732
d5c5cddd
GM
37332000-07-05 Gerd Moellmann <gerd@gnu.org>
3734
3735 * print.c (print_error_message): If Vsignaling_function is set,
3736 show it in *Messages*.
3737
3738 * lisp.h (Vsignaling_function): External declaration.
3739
3740 * eval.c (Vsignaling_function): New variable.
3741 (Fsignal): Compute it.
3742 (syms_of_eval): Staticpro it.
3743
65171e3a
DL
37442000-07-05 Dave Love <fx@gnu.org>
3745
3746 * syswait.h: Use the autoconf recommended approach. Old code
3747 #if'd out in case we need to revert.
3748
178c5d9c 3749 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 3750
e2c46326
AI
37512000-07-05 Andrew Innes <andrewi@gnu.org>
3752
3753 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
3754 when non-NULL instead of __morecore, to take account of buffer
3755 memory. This also solves a problem with spurious memory warnings
3756 on Windows.
3757
3758 * ralloc.c: Make real_morecore non-static.
3759
3760 * eval.c (internal_condition_case): Comment out abort if
3761 interrupt_input_blocked is not zero.
3762
3763 * makefile.nt: Add support for `bootstrap' and related targets.
3764 Include minimal debug info in emacs.exe in release build.
3765 Remove all dependencies on lisp.h, and fixup some others.
3766
3767 * w32.c (init_environment): Install code from 20.7 for providing
3768 default values for environment variables, based on the
3769 executable's own location.
3770 (map_w32_filename): Handle filenames that are longer than
3771 MAX_PATH.
3772 (sys_socket): Install socket inheritance bug fix from 20.7.
3773
3774 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
3775 here via blockinput.h).
3776
a027a91b
SM
37772000-07-05 Stefan Monnier <monnier@cs.yale.edu>
3778
e4b31601
SM
3779 * w32menu.c (w32_menu_display_help):
3780 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
3781
3782 * keyboard.h (show_help_echo): Declare.
3783
3784 * keyboard.c (show_help_echo): New function, extracted from read_char.
3785 Feval its `msg' argument if it's a cons cell.
3786 (read_char): Use it.
4cf8d9d5 3787 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 3788
178c5d9c 3789 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 3790 (note_tool_bar_highlight, XTread_socket):
178c5d9c 3791 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
3792 (dos_rawgetc):
3793 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
3794 (note_tool_bar_highlight, w32_read_socket):
3795 Do not gratuitously ignore non-string `help-echo' properties.
3796
88d75730
GM
37972000-07-05 Gerd Moellmann <gerd@gnu.org>
3798
969f7e79
GM
3799 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
3800
71201b00
GM
3801 * window.c (delete_all_subwindows): Reset Vwindow_list.
3802
88d75730
GM
3803 * xterm.c (x_append_glyph, x_append_composite_glyph)
3804 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
3805 changes in struct glyph starting 1999-12-27. Some bit-fields of
3806 struct glyph were not set, which made glyphs unequal when compared
3807 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
3808 effects were the result. This also depended on the contents of
3809 memory returned by xmalloc. If flickering happens again, activate
3810 the code in clear_glyph_row that's in #if 0. If the flickering is
3811 gone with that, chances are that it is caused by something
3812 similar.
3813
3814 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 3815
88d75730
GM
3816 * dispextern.h: Add some comments.
3817
3818 * window.c (add_window_to_list): Add parameter LIST.
3819 (window_list): Order list so that, for each frame, windows are
3820 in canonical order, and so that frames appear in the list in
3821 the order given by Vframe_list.
3822 (next_window): Reverse the handling of NEXT_P.
3823
53654733
GM
38242000-07-04 Gerd Moellmann <gerd@gnu.org>
3825
87efd256
GM
3826 * window.c (Vwindow_list): New variable.
3827 (make_window, delete_window): Set Vwindow_list to nil.
3828 (check_window_containing): New function.
3829 (window_from_coordinates): Rewritten.
3830 (add_window_to_list, window_list, candidate_window_p)
3831 (decode_next_window_args, next_window): New functions.
3832 (Fnext_window, Fprevious_window): Rewritten in terms of
3833 next_window.
3834 (Fwindow_list): New function.
3835 (Fother_window): Cleaned up.
3836 (foreach_window): Add a longer "variable argument list". Let
3837 callback function return 0 to indicate that cycling over windows
3838 should stop.
3839 (foreach_window_1): Likewise.
3840 (freeze_window_start): Return int.
3841 (init_window): New function.
3842 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
3843
3844 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
3845 input_event with bzero.
3846 (main): Call init_window.
3847
53654733
GM
3848 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
3849 a menu filter.
3850
4a8c194f
KH
38512000-07-04 Kenichi Handa <handa@etl.go.jp>
3852
3853 * composite.h (make_composition_value_copy): Extern it.
3854
3855 * composite.c (make_composition_value_copy): New function.
3856
3857 * editfns.c (Fformat): While copying text properties, make each
3858 composition property value a copy.
3859
3860 * fns.c (concat): While copying text properties, make each
3861 composition property value a copy.
3862
831a6cb0
GM
38632000-07-03 Gerd Moellmann <gerd@gnu.org>
3864
2f516940
GM
3865 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
3866
178c5d9c 3867 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
3868 marked already.
3869
831a6cb0
GM
3870 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
3871 include those frames as candidates which have their focus
3872 redirected to the minibuffer frame.
3873
d9c4f922
SM
38742000-07-03 Stefan Monnier <monnier@cs.yale.edu>
3875
3876 * fns.c (Fputhash): Return `value' rather than nil.
3877
3780bc22
GM
38782000-06-30 Gerd Moellmann <gerd@gnu.org>
3879
97d176db
GM
3880 * frame.c (next_frame): Don't check focus redirection in case
3881 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
3882 unless their focus is redirected, which contradicts the
3883 specification of next-frame, and leads to infinite loops in
3884 certain situations when cycling through windows with next-window.
3885
dca9961d
KH
38862000-06-30 Kenichi Handa <handa@etl.go.jp>
3887
3888 * coding.c (code_convert_region): Even if the length of text is
3889 zero, try to convert it if coding->type is coding_type_ccl.
3890 (decode_coding_string, encode_coding_string): Likewise.
3891
d5483ab1
GM
38922000-06-28 Gerd Moellmann <gerd@gnu.org>
3893
af5c25e1 3894 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 3895 the display if windows_or_buffers_changed.
af5c25e1
GM
3896
3897 * dispnew.c (struct row_entry): New structure.
3898 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
3899 (row_table_size, old_lines, new_lines, old_lines_size)
3900 (new_lines_size, run_pool, runs_size, runs): New variables.
3901 (add_row_entry): New function.
3902 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 3903 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
3904 holding them in local variables. Use a larger hash table whose
3905 size depends on glyph matrix sizes. Don't use bzero to clear the
3906 hash table; instead, clear used slots only.
3907
3908 * fns.c (next_almost_prime): Make it externally visible.
3909
3910 * lisp.h (next_almost_prime): Add prototype.
3911
d5483ab1
GM
3912 * s/isc4-0.h (sigunblock): Define.
3913
3914 * s/sco5.h (sigunblock): Define.
3915
93e40f40
DL
39162000-06-27 Dave Love <fx@gnu.org>
3917
3918 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
3919 (moved to osf5-0.h).
3920 [!NOT_C_CODE]: Protect string.h stuff.
3921
3922 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
3923 (sys_siglist, NSIG): Definitions moved here from osf1.h.
3924
3c4b7685
GM
39252000-06-27 Gerd Moellmann <gerd@gnu.org>
3926
97d176db 3927 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
3928 below the last line from the needed window height.
3929
32cad0aa
SM
39302000-06-26 Stefan Monnier <monnier@cs.yale.edu>
3931
3932 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
3933 (Fwidget_get): Use it.
3934 (syms_of_fns): Defsubr it.
3935
2c69ced2
GM
39362000-06-26 Gerd Moellmann <gerd@gnu.org>
3937
178c5d9c 3938 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
3939 display info for XIM.
3940 (xim_open_dpy): Likewise.
3941 (xim_close_dpy): Don't free the display info's XIM.
3942
3943 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
3944
3945 * config.in (USE_XIM): New define.
3946
3fc720e4
GM
3947 * keymap.c (get_keyelt): For menu-items containing a `:filter
3948 FILTER', apply FILTER to the menu-item's definition to get the
3949 real definition to use.
3950
3951 * lisp.h (QCfilter): External declaration.
3952
2c69ced2
GM
3953 * xfns.c (Fimage_size): New function.
3954 (syms_of_xfns): Defsubr it.
3955
f978b2a2
AS
39562000-06-26 Andreas Schwab <schwab@suse.de>
3957
3958 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
3959 Fstring_as_unibyte.
3960
94cc7892
DL
39612000-06-25 Dave Love <fx@gnu.org>
3962
3963 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
3964 tgetnum.
3965
3966 * Makefile.in (blockinput.h): Depend on atimer.h.
3967 (atimer.h): Depend on systime.h.
3968
3969 * blockinput.h: Protect against multiple inclusion. Include
3970 atimer.h.
3971
3972 * atimer.h: Protect against multiple inclusion. Include
3973 systime.h.
3974
3975 * lisp.h (swap_in_global_binding): Declare.
3976
b8c24556
KR
39772000-06-24 Ken Raeburn <raeburn@gnu.org>
3978
3979 * process.c (Fopen_network_stream): Turn off atimers for duration
3980 of call to connect. (Patch from Gerd.)
3981
8cf8560b
DL
39822000-06-23 Dave Love <fx@gnu.org>
3983
511c7541
DL
3984 * ralloc.c: Maybe include unistd.h
3985
8cf8560b
DL
3986 * emacs.c (setgrp): Undefine before defining.
3987 (malloc_warning, set_time_zone_rule, index): Prototype.
3988
3989 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
3990 HAVE_STRUCT_TIMEZONE.
3991
3992 * s/osf1.h: Move string.h hack here from alpha.h and make it
3993 conditional.
3994 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
3995 _XOPEN_SOURCE.
3996 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
3997 (SOCKLEN_TYPE): Don't define.
3998
3999 * m/alpha.h: Remove string.h hack.
4000
4001 * s/osf5-0.h: New file.
4002
4003 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
4004 include time.h, done by systime.h.
4005 [__FreeBSD__]: Remove redundant includes.
4006
3fc720e4 4007 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
4008 (delete_temp_file): Return Qnil to avoid warning.
4009
4010 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
4011
4012 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
4013 HAVE_X_WINDOWS.
4014
4015 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
4016
4017 * composite.h (compose_text): Declare.
4018
4019 * xterm.c: Don't include sys/types.h unconditionally. Don't
4020 protect its inclusion with !USG (following xmenu.c).
4021
ea055732
GM
40222000-06-23 Gerd Moellmann <gerd@gnu.org>
4023
4024 * xfns.c (x_create_tip_frame): Initialize frame's colors like
4025 in x_create_frame.
4026
74b01b80
EZ
40272000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
4028
4029 * coding.c (decode_eol_post_ccl): Special handling for undecided
4030 and inconsistent EOL types.
4031
64f3a166
GM
40322000-06-22 Gerd Moellmann <gerd@gnu.org>
4033
16cf31f7
GM
4034 * xrdb.c (x_load_resources): Add default resource for scroll bar's
4035 trough color and main window's background color.
4036
178c5d9c 4037 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
4038 differently.
4039
4040 * xterm.h (Xt_app_con): External declaration.
4041
4042 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 4043
486a103d
GM
4044 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
4045
64f3a166
GM
4046 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
4047 (handle_invisible_prop): Record the start of invisible text in
4048 it->add_overlay_start.
4049 (struct overlay_entry): Add member `overlay'.
4050 (handle_overlay_change): Simplify.
4051 (next_overlay_string): After having processed overlay strings at the
4052 end of the buffer, record that fact in
4053 it->overlay_strings_at_end_processed_p.
4054 (compare_overlay_entries): If before- and after-strings come
4055 from the same overlay, let before-strings come first.
4056 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
4057 (load_overlay_strings): Take it->add_overlay_start into account
4058 when adding overlay strings.
4059
4060 * dispextern.h (struct it): Add member add_overlay_start.
4061
bb746ea6
DL
40622000-06-22 Dave Love <fx@gnu.org>
4063
4064 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
4065
4066 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
4067
a8f573f3
KH
40682000-06-22 Kenichi Handa <handa@etl.go.jp>
4069
4070 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
4071 is greater than 0.
4072
9f2bbc92
DL
40732000-06-21 Dave Love <fx@gnu.org>
4074
178c5d9c 4075 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 4076
3ee5041c
SM
40772000-06-21 Stefan Monnier <monnier@cs.yale.edu>
4078
4079 * syntax.c (back_comment): Simplify string-parity counting (with
4080 the added benefit of handling multiple string-styles as long as
4081 they are not intertwined).
4082 Jump to the slow code as soon as a comment starter is found in
4083 a "string_lossage" position. Fixes the case: " /* " /* " */.
4084
4c343001
DL
40852000-06-21 Dave Love <fx@gnu.org>
4086
4087 * Makefile.in: Use GETLOADAVG_LIBS.
4088
4089 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
4090 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
4091
e6365855
SM
40922000-06-20 Stefan Monnier <monnier@cs.yale.edu>
4093
4094 * syntax.c (describe_syntax): Recognize the `n'estable bit.
4095 (Fforward_comment, scan_lists):
4096 Check the comstyle of single-char comment-starters.
4097 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
4098 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
4099 Check the comstyle of single-char comment-starters.
4100 Clarify control-flow around the Scomment case.
e6365855 4101
5700d2cc
DL
41022000-06-20 Dave Love <fx@gnu.org>
4103
d355bd8a
SM
4104 * fns.c (make_hash_table, maybe_resize_hash_table):
4105 Cast arg of next_almost_prime.
5700d2cc 4106
178c5d9c 4107 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
4108
4109 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
4110 and unistd.h.
4111
4a27bdfb
GM
41122000-06-20 Gerd Moellmann <gerd@gnu.org>
4113
a61d762c
GM
4114 * keyboard.c (adjust_point_for_property): Check if display
4115 property should be treated as intangible by looking at its
4116 value.
4117
178c5d9c 4118 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
4119 (display_prop_intangible_p): New functions.
4120
4121 * dispextern.h (display_prop_intangible_p): Add prototype.
4122
4123 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 4124
4a27bdfb
GM
4125 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
4126 argument to sigprocmask.
4127
4128 * s/sco5.h (sigblock): Redefined to pass a pointer as second
4129 argument to sigprocmask.
4130
4131 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
4132 sigprocmask_set, and pass a pointer to it to sigprocmask.
4133
4134 * sysdep.c (sigprocmask_set): New variable.
4135
4136 * fileio.c (make_temp_name): Don't use `%s' in string passed to
4137 report_file_error.
4138
427ec082
SS
41392000-06-20 Sam Steingold <sds@gnu.org>
4140
4141 * xrdb.c: Don't declare xmalloc, xrealloc.
4142
8972fe79 41432000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
4144
4145 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
4146 (re_comp): Cast gettext return value to avoid complaints when
4147 !HAVE_LIBINTL.
4148
074b6efe
DL
41492000-06-20 Dave Love <fx@gnu.org>
4150
f85c008a
DL
4151 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
4152 HAVE_GETTIMEOFDAY.
4153
5700d2cc 4154 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 4155
d355bd8a 4156 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
4157
4158 * m/alpha.h: Don't declare xmalloc, xrealloc.
4159
0af4f205
DL
4160 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
4161
4162 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
4163
4164 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
4165
4166 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
4167 HAVE_GETWD.
4168
074b6efe
DL
4169 * keyboard.h (poll_for_input_1): Declare.
4170
4171 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
4172
4173 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
4174
4175 * doprnt.c: Don't declare xmalloc, xrealloc.
4176
4177 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
4178 (getenv, ctime, getwd): Removed.
4179 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
4180
4181 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
4182 x_set_tool_bar_lines.
4183
4184 * config.in: Add HAVE_GETWD. Move some definitions above
4185 machine/system includes.
4186
68a5e97b
KH
41872000-06-20 Kenichi Handa <handa@etl.go.jp>
4188
95417e1e
KH
4189 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
4190
68a5e97b
KH
4191 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
4192 contain information about ENCODING.
4193
4194 * fontset.c (FONTSET_ASCII): Use the first element of char table
4195 for an ASCII font, not defalt slot.
4196 (fontset_ref_via_base): If FONTSET doesn't contain information for
4197 C, try the default fontset.
4198 (make_fontset): Don't copy the default fontset.
4199 (fontset_font_pattern): Likewise.
4200 (accumulate_font_info): If ELT is nil, use the corresponding
4201 element in the default fontset.
4202
3b4fa1b2
DL
42032000-06-19 Dave Love <fx@gnu.org>
4204
943e731c
DL
4205 * syntax.c (Fparse_partial_sexp): Doc fix.
4206
4207 * regex.h: Test PROTOTYPES as well as __STDC__.
4208
3b4fa1b2
DL
4209 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
4210 errno, strerror. Put text after #endif in comment.
4211
4212 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
4213 pcc).
4214
4215 * xterm.c (x_frame_of_widget): Likewise.
4216
cdf0357b
GM
42172000-06-19 Gerd Moellmann <gerd@gnu.org>
4218
4219 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
4220 to Vfundamental_mode_abbrev_table.
4221
4222 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
4223 bogus objects are marked. This slows down GC by ~80 percent, but
4224 it might be worth trying when debugging GC-related problems.
4225 This feature requires conservative stack marking to be enabled.
4226
4227 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
4228 returns XLookupChars, reset `modifiers' to zero.
4229
998e9f8c
DL
42302000-06-19 Dave Love <fx@gnu.org>
4231
4232 * mktime.c: Unprotoized.
4233
18e21ce8 42342000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
4235
4236 * data.c (set_internal): If variable is frame-local,
4237 store the new value immediately into the frame parameter alist.
4238
140c4ac6
KR
42392000-06-19 Ken Raeburn <raeburn@gnu.org>
4240
14358466
KR
4241 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
4242 in the custom handler pointer.
4243
140c4ac6
KR
4244 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
4245 value, or checks for CHAR_META can fail when Lisp_Object is a
4246 union type.
4247 * keymap.c (get_keyelt): Likewise.
4248
10d7bf84
KH
42492000-06-19 Kenichi Handa <handa@etl.go.jp>
4250
4251 * ccl.h (struct ccl_program): New member eol_type.
4252 (struct ccl_spec): New member cr_carryover.
4253
4254 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
4255 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
4256
4257 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
4258 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
4259 (decode_eol_post_ccl): New function.
4260 (decode_coding): Don't detect EOL format here for CCL based coding
4261 systems.
4262 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
4263 decode_eol_post_ccl after running the CCL program.
4264 (code_convert_region): Don't detect EOL format here for CCL based
4265 coding systems.
4266 (decode_coding_string): Likewise.
4267
52e386c2
KR
42682000-06-18 Ken Raeburn <raeburn@gnu.org>
4269
4270 * charset.c (update_charset_table): Use XINT on "iso_final_char"
4271 when treating it as an integer.
4272
4273 * coding.h (encode_coding_string): Declare.
4274
4275 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
4276 it as an integer.
4277
4278 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
4279 "xkeymap" to avoid shadowing the "enum map_type" value that needs
4280 to be passed to get_local_map.
4281
4282 * sound.c (Fplay_sound): Don't call make_number on
4283 Frun_hook_with_args count argument.
4284
4285 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
4286 for lisp objects in X event structure data field, when lisp
4287 objects are represented with unions.
4288 (x_scroll_bar_to_input_event): Ditto.
4289
b357b9d4
KR
42902000-06-16 Ken Raeburn <raeburn@gnu.org>
4291
4292 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
4293 termination of string. Fix sense of test whether
4294 Vline_number_display_limit is an integer.
b357b9d4 4295
a871441d
GM
42962000-06-16 Gerd Moellmann <gerd@gnu.org>
4297
a9021acd
GM
4298 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
4299 only if HAVE_X_WINDOWS.
4300
6344985d
GM
4301 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
4302 of titles.
4303
427ec082 4304 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
4305 out of bounds.
4306
228b083e
EZ
43072000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
4308
4309 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
4310 of its headers.
4311
c25b53a2
KH
43122000-06-15 Kenichi Handa <handa@etl.go.jp>
4313
4314 * coding.c (decode_coding_emacs_mule): Always set src_base at the
4315 start of the while loop.
4316
a6981b11
GM
43172000-06-15 Gerd Moellmann <gerd@gnu.org>
4318
e9924e52
GM
4319 * atimer.c (alarm_signal_handler): Add forward declaration.
4320
a6981b11
GM
4321 * data.c (set_internal): Remove debug code.
4322
25fa6deb
GM
43232000-06-14 Gerd Moellmann <gerd@gnu.org>
4324
dce6b995
GM
4325 * Makefile.in (bootstrap-temacs): Add `-I../src'.
4326
9f817ea4
GM
4327 * unexec.c (toplevel) [COFF]: Include coff.h.
4328
4329 * s/lynxos.h: New file.
4330
4331 * keymap.c (Fsingle_key_description): Enclose function key and
4332 event symbol names in angle brackets.
4333
8a4e3c0c
GM
4334 * xdisp.c (setup_echo_area_for_printing): Call
4335 message_log_maybe_newline if message_buf_print is not set.
4336
4337 * print.c (printchar, strout): Don't check message_buf_print
427ec082 4338 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
4339 function does something useful even when message_buf_print is
4340 already set.
4341
25fa6deb
GM
4342 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
4343 variables.
4344 (ensure_echo_area_buffers): Initialize echo buffer's
4345 truncate lines setting to nil.
4346 (with_echo_area_buffer): Don't set the echo buffer's truncate
4347 lines setting here.
8a4e3c0c 4348 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
4349 of message_truncate_lines.
4350 (resize_mini_window): Handle case that lines are truncated.
4351 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
4352 message-truncate-lines.
4353
4354 * keyboard.c (read_char): Bind message-truncate-lines to t
4355 while displaying a help-echo.
4356
4357 * lisp.h (Qmessage_truncate_lines): External declaration.
4358
163dcff3
GM
43592000-06-13 Gerd Moellmann <gerd@gnu.org>
4360
1681ead6
GM
4361 * xdisp.c (Vline_number_display_limit): Renamed from
4362 line_number_display_limit.
4363 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
4364 Extend documentation string. Initialize
4365 Vline_number_display_limit to nil meaning no limit.
4366 (decode_mode_spec): Use Vline_number_display_limit with its new
4367 meaning.
4368
163dcff3
GM
4369 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
4370
18e21ce8 43712000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
4372
4373 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 4374
163dcff3
GM
4375 * xfns.c (x_set_frame_parameters): Comment fix.
4376
4377 * frame.c (store_frame_param): Call swap_in_global_binding if the
4378 variable's current binding was chosen based on this frame.
4379
4380 * data.c (swap_in_global_binding): New function.
4381
a704139d
EZ
43822000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
4383
4384 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
4385 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
4386
9b6610db
EZ
43872000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
4388
4389 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
4390
c68833d2
JR
43912000-06-12 Jason Rumney <jasonr@gnu.org>
4392
4393 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
4394
4395 * w32.h (EMACS_W32_H): Renamed from _NT_H_
4396
4397 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
4398
4399 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
4400
ed1056b3
GM
44012000-06-12 Gerd Moellmann <gerd@gnu.org>
4402
4403 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
4404 (syms_of_xfaces): Defsubr Sdump_colors.
4405 (x_free_colors): Don't treat b&w specially on default visual.
4406 (x_free_dpy_colors): New function.
4407 (free_face_colors): Don't check visual class; it's done
4408 in x_free_colors.
4409
4410 * xterm.c (x_frame_of_widget): New function.
4411 (x_alloc_nearest_color_for_widget): Use it.
4412 (x_copy_dpy_color): New function.
4413 (x_destroy_window): Free various colors.
4414
5050a2ef
KH
44152000-06-12 Kenichi Handa <handa@etl.go.jp>
4416
4417 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
4418
4419 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
4420
4421 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
4422
4423 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
4424
4425 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
4426
fb1b041d
DL
44272000-06-11 Dave Love <fx@gnu.org>
4428
4429 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
4430
ff96b5f4
EZ
44312000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
4432
4433 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
4434
db8eeecd
GM
44352000-06-11 Gerd Moellmann <gerd@gnu.org>
4436
ed1056b3 4437 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
4438 to `XEvent *'.
4439
49b71c5f
KH
44402000-06-10 Kenichi Handa <handa@etl.go.jp>
4441
c479bd55
KH
4442 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
4443 (regex_compile): Fix the code for handling the case of single byte
4444 char and multibyte char being mixed in a range within [...].
4445
ff6a65c2
KH
4446 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
4447 and dst_multibyte members of coding.
4448
49b71c5f
KH
4449 * charset.c (update_charset_table): Update the table
4450 bytes_by_char_head.
4451 (init_charset_once): Initialize elements of bytes_by_char_head to
4452 1 except for leading codes for private charases.
4453
4454 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
4455 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
4456 sequence.
4457
9e80b57d
KR
44582000-06-09 Ken Raeburn <raeburn@gnu.org>
4459
4460 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
4461 access the data it doesn't point to.
4462
f83fe4b4
GM
44632000-06-08 Gerd Moellmann <gerd@gnu.org>
4464
4465 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 4466 will be translated to a switch-frame event when reading the
f83fe4b4
GM
4467 event queue. This is necessary because Emacs otherwise won't
4468 perform a switch-frame to a new frame until some other event, for
4469 example a keystroke event, forces it to do so. This has various
4470 effects, one visible being that the cursor of a frame created with
4471 C-x 5 2 or switched to with a window manager key binding like
4472 A-TAB stays hollow because selected_window isn't on the newly
4473 focused frame until the switch-frame is performed.
4474
4475 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
4476 generating a switch-frame event if necessary.
4477
4478 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
4479
4480 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
4481 it's an integer.
4482
0890801b
KH
44832000-06-08 Kenichi Handa <handa@etl.go.jp>
4484
4485 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
4486 charset.
4487
173cbca8
GM
44882000-06-07 Gerd Moellmann <gerd@gnu.org>
4489
3091c2a6
GM
4490 * window.c (displayed_window_lines): Take empty lines at
4491 the bottom of a window into account.
427ec082 4492
f38952fe
GM
4493 * window.c (displayed_window_lines): New function.
4494 (Fmove_to_window_line): Use displayed_window_lines to determine
4495 the number of lines to move, instead of using the window's height.
4496
4497 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
4498 to stop reading, even if the form read sets point to a different
4499 value when evaluated.
4500
427ec082 4501 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
4502 put the cursor.
4503
6ba6c818
KH
45042000-06-07 Kenichi Handa <handa@etl.go.jp>
4505
4506 * fileio.c (e_write): Free composition data if stored in
4507 coding->cmp_data.
4508
5f1aea9a
GM
45092000-06-06 Gerd Moellmann <gerd@gnu.org>
4510
666852af
GM
4511 * xdisp.c (display_line): Set row's and iterator's
4512 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
4513 Set cursor even if row ends in the middle of a character.
4514 (dump_glyph_row): Print values of new flags.
4515 (redisplay_window) <cursor movement in unchanged window>: When
4516 point has been moved forward, and PT is at the end of the cursor
4517 row, don't place the cursor in the next row if the cursor row ends
4518 in the middle of a character or at ZV.
4519
4520 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
4521 (struct glyph_row): Add starts_in_middle_of_char_p and
4522 ends_in_middle_of_char_p.
4523 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
4524 ends_in_middle_of_char_p flag.
4525 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
4526
d13f3e2e
GM
4527 * term.c (append_glyph): Revert change of 2000-06-06.
4528
4529 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
4530 padding glyph not fitting on line as whole character not
4531 fitting on line.
4532
5f1aea9a
GM
4533 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
4534 this isn't true for images with `:ascent 100'.
4535
10cda9b0
KH
45362000-06-06 Kenichi Handa <handa@etl.go.jp>
4537
ed00559d
KH
4538 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
4539 as modified if it is originally unmodified.
4540
10cda9b0
KH
4541 * term.c (encode_terminal_code): Change the way to check if
4542 terminal coding does any conversion.
4543 (append_glyph): Set glyph->pixel_width correctly.
4544
4545 * xdisp.c (display_line): While checking line continuation, pay
4546 attention to a padding glyph.
4547
1969fae2
GM
45482000-06-05 Gerd Moellmann <gerd@gnu.org>
4549
4550 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
4551
162ccef4
DL
45522000-06-05 Dave Love <fx@gnu.org>
4553
f19f32dd
DL
4554 * xdisp.c: Include fontset.h.
4555
4556 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
4557
4558 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
4559
4560 * dispnew.c: Conditionally include term.h.
4561
4562 * coding.h: Declare code_convert_string_norecord.
4563
4564 * frame.h (struct frame): Use volatile unconditionally.
4565
4566 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
4567
4568 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
4569
4570 * systime.h: Protect against multiple inclusion.
4571 (timezone) [USG5_4]: Define as time_t.
4572
4573 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
4574 (Foptimize_char_table, make_temp_name): Declare.
4575
4576 * Makefile.in (xdisp.o): Depend on fontset.h.
4577
4578 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
4579
4580 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
4581 (Foptimize_char_table, make_temp_name): Declare.
4582
427ec082 4583 * s/irix4-0.h:
162ccef4
DL
4584 * s/irix5-0.h:
4585 * s/netbsd.h: Don't define autoconfiscated MATHERR.
4586
2082fe81
DL
45872000-06-02 Dave Love <fx@gnu.org>
4588
4589 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
4590
dcf671d2
GM
45912000-06-02 Gerd Moellmann <gerd@gnu.org>
4592
4593 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 4594 result face, set flags in that face indicating that colors may not
dcf671d2
GM
4595 be freed.
4596
4597 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
4598 glyph, use the ASCII NUL character to determine the face.
4599
d42122a3
DL
46002000-06-02 Dave Love <fx@gnu.org>
4601
4602 * sysdep.c: Conditionally include stdlib.h, unistd.h.
4603 (VFORK_RETURN_TYPE): Remove.
427ec082 4604
d42122a3
DL
4605 * config.in: Add NO_MATHERR.
4606
dd432f16
DL
46072000-06-01 Dave Love <fx@gnu.org>
4608
90aa4ea8
DL
4609 * cmds.c (internal_self_insert): Don't check
4610 Vbefore_change_function, Vafter_change_function.
4611
4612 * insdel.c (signal_before_change, signal_after_change): Likewise.
4613
4614 * buffer.c (Vbefore_change_function, Vafter_change_function):
4615 Variables and their initializations deleted.
4616
2330c9d4
DL
4617 * callint.c (Fcall_interactively): Doc fix.
4618
dd432f16
DL
4619 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
4620
bf9e8804
DL
46212000-05-31 Dave Love <fx@gnu.org>
4622
4623 * textprop.c: Revert last change -- duplicated.
4624
3694b4ab
GM
46252000-05-31 Gerd Moellmann <gerd@gnu.org>
4626
4627 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
4628 in #if 0.
4629
4630 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
4631
f14156cd
JR
46322000-05-31 Jason Rumney <jasonr@gnu.org>
4633
8119aab8
JR
4634 * search.c (Fre_search_forward, Fre_search_backward)
4635 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
4636
f14156cd
JR
4637 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
4638
4aab9be3
JR
46392000-05-30 Jason Rumney <jasonr@gnu.org>
4640
4641 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
4642 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
4643
4644 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
4645 member.
4646
4647 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
4648 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
4649 expand a nil default_filename.
4650
4651 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
4652 pointer to glyph_to_pixel_coords, not a frame.
4653
4654 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
4655 coding.h to dependencies.
4656
4657 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
4658
4659 * w32console.c (glyph_to_pixel_coords): Change first parameter to
4660 window pointer to be consistent with w32term.c and xterm.c.
4661
4662 * w32fns.c: Format and doc changes to bring closer to xfns.c.
4663 (VIETNAMESE_CHARSET): Define if not defined in system headers.
4664 (Qline_spacing, Qcenter): New variables.
4665 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
4666 (x_set_line_spacing): New function.
4667 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
4668 macros.
4669 (x_specified_cursor_type): New function.
4670 (x_set_cursor_type): Use it.
4671 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
4672 and icon strings.
4673 (validate_x_resource_name, x_get_resource_string): Measure lengths
4674 of external strings in bytes.
4675 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
4676 GetTextExtentPoint32 with NULL title.
4677 (Fx_create_frame): Initialize Qline_spacing.
4678 (w32_load_system_font): Initialize font->double_byte_p.
4679 (x_to_w32_charset): Use Vw32_charset_info_alist.
4680 (Image, busy cursor, tooltip functions): Merged changes from
4681 xfns.c. Not yet functional on Windows.
4682
4683 * w32gui.h (W32FontStruct): Add double_byte_p member.
4684
4685 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
4686 (emacs_button_translation): Use it.
4687 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
4688 in `mask' to be set.
4689
4690 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
4691 menu strings.
4692
4693 * w32term.c: Format and doc changes to bring closer to xterm.c.
4694 (w32_char_font_type): New enum.
4695 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
4696 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
4697 (w32_encode_char): New function.
4698 (x_encode_char): Removed.
4699 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
4700 x_encode_char and w32_font_is_double_byte.
4701 (x_produce_image_glyph): Use image_ascent.
4702 (x_produce_glyphs): Use new version of w32_per_char_metric and
4703 handle NULL return value. Allow extra line spacing.
4704 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
4705 (w32_get_glyph_overhangs): Remove unicode_p param. Use
4706 w32_font_type member of glyph instead.
4707 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
4708 (fast_find_position): Make sure not to consider rows not visible
4709 in the window.
4710 (w32_read_socket) [WM_MENUSELECT]: Cannot call
4711 w32_menu_display_help with input blocked, as it can abort.
4712 (x_display_and_set_cursor): Choose cursor depending
4713 on buffer-local value of cursor_type.
4714 (x_draw_bar_cursor): Add parameter WIDTH.
4715
4716 * w32term.h (CP_DEFAULT): Define.
4717 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
4718
10fc3187
GM
47192000-05-30 Gerd Moellmann <gerd@gnu.org>
4720
4721 * search.c (Fre_search_forward, Fre_search_backward)
4722 (Fposix_search_backward, Fposix_search_forward): Doc fix.
4723
d0555360
KH
47242000-05-30 Kenichi Handa <handa@etl.go.jp>
4725
4726 * coding.c (detect_coding_iso2022): Fix code for checking
4727 CODING_CATEGORY_MASK_ISO_8_2.
4728
f1ad044f
SM
47292000-05-29 Stefan Monnier <monnier@cs.yale.edu>
4730
4731 * regex.c (PREFETCH_NOLIMIT): New function.
4732 (re_match_2_internal): Use it and adjust the end_match_2 logic.
4733
84ec3b4b
GM
47342000-05-29 Gerd Moellmann <gerd@gnu.org>
4735
66254a13
GM
4736 * syntax.c (find_defun_start): Move test for
4737 open_paren_in_column_0_is_defun_start outside of the loop.
4738
49e70dec
GM
4739 * xdisp.c (redisplay_window): Really switch buffers when
4740 displaying mode lines, and temporarily set selected_frame to the
4741 frame of the window that's redisplayed.
4742
84ec3b4b
GM
4743 * xfaces.c (free_realized_faces): Block/unblock input.
4744 (free_realized_multibyte_face): Ditto.
4745
869a3a14
DL
47462000-05-29 Dave Love <fx@gnu.org>
4747
4748 * textprop.c (Qkeymap): New variable.
4749 (syms_of_textprop): Intern it.
4750
4751 * keymap.c: Include intervals.h.
4752 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
4753
4754 * Makefile.in (keymap.o): Depend on intervals.h.
4755
4756 * keyboard.c (menu_bar_items, tool_bar_items)
4757 (Fexecute_extended_command): Deal with `keymap' property.
4758 (read_key_sequence): Track map from `keymap' property as well as
4759 `local_map'.
4760
4761 * intervals.c (get_local_map): Extra arg to allow looking for
4762 `keymap' too.
4763
4764 * intervals.h (map_property): New enum.
4765 (get_local_map): Extra arg using it.
4766 (Qkeymap): Declare.
4767
84ec3b4b 4768 * lisp.h (get_local_map): Don't declare here.
869a3a14 4769
89d0c844
KH
47702000-05-29 Kenichi Handa <handa@etl.go.jp>
4771
4772 * Makefile.in (callproc.o): Depend on composite.h.
4773
4774 * callproc.c: Include composite.h.
4775 (Fcall_process): Handle composition correctly.
4776
4777 * coding.h (coding_allocate_composition_data): Extern it.
4778 (coding_restore_composition): Likewise.
4779
4780 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
4781 yet allocated, finish decoding with result
4782 CODING_FINISH_INSUFFICIENT_CMP.
4783 (coding_allocate_composition_data): Make it non-static.
4784 (coding_restore_composition): Likewise.
4785
797a084a
EZ
47862000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
4787
4788 * charset.c (syms_of_charset): Revert last change.
4789
cf872af5
EZ
47902000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
4791
4792 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
4793 charsets as unibyte, with 1-column screen width. Sent by Kenichi
4794 Handa.
cf872af5 4795
5b1ae051
EZ
47962000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
4797
4798 * charset.c (syms_of_charset): Set width of character sets
4799 eight-bit-control and eight-bit-graphic to 1 column.
4800
34ec9ebe
GM
48012000-05-26 Gerd Moellmann <gerd@gnu.org>
4802
4803 * config.in (HAVE_SPEED_T): New define.
4804
4805 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
4806 `extern speed_t'.
4807
dd854dc2
DL
48082000-05-26 Dave Love <fx@gnu.org>
4809
4810 * coding.c (shrink_decoding_region): Initialize eol_conversion.
4811
4812 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
4813 (Fsubr_arity): New function.
4814 (syms_of_data): Install them.
4815
ba9f8f95
KH
48162000-05-26 Kenichi Handa <handa@etl.go.jp>
4817
0f3e0672
KH
4818 * charset.c (init_charset_once): Set the table bytes_by_char_head
4819 correctly.
4820
cebefb44
KH
4821 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
4822 the default fontset to what Emacs uses by default.
0f3e0672
KH
4823 (check_registry_encoding): This function deleted.
4824 (Fset_fontset_font): Remove the adhoc condition for the default
4825 fontset. Allow cons in FONTNAME.
cebefb44 4826
0f3e0672
KH
4827 * fns.c (map_char_table): Ignore char-table entries for
4828 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 4829
7a18af49
KR
48302000-05-25 Ken Raeburn <raeburn@gnu.org>
4831
4832 * emacs.c (main): Initialize keyboard syms before initializing
4833 window code, so face names are available.
4834
d2af47df
SM
48352000-05-25 Stefan Monnier <monnier@cs.yale.edu>
4836
4837 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
4838 of an anchor at the beginning of a shy-group.
4839
fc6a6a4e
GM
48402000-05-25 Gerd Moellmann <gerd@gnu.org>
4841
4842 * xdisp.c (handle_invisible_prop): Don't try to skip over
4843 invisible text if end of text is already reached.
4844
005f0d35
DL
48452000-05-25 Dave Love <fx@gnu.org>
4846
02513cdd
DL
4847 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
4848
005f0d35
DL
4849 * coding.c (encode_eol): Add null statement after label.
4850
89f6ca4e
EZ
48512000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
4852
4853 * w16select.c (Fw16_set_clipboard_data): Fix the change from
4854 2000-05-20.
4855
a4e1759e
KH
48562000-05-25 Kenichi Handa <handa@etl.go.jp>
4857
4858 * ccl.c (ccl_driver): Fix previous change.
4859
eacfd7fe
KH
48602000-05-25 Kenichi Handa <handa@etl.go.jp>
4861
46ab33a9
KH
4862 * coding.c (run_pre_post_conversion_on_str): Set point to the
4863 beginning of buffer before calling coding->post_read_conversion.
4864 (decode_coding_string): Give correct args to
4865 run_pre_post_conversion_on_str.
4866 (encode_coding_string): Likewise.
4867
eacfd7fe
KH
4868 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
4869 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
4870 eight-bit-graphic correctly.
4871
f8569325
DL
48722000-05-24 Kenichi HANDA <handa@etl.go.jp>
4873
4874 * fileio.c (Finsert_file_contents): Even if a file is not found,
4875 execute codes for setting up coding system. Call
4876 after-insert-file-functions unconditionally.
4877
04545643
GM
48782000-05-24 Gerd Moellmann <gerd@gnu.org>
4879
4880 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
4881 BSD_PGRPS are not defined.
4882
747d90ea
KH
48832000-05-24 Kenichi Handa <handa@etl.go.jp>
4884
4885 * charset.c (update_charset_table): Accept nil in LONG_NAME and
4886 DESCRIPTION.
4887 (syms_of_charset): Avoid building same strings.
4888
716e3b88
GM
48892000-05-23 Gerd Moellmann <gerd@gnu.org>
4890
4891 * lread.c (Fload): Add a comment about the meaning of
4892 Vuser_init_file being t.
4893
4894 * puresize.h (BASE_PURESIZE): Increase to 675000.
4895
4896 * s/gnu-linux.h (setpgrp): Don't define it here because this
4897 prevents compilation on GNU/Linux systems with glib 2.2.
4898
4899 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
4900 as setpgid.
427ec082 4901
9aeb39fa
EZ
49022000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
4903
4904 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
4905 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
4906 version.
4907 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
4908
29ced61b
KH
49092000-05-23 Kenichi Handa <handa@etl.go.jp>
4910
0574a2ed
KH
4911 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
4912 unconditionally.
4913
3d80f24d
KH
4914 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
4915
4916 * term.c (encode_terminal_code): Set coding->src_multibyte
4917 properly.
4918
29ced61b
KH
4919 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
4920
d7e00792
KH
49212000-05-22 Kenichi Handa <handa@etl.go.jp>
4922
c9d80d38
KH
4923 * keyboard.c (read_char): Allow character codes 128..255 to be
4924 handled by input-method-function.
4925
d7e00792
KH
4926 * insdel.c (adjust_markers_for_replace): Fix previous change.
4927 (adjust_after_replace): If PREV_TEXT is nil, call
4928 adjust_markers_for_insert, not adjust_markers_for_replace.
4929
087121cc 49302000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 4931
087121cc
GM
4932 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
4933 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
4934 [HAVE_GRANDPT]: Define.
4935 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
4936
4937 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
4938 like SYSV_PTYS.
4939
4940 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
4941
4942 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
4943
c9671f81
KH
49442000-05-20 Kenichi Handa <handa@etl.go.jp>
4945
4946 The following changes are to handle 8-bit characters in a
4947 multibyte buffer/string without facing with byte combining
4948 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
4949 eight-bit-graphic (for 0xA0..0xFF) are introduced.
4950
4951 * Makefile.in (fns.o): Depend on charset.h.
4952
4953 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
4954 convert it to unibyte.
4955 (make_string): Use parse_str_as_multibyte, not chars_in_text.
4956
4957 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
4958 apparent char boundary.
4959 (Fset_buffer_multibyte): Convert 8-bit characters in the range
4960 0x80..0x9F to/from multibyte form.
4961
4962 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
4963 to unibyte.
4964
4965 * callproc.c (Fcall_process): Always encode an argument string if
4966 it is multibyte. Setup src_multibyte and dst_multibyte members of
4967 process_coding properly.
ce75fd23 4968
c9671f81
KH
4969 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
4970 SPLIT_NON_ASCII_CHAR.
4971
4972 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
4973 as is.
4974 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
4975
4976 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
4977 variables.
4978 (SPLIT_CHARACTER_SEQ): This macro deleted.
4979 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
4980 valid.
4981 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
4982 and eight-bit-graphic.
4983 (char_to_string): Likewise. Signal an error for too large
4984 character code.
4985 (char_printable_p): Return 0 for 8-bit characters.
4986 (update_charset_table): Update iso_charset_table only when a final
4987 character is non-negative.
4988 (find_charset_in_text): Renamed from find_charset_in_str.
4989 Arguments and return value changed. Callers changed.
4990 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
4991 be -1 if CHARSET is used only internally.
4992 (Fmake_char_internal): Handle new charsets; eight-bit-control and
4993 eight-bit-graphic.
4994 (Fcharset_after): Simplified.
4995 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
4996 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
4997 (multibyte_chars_in_text): Simplified by assuming there's no
4998 invalid multibyte sequence.
4999 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
5000 str_as_unibyte): New functions.
5001 (Fstring): Simpified by assuming that byte combining never
5002 happens.
5003 (init_charset_once): Initialization for
5004 LEADING_CODE_8_BIT_CONTROL.
5005 (syms_of_charset): Intern and staticpro Qeight_bit_control and
5006 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
5007 eight-bit-control and eight-bit-graphic.
5008
5009 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
5010 CHARSET_8_BIT_GRAPHIC): New macros.
5011 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
5012 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
5013 (CHARSET_REVERSE_CHARSET): Likewise.
5014 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
5015 eight-bit-graphic.
5016 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
5017 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
5018 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
5019 encounter an invalid multibyte sequence.
5020 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
5021 sequence is always valid.
5022 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
5023 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
5024 macros.
5025 (CHAR_STRING): For 8-bit characters, call char_to_string.
5026 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
5027 multibyte sequence is always valid.
5028 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
5029 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
5030 str_as_unibyte): Extern them.
5031 (BCOPY_SHORT): Fix a bug.
5032 (CHAR_LEN): This macro deleted. Callers changed to use
5033 CHAR_BYTES.
5034 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
5035 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
5036 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
5037
bd4bde7f 5038 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
5039 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
5040 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
5041 EMIT_BYTES): New macros.
5042 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
5043 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
5044 macros deleted.
5045 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
5046 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
5047 check the validity of multibyte sequence.
5048 (decode_coding_emacs_mule): New function.
5049 (encode_coding_emacs_mule): New macro.
5050 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
5051 the source.
5052 (DECODE_ISO_CHARACTER): Just return a character code.
5053 (DECODE_COMPOSITION_START): Set coding->result instead of result.
5054 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
5055 EMIT_CHAR to produced decoded characters. Exit the loop only by
5056 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
5057 block here.
5058 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
5059 only position codes for an invalid character.
5060 (encode_designation_at_bol): Return new destination pointer. 5th
5061 arg DSTP is changed to DST.
5062 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
5063 from the source by ONE_MORE_CHAR. Don't handle the case of last
5064 block here.
5065 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
5066 macros deleted.
5067 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
5068 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
5069 TWO_MORE_BYTES to fetch a byte from the source.
5070 (encode_eol): Pay attention to coding->src_multibyte.
5071 (detect_coding, detect_eol): Preserve members src_multibyte and
5072 dst_multibyte.
5073 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
5074 (encoding_buffer_size): Set magnification to 3 for all coding
5075 systems that require encoding.
5076 (ccl_coding_driver): For decoding, be sure that the result is
5077 valid multibyte sequence.
5078 (decode_coding): Initialize coding->errors and coding->result.
5079 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
5080 and raw-text, always call decode_eol. Handle the case of last
5081 block here. If not coding->dst_multibyte, convert the resulting
5082 sequence to unibyte.
5083 (encode_coding): Initialize coding->errors and coding->result.
5084 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
5085 and raw-text, always call encode_eol. Handle the case of last
5086 block here.
5087 (shrink_decoding_region, shrink_encoding_region): Detect cases
5088 that we can't skip data more rigidly.
5089 (code_convert_region): Setup src_multibyte and dst_multibyte
5090 members of coding. For decoding, if the buffer is multibyte,
5091 convert the source sequence to unibyte in advance. For encoding,
5092 if the buffer is multibyte, convert the resulting sequence to
5093 multibyte afterward.
5094 (run_pre_post_conversion_on_str): New function.
5095 (code_convert_string): Deleted and divided into the following two.
5096 (decode_coding_string, encode_coding_string): New functions.
5097 (code_convert_string1, code_convert_string_norecord): Call one of
5098 above.
5099 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
5100 MAKE_NON_ASCII_CHAR.
5101 (Fset_terminal_coding_system_internal,
5102 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
5103 and dst_multibyte members.
5104 (init_coding_once): Initialize iso_code_class with new enum
5105 ISO_control_0 and ISO_control_1.
5106
5107 * coding.h (enum iso_code_class_type): Member ISO_control_code is
5108 devided into ISO_control_0 and ISO_control_1.
5109 (struct coding_system): New members src_multibyte, dst_multibyte,
5110 errors, and result. Delete member fake_multibyte.
5111 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
5112 nonzero.
5113 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
5114 nonzero.
5115
5116 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
5117 (Faset): Likewise.
5118
5119 * editfns.c (Fformat): Be sure to convert 8-bit characters to
5120 multibyte form.
5121 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
5122 combining occurs.
5123 (Ftranspose_region): Delete codes for handling byte combining.
5124
5125 * fileio.c (Finsert_file_contents): Setup src_multibyte and
5126 dst_multibyte members of coding. On handling REPLACE on unibyte
5127 buffer, convert the result of decode_coding to unibyte. On
5128 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 5129 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
5130 multibyteness of the source (buffer or string).
5131
5132 * fns.c (concat): Handle 8-bit characters correctly.
5133 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
5134 unibyte in the result.
5135 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
5136 valid multibyte form in the result.
5137 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
5138 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
5139 return -1, signal an error.
5140 (base64_encode_1): New arg MULTIBYTE. Get each character by
5141 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
5142 character is found, return -1.
5143 (Fbase64_decode_region): Delete codes for handling byte-combining.
5144 Treat each decoded byte as a unibyte character.
5145 (Fbase64_decode_string): Return unibyte string.
5146 (Fcompare_strings, concat, string_byte_to_char): Use
5147 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
5148 FETCH_STRING_CHAR_ADVANCE.
5149 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
5150 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
5151
5152 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
5153 SPLIT_NON_ASCII_CHAR.
5154 (fontset_ref_via_base, fontset_set): Likewise
5155
5156 * insdel.c (adjust_markers_for_record_delete): Deleted.
5157 (adjust_markers_for_insert): Argument changed. Caller changed.
5158 (adjust_markers_for_replace): Likewise.
5159 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
5160 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
5161 (copy_text): Delete unused local varialbe c_save. For converting
5162 to multibyte, be sure to make all 8-bit characters in valid
5163 multibyte form.
5164 (count_size_as_multibyte): Handle 8-bit characters correctly.
5165 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
5166 adjust_after_replace, replace_range, del_range_2)
5167 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
5168 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
5169 adjust_after_replace, replace_range, del_range_2) Delete codes for
5170 handling byte combining.
5171 (adjust_before_replace): Deleted.
427ec082 5172
c9671f81
KH
5173 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
5174 SPLIT_NON_ASCII_CHAR.
5175 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
5176 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
5177 unconditionally.
5178 (Fkey_description): Likewise.
5179
5180 * lread.c (read1): On reading multibyte string, be sure to make
5181 all 8-bit chararacters in valid multibyte form.
5182 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
5183
5184 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
5185 unconditionally.
5186
5187 * process.c (Fstart_process): GCPRO current_dir before calling
5188 Ffind_operation_coding_system. Encode arguments here.
5189 (create_process): Don't encode arguments here. Setup
5190 src_multibyte and dst_multibyte members of struct coding.
5191 (read_process_output): Setup src_multibyte and dst_multibyte
5192 members of struct coding. If the output is to multibyte buffer,
5193 always decode the output of the process. Adjust the
5194 representation of 8-bit characters to the multibyteness of the
5195 output.
5196 (send_process): Setup coding->src_multibyte according to the
5197 multibyteness of the source.
5198
5199 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
5200 unconditionally.
5201 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
5202 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
5203
5204 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
5205 CHAR_LEN.
5206
5207 * w16select.c (Fw16_set_clipboard_data): Setup members
5208 src_multibyte and dst_multibyte of coding. Adjusted for the
5209 change for find_charset_in_str.
5210 (Fw16_get_clipboard_data): Likewise.
5211
5212 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
5213 dst_multibyte of coding.
5214 (x_to_w32_font): Likewise.
5215
5216 * w32select.c (Fw32_set_clipboard_data): Setup members
5217 src_multibyte and dst_multibyte of coding. Adjusted for the
5218 change for find_charset_in_str.
5219 (Fw32_get_clipboard_data): Likewise.
5220
5221 * xdisp.c (get_next_display_element): Handle 8-bit characters
5222 correctly.
5223 (next_element_from_display_vector): Use CHAR_BYTES instead of
5224 CHAR_LEN.
5225 (disp_char_vector): Use SPLIT_CHAR instead of
5226 SPLIT_NON_ASCII_CHAR.
5227
5228 * xselect.c (selection_data_to_lisp_data): Setup members
5229 src_multibyte and dst_multibyte of coding. Adjusted for the
5230 change for find_charset_in_str.
5231 (lisp_data_to_selection_data): Likewise.
5232
5f64c9e0
GM
52332000-05-19 Gerd Moellmann <gerd@gnu.org>
5234
2b63d473
GM
5235 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
5236 buffer.
5237
5f64c9e0
GM
5238 * dispextern.h (Vimage_types): Add extern declaration.
5239
5240 * xdisp.c (Vimage_types): Moved here from xfns.c.
5241 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
5242
5243 * xfns.c (Vimages_types): Moved to xdisp.c.
5244 (syms_of_xfns): Move `image-types' to xdisp.c.
5245
5246 * w32fns.c (Vimage_types): Removed.
5247 (syms_of_w32fns): Remove `image-types'.
5248
813086ea
KH
52492000-05-18 Kenichi Handa <handa@etl.go.jp>
5250
5251 * fns.c (map_char_table): Pay attention to character number of
5252 charset. Check the validity of charset at the first level. For
5253 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
5254 the default value.
5255
5256 * fontset.c: Include "buffer.h".
5257 (fs_load_font): If the face has fontset, record the face ID in
5258 that fontset.
5259 (Finternal_char_font): New function.
5260 (accumulate_font_info): New function.
5261 (Ffontset_info): Rewritten for the new fontset implementation.
5262 (syms_of_fontset): Register Vdefault_fontset in the first element
5263 of Vfontset_table. Include Vdefault_fontset in
5264 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
5265 function.
5266
bdaebbf0
DL
52672000-05-16 Dave Love <fx@gnu.org>
5268
5269 * m/iris5d.h: Deleted -- unused.
5270
cb613bb8
GM
52712000-05-16 Gerd Moellmann <gerd@gnu.org>
5272
b15f3b77
GM
5273 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
5274 `invalid' instead of `illegal'.
5275
5276 * indent.c (Fmove_to_column): When ending within a tab, insert
5277 spaces first so that markers at the end of the tab get adjusted.
5278
835c1b36
GM
5279 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
5280 buffer list that wasn't selected in that frame.
5281
cb613bb8
GM
5282 * filelock.c (get_boot_time): To obtain an 8 char file name, which
5283 is needed on mescaline, use a 2 char prefix, and call
5284 make_temp_name with second arg non-zero.
5285
5286 * fileio.c (make_temp_name): New function, extracted from
5287 Fmake_temp_name.
5288 (Fmake_temp_name): Use it.
5289
f685bea9
EZ
52902000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
5291
5292 * window.c (coordinates_in_window): Subtract 1 when computing
5293 right_x.
5294
a1b8d58b
GM
52952000-05-15 Gerd Moellmann <gerd@gnu.org>
5296
5297 * Makefile.in (lisp): Add env.elc.
5298
5299 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
5300
a265079f
GM
53012000-05-12 Gerd Moellmann <gerd@gnu.org>
5302
5303 * search.c (Freplace_match): Handle case of `\N' in the
5304 replacement when there's no group N.
5305
da4496b6
GM
53062000-05-11 Gerd Moellmann <gerd@gnu.org>
5307
0ace421a
GM
5308 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
5309 of the message to message_dolog.
5310
1172eb8d
GM
5311 * keyboard.c (read_char): Don't clear current message for help
5312 events; let the code handling help events handle this. Change
5313 code detecting help events that should be ignored.
5314
da4496b6
GM
5315 * xdisp.c (handle_single_display_prop): Don't try to set PT if
5316 we're interating over a string.
5317
0623e40f
DL
53182000-05-09 Dave Love <fx@gnu.org>
5319
5320 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
5321 that offset before writing. Move gcpro region past call of
5322 Ffile_regular_p.
5323
bae2503b
DL
53242000-05-04 Dave Love <fx@gnu.org>
5325
5326 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
5327
ec82fb2f
GM
53282000-05-04 Gerd Moellmann <gerd@gnu.org>
5329
5330 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
5331 of inserted characters when BUF equals the current buffer, and PT
5332 is in front of or equal to FROM.
5333
cbf18892
GM
53342000-05-03 Gerd Moellmann <gerd@gnu.org>
5335
4ff40dd0
GM
5336 * xdisp.c (handle_single_display_prop): If display property value
5337 is invalid, or something not supported on the frame, restore
5338 iterator's position to what it was initially. Make sure to return
5339 0 for invalid and unsupported property values.
5340
cbf18892
GM
5341 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
5342 that x_per_char_metric returns null.
5343
1b0672c3
GM
53442000-05-02 Gerd Moellmann <gerd@gnu.org>
5345
576da55d
GM
5346 * xterm.h (struct face): Add forward declaration.
5347 (struct image): Ditto.
5348 (image_ascent): Add prototype.
5349
5350 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5351 (x_draw_image_relief, x_draw_image_foreground_1): Call function
5352 image_ascent instead of using IMAGE_ASCENT.
5353
5354 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
5355 (IMAGE_ASCENT): Removed.
5356
5357 * xfns.c (Qcenter): New variable.
5358 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
5359 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
5360 (image_ascent): New function.
5361 (lookup_image): Recognize `:ascent center'.
5362 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5363 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
5364 (xbm_load): Don't set image's ascent here.
5365 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
5366 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
5367 check ascent values here.
5368 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
5369 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
5370 (syms_of_xfns): Initialize Qcenter.
5371
1b0672c3
GM
5372 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
5373 to the limits, increase the limits.
5374
0d7811ed
KH
53752000-05-01 Kenichi Handa <handa@etl.go.jp>
5376
5377 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
5378 Check Vfont_encoding_alist against the full name of the opened
5379 font.
5380
a943a5ca
GM
53812000-04-28 Gerd Moellmann <gerd@gnu.org>
5382
5383 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
5384 taller than the window.
5385
5dba1e29
KH
53862000-04-28 Kenichi Handa <handa@etl.go.jp>
5387
5388 * xfaces.c (realize_x_face): Fix the argument of the second
5389 xassert. BASE_FACE may not be a face for ASCII.
5390
353964e3
GM
53912000-04-27 Gerd Moellmann <gerd@gnu.org>
5392
c76e04a8
GM
5393 * print.c (print_object): Treat print-length < 0 as nil.
5394
5395 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
5396
5397 * s/freebsd.h (TERMCAP_OBJ): Removed.
5398 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
5399
5400 * lread.c (read1): Don't treat period followed by certain
5401 characters as symbol start.
5402
5403 * xfns.c (slurp_file): New function.
5404 (xbm_image_p): Handle case of in-memory XBM files.
5405 (xbm_scan): Rewritten to work on memory buffers instead of files.
5406 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
5407 Work on memory buffers instead of files. If DATA is null test
5408 if buffer looks like an in-memory XBM file.
5409 (xbm_load_image): Renamed from xbm_load_image_file. Work on
5410 memory buffers instead of files.
5411 (xbm_file_p): New function.
5412 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
5413
353964e3
GM
5414 * lread.c (end_of_file_error): New function.
5415 (read1): Call it instead of signaling `end-of-file' directly.
5416
427ec082 5417 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
5418 with Fprinc instead of Fprin1.
5419
24d744ac
KR
54202000-04-26 Ken Raeburn <raeburn@gnu.org>
5421
5422 * window.c (freeze_window_start): Check that minibuffer scroll
5423 window isn't nil before extracting the window structure pointer
5424 from it.
5425
5426 * undo.c (record_delete): If we hit the end of the undo list, stop
5427 picking elements apart.
5428
7464346d
GM
54292000-04-26 Gerd Moellmann <gerd@gnu.org>
5430
5431 * xdisp.c (display_line): If lines are continued, restore
5432 iterator's ascent/descent information to the values before the
5433 first glyph not fitting on the line.
5434
612839b6
GM
54352000-04-25 Gerd Moellmann <gerd@gnu.org>
5436
5437 * xdisp.c (try_window_id) <all changes above window start>: Adjust
5438 positions in glyph matrix. Don't compute new window end
5439 positions.
5440
5441 * dispnew.c (increment_matrix_positions): Renamed from
5442 increment_glyph_matrix_buffer_positions.
5443 (increment_row_positions): Renamed from
5444 increment_glyph_row_buffer_positions.
5445
5446 * dispextern.h: Change names of renamed functions from dispnew.c
5447 in prototypes.
5448
cc181e95
GM
54492000-04-24 Gerd Moellmann <gerd@gnu.org>
5450
abfcc168
GM
5451 * fileio.c (Fdo_auto_save): Create directories for auto-save
5452 list file if necessary.
5453
cc181e95
GM
5454 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
5455 from buffer or frame.
5456 (automatic_hscrolling_p): New variable.
5457 (hscroll_windows): Scroll windows horizontally only if automatic
5458 hscrolling is allowed.
5459 (syms_of_xdisp): New variable `automatic-hscrolling'.
5460
5461 * frame.h (struct frame): Add member extra_line_spacing.
5462
5463 * xfns.c (x_set_line_spacing): New function.
5464 (Fx_create_frame): Set line spacing from resources.
5465 (Qline_spacing): New variable.
5466 (syms_of_xfns): Initialize Qline_spacing.
427ec082 5467
cc181e95
GM
5468 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
5469
5470 * buffer.c (init_buffer_once): Handle extra_line_spacing.
5471 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 5472 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
5473 extra_line_spacing from default value.
5474 (init_buffer_once): Initialize default value of extra_line_spacing.
5475
5476 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
5477 and extra3.
5478
5479 * xterm.c (x_produce_glyphs): Remove reference to struct it's
5480 prompt_width. Add extra line spacing.
5481
5482 * term.c (produce_glyphs): Remove reference to struct it's
5483 prompt_width.
5484
5485 * dispextern.h (struct it): Remove member prompt_width, add
5486 extra_line_spacing.
5487
58827478
GM
54882000-04-22 Gerd Moellmann <gerd@gnu.org>
5489
5490 * dispnew.c (update_frame_line): When writing a whole line, make
5491 sure cursor is in the right row afterwards, otherwise a use of
5492 capability `ch' in cmgoto might leave the cursor in the row below.
5493
25a87f42
GM
54942000-04-21 Gerd Moellmann <gerd@gnu.org>
5495
5496 * lisp.h (struct Lisp_Buffer_Cons): Remove.
5497
5498 * keyboard.c (timer_check): Fix typo in comment.
5499
54edf5c2
KH
55002000-04-21 Kenichi Handa <handa@etl.go.jp>
5501
5502 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
5503 name change: ch -> character.
5504
3a64eef5
GM
55052000-04-20 Gerd Moellmann <gerd@gnu.org>
5506
5507 * keyboard.c (echo_message_buffer): New variable.
5508 (echo_now): Set echo_message_buffer to the echo area buffer used
5509 to display the echo.
5510 (cancel_echoing): Reset echo_message_buffer to nil.
5511 (read_char): Code rewritten that handles canceling an echo or
5512 echoing a dash, respectively.
5513
5514 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
5515 directory doesn't exist.
5516
6142fdcb
DL
55172000-04-19 Dave Love <fx@gnu.org>
5518
5519 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
5520 (concat): Don't allow numeric args.
5521 (Fconcat): Doc change.
6142fdcb 5522
ac6b5352
SM
55232000-04-19 Stefan Monnier <monnier@cs.yale.edu>
5524
5525 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
5526 instead define end_match(1|2) more carefully.
5527 Use GET_CHAR_BEFORE_2 for `begline'.
5528
cb9215e4
GM
55292000-04-19 Gerd Moellmann <gerd@gnu.org>
5530
5e3dac3f
GM
5531 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
5532 on 64-bit systems where NULL is defined as `0'.
5533
5534 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
5535 the `variable argument list' to make it work on Alpha.
5536
cb9215e4
GM
5537 * m/alpha.h (_LP64) [!_LP64]: Define.
5538 (ORDINARY_LINK): Define for NetBSD.
5539
5540 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 5541
f532dca0
DL
55422000-04-19 Dave Love <fx@gnu.org>
5543
c750667e
DL
5544 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
5545 change.
5546
5547 * Makefile.in (LIBS): Don't use.
5548 (GETLOADAVG_OBJ): Define again.
5549 (otherobj): Add GETLOADAVG_OBJ.
5550
f532dca0
DL
5551 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
5552
1c7e22fd
GM
55532000-04-18 Gerd Moellmann <gerd@gnu.org>
5554
f6d3257b
GM
5555 * lread.c (read_filtered_event): Cancel and start busy cursor.
5556
427ec082 5557 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
5558 that the per-character metrics may be null.
5559
e10f64e7
GM
55602000-04-17 Gerd Moellmann <gerd@gnu.org>
5561
0daee095
GM
5562 * buffer.c (clone_per_buffer_values): New function.
5563 (Fmake_indirect_buffer): Add optional argument CLONE. Call
5564 clone_per_buffer_values if CLONE is not nil.
5565
e10f64e7
GM
5566 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5567
38687d43
DL
55682000-04-16 Dave Love <fx@gnu.org>
5569
5570 * Makefile.in: Remove obsolete localcpp stuff.
5571 (GETLOADAVG_OBJ): Don't define.
5572 (obj): Move LIBOBJS...
5573 (otherobj): ... to here.
5574 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
5575 whitespace-only lines after the continuation (Irix).
5576
c21c7262
GM
55772000-04-14 Gerd Moellmann <gerd@gnu.org>
5578
5579 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
5580
5581 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
5582
314767c0
DL
55832000-04-14 Dave Love <fx@gnu.org>
5584
5585 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
5586 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
5587 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
5588 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
5589 NLIST_STRUCT.
5590
5591 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
5592 autoconfiscated HAVE_GETLOADAVG.
5593
5594 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
5595 BROKEN_MKTIME.
5596
a2522dca
GM
55972000-04-14 Gerd Moellmann <gerd@gnu.org>
5598
5599 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
5600 (fill_in_lock_file_name): Avoid existing files that aren't
5601 links.
5602
33744b5d
DL
56032000-04-14 Dave Love <fx@gnu.org>
5604
c21c7262 5605 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
5606 (INTERVAL_SRC): Convert to make variable.
5607 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
5608 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
5609 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
5610 add LIBOBJS.
5611 (SOME_MACHINE_OBJECTS): Remove interval stuff.
5612 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
5613 (shortlisp): Add facemenu, float-sup, frame.
5614 (SOME_MACHINE_LISP): Remove them from here.
5615 (LIBES): Change unused LDLIBS to autoconf LIBS.
5616
5617 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
5618
9d3d5916
KH
56192000-04-14 Kenichi Handa <handa@etl.go.jp>
5620
5621 * composite.c (update_compositions): If FROM and TO are not in a
5622 valid range, do nothing.
5623
198e3c7a
GM
56242000-04-13 Gerd Moellmann <gerd@gnu.org>
5625
5626 * tparam.c (tparam1): Abort when encountering an unknown
5627 `%'-specifier.
5628
5629 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
5630 terminfo.o.
5631
5632 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
5633 as TERMCAP_OBJ.
5634
055a28c9
EZ
56352000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
5636
5637 * fileio.c (a_write): Remove redundant semi-colons.
5638 (e_write): Return -1 if failed to write all the data.
5639 This fixes the changes made at 1999-12-15.
5640
f5c75033
DL
56412000-04-12 Dave Love <fx@gnu.org>
5642
5643 * fns.c (mapcar1): Test for null vals to support mapc.
5644 (Fmapc): New function.
5645
0c3cfc51
EZ
56462000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
5647
5648 * msdos.c (NUM_MOUSE_BUTTONS): Define.
5649 (IT_frame_up_to_date): Support the buffer local value of
5650 cursor-type, if defined.
5651
33465a31
DL
56522000-04-10 Dave Love <fx@gnu.org>
5653
5654 * editfns.c (preceding-char, following-char): Doc fix.
5655
6ed56568
KR
56562000-04-10 Ken Raeburn <raeburn@gnu.org>
5657
5658 * Makefile.in (temacs): Revert 2000-03-12 change.
5659
7cf80d4e
JR
56602000-04-10 Jason Rumney <jasonr@gnu.org>
5661
5662 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
5663
34f3f342
GM
56642000-04-10 Gerd Moellmann <gerd@gnu.org>
5665
1a1b1895
GM
5666 * xdisp.c (setup_echo_area_for_printing): Choose an echo
5667 area buffer, if it's not set up yet.
5668
34f3f342
GM
5669 * indent.c (compute_motion): Set immediate_quit.
5670
be0dbdab
GM
56712000-04-09 Gerd Moellmann <gerd@gnu.org>
5672
c45be9ac
GM
5673 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
5674 variable.
5675 (realize_tty_face): Suppress boldness if colors are the inverse of
5676 the default colors, and tty_suppress_bold_inverse_default_colors_p
5677 is set.
5678 (Ftty_suppress_bold_inverse_default_colors): New function.
5679 (syms_of_xfaces): Defsubr it.
5680
be0dbdab
GM
5681 * buffer.c (Frestore_buffer_modified_p): New function.
5682 (syms_of_buffer): Defsubr it.
5683
e8413c3b
KR
56842000-04-08 Ken Raeburn <raeburn@gnu.org>
5685
87f67317
KR
5686 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
5687 charset id (int) argument, not a charset (Lisp_Object).
5688
e8413c3b
KR
5689 * coding.h (code_convert_string): Declare.
5690 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
5691 object, as the fourth argument to code_convert_string.
5692
5693 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
5694 value.
5695 (Fset_fontset_font): Use EQ to compare lisp objects.
5696
7c752c80
KR
56972000-04-05 Ken Raeburn <raeburn@gnu.org>
5698
c0333abc
KR
5699 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
5700 a pointer that looks like a lisp object.
5701 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
5702 zero, instead see whether it's an integer object, since they can't
5703 have intervals.
5704 (GET_INTERVAL_OBJECT): Simply assign to the destination.
5705
7c752c80
KR
5706 * dispnew.c (allocate_matrices_for_frame_redisplay,
5707 direct_output_forward_char): Use X(U)INT and make_number as needed
5708 to convert between (unsigned) int values and lisp integers.
5709 * keyboard.c (read_key_sequence): Likewise.
5710 * lread.c (substitute_object_recurse): Likewise.
5711 * fns.c (concat, hash_lookup, hash_remove): Likewise.
5712 * minibuf.c (do_completion, Fminibuffer_complete_word,
5713 Fminibuffer_completion_help): Likewise.
5714 * term.c (produce_special_glyphs): Likewise.
5715
5716 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
5717 * print.c (print_preprocess, print_object): Likewise.
5718
5719 * search.c (compile_pattern): Use NILP when checking for nil.
5720
74e49b38
KR
5721 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
5722 __OPTIMIZE__]: Provide a GNU C macro version that handles
5723 lisp-object unions.
5724 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
5725 field, to better cope with ENABLE_CHECKING and calls that modify a
5726 Lisp_Object using its old value.
5727
685e5ed2
GM
57282000-04-04 Gerd Moellmann <gerd@gnu.org>
5729
c407c570
GM
5730 * window.c (compare_window_configurations): Signal an error
5731 if parameters C1 or C2 aren't window configurations.
5732
685e5ed2
GM
5733 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
5734 AFTER_POTENTIAL_GC calls around calls to functions that can
5735 signal an error and thus invoke the debugger.
5736
587a49ab
GM
57372000-04-03 Gerd Moellmann <gerd@gnu.org>
5738
62f20204
GM
5739 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
5740 an error if decoding fails.
5741
587a49ab
GM
5742 * keyboard.c (lispy_mouse_names): Variable removed.
5743 (Vlispy_mouse_stem): New variable.
5744 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
5745 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
5746 for any mouse button number. Increase size of mouse_syms and
5747 button_down_location as needed. Call modify_event_symbol with
5748 different arguments.
5749 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
5750 Call modify_event_symbol with different arguments.
5751 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
5752 for any button number. Call modify_event_symbol with different
5753 arguments.
5754 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
5755 Accept a string for NAME_ALIST_OR_STEM.
5756
5757 * lisp.h (larger_vector): Add prototype.
5758
5759 * fns.c (larger_vector): Make externally visible.
5760
5761 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
5762
2d1675e4
SM
57632000-04-02 Stefan Monnier <monnier@cs.yale.edu>
5764
5765 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
5766 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
5767 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
5768 we are between str1 and str2.
5769 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
5770 (PATFETCH): Use `TRANSLATE'.
5771 (PATFETCH_RAW): Fetch multibyte char if applicable.
5772 (PATUNFETCH): Remove.
5773 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
5774 When writing a char, write it directly into the pattern buffer rather
5775 than going needlessly through a temp char-array.
5776 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
5777 multibyte magic and remove the useless `#ifdef emacs'.
5778 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
5779 buffer.
5780
5781 * regex.h (struct re_pattern_buffer): Make field `multibyte'
5782 conditional on `emacs'.
5783
5784 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
5785
cc2d8c6b
KR
57862000-04-01 Ken Raeburn <raeburn@gnu.org>
5787
5788 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
5789 non-union-type versions of XMARK and friends here, because XMARK
5790 and friends won't work on an integer field if NO_UNION_TYPE is not
5791 defined.
5792 (make_number): Define as a function if it's not defined as a
5793 macro.
5794
09654086
KR
5795 * composite.c (run_composite_function): Use NILP when checking for
5796 nil.
5797 (syms_of_composite): Delete local var NARGS, pass an int as first
5798 argument to Fmake_hash_table.
5799
2387b382
KR
5800 * editfns.c (text_property_stickiness): Use NILP to test
5801 Lisp_Object boolean value.
5802 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
5803 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
5804 problems reading from and changing the same lisp value in an
5805 XSETSTRING call.
5806
27660e89
GM
58072000-04-01 Gerd Moellmann <gerd@gnu.org>
5808
5809 * term.c (TN_no_color_video): New variable.
5810 (term_init): Intitialize TN_no_color_video.
5811 (enum no_color_bit): New enumeration.
5812 (MAY_USE_WITH_COLORS_P): New macro.
5813 (turn_on_face): Use it to determine if attributes may be used
5814 combined with colors.
5815
3578db3c
KR
58162000-04-01 Ken Raeburn <raeburn@gnu.org>
5817
5818 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
5819 with int lvalues via casts; instead, just yield lisp object
5820 lvalues.
5821 (enlarge_window): Variable sizep now points to Lisp_Object. Use
5822 proper accessor macros.
5823 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
5824 (grow_mini_window): Fix typo getting int value of root->height.
5825
6fc556fd
KR
5826 * xdisp.c (compute_string_pos): Fix order of arguments to
5827 string_pos_nchars_ahead.
5828 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
5829 count arg to variable-arg routines like Frun_hook_with_args and
5830 Fformat.
587a49ab
GM
5831 (back_to_previous_visible_line_start)
5832 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
5833 fixed-arg routines like Fget_char_property and Fmake_string.
5834 (reconsider_clip_changes): Use XINT when comparing integer lisp
5835 objects, or passing them as int arguments.
587a49ab
GM
5836 (mark_window_display_accurate, insert_left_trunc_glyphs)
5837 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
5838 storing or passing integer values as lisp objects.
5839 (set_cursor_from_row, highlight_trailing_whitespace): Use
5840 INTEGERP, not implicit test against zero, for glyph object.
5841 (try_window_id): Don't use make_number when we want an int value.
5842
5843 * xfaces.c (xlfd_symbolic_value): Make last argument a
5844 Lisp_Object, to be consistent with callers.
5845 (Fbitmap_spec_p): Use XINT to get numeric value of height.
5846 (lface_hash): Apply XFASTINT to lisp values before folding in.
5847
5848 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
5849 fill in window width and height. Pass an int, not a lisp object,
5850 as first arg to Finsert.
5851
6e7b2457
GM
58522000-04-01 Gerd Moellmann <gerd@gnu.org>
5853
610d841e
GM
5854 * xfaces.c (realize_basic_faces): Block input while realizing
5855 the faces.
5856
6e7b2457
GM
5857 * keyboard.c (lispy_mouse_names): Add additional mouse names.
5858
5859 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
5860
aa110c0c
GM
58612000-03-31 Gerd Moellmann <gerd@gnu.org>
5862
5863 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 5864 or ASCII, handle case that per-char metric is null.
aa110c0c 5865
8801a864
KR
58662000-03-30 Ken Raeburn <raeburn@gnu.org>
5867
c6129d7e
KR
5868 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
5869
8801a864
KR
5870 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
5871 XSUBR, XBUFFER): Verify correct object type before returning
5872 pointer, using eassert.
5873 * frame.h (XFRAME): Likewise.
5874
5875 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
5876 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
5877 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
5878 type.
5879 * data.c (set_internal): Likewise.
5880 * dispextern.h (WINDOW_WANTS_MODELINE_P,
5881 WINDOW_WANTS_HEADER_LINE_P): Likewise.
5882 * fileio.c (auto_save_1): Likewise.
5883 * insdel.c (check_markers): Likewise.
5884 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
5885 * undo.c (record_insert): Likewise.
5886 * vmsproc.c (child_sig): Likewise.
5887 * window.c (unshow_buffer, window_loop): Likewise.
5888 * xterm.c (x_erase_phys_cursor): Likewise.
5889
8e7af858
GM
58902000-03-30 Gerd Moellmann <gerd@gnu.org>
5891
5892 * xfns.c (free_image_cache): Free the cache structure itself
5893 last, after all its members have been freed.
5894
5895 * lisp.h (xstrdup): Add prototype.
5896
5897 * alloc.c (xstrdup): Moved here from xfaces.c.
5898 (allocating_for_lisp): Variable removed.
5899 (lisp_malloc): Block input around the calls to malloc and
5900 mem_insert.
5901
5902 * xfaces.c (realize_tty_face): Use find_symbol_value instead
5903 of Fsymbol_value.
5904 (xstrdup): Moved to alloc.c.
5905
e0b8c689
KR
59062000-03-29 Ken Raeburn <raeburn@gnu.org>
5907
b96f9fb7
KR
5908 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
5909
5910 * emacs.c (main): Fix sense of no-loadup test.
5911
e0b8c689
KR
5912 * config.in (ENABLE_CHECKING): Undef.
5913
5914 * lisp.h (struct interval): Replace "parent" field with a union of
5915 interval pointer and Lisp_Object; add new bitfield to use as
5916 discriminant. Change other flag fields to bitfields.
5917 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
5918 is defined and the supplied test fails, print a message and
5919 abort.
5920 (eassert): New macro. Use CHECK to provide an assert-like
5921 facility.
5922
5923 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
5924 pointers; abort if the value looks like a lisp object.
5925 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
5926 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
5927 Modify for new interval parent definition.
5928
5929 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
5930 UNMARK_BALANCE_INTERVALS): Update references that need an
5931 addressable lisp object in the interval structure.
5932 (die): New function.
5933 (suppress_checking): New variable.
5934
5935 * intervals.c (interval_start_pos): Just return 0 if there's no
5936 parent object.
5937
f83c5440
GM
59382000-03-29 Gerd Moellmann <gerd@gnu.org>
5939
5940 * lread.c (read1): Accept `.' (period) as symbol start like in CL
5941 and earlier Emacs versions.
5942
5943 * keyboard.c (Ftop_level): Cancel busy-cursor.
5944
5945 * eval.c (call_debugger): Cancel busy-cursor.
5946
fdce64ff
KH
59472000-03-29 Kenichi Handa <handa@etl.go.jp>
5948
5949 * search.c (Freplace_match): Adjust multibyteness of the current
5950 buffer and NEWTEXT. Free allocated memory before signaling an
5951 error.
5952
f6a3f532
SM
59532000-03-28 Stefan Monnier <monnier@cs.yale.edu>
5954
5955 * regex.c (analyse_first): New function obtained by ripping out most
5956 of re_compile_fastmap and generalizing it a little bit so that it
5957 can also just return whether a given (sub)pattern can match the empty
5958 string or not.
5959 (regex_compile): Use `analyse_first' to decide whether the loop-check
5960 needs to be done or not for *, +, *? and +? (the loop check is costly
5961 for non-greedy repetition).
5962 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
5963
e9b309ac
DL
59642000-03-28 Dave Love <fx@gnu.org>
5965
bb15bd9a
DL
5966 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
5967 alpha.
5968
e9b309ac
DL
5969 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
5970
ed0767d8
SM
59712000-03-27 Stefan Monnier <monnier@cs.yale.edu>
5972
5973 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
5974 an expression.
5975 (enum re_opcode_t): Update description of succeed_n.
5976 (PATFETCH): Always define.
5977 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
5978 operators, char classes, shy-groups and intervals).
5979 Optimize special cases of intervals so as to only use succeed_n and
5980 jump_n when really needed.
5981 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
5982 that we don't have to handle the special cases any more.
5983 Simplify on_failure_jump handling as well.
5984
e11e7e46
JR
59852000-03-28 Jason Rumney <jasonr@gnu.org>
5986
5987 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
5988
88faab89
GM
59892000-03-27 Gerd Moellmann <gerd@gnu.org>
5990
182ff242
GM
5991 * s/freebsd.h (GC_SETJMP_WORKS): Define.
5992
5993 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 5994
182ff242
GM
5995 * alloc.c (mark_maybe_object): New function.
5996 (mark_memory): Use it.
5997 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
5998 (setjmp_tested_p, longjmp_done): New variables.
5999 (test_setjmp): New function.
6000 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
6001 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
6002
c1005d06
GM
6003 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
6004 to DEC_TEXT_POS and INC_TEXT_POS.
6005
6006 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
6007 with parameter MULTIBYTE_P.
6008
427ec082 6009 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
6010 MULTIBYTE_P.
6011
7439e5b9 6012 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
6013 buffers because it looks for multibyte character byte sequences
6014 which don't exist in unibyte text.
7439e5b9 6015
d9c545da
GM
6016 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
6017
11fd416e 6018 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
6019 [DEBUG_X_COLORS]: New functions.
6020 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
6021
6022 * xfns.c (x_set_cursor_color): Get color reference counts right.
6023
6024 * xterm.c (x_copy_color): New function.
6025 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
6026
6027 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
6028 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
6029 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
6030 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
6031 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
6032 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
6033 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
6034 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
6035 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
6036 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
6037
11fd416e
GM
6038 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
6039 names for handling per-buffer variables.
d9c545da
GM
6040
6041 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
6042 instead of MAX_BUFFER_LOCAL_VARS.
6043 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
6044
6045 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
6046
88faab89
GM
6047 * xfns.c (x_specified_cursor_type): New function.
6048 (x_set_cursor_type): Use it.
6049
6050 * buffer.h (struct buffer): Add cursor_type.
6051
d80f42b7
SM
60522000-03-26 Stefan Monnier <monnier@cs.yale.edu>
6053
6054 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 6055 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 6056 opcode.
d80f42b7
SM
6057 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
6058 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
6059 executing it as well as when popping it off the stack to find infinite
6060 loops in non-greedy repetition operators.
6061
89e80928
GM
60622000-03-26 Gerd Moellmann <gerd@gnu.org>
6063
3d4ff2dd
GM
6064 * doc.c (Qfunction_documentation): New variable.
6065 (syms_of_doc): Initialize Qfunction_documentation.
6066 (Fdocumentation): If FUNCTION is a symbol with non-nil
6067 `function-documentation' property, return a documentation derived
6068 from that.
6069
bd96bd79
GM
6070 * buffer.c (syms_of_buffer): Add default-cursor-type.
6071 (init_buffer_once): Don't let cursor_type have a local value
6072 in every buffer.
6073
19d1bc27
GM
6074 * xterm.c (x_display_and_set_cursor): Choose cursor depending
6075 on buffer-local value of cursor_type.
6076 (x_draw_bar_cursor): Add parameter WIDTH.
6077
6078 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
6079 (init_buffer_once): Set default cursor_type value to t.
6080 Mark cursor_type as local everywhere.
6081 (syms_of_buffer): New per-buffer variable cursor-type.
6082
89e80928
GM
6083 * buffer.h (struct buffer): Remove member local_var_flags,
6084 add local_flags.
6085 (MAX_BUFFER_LOCAL_VARS): New macro.
6086 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
6087 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
6088 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
6089 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
6090
6091 * print.c (print_object): Use new macros for per-buffer
6092 variables.
6093
6094 * category.c (Fset_category_table): Use new macros for per-buffer
6095 variables.
6096
6097 * buffer.c (buffer_permanent_local_flags): Make a char array.
6098 (max_buffer_local_idx): New variable.
6099 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
6100 for new handling of per-buffer variables.
6101 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
6102 (init_buffer_once): Initialize per-buffer vars differently.
6103 Set max_buffer_local_idx.
6104
6105 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
6106 variables.
6107
6108 * lread.c (defvar_per_buffer): Use new macros for per-buffer
6109 variables.
6110
6111 * data.c (do_symval_forwarding, store_symval_forwarding)
6112 (find_symbol_value, set_internal, default_value, Fset_default)
6113 (Fkill_local_variable, Flocal_variable_p): Use new macros for
6114 per-buffer variables.
6115
6116 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
6117
9a0dd3dc
GM
61182000-03-24 Gerd Moellmann <gerd@gnu.org>
6119
b68c375f
GM
6120 * xterm.c (x_term_init): Unblock input around call1 of
6121 Qvendor_specific_keysyms.
6122
9a0dd3dc
GM
6123 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
6124 (find_defun_start): Consider an open parenthesis in column 0
6125 a defun start only if open_paren_in_column_0_is_defun_start is set.
6126 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
6127
7973e637
SM
61282000-03-24 Stefan Monnier <monnier@cs.yale.edu>
6129
6130 * eval.c (Fautoload): Add entry in load-history (if after dump).
6131 * lread.c (load-history): Update docstring.
6132
39210e90
GM
61332000-03-24 Gerd Moellmann <gerd@gnu.org>
6134
6135 * indent.c (Fvertical_motion): Always use the current buffer.
6136 Temporarily change the window's buffer, if necessary.
6137
72db3ab5
GM
61382000-03-23 Gerd Moellmann <gerd@gnu.org>
6139
6140 * xterm.c (fast_find_position): Make sure not to consider rows
6141 not visible in the window.
6142
990b2375
SM
61432000-03-22 Stefan Monnier <monnier@cs.yale.edu>
6144
6145 * regex.c (enum syntaxcode): Provide default for non-Emacs.
6146 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
6147
ff4df011
JR
61482000-03-22 Jason Rumney <jasonr@gnu.org>
6149
6150 * w32menu.c (single_submenu): Set help string to NULL if none.
6151 (w32_menu_show): Set help string correctly.
6152 (add-menu-item): Set help string in MIIM_DATA for menu item.
6153 Load SetMenuItemInfoA explicitly.
6154 (w32_menu_display_help): New function.
427ec082 6155
ff4df011
JR
6156 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
6157 (QCdata): Moved to xdisp.c.
6158
6159 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
6160 (Vw32_charset_to_codepage_alist): Removed.
6161 (Vw32_charset_info_alist): New variable.
6162 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
6163 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
6164 greek, hebrew, thai, johab, mac, unicode]): New symbols.
6165 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
6166 with TODO comment.
6167 (w32_codepage_for_font): Use Vw32_charset_info_alist.
6168 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
6169 Define Vw32_charset_info_alist and w32_charset symbols.
6170
61712000-03-22 Jason Rumney <jasonr@gnu.org>
6172
6173 * makefile.nt (w32bdf.obj): Update dependencies.
6174
6175 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
6176
6177 * w32fns.c: Include fontset.h after dispextern.h.
6178 (Fx_create_frame): Do not create fontset.
6179 (w32_load_system_font): Doc fix.
6180 (Fx_close_connection): Free full_name if it is not shared.
6181
6182 * w32term.c: Include fontset.h after dispextern.h.
6183 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
6184 updated.
6185 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
6186 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
6187 (w32_font_is_double_byte): New function, needs body.
6188 (x_append_glyph): Set glyph->glyph_not_available_p.
6189 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
6190 it->charset. If it->multibyte_p is zero and it->c is a multibyte
6191 character, convert it to a unibyte character.
6192 (struct glyph_string): Delete member `charset'.
6193 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
6194 calculating it is found.
6195 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
6196 the case that per char metric is not available correctly.
6197 (x_fill_glyph_string): Handle the case that the specific glyph is
6198 not available correctly.
6199 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
6200 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
6201 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
6202 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
6203 fontset. Don't call FS_LOAD_FONT.
6204
439d5cb4
KR
62052000-03-22 Ken Raeburn <raeburn@gnu.org>
6206
6207 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
6208 (INT_LISPLIKE): New macro.
6209 (NULL_INTERVAL_P): Use it.
6210 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
6211 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
6212 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
6213
6214 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
6215 explicit references to "parent" field of struct interval and
6216 associated unclean type conversions.
6217 * intervals.c (create_root_interval, root_interval, rotate_right,
6218 rotate_left, balance_possible_root_interval, split_interval_right,
6219 split_interval_left, interval_start_pos, find_interval,
6220 next_interval, previous_interval, update_interval,
6221 adjust_intervals_for_insertion, delete_node, delete_interval,
6222 adjust_intervals_for_deletion, merge_interval_right,
6223 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
6224 copy_intervals_to_string): Likewise.
6225 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
6226 Likewise.
6227 * syntax.c (update_syntax_table): Likewise.
6228
6229 * intervals.c (reproduce_tree_obj): New function, like
6230 reproduce_tree but takes a Lisp_Object for the parent. Declare
6231 with prototype.
6232 (graft_intervals_into_buffer): Use it when appropriate.
6233 (reproduce_tree): Declare with prototype.
6234 (balance_possible_root_interval): Check that the parent is a lisp
6235 object before trying to examine its type.
6236
ee1c5b21
GM
62372000-03-22 Gerd Moellmann <gerd@gnu.org>
6238
6239 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
6240 as strings only if both are known to be strings.
6241
6242 * s/openbsd.h (LIBS_TERMCAP): Undef.
6243
1fb352e0
SM
62442000-03-21 Stefan Monnier <monnier@cs.yale.edu>
6245
6246 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
6247 definitions for non-Emacs compilation.
6248 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
6249 outside of `#ifdef emacs'.
6250 (print_partial_compiled_pattern): Update.
6251 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
6252 (re_compile_fastmap): Merge handling of charset and charset_not (for
6253 emacs and non-emacs compilation as well).
6254 Similarly for (not)categoryspec and (not)syntaxspec.
6255 Don't use the fastmap when reaching `anychar' since the added
6256 complexity is not justified.
6257 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
6258 and (not)syntaxspec. Merge (not)categoryspec.
6259
fdaa1f77
KH
62602000-03-22 Kenichi Handa <handa@etl.go.jp>
6261
ff1a0d8e
KH
6262 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
6263 FACE_FOR_CHAR): Define them differently for the configuration of
6264 --without-x.
fdaa1f77 6265
d152fb46
DL
62662000-03-21 Dave Love <fx@gnu.org>
6267
6268 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
6269 doc string.
6270
d2cafc8c
GM
62712000-03-21 Gerd Moellmann <gerd@gnu.org>
6272
6273 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
6274 (lface_fully_specified_p): Don't check contents of
6275 LFACE_FONT_INDEX because that attribute is optional.
6276 (realize_x_face): Remove now unwarranted xassert.
6277
9111d4b5
KH
62782000-03-21 Kenichi HANDA <handa@etl.go.jp>
6279
6280 The following changes are to make font selection based on
6281 characters, not charset. In addition, they recover fontset
6282 facilities while utilizing the new font selection mechanism.
6283
6c4bfdc0
KH
6284 * Makefile.in (fontset.o): Depend on dispextern.h.
6285
6286 * alloc.c (mark_face_cache): Don't mark face->registry.
6287
9111d4b5
KH
6288 * dispextern.h (struct glyph): New member glyph_not_available_p.
6289 Use 22 bits for face_id.
6290 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
6291 (struct face): Delete member registry, new member ascii_face.
6292 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
6293 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
6294 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
6295 (struct it): Delete member charset, new member
6296 glyph_not_available_p.
6297
6298 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
6299 (struct fontset_info, struct fontset_data): Structs removed.
6300 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
6301 Vglobale_fontset_alist, font_idx_temp): Externs removed.
6302 (fs_load_font, fs_query_fontset): Adjusted for new argument.
6303 (fs_free_face_fontset, fontset_font_pattern,
6304 face_suitable_for_char_p, face_for_char,
6305 make_fontset_for_ascii_face): Extern them.
6306 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
6307 (FS_LOAD_FACE_FONT): New macro.
6308
6309 * fontset.c: All codes rewritten or adjusted for the change of
6310 fontset implementation. Now fontset is represented by char table.
6311 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
6312 removed.
6313 (my_strcasecmp): Function removed.
6314 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
6315 variables.
6316 (AREF, ASIZE): New macros.
6317 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
6318 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
6319 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
6320 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
6321 fontset_id_valid_p, font_family_registry, fontset_name,
6322 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
6323 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
6324 New functions.
6325 (fs_load_font): New arg FACE. Caller changed.
6326 (fs_query_fontset): Argument changed. Caller changed.
6327 (Fquery_fontset): call fs_query_fontset.
6328 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
6329 Functions removed.
6330 (clear_fontset_elements, check_registry_encoding,
6331 check_fontset_name): New functions.
6332 (syms_of_fontset): Set char-table-extra-slots property of fontset
6333 to 3. Staticpro and initialize Vfontset_table and
6334 Vdefault_fontset. Defsubr fontset_font and fontset_list.
6335
6336 * frame.h (struct frame): Member `fontset_data' removed.
6337 (FRAME_FONTSET_DATA): Macro removed.
6338
6339 * frame.c (make_frame): Don't allocate f->fontset_data.
6340 (Fdelete_frame): Don't free f->fontset_data.
6341
6c4bfdc0
KH
6342 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
6343
9111d4b5
KH
6344 * xdisp.c (charset_at_position): Function removed.
6345 (init_iterator): Don't set member charset of struct `it'.
6346 (handle_face_prop, reseat_to_string, set_iterator_to_next,
6347 next_element_from_display_vector, insert_left_trunc_glyphs):
6348 Likewise.
6349 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
6350 FACE_FOR_CHARSET.
6351 (get_next_display_element, append_space,
6352 extend_face_to_end_of_line): Likewise.
6353
6354 * xfaces.c (Qx_charset_registry, Vface_default_registry):
6355 Variables removed.
6356 (clear_font_table, frame_update_line_height, load_face_font):
6357 Adjusted for the change of fontset implementation.
6358 (load_face_fontset_font): Function removed.
6359 (pixel_point_size): New function.
6360 (font_list): Argument type changed. Caller changed.
6361 (LFACE_FONT): New macro.
6362 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
6363 (set_lface_from_font_name): Type of arg FONTNAME is changed to
6364 Lisp_Object. Determine the font name by actually loading a font
6365 by the specified pattern. Set LFACE_FONT (lface) to the specified
6366 pattern. Even if a font is not found, don't try alternatives.
6367 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
6368 (set_font_frame_param): If `font' is specified in lface, use it.
6369 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
6370 (lface_same_font_attributes_p): Likewise.
6371 (make_realized_face): Arguent changed. Caller changed. Set
6372 face->ascii_face to face itself.
6373 (free_realized_face): Free face->fontset if face is for ASCII.
6374 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
6375 deduce_unibyte_registry, x_charset_registry): Functions removed.
6376 (free_realized_multibyte_face): New function.
6377 (lookup_face, lookup_named_face, lookup_derived_face): Argument
6378 changed. Caller changed.
6379 (try_font_list): Argument type changed.
6380 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
6381 (choose_face_font): Argument changed. Handle fontset properly.
6382 (choose_face_fontset_font): Function removed.
6383 (realize_default_face, realize_named_face): Don't remove the
6384 former face here.
6385 (realize_face): Argument changed. Caller changed. Remove face
6386 with the arg former_face_id in advance. Load font for the new
6387 face.
6388 (realize_x_face): Argument changed. Caller changed. For a
6389 multibyte character, share fontset with base_face. For a single
6390 byte character, make a new realized fontset. Don't load a font
6391 here.
6392 (realize_tty_face): Argument changed. Caller changed.
6393 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
6394 (face_at_buffer_position): Don't check multibyte_p for returning
6395 DEFAULT_FACE_ID.
6396 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
6397 FACE_SUITABLE_FOR_CHARSET_P.
6398 (syms_of_xfaces): Remove code for Qx_charset_registry and
6399 Vface_default_registry.
6400
6c4bfdc0
KH
6401 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
6402 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
6403 (x_per_char_metric): Don't try FONT->default_char. Even if
6404 pcm->width is zero, glyph bits may exist.
6405 (x_encode_char): Always initialize char2b->byte1.
6406 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
6407 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
6408 changed.
6409 (x_append_glyph): Set glyph->glyph_not_available_p.
6410 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
6411 it->charset. Handle the case that per char metric is not
6412 available. If it->multibyte_p is zero and it->c is a multibyte
6413 character, convert it to a unibyte character.
6414 (struct glyph_string): Delete member `charset'.
6415 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
6416 the case that per char metric is not available correctly.
6417 (x_fill_glyph_string): Handle the case that the specific glyph is
6418 not available correctly.
6419 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
6420 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
6421 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
6422 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
6423 fontset. Don't call FS_LOAD_FONT.
6424
6425 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
6426 (x_create_tip_frame): Likewise.
6427 (Fx_close_connection): Free full_name of font_info.
6428
6429 * fns.c (optimize_sub_char_table): New function.
6430 (Foptimize_char_table): New function.
6431 (syms_of_fns): Defsubr Soptimize_char_table.
6432
b33dd3b0
GM
64332000-03-20 Gerd Moellmann <gerd@gnu.org>
6434
6435 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
6436 only if buffer is displayed in some window.
6437
6438 * xdisp.c (handle_single_display_prop): Initialize local `value'.
6439 (try_window_reusing_current_matrix): Don't call scroll run
6440 function if run's current and desired position are the same;
6441 this prevents cursor flickering.
6442
4e8a9132
SM
64432000-03-19 Stefan Monnier <monnier@cs.yale.edu>
6444
6445 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
6446
6447 * regex.c (RE_STRING_CHAR): New macro.
6448 (GET_CHAR_AFER_2): Remove.
6449 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
6450 (enum re_opcode_t): Remove on_failure_jump_exclusive.
6451 (print_partial_compiled_pattern, re_compile_fastmap)
6452 (re_match_2_internal): Remove on_failure_jump_exclusive.
6453 (regex_compile): Turn optimizable P+ loops into PP*, so that the
6454 optimization only need to work for * (ie. can use of_keep_string_jump).
6455 Remove the special case for .*\n since it is now covered by the general
6456 optimization.
6457 (re_search_2): Don't bother with `room'.
6458 (skip_one_char): New function.
6459 (skip_noops): Simplify since `memory' is not needed any more.
6460 (mutually_exclusive_p): Restructure slightly to use `switch' and
6461 add handling for "all" remaining cases.
6462 (re_match_2_internal): Change on_failure_jump_smart to use
6463 on_failure_keep_string_jump (and redirect the end-of-loop jump)
6464 rather than on_failure_jump_exclusive.
6465
2136fdd4
GM
64662000-03-19 Gerd Moellmann <gerd@gnu.org>
6467
6468 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
6469 number of bits per RGB because it's everywhere used as the depth
6470 of the visual.
6471
6472 * term.c (calculate_costs): Remove code dealing with X frames.
6473
18e21ce8 64742000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
6475
6476 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
6477
d7b511c4
GM
64782000-03-18 Gerd Moellmann <gerd@gnu.org>
6479
6480 * lread.c (read_integer): Unread the last char not consumed.
6481
16b5d424
GM
64822000-03-17 Gerd Moellmann <gerd@gnu.org>
6483
6484 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 6485 which are in the process of being deleted.
16b5d424 6486
1fa28578
GM
64872000-03-16 Gerd Moellmann <gerd@gnu.org>
6488
83488cce
GM
6489 * Makefile.in (mostlyclean): Add `*.core'.
6490 (clean): Add `bootstrap-emacs'.
6491
1fa28578
GM
6492 * lread.c (read_integer): New function.
6493 (read1): Support read syntax #o, #x, #b, #r.
6494
99633e97
SM
64952000-03-15 Stefan Monnier <monnier@cs.yale.edu>
6496
1fa28578
GM
6497 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
6498 make sure POINTER_TO_OFFSET gives the same value before and after
6499 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
6500 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
6501 (debug): Now only active if > 0 rather than if != 0.
6502 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
6503 (print_partial_compiled_pattern): Add missing `succeed' case. Use
6504 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
6505 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
6506 (store_op1, store_op2, insert_op1, insert_op2)
6507 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
6508 (group_in_compile_stack): Move to after its arg's types are
6509 declared and add a prototype.
99633e97 6510 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
6511 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
6512 wrapper.
99633e97 6513 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
6514 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
6515 indentation of the greedy-op and shy-group code.
99633e97
SM
6516 (at_(beg|end)line_loc_p): Fix argument's types.
6517 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
6518 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
6519 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
6520 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
6521 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
6522 QUIT unconditionally.
99633e97 6523
699238d9
GM
65242000-03-15 Gerd Moellmann <gerd@gnu.org>
6525
6526 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
6527 a sole completion.
6528
6529 * process.c (send_process): Add a hint that the function
6530 can call Lisp code to its comment.
6531
6532 * lread.c (load_dangerous_libraries): New variable.
6533 (Vbytecomp_version_regexp): New variable.
6534 (safe_to_load_p): New function.
6535 (Fload): Handle files not compiled with Emacs specially.
6536 (syms_of_lread): New Lisp variable load-dangerous-libraries.
6537
34e23e5a
GM
65382000-03-14 Gerd Moellmann <gerd@gnu.org>
6539
9c763cca
GM
6540 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
6541
6542 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
6543 support functions only if HAVE_X11R6_XIM is defined.
6544 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
6545
6546 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
6547
6548 * xfns.c (X_I18N_INHIBITED): Don't define.
6549 (create_frame_xic): Remove conditional compilation on
6550 X_I18N_INHIBITED.
6551 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
6552
6553 * config.in (HAVE_X_I18N): Moved here from xterm.h.
6554 (HAVE_X11R6_XIM): Define.
6555
6556 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
6557
34e23e5a
GM
6558 * xterm.c (x_term_init): Add support for X resource `synchronous'.
6559 If set, call XSynchronize.
6560
66f0296e
SM
65612000-03-13 Stefan Monnier <monnier@cs.yale.edu>
6562
34e23e5a
GM
6563 * regex.c: Declare a new type `re_char' used throughout the code
6564 for the string char type. It's `const unsigned char' to match the
6565 rest of Emacs. Consistently make sure all pointers to strings use
6566 it and make sure all pointers into the pattern use `unsigned
6567 char'.
66f0296e 6568 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
6569 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
6570 code duplication.
66f0296e
SM
6571
6572 * charset.h (GET_CHAR_AFTER_2): Remove.
6573 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
6574
854a025c
KR
65752000-03-12 Ken Raeburn <raeburn@gnu.org>
6576
6577 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
6578 variable before the invocation of YMF_PASS_LDFLAGS, in case both
6579 of them try to use backquotes.
6580
b9d2c7e2
DL
65812000-03-12 Dave Love <fx@gnu.org>
6582
6583 * unexelf.c: Restore changes of 1999-10-19.
6584 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
6585 fix its type and alignment; copy it from current process.
6586
5e5dff44
GM
65872000-03-12 Gerd Moellmann <gerd@gnu.org>
6588
9b2f3c38
GM
6589 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
6590 has been found. Fix bug not computing timer's predecessor.
6591
427ec082 6592 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
6593 file name.
6594
e1cff360
GM
6595 * window.c (Fsave_window_excursion): Doc fix.
6596
5e5dff44
GM
6597 * xfns.c (x_defined_color): Rewritten to use
6598 x_allocate_nearest_color.
6599
e411ce4b
EZ
66002000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
6601
6602 * msdos.c (vga_installed): New function, code moved from
6603 dos_set_window_size.
6604 (Qbar, Qcursor_type, outside_cursor): New variables.
6605 (syms_of_msdos): Intern and staticpro them.
6606 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
6607 shape used outside Emacs when called for the first time.
6608 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
6609 cursor shape used outside Emacs.
6610 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
6611 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
6612 type has changed.
6613 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
6614 parameters specify the cursor. Make qreverse a global
6615 variable (renamed to Qreverse).
6616
80460654
GM
66172000-03-09 Gerd Moellmann <gerd@gnu.org>
6618
6619 * fns.c (Fy_or_n_p): Cancel busy-cursor.
6620
95cd4c40
SM
66212000-03-08 Stefan Monnier <monnier@cs.yale.edu>
6622
6623 This is a big redesign of failure-stack and register handling, prompted
6624 by bugs revealed when trying to add shy-groups. Overall, what happened
6625 is that loops are now structured a little differently, groups can be
6626 shy and the code is a little simpler.
6627
6628 * regex.h: Update the copyright.
6629 (RE_SHY_GROUPS): New value.
6630 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
6631 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
6632
80460654
GM
6633 * regex.c (enum re_opcode_t): Remove jump_past_alt,
6634 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
6635 on_failure_jump_(exclusive, loop and smart). Also fix the comment
6636 for (start|stop)_memory since they now only take one argument (the
6637 second has becomes unnecessary).
6638 (print_partial_compiled_pattern): Adjust for changes in
6639 re_opcode_t.
6640 (print_compiled_pattern): Use %ld to printf long ints and flush to
6641 make debugging a little easier.
95cd4c40
SM
6642 (union fail_stack_elt): Make the integer unsigned.
6643 (struct fail_stack_type): Add a `frame' element.
6644 (INIT_FAIL_STACK): Init `frame' as well.
6645 (POP_PATTERN_OP): New macro for re_compile_fastmap.
6646 (DEBUG_PUSH, DEBUG_POP): Remove.
6647 (NUM_REG_ITEMS): Remove.
6648 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
6649 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
6650 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 6651 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
6652 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
6653 macros.
6654 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
6655 address pushed is not the destination of the jump but the source
6656 of it instead.
95cd4c40
SM
6657 (NUM_FAILURE_ITEMS): Remove.
6658 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
6659 registers before the actual failure point). Don't hardcode any
6660 meaning for str==NULL anymore.
95cd4c40 6661 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
6662 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
6663 Remove.
95cd4c40
SM
6664 (REG_UNSET_VALUE): Use NULL (why not?).
6665 (compile_range): Remove declaration since it doesn't exist.
6666 (struct compile_stack_elt_t): Remove inner_group_offset.
6667 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
6668 (regex_grow_registers): Remove dead code.
6669 (FIXUP_ALT_JUMP): New macro.
80460654
GM
6670 (regex_compile): Add shy-groups Change loops to use
6671 on_failure_jump_smart&jump instead of
6672 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
6673 initial (dummy_failure_)jump. Remove c1_base (looks like unused
6674 variable to me). Use `jump' instead of `jump_past_alt' and don't
6675 bother with push_dummy_failure in alternatives since it is now
6676 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
6677 emacs' for (re)allocating the stack.
6678 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
6679 from loop when bufp->can_be_null rather than jumping to `done'.
6680 Avoid jumping backwards so as to ensure termination. Use
6681 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
6682 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 6683 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
6684 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
6685 improve mutually_exclusive_p to handle ".+\n".
6686 (lowest_active_reg, highest_active_reg,
6687 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
6688 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
6689 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
6690 variables. Push register (in `start_memory') on the stack rather
6691 than storing it in old_reg(start|end). Remove the cycle detection
6692 from `stop_memory', replaced by the use of on_failure_jump_loop
6693 for greedy loops. Add code for the new on_failure_jump_<foo>.
6694 Remove ad-hoc code in `on_failure_jump' to push more registers in
6695 the case of a loop. Take out code from `maybe_pop_jump' into
6696 separate functions and adapt it to the semantics of
6697 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
6698 and push_dummy_failure. Remove dummy_failure handling and
6699 handling of `failures to jump to on_failure_jump' (this last one
6700 was already dead code, it seems).
6701 (group_match_null_string_p, alt_match_null_string_p)
6702 (common_op_match_null_string_p): Remove.
95cd4c40 6703
7397acc4
DL
67042000-03-08 Dave Love <fx@gnu.org>
6705
6706 * config.in: Don't depend on __STDC__ for volatile.
6707 Add POINTER_TYPE, PTR, PROTOTYPES.
6708
6709 * hftctl.c, strftime.c: Use PROTOTYPES.
6710 * eval.c (find_handler_clause): Likewise.
6711
6712 * mem-limits.h: Use POINTER_TYPE.
6713
6714 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
6715 (memory_warnings): Declare using POINTER_TYPE.
6716
5e91ff9e
GM
67172000-03-08 Gerd Moellmann <gerd@gnu.org>
6718
feab4fba
GM
6719 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
6720
25edb08f
GM
6721 * xdisp.c (display_echo_area): Temporarily inhibit garbage
6722 collection.
6723
5e91ff9e
GM
6724 * xfns.c: Remove obsolete code in #if 0.
6725 (Fx_focus_frame): New function.
6726
a735b7e1
KH
67272000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
6728
6729 * coding.c (coding_category_name): Add coding-category-utf-8,
6730 coding-category-utf-16-be, coding-category-utf-16-le.
6731 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
6732 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
6733 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
6734 (detect_coding_utf_8): New function.
6735 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
6736 UTF_16_LOW_SURROGATE_P): New macros.
6737 (detect_coding_utf_16): New function
6738 (detect_coding_mask): When priorities are specified, skip any
6739 categories that have `nil' coding-system. Fix bug of returning
6740 wrong mask when PRIORITIES is specified and detect_coding_XXX()
6741 returns a mask not set in PRIORITIES.
6742 (detect_eol_type_in_2_octet_form): New function.
6743 (detect_eol): selects detect_eol_type_XXX to call according to
6744 cooding->category_idx.
6745 (detect_coding_system): Remove `nil' coding-system in the result.
6746 (Fupdate_coding_systems_internal): Update all coding-categories.
6747
6748 * coding.h (CODING_CATEGORY_IDX_UTF_8,
6749 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
6750 macros.
6751 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
6752 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
6753 CODING_CATEGORY_IDX_UTF_16_LE.
6754 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
6755 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
6756 (CODING_CATEGORY_MASK_ANY): Include the above macros.
6757 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
6758
9994cc69
GM
67592000-03-07 Gerd Moellmann <gerd@gnu.org>
6760
e9b4e5ff
GM
6761 * doc.c (Fdocumentation_property): If value is not a string,
6762 and doesn't refer to etc/DOC, evaluate it to obtain a string.
6763
f7daf1e1
GM
6764 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
6765 close the display with XtCloseDisplay. This caused a bus error
6766 on OpenWindows.
6767
9994cc69
GM
6768 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
6769 complete but not unique.
6770
4336c705
GM
67712000-03-06 Gerd Moellmann <gerd@gnu.org>
6772
18bb0684
GM
6773 * process.c (send_process): Remove local variable `procname' that
6774 might become invalid when a GC happens. Instead, access the
6775 process name slot directly.
6776
4336c705
GM
6777 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
6778 orig_height if set.
6779
6780 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
6781 orig_height if set.
6782
515d0d0e
EZ
67832000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
6784
6785 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
6786 glyph matrices have been freed.
6787
100b3cbb
GM
67882000-03-05 Gerd Moellmann <gerd@gnu.org>
6789
50df5e5a 6790 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 6791 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
6792
6793 * xfns.c (QCdata): Moved to xdisp.c.
6794
6795 * xdisp.c (QCdata): Moved here from xfns.c.
6796 (syms_of_xdisp): Initialize QCdata.
6797
6798 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
6799
6800 * window.c (coordinates_in_window): Use
6801 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
6802 FRAME_INTERNAL_BORDER_WIDTH.
6803
100b3cbb 6804 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 6805 it is obviously invalid.
100b3cbb
GM
6806
6807 * xterm.c (x_term_init): Create a colormap if not using the
6808 default visual.
6809
6810 * xterm.h (select_visual): Change prototype.
6811
6812 * xfns.c (select_visual): Rewritten. Recognize user-specified
6813 visual classes.
6814 (visual_classes): New variable.
6815
64d739c4
GM
68162000-03-04 Gerd Moellmann <gerd@gnu.org>
6817
6818 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
6819 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
6820 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
6821 (x_decode_color): Don't handle allocation of white and black
6822 specially.
6823 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
6824 XtNcolormap resources.
6825 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
6826 (Fx_create_frame): Initialize color members of x_output structure.
6827 (xpm_load): Pass colormap to XPM lib.
6828
6829 * xfaces.c (x_free_colors): Access colormap of frame using
6830 FRAME_X_COLORMAP. Be paranoid about freeing black and white
6831 when default colormap is used.
6832
6833 * xterm.c (x_term_init): Set Colormap member of x_display_info
6834 structure. Copy colormap if resource `privateColormap' is
6835 specified (PseudoColor only).
6836 (x_setup_relief_color): Access colormap of frame using
6837 FRAME_X_COLORMAP.
6838
6839 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
6840 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
6841
c3cee013
JR
68422000-03-04 Jason Rumney <jasonr@gnu.org>
6843
6844 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
6845 other non-platform-specific equivalents.
64d739c4 6846 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
6847 specific functions and macros as their w32 equivalents where
6848 non-platform-specifics are not available.
6849 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
6850 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
6851 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
6852 (frame_update_line_height): Use macros to access f->output_data.
6853 (defined_color): Remove FIXME comments; fixed.
6854 (x_face_list_fonts, prepare_face_for_display): Put X specifics
6855 into #ifdef blocks. Add WINDOWSNT blocks.
6856 (Fx_list_fonts): Use macros for accessing font data.
6857 (set_lface_from_font_name): Different default fonts for X and
6858 WINDOWSNT.
6859 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
6860 scalable for backward compatibility.
64d739c4 6861 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
6862 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
6863
64d739c4 6864 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
6865 syms_of_w32faces.
6866
6867 * makefile.nt (w32faces.obj): Remove.
6868 (xfaces.obj): Add.
6869
807cc41c
JR
68702000-03-03 Jason Rumney <jasonr@gnu.org>
6871
6872 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
6873 correct parameters.
6874
0007072a
KR
68752000-03-03 Ken Raeburn <raeburn@gnu.org>
6876
6877 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
6878 standard ELF definitions here if the system header does not.
6879
71a6ba55
GM
68802000-03-03 Gerd Moellmann <gerd@gnu.org>
6881
6882 * xterm.c (PER_CHAR_METRIC): Removed.
6883 (x_per_char_metric_1, x_default_char): New functions.
6884 (x_per_char_metric): If font's default char is invalid, return
6885 metrics of a suitably chosen usable default char.
6886 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
6887 char, replace occurrences of unprintable chars with a suitably
6888 chosen usable default char.
71a6ba55 6889
900fa1f1
GM
68902000-03-02 Gerd Moellmann <gerd@gnu.org>
6891
42f55fe0
GM
6892 * xterm.c (note_mouse_highlight): Return quickly if frame's
6893 glyph matrices have been freed.
6894
6895 * dispnew.c (free_glyphs): Block input while freeing matrices.
6896
900fa1f1
GM
6897 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
6898
6899 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
6900 x_free_colors.
6901
6902 * dispextern.h (x_free_colors): Add prototype.
6903
6904 * xfaces.c (x_free_colors): New function.
6905 (unload_color, free_face_colors): Use it.
6906
2f950292
EZ
69072000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
6908
6909 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
6910
6911 * window.c [MSDOS]: Include msdos.h.
6912
54d04320
DL
69132000-03-02 Dave Love <fx@gnu.org>
6914
6915 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
6916
6917 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
6918 set C_OPTIMIZE_SWITCH for gcc.
6919
0ba93ac4
KH
69202000-03-02 Kenichi Handa <handa@etl.go.jp>
6921
6922 * coding.c (coding_save_composition): Be sure to allocate
6923 composition data area in coding even if there's no composition in
6924 the current run.
6925
a2bc11d4
JR
69262000-03-01 Jason Rumney <jasonr@gnu.org>
6927
6928 * w32term.c: Equivalent changes to those made to xterm.c on
6929 2000-02-25 and 2000-02-24.
6930
6931 * w32fns.c: Equivalent changes to those made to xfns.c on
6932 2000-02-25 and 2000-02-21.
6933
6934 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
6935 correct line-end convention is followed.
6936
6937 * w32menu.c [HAVE_BOXES]: Remove #undef.
6938 (single_keymap_panes): Remove code for simulating checkmarks.
6939 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
6940 Remove code for drawing simulated checkmarks.
6941 (w32_menu_show): make unibyte help string correctly.
6942 (add_menu_item): draw standard Windows checkmarks. Draw radio
6943 buttons as radio buttons if possible.
6944
72d19d75
GM
69452000-03-01 Gerd Moellmann <gerd@gnu.org>
6946
2df636f4
GM
6947 * sysdep.c (start_of_text): Don't define this function for NetBSD
6948 with ELF.
6949
427ec082 6950 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
6951 Don't define.
6952 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
6953 (LINKER): Don't undef if __NetBSD__ is defined.
6954
6955 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
6956
6957 * fileio.c [__NetBSD__]: Define `unix'.
6958
72d19d75
GM
6959 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
6960
ed4d0512
GM
69612000-02-29 Gerd Moellmann <gerd@gnu.org>
6962
50b1039f
GM
6963 * atimer.c (start_atimer): Don't abort when timers are stopped.
6964 (append_atimer_lists): New function.
6965 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
6966 arbitrary lists of stopped and running atimers.
6967
ed4d0512
GM
6968 * atimer.c (cancel_atimer): Handle canceling an atimer when
6969 some timers are stopped.
6970
6971 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
6972 after canceling it.
6973
6974 * fns.c (maybe_resize_hash_table): Handle case of new size
6975 coming out as being the same as old size.
6976
387023ee
JR
69772000-02-27 Jason Rumney <jasonr@gnu.org>
6978
6979 * makefile.nt: Add atimer.h to dependencies.
6980 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
6981 * w32console.c: Only disable window system features for dispextern.h
6982 (initialize_w32_display): Build a display info for the console.
6983 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
6984 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
6985 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
6986 as 2 button mice.
6987 * w32gui.h (struct W32FontStruct): Revert last change after change
6988 to xdisp.c.
6989 * w32menu.c (single_submenu): Set up help string.
6990 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
6991 (w32_dialog_show): Set up help string.
6992 * w32term.c (w32_display_info_for_display): Remove unused function.
6993 (w32_draw_bitmap): Use pre-built bitmaps.
6994 (w32_initialize_display_info): New function to initialize parts of
6995 display info that are common to both GUI and console frames.
6996 (w32_term_init): Use w32_initialize_display_info. Do not set
6997 Vw32_num_mouse_buttons here, as it is not called for console
6998 frames. Build bitmaps for indicating truncated lines etc.
6999 (x_delete_display): Destroy pre-built bitmaps.
7000 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
7001 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
7002
4516715a
DL
70032000-02-27 Dave Love <fx@gnu.org>
7004
7005 * lisp.h: Add a bunch of prototypes.
7006
171ca836
KH
70072000-02-26 Kenichi Handa <handa@etl.go.jp>
7008
7009 * keyboard.c (read_char): Set `usec' correctly.
7010
4013921d
KH
70112000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
7012
7013 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
7014 `lambda', set reg[RRR] to the map index.
7015 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
7016 reg[RRR] to 0. Otherwise, set it to -1.
7017
9244a058
GM
70182000-02-25 Gerd Moellmann <gerd@gnu.org>
7019
2df636f4 7020 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 7021
18e21ce8 70222000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 7023
f43d79c1
GM
7024 * fileio.c (Ffile_symlink_p): If result starts with a `/'
7025 and contains a `:', prepend `/:'.
7026
7027 * window.c (select_window_1): If selected_window is nil,
7028 don't "swap out" the buffer's point.
7029 (Fset_window_configuration): Set selected_window to nil
7030 before calling Fselect_window.
7031 (unshow_buffer): Don't set point in buffer from window's point
7032 if another more recently selected window also shows the buffer.
7033
bed0c171
GM
70342000-02-25 Gerd Moellmann <gerd@gnu.org>
7035
449c3c52
GM
7036 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
7037
f5b58615
GM
7038 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
7039 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
7040 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
7041 variables.
7042 (DEFAULT_BUSY_CURSOR_DELAY): New define.
7043 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
7044 (hide_busy_cursor): New functions.
7045 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
7046
7047 * minibuf.c (read_minibuf): Cancel busy-cursor.
7048
7049 * keyboard.c (command_loop_1): Call start_busy_cursor before
7050 Fcommand_execute and cancel_busy_cursor after it.
7051 (timer_check): Remove busy-cursor code.
7052 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
7053 cursor timer.
7054
7055 * process.c (wait_reading_process_input): Remove busy-cursor code.
7056
7057 * eval.c (Fsignal): Call cancel_busy_cursor instead of
7058 Fx_hide_busy_cursor.
7059
7060 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
7061 Remove prototyoes.
7062 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
7063
7064 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
7065
7066 * xterm.c (XTread_socket): Remove busy-cursor code.
7067
4eb8436f
GM
7068 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
7069 (build_frame_matrix_from_leaf_window): Put code handling
7070 glyph row's not being a slice of a frame row in #if 0.
7071 (sync_window_with_frame_matrix_rows): New function.
7072 (frame_row_to_window): New function.
7073 (mirror_line_dance): Handle copies between windows.
7074
3cb65b0e
GM
7075 * lread.c (Fload): Use `xfree' instead of `free'.
7076 (init_obarray): Use `xmalloc' instead of `malloc'.
7077
bed0c171
GM
7078 * window.c (Fset_window_buffer): Set WINDOW to the window
7079 after decoding.
2add4349
GM
7080 (coordinates_in_window): Take frame's internal border width
7081 into account.
bed0c171 7082
42088c12
GM
70832000-02-24 Gerd Moellmann <gerd@gnu.org>
7084
7085 * xterm.c (x_display_and_set_cursor): Display cursor of
7086 non-selected windows depending on the setting of
7087 cursor_in_non_selected_windows.
7088
7089 * xdisp.c (cursor_in_non_selected_windows): New variable.
7090 (syms_of_xdisp): DEFVAR_BOOL it.
7091
d1e103b2
GM
70922000-02-23 Gerd Moellmann <gerd@gnu.org>
7093
723e779c
GM
7094 * data.c (Fstring_to_number): If number is greater than what
7095 fits into an integer, return a float.
7096
d1e103b2
GM
7097 * eval.c (specbind): Remove references to
7098 keyword_symbols_constant_flag.
7099
7100 * data.c (keyword_symbols_constant_flag): Removed.
7101 (Fmakunbound, set_internal, syms_of_data): Remove references to
7102 keyword_symbols_constant_flag.
7103
7104 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
7105
214f877f
KH
71062000-02-23 Kenichi Handa <handa@etl.go.jp>
7107
7108 * syntax.c (multibyte_syntax_as_symbol): New variable.
7109 (syms_of_syntax): Declare it as a Lisp variable.
7110 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
7111 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
7112 nonzero, treat all multibyte characters as symbol.
42088c12 7113 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
7114 characters.
7115
130adcb7
EZ
71162000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
7117
3cb65b0e 7118 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 7119 a deleted frame.
130adcb7 7120
17cbbf95
GM
71212000-02-21 Gerd Moellmann <gerd@gnu.org>
7122
7123 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
7124
7125 * xfns.c (x_window_to_frame, x_any_window_to_frame)
7126 (x_non_menubar_window_to_frame): Check the busy-cursor window.
7127
beb0bc36
DL
71282000-02-21 Dave Love <fx@gnu.org>
7129
7130 * frame.c (Vmouse_position_function): New variable.
7131 (Fmouse_position): Use it.
7132 (syms_of_frame): Install it.
7133
7134 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
7135
1d92afcd
GM
71362000-02-20 Gerd Moellmann <gerd@gnu.org>
7137
7138 * fileio.c (Finsert_file_contents): Unbind the binding of
7139 standard-output done by temp_output_buffer_setup.
329eed9f
GM
7140
7141 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
7142 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
7143 (specbind, unbind_to): Handle most common case of non-constant
7144 symbol with trivial value specially.
7145
7146 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
7147
18e21ce8 71482000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
7149
7150 * data.c (Fmake_variable_buffer_local): Doc fix.
7151 Init found_for_buffer to 0.
7152 (Fmake_variable_frame_local): If the variable has already
7153 been buffer-local, set the check_frame field.
7154
1d4311c3
EZ
71552000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
7156
7157 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
7158 produced for CODING_MODE_LAST_BLOCK requires.
7159
2dc95ddd
DL
71602000-02-18 Dave Love <fx@gnu.org>
7161
7162 * keyboard.c (echo_keystrokes): Remove declaration.
7163 (Vecho_keystrokes) New variable.
7164 (read_char, record_menu_key, read_key_sequence): Use it to allow
7165 use of float value.
7166 (syms_of_keyboard): Change Vecho_keystrokes declaration.
7167
7168 * lread.c: Undef feature selection macros before defining.
7169
f0930f35
GM
71702000-02-18 Gerd Moellmann <gerd@gnu.org>
7171
7172 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
7173 for symbols other than the symbol in question.
7174
e3d4de90
DL
71752000-02-17 Dave Love <fx@gnu.org>
7176
7177 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
7178
0b378936
GM
71792000-02-17 Gerd Moellmann <gerd@gnu.org>
7180
d621caf7
GM
7181 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
7182
0b378936
GM
7183 * alloc.c (enum mem_type): Compile unconditionally.
7184
3b451f74
EZ
71852000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
7186
7187 * xfaces.c (tty_defined_color): Don't return faulire indication
7188 for unspecified-fg and unspecified-bg pseudo-colors.
7189
10689a01
GM
71902000-02-17 Gerd Moellmann <gerd@gnu.org>
7191
1216f5e4
GM
7192 * alloc.c (mark_object): Don't mark symbol names in pure space.
7193 (gc_sweep): Don't unmark symbol names in pure space.
7194
7195 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
7196 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
7197 [GC_MARK_STACK]: New defines.
427ec082 7198 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
7199 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
7200
7201 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
7202
7203 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
7204 allocate_buffer instead of xmalloc.
7205
7206 * alloc.c (toplevel): Include setjmp.h.
7207 (PURE_POINTER_P): New define.
7208 (enum mem_type) [GC_MARK_STACK]: New enumeration.
7209 (Vdead) [GC_MARK_STACK]: New variable.
7210 (lisp_malloc): Add parameter TYPE, call mem_insert if
7211 GC_MARK_STACK is defined.
7212 (allocate_buffer): New function.
427ec082 7213 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
7214 (free_float) [GC_MARK_STACK]: Set type to Vdead.
7215 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
7216 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
7217 (MEM_NIL) [GC_MARK_STACK]: New define.
7218 (struct mem_node) [GC_MARK_STACK]: New structure.
7219 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
7220 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
7221 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
7222 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
7223 (mark_stack) [GC_MARK_STACK]: New functions.
7224 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
7225 (clear_marks): Removed.
7226 (gc_sweep): Set free conses' car, free floats' type, free
7227 symbols' function to Vdead. Use lisp_free to free buffers.
7228 (init_alloc_once): Initialize Vdead.
7229 (survives_gc_p): Return non-zero for pure objects.
7230
7231 * alloc.c: Add comments throughout the file.
7232
2503c8b1
GM
7233 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
7234 that unblocks alarms.
7235
8389e1e2
GM
7236 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
7237 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
7238 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
7239
10689a01 7240 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 7241
bfc17d18
KH
72422000-02-17 Kenichi Handa <handa@etl.go.jp>
7243
4a09dee0
KH
7244 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
7245 avoid infinite error signaling. Allocate sufficient memory for
7246 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 7247
2b927d02
SM
72482000-02-17 Stefan Monnier <monnier@cs.yale.edu>
7249
7250 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
7251 depends on the previous behavior.
7252
b49cb764
GM
72532000-02-16 Gerd Moellmann <gerd@gnu.org>
7254
7255 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
7256
99e95407
GM
72572000-02-15 Gerd Moellmann <gerd@gnu.org>
7258
7259 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
7260
7261 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 7262 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
7263 write(2).
7264
6ffd3cf7
RS
72652000-02-15 Richard M. Stallman <rms@gnu.org>
7266
7267 * data.c (set_internal): Don't make variable buffer-local
7268 if within a let-binding for the same buffer.
7269 (let_shadows_buffer_binding_p): New function.
7270
7271 * eval.c (specbind): For buffer-local value,
7272 record the current buffer also.
7273 (unbind_to): Cope with that change.
7274
cad53475
GM
72752000-02-15 Gerd Moellmann <gerd@gnu.org>
7276
7277 * window.c (Fsave_window_excursion): Doc fix.
7278
1aa963c8
SM
72792000-02-15 Stefan Monnier <monnier@cs.yale.edu>
7280
7281 * syntax.c (back_comment): Make sure we only consider comment-starters
7282 of the relevant style and return -1 in case of a failure to find the
7283 beginning of the comment.
7284 (Fforward_comment): If back_comment fails, go back to the position just
7285 after the comment-end.
7286 (scan_lists): Add comment describing a very minor bug.
7287
b9b84fd3
SM
72882000-02-14 Stefan Monnier <monnier@cs.yale.edu>
7289
7290 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
7291 `completion-regexp-list' in the docstring.
7292
3a28db80
DL
72932000-02-14 Dave Love <fx@gnu.org>
7294
7295 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
7296
fb4a568d
SM
72972000-02-14 Stefan Monnier <monnier@cs.yale.edu>
7298
7299 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
7300 to Emacs' syntax. Also fix the comment about set/not-set meanings
7301 since Emacs syntax is not the value 0 any more.
7302 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
7303 since it's now part of RE_SYNTAX_EMACS.
7304
1063ebb5
DL
73052000-02-12 Dave Love <fx@gnu.org>
7306
7307 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
7308 Alpha.
7309
fb07a302
GM
73102000-02-12 Gerd Moellmann <gerd@gnu.org>
7311
7312 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
7313
aaf2320c
DL
73142000-02-12 Dave Love <fx@gnu.org>
7315
7316 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
7317
7318 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
7319 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
7320 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
7321
7322 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
7323
7324 * s/nextstep.h: Don't define HAVE_ALLOCA.
7325
7326 * config.in: Add vfork bits.
7327
eedf8bde
GM
73282000-02-12 Gerd Moellmann <gerd@gnu.org>
7329
7330 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
7331 unwind function to undo the effect of stopping atimers.
7332
7333 * keyboard.c (bind_polling_period): Stop all timers except
7334 poll_timer.
7335
7336 * atimer.c (stopped_atimers): New variable.
7337 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
7338 New functions.
7339
7340 * atimer.h (stop_other_atimers, run_all_atimers)
7341 (unwind_stop_other_atimers): Add function prototypes.
427ec082 7342
eedf8bde
GM
7343 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
7344
8476c2f8
KR
73452000-02-11 Ken Raeburn <raeburn@gnu.org>
7346
7347 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
7348 library may depend on jpeg.
7349 (atimer.o): Depends on atimer.c.
7350
0e85e4a3
KH
73512000-02-11 Kenichi Handa <handa@etl.go.jp>
7352
7353 * insdel.c (del_range_1): Call update_compositions.
7354 (del_range_both): Call update_compositions just once..
7355
97fa0cc8
DL
73562000-02-10 Dave Love <fx@gnu.org>
7357
7358 * xfns.c (create_frame_xic): Fix initialization of automatic
7359 aggregates for pcc.
7360
25566a3c
KH
73612000-02-09 Kenichi Handa <handa@etl.go.jp>
7362
7363 * ccl.c (CCL_MAKE_CHAR): New macro.
7364 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
7365 registers by CCL_MAKE_CHAR before calling translate_char.
7366 <CCL_TranslateCharacterConstTbl> Likewise.
7367
69da54ba
DL
73682000-02-08 Dave Love <fx@gnu.org>
7369
7370 * lread.c (__EXTENSIONS__): Define.
7371
f7136ee8
GM
73722000-02-08 Gerd Moellmann <gerd@gnu.org>
7373
7374 * puresize.h (BASE_PURESIZE): Increase to 650000.
7375
7768790b
EZ
73762000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
7377
7378 * msdos.c (XMenuActivate): Turn off the cursor after displaying
7379 the help message.
7380
38fd211b
EZ
73812000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
7382
7383 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
7384 md, mh, mb, mr, and me to the fake termcap entry.
7385
66e4690f
KR
73862000-02-06 Ken Raeburn <raeburn@gnu.org>
7387
7388 * sound.c (sound_cleanup): Don't call device close routine if the
7389 function pointer is null.
7390
a75dfea0
AI
73912000-02-06 Andrew Innes <andrewi@gnu.org>
7392
7393 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
7394 around image definitions and prototypes.
7395 (gamma_correct) [WINDOWSNT]: New prototype.
7396
7397 * w32term.c (x_make_frame_visible): Replace call to
7398 input_poll_signal with poll_for_input.
7399
7400 * window.c [WINDOWSNT]: Include w32term.h.
7401
7402 * xdisp.c [WINDOWSNT]: Include w32term.h.
7403
7404 * makefile.nt: Add dependencies on w32gui.h.
7405 (OBJ1): Include atimer.obj.
7406 ($(BLD)\atimer.obj): New dependency rule.
7407
7408 * w32.c (sigmask): New function (does nothing).
7409 (sigunblock): Ditto.
7410
7411 * frame.c [WINDOWSNT]: Include w32term.h.
7412
7413 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
7414
7415 * lread.c (syms_of_lread): Fix literal newlines.
7416
7417 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
7418 the string constant limit (2048 bytes) in MSVC.
7419 (main): Ditto.
7420
59ddecde
GM
74212000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
7422
7423 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
7424 area.
7425 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
7426 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
7427 dispatch the event.
7428
07590973
DL
74292000-02-04 Dave Love <fx@gnu.org>
7430
7431 * fileio.c: Remove some unused vars.
7432 (_GNU_SOURCE): Define (for euidaccess).
7433
7434 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
7435
7436 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
7437 gcpro1, gcpro2.
7438 (read_minibuf): Deal with allow_props correctly.
7439
649351f9
EZ
74402000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
7441
7442 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
7443
66e4690f 74442000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
7445
7446 * search.c (compile_pattern): If a cache entry has a nil regexp,
7447 fill in that entry instead of clobbering a previously cached
7448 string regexp.
7449
66e4690f 74502000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
7451
7452 * puresize.h (BASE_PURESIZE): Increase to 610000.
7453
d240a249
GM
74542000-02-02 Gerd Moellmann <gerd@gnu.org>
7455
7456 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
7457 can GC.
7458
ca91fb26
KH
74592000-02-02 Kenichi Handa <handa@etl.go.jp>
7460
25660570
KH
7461 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
7462 instead of incrementing ic directly.
7463 <CCL_WriteExprConst> Likewise.
7464 <ccl_set_expr>: Set ic to jump_address.
7465
ca91fb26
KH
7466 * fileio.c (e_write): Fix the handling of
7467 CODING_FINISH_INSUFFICIENT_SRC.
7468
2ede9689
DL
74692000-02-01 Dave Love <fx@gnu.org>
7470
7471 * editfns.c (Fpropertize): Doc fix.
7472
7473 * process.c (Fstart_process): Doc fix.
7474
7475 * eval.c: Fix various doc strings not to duplicate information
7476 from help-manyarg-func-alist.
7477
7478 * window.c (Fset_window_margins): Don't make interactive. Doc
7479 fix.
7480
7481 * doc.c (Vhelp_manyarg_func_alist): New variable.
7482 (Fdocumentation): Use it.
7483 (syms_of_doc): Define it.
7484
b6680a0e
GM
74852000-01-31 Gerd Moellmann <gerd@gnu.org>
7486
2cb750ba
GM
7487 * xterm.c (xim_open_dpy): Remove unused local variable.
7488
74e9213b
GM
7489 * emacs.c (USAGE): Use term `display options' instead of `X
7490 options'.
7491
7492 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
7493 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
7494
b6680a0e
GM
7495 * fns.c (sweep_weak_table): New function.
7496 (sweep_weak_hash_tables): Use it. Keep on marking until there
7497 is no more change.
7498
994c5afe
GM
74992000-01-30 Gerd Moellmann <gerd@gnu.org>
7500
7501 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
7502 that XTread_socket does not crash by trying to call XNoOp on a
7503 closed display.
427ec082 7504
f00276e3
JR
75052000-01-30 Jason Rumney <jasonr@gnu.org>
7506
7507 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
7508 Change selected_frame to SELECTED_FRAME ().
7509 (w32_console_mouse_position): Remove #ifndef MULE from around
7510 `insist' parameter.
7511
7512 * makefile.nt: Remove dosfns.obj.
7513
7514 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
7515
7516 * w32fns.c (w32_defined_color): Check for valid frame before
7517 applying gamma correction. Eliminate dependency on frame elsewhere.
7518 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
7519 (w32_to_x_font): Use resx and resy not height_in and width_in.
7520 (x_to_w32_font): Doc fix.
7521 (xlfd_strip_height): New function to strip and return font height.
7522 (w32_font_match): Compare height separately from rest of xlfd
7523 spec, using xlfd_strip_height.
7524
7525 * w32term.c (w32_term_init): Swap resx and height_in, resy and
7526 width_in. Use w32_defined_color in place of defined_color.
7527
7528 * w32faces.c: Merge more of DOS and X specifics in preparation for
7529 merge with xfaces.c.
7530 (defined_color): Remove FIXME comment.
7531 (tty_color_name): Provide w32-specific function.
7532 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
7533
7534 * w32console.c (turn_on_face, turn_off_face): Removed.
7535 (w32_face_attributes): New function.
7536 (Global_variables): Reduce scope where possible.
7537 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
7538 fill attribute.
7539 (hl_mode): Don't modify text attributes.
7540 (write_glyphs): Don't do anything if len <= 0. Use
7541 w32_face_attributes to get attributes for drawing. Write
7542 terminating codes using char_attr_normal.
7543 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
7544 (update_begin, update_end): Likewise.
7545 (vga_stdcolor_name): New function.
7546 (initialize_w32_display): Remove char_attr_reverse and char_attr.
7547 (Fset_screen_color): Remove char_attr_reverse.
7548
b08e8bb2
GM
75492000-01-29 Gerd Moellmann <gerd@gnu.org>
7550
7551 * xfns.c (xic_set_preeditarea): Take window parameter and
7552 window-relative pixel-positions.
7553
7554 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
7555 is its frame's selected window.
7556 (xim_instantiate_callback): Likewise.
7557
7558 * xfns.c (x_create_im): Removed.
7559 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
7560 (supported_xim_styles): Renamed from supported_styles.
7561 (best_xim_style): Renamed from best_style.
7562 (create_frame_xic): Renamed from xic_create_frame.
7563 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 7564
b08e8bb2
GM
75652000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
7566
7567 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
7568 our frames, call XFilterEvent with 2nd parameter `None'.
7569 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
7570 returning XBufferOverflow.
7571 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
7572 area.
7573 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
7574 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
7575 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
7576 (xim_initialize, xim_close)
7577 [HAVE_X_I18N && HAVE_X11R6]: New functions.
7578 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
7579 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
7580 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
7581
7582 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
7583 and `xim_styles'.
7584 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
7585 `xic_style' and `xic_xfs'.
7586 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
7587 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
7588 (FRAME_XIM): Removed.
7589
7590 * xfns.c (supported_styles): New variable.
7591 (DEFAULT_STYLE, DEFAULT_FONT): New macros
7592 (xic_create_xfontset, best_style, xic_create_frame)
7593 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
7594 (xic_set_xfontset): New functions.
7595
142e109c
DL
75962000-01-28 Dave Love <fx@gnu.org>
7597
7598 * s/irix6-5.h: Revert last change after change to irix5-0.h.
7599
7600 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
7601
b02786f9
GM
76022000-01-28 Gerd Moellmann <gerd@gnu.org>
7603
d060bc9f
GM
7604 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
7605 for *scratch* if it already existed.
7606
b02786f9
GM
7607 * emacs.c (USAGE): New macro.
7608 (main): Use it to display usage information.
7609
2c52d7e4
EZ
76102000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
7611
7612 Support for the menu-help feature:
7613
7614 * msdos.h: Change prototypes of XMenuAddSelection and
7615 XMenuActivate.
7616
7617 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
7618 part of the line to the termscript file.
7619 (IT_clear_to_end): Clear the entire line, not just its beginning.
7620 (menu_help_message, prev_menu_help_message): New variables.
7621 (IT_menu_make_room): Make room for the help_text member.
7622 (IT_menu_display): New argument disp_help; all callers changed.
7623 If disp_help is non-zero, store the help text of the active menu
7624 item in menu_help_message.
7625 (XMenuAddPane): Initialize the help_text member to NULL.
7626 (XMenuAddSelection): New argument help_text. Store it in the
7627 XMenu structure.
7628 (XMenuActivate): New argument help_callback. If the value of
7629 menu_help_message has changed since the last time, display the
7630 menu help message text while waiting for the mouse to move. Clear
7631 the echo area before exiting.
7632 (XMenuDestroy): Free the help_text member.
7633
ffe0bcd1
GM
76342000-01-27 Gerd Moellmann <gerd@gnu.org>
7635
7636 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
7637 XMenuAddSelection. Pass help callback to XMenuActivate.
7638 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
7639
50dbd23f
EZ
76402000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
7641
7642 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
7643 and EMACS_SET_USECS.
7644
f5941bf8
GM
76452000-01-26 Dave Love <fx@gnu.org>
7646
6c67ddee
DL
7647 * editfns.c (Fchar_after, Fchar_before): Doc fix.
7648
f5941bf8
GM
7649 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
7650 an error may be signalled.
7651
9e49c990
GM
76522000-01-26 Gerd Moellmann <gerd@gnu.org>
7653
fc3cb460
GM
7654 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
7655 LD_SWITCH_SYSTEM inherited from irix5-0.h.
7656
9e49c990
GM
7657 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
7658
d0c037d8
GM
76592000-01-25 Gerd Moellmann <gerd@gnu.org>
7660
7661 * charset.c (Fstring): If there is a multibyte char among
7662 the args, always return a multibyte string.
7663
e12489f9
GM
76642000-01-25 Gerd Moellmann <gerd@gnu.org>
7665
7666 * sysdep.c (sys_select): Turn atimers off and on instead of
7667 recording and restoring old alarm handler
7668
7669 * process.c (toplevel): Include atimer.h.
7670 (create_process_1): Rewritten.
7671 (create_process): Use atimers instead of alarm.
7672 (wait_reading_process_input) [hpux]: Turn atimers off instead
7673 of turning off SIGALRM.
7674 (wait_reading_process_input): Turn off atimers instead off
7675 calling stop_polling.
7676
7677 * emacs.c (main): Call init_atimer.
7678
7679 * keyboard.c (toplevel): Include systime.h and atimer.h.
7680 (polling_for_input): Removed because unused.
7681 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
7682 (poll_timer): New variable.
7683 (poll_for_input, poll_for_input_1): New functions.
7684 (start_polling, stop_polling): Rewritten.
7685
7686 * keyboard.h (polling_for_input): Removed.
427ec082 7687
e12489f9
GM
7688 * atimer.h, atimer.c: New files.
7689
7690 * Makefile.in (obj): Add atimer.o.
7691 (atimer.o): New target.
7692
7693 * blockinput.h (pending_atimers): Add extern declaration.
7694 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
7695
7696 * lisp.h (popup_activated_flag): Add extern declaration.
7697
7698 * xmenu.c (popup_activated_flag): Make externally visible.
7699 (popup_activate_callback) [USE_MOTIF]: Increment
7700 popup_activated_flag.
7701 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
7702
7703 * xterm.c (toplevel): Include atimer.h.
7704 (toolkit_scroll_bar_interaction): New variable.
7705 (Fxt_process_timeouts): Removed.
7706 (x_process_timeouts): New function.
7707 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
7708 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
7709 (x_make_frame_visible): Call poll_for_input_1 instead of
7710 input_poll_signal. Don't call alarm.
7711 (x_initialize): Install timer calling x_process_timeouts.
427ec082 7712
1e5279b9
DL
77132000-01-24 Dave Love <fx@gnu.org>
7714
6c67ddee 7715 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
7716 Don't use -cckr -- apparently not now necessary.
7717
edf6aeb8
EZ
77182000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
7719
7720 * msdos.c (IT_menu_display): Truncate long menu lines at the right
7721 screen boundary.
7722
9badad41
JR
77232000-01-23 Jason Rumney <jasonr@gnu.org>
7724
7725 * w32fns.c (w32_defined_color): Apply gamma correction before
7726 trying to map to the palette.
7727 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
7728 to w32_clear_rect.
7729
7730 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
7731 here. Callers changed to always pass real device context.
7732 (w32_draw_bitmap): Likewise.
7733 (w32_get_glyph_overhangs): Likewise.
7734 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
7735 one.
7736 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
7737 pfnSetScrollInfo and SetScrollRange.
7738 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
7739 back into MULE characters after decoding them.
7740 (x_get_glyph_face_and_encoding): Likewise.
7741 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
7742 GetCharABCWidthsW fails, since this is defined on Windows 9x.
7743 (x_produce_glyphs): Calculate per char metrics for a character
7744 that we know exists in default font when font_not_found_p is true.
7745
63bd786b
JR
77462000-01-22 Jason Rumney <jasonr@gnu.org>
7747
7748 * makefile.nt (intervals.obj, composite.obj): New modules.
7749 (composite.h): Added as dependency where appropriate.
7750
7751 * w32gui.h (XGCValue): New struct for emulating X GCs.
7752
7753 * w32term.h (XCharStruct): New struct for emulating X.
7754
7755 * w32console.c (turn_on_face, turn_off_face): New functions.
7756 (change_line_highlight): New prototype for new redisplay.
7757 (write_glyphs): Support multibyte text. Support faces.
7758
7759 * w32faces.c: Complete rewrite for new redisplay based on new
7760 xfaces.c.
7761
7762 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
7763 throughout. struct frame * in place of FRAME_PTR.
7764 Skeleton support for images, toolbars, tooltips from xfns.c.
7765 (Fx_create_frame): Use system default for default scroll bar
7766 width.
7767 (w32_get_arg): Renamed from x_get_arg.
7768 (Fx_file_dialog): New function.
7769 (w32_list_fonts): Check cache before asking system.
7770 (Vw32_enable_synthesized_fonts): New variable.
7771 (Vw32_enable_italics): Obsolete, removed.
7772
7773 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
7774 Use SELECTED_FRAME macro.
7775
7776 * w32menu.c: Add skeleton support for help strings on menus.
7777 (add_menu_item): Native checkbox and radio support added, but not
7778 yet enabled due to bugs.
7779 (push_menu_item): Add parameters type, selection and help.
7780 Callers updated.
7781 Formatting changes to reduce unnecessary diffs with xmenu.c.
7782
7783 * w32select.c (Fw32_set_clipboard_data): Update call to
7784 find_charset_in_str.
7785
7786 * w32term.c: Complete rewrite for new redisplay based on new
7787 xterm.c with necessary sections merged back in from old w32term.c.
7788
6ffd3cf7 77892000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
7790
7791 * data.c (set_internal): Further fix in same criterion.
7792
6ffd3cf7 77932000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
7794
7795 * data.c (set_internal): Fix the criteria for whether
7796 to swap out the old cached binding.
7797
60af03f1
DL
77982000-01-19 Dave Love <fx@gnu.org>
7799
7800 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
7801
f9be074f
KH
78022000-01-18 Kenichi Handa <handa@etl.go.jp>
7803
7804 * regex.c (re_compile_fastmap): While checking a range table for
7805 `charset', skip flag bits for a character class correctly.
7806
52b8dbf9
GM
78072000-01-17 Gerd Moellmann <gerd@gnu.org>
7808
d36100c9
GM
7809 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
7810
52b8dbf9
GM
7811 * xfns.c (x_window): Call lw_create_widget with new parameter
7812 list.
7813
7814 * widget.c (EmacsFrameSetCharSize): Change size of children first
7815 because of problems with main window geometry management under
7816 Lesstif.
7817
7818 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
7819 MENU_ITEMS_ITEM_.*.
7820 (MENU_ITEMS_ITEM_HELP): New enumerator.
7821 (push_menu_item): Add parameter HELP. Record help in menu_items.
7822 (single_menu_item, single_submenu, list_of_items): Call
7823 push_menu_item with new parameter.
7824 (single_submenu): Set help string in widget value.
7825 (menu_highlight_callback): New function.
7826 (set_frame_menubar): Call lw_create_widget with new
7827 parameter list.
7828 (xmenu_show, xdialog_show): Ditto.
7829
3139018f
GM
78302000-01-13 Gerd Moellmann <gerd@gnu.org>
7831
7832 * sound.c (Fplay_sound): Improve doc string.
7833
83c8f461
RS
78342000-01-11 Richard M. Stallman <rms@gnu.org>
7835
7836 * lisp.h (set_internal): Enter the new arg.
7837
7838 * eval.c (specbind): Record buffer-local variables specially,
7839 indicating which buffer's binding was saved.
7840 (unbind_to): Restore buffer-local variables specially
7841 in the proper buffer.
7842
7843 * data.c (set_internal): New arg BUF.
427ec082 7844
83c8f461
RS
7845 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
7846 * data.c (Fset): Pass new arg to set_internal.
7847 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 7848
1fab1775
GM
78492000-01-11 Gerd Moellmann <gerd@gnu.org>
7850
7851 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
7852 xprintsym.
7853
83c8f461 78542000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
7855
7856 * minibuf.c (Ftry_completion): Doc fix.
7857
7a85e4df
GM
78582000-01-11 Gerd Moellmann <gerd@gnu.org>
7859
7860 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
7861 vector, too.
7862
a970dae4
AS
78632000-01-11 Andreas Schwab <schwab@suse.de>
7864
7865 * coding.c (code_convert_region): Initialize total_skip.
7866
c65d14ee
DL
78672000-01-08 Dave Love <fx@gnu.org>
7868
7869 * eval.c (Fuser_variable_p): Check customizability too.
7870
834938d2
GM
78712000-01-07 Gerd Moellmann <gerd@gnu.org>
7872
7873 * minibuf.c (Fcompleting_read): Doc fix.
7874
e0303cd6
GM
78752000-01-05 Gerd Moellmann <gerd@gnu.org>
7876
8a26744b
GM
7877 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
7878 -L /usr/local/lib.
7879
e0303cd6
GM
7880 * xfns.c (x_create_im): New function to set IM and IC of a frame.
7881 Check that input style is supported before trying to create an
7882 IC for it.
7883 (x_window): Call x_create_im.
427ec082 7884
2e471eb5
GM
78852000-01-04 Gerd Moellmann <gerd@gnu.org>
7886
560a7bd2
GM
7887 * xfns.c (current_gif_memory_src): New variable.
7888 (gif_load): Record the address of the current memory source
7889 in current_gif_memory_src.
7890 (gif_read_from_memory): Use current_gif_memory_src.
7891
f9ee84a3
GM
7892 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
7893 macros statement form.
7894
d1299cde
GM
7895 * sound.c (struct sound): Renamed from struct sound_file.
7896 (struct sound): Add members `data' and `header_size'.
7897 (enum sound_attr): Add SOUND_DATA.
7898 (current_sound, current_sound_device): Variables renamed from
7899 sound_file and sound_device.
7900 (parse_sound): Parse :data.
7901 (parse_sound): Handle sound data in strings.
7902 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 7903 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
7904 needed header size.
7905 (wav_play, au_play): Play sounds from string data.
7906
2e471eb5
GM
7907 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
7908
7909 * lisp.h: Add prototype for allocate_string_data.
7910
7911 * alloc.c (Fgarbage_collect): Return number of live and free
7912 strings.
7913
7914 * alloc.c (mark_buffer): Remove code in #if 0.
7915 (gc_sweep): Ditto.
7916 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
7917 (strings_consed): New variable.
7918 (allocate_string): Set it.
7919 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
7920 (Fmemory_use_counts): Return strings_consed. Use Flist.
7921
7922 * alloc.c: General cleanup in comments etc. Remove conditional
7923 compilation for `standalone'.
7924
7925 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
7926
7927 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
7928 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
7929 (DONT_COPY_FLAG): Removed.
7930 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
7931 (struct sdata, struct sblock): New
7932 (struct string_block): Rewritten.
7933 (STRINGS_IN_STRING_BLOCK): New macro.
7934 (oldest_sblock, current_sblock, total_strings, total_free_strings)
7935 (large_sblocks, string_blocks, string_free_list): New variables.
7936 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
7937 (init_strings): Rewritten.
7938 (allocate_string, allocate_string_data, compact_small_strings)
7939 (free_large_strings, sweep_strings): New functions.
7940 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
7941 (struct string_block_head, current_string_block)
7942 (first_string_block, large_string_blocks, STRING_FULLSIZE)
7943 (STRING_PAD): Removed.
7944 (make_uninit_multibyte_string, make_pure_string): Rewritten.
7945 (Fgarbage_collect): Don't set mark bit in large strings.
7946 (mark_object): Mark strings differently. Mark symbol names
7947 differently.
7948 (survives_gc_p): Test marked strings differently.
427ec082 7949 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
7950 symbol names.
7951 (compact_strings): Removed.
7952
42608ba8
EZ
79532000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
7954
7955 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
7956 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
7957
e0a09e1a
KH
79582000-01-04 Kenichi Handa <handa@etl.go.jp>
7959
dd9f0750 7960 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 7961 in a non-empty buffer.
dd9f0750 7962
3c0f3b15 7963 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 7964
44cd3ae5
GM
79652000-01-03 Gerd Moellmann <gerd@gnu.org>
7966
7967 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
7968 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
7969
7970 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
7971
c182a70f
EZ
79722000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
7973
7974 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
7975 need to test for MSDOS frames.
7976
24480d5b
EZ
79772000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
7978
7979 * dosfns.c (unspecified_colors): Remove.
7980 (msdos_stdcolor_idx): Use global variables unspecified_fg and
7981 unspecified_bg.
7982 (msdos_stdcolor_name): Return strings for unspecified fore- and
7983 back-ground colors.
7984
7985 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 7986 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
7987 (tty_color_name): Return Lisp strings for unspecified fore- and
7988 back-ground colors.
7989 (Finternal_set_lisp_face_attribute): Remove the special treatment
7990 for Qunspecified_{f,b}g.
7991 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
7992 string.
7993
047f434a
GM
79942000-01-03 Gerd Moellmann <gerd@gnu.org>
7995
7996 * xdisp.c (reseat_at_next_visible_line_start): Position before
7997 newline only if ending up on a newline.
7998 (next_element_from_ellipsis): Return success. Handle case of
7999 displaying no ellipsis. Fix case of ellipsis defined in display
8000 table.
8001 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
8002 returns 0.
8003
d684c676
EZ
80042000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
8005
8006 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
8007 (Fcolor_supported_p): Renamed from face-color-supported-p.
8008
5fe1d139
EZ
80092000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
8010
8011 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
8012 list of colors renamed to tty-defined-color-alist.
8013 (tty_color_name): Pass the frame to tty-color-by-index.
8014 (realize_tty_face): tty-color-alist is now a function which
8015 accepts the frame as argument.
8016
8017 * term.c (Ftty_display_color_p): Accept an optional argument
8018 FRAME.
8019
816be8b8
EZ
80202000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
8021
8022 * term.c (insert_glyphs): Pass glyph, not &glyph, to
8023 encode_terminal_code.
8024
b635321e
EZ
80252000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
8026
8027 * dispnew.c (mode_line_string): Support termcap frames as well.
8028
9b784e96
GM
80292000-01-01 Gerd Moellmann <gerd@gnu.org>
8030
27189709
GM
8031 * syntax.c (Fforward_word): Undo previous change.
8032
8033 * editfns.c (Fconstrain_to_field): Don't constrain if
8034 inhibit-field-text-motion is non-nil.
8035 (Fline_beginning_position): Undo previous change.
8036 (Fline_end_position): Ditto.
8037
8038 * syntax.c (Fforward_word): Notice field boundaries only if
8039 inhibit-field-text-motion is nil.
8040
8041 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
8042
8043 * editfns.c (Vinhibit_field_text_motion): New variable.
8044 (inhibit-field-text-motion): New DEFVAR_LISP.
8045 (Fline_beginning_position, Fline_end_position): Notice field
8046 boundaries only if inhibit-field-text-motion is nil.
8047
45158a91
GM
8048 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
8049 All calls adjusted.
8050 (x_build_heuristic_mask): Likewise.
8051 (xbm_load_image_from_file): Change error output.
8052 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
8053 (gif_load, gs_load, x_kill_gs_process): Ditto.
8054
9b784e96
GM
8055 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
8056 color indices when accessing raster pixels.
63cec32f
GM
8057 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
8058 one of :file or :data.
8059 (enum pbm_keyword_index): Add PBM_DATA.
8060 (pbm_format): Add :data.
8061 (pbm_image_p): Allow either :file or :data.
8062 (pbm_read_file): New function.
8063 (pbm_scan_number): Rewritten to read from string.
8064 (pbm_load): Support :data.
9b784e96 8065
2cb085db 8066See ChangeLog.8 for earlier changes.
6922b018
KH
8067
8068;; Local Variables:
49b3bd82 8069;; coding: iso-2022-7bit
6922b018 8070;; End: