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