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