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