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