Fix previous change.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8b8f9197
SM
12001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2
3 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4 a string before extracting its data.
5
3bdf2660
GM
62001-03-07 Gerd Moellmann <gerd@gnu.org>
7
8 * window.c (Frecenter): Rewrite code handling negative values
9 of ARG on graphical frames.
10
112001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
12
13 * window.c (displayed_window_lines): If W->start is outside the
14 accessible portion of the buffer, call start_display with BEGV or
15 ZV instead of W->start.
16
471f86b9
GM
172001-03-07 Gerd Moellmann <gerd@gnu.org>
18
2ab62c6c
GM
19 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
20
471f86b9
GM
21 * process.c (Fset_process_filter): Don't crash if the input
22 file descriptor of PROCESS is closed.
23 (Fset_process_window_size): Likewise.
24
101922c3
GM
252001-03-06 Kenichi Handa <handa@etl.go.jp>
26
27 * xterm.c (XTflash): Make the timeout of select shorter, and call
28 select repeatedly until the desired time expires.
29
45d051a7
GM
302001-03-06 Gerd Moellmann <gerd@gnu.org>
31
32 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
33
34 * xfns.c (Fx_create_frame): Clear Vwindow_list.
35
36 * lisp.h (Vwindow_list): Declare extern.
37
8f372c46
EZ
382001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
39
40 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
41
f16a7aa5
GM
422001-03-06 Gerd Moellmann <gerd@gnu.org>
43
157ae273
GM
44 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
45 to detect a case where we have to highlight a different region
46 despite not having left the currently highlighted region.
47 Set mouse_face_overlay in the x_display_info.
45d051a7 48 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
49
50 * xterm.h (struct x_display_info): Add mouse_face_overlay.
51
52 * buffer.c (mouse_face_overlay_overlaps): New function.
53
54 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
55 (Qmouse_face): Declare extern.
56
f16a7aa5
GM
57 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
58 if face_change_count is non-zero.
59
827afcac
KH
602001-03-06 Kenichi Handa <handa@etl.go.jp>
61
62 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
63 that the source is unibyte.
64
14c7242e
DL
652001-03-05 Dave Love <fx@gnu.org>
66
827afcac 67 * xterm.c (XTmouse_position): Fix typo.
14c7242e 68
c28b847b
GM
692001-03-05 Gerd Moellmann <gerd@gnu.org>
70
71 * minibuf.c (read_minibuf): Clean up the binding stack if
72 called noninteractively.
73
b86644f2
KH
742001-03-05 Kenichi Handa <handa@etl.go.jp>
75
76 * coding.c (syms_of_coding): Docstring modified.
77
203682cc 782001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
79
80 * charset.c (char_to_string): If a single byte char has modifier
81 bits that can't be reflected to the character code, ignore them
45d051a7 82 instead of signaling an error.
b86644f2 83
e30bd7b7
EZ
842001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
85
86 * s/msdos.h: Update copyright notice.
87
88 * dosfns.h: Update copyright notice.
89
90 * dosfns.c: Update copyright notice.
91
92 * msdos.c: Update copyright notice.
93
b52b65bd
GM
942001-03-02 Gerd Moellmann <gerd@gnu.org>
95
96 * xterm.c (glyph_rect): New function.
97 (XTmouse_position): Use it to raise the threshold for mouse
98 movement event generation.
99
53c4b1e6
EZ
1002001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
101
102 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
103 specifies (reverse . t), reverse the initial screen colors.
104 (IT_set_frame_parameters): If the property is foreground-color,
105 but we are reversing the colors, set bg_set, not fg_set. Likewise
106 for setting background-color and reversing: set fg_set. Set
107 unspecified-fg and unspecified-bg correctly when (reverse . t) is
108 in effect.
109
110 * xfaces.c (Finternal_set_lisp_face_attribute)
111 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
112 parameters alist.
113
f964b4d7
GM
1142001-03-02 Gerd Moellmann <gerd@gnu.org>
115
ef53d75e
GM
116 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
117 to a single slash in the middle of file names.
118
cda0f4da
GM
119 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
120 Accept only alphanumeric time zone names.
121
f964b4d7
GM
122 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
123 or width area.
124 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
125 a widget to zero height.
126
c3c45f65
GM
1272001-03-01 Gerd Moellmann <gerd@gnu.org>
128
129 * window.c (Fwindow_end): Call move_it_past_eol only if
130 ending up on a partially visible line.
131
028d739a
DL
1322001-03-01 Dave Love <fx@gnu.org>
133
134 * ccl.c (Fccl_execute): Doc fix.
135
57c5889c
GM
1362001-03-01 Gerd Moellmann <gerd@gnu.org>
137
35f59f6b
GM
138 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
139 of the tool bar before calling x_figure_window_size.
140
f84ff02c
GM
141 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
142 NULL after destroying it, otherwise XTread_socket can access a
143 destroyed widget when input is unblocked.
144
8b8f9197 145 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
420f628c 146
57c5889c
GM
147 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
148 same name as before, although there was a change in fontsets.
149
224227d1
KR
1502001-02-28 Ken Raeburn <raeburn@gnu.org>
151
4560730a
KR
152 * lisp.h (Fframe_parameter): Declare.
153
224227d1 154 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 155 Lisp_Object.
224227d1 156
ece93c02
GM
1572001-02-28 Gerd Moellmann <gerd@gnu.org>
158
11ef99b9
GM
159 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
160 NULL instead.
161
162 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
163 NULL instead.
164
ece93c02
GM
165 * alloc.c (toplevel): Include process.h.
166 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
167 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
168 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
169 (allocate_vector, allocate_hash_table, allocate_window)
170 (allocate_frame, allocate_process, allocate_other_vector): New
171 functions.
172 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
173 (mark_maybe_pointer): New function.
174 (mark_memory): Also mark Lisp data to which only pointers
175 remain and not Lisp_Objects.
176 (min_heap_address, max_heap_address): New variables.
177 (mem_find): Return MEM_NIL if START is below min_heap_address or
178 above max_heap_address.
179 (mem_insert): Compute min_heap_address and max_heap_address.
180
181 * process.c (make_process): Use allocate_process.
182
183 * frame.c (make_frame): Use allocate_frame.
184
185 * window.c (make_window, make_dummy_parent): Use allocate_window.
186 (Fcurrent_window_configuration): Use allocate_other_vector.
187
188 * lisp.h (allocate_vectorlike): Remove prototype.
189 (allocate_vector, allocate_other_vector, allocate_frame)
190 (allocate_window, allocate_process, allocate_hash_table):
191 Add prototypes.
192
193 * fns.c (Fdelete, larger_vector): Use allocate_vector.
194 (make_hash_table, copy_hash_table): Use allocate_hash_table.
195
063af457
KH
1962001-02-27 Kenichi Handa <handa@etl.go.jp>
197
198 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
199 treat the produced bytes as a valid multibyte sequence.
200
201 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
202 (ccl_driver) <CCL_WriteMultibyteChar2>: Use
203 CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
204 <ccl_finish>: Set ccl->eight_bit_control properly.
205
206 * ccl.h (struct ccl_program): New member eight_bit_control.
207
f58c6494
SM
2082001-02-26 Stefan Monnier <monnier@cs.yale.edu>
209
210 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
211 accessible_keymaps_char_table.
212 (accessible_keymaps_char_table): Obey `is_metized'.
213 (where_is_internal, Fwhere_is_internal): Don't confuse int and
214 Lisp_Object.
215
c596c392
GM
2162001-02-26 Gerd Moellmann <gerd@gnu.org>
217
218 * dispnew.c: Check HAVE_TERM_H before including term.h.
219
425de386
AI
2202001-02-24 Andrew Innes <andrewi@gnu.org>
221
222 * makefile.w32-in: Update copyright notice.
223
2ba11bbd
SM
2242001-02-24 Stefan Monnier <monnier@cs.yale.edu>
225
226 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
227
66c56ed1
KH
2282001-02-24 Kenichi Handa <handa@etl.go.jp>
229
4c1593ce
KH
230 * Makefile.in (lisp): Add international/utf-8.elc.
231
66c56ed1
KH
232 * fontset.c (Fnew_fontset): Fix handling of the case that an
233 element of FONTLIST is a cons of family and registry.
234
796ead7e
JR
2352001-02-23 Jason Rumney <jasonr@gnu.org>
236
237 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
238 to height unconditionally.
239
240 * w32term.c (x_set_glyph_string_background_width): Extend the
241 background face to the end of the drawing area in the text area,
242 only.
243 (x_insert_glyphs): Call window_box_left to obtain the left
244 x-coordinate of the area to shift.
245
246 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
247 safe_run_hooks.
248
f6839838
AI
2492001-02-22 Andrew Innes <andrewi@gnu.org>
250
251 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header
252 files.
253 ($(BLD)\dispnew.obj):
254 ($(BLD)\editfns.obj):
255 ($(BLD)\fileio.obj):
256 ($(BLD)\filelock.obj):
257 ($(BLD)\keyboard.obj):
258 ($(BLD)\w32proc.obj):
259 ($(BLD)\process.obj):
260 ($(BLD)\sysdep.obj): Ditto.
261
262 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
263 header files.
264 ($(BLD)/dispnew.$(O)):
265 ($(BLD)/editfns.$(O)):
266 ($(BLD)/fileio.$(O)):
267 ($(BLD)/filelock.$(O)):
268 ($(BLD)/keyboard.$(O)):
269 ($(BLD)/w32proc.$(O)):
270 ($(BLD)/process.$(O)):
271 ($(BLD)/sysdep.$(O)): Ditto.
272
c224f70b
GM
2732001-02-22 Gerd Moellmann <gerd@gnu.org>
274
51695746
GM
275 * xdisp.c (forward_to_next_line_start): When taking the shortcut
276 at the start of the function, check that the \n in it->c is
277 from the iterator's current position.
278
a61b7058
GM
279 * xdisp.c (handle_single_display_prop): Add parameter
280 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
281 properties which replace the display of text with something else.
282 (handle_display_prop): Call handle_single_display_prop with
283 additional argument saying if we already replaced text display
284 with something else. Use AREF.
285 (with_echo_area_buffer_unwind_data, display_menu_bar)
286 (decode_mode_spec_coding): Use AREF and ASIZE.
287
3473f362
GM
288 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
289 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
290 * vmstime.h: Files removed.
291
2bb58df3
GM
292 * unexencap.c, unexfx2800.c: Files removed.
293
c224f70b
GM
294 * dispnew.c (direct_output_for_insert): Give up if we are showing
295 a message or just cleared the message because we might need to
296 resize the echo area window or display an empty echo area.
297
ffc9ff0c
GM
2982001-02-21 Gerd Moellmann <gerd@gnu.org>
299
0528abe1
GM
300 * xdisp.c (redisplay_internal): Do the
301 mark_window_display_accurate after all windows have been
302 redisplayed because this call resets flags in buffers which are
303 needed for proper redisplay.
304
ffc9ff0c
GM
305 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
306 display_hourglass_p, start_hourglass, cancel_hourglass instead of
307 the old names.
308
309 * w32term.h (struct x_output): Rename busy_cursor to
310 hourglass_cursor, busy_window to hourglass_window, busy_p to
311 hourglass_p.
312
313 * msdos.h (struct x_output): Rename busy_window to
314 hourglass_window, busy_p to hourglass_p.
315
316 * xterm.h (struct x_output): Rename busy_cursor to
317 hourglass_cursor, busy_window to hourglass_window, busy_p to
318 hourglass_p.
319
320 * xfns.c: Rename everything containing *busy_cursor* and similar
321 to *hourglass*.
322 (syms_of_w32fns): Rename x-busy-pointer-shape to
323 x-hourglass-pointer-shape, display-busy-cursor to
324 display-hourglass, busy-cursor-delay to hourglass-delay.
325
326 * w32fns.c: Rename everything containing *busy_cursor* and similar
327 to *hourglass*.
328 (syms_of_w32fns): Rename x-busy-pointer-shape to
329 x-hourglass-pointer-shape, display-busy-cursor to
330 display-hourglass, busy-cursor-delay to hourglass-delay.
331
332 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
333 of its busy_p flag.
334
335 * dispextern.h (start_hourglass, cancel_hourglass)
336 (display_hourglass_p): Renamed from *busy_cursor*.
337
ab2c5f0a
GM
3382001-02-20 Gerd Moellmann <gerd@gnu.org>
339
d17e49a8
GM
340 * keyboard.c (read_char): When an event from unread-command-events
341 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
342
fa97adf6
GM
343 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
344 equal to the current buffer.
345
ab2c5f0a
GM
346 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
347 nil, otherwise we're left with truncate_lines t when a message
348 is printed with message-truncate-lines bound to t.
349
aeac019e
GM
3502001-02-19 Gerd Moellmann <gerd@gnu.org>
351
c8bc6f65
GM
352 * window.c (Fmove_to_window_line): Undo last change.
353 (displayed_window_lines): Call line_bottom_y to determine
354 the line's bottom position.
355
356 * dispextern.h (line_bottom_y): Add prototype.
357
358 * xdisp.c (line_bottom_y): New function extracted from
359 pos_visible_p.
360 (pos_visible_p): Use it.
361
980a2d69
GM
362 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
363 set redisplaying_p to 0 here instead of in Frecursive_edit.
364 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
365 set redisplaying_p.
366
184d2372
GM
367 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
368 New variables.
369 (syms_of_xdisp): Initialize new variables.
370 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
371 Specbind `inhibit-menubar-update' when updating the menu bar.
372
65048e97
GM
373 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
374 safe_run_hooks.
375
376 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
377 safe_run_hooks.
378
a57c4026
GM
379 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
380 is null.
381
aeac019e
GM
382 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
383 to the start of the file.
384
76846b31
GM
3852001-02-16 Gerd Moellmann <gerd@gnu.org>
386
f3f053f3 387 * window.c (set_window_buffer): Fix last change.
25237df5 388
f3f053f3
GM
389 * window.c (set_window_buffer): Set window's vscroll to 0.
390
dad75588
GM
391 * window.c (coordinates_in_window): Increase width of area
392 where the vertical line can be dragged.
393
c220b753
GM
394 * xterm.c (x_set_glyph_string_background_width): Extend the
395 background face to the end of the drawing area in the text
396 area, only.
397
c56b1c1b
GM
398 * xdisp.c (handle_single_display_prop): Set iterator's position
399 to where the `display' property starts, like for images.
400 (dump_glyph): New function.
401 (dump_glyph_row): Use it. Dump info about marginal areas.
402
403 * dispnew.c (direct_output_for_insert): Recognize more cases where
404 glyphs can be written instead of being inserted.
405
406 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
407 the left x-coordinate of the area to shift.
408
76846b31
GM
409 * dired.c (directory_files_internal): Set result list to nil
410 before retrying.
411
0fc71a77
KH
4122001-02-15 Kenichi Handa <handa@etl.go.jp>
413
414 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
415 invalid multibyte sequence, treat *SRC as a character of
416 eight-bit-graphic.
417
25078b54
EZ
4182001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
419
420 * textprop.c (Fset_text_properties): Doc fix.
421
8399f8a0
GM
4222001-02-15 Gerd Moellmann <gerd@gnu.org>
423
424 * dispnew.c (update_text_area): Undo change of 2001-01-12.
425
9a2a6f73
DL
4262001-02-14 Dave Love <fx@gnu.org>
427
428 * coding.c: Doc and message fixes.
429
bf853fee
AI
4302001-02-14 Andrew Innes <andrewi@gnu.org>
431
432 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
433 Emacs frame above the screen size.
434
78c663d8
GM
4352001-02-14 Gerd Moellmann <gerd@gnu.org>
436
437 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
438
7cc9f69f
GM
4392001-02-13 Gerd Moellmann <gerd@gnu.org>
440
0a411995
GM
441 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
442 case that TO ends up beyond ZV after running before-change-functions.
443
5ddc1b75
GM
444 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
445 the selected window if it is showing the buffer in question.
446
7cc9f69f
GM
447 * dired.c (directory_files_internal): Initialize errno.
448 (toplevel): Include errno.h.
449
2e6621ca
GM
4502001-02-13 Kenichi Handa <handa@etl.go.jp>
451
452 * xfaces.c (best_matching_font): New parameter width_ratio.
453 Multiply avgwidth by width_ratio.
454 (choose_face_font): Call best_matching_font with width_ratio
455 calculated from the column width of C.
456
60222d69
AI
4572001-02-12 Andrew Innes <andrewi@gnu.org>
458
459 The following changes are to draw box lines inside characters area
460 if line-width is negative.
461
462 * w32term.c (x_produce_image_glyph): Pay attention to the case that
463 face->box_line_width is negative.
464 (x_produce_stretch_glyph): Likewise.
465 (x_produce_glyphs): Likewise.
466 (x_estimate_mode_line_height): Likewise.
467 (x_draw_glyph_string_background): Likewise.
468 (x_draw_glyph_string_foreground): Likewise.
469 (x_draw_composite_glyph_string_foreground): Likewise.
470 (x_draw_glyph_string_box): Likewise.
471 (x_draw_image_foreground): Likewise.
472 (x_draw_image_relief): Likewise.
473 (x_draw_image_foreground_1): Likewise.
474 (x_draw_image_glyph_string): Likewise.
475
9804b846
KH
4762001-02-09 Kenichi Handa <handa@etl.go.jp>
477
478 The following changes are to draw box lines inside characters area
479 if line-width is negative.
480
481 * xterm.c (x_produce_image_glyph): Pay attention to the case that
482 face->box_line_width is negative.
483 (x_produce_stretch_glyph): Likewise.
484 (x_produce_glyphs): Likewise.
485 (x_estimate_mode_line_height): Likewise.
486 (x_draw_glyph_string_background): Likewise.
487 (x_draw_glyph_string_foreground): Likewise.
488 (x_draw_composite_glyph_string_foreground): Likewise.
489 (x_draw_glyph_string_box): Likewise.
490 (x_draw_image_foreground): Likewise.
491 (x_draw_image_relief): Likewise.
492 (x_draw_image_foreground_1): Likewise.
493 (x_draw_image_glyph_string): Likewise.
494
495 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
496 and :line-width can be negative.
497 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be
498 negative.
499
49be9f70
JR
5002001-02-09 Jason Rumney <jasonr@gnu.org>
501
502 * w32term.c (w32_encode_char): Treat eight bit graphic and control
503 characters the same as ASCII and latin-1.
504 (x_display_and_set_cursor): Check for the focus frame's selected
505 window instead of selected_window.
506 (x_after_update_window_line): Don't clear if frame's internal
507 border width is zero.
508 (x_new_font): Don't change a tooltip's size.
509 (w32_initialize): Set char_ins_del_ok to 1.
510
511 * w32fns.c (Fx_show_tip): Fix calls to make_number.
512 (x_set_font): If font hasn't changed, avoid recomputing
513 faces and other things.
514 (x_set_tool_bar_lines): Do nothing if frame is
515 minibuffer-only,
516 (Fx_create_frame): Add the tool bar height to the frame
517 height.
518 (x_create_tip_frame): Prevent changing the tooltip's
519 background color by specifying a color for the default font
520 in .Xdefaults.
521 (Qcancel_timer): New variable.
522 (syms_of_w32fns): Initialize and staticpro it.
523 (Fx_hide_tip, Fx_show_tip): Use it.
524 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
525 the timer.
526 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
527
528 * w32.c (init_environment): Duplicate local string before putenv.
529
555e35d2
SZ
5302001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
531
532 * charset.c (Fstring): A typo.
533
19c92c94
KH
5342001-02-09 Kenichi Handa <handa@etl.go.jp>
535
e47a1c33
KH
536 * charset.c (Fstring): If all arguments are less than 256, return
537 a unibyte string.
538
539 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
540 return a unibyte string.
541
19c92c94
KH
542 * coding.c (code_convert_region): After detecting a coding, if
543 nothing found, set coding->composing to COMPOSITION_NO.
544 (decode_coding_string): Likewise.
545
d8e675f5
SM
5462001-02-08 Stefan Monnier <monnier@cs.yale.edu>
547
548 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
549 to avoid overflow.
550
bd503487
KH
5512001-02-07 Kenichi Handa <handa@etl.go.jp>
552
553 * charset.c (parse_str_to_multibyte): New function.
554
555 * charset.h (parse_str_to_multibyte): Extern it.
556
557 * print.c (print_string): If we are going to print a unibyte
558 string into a multibyte buffer, convert the string to multibyte by
559 str_to_multibyte.
560
a8370d72
AI
5612001-02-06 Andrew Innes <andrewi@gnu.org>
562
563 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
564 been created. It seems we can get sent window messages such as
565 WM_ERASEBKGND before we properly update a frame.
566
c363a1d6
GM
5672001-02-06 Gerd Moellmann <gerd@gnu.org>
568
569 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
570 Avoid some unnecessary cursor positioning.
571
a08332c0
GM
5722001-02-05 Gerd Moellmann <gerd@gnu.org>
573
574 * xfaces.c (split_font_name): Compute numeric value of
575 XLFD_AVGWIDTH.
576 (LFACE_AVGWIDTH): New macro.
577 (LFACEP): Use AREF.
578 (check_lface_attrs): Check LFACE_AVGWIDTH.
579 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
580 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
581 (merge_face_vectors): Check LFACE_AVGWIDTH.
582 (Finternal_make_lisp_face): Use AREF.
583 (xm_set_menu_resources_from_menu_face)
584 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
585 (Finternal_lisp_face_empty_p): Use AREF.
586 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
587 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
588 Compare average widths..
589 (best_matching_font): Arrange for comparing average widths.
590
591 * dispextern.h (enum lface_attribute_index): Add
592 LFACE_AVGWIDTH_INDEX (invisible from Lisp).
593
5cb3c8d4
DL
5942001-02-05 Dave Love <fx@gnu.org>
595
596 * puresize.h: Revert last change following loadup.el change.
597
193fba87
AI
5982001-02-05 Andrew Innes <andrewi@gnu.org>
599
600 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
601 invocation of temacs, to work with Windows 2000.
602 (bootstrap-emacs): Ditto.
603
e16f52ce
GM
6042001-02-05 Gerd Moellmann <gerd@gnu.org>
605
7a58ab59
GM
606 * xterm.c (x_display_and_set_cursor): Check for the focus
607 frame's selected window instead of selected_window.
608
e89aaabd
GM
609 * xdisp.c (try_scrolling): If point is in the line below the
610 window, make sure to move the iterator at least a canonical
611 char height down.
612
e16f52ce
GM
613 * window.c (Fmove_to_window_line): Don't add 1 if window is
614 vscrolled.
615
789ce875
KH
6162001-02-05 Kenichi Handa <handa@etl.go.jp>
617
618 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If
619 invalid, execute CCL_INVALID_CMD.
620 (ccl_driver): If the CCL program is terminated because of
621 CCL_STAT_INVALID_CMD, copy the remaining source data to the
622 destination instead of throwing them away.
623
20b28f82
GM
6242001-02-02 Gerd Moellmann <gerd@gnu.org>
625
79fb38c0
GM
626 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
627 faces and other things.
628
20b28f82
GM
629 * xdisp.c (get_next_display_element): Fix case of empty
630 display table entry.
631
5a72551e
EZ
6322001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
633
eb24d0bf
EZ
634 * editfns.c (Fconstrain_to_field): Doc fix.
635
6a3f48c7
EZ
636 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
637 into `thoroughly', to make it consistent with the doc string.
638
5a72551e
EZ
639 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
640
01acdb05
GM
6412001-02-01 Gerd Moellmann <gerd@gnu.org>
642
0353b28f
GM
643 * search.c (search_buffer): Call set_search_regs with a byte
644 position, not a character position.
645
01acdb05
GM
646 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
647 minibuffer-only,
648
e86b5133
EZ
6492001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
650
651 * frame.c (Fmodify_frame_parameters): Doc fix.
652
7442878f
GM
6532001-01-31 Gerd Moellmann <gerd@gnu.org>
654
01acdb05
GM
655 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
656 identifier which is not reserved by Standard C.
657
7442878f
GM
658 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
659
660 * window.c (enum window_part): New enumeration.
661 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
662 Qright_bitmap_area.
663 (coordinates_in_window): Return an enumerator from enum
664 window_part. Fix handling of right scroll bar.
665 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
666 `right-fringe' instead of `left-bitmap-area' and
667 `right-bitmap-area'. Use enumerators from enum window_part
668 instead of hard-coded integers.
669 (check_window_containing, window_from_coordinates): Use
670 enumerators from enum window_part instead of hard-coded integers.
671 (syms_of_window): Replace Qleft_bitmap_area and
672 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
673
7c132cba
EZ
6742001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
675
676 * editfns.c (Fformat_time_string): Doc fix.
677
c359dd9e
SM
6782001-01-31 Stefan Monnier <monnier@cs.yale.edu>
679
680 * keymap.c (Fwhere_is_internal): Use the first valid binding
681 if no ascii binding is found (when firstonly is t).
682
ce070307
GM
6832001-01-31 Gerd Moellmann <gerd@gnu.org>
684
b4f30ec5
GM
685 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
686 instead of Finteractive_p.
687
688 * lisp.h (interactive_p): Add prototype.
689
690 * eval.c (interactive_p): New function.
691 (Finteractive_p): Use it.
692
ce070307
GM
693 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
694
f57b6e64
DL
6952001-01-31 Dave Love <fx@gnu.org>
696
d61c7afe
DL
697 * .gdbinit (hook-run): Define to run xreload.
698
f57b6e64
DL
699 * textprop.c (Fset_text_properties): Fix newline in doc string.
700
eef93f99
GM
7012001-01-30 Gerd Moellmann <gerd@gnu.org>
702
703 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use
704 DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
705
706 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
707 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
708 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
709
710 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
711 height.
712
d9c1f6f9
DL
7132001-01-30 Dave Love <fx@gnu.org>
714
715 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
716 AFTER_POTENTIAL_GC.
717
e8f044a0
GM
7182001-01-29 Gerd Moellmann <gerd@gnu.org>
719
720 * bytecode.c (Fbyte_code) <Bcurrent_column>: Add
721 BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
722
8e1db7b3
EZ
7232001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
724
725 * textprop.c (Fset_text_properties): Doc fix.
726
4eefd9d2
GM
7272001-01-29 Gerd Moellmann <gerd@gnu.org>
728
729 * xdisp.c (forward_to_next_line_start): Remove xassert.
730
fccb8288
EZ
7312001-01-29 Jason Rumney <jasonr@gnu.org>
732
4eefd9d2 733 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
734 returning without releasing it.
735
76581eab
KH
7362001-01-29 Kenichi Handa <handa@etl.go.jp>
737
738 * w32fns.c (w32_font_match): Allocate three more bytes to regex
739 for '^', '$', and '\0'.
740
83a96b4d
AC
7412001-01-28 Andrew Choi <akochoi@i-cable.com>
742
5604ec34
AC
743 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
744 regex for '^', '$', and '\0'.
745
83a96b4d
AC
746 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
747 only if current_sblock has been initialized.
748
749 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
750 terminal frame even if it is the only visible frame.
751
c09a6440
KH
7522001-01-28 Kenichi Handa <handa@etl.go.jp>
753
754 * fontset.c (font_family_registry): Even if FONTNAME conform to
755 XLFD, if it specifies other fields than family and registry,
756 return FONTANME. New argument FORCE if nonzero cancel that
757 feature.
758 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
759 a signle byte character. Don't set FAMILY part to nil here. It
760 is handled by the caller choose_face_font.
761 (Fnew_fontset): Call font_family_registry with FORCE 0.
762 (Fset_fontset_font): Likewise.
763
4dcd74e6
GM
7642001-01-27 Gerd Moellmann <gerd@gnu.org>
765
766 * xdisp.c (display_line): Don't treat a newline as fitting
767 on the line.
768
d2906bf8
GM
7692001-01-26 Gerd Moellmann <gerd@gnu.org>
770
0130fe1a
GM
771 * window.c (size_window): Set the window's orig_top to nil when
772 changing heights, so that a future shrink_mini_window won't
773 restore a bogus height.
774
550f0e6a
GM
775 * frame.c (do_switch_frame): If selected frame has a mini-window,
776 resize that to exact size.
777
b7b20fbd
GM
778 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
779
a47b7816
GM
780 * xdisp.c (display_line): Simplify check for glyphs fitting
781 entirely in the line.
782
d2906bf8
GM
783 * xfns.c (xic_style): New variable.
784 (create_frame_xic): Move static variable to global scope for
550f0e6a 785 the case that `static' gets defined away.
d2906bf8 786
73df2b1e
KH
7872001-01-26 Kenichi Handa <handa@etl.go.jp>
788
789 * coding.c (decode_coding): Set a flag for inhibiting
790 inconsistent eol.
791 (code_convert_region): Always set saved_coding_symbol.
792 (decode_coding_string): Likewise. Update coding->symbol when we
793 encounter a inconsistent eol by the same way as
794 code_convert_region.
795
6613cfc4
GM
7962001-01-25 Gerd Moellmann <gerd@gnu.org>
797
c5e6e06b
GM
798 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
799 XClearArea.
800
801 * xterm.c (x_after_update_window_line): Don't clear if frame's
802 internal border width is zero.
803 (x_clear_area): New function.
804 (x_after_update_window_line, x_clear_end_of_line)
805 (x_scroll_bar_create, x_scroll_bar_set_handle)
806 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
807 instead of XClearArea.
808
809 * xterm.h (x_clear_area): Add prototype.
810
6613cfc4
GM
811 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
812 which doesn't seem necessary anymore with Lesstif 0.92.
813
650cc6cc
DL
8142001-01-25 Dave Love <fx@gnu.org>
815
34ac3367
DL
816 * puresize.h (BASE_PURESIZE): Up to 720000.
817
650cc6cc
DL
818 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
819
5e37dc22
GM
8202001-01-25 Gerd Moellmann <gerd@gnu.org>
821
e1e441f9
GM
822 * xdisp.c (echo_area_display): Don't call redisplay_internal
823 when Emacs is shutting down. We can't run hooks etc. that
824 would be necessary to do a redisplay.
825
5e37dc22
GM
826 * lread.c (read_integer): Use type EMACS_INT instead of int.
827
0fb94c7f
EZ
8282001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
829
830 * ccl.c (ccl_driver): Fix last change.
831
e3778624
KH
8322001-01-25 Kenichi Handa <handa@etl.go.jp>
833
834 * ccl.h (sturct ccl_program): New member suppress_error.
835
bb264518 836 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
837 insert error message to the output.
838 (setup_ccl_program): Initialize ccl->suppress_error to 0.
839
840 * coding.h (struct coding_system): New member suppress_error.
841
842 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
843 (Fset_terminal_coding_system_internal): Set the member
844 suppress_error to 1.
845 (Fset_safe_terminal_coding_system_internal): Likewise.
846
245ed2b1
SM
8472001-01-24 Stefan Monnier <monnier@cs.yale.edu>
848
849 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
850 as if it was a `charset'.
851
f9aaedb6
GM
8522001-01-24 Gerd Moellmann <gerd@gnu.org>
853
854 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
855 value in where_is_cache; the next lookup in the cache returns
856 something bogus if we do.
857
c3902c3e
EZ
8582001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
859
860 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
861 if HAVE_WINDOW_SYSTEM isn't defined.
862
3497f73e
GM
8632001-01-24 Gerd Moellmann <gerd@gnu.org>
864
e7e41584
GM
865 * fns.c (sweep_weak_table): Fix code taking items out of
866 the hash collision chain. Some cleanup.
867
3497f73e
GM
868 * xterm.c (x_new_font): Don't change a tooltip's size.
869
870 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
871 background color by specifying a color for the default font
872 in .Xdefaults.
873
3d48e687
KH
8742001-01-24 Kenichi Handa <handa@etl.go.jp>
875
96531b20
KH
876 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
877 a workaround for SunOS 4's cc.
878 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
879 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
880 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
881 statement.
3d48e687 882
a30629d2
GM
8832001-01-23 Gerd Moellmann <gerd@gnu.org>
884
885 * xterm.c (x_set_window_size_1): New function extracted from
886 x_set_window_size.
887 (x_set_window_size): Use it.
888 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
889 doesn't have a widget, like tooltips.
890
5a43decf
EZ
8912001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
892
893 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
894 fix.
895
b0e98867
KH
8962001-01-23 Kenichi Handa <handa@etl.go.jp>
897
898 * fns.c (Fset_char_table_default): Fix to make sub char-table
899 correctly.
900
50606b4c
GM
9012001-01-22 Gerd Moellmann <gerd@gnu.org>
902
cb2ddc53 903 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 904 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
905 items.
906
57c28064
GM
907 * xdisp.c (Ftool_bar_lines_needed): New function.
908 (syms_of_xdisp): Defsubr it.
909
50606b4c
GM
910 * editfns.c (Fformat): Don't extend text properties from arguments
911 to padding chars in the result.
912
2f169c38
EZ
9132001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
914
915 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
916
0f32f023
AI
9172001-01-20 Andrew Innes <andrewi@gnu.org>
918
919 * w32term.c (w32_ring_bell): Only support visible bell on w32
920 frames.
921 (w32_initialize): Don't set term hooks that aren't actually needed
922 in windowed mode.
923
924 * xfaces.c (realize_default_face):
925 (realize_face):
926 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
927
928 * xdisp.c (handle_single_display_prop): Remove references to
929 FRAME_W32_CONSOLE_P.
930
931 * dispnew.c (Fredraw_frame): Remove reference to
932 FRAME_W32_CONSOLE_P.
933
934 * frame.h (output_method): Remove output_w32_console method.
935 (FRAME_W32_CONSOLE_P): Remove macro.
936
937 * frame.c (Qw32_console): Remove variable.
938 (Fframep): Remove references to it.
939 (syms_of_frame): Ditto.
940 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
941
942 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
943 redefinition.
944
7173eada
KH
9452001-01-20 Kenichi Handa <handa@etl.go.jp>
946
947 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
948
755b45ce
AI
9492001-01-19 Andrew Innes <andrewi@gnu.org>
950
951 * w32.c (init_environment): Add a version-independent site-lisp
952 directory to EMACSLOADPATH, after the version dependent one.
953
0a949811
GM
9542001-01-19 Gerd Moellmann <gerd@gnu.org>
955
8501998a
GM
956 * editfns.c (Fbuffer_substring): Doc fix.
957
0a949811
GM
958 * xdisp.c (message_dolog, message2, message2_nolog): Rename
959 parameter LEN to NBYTES.
960
e6ebcbbe
KH
9612001-01-19 Kenichi Handa <handa@etl.go.jp>
962
200ecca2
KH
963 * charset.c (strwidth): Use c_string_width.
964 (c_string_width): New function.
965 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
966 Caller changed.
967
968 * charset.h (c_string_width, lisp_string_width): Extern them.
969
970 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
971
e6ebcbbe
KH
972 * indent.c (check_composition): Check validity of composition.
973
200ecca2
KH
974 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
975 characters by calling c_string_width.
976 (x_consider_frame_title): Get byte length of frame tile string
977 correctly.
978 (display_mode_element): Pay attention to width of non-ASCII
979 characters by calling strwidth.
980
8692ca92
GM
9812001-01-18 Gerd Moellmann <gerd@gnu.org>
982
8962e303
GM
983 * xfns.c (Qcancel_timer): New variable.
984 (syms_of_xfns): Initialize and staticpro it.
985 (Fx_hide_tip, Fx_show_tip): Use it.
986 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
987 the timer.
988 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
989
91523be9
GM
990 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
991
992 * window.h (WINDOW_LIVE_P): New macro.
993
b0b7ed0e
GM
994 * window.c (window_size_fixed): New variable.
995 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
996 the doc string.
997
06bccf8e
GM
998 * eval.c (specbind): If binding a per-buffer variable which
999 doesn't have a buffer-local value in the current buffer, change
1000 the global value by changing the value of the symbol bound in all
1001 buffers not having their own value, to make it consistent with
1002 what happens with other buffer-local variables.
1003
8692ca92
GM
1004 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1005
1006 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1007 when searching for a newline.
1008
bb3a3b50
KH
10092001-01-18 Kenichi Handa <handa@etl.go.jp>
1010
1011 * xdisp.c (display_string): Fix previous change.
1012
c2cc16fa
JR
10132001-01-18 Jason Rumney <jasonr@gnu.org>
1014
1015 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1016 GLYPH_DEBUG is defined.
1017 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1018 true for images with `:ascent 100'.
1019 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1020 meantime, use face MOUSE_FACE_ID.
1021 If first glyph isn't a character glyph, use the ASCII NUL
1022 character to determine the face.
1023 (expose_area): Do not treat left margin specially.
1024 (note_mode_line_highlight): If no local_map, check global keymap.
1025 (note_mouse_highlight): Initialize overlay.
1026 (clear_mouse_face): Don't return if tip_frame is
1027 non-nil.
1028 (show_scroll_bars): Remove unused function.
1029 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1030 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1031 Clip to row.
1032 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
1033 nil.
1034 (x_free_frame_resources): Unload relief colors.
1035
9c11f79e
GM
10362001-01-17 Gerd Moellmann <gerd@gnu.org>
1037
3aec8722
GM
1038 * xdisp.c (forward_to_next_line_start): Avoid calling
1039 get_next_display_element when the newline is already found. This
1040 may change the iterator's position, when its current position is
1041 equal to the iterator's stop_charpos.
1042
f3ffc2c3
GM
1043 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1044 zero, use this method only at the end of a line.
1045
a86110a8
GM
1046 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
1047 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1048 if SCALABLE_FONTS_P is set.
1049
d26d6fd9
GM
1050 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1051 so that scalable fonts are included.
1052
9c11f79e
GM
1053 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1054 In the cache, use a key containing the information if scalable
1055 fonts are included.
1056 (x_load_font): Adapt to change of keys in the font cache.
1057
10582001-01-17 Kim F. Storm <storm@filanet.dk>
1059
d26d6fd9
GM
1060 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1061 XListFonts to take advantage of font caching.
1062
9c11f79e
GM
1063 * xterm.c (x_list_fonts): Ensure caching font information when
1064 called for a null frame, which is the case frequently when Emacs
1065 starts.
1066
51446987
GM
10672001-01-17 Gerd Moellmann <gerd@gnu.org>
1068
f864120f
GM
1069 * xfns.c (QCconversion): Replaces QCalgorithm.
1070
1071 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1072
1073 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1074 of :algorithm.
1075
e37d1417
GM
1076 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1077 not everything could be displayed.
1078
51446987
GM
1079 * line.h, x-list-font.c: Files removed because unused.
1080
9ad4f3e5
AI
10812001-01-17 Andrew Innes <andrewi@gnu.org>
1082
1083 * dired.c (directory_files_internal): Convert result from readdir
1084 to a unibyte string initially, to avoid possible misinterpretation
1085 of some bytes as the internal form of Emacs characters.
1086
2eda09b5
KH
10872001-01-17 Kenichi Handa <handa@etl.go.jp>
1088
1089 * fns.c (concat): Be sure to avoid putting the same `composition'
1090 property on the adjacent regions.
1091
826f3788
GM
10922001-01-16 Gerd Moellmann <gerd@gnu.org>
1093
f251459d
GM
1094 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
1095 here.
1096 (Fscroll_right, Fscroll_left): Set it here instead, if called
1097 interactively.
1098
d57b83b3
GM
1099 * buffer.c (Fset_buffer_modified_p): Set buffer's
1100 prevent_redisplay_optimizations_p flag.
1101
826f3788
GM
1102 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
1103 * sysdep.c, vmsproc.c, xselect.c: Call
1104 redisplay_preserve_echo_area with additional arg.
1105
1106 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
1107 prototype.
1108
1109 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1110 FROM_WHERE, for debugging.
1111
261d788b
KH
11122001-01-16 Kenichi Handa <handa@etl.go.jp>
1113
1114 * ccl.c (Fregister_ccl_program): Handle the return value of
1115 resolve_symbol_ccl_program correctly.
bda6b481
KH
1116 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
1117 changed.
261d788b 1118
bccee4f2
GM
11192001-01-15 Gerd Moellmann <gerd@gnu.org>
1120
e4ded23c
GM
1121 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1122 has gone in the meantime, use face MOUSE_FACE_ID.
1123
ae24cb3b
GM
1124 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
1125 x_display_info_for_display returns null, don't try to close
1126 the display; we didn't open it.
1127
bccee4f2
GM
1128 * dispnew.c (save_or_restore_current_matrices): Function removed.
1129 (save_current_matrix, restore_current_matrix): New functions.
1130 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1131 restore the frame's current matrix. Due to the glyph pointer
1132 setup done in adjust_glyph_matrix, there is no easy way to make
1133 saving the current matrix in the desired matrix generally correct,
1134 so don't try it.
1135
ebeccffa
KH
11362001-01-15 Kenichi Handa <handa@etl.go.jp>
1137
1138 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1139 truncation glyphs.
1140 (display_line): Optimize for wide characters.
e4ded23c 1141 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1142 partially. On ttys, produce more than one truncation glyph for
1143 multi-column characters that don't fit on the line.
1144
64388126
KH
11452001-01-13 Kenichi Handa <handa@etl.go.jp>
1146
1147 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
1148 it instead of WORDS_BIGENDIAN. Caller changed.
1149
8edb0a6f
JR
11502001-01-13 Jason Rumney <jasonr@gnu.org>
1151
1152 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1153 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
1154 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1155 (tiff_format, gif_format, gs_format): Adapt to change of image
1156 margins.
1157
1158 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1159 (x_draw_image_relief, x_draw_image_foreground_1)
1160 (x_draw_image_glyph_string): Adapt to change of image margins.
1161
1162 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1163 variables.
1164
1165 * w32bdf.c (search_file_line, get_cached_font_char)
1166 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1167
1168 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1169
1170 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1171 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1172 (Fw32_send_sys_command): Remove unused variables.
1173 (w32_msg_pump): Add parentheses.
1174
1175 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1176 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1177 Add parentheses.
1178
4956d1ef
GM
11792001-01-12 Gerd Moellmann <gerd@gnu.org>
1180
b30623be
GM
1181 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1182 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1183 being a pair of margins.
1184 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1185 to DEFVAR_LISP. Extend doc.
1186
1187 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1188 margins.
1189 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1190 pair of integers `(X . Y)', use X for the horizontal and Y for the
1191 vertical margin.
1192 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1193 (parse_image_spec): Check it.
1194 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1195 (tiff_format, gif_format, gs_format): Use
1196 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
1197
1198 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1199 (x_draw_image_relief, x_draw_image_foreground_1)
1200 (x_draw_image_glyph_string): Adapt to the change of image margins.
1201
1202 * dispextern.h (struct image): Replace member `margin' with
1203 `hmargin' and `vmargin'.
1204
4554cc79
GM
1205 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1206 and GLYPHS.
1207
1208 * dispnew.c (update_text_area): Put code which decrements the
1209 stop position when the row's face extends to the end of the
3bffc665 1210 line in #if 0.
4554cc79 1211
3cccce8d
GM
1212 * xfns.c (x_set_mouse_color): Fix color allocation.
1213
4956d1ef
GM
1214 * keyboard.c: Call get_local_map with new argument list.
1215
1216 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1217
1218 * intervals.h (enum map_property): Removed.
1219 (get_local_map): Change prototype.
1220
1221 * keymap.c: Call get_local_map with new argument list.
1222 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1223
2c2ff7f2
GM
12242001-01-11 Gerd Moellmann <gerd@gnu.org>
1225
a23887b9
GM
1226 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1227 of the size needed for the tool bar string. For the last image,
1228 use a `display' property that reaches to the end of the string.
1229
a7ee2d2e
GM
1230 * xselect.c (selection_request_dpyinfo): New variable.
1231 (x_handle_selection_request): Set it.
1232 (x_selection_request_lisp_error): Don't call
1233 x_decline_selection_request if selection request's display has
1234 been closed.
1235
2c2ff7f2
GM
1236 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
1237 the unregister_colors before calling XFreeColors.
1238
457b792c
GM
12392001-01-10 Dave Love <fx@gnu.org>
1240
1241 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1242 ${SOME_MACHINE_LISP}, not ${lisp}.
1243
c1efd260
GM
12442001-01-10 Gerd Moellmann <gerd@gnu.org>
1245
a98b5ed9 1246 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 1247 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
1248 line.
1249
ac95a621
GM
1250 * xselect.c (x_reply_selection_request): Add a comment.
1251
c1efd260
GM
1252 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1253 XkbGetNames instead of XkbGetKeyboard.
1254
1bfb1345
DL
12552001-01-10 Dave Love <fx@gnu.org>
1256
1257 * sysdep.c (random): Revert the declaration.
1258
38119822
GM
12592001-01-09 Gerd Moellmann <gerd@gnu.org>
1260
35f464a7
GM
1261 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
1262 function string_bytes.
1263 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1264
1265 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1266 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1267 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1268 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1269 the current sblock.
1270 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1271 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1272 after sweeping strings, and at the end.
1273 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1274
38119822
GM
1275 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1276 ensure that pop_message is called.
1277
1278 * keyboard.c (Fexecute_extended_command): Use a
1279 record_unwind_protect to ensure that pop_message is called.
1280
1281 * lisp.h (push_message_unwind): Add prototype.
1282
1283 * xdisp.c (push_message_unwind): New function.
1284
1285 * fileio.c (do_auto_save_unwind): Do the pop_message here
1286 instead of in Fdo_auto_save.
1287 (Fdo_auto_save): Don't call pop_message.
1288
f47a9ec4
KR
12892001-01-08 Ken Raeburn <raeburn@gnu.org>
1290
1291 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1292 in inner block.
1293
a758f97d
GM
12942001-01-08 Gerd Moellmann <gerd@gnu.org>
1295
6d0afc03
GM
1296 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1297 when increasing window's vscroll.
1298
a758f97d
GM
1299 * macros.c (Qkbd_macro_termination_hook): New variable.
1300 (syms_of_macros): Initialize and staticpro it.
1301 (pop_kbd_macro): Run kbd-macro-termination-hook.
1302
1303 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1304
1bfb1345 13052001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1306
1307 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1308 arglist, for documentation's sake.
1309
0dac6924
AI
13102001-01-06 Andrew Innes <andrewi@gnu.org>
1311
1312 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1313 of *.pdb.
1314
8182406a
AI
13152001-01-05 Andrew Innes <andrewi@gnu.org>
1316
1317 * term.c (update_end): Don't check updating_frame; for some reason
1318 this can be 0 sometimes, such as after dismissing a popup menu,
1319 and isn't necessary given the explicit frame argument.
1320
3828218c
GM
13212001-01-05 Gerd Moellmann <gerd@gnu.org>
1322
1323 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1324 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1325
2f5ded21
GM
13262001-01-04 Gerd Moellmann <gerd@gnu.org>
1327
1328 * xterm.c (clear_mouse_face): Don't return if tip_frame is
1329 non-nil.
1330
1331 * xfns.c (x_create_tip_frame): Preserve the value of
1332 face_change_count around the creation of the tip frame.
1333
1334 * xfns.c (last_show_tip_args): New variable.
1335 (compute_tip_xy): New function.
1336 (Fx_show_tip): Reuse an existing tip frame, if possible.
1337 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1338
dfad65fa
DL
13392001-01-04 Dave Love <fx@gnu.org>
1340
64d4ec0f
DL
1341 * editfns.c (Fformat): Doc fix.
1342
dfad65fa
DL
1343 * systime.h (set_file_times): Prototype.
1344
1345 * widget.h (EmacsFrameSetCharSize_): Prototype.
1346
1347 * sysdep.c (random, srandom): Declare explicitly.
1348
1349 * dispextern.h (move_it_vertically_backward): Declare.
1350
85fe3b5e
GM
13512001-01-04 Gerd Moellmann <gerd@gnu.org>
1352
0f2ac578
GM
1353 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1354 like in Fx_create_frame.
1355
482cca61
GM
1356 * xfaces.c (set_font_frame_param): Don't do anything for
1357 non-graphical frames.
1358
85fe3b5e
GM
1359 * window.c (Fdelete_other_windows): Set window's window_end_valid
1360 to nil when changing the window's start. Don't change the
1361 window's start when its top position hasn't changed. If we do,
1362 this will set the window's optional_new_start, which act's like a
1363 force_start during redisplay with C-x 1 M-> under particular
1364 circumstances (see report from Per Starback to emacs-pretest-bug
1365 from 2000-12-13.).
1366
3e99d3b4
GM
13672001-01-03 Gerd Moellmann <gerd@gnu.org>
1368
a77dc1ec
GM
1369 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1370 short cut at the start of the function. Add an assertion.
1371 (reseat_at_next_visible_line_start): Add an assertion.
1372
2f3cad6c
GM
1373 * window.c (Frecenter): When changing the window start, set the
1374 window's window_end_valid to nil.
1375 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1376
1377 * dispextern.h (move_it_past_eol): Add prototype.
1378
1379 * xdisp.c (move_it_past_eol): New function.
1380
3e99d3b4
GM
1381 * window.c (Fwindow_end): Doc fix.
1382
13832001-01-03 Dave Love <fx@gnu.org>
1384
1385 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
1386 kluge.
1387
bafb434c
GM
13882001-01-03 Gerd Moellmann <gerd@gnu.org>
1389
1390 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1391 the enabled_p flag of the glyph row at window_end_vpos to 0.
1392 (handle_single_display_prop): Fix last change.
1393
5297fb00
RS
13942001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1395
1396 * window.c (Frecenter): Doc fix.
1397
13d6a61c
AI
13982001-01-02 Andrew Innes <andrewi@gnu.org>
1399
1400 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1401
1402 * frame.h (output_method): Add output_w32_console method.
1403 (FRAME_W32_CONSOLE_P): New macro.
1404
1405 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1406 use output_w32_console method.
1407 (Qw32_console): New Lisp_Object.
1408 (Fframep): Return it.
1409 (syms_of_frame): Init it.
1410 (Fframe_parameters): Report w32console as font for w32_console
1411 frames.
1412
1413 * xfaces.c (realize_default_face): Set face foreground and
1414 background to unspecified for w32_console frames.
1415 (realize_face): Realize face cache for w32_console frames.
1416 (realize_tty_face): Accept w32_console frames.
1417
1418 * xdisp.c (handle_single_display_prop): Return if frame is
1419 w32_console.
1420 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1421 necessary, even if running interactively.
1422
1423 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1424 w32_console frames.
1425
1426 * w32term.c (x_update_begin):
1427 (x_update_end):
1428 (x_clear_frame):
1429 (x_ins_del_lines):
1430 (x_change_line_highlight):
1431 (x_delete_glyphs):
1432 (w32_ring_bell):
1433 (x_update_begin):
1434 (x_update_end):
1435 (w32_reassert_line_highlight):
1436 (w32_frame_rehighlight):
1437 (w32_frame_raise_lower): Do nothing if not w32 frame.
1438
1439 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1440
1441 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1442 system doesn't tell us directly.
1443 (Fx_display_visual_class): Implement properly.
1444
d6bb0c0d
GM
14452001-01-02 Gerd Moellmann <gerd@gnu.org>
1446
1447 * window.c (Frecenter): Handle centering in graphical frames
1448 specially. Centering on the basis of line counts doesn't work
1449 reliably with variable-height lines.
1450
315f5865
EZ
14512001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1452
1453 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1454 and al[].
1455
1456 * composite.c (run_composition_function): Remove unused variable
1457 `val'.
1458 (update_compositions): Remove unused variable `hook'.
1459
1460 * intervals.c (get_local_map): Remove unused variable `tem'.
1461
1462 * doprnt.c (doprnt1): Remove unused variable `size'.
1463
1464 * fns.c (Flength): Remove unused variable `tail'.
1465 (Fdelete): Remove unused variable `size'.
1466
1467 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1468 and `gcpro2'.
1469
1470 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
1471 `tem'.
1472
1473 * data.c (find_symbol_value): Remove extra 3rd argument in the
1474 call to swap_in_symval_forwarding.
1475
1476 * undo.c (Fprimitive_undo): Remove unused block-scope variable
1477 `end'.
1478
1479 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1480 (trivial_regexp_p): Remove unused variable `c'.
1481 (boyer_moore): Remove unused variable `k'.
1482
1483 * indent.c (current_column): Remove unused variable `stopchar'.
1484 (Fcompute_motion): Remove unused variable `contin'.
1485
1486 * casefiddle.c (casify_object): Remove unused variable `tolen'.
1487
1488 * dired.c (directory_files_internal): Fix a typo in a comment.
1489 Remove an unused variable `handler'.
1490 (file_name_completion): Remove unused function-scope variable
1491 `dp'.
1492 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
1493 on BSD4_2.
1494
1495 * fileio.c (e_write): Remove unused variable
1496 `require_encoding_p'.
1497
1498 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
1499 and `buf'.
1500 (Fmarker_insertion_type): Remove unused variable `buf'.
1501
1502 * insdel.c (make_gap): Remove unused variable `result'.
1503
1504 * keyboard.c (record_char): Remove unused function-scope variable
1505 `help'.
1506 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
1507 (menu_bar_items): Remove unused function-scope variable `tem'.
1508
1509 * fontset.c (fontset_ref): Remove unused variable `i'.
1510 (fontset_set): Remove unused variables `j' and `tmp'.
1511 (make_fontset): Remove unused variables `i', `j', `elt' and
1512 `base_elt'.
1513 (make_fontset_for_ascii_face): Remove unused variable `name'.
1514 (fs_load_font): Remove unused variable `font_idx'.
1515 (fs_query_fontset): Remove unused function-local variable
1516 `fontset'.
1517 (list_fontsets): Remove unused variable `tail'.
1518 (Fnew_fontset): Remove unused variables `family' and `registry'.
1519 (accumulate_font_info): Remove unused variable `tmp'.
1520 (Ffontset_font): Remove unused variable `id'.
1521 (syms_of_fontset): Remove unused variable `i'.
1522
1523 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
1524 to x_term_init.
1525 (lookup_image): Remove unused variable `file'.
1526 (xbm_load): Remove unused variables `bitmap_data', `height', and
1527 `width'. Remove function-local variable `i', leave the
1528 block-local one.
1529 (gif_load): Remove unused variable `inc'.
1530
1531 * xterm.c (XTread_socket): Remove unused variables `p' and
1532 `pend'.
1533 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
1534 leave only the one in the inner block.
1535
1536 * xfaces.c (face_fontset, realize_default_face): Remove unused
1537 variable `fontset'.
1538 (face_at_buffer_position): Remove unused variable `multibyte_p'.
1539
1540 * term.c (encode_terminal_code): Remove unused variable `c'.
1541
1542 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
1543 char *' instead of `char *'.
1544
1545 * category.c (Fcategory_docstring): Remove unused variable `doc'.
1546 (Fget_unused_category): Remove unused variable
1547 `docstring_vector'.
1548 (Fchar_category_set): Remove unused variables `val', `charset',
1549 `c1' and `c2'.
1550
1551 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
1552 unused variable `i'.
1553 (detect_coding_mask): Remove unused variable `idx'.
1554 (detect_coding): Remove unused variable `i'.
1555 (ccl_coding_driver): Remove unused variable `result'.
1556 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
1557 (decode_coding_string): Remove unused variables `to' and
1558 `gcpro1'.
1559 (encode_coding_string): Remove unused variables `gcpro1' and
1560 `saved_coding_symbol'.
1561 (Ffind_coding_systems_region_internal): Remove function-local
1562 variable args[], leave only the block-local one.
1563 (code_convert_region1): Remove unused variable `len'.
1564
1565 * charset.c (char_printable_p): Remove unused variable `chars'.
1566 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
1567 (str_to_multibyte): Remove unused variable `c'.
1568
1569 * window.c (size_window): Remove block-local variable `min_size'.
1570
1571 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
1572 `header_line_height'.
1573 (append_space, extend_face_to_end_of_line): Declare `saved_what'
1574 enum display_element_type.
1575
1a8a9daf
GM
15762001-01-02 Gerd Moellmann <gerd@gnu.org>
1577
6dde6abc
GM
1578 * xterm.c (x_connection_closed): Catch X errors around all
1579 statements that call X. Save away the error message in a local
1580 copy.
1581
1883b2c6
GM
1582 * xterm.c (x_connection_closed): Set handling_signal to 0 at
1583 the start.
1584
a13be207
GM
1585 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
1586 in or at the start of invisible text.
1587
1a8a9daf
GM
1588 * dispnew.c (update_window): Don't check_current_matrix_flags.
1589
3608c0f9
JR
15902001-01-01 Jason Rumney <jasonr@gnu.org>
1591
1592 * w32fns.c (x_figure_window_size): Do not allow new_height and
1593 new_width of frame to override specified values.
1594
abb1acc4
KH
15952000-12-30 Kenichi Handa <handa@etl.go.jp>
1596
d279f620
KH
1597 * composite.c (find_composition): Fix a code for searching
1598 backward.
abb1acc4 1599
762a68ec
GM
16002000-12-29 Gerd Moellmann <gerd@gnu.org>
1601
9c8b8382
GM
1602 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
1603 function.
1604 (update_window) [GLYPH_DEBUG]: Call it.
1605 (scrolling_window): Prevent including current rows which are below
1606 what's displayed in the window.
1607
1608 * xdisp.c (try_window_reusing_current_matrix)
1609 <new start <= old start>: Disable rows in the current matrix
1610 which are below the window after scrolling.
1611
762a68ec
GM
1612 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
1613 is zero. It's not worth the complexity.
1614 (invisible_text_between_p): Put in #if 0 because unused.
1615
2d5912c1
GM
16162000-12-28 Gerd Moellmann <gerd@gnu.org>
1617
46f6a258
GM
1618 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
1619 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
1620
89f93679
GM
1621 * keyboard.c (echo_char): If C is an integer, always call
1622 push_key_description. Former code could signal an invalid
1623 character error.
1624
1625 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
1626 If set, print multibyte text.
1627 (Fsingle_key_description): Call push_key_description with
1628 FORCE_MULTIBYTE set.
1629 (describe_buffer_bindings): Likewise.
1630
1631 * lisp.h (push_key_description): Add prototype.
1632
c06017fb
GM
1633 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
1634 around the call to redisplay_internal.
1635
f1d2ce7f
GM
1636 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1637
2d5912c1
GM
1638 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1639
9371f831
KH
16402000-12-28 Kenichi Handa <handa@etl.go.jp>
1641
1642 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
1643 (ccl_driver): New local variable `extra_bytes'.
1644
1645 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
1646
1647 * coding.c (setup_coding_system): Initialize
1648 coding->spec.ccl.eight_bit_carryover.
1649 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
1650
0c80628a
KH
16512000-12-28 Kenichi Handa <handa@etl.go.jp>
1652
1653 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
1654 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
1655 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
1656 (decode_composition_emacs_mule): New function.
1657 (decode_coding_emacs_mule): Decode composition sequence by calling
1658 decode_composition_emacs_mule.
1659 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
1660 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 1661 a text contains compositions, encode them correctly.
0c80628a
KH
1662 (setup_coding_system): Set coding->commong_flags for emacs-mule so
1663 that decoding and encoding are required.
1664
3e32cc27
GM
16652000-12-27 Gerd Moellmann <gerd@gnu.org>
1666
5e25feee
GM
1667 * xfaces.c (PT_PER_INCH): New macro.
1668 (xlfd_point_size): Compute real point size from font's pixel size.
1669 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
1670 instead of 72.
1671
892d8fcd
GM
1672 * .gdbinit: Comment out the line pointing to the Lesstif source
1673 directory.
1674
12c8b416
GM
1675 * window.c (Frecenter): Use displayed_window_lines instead
1676 of window_internal_height.
1677
6061fbf0
GM
1678 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
1679 instead of x-toolkit-scroll-bars-p.
1680 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
1681
1682 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
1683 instead of x-toolkit-scroll-bars-p.
1684 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
1685
3e32cc27
GM
1686 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
1687 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
1688 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
1689 variables.
1690 (add_window_display_history, add_frame_display_history)
1691 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
1692 (build_frame_matrix_from_leaf_window): Remove unused code.
1693 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
1694 redisplay history.
1695 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
1696 (update_window) [GLYPH_DEBUG]: Likewise.
1697 (syms_of_display): Defsubr dump-redisplay-history.
1698
31798cfe
GM
16992000-12-23 Gerd Moellmann <gerd@gnu.org>
1700
f717c2ba
GM
1701 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
1702 the end of the prompt. Set echo_after_prompt to the offset
1703 of echoptr in echobuf.
1704
aeb2b8fc
GM
1705 * xdisp.c (init_from_display_pos): Pop until the iterator's
1706 stack is empty; there may be frames for stretch or images
1707 on the stack.
1708
31798cfe
GM
1709 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
1710 (save_or_restore_current_matrix): New function for the same
1711 purpose, but more efficient.
1712 (adjust_frame_glyphs_for_frame_redisplay): Use it.
1713
f8156156
EZ
17142000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
1715
1716 * xdisp.c (syms_of_xdisp): Fix last change.
1717
bdd6d4e8
GM
17182000-12-23 Gerd Moellmann <gerd@gnu.org>
1719
1720 * xdisp.c (syms_of_xdisp): Doc fix.
1721
1722 * xdisp.c (redisplay_window): Remove label restore_buffers;
1723 use finish_scroll_bars instead to make sure that scroll bars
1724 are redeemed. If we don't do this, flickering can result from
1725 scroll bars being destroyed and recreated.
1726
9436cdf9
JR
17272000-12-22 Jason Rumney <jasonr@gnu.org>
1728
1729 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
1730 in the wrong colors when the foreground is not black.
1731 (expose_window): Don't redraw the window that's currently being
1732 updated.
1733
951f9df5
GM
17342000-12-22 Gerd Moellmann <gerd@gnu.org>
1735
856ff7a7
GM
1736 * window.c (size_window): When setting the window's too_small_ok
1737 flag, compare old size with minimum size depending on WIDTH_P,
1738 don't compare with window_min_width.
1739
951f9df5
GM
1740 * window.c (delete_window): Simplify somewhat.
1741 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
1742 freeing window matrices. The flag windows_or_buffers_changed is
1743 set, so the next redisplay will consider all windows; this should
1744 suffice.
1745
886bc933
KH
17462000-12-22 Kenichi Handa <handa@etl.go.jp>
1747
1748 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
1749
1750 * ccl.h (struct ccl_program): New member cr_consumed.
1751
1752 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
1753 (CCL_READ_CHAR): Handle EOL conversion here.
1754 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
1755
177f4e88
GM
17562000-12-21 Gerd Moellmann <gerd@gnu.org>
1757
6ba384dc
GM
1758 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
1759 GLYPHS.
1760
1761 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
1762 otherwise tabs of different size compare equal.
1763
1764 * callint.c (Fcall_interactively): Prevent a compiler warning.
1765
1766 * print.c (print_unwind): Return nil.
1767 (PRINTDECLARE): Initialize all local variables.
1768 (print_preprocess): Add a default case.
1769
8e15274f
GM
1770 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
1771
1772 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
1773
177f4e88
GM
1774 * window.c (delete_window, Fsplit_window)
1775 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
1776
1777 * dispextern.h (ensure_frame_matrix): Function declaration removed.
1778
1779 * dispnew.c (ensure_frame_matrix): Removed.
1780 (save_frame_matrix, restore_frame_matrix): New functions.
1781 (adjust_frame_glyphs_for_frame_redisplay): Use them.
1782
1783 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
1784 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
1785
99012074
AI
17862000-12-21 Andrew Innes <andrewi@gnu.org>
1787
1788 * w32term.c (x_update_begin): Regenerate the palette here, rather
1789 than for each window.
1790
1791 * w32xfns.c (select_palette): Avoid calling SelectPalette if
1792 palette is NULL, since this corrupts memory! Also get
1793 display_info reference from frame.
1794
29ef7d2d
JR
17952000-12-21 Jason Rumney <jasonr@gnu.org>
1796
1797 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
1798
1799 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
1800 to avoid returning without releasing it.
3e27fa1f 1801
3f9d67a6
KH
18022000-12-21 Kenichi Handa <handa@etl.go.jp>
1803
587fc3f9
KH
1804 * keymap.c (push_key_description): Don't convert eight-bit-control
1805 and eight-bit-graphic to multibyte character.
1806
3f9d67a6
KH
1807 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
1808 generic character and CODE1 is nil, return the smallest character
1809 in CHARSET.
1810
774ba8c9
DL
18112000-12-20 Dave Love <fx@gnu.org>
1812
1813 * s/osf5-0.h (NSIG): Don't redefine.
1814
88416888
SM
18152000-12-20 Stefan Monnier <monnier@cs.yale.edu>
1816
1817 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
1818 excluding menu-bar and tool-bar.
1819 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
1820 (menu_item_p): Remove.
1821 (where_is_internal_1): Don't ignore menu-items.
1822
a6426c6f
GM
18232000-12-20 Gerd Moellmann <gerd@gnu.org>
1824
03ff8aab
GM
1825 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
1826 into account.
1827
1828 * window.c (make_window): Initialize window's min_hscroll.
1829 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
1830 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
1831 to zero.
1832 (struct saved_window): New member min_hscroll.
1833 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
1834 (Fset_window_configuration): Set window's min_hscroll.
1835 (save_window_save): Save window's min_hscroll.
1836 (compare_window_configurations): Compare min_hscroll values.
1837
1838 * window.h (struct window): New member min_hscroll.
1839
1840 * keyboard.c (echo_prompt): Prevent a compiler warning.
1841
8de4aaf8
GM
1842 * xdisp.c (try_cursor_movement): Fix last change. The real
1843 condition is that PT is at the end of the row, and should
1844 be displayed at the start of the next row.
1845
3f7e3031
GM
1846 * xdisp.c (try_cursor_movement): If we end on a partially
1847 visible line, end we already decided to scroll, return -1.
1848
a6426c6f
GM
1849 * dispextern.h (ensure_frame_matrix): Add prototype.
1850
1851 * window.c (delete_window, Fsplit_window)
1852 (Fset_window_configuration): Call ensure_frame_matrix.
1853
1854 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
1855 functions.
1856 (adjust_frame_glyphs_for_frame_redisplay): If display has been
1857 completed, call fake_current_matrices instead of marking frame
1858 garbaged.
1859
57fa2774
JR
18602000-12-20 Jason Rumney <jasonr@gnu.org>
1861
1862 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
1863
d925df90
EZ
18642000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
1865
1866 * fns.c (Frequire): Doc fix.
1867
7b93a85b
GM
18682000-12-19 Gerd Moellmann <gerd@gnu.org>
1869
71d4497a
GM
1870 * window.c (window_scroll_pixel_based): Don't use
1871 move_it_vertically.
1872
c74e645b
GM
1873 * dispnew.c (direct_output_for_insert): Fix check for mini-window
1874 currently displaying a message.
1875
7b93a85b
GM
1876 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
1877 xterm.h.
1878 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
1879
90d97e64
AI
18802000-12-18 Andrew Innes <andrewi@gnu.org>
1881
1882 * w32.c (w32_strerror): New function.
1883
1884 * w32.h (w32_strerror): New extern.
1885
1886 * w32fns.c (Fw32_shell_execute): Use it.
1887
91c9e6ce
GM
18882000-12-18 Gerd Moellmann <gerd@gnu.org>
1889
1890 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
1891
6f4745e2
EZ
18922000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
1893
1894 * msdos.c (IT_set_face): Obey inverse_video.
1895
c9e088ce
KH
18962000-12-18 Kenichi Handa <handa@etl.go.jp>
1897
1898 * dired.c (directory_files_internal): Always return decoded filenames.
1899
c3695f5f
GM
19002000-12-18 Gerd Moellmann <gerd@gnu.org>
1901
52d8e4ff
GM
1902 * xterm.c (x_connection_closed): Prevent being called recursively
1903 because of an error condition in XtCloseDisplay.
1904
62be9979
GM
1905 * xdisp.c (init_iterator): If noninteractive, and the frame's
1906 face cache is null, make one.
1907
5f7a1890
GM
1908 * xfns.c (show_busy_cursor): Check for live frames more
1909 thoroughly.
1910
c3695f5f
GM
1911 * process.c (wait_reading_process_input): Check for pending
1912 input when running timers.
1913
78555fbe
EZ
19142000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
1915
1916 * msdos.c (IT_write_glyphs): Compute the glyph face from
1917 str->face_id.
1918
b2b36264
KH
19192000-12-18 Kenichi Handa <handa@etl.go.jp>
1920
1921 * process.c (read_process_output): Don't run a filter if the code
1922 decoder produces nothing but carryover.
1923
9c543fbf
AI
19242000-12-17 Andrew Innes <andrewi@gnu.org>
1925
1926 * w32.c (sys_rename): Only check errno against EEXIST, and not
1927 EACCES, when determining whether rename failed because the target
1928 exists. This was resulting in indefinite looping on Windows 9x if
1929 the source file was locked by another process.
1930
1931 * w32fns.c (Ffile_system_info): New function.
1932 (syms_of_w32fns): Defsubr it.
1933
10c2b5a8
GM
19342000-12-17 Gerd Moellmann <gerd@gnu.org>
1935
b0228ace
GM
1936 * window.c (coordinates_in_window): Fix computation for
1937 position on vertical line between mode lines.
1938
10c2b5a8
GM
1939 * xfns.c (unwind_create_frame): Return t if frame was deleted.
1940 Don't alter tip_frame or tip_window.
1941 (unwind_create_tip_frame): Set tip_frame to nil only if frame
1942 was deleted.
1943
c844a81a
GM
1944 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
1945 Don't alter tip_frame or tip_window.
1946 (unwind_create_tip_frame): Set tip_frame to nil only if frame
1947 was deleted.
1948
6c825f8e
EZ
19492000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
1950
1951 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
1952 be consistent with the doc string. Reported by NAKAJIMA Mikio
1953 <minakaji@osaka.email.ne.jp>.
1954
af4bb4c8
KH
19552000-12-16 Kenichi Handa <handa@etl.go.jp>
1956
1957 * xfaces.c (Vface_ignored_fonts): New variable.
1958 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
1959 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
1960
8062e53a
GM
19612000-12-15 Gerd Moellmann <gerd@gnu.org>
1962
e87b8809
GM
1963 * dispnew.c (update_window): Detect pending input every nth line
1964 updated, i.e. do it depending on real work done, and not on the
1965 vpos of the line.
1966
1967 * xterm.c (expose_window): Don't redraw the window that's
1968 currently being updated.
1969
a6768cc5
GM
1970 * window.c (Fset_window_point): Remove test for
1971 cursor_in_non_selected_windows.
1972
4ea7fdca
GM
1973 * lread.c (read1): Recognize end of file after `\\'.
1974
8062e53a
GM
1975 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
1976 not unwind_create_frame.
1977
bb7959c1
GM
19782000-12-15 Dave Love <fx@gnu.org>
1979
1980 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
1981 bcopy & al.
1982
1983 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
1984
ced04c42
KH
19852000-12-15 Kenichi Handa <handa@etl.go.jp>
1986
c5443913
KH
1987 * coding.c (setup_coding_system): Clear all members of the struct
1988 coding_system at first.
bc137305
KH
1989 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
1990 argument.
1991 (code_convert_region): Don't override coding->src_multibyte and
1992 coding->dst_multibyte.
c5443913 1993
ced04c42
KH
1994 * fns.c (Fmd5): Docstring improved.
1995
c2d7f289
MB
19962000-12-15 Miles Bader <miles@gnu.org>
1997
1998 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
1999 are actually marked as mode-lines; otherwise use
2000 estimate_mode_line_height.
2001
9d7d9263
GM
20022000-12-14 Gerd Moellmann <gerd@gnu.org>
2003
2004 * editfns.c (Fformat): Prevent a buffer overrun when the format
2005 specifies a precision.
2006
7cf0153a
EZ
20072000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2008
2009 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2010 argument is outside the range [2..3].
2011
1de0f662
AI
20122000-12-14 Andrew Innes <andrewi@gnu.org>
2013
2014 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2015 nothing to do. Bind inhibit-quit.
2016 (tip_frame): Make it a Lisp_Object.
2017 (x_create_tip_frame): Set tip_frame after it has been added to
2018 Vframe_list.
2019 (Fx_show_tip): Don't set tip_frame here.
2020 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
2021 variables.
2022 (unwind_create_frame, unwind_create_tip_frame): New functions.
2023 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2024 while a frame is only partially constructed.
2025
2026 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2027 (x_free_frame_resources): New function.
2028 (x_destroy_window): Use it.
2029
02387dcc
GM
20302000-12-14 Gerd Moellmann <gerd@gnu.org>
2031
2032 * xfns.c (Fx_backspace_delete_keys_p): New function.
2033 (syms_of_xfns): Defsubr it.
2034
2035 * config.in (HAVE_XKBGETKEYBOARD): Add.
2036
0544ef49
KH
20372000-12-14 Kenichi Handa <handa@etl.go.jp>
2038
98d62747
KH
2039 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2040 Always store string in multibyte representation in echobuf.
2041 (echo_char): Always store string in multibyte representation in
2042 echobuf.
2043 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2044 (read_key_sequence): Adjusted for the change of echo_prompt.
2045
a20193cd
KH
2046 * fns.c (Fmd5): Docstring improved.
2047
191b83b6
KH
2048 * lisp.h (detect_coding_system): Prototype adjusted.
2049
0544ef49
KH
2050 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2051 (detect_coding_emacs_mule, detect_coding_iso2022,)
2052 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
2053 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
2054 argument MULTIBYTEP. Callers changed.
2055 (detect_coding_mask, detect_coding_system): New argument
2056 MULTIBYTEP. Callers changed.
1da1bb05
KH
2057 (decode_coding_string): Set coding->src_multibyte and
2058 coding->dst_multibyte before calling detect_coding and detect_eol.
2059 Update them after some coding system is detected.
2060
d5b3eb1b
SM
20612000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2062
2063 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2064
2065 * keyboard.c (menu_bar_items, tool_bar_items):
2066 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2067
f7f8bb69
GM
20682000-12-13 Gerd Moellmann <gerd@gnu.org>
2069
19f71add
GM
2070 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
2071 New variables.
2072 (unwind_create_frame, unwind_create_tip_frame): New functions.
2073 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2074 while a frame is only partially constructed.
2075
2076 * xterm.h (x_free_frame_resources): Declare.
2077
2078 * xterm.c (x_free_frame_resources): New function.
2079 (x_destroy_window): Use it.
2080
e10da507
GM
2081 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2082 don't interrupt the update for pending input initially, i.e.
2083 update at least some lines.
2084
2085 * keyboard.c (do_mouse_tracking): Make externally visible.
2086
d5b3eb1b 2087 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2088
2089 * xfns.c (gray_bitmap_bits): Declare `char *'.
2090
90aa2856
GM
20912000-12-12 Gerd Moellmann <gerd@gnu.org>
2092
2093 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2094 lines start with a relief line.
2095
a308c9cd
DL
20962000-12-12 Dave Love <fx@gnu.org>
2097
2098 * window.c (Fdisplay_buffer): Doc fix.
2099 (Fwindow_list): Remove unused var.
2100
2101 * buffer.h (mmap_set_vars): Declare.
2102
2103 * window.h (Fset_window_point): Declare.
2104
d575011f
EZ
21052000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2106
bf6282d2 2107 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
2108 (IT_note_mouse_highlight): Initialize portion to -1. Remove
2109 unused variable `area'. When looking for a row under (X,Y), give
2110 up if some of the previous rows is not enabled.
2111
ecf4d726
GM
21122000-12-12 Gerd Moellmann <gerd@gnu.org>
2113
2ebf6139
GM
2114 * window.c (Fset_window_point): If displaying cursors in windows
2115 other than the selected window, make sure redisplay updates
2116 other windows to show the new value of point in the window.
2117
2118 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2119
bfdb75ee
GM
2120 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2121 the buffer is the sole visible buffer when in the mini-buffer.
2122
4fdbd809
GM
2123 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
2124 Bind `inhibit-read-only' to t.
2125 (unwind_with_echo_area_buffer): Use AREF.
2126
c0006262
GM
2127 * xfns.c (Fx_hide_tip): Simplified.
2128
e9a59cad
GM
2129 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
2130 GC_MAKE_GCPROS_NOOPS instead of `1'.
2131
ecf4d726
GM
2132 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2133
e5959a9a
GM
21342000-12-11 Gerd Moellmann <gerd@gnu.org>
2135
a3642e49
GM
2136 * xfns.c (Fx_hide_tip): Fix last change.
2137
44b5a125
GM
2138 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2139 nothing to do. Bind inhibit-quit.
2140 (tip_frame): Make it a Lisp_Object.
2141 (x_create_tip_frame): Set tip_frame after it has been added to
2142 Vframe_list.
2143 (Fx_show_tip): Don't set tip_frame here.
2144
2145 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2146
2147 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2148 Lisp_Object.
2149
2150 * dispextern.h: Change external declaration of tip_frame.
2151
d990421f
GM
2152 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2153 return an empty string.
2154
4db87380
GM
2155 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2156 of the window's update_mode_line flag, since the former is set by
2157 force-mode-line-update, not the latter. This makes
2158 column-number-mode slightly faster.
2159
e5959a9a
GM
2160 * xdisp.c (try_window_id) <all changes above window start>:
2161 Set the cursor.
2162
169fe44e
GM
21632000-12-11 Paul Eggert <eggert@twinsun.com>
2164
2165 * config.in (HAVE_FTELLO): Remove.
2166 (HAVE_FSEEKO): Add.
2167 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2168 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2169 HAVE_FTELLO.
2170 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2171 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
2172
59ec59ae
MB
21732000-12-11 Miles Bader <miles@gnu.org>
2174
2175 * window.c (displayed_window_lines): Don't round up when
2176 converting empty space at bottom to lines.
ff904dd6
MB
2177 Handle non-newline-terminated final lines properly.
2178 (Fwindow_text_height): New function (used to be in lisp).
2179 (syms_of_window): Initialize it.
59ec59ae 2180
42ebfa31
SM
21812000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2182
2183 * syntax.c (scan_lists): Check that the right quote char has the
2184 right Sstring syntax when jumping over strings.
2185 (init_syntax_once): Use Smax rather than 13.
2186
5cdb3cf3
MB
21872000-12-09 Miles Bader <miles@gnu.org>
2188
2189 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2190 with PARTIALLY, inverting the sense.
2191 (window_scroll_pixel_based): Scroll partially visible lines into
2192 place if we hit the beginning or end of the buffer.
a12167c5
MB
2193 (displayed_window_lines): Don't include partially visible lines.
2194 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2195
842b2a94
GM
21962000-12-08 Gerd Moellmann <gerd@gnu.org>
2197
2198 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2199
2200 * tparam.c (tparam1): Change the way buffers are reallocated to be
2201 portable and less obfuscated.
2202
2203 * termcap.c (tgetent): Change the way buffers are reallocated to
2204 be portable and less obfuscated.
2205
2206 * macros.c (store_kbd_macro_char): Change the way buffers are
2207 reallocated to be portable and less obfuscated.
2208
2209 * lread.c (read1): Change the way buffers are reallocated to be
2210 portable and less obfuscated.
2211
2212 * doc.c (Fsubstitute_command_keys): Change the way buffers
2213 are reallocated so that it is portable.
2214
137cad7c
EZ
22152000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2216
2217 * dosfns.c (Ffile_system_info): New function.
2218 (syms_of_dosfns): Defsubr it.
2219
5c7f629c
SM
22202000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2221
2222 * alloc.c (gc_sweep): Add comment.
2223
959e647d
GM
22242000-12-07 Gerd Moellmann <gerd@gnu.org>
2225
28fcb7dc
GM
2226 * sound.c (vox_configure): Change order of ioctls. Don't
2227 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
2228 Ignore errors when changing volume.
2229 (vox_close): Don't reset the device.
2230
926b7e5e
GM
2231 * process.c (read_process_output): Make sure the process marker's
2232 position is valid when the process buffer is changed in
2233 after-change functions. W3 does that.
2234
959e647d
GM
2235 * xfns.c (x_free_gcs): New function.
2236
2237 * xterm.h (x_free_gcs): Add prototype.
2238
2239 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2240 freeing GCs here.
2241
2242 * xterm.c (x_destroy_window): Call x_free_gcs so that
2243 resources of non-toolkit X windows will be freed.
2244
478ea067
AI
22452000-12-07 Andrew Innes <andrewi@gnu.org>
2246
2247 * w32fns.c (xlfd_charset_of_font): Fix last change.
2248
fbee3231
DL
22492000-12-06 Dave Love <fx@gnu.org>
2250
67292061
DL
2251 * md5.h (__P): Don't define -- it comes from config.h.
2252
fbee3231
DL
2253 * strftime.c: Change some #if foo to #ifdef foo.
2254
4ee87dbb
AI
22552000-12-06 Andrew Innes <andrewi@gnu.org>
2256
2257 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2258
2259 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
2260 argument.
2261 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
2262 (w32_list_fonts): Don't choke if pattern doesn't specify a
2263 codepage.
2264
9765b4a4
GM
22652000-12-06 Gerd Moellmann <gerd@gnu.org>
2266
d285b373
GM
2267 * alloc.c (gc_sweep): Prevent symbols read during loadup
2268 from being freed.
2269
384333ee
GM
2270 * xdisp.c (underlying_face_id): New function.
2271 (handle_face_prop, face_before_or_after_it_pos): Use it
2272 to determine the face ``under'' a string. Let strings inherit
2273 the face of the buffer under them.
2274
2275 * xfaces.c (face_at_string_position): Update function comment.
2276
d4b72d58
GM
2277 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2278 matrix if the window's left position has changed; we need to
2279 redraw it in this case.
2280
2281 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2282
e1d05387
GM
2283 * window.c (coordinates_in_window): Check mouse on mode-line or
2284 header-line first.
2285
eb1b0c74
GM
2286 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2287 advertized by the function documentation.
2288
d94d636f
GM
2289 * window.c (syms_of_window): Doc fix.
2290
3887b449
GM
2291 * sound.c (vox_configure): Set volume for left and right channel.
2292 (sound_cleanup): Return nil.
2293
efc8f57a
GM
2294 * xdisp.c (move_it_by_lines): Fix paren typo.
2295
9765b4a4
GM
2296 * xterm.c (x_load_font): Don't use the font's max_bounds for
2297 computing the height of the font. If max_bounds' ascent or
2298 descent are greater than the font's ascent or descent, this means
2299 glyphs overlap, which should be handled now by redisplay.
2300
6529ed87
GM
2301 * window.c (Veven_window_heights): New variable.
2302 (syms_of_window): DEFVAR_LISP it.
2303 (Fdisplay_buffer): Check Veven_window_heights before evening the
2304 window heights.
2305
0eb2ecde
MB
23062000-12-06 Miles Bader <miles@gnu.org>
2307
2308 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2309 update `default-frame-alist' instead of setting no frame parameters.
2310
03d7a167
KH
23112000-12-06 Kenichi Handa <handa@etl.go.jp>
2312
2313 * composite.c (update_compositions): Fix typo (use the correct
2314 variable).
2315
5f8803c2
JR
23162000-12-05 Jason Rumney <jasonr@gnu.org>
2317
2318 * md5.h: Remove underscores from function declarations.
2319 (__attribute__, __alignof__) [!__GNUC__]: Define.
2320
2321 * md5.c: Delay include of md5.h until after namespace cleaning.
2322
c28a075b
JR
2323 * makefile.w32-in (fns.o): Depend on md5.h
2324 (md5.o): New target.
2325 (sunfns.o): Remove.
2326
2327 * makefile.nt: Likewise.
2328
ff3c7056
JR
23292000-12-05 Jason Rumney <jasonr@altavista.net>
2330
2331 * w32term.c (expose_area): Complete last change.
2332
0c21eeeb
KR
23332000-12-05 Ken Raeburn <raeburn@gnu.org>
2334
2335 * minibuf.c: Include intervals.h.
2336
f201d732
JR
23372000-12-05 Jason Rumney <jasonr@gnu.org>
2338
2339 * w32term.c (x_produce_glyphs): If a font for a component of
2340 a composition is not found, use 1 pixel dot ascent and 0 dot
2341 descent value to avoid displaying terribly tall empty boxes.
2342 (expose_area): Pass x-coordinate relative to the exposed
2343 area to x_draw_glyphs instead of a window-relative coordinate.
2344
21999ab9
GM
23452000-12-05 Gerd Moellmann <gerd@gnu.org>
2346
4d2036e4
GM
2347 * xdisp.c (next_element_from_ellipsis): Save face before selective
2348 display in saved_face_id, and set face_before_selective_p.
2349 (reseat_1): Reset face_before_selective_p.
2350 (append_space, extend_face_to_end_of_line): If iterator's
2351 face_before_selective_p is set, use the face from saved_face_id.
2352 (extend_face_to_end_of_line): For tty frames, make sure to
2353 use the right face id when producing spaces at the end of
2354 the line.
2355
2356 * dispextern.h (struct it): Add face_before_selective_p.
2357
52be17cc
GM
2358 * keyboard.c (record_char): Don't record identical help-echo
2359 events in recent_keys.
2360
8a4f36cc
GM
2361 * xterm.c [USE_X_TOOLKIT]: Close the display.
2362 (xim_close_dpy): Handle case that the display has been closed.
2363
57d6e381
GM
2364 * xterm.c (x_destroy_window): Reset the frame's X window after
2365 destroying it.
2366
21999ab9
GM
2367 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2368 variable window_width.
2369 (line_draw_cost): Fix code skipping over spaces at the end of the
2370 line when must_write_spaces is not set.
2371 (scrolling_window): Fix code inserting runs in list of all runs.
2372
91372bb7
KH
23732000-12-05 Kenichi Handa <handa@etl.go.jp>
2374
2375 * coding.c (setup_coding_system): Be sure to initialize
2376 coding->category_idx.
2377
6c083b4c
GM
23782000-12-04 Gerd Moellmann <gerd@gnu.org>
2379
0c68ce6f
GM
2380 * xterm.c (PER_CHAR_METRIC): Removed because not used.
2381
6452929e
GM
2382 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2383 area to x_draw_glyphs instead of a window-relative coordinate.
2384
d7f31e22
GM
2385 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2386 error in the message.
2387
ae18aa3b
GM
2388 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2389 timer after having read a key. It's not good for code reading
2390 several keys in a loop, like an input method.
2391
caa15ef7
GM
2392 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2393 record undo information for format-decode.
2394
2395 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2396 current buffer is read-only, not if it isn't.
2397
6c083b4c
GM
2398 * keyboard.c (record_char): Record `help-echo' input events
2399 in recent_keys only if they display some help. Don't record
2400 `help-echo' events as macro char.
2401
caa15ef7
GM
24022000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2403
2404 * editfns.c (save_excursion_restore): Don't move point
2405 in another window if it is showing the wrong buffer.
2406 Avoid the call to Fwindow_live_p, for speed.
2407
5a13529b
KH
24082000-12-04 Kenichi Handa <handa@etl.go.jp>
2409
e225faa7
KH
2410 * xfaces.c (struct font_name): New member registry_priority.
2411 (split_font_name): Initialize the above member to zero.
2412 (concat_font_list): New function.
2413 (font_list): Include fonts of all alternative registries.
2414 (FONT_POINT_SIZE_QUANTUM): New macro.
2415 (better_font_p): Ignore point size difference less than
2416 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2417
e89648b4
KH
2418 * xterm.c (x_produce_glyphs): If a font for a component of
2419 a composition is not found, use 1 pixel dot ascent and 0 dot
2420 descent value to avoid displaying terribly tall empty boxes.
2421
5a13529b
KH
2422 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2423
d7935eb6
KR
24242000-12-03 Ken Raeburn <raeburn@gnu.org>
2425
2426 * coding.h (code_convert_string1): Declare.
2427
2428 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2429
2430 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
2431 Declare.
2432
0dd5e255
JR
24332000-12-02 Jason Rumney <jasonr@gnu.org>
2434
2435 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2436 correctly for single byte character case.
2437 (w32_per_char_metric): Do not try to make any assumptions about
2438 the metrics of BDF fonts.
250cfece
JR
2439 (x_estimate_mode_line_height): If `mode-line' face
2440 hasn't a font, use that of the frame, as drawing glyphs
2441 does.
2442 (note_mouse_highlight): Change the cursor shape on the vertical
2443 border between windows [not enabled].
2444
2445 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2446
2447 * w32fns.c (Fx_create_frame): Reintroduce the call to
2448 face-set-after-frame-defaults.
2449 (Vx_window_horizontal_drag_shape): New variable.
2450 (syms_of_xfns): DEFVAR_LISP it.
2451 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2452 enabled].
0dd5e255 2453
b5d8d2ca
GM
24542000-12-02 Simon Josefsson <simon@josefsson.org>
2455
2456 * fns.c (Fmd5): Use a different logic to decide the coding system
2457 to use.
2458
2459 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2460
fbb87147
EZ
24612000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2462
2463 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
2464 NULL.
2465
447e9da0
GM
24662000-12-01 Gerd Moellmann <gerd@gnu.org>
2467
7708ced0
GM
2468 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2469 height for YNegative.
2470 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2471 height; also see comment there.
2472
447e9da0
GM
2473 * window.c (coordinates_in_window): Handle computations for
2474 positions on the vertical bar and fringes differently for
2475 window-system frames. Consider some pixels near the vertical bar
2476 as on the bar if the frame doesn't have vertical scroll bars.
2477 Associate positions between mode or header lines with the
2478 right window, the left one.
2479
86d1db20
JR
24802000-12-01 Jason Rumney <jasonr@gnu.org>
2481
2482 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2483
2484 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
2485 invalid frame.
2486
a1d58e5b
GM
24872000-12-01 Gerd Moellmann <gerd@gnu.org>
2488
2489 * window.c (struct saved_window): Add members orig_top and
2490 orig_height.
2491 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
2492 (save_window_save, Fset_window_configuration): Save/restore
2493 window's orig_top and orig_height.
2494
89c609af
JR
24952000-12-01 Jason Rumney <jasonr@gnu.org>
2496
4d177746 2497 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 2498
89c609af
JR
2499 * w32fns.c (x_set_cursor_color): Fix last change.
2500
eccc05db
GM
25012000-11-30 Gerd Moellmann <gerd@gnu.org>
2502
31b6671b
GM
2503 * xdisp.c (echo_area_display): If cursor is in the echo area, make
2504 sure that the next redisplay displays the minibuffer, so that
2505 the cursor will be replaced with what the minibuffer wants.
2506
eccc05db
GM
2507 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
2508 #ifndef instead of using #if.
2509 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
2510 USE_TOOLKIT_SCROLL_BARS is defined.
2511
162de750
JR
25122000-11-30 Jason Rumney <jasonr@gnu.org>
2513
2514 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
2515 x_display_cursor.
2516
693c4692
GM
25172000-11-30 Gerd Moellmann <gerd@gnu.org>
2518
2519 * fns.c (Fmd5): Doc fix.
2520
b5d8d2ca 25212000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
2522
2523 * fns.c (Fmd5): New function.
2524 (syms_of_fns): Defsubr md5.
2525
2526 * Makefile.in (obj): Add md5.o
2527
b02cd40b
GM
25282000-11-30 Gerd Moellmann <gerd@gnu.org>
2529
edfb795e
GM
2530 * md5.h, md5.c: New files, taken from glibc.
2531
df3aedcf
GM
2532 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
2533
b02cd40b
GM
2534 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
2535 hasn't a font, use that of the frame, as drawing glyphs
2536 does.
2537
8b5176cd
SM
25382000-11-29 Stefan Monnier <monnier@cs.yale.edu>
2539
2540 * eval.c (Frun_hooks): Allow 0 arguments.
2541
346598f1
GM
25422000-11-29 Gerd Moellmann <gerd@gnu.org>
2543
f9396e03
GM
2544 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
2545 is over the menu bar widget, say it's not on the frame.
2546
4a967a9b
GM
2547 * xfns.c (Fx_create_frame): Reintroduce the call to
2548 face-set-after-frame-defaults.
2549
346598f1
GM
2550 * eval.c (Fsignal): Reset handling_signal.
2551
222456a1
JR
25522000-11-28 Jason Rumney <jasonr@gnu.org>
2553
2554 * w32menu.c (add_menu_item): Reset menu item text when changing
2555 type to radio button.
2556
8049ddc0
GM
25572000-11-28 Gerd Moellmann <gerd@gnu.org>
2558
346598f1 2559 * xselect.c: Update copyright.
f4f4ee4d 2560
bebe4a2c
GM
2561 * window.c (coordinates_in_window): If on a mode or header line,
2562 but sufficiently close to its start, return ``on vertical
2563 border''. This gives us a way to drag windows horizontally when
2564 using toolkit scroll bars.
2565
2566 * xterm.c (note_mouse_highlight): Change the cursor shape
2567 on the vertical border between windows.
2568
2569 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
2570
2571 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
2572 (syms_of_xfns): DEFVAR_LISP it.
2573 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
2574
8d2c2642
GM
2575 * textprop.c (text_read_only): New function.
2576 (verify_interval_modification): Use it instead of signaling
2577 `text-read-only'. This makes it easier to catch this error
2578 with a breakpoint.:
2579
8049ddc0
GM
2580 * xdisp.c (forward_to_next_line_start): Check for newlines,
2581 not end of line, which includes CR.
2582
5a2bae6c
KH
25832000-11-28 Kenichi Handa <handa@etl.go.jp>
2584
2585 * coding.c (Ffind_coding_systems_region_internal): Be sure to
2586 include no-conversion.
2587
ae31f84d
JR
25882000-11-27 Jason Rumney <jasonr@gnu.org>
2589
2590 * w32fns.c (w32_load_system_font): Always mark font as double byte
2591 if codepage is unicode.
2592
67f1cf4c
GM
25932000-11-27 Gerd Moellmann <gerd@gnu.org>
2594
4a74d071
GM
2595 * xdisp.c (forward_to_next_line_start): If already on a newline,
2596 just consume it to avoid unintended skipping over invisible text
2597 below.
2598
902ae620
GM
2599 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
2600 `vertical-line', `mode-line' and `header-line' events.
2601
2602 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
2603 of a character, a TAB for instance. This is easier than to set
2604 up the iterator exactly, and it's not a frequent case, so the
2605 additional effort wouldn't really pay off.
2606
c1e279c2
AC
26072000-11-26 Andrew Choi <akochoi@i-cable.com>
2608
67f1cf4c 2609 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
2610 init_window_once.
2611
a609568a
JR
26122000-11-25 Jason Rumney <jasonr@gnu.org>
2613
48b21762
JR
2614 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
2615 to window_from_coordinates should be pixel coordinates.
2616
a609568a
JR
2617 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
2618 redisplay handles them properly.
2619
a658d039
MB
26202000-11-25 Miles Bader <miles@gnu.org>
2621
2622 * indent.c (compute_motion): Keep pos_byte in sync with pos.
2623
d3416cca
JR
26242000-11-24 Jason Rumney <jasonr@gnu.org>
2625
2626 * w32.c (init_environment): Set LANG environment variable based on
2627 locale settings, if not set.
2628
2629 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
2630 making tool bar smaller. When clearing the frame, also
2631 clear current matrices. Clear frame when tool bar disappears.
2632 Don't use more lines for the tool-bar than is available.
2633 (x_change_window_heights): New function.
2634
ba193890
GM
26352000-11-24 Gerd Moellmann <gerd@gnu.org>
2636
2be8f184
GM
2637 * xdisp.c (init_from_display_pos): If POS says we're already after
2638 an overlay string ending at POS, make sure to pop the iterator
2639 because it will be in front of that overlay string. When POS is
2640 ZV, we've thereby also ``processed'' overlay strings at ZV.
2641
ba193890
GM
2642 * xfaces.c (lface_from_face_name): Function comment fix.
2643
1862a24e
MB
26442000-11-24 Miles Bader <miles@gnu.org>
2645
2646 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
2647 apply `mode-line-inverse-video' -- zero means force display using
2648 the default face, non-zero means display using the specialized face.
2649 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
2650
f07fa1b8
KH
26512000-11-23 Kenichi Handa <handa@etl.go.jp>
2652
2653 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
2654 hard coded `4'.
2655
2bcdf662
EZ
26562000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
2657
2658 * coding.c (decode_coding_emacs_mule): Fix the case of
2659 CODING_EOL_LF, which used uninitialized value of c.
2660
ba8299ff
SM
26612000-11-23 Stefan Monnier <monnier@cs.yale.edu>
2662
2663 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
2664
f4117c4d
GM
26652000-11-22 Gerd Moellmann <gerd@gnu.org>
2666
03e757c1
GM
2667 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
2668 buffer object.
2669
f4117c4d
GM
2670 * frame.h (struct frame): Replace desired_tool_bar_items,
2671 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 2672 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
2673
2674 * frame.c (make_frame): Change initialization of tool bar
2675 items accordingly.
2676
2677 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 2678 Change references to members deleted from struct frame to use the
f4117c4d
GM
2679 new ones.
2680
2681 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 2682 references to members deleted from struct frame to use the new
f4117c4d
GM
2683 ones.
2684
2685 * dispnew.c (update_frame): Do nothing with frame's tool bar
2686 items.
2687
2688 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
2689
2690 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 2691 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
2692 from struct frame to use the new ones.
2693
f8e2f3f2
MB
26942000-11-23 Miles Bader <miles@gnu.org>
2695
2696 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
2697 the face's inverse-video attribute, rather than overriding it.
2698
60e8e0a5
GM
26992000-11-22 Gerd Moellmann <gerd@gnu.org>
2700
2701 * xfns.c (x_set_tool_bar_lines): Clear internal border when
2702 making tool bar smaller.
2703
92dd1b29
DL
27042000-11-22 Dave Love <fx@gnu.org>
2705
2706 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
2707
e672fdce
MB
27082000-11-22 Miles Bader <miles@gnu.org>
2709
3a17d6cc
MB
2710 * keyboard.c (Vminibuffer_message_timeout): New variable.
2711 (command_loop_1): Use it to determine message timeout.
2712 (syms_of_keyboard): Initialize it.
2713
60e8e0a5 2714 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 2715
e9655d81
KH
27162000-11-22 Kenichi Handa <handa@etl.go.jp>
2717
2718 * sysdep.c: Move the code for declaring h_errno after #include
2719 <netdb.h>.
2720
77270fac
GM
27212000-11-21 Gerd Moellmann <gerd@gnu.org>
2722
cd913aae
GM
2723 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
2724 the menu bar when the tooltip is unmapped.
2725
77270fac
GM
2726 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
2727 sole visible buffer when we're currently in the mini-buffer, and
2728 give up if so.
2729
556635d6
JR
27302000-11-21 Jason Rumney <jasonr@gnu.org>
2731
2732 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
2733 put on the clipboard.
2734 (Fw32_get_clipboard_data): Compare data on clipboard with saved
2735 copy of what Emacs last put there. If they are the same, do not
2736 use the clipboard copy to avoid losing data due to coding
2737 conversions.
2738
5b7bde64
MB
27392000-11-22 Miles Bader <miles@gnu.org>
2740
2741 * minibuf.c (Vminibuffer_prompt_properties): New variable.
2742 (syms_of_minibuf): Initialize it.
2743 (read_minibuf): Add properties from Vminibuffer_prompt_properties
2744 to prompt, don't make read-only.
2745
ff23e1dd
GM
27462000-11-21 Gerd Moellmann <gerd@gnu.org>
2747
3c64f287
GM
2748 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
2749 BEFORE/AFTER_POTENTIAL_GC.
2750
7aaf4388
GM
2751 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
2752
f5f47add 2753 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 2754
ff23e1dd
GM
2755 * term.c, cm.c: Don't try to include termcap.h; see comment there.
2756
37c35586
KH
27572000-11-21 Kenichi Handa <handa@etl.go.jp>
2758
2759 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
2760 ... #endif scope.
2761
ff9ab414
GM
27622000-11-20 Gerd Moellmann <gerd@gnu.org>
2763
c51d2b5e
GM
2764 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
2765 screen supports it.
2766
29a01b72
GM
2767 * s/gnu-linux.h: Don't use `#cpu'.
2768
09dfdf85
GM
2769 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
2770 not defined in mman.h.
2771
ff9ab414
GM
2772 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
2773 variables.
2774 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
2775 and store an index in the XClientMessageEvent. Storing a
2776 Lisp_Object or pointer can fail on a 64 bit system, since X only
2777 transfers 32 bits.
2778 (x_scroll_bar_to_input_event): Get the window from
2779 scroll_bar_windows.
2780
81459ac9
DL
27812000-11-20 Dave Love <fx@gnu.org>
2782
2783 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
2784
56c13ae6
GM
27852000-11-20 Gerd Moellmann <gerd@gnu.org>
2786
2787 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
2788
495a6df3
KH
27892000-11-20 Kenichi Handa <handa@etl.go.jp>
2790
2bcf3714
KH
2791 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
2792 by WIDTH.
2793
495a6df3
KH
2794 * alloc.c (make_string): Fix previous change. Be sure to make
2795 unibyte string correctly.
2796
6d950f4c
GM
27972000-11-19 Gerd Moellmann <gerd@gnu.org>
2798
39b39373
GM
2799 * window.c (Fwindow_list): Change parameter list to be XEmacs
2800 compatible.
2801 (window_list_1): New function.
2802 (window_loop): Use it instead of Fwindow_list.
2803
b95b34e5
GM
2804 * sysdep.c (emacs_ospeed): New variable.
2805 (toplevel): Don't declare ospeed extern.
2806 (init_baud_rate): Use emacs_ospeed instead of ospeed.
2807
2808 * termcap.c (ospeed): Remove.
2809 (tputs) [!emacs]: Remove unused code.
2810 (tgetent): Avoid a compiler warning.
2811
e83dc917
GM
2812 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
2813 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 2814 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
2815
2816 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
2817 removed.
2818 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
2819 Take the X display as additional argument.
2820 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
2821 `Widget' is a pointer type that's not easily stored in Lisp_Object
2822 form in a portable way.
2823
6d950f4c
GM
2824 * dispnew.c (update_text_area): Fix last change.
2825
e47306e6
GM
28262000-11-18 Gerd Moellmann <gerd@gnu.org>
2827
fb3cd89b
GM
2828 * xdisp.c: Use BINDING_STACK_SIZE throughout.
2829
2830 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
2831 clear current matrices.
2832
edaa9aed
GM
2833 * buffer.c (mmap_enlarge): Don't print a message on stderr
2834 if mapping new memory at the end of the existing region fails.
2835
e47306e6
GM
2836 * dispnew.c (update_text_area): Don't skip over equal glyphs
2837 when the last current glyph overlaps the glyph to its right.
2838
509633e3
MB
28392000-11-18 Miles Bader <miles@gnu.org>
2840
2841 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
2842 lines that *end* with "..." too (that's the most common case!).
2843
d392e9c5
GM
28442000-11-18 Gerd Moellmann <gerd@gnu.org>
2845
67988445
GM
2846 * xdisp.c (resize_mini_window): Temporarily change to the
2847 mini-window's buffer if necessary.
1bfdbe43 2848
d392e9c5
GM
2849 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
2850 the tooltip obscures less text under it.
2851
28522000-11-17 Gerd Moellmann <gerd@gnu.org>
2853
2854 * puresize.h (BASE_PURESIZE): Increase to 700000.
2855
92bb977f
JR
28562000-11-18 Jason Rumney <jasonr@gnu.org>
2857
2858 * w32term.c (w32_draw_bitmap): Use face to set colors.
2859
26fbf20b
DL
28602000-11-17 Dave Love <fx@gnu.org>
2861
2862 * lread.c (Fload): Fix #ifdef for pcc.
2863
100b593b
GM
28642000-11-17 Gerd Moellmann <gerd@gnu.org>
2865
2866 * xdisp.c (pos_visible_p): Compute the default character height
2867 differently.
2868
a288d0d1
GM
28692000-11-16 Gerd Moellmann <gerd@gnu.org>
2870
cac94de6
GM
2871 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
2872 knowing the line's height; use the default font's height in that
2873 case.
2874
a288d0d1
GM
2875 * xfaces.c (weight_table): Add `demi' with the same meaning as
2876 `demibold'.
2877
981fb6f6
KH
28782000-11-16 Kenichi Handa <handa@etl.go.jp>
2879
2cca872d 2880 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
2881 (clear_glyph_row): Delete local static variable null_row.
2882
e5fa381b
JR
28832000-11-15 Jason Rumney <jasonr@gnu.org>
2884
2885 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
2886 (w32_alloc_lighter_color): Use new brightness calculations from
2887 xterm.c. Scale delta to be in the range expected by W32.
2888 (w32_draw_relief_rect): Use frame relief colors.
2889
8e42f043
GM
28902000-11-15 Gerd Moellmann <gerd@gnu.org>
2891
6d133d1f
GM
2892 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
2893 (Qinhibit_default_face_x_resources): New variable.
2894 (syms_of_frame): Initialize it.
2895 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
2896
2897 * xdisp.c (pos_visible_p): Improve function comment.
2898
2899 * lisp.h (BINDING_STACK_SIZE): New macro.
2900
8e42f043
GM
2901 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
2902 reading the directory if readdir returns null and errno is EAGAIN
2903 or EINTR.
2904
e8c87124
SM
29052000-11-14 Stefan Monnier <monnier@cs.yale.edu>
2906
2907 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
2908 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
2909 Set amount_to_scroll to max of dx and scroll_step so that
2910 scroll-conservatively doesn't defeat scroll-step>1.
2911 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
2912 scroll-conservatively for line-at-a-time scrolling.
2913
5f0c971d
GM
29142000-11-14 Gerd Moellmann <gerd@gnu.org>
2915
2916 * window.c (Fpos_visible_in_window_p): Call pos_visible with
2917 extra argument.
2918
2919 * xdisp.c (current_mode_line_height, current_header_line_height):
2920 New variables.
2921 (init_xdisp): Initialize them.
2922 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
2923 and use exact mode line heights if it is set.
2924
2925 * lisp.h (pos_visible_p): Change prototype.
2926
2927 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
2928 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
2929 and current_header_line_height first.
2930 (current_mode_line_height, current_header_line_height): Declare
2931 extern.
2932
d7361edf
MB
29332000-11-14 Miles Bader <miles@lsi.nec.co.jp>
2934
2935 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
2936 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
2937 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
2938
ee5e440a
MB
29392000-11-14 Miles Bader <miles@gnu.org>
2940
2941 * xterm.c (x_alloc_lighter_color): Include an additive component
2942 too for dark colors, because FACTOR isn't enough.
2943 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
2944 New macros.
2945
5ca020fc
GM
29462000-11-13 Gerd Moellmann <gerd@gnu.org>
2947
2948 * keyboard.c (show_help_echo): Call message3_nolog with number of
2949 bytes in the help string as 2nd parameter, instead of the number
2950 of characters.
2951
9d348294
MB
29522000-11-13 Miles Bader <miles@gnu.org>
2953
2954 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
2955 (Fload): Use new openp return protocol.
2956 Don't try to use Vload_source_file_function to load .elc files.
2957 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
2958 openp return protocol.
2959 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
2960
1729bb9a
KH
29612000-11-11 Kenichi Handa <handa@etl.go.jp>
2962
4e677396
KH
2963 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
2964
2965 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
2966 Defined these macros.
2967 (NLIST_STRUCT): Avoid re-defining it.
2968
1729bb9a
KH
2969 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
2970 -I/usr/contrib/X11R6/include.
2971 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
2972
a82fe213
JR
29732000-11-10 Jason Rumney <jasonr@gnu.org>
2974
2975 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
2976
2977 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
2978 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
2979
2980 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
2981 (Qw32_charset_vietnamese): New symbol.
2982 (xlfd_charset_of_font): New function.
2983 (w32_load_system_font): Use it.
2984 (x_to_w32_charset): Use Fassoc to find charset info. Special case
2985 when Vw32_charset_info_alist is nil to ensure default face always
2986 has font. Use Fcar and Fcdr for safety.
2987 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
2988 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
2989 pseudo-codepages for special cases.
2990 (w32_to_x_font): New parameter to allow charset portion to be
2991 specified where there is many to one mapping. Callers changed.
2992 (w32_list_fonts): Avoid listing fonts that won't display.
2993
52d89894
GM
29942000-11-10 Gerd Moellmann <gerd@gnu.org>
2995
2996 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
2997 (font_list_1): Renamed from font_list.
2998 (font_list): New function, trying alternative registries from
2999 Vface_alternative_font_registry_alist.
3000 (Finternal_set_alternative_font_registry_alist): New function.
3001 (syms_of_xfaces): Initialize and Staticpro
3002 Vface_alternative_font_registry_alist. Defsubr
3003 Finternal_set_alternative_font_registry_alist.
3004
651cd3da
KR
30052000-11-09 Ken Raeburn <raeburn@gnu.org>
3006
3007 * lisp.h (Flooking_at): Declare.
3008
388ac098
GM
30092000-11-09 Gerd Moellmann <gerd@gnu.org>
3010
778fbc46
GM
3011 * dired.c (directory_files_internal): Fix a braino.
3012
388ac098
GM
3013 * dired.c (directory_files_internal): Add missing GCPRO's.
3014 Some cleanup.
3015
ecaedde1
GM
30162000-11-08 Gerd Moellmann <gerd@gnu.org>
3017
f7eb32aa
GM
3018 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3019 (resize_mini_window): Return quickly if Vresize_mini_window is
3020 nil. Don't return if Vmax_mini_window_height is nil.
3021
3022 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3023 (syms_of_xdisp): Initialize them.
3024 (resize_mini_window): Act according to the setting of
3025 Vresize_mini_window.
3026 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3027
ecaedde1
GM
3028 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3029 scroll bar widget after configuring it, so that it will appear at
3030 the right position from the start.
3031 (XTredeem_scroll_bar): Cleaned up.
3032
3747ef2c
KH
30332000-11-08 Kenichi Handa <handa@etl.go.jp>
3034
3035 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3036 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3037 division by two.
3038
3039 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3040
03391420
DL
30412000-11-07 Dave Love <fx@gnu.org>
3042
7758f1c1 3043 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3044
3045 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3046
b5de343d
GM
30472000-11-07 Gerd Moellmann <gerd@gnu.org>
3048
acad3c0b
GM
3049 * window.c (Fset_window_configuration): Don't try to preserve
3050 point in the current buffer, if that buffer is displayed in more
3051 than one window.
3052
b5de343d
GM
3053 * xfaces.c (lookup_named_face): If default face isn't realized,
3054 try to realize it. Return -1 if not successful.
3055 (Fx_list_fonts): Handle case that face cannot be determined.
3056 (Fface_font): Likewise.
3057
cdb1fe49
GM
30582000-11-06 Gerd Moellmann <gerd@gnu.org>
3059
3060 * window.c (displayed_window_lines): Detect partially
3061 visible lines at the bottom correctly.
3062
d3a67486
SM
30632000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3064
3065 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3066 when ensuring we don't do visit in indirect buffer.
3067
ff8dd5d5
KH
30682000-11-06 Kenichi Handa <handa@etl.go.jp>
3069
3070 * composite.h (compose_chars_in_text): Add prototype.
3071
3072 * composite.c (Vcomposition_function_table): New variable.
3073 (Qcomposition_function_table): New variable.
3074 (run_composition_function): Call
3075 Vcompose_chars_after_function with three arguments.
3076 (compose_chars_in_text): New function.
3077 (syms_of_composite): Modified the doc-string of
3078 Vcompose_chars_after_function. Declare composition-function-table
3079 as a lisp variable, and initialize it.
3080
3081 * xfns.c (x_encode_text): Suppress producing escape sequences for
3082 composition.
3083
3084 * xselect.c: Include composite.h.
3085 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3086
d1145f85
AI
30872000-11-05 Andrew Innes <andrewi@gnu.org>
3088
3089 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3090
3091 * sysdep.c (read_input_waiting): Remove extraneous argument to
3092 read_socket_hook.
3093
3094 * w32fns.c (Fx_server_version): Include w32_build_number in the
3095 return list.
3096
3097 * w32heap.c (w32_build_number): New variable.
3098 (cache_system_info): Set it.
3099
3100 * w32heap.h (w32_build_number): Add extern.
3101
3102 * emacs.c (syms_of_emacs): Update docstring for
3103 system-configuration, to reflect the actual usage on MS-Windows.
3104
e85ee976
GM
31052000-10-31 Gerd Moellmann <gerd@gnu.org>
3106
26dcb81b
GM
3107 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3108 process idle timers while waiting for another event.
3109
0a894bad
GM
3110 * dispnew.c (update_frame_line): Handle case where spaces in
3111 the default face are colored.
3112
e85ee976
GM
3113 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3114 window height hasn't changed.
3115
01b220b6
JR
31162000-10-31 Jason Rumney <jasonr@gnu.org>
3117
3118 * w32term.c (x_produce_glyphs): Handle composite characters.
3119 (x_draw_glyph_string_foreground)
3120 (x_draw_composite_glyph_string_foreground): Restore old font.
3121
4e6b7204
MB
31222000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3123
3124 * minibuf.c (read_minibuf): Reset the undo history just before
3125 starting the recursive-edit.
3126
d4358b37
GM
31272000-10-30 Gerd Moellmann <gerd@gnu.org>
3128
563f68f1
GM
3129 * xfaces.c (menu_face_change_count): New variable.
3130 (Finternal_set_lisp_face_attribute): Increment it for changes
3131 of the `menu' face.
3132 (realize_basic_faces): Reflect changes in the `menu' faces
3133 in menu bars.
3134
82e274d1
GM
3135 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3136 dy obtained from the iterator's y-position after moving from
3137 scroll_margin_pos to PT; see comment there.
3138
0dbf9fd2
GM
3139 * xdisp.c (safe_eval_handler): Call add_to_log.
3140
906b3b14
GM
3141 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3142 is not a symbol or string.
3143
d4358b37
GM
3144 * xdisp.c (echo_area_display): Don't perform a display update from
3145 inside redisplay. The update will happen anyway at the end of
3146 redisplay, and it can confuse redisplay (GC messages while
3147 redisplaying, for instance.)
3148
70c825df
SM
31492000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3150
cf9b4b0b
SM
3151 * xrdb.c (x_load_resources): Use the class name in the defaults.
3152
70c825df
SM
3153 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3154 (regex_compile): Catch bogus \(\1\).
3155
a1d34b1e
GM
31562000-10-30 Gerd Moellmann <gerd@gnu.org>
3157
cae71efe
GM
3158 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3159 RGB values.
3160
35efe0a1
GM
3161 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3162 we have a color cache, check that the cached color equals the
3163 allocated color. If not, clear the color cache.
3164
1d3baf74
GM
3165 * window.c (displayed_window_lines): Change buffers if necessary.
3166 Fix computation of displayed lines.
3167
a1d34b1e
GM
3168 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3169 update_menu_bindings to DEFVAR_BOOL.
3170
70737ea9
KH
31712000-10-30 Kenichi Handa <handa@etl.go.jp>
3172
70c825df 3173 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3174
fa0cb51d
KH
3175 * puresize.h (BASE_PURESIZE): Increase to 680000.
3176
70737ea9
KH
3177 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3178
0e4c08e8
JR
31792000-10-29 Jason Rumney <jasonr@gnu.org>
3180
3181 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3182
3183 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3184 (w32_cache_char_metrics): Handle possibility that 'x' does not
3185 exist in a BDF font.
3186 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3187
3188 * w32bdf.h (bdffont): Add nchars.
3189
3190 * w32bdf.c (set_bdf_font_info): Set it.
3191 (w32_BDF_TextOut): Swap byte order of double byte characters.
3192 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3193
45b84006
EZ
31942000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3195
3196 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3197 don't override the colors in frame's param_alist, unless they are
3198 unspecified.
3199
3200 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3201 reverse the effect of the highlight flag.
3202
caf9deee
KR
32032000-10-27 Ken Raeburn <raeburn@gnu.org>
3204
3205 * window.h (Fwindow_live_p): Declare.
3206
ae0b9b46
KR
3207 * undo.c (record_delete): Check that last_undo_buffer is really a
3208 buffer before applying XBUFFER to it.
3209
3210 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3211 Faref.
3212
02067692
SM
32132000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3214
3215 * lisp.h (KEYMAPP): New macro.
3216 (get_keymap): Remove.
3217 (get_keymap_1): Rename get_keymap.
3218
3219 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3220
3221 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3222
3223 * xmenu.c (single_submenu): Use KEYMAPP.
3224 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3225 Use KEYMAPP rather than Fkeymapp.
3226
3227 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3228
3229 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3230 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3231 Use KEYMAPP rather than Fkeymapp.
3232 (single_submenu): Use KEYMAPP.
3233 (w32_menu_show, w32_dialog_show): Use TRUE.
3234
3235 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3236
3237 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3238 (Fkeymapp): Use KEYMAPP.
3239 (get_keymap): Rename from get_keymap_1. Remove old def.
3240 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3241 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3242 (Fminor_mode_key_binding): Don't raise an error if the binding
3243 is not a keymap.
3244 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3245 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3246
3247 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3248 Allow Vspecial_event_map to be autoloaded.
3249 (menu_bar_items): Fetch the keymap rather than using keymapp.
3250 (menu_bar_one_keymap): No need to follow func-indirect any more.
3251 (parse_menu_item): get_keymap_1 -> get_keymap.
3252 (tool_bar_items): Fetch the keymap rather than using keymapp.
3253 (read_key_sequence): Use KEYMAPP.
3254
3255 * intervals.c (get_local_map): Use get_keymap rather than following
3256 function-indirections explicitly.
3257
3258 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3259
f9d80af3
JR
32602000-10-27 Jason Rumney <jasonr@gnu.org>
3261
3262 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3263 point, as Windows has oversized fonts.
3264
3265 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3266
a3ba27da
GM
32672000-10-27 Gerd Moellmann <gerd@gnu.org>
3268
3269 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3270 (freehook, reallochook): Handle null pointer arguments.
3271 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3272
aa3b80cc
SM
32732000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3274
3275 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3276 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3277 Giving in to popular pressure to shut up the compiler with casts.
3278
e24e84cc
GM
32792000-10-27 Gerd Moellmann <gerd@gnu.org>
3280
3281 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3282 signed value, and use a default value computed from the font's
3283 maximum descent.
3284
05ea7ef2
MB
32852000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3286
3287 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3288 that specify a negative underline position can still use underlines.
3289
3290 * window.c (Fpos_visible_in_window_p): Make POS default to
3291 WINDOW's point, not the current buffer's point.
3292
0b95284b
DL
32932000-10-26 Dave Love <fx@gnu.org>
3294
3295 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3296 when it's necessary.
3297
6c5b90af
GM
32982000-10-26 Gerd Moellmann <gerd@gnu.org>
3299
8b6d9dc9
GM
3300 * window.c (size_window): Compute size difference from sum of old
3301 child window sizes instead of from parent's size.
3302
6bc92b2e
GM
3303 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3304 Handle obscured lines at the top of the window.
3305
3306 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3307 down after the last error condition check.
3308
6c5b90af
GM
3309 * frame.c (Fdelete_frame): Run delete-frame-hook.
3310
42f92d4d
KH
33112000-10-26 Kenichi Handa <handa@etl.go.jp>
3312
3313 * coding.c (decode_coding): Fix previous change (check also
3314 CODING_MODE_LAST_BLOCK).
3315
d97151cb
SM
33162000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3317
e7efc503
SM
3318 * regex.c: More `unsigned char' -> `re_char' changes.
3319 Also change several `int' into `re_wchar_t'.
3320 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3321 (PUSH_FAILURE_POINTER): Don't cast any more.
3322 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3323 We want GCC to complain, since this piece of code makes
3324 re_match non-reentrant, which *should* be fixed.
3325 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3326 (EXTEND_BUFFER): Use RETALLOC.
3327 (SET_LIST_BIT): Don't cast.
3328 (re_wchar_t): New type.
3329 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3330 that those two functions will always properly return.
3331 (IMMEDIATE_QUIT_CHECK): Cast to void.
3332 (analyse_first): Use recursion rather than an explicit stack.
3333 (re_compile_fastmap): Can't fail anymore.
3334 (re_search_2): Don't check re_compile_fastmap for failure.
3335 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3336 Now also sets the new value (passed in a new argument).
3337 (re_match_2_internal): Use it.
3338 Also, use a new var `reg' of type size_t when looping through regs
3339 rather than reuse the inappropriate `mcnt'.
3340
d97151cb
SM
3341 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3342 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3343 (where_is_internal): Renamed from Fwhere_is_internal.
3344 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3345 (Fwhere_is_internal): New function wrapping where_is_internal.
3346 (where_is_internal_1): Handle the case where we're filling the cache.
3347 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3348
d5789b65
MB
33492000-10-25 Miles Bader <miles@gnu.org>
3350
3351 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3352
4ecda532
GM
33532000-10-25 Gerd Moellmann <gerd@gnu.org>
3354
3355 * window.c (pos_fully_visible_p): Removed.
3356 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3357 if position is visible and/or fully visible.
3358
3359 * lisp.h (pos_visible_p): Add prototype.
3360
3361 * xdisp.c (pos_visible_p): New function.
3362
68c3a137
KH
33632000-10-25 Kenichi Handa <handa@etl.go.jp>
3364
3365 * process.c (send_process): If OBJECT is t, it means that the data
3366 is from C string, but we should encode it. Before calling
3367 setup_raw_text_coding_system, be sure to flush out data by the
3368 previous coding system.
3369
7ae1c032
MB
33702000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3371
ff4dcd4b
MB
3372 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3373 assignment of startpos to prev when startpos == pos.
3374
7ae1c032
MB
3375 * editfns.c (find_field): Set the field stickiness correctly from
3376 overlay fields. Use renamed `text_property_stickiness'.
3377 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3378 Only check text properties, not overlays.
7ae1c032
MB
3379 * textprop.c (get_char_property_and_overlay): New function.
3380 (Fget_char_property): Use it.
3381 * intervals.h (get_char_property_and_overlay): Add declaration.
3382
49801145
SM
33832000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3384
3385 * keymap.c: Use AREF, ASET and ASIZE macros.
3386 (Fmake_sparse_keymap): Docstring fix.
3387 (synkey): Remove.
3388 (shadow_lookup): Move up.
3389 Handle the case where lookup-key returns an integer.
3390 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3391 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3392 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3393 Simplify/rewrite the keymap-finding code.
3394 Add check for command shadowing, using shadow_lookup.
3395
39e776cd
SM
33962000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3397
3398 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3399 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3400 a symbol.
3401
2488aba5
AI
34022000-10-24 Andrew Innes <andrewi@gnu.org>
3403
3404 * dired.c (directory_files_internal_unwind): New function.
3405 (directory_files_internal): Use it to ensure closedir is called
3406 even if expand-file-name or file-attributes throw, eg. because of
3407 a user interrupt. Also enable immediate_quit while calling
3408 re_search, so that matching can be interrupted as well.
3409
b94fdf61
AI
34102000-10-24 Andrew Innes <andrewi@gnu.org>
3411
3412 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3413 NT-Emacs only.
3414 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3415 so that re_search functions only quit when callers expect them to.
3416
34172000-10-24 Kenichi Handa <handa@etl.go.jp>
3418
3419 * regex.c (regex_compile): Change the way of handling a range from
3420 a char less than 256 to a char not less than 256.
3421
1946f901
GM
34222000-10-24 Gerd Moellmann <gerd@gnu.org>
3423
7ae2f10f
GM
3424 * window.c (size_window): Prevent setting window's width or
3425 height to a negative value (esp. with XSETFASTINT).
3426
5dcab13e
GM
3427 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3428 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3429 (protect_malloc_state) [GC_MALLOC_CHECK &&
3430 GC_PROTECT_MALLOC_STATE]: New function.
3431 (PROTECT_MALLOC_STATE): New macro.
3432 (__malloc_initialize, morecore, _malloc_internal)
3433 (_free_internal) _realloc_internal): Use it to make _heapinfo
3434 read-only outside of gmalloc.
3435
63e1b552
GM
3436 * keymap.c: Update copyright.
3437
1946f901
GM
3438 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3439 a symbol.
3440
4fa09beb
GM
34412000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3442
3443 * filelock.c (unlock_all_files): Use unlock_file to expand each
3444 buffer's file_truename before trying remove its lock file.
3445
23afac01
EZ
34462000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3447
3448 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3449 or CRLF, decode EOLs.
3450
04448b95
KH
34512000-10-24 Kenichi Handa <handa@etl.go.jp>
3452
3453 * window.c (Fdisplay_buffer): Fix doc.
3454
3090a5a5
JR
34552000-10-23 Jason Rumney <jasonr@gnu.org>
3456
3457 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3458 ASCII font of default fontset on Windows.
3459
3460 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3461 xterm.c comment below).
3462
3463 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3464
a83fee2c
GM
34652000-10-23 Gerd Moellmann <gerd@gnu.org>
3466
3467 * xterm.c (x_connection_closed): Reset handling_signal.
3468
3469 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
3470 null.
3471
6ffdb539
MB
34722000-10-23 Miles Bader <miles@gnu.org>
3473
3474 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3475 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3476 maintain old behavior.
3477 * minibuf.c (Fminibuffer_complete): Likewise.
3478
7f1c969b
MB
34792000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3480
3481 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3482 that when a font can't be exactly centered, it errs up rather than
3483 down.
3484
23afac01 34852000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
3486
3487 * fns.c (Fbase64_decode_string): The decoded result should be
3488 unibyte.
3489
1a578e9b
AC
34902000-10-23 Andrew Choi <akochoi@i-cable.com>
3491
3492 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3493
3494 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 3495 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
3496
3497 * emacs.c (main) [macintosh]: Call syms_of_textprop,
3498 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
3499 syms_of_search, x_term_init, and init_keyboard before calling
3500 init_window_once. Also, call syms_of_xmenu.
3501
3502 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
3503 default fontset to Monaco.
3504
3505 * frame.c [macintosh]: Include macterm.h. Remove declarations of
3506 NewMacWindow and DisposeMacWindow.
3507 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
3508 instead of calling NewMacWindow and setting fields of
3509 f->output_data.mac directly. Call init_frame_faces.
3510 (Fdelete_frame) [macintosh]: Remove unused code.
3511 (Fmodify_frame_parameters) [macintosh]: Call
3512 x_set_frame_parameters instead of mac_set_frame_parameters.
3513
3514 * frame.h [macintosh]: Define menu_bar_lines field in struct
3515 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
3516
3517 * keyboard.c [macintosh]: Include macterm.h.
3518 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
3519 and menu_bar_activate_event type events as for X and NT.
3520 (make_lispy_event) [macintosh]: Construct lisp events of type
3521 MENU_BAR_EVENT as for X and NT.
3522
3523 * sysdep.c [macintosh]: Remove declaration for sys_signal.
3524 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
3525 (sys_subshell) [macintosh]: Remove definition entirely.
3526 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
3527 Vwindow_system_version here. Remove initialization of
3528 Vx_bitmap_file_path.
3529 (read_input_waiting): Correct the number of parameters passed to
3530 read_socket_hook.
3531 Move all Macintosh functions to mac/mac.c.
3532
3533 * term.c [macintosh]: Include macterm.h.
3534
3535 * window.c [macintosh]: Include macterm.h.
3536
3537 * xdisp.c [macintosh]: Include macterm.h. Declare
3538 set_frame_menubar and pending_menu_activation.
3539 (echo_area_display) [macintosh]: Do not return if terminal frame
3540 is the selected frame.
3541 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
3542 Allow only the selected frame to set menu bar.
3543 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
3544 calling FRAME_EXTERNAL_MENU_BAR (f).
3545 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
3546
3547 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
3548 and check_x. Declare XCreateGC. Define x_create_gc and
3549 x_free_gc. Initialize font_sort_order.
3550 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
3551 but call x_list_fonts instead of w32_list_fonts.
3552 (Finternal_face_x_get_resource) [macintosh]: Do not call
3553 display_x_get_resource.
3554 (prepare_face_for_display) [macintosh]: Set xgcv.font.
3555 (realize_x_face) [macintosh]: Load the font if it is specified in
3556 ATTRS.
3557 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
3558 to Qt.
3559
1ffbabe3
SM
35602000-10-22 Stefan Monnier <monnier@cs.yale.edu>
3561
3562 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
3563 is nil: since we go to the end of submap anyway, we'd end up
3564 setting nil to nil.
3565 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
3566 doesn't obey autoload.
3567
bed43f1d
EZ
35682000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3569
1ffbabe3 3570 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 3571
ea4233a7
JR
35722000-10-21 Jason Rumney <jasonr@gnu.org>
3573
3574 * w32term.c (w32_cache_char_metrics): Double check that font is
3575 really fixed pitch before trusting tmPitchAndFamily.
3576
f3d3c491
AI
35772000-10-21 Andrew Innes <andrewi@gnu.org>
3578
3579 * w32gui.h (w32_char_font_type): Move enum from w32term.c
3580
3581 * w32term.h: Extern decl for w32_cache_char_metrics.
3582
3583 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
3584
3585 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
3586 (w32_unload_font): Free per_char array if present.
3587
3588 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
3589 cached information in emulated XFontStruct to handle common cases
3590 quickly. Do not allocate XCharStruct for return.
3591 (w32_native_per_char_metric): New function.
3592 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
3593 allocating one.
3594 (x_produce_glyphs): Don't get an HDC. Change calls to
3595 w32_per_char_metric to match arg change above. Remove calls to
3596 free results.
3597 (w32_get_glyph_overhangs): Ditto.
3598 (w32_cache_char_metrics): New function.
3599
3600 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
3601 ($(BLD)/casefiddle.$(O)): Remove compile command.
3602 ($(BLD)/gmalloc.$(O)): Remove compile command.
3603 ($(BLD)/dispnew.obj):
3604 ($(BLD)/keyboard.obj):
3605 ($(BLD)/w32inevt.obj):
3606 ($(BLD)/w32bdf.obj):
3607 ($(BLD)/alloc.obj):
3608 ($(BLD)/buffer.obj):
3609 ($(BLD)/editfns.obj):
3610 ($(BLD)/emacs.obj):
3611 ($(BLD)/fileio.obj):
3612 ($(BLD)/fns.obj):
3613 ($(BLD)/indent.obj):
3614 ($(BLD)/insdel.obj):
3615 ($(BLD)/intervals.obj):
3616 ($(BLD)/minibuf.obj):
3617 ($(BLD)/print.obj):
3618 ($(BLD)/scroll.obj):
3619 ($(BLD)/sysdep.obj):
3620 ($(BLD)/textprop.obj):
3621 ($(BLD)/widget.obj):
3622 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
3623 ($(BLD)/term.obj): Add dependency on dispextern.h.
3624
3625 * makefile.nt ($(BLD)\dispnew.obj):
3626 ($(BLD)\keyboard.obj):
3627 ($(BLD)\w32inevt.obj):
3628 ($(BLD)\w32bdf.obj):
3629 ($(BLD)\alloc.obj):
3630 ($(BLD)\buffer.obj):
3631 ($(BLD)\editfns.obj):
3632 ($(BLD)\emacs.obj):
3633 ($(BLD)\fileio.obj):
3634 ($(BLD)\fns.obj):
3635 ($(BLD)\indent.obj):
3636 ($(BLD)\insdel.obj):
3637 ($(BLD)\intervals.obj):
3638 ($(BLD)\minibuf.obj):
3639 ($(BLD)\print.obj):
3640 ($(BLD)\scroll.obj):
3641 ($(BLD)\sysdep.obj):
3642 ($(BLD)\textprop.obj):
3643 ($(BLD)\widget.obj):
3644 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
3645 ($(BLD)\term.obj): Add dependency on dispextern.h
3646
18ad4821
EZ
36472000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3648
3649 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
3650 with an additional argument of Qt.
3651
de54681a
MB
36522000-10-21 Miles Bader <miles@gnu.org>
3653
3654 * window.c (pos_fully_visible_in_window_p): New function.
3655 (Fpos_visible_in_window_p): Add FULLY argument.
3656 Use pos_fully_visible_in_window_p.
3657 (window_scroll_pixel_based, window_scroll_line_based): Update
3658 calls to Fpos_visible_in_window_p.
3659 * lisp.h (Fpos_visible_in_window_p): Update prototype
3660
13c844fb
GM
36612000-10-20 Gerd Moellmann <gerd@gnu.org>
3662
3663 * alloc.c (toplevel): Conditionalize compilation of mem_*
3664 functions differently.
3665
d9506268
JR
36662000-10-20 Jason Rumney <jasonr@gnu.org>
3667
3668 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
3669 mem_init where it used to be. mem_z etc not defined otherwise.
3670
8094989b
GM
36712000-10-20 Gerd Moellmann <gerd@gnu.org>
3672
3673 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
3674 GC_MALLOC_CHECK.
3675 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
3676 structure definition and related variabled to the top of the file.
3677 Include this code when GC_MALLOC_CHECK is defined.
3678 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
3679 register/unregister allocated region.
3680 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
3681 which isn't allocated.
3682 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
3683 something which is already in use.
3684 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
3685 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
3686 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
3687 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
3688
3689 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
3690 _malloc_internal instead of malloc.
3691 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
3692 of free.
3693
ea456eb4
AI
36942000-10-20 Andrew Innes <andrewi@gnu.org>
3695
3696 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
3697 Windows.
3698 (my_strftime) <macro>: Don't use macro arg list when redefining as
3699 _strftime_copytm.
3700 (my_strftime) <function>: Supply 0 as ut argument.
3701
e64c3a75
JR
37022000-10-19 Jason Rumney <jasonr@altavista.net>
3703
3704 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
3705 including dispextern.h, as it stops faces from working.
3706
3707 * w32fns.c (Fx_create_frame): Don't bother calling
3708 face-set-after-frame-default since the caller does it for us
3709 anyway. Clean up calls to x_get_arg to be consistent with X.
3710
3711 * w32term.c (x_produce_glyphs): Handle
3712 unibyte_display_via_language_environment correctly.
3713 (w32_draw_box_rect): Fix the calculation of width and height.
3714
3715 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
3716 as it has stopped working.
3717 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
3718 menu-bar.
3719
17401c97
GM
37202000-10-19 Gerd Moellmann <gerd@gnu.org>
3721
3722 * eval.c (skip_debugger): Prevent a compiler warning.
3723 (Fcondition_case): Likewise.
3724 (Fbacktrace_frame): Use a null interactive spec.
3725
773272d8
KH
37262000-10-19 Kenichi Handa <handa@etl.go.jp>
3727
3728 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
3729
a42943e9
GM
37302000-10-18 Gerd Moellmann <gerd@gnu.org>
3731
e50517d9
GM
3732 * strftime.c: Sync with glibc, file version 1.78.
3733 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
3734 should no longer be used according to ISO 8601.
3735
9035a35a
GM
3736 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
3737 no map for meta_prefix_char, don't try to use it as a keymap.
3738 Instead, if T_OK is non-zero, look up a default binding, if any,
3739 otherwise, if T_OK is zero, return nil.
3740
a42943e9
GM
3741 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
3742 (x_to_xcolors, png_load): Use x_query_color.
3743
3744 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
3745 functions.
3746 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
3747 which can be slow.
3748 (x_copy_color, x_alloc_lighter_color): Likewise.
3749
3750 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
3751 (x_query_color, x_query_colors): Add prototype.
3752
3753 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
3754 check_string_bytes only if not noninteractive, increase count to 50.
3755
00de2987
MB
37562000-10-18 Miles Bader <miles@lsi.nec.co.jp>
3757
3758 * insdel.c (adjust_markers_for_delete): Handle before-insertion
3759 markers correctly.
3760
54918e2b
GM
37612000-10-17 Gerd Moellmann <gerd@gnu.org>
3762
1f0b3fd2
GM
3763 * alloc.c (pure_bytes_used): Renamed from pureptr.
3764 (ALIGN): New macro.
3765 (pure_alloc): New function.
3766 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
3767 Use it.
3768 (Fpurecopy): Use PURE_POINTER_P.
3769
68c5d1db
GM
3770 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
3771 PT has moved backward.
3772
9a038881
GM
3773 * xdisp.c (cursor_row_p): Take continued lines into account.
3774
361b097f
GM
3775 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
3776 string's size_byte.
3777 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
3778 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
3779 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
3780 string allocated.
3781
54918e2b
GM
3782 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
3783 of selective display off while searching for the next line start.
3784
03ed0806
KH
37852000-10-17 Kenichi Handa <handa@etl.go.jp>
3786
3787 * Makefile.in (term.o): Depend on dispextern.h.
3788
7e05cdaf
SM
37892000-10-16 Stefan Monnier <monnier@cs.yale.edu>
3790
3791 * keymap.c (keymap_memberp): Ensure that nil is not a member.
3792
a6801fd1
GM
37932000-10-16 Gerd Moellmann <gerd@gnu.org>
3794
483de32b
GM
3795 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
3796 the iterator at the beginning, so that they can be set later on,
3797 for instance in reseat_at_next_visible_line_start, without being
3798 overwritten.
3799
a6801fd1
GM
3800 * xfns.c (pbm_format): Add :foreground and :background keywords.
3801 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 3802 (xbm_load): Recognize foreground and background color
a6801fd1
GM
3803 specifications.
3804
dbf1fcc1
EZ
38052000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
3806
3807 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
3808
3809 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
3810 declaration.
3811
3812 * msdos.c (IT_set_face): Compare highlighted face with the default
3813 face, and invert colors if these faces' colors are identical.
3814 (Fmsdos_remember_default_colors): Don't swap foreground and
3815 background colors in initial_colors[].
3816 (IT_set_frame_parameters): Don't swap frame's foreground and
3817 background pixels. If ALIST includes "(reverse . t)", swap
3818 foreground-color and background-color properties in frame's
3819 param_alist. If the original frame's param_alist doesn't specify
3820 the colors, store unspecified-fg and unspecified-bg, reversed if
3821 required.
3822
3823 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
3824 the colors are unspecified and reversed, reverse fore- and back-
3825 ground in the returned value.
3826 (Fframe_parameter): Ditto.
3827
b41fe2c3
GM
38282000-10-16 Gerd Moellmann <gerd@gnu.org>
3829
3a6b59d9
GM
3830 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
3831 get_last_unchanged_at_beg_row.
3832 (find_first_unchanged_at_end_row): Renamed from
3833 get_first_unchanged_at_end_row.
3834 (find_first_unchanged_at_end_row): Convert assertions to
3835 unconditional tests which abort. When looking for a row in
3836 unchanged text, don't go further back than first_text_row.
3837
b41fe2c3
GM
3838 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
3839 Don't add in the last line's height when deciding if the new
3840 position is below the scroll margin.
9d1af64f 3841
b41fe2c3 38422000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
3843
3844 * editfns.c (Fconstrain_to_field): Check carefully for field
3845 boundaries if either OLD_POS or NEW_POS has a non-nil field
3846 property, even if they're the same.
3847
c412cb7b
KH
38482000-10-16 Kenichi Handa <handa@etl.go.jp>
3849
3850 * xterm.c (x_draw_box_rect): Fix the calculation of width and
3851 height for XFillRectangle.
3852
5586f3eb
SM
38532000-10-15 Stefan Monnier <monnier@cs.yale.edu>
3854
3855 * syntax.c (Fstring_to_syntax): New function extracted from
3856 Fmodify_syntax_entry.
3857 (Fmodify_syntax_entry): Use it and document the ! and | fences.
3858 (skip_chars, Fforward_comment): Remove unused variables.
3859 (syms_of_syntax): Add defsubr for string-to-syntax.
3860 (describe_syntax): Add code for comment and string fences.
3861
db785038
SM
38622000-10-14 Stefan Monnier <monnier@cs.yale.edu>
3863
3864 * keymap.c (access_keymap): Add AUTOLOAD parameter.
3865 Do the meta->esc mapping. Call get_keyelt before returning.
3866 Start scanning from the second element (the first is always `keymap')
3867 to make it easier to detect when we reach a parent map.
3868 Handle the case of inheriting from a symbol whose function is a map.
3869 (Fkeymap_parent): Also handle the `inherit from symbol' case.
3870 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
3871 (get_keyelt, Flookup_key): Update call to access_keymap.
3872 Remove the meta->esc mappings.
3873 (define_as_prefix): Delete old disabled code.
3874 (menu_item_p): New function.
3875 (where_is_internal_1): Skip over the few remaining menu items.
3876 * lisp.h (access_keymap): Update prototype.
3877 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
3878 Update call to access_keymap.
3879 (follow_key, read_key_sequence): Update calls to access_keymap.
3880 Remove the meta->esc mappings.
3881
cafafe0b
GM
38822000-10-13 Gerd Moellmann <gerd@gnu.org>
3883
a2e2a7f6
GM
3884 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
3885 with additional argument.
3886
cafafe0b
GM
3887 * xdisp.c (cursor_row_p): New function.
3888 (try_cursor_movement, display_line): Use it.
3889
3890 * xdisp.c (append_space): Also save/restore iterator's current
3891 character and its length.
3892
3893 * xdisp.c (init_from_display_pos): Add an assertion.
3894 (handle_stop): Don't set iterator's add_overlay_start.
3895 (handle_invisible_prop): Likewise.
3896 (load_overlay_strings): If text under an overlay is invisible,
3897 take both before- and after-strings into account when the iterator
3898 is positioned either at the start or at the end of the overlay.
3899 (forward_to_next_line_start): Rewritten.
3900 (reseat_at_next_visible_line_start): Rewritten.
3901 (set_iterator_to_next): Add parameter RESEAT_P.
3902
3903 * dispextern.h (struct it): Remove member add_overlay_start.
3904 (set_iterator_to_next): Change prototype.
3905
c744452b
KH
39062000-10-13 Kenichi Handa <handa@etl.go.jp>
3907
3908 * coding.c (code_convert_region): Be sure to initialize
3909 coding->category_idx.
e4a3f4e1
KH
3910 (decode_coding_string): Set coding->src_multibyte and
3911 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
3912 (encode_coding_string): Set coding->src_multibyte and
3913 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 3914
321fd26f
SM
39152000-10-12 Stefan Monnier <monnier@cs.yale.edu>
3916
3917 * xfns.c (Fx_create_frame): Don't bother calling
3918 face-set-after-frame-default since the caller does it for us anyway.
3919
76832439
EZ
39202000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
3921
3922 * window.c (coordinates_in_window): Fix detection of vertical line
3923 on character terminals.
3924
2483cf58
GM
39252000-10-12 Gerd Moellmann <gerd@gnu.org>
3926
3927 * editfns.c (save_excursion_save): Additionally record the
3928 selected window.
3929 (save_excursion_restore): If buffer was visible in a window, and a
3930 different window was selected, and the old selected window is
3931 still live, restore point in that window.
3932
eb991b25
KH
39332000-10-12 Kenichi Handa <handa@etl.go.jp>
3934
8a0eba09
KH
3935 * xterm.c (x_produce_glyphs): Handle
3936 unibyte_display_via_language_environment correctly.
3937
20401fcc
KH
3938 * regex.c (regex_compile): Change the way of handling a range from
3939 unibyte char to multibyte char.
3940
3941 * syntax.c (skip_chars): Change the way of handling a range from
3942 unibyte char to multibyte char.
3943
eb991b25
KH
3944 * process.c (read_process_output): Cancel previous change.
3945
365dd325
EZ
39462000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
3947
c1b096cb
EZ
3948 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
3949
365dd325
EZ
3950 * charset.c (Ffind_charset_string): Doc fix.
3951 (Ffind_charset_region): Doc fix.
3952
eb483c2b
KH
39532000-10-11 Kenichi Handa <handa@mule.m17n.org>
3954
3955 * process.c (read_process_output): Fix previous change. Adjust
3956 multibyteness of text to insert in a buffer by
df3c11b9 3957 string_make_unibyte/multibyte instead of
eb483c2b
KH
3958 Fstring_as_unibyte/multibyte.
3959
b40bfb99
AS
39602000-10-10 Andreas Schwab <schwab@suse.de>
3961
3962 * alloc.c (mark_object): Remove all workarounds installed on
3963 1993-08-08.
3964
caff31d4
KH
39652000-10-10 Kenichi Handa <handa@etl.go.jp>
3966
3967 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
3968 returning.
3969 (base64_encode_1): Make it work for a text of multibyte form.
3970 (Fbase64_decode_region): Allocate sufficient memory for multibyte
3971 case. Don't call str_to_multibyte because base64_decode_1
3972 produces correct multibyte form for eight-bit codes.
3973 (Fbase64_decode_string): Adjusted for the change of
3974 base64_decode_1.
3975 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
3976 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
3977 codes.
3978
3979 * charset.h (CHAR_STRING): Optimized for single byte characters.
3980
cba026ef
AS
39812000-10-09 Andreas Schwab <schwab@suse.de>
3982
3983 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
3984 -1 after socket is closed, to fall through to error processing.
3985
1e21fe48
EZ
39862000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
3987
3988 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 3989 variables. If ALIST includes foreground-color or
1e21fe48
EZ
3990 background-color, change also the colors of the default face for
3991 this frame.
3992
a640322e
EZ
39932000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
3994
3995 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
3996 them extern (they are defined on xfaces.c).
3997 (syms_of_msdos): Don't intern and don't staticpro
3998 Qbackground_color and Qforeground_color.
3999
a115794c
EZ
40002000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4001
4002 * frame.c (Fframe_parameter): For non-windowed frames, if
4003 f->param_alist says foreground or background color is unspecified,
4004 call tty_color_name to return the color name computed from the
4005 frame's current colors.
4006
f5533b63
DL
40072000-10-06 Dave Love <fx@gnu.org>
4008
4009 * terminfo.c (ospeed): Don't declare.
4010
4011 * sysdep.c: Don't include string.h.
4012 (h_errno): Declare conditional also on TRY_AGAIN.
4013
4014 * charset.c (Ffind_charset_string): Doc fix.
4015
4016 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
4017 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4018 error messages.
4019
2b06561a
DL
40202000-10-05 Dave Love <fx@gnu.org>
4021
4022 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4023 position like menu-bar.
4024
ca839c85
GM
40252000-10-05 Gerd Moellmann <gerd@gnu.org>
4026
4027 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4028
4029 * xdisp.c (handle_single_display_prop): Use safe_call1.
4030 (safe_call): Renamed from call_function.
4031 (safe_call1): New function.
4032 (handle_fontified_prop): Use safe_call1 instead of call1.
4033 (safe_eval): Renamed from eval_form.
4034 (safe_eval_handler): Renamed from eval_handler.
4035 (handle_single_display_prop, display_mode_element): Use safe_eval
4036 instead of eval_form.
4037
4038 * xfaces.c (merge_face_heights): Use safe_call instead of
4039 call_function.
4040
4041 * keyboard.c (show_help_echo): Use safe_call instead of
4042 call_function; use safe_eval instead of eval_form.
4043
4044 * lisp.h (safe_call): Renamed from call_function.
4045 (safe_eval): Renamed from eval_form.
4046 (safe_call1): Add prototype.
4047
a3489ece
MB
40482000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4049
4050 * xfns.c (image_ascent): Rearrange ascent calculation for the
4051 has-a-font case.
4052
35810b6f
SM
40532000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4054
4055 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4056 (where_is_internal_1): Don't bother ignoring menu-items any more.
4057
3dc78168
GM
40582000-10-04 Gerd Moellmann <gerd@gnu.org>
4059
4060 * keyboard.c (update_menu_bindings): New variable.
4061 (parse_menu_item): Use AREF. If update_menu_bindings
4062 is 0, don't update menu bindings.
4063 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4064
1efc2bb9
EZ
40652000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4066
4067 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4068 to `mark_object'.
4069
3f679f55
SM
40702000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4071
4072 * syntax.c (forw_comment): Match nestedness of ender/starter.
4073 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4074 (prev_char_comstart_first): Remove.
4075 (back_comment): Check two-char comment markers more carefully
4076 to better handle overlapping cases like *//* or /* */* */ ...
4077 Match nestedness of ender/starter.
4078
2021ab61
DL
40792000-10-02 Dave Love <fx@gnu.org>
4080
4081 * config.in (HAVE_GAI_STRERROR): Add undef.
4082
4083 * process.c (Fopen_network_stream): Use it.
4084
4085 * m/alpha.h (NO_REMAP): Don't define.
4086
64e6cc18
GM
40872000-10-02 Gerd Moellmann <gerd@gnu.org>
4088
4089 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4090 return with a string converted to an integer or vice versa when
4091 Vmocklisp_arguments is t.
4092 (Fsignal): Likewise. The function can return for `quit'.
4093 (struct gcpro): Declare member `var' to point to a volatile
4094 Lisp_Object.
4095
4096 * eval.c (error): Prevent compiler warning.
4097
b1904cd9
SM
40982000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4099
4100 * keymap.c (keymap_memberp): New function.
4101 (Fset_keymap_parent): Use it.
4102 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4103 Use keymap_memberp to avoid creating cycles.
4104 (access_keymap): Use KEYMAPP.
4105
71c9ec51
GM
41062000-09-30 Gerd Moellmann <gerd@gnu.org>
4107
4108 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4109 gai_strerror. Make sure xerrno is set if connect fails. Improve
4110 error recovery.
71c9ec51 4111
c70c6b58
JR
41122000-09-29 Jason Rumney <jasonr@gnu.org>
4113
4114 * w32term.c (w32_char_font_type, w32_encode_char)
4115 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4116 (w32_bdf_per_char_metric): New function.
4117 (w32_per_char_metric): Use it.
4118 (x_draw_glyph_string_background): Always draw background for BDF
4119 glyphs.
4120
4121 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4122 GDI object which is a scarce resource.
4123
4124 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4125 (get_quoted_string): Fix limit on memchr search.
4126 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4127 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4128 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4129 (get_cached_font_char, cache_char_offset): Use macro
4130 BDF_CODEPOINT_RANGE_COVER_P.
4131 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4132 (clear_cached_bitmap_slots): New function.
4133 (GET_HEX_VALUE): G-Z, g-z are not hex.
4134 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4135 (get_bitmap_with_cache): Use new cache implementation.
4136 (create_offscreen_bitmap): New function.
4137 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4138
4139 * w32term.c (x_produce_glyphs): If the distance from the current
4140 position to the next tab stop is less than a canonical character
4141 width, use the tab stop after that.
4142 (x_draw_glyphs): Handle case START and END are out of bounds more
4143 carefully.
4144 (x_clear_mouse_face): Block/unblock input.
4145 (x_display_and_set_cursor): Don't show a hollow box cursor for
4146 buffers whose cursor_type is nil.
4147
fe01239f
GM
41482000-09-29 Gerd Moellmann <gerd@gnu.org>
4149
4150 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
4151 disappears.
4152
4153 * dispextern.h (updating_frame): Declare extern.
4154
e7c52f1f
AS
41552000-09-29 Andreas Schwab <schwab@suse.de>
4156
4157 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4158
de6e1f7c
GM
41592000-09-29 Gerd Moellmann <gerd@gnu.org>
4160
25126faa
GM
4161 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4162 use its function definition.
4163 (tool_bar_items): Likewise.
4164
de6e1f7c
GM
4165 * lisp.h (fatal): Declare NO_RETURN.
4166
454ee39b
KH
41672000-09-29 Kenichi Handa <handa@etl.go.jp>
4168
4169 * keymap.c: Remove the line "#undef NULL".
4170
96301c5f
GM
41712000-09-28 Gerd Moellmann <gerd@gnu.org>
4172
4173 * xterm.c (x_make_frame_visible): Try harder to make the frame
4174 visible.
4175
efffeeb4
DL
41762000-09-28 Dave Love <fx@gnu.org>
4177
ecb8b666
DL
4178 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4179
dc3cd20f
DL
4180 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4181
4182 * .gdbinit (xreload): Note its need on GNU/Linux.
4183
efffeeb4
DL
4184 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4185 r_alloc, r_alloc_free.
4186
8610d903
KH
41872000-09-28 Kenichi Handa <handa@etl.go.jp>
4188
4189 * syntax.c (skip_chars): Handle negation correctly.
4190
8901d1ac
GM
41912000-09-27 Gerd Moellmann <gerd@gnu.org>
4192
6f22f1ad
GM
4193 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4194 with non-zero FORCE_P argument.
4195
8901d1ac
GM
4196 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
4197 Add assertions.
4198
4199 * xdisp.c (window_box_height): Add an assertion.
4200
4201 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4202 tool-bar than is available.
4203 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4204
36f1966f
DL
42052000-09-27 Dave Love <fx@gnu.org>
4206
efffeeb4 4207 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4208
31d929e5
GM
42092000-09-26 Gerd Moellmann <gerd@gnu.org>
4210
c98863bf
GM
4211 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4212 instead of BITS_PER_INT.
4213 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4214 EMACS_UINT, respectively.
4215 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4216
4217 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4218
4219 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4220
77072ab1
GM
4221 * window.c (freeze_window_starts): Construct last argument for
4222 foreach_window differently.
4223
4224 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4225
4226 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4227 EMACS_UINT instead of `int' and `unsigned int'.
4228 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4229
4230 * frame.h (struct frame): Make the `nothing' member of union
4231 output_data an EMACS_INT.
4232
31d929e5
GM
4233 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
4234 hunting.
4235 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4236 size in the sdata structure.
4237 (SDATA_NBYTES, SDATA_DATA): New macros.
4238 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4239 differently for the different layout of the sdata structure.
4240 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4241 in sdata.
4242 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4243 Check that size recorded in the string size and size recorded in
4244 the sdata structure agree.
4245
3e60b029
DL
42462000-09-25 Dave Love <fx@gnu.org>
4247
4248 * buffer.c: Include stdio.h.
4249
4250 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
4251
4252 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4253
4254 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
4255 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
4256 size_t.
4257 (__malloc_extra_blocks): Declare as __malloc_size_t.
4258
8ff16b4e
GM
42592000-09-25 Gerd Moellmann <gerd@gnu.org>
4260
755a2ccd
GM
4261 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4262
d8b4516f
GM
4263 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4264 (read_char): If help-echo is showing, preserve the echo area
4265 when redisplaying.
4266
4267 * xdisp.c (help_echo_showing_p): New variable.
4268 (set_message): Reset it to 0.
4269 (init_xdisp): Initialize help_echo_showing_p.
4270
4271 * dispextern.h (help_echo_showing_p): Declare extern.
4272
4273 * config.in: Fix typo in __GNUC_MINOR__.
4274
4275 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4276
b11af2dd
GM
4277 * s/freebsd.h (POSIX_SIGNALS): Define.
4278
8ff16b4e
GM
4279 * xterm.c (x_clear_mouse_face): Block/unblock input.
4280
844eb643
DL
42812000-09-24 Dave Love <fx@gnu.org>
4282
4283 * fns.c (base64_encode_1): Fix last change.
4284
b30ab1b3
GM
42852000-09-22 Gerd Moellmann <gerd@gnu.org>
4286
4287 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4288
4289 * xdisp.c (try_window_reusing_current_matrix): More fixes
4290 for the case window has a header-line.
4291
c6cbe5f0
DL
42922000-09-22 Dave Love <fx@gnu.org>
4293
4c7c1f3f
DL
4294 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4295 a doc string.
4296
4297 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4298
c6cbe5f0
DL
4299 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4300
550a625e
GM
43012000-09-21 Gerd Moellmann <gerd@gnu.org>
4302
4c7c1f3f 4303 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4304 for GCC >= 2.5.
4305
4306 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
4307 NO_RETURN.
4308
80d26f99
GM
4309 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4310 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4311 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4312 warnings.
4313
4314 * marker.c (byte_char_debug_check): Return void.
4315
623a0aae
GM
4316 * xfns.c (Fx_create_frame): Set default frame parameter value
4317 for tool-bar-lines to 1.
4318
4319 * dispnew.c (scrolling_window): Compare y-positions of rows
4320 equal at the start. Some simplification.
4321
4322 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4323 reused rows' y-position in the case window has a header-line, and
4324 new window start is greater than old window start.
4325
42ac0ae5
GM
4326 * process.c (process_sent_to): New variable.
4327 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4328 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4329 Declare more parameters volatile.
4330
550a625e
GM
4331 * lread.c (Vrecursive_load_depth_limit): New variable.
4332 (Fload): Check recursive loads whose recursion depth exceeds
4333 Vrecursive_load_depth_limit.
4334 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4335
8320414c
GM
43362000-09-20 Gerd Moellmann <gerd@gnu.org>
4337
f46c275e
GM
4338 * fileio.c (Fread_file_name): Doc fix.
4339
4340 * editfns.c (Fmessage_or_box): Doc fix.
4341
4342 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4343
b7e11c5b
GM
4344 * xfns.c (xbm_scan): Allow C-style comments.
4345
8320414c
GM
4346 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4347 symbols are specified, add color translations to the cache.
4348 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
4349 functions.
4350 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4351 xpm_cache_color.
4352 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4353 structures to xpm_init_color_cache.
4354
da1608d9
GM
43552000-09-19 Gerd Moellmann <gerd@gnu.org>
4356
4357 * dispnew.c (update_window_line): Make sure to always draw
4358 mode-lines.
4359
6badfa25
AI
43602000-09-19 Andrew Innes <andrewi@gnu.org>
4361
4362 * makefile.nt (bootstrap-emacs): Don't change directory.
4363
3a5f42bb
KH
43642000-09-19 Kenichi Handa <handa@etl.go.jp>
4365
1b7649bd
KH
4366 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4367
3a5f42bb
KH
4368 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4369 If output buffer is too small, signal an appropriated error.
4370
9f83cf0b
DL
43712000-09-18 Dave Love <fx@gnu.org>
4372
4373 * keyboard.c (menu_bar_items, tool_bar_items)
4374 (current_active_maps): Remove redundant get_local_map call.
4375
28c7826c
GM
43762000-09-18 Gerd Moellmann <gerd@gnu.org>
4377
5cefa566
GM
4378 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4379 cursor for buffers whose cursor_type is nil.
4380
6fed3546
GM
4381 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4382 a feature to implement that is already implemented.
4383 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4384 warnings.
4385
4386 * xfns.c (x_clear_image_1): New function.
4387 (x_clear_image): Use it.
4388 (x_from_xcolors): Use x_clear_image_1; don't free the image's
4389 mask.
4390
05b1f851
GM
4391 * dispnew.c (update_window): Move test for invisible lines
4392 at the top to update_window_line.
4393 (update_window_line): Handle invisible lines here.
4394
f4779de9
GM
4395 * xfns.c (clear_image_cache): Clear current matrices of all
4396 frames sharing an image cache. Block input while freeing
4397 images. Fix timestamp comparison.
4398 (x_clear_image): Also free the mask.
4399
28c7826c
GM
4400 * xfns.c (lookup_image): Block input while loading the image so
4401 that we won't get interrupted in a state where the image isn't yet
4402 set up completely.
4403 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4404 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4405 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
4406 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
4407 input.
4408
b7412313
GM
44092000-09-16 Gerd Moellmann <gerd@gnu.org>
4410
4411 * dispnew.c (update_window): Make sure to make desired rows
4412 current even if they are completely invisible at the top
4413 of a window.
4414
47e351a3
GM
44152000-09-15 Gerd Moellmann <gerd@gnu.org>
4416
7f8f1edc
GM
4417 * xfns.c (lookup_image): Build mask before applying an algorithm.
4418 Recognize algorithm `disabled'.
4419 (cross_disabled_images): New variable.
4420 (COLOR_INTENSITY): New macro.
4421 (x_detect_edges): Use COLOR_INTENSITY.
4422 (x_disable_image): New function.
4423 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4424
4425 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4426 disabled state, don't apply an image transformation algorithm if
4427 the user specified an image for the disabled state. Use
28c7826c 4428 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4429 user hasn't specified an image.
4430
ebb8f116
GM
4431 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4432 allocation functions with the XPM lib.
4433 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4434 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4435 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4436 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
4437 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
4438 functions.
4439 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4440 functions, if possible, because these handle color allocation
4441 failure more gracefully.
4442 (Fimage_mask_p): New function.
4443
47e351a3
GM
4444 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4445 (Qedge_detection, Qheuristic): New symbols.
4446 (syms_of_xfns): Initialize new symbols.
4447 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4448 `algorithm (edge-detection ...)'.
4449 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4450 (tiff_format, gif_format, gs_format): Add `:mask'.
4451 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4452 (GIF_MASK, GS_MASK): New enumerators.
4453 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4454 (emboss_matrix, laplace_matrix): New variables.
4455 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4456 (x_edge_detection): New functions.
4457 (x_laplace): Rewritten in terms of x_detect_edges.
4458 (x_build_heuristic_mask): If image has a mask, free it.
4459
fe83b953
AI
44602000-09-14 Andrew Innes <andrewi@gnu.org>
4461
4462 * makefile.w32-in: Revert to Unix line endings.
4463
3021e816
AI
44642000-09-14 Andrew Innes <andrewi@gnu.org>
4465
4466 * makefile.w32-in: Standardize indentation somewhat.
4467 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4468 cater for differences between shells.
4469
4470 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4471
2a32b5ea
GM
44722000-09-14 Gerd Moellmann <gerd@gnu.org>
4473
4474 * xterm.c (x_produce_glyphs): If the distance from the current
4475 position to the next tab stop is less than a canonical character
4476 width, use the tab stop after that.
4477
b4331e96
DL
44782000-09-14 Dave Love <fx@gnu.org>
4479
4480 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4481
ef9e4345
GM
44822000-09-14 Gerd Moellmann <gerd@gnu.org>
4483
085536c2
GM
4484 * xdisp.c (handle_fontified_prop): While running fontification
4485 functions, bind `fontification-functions' and
4486 `after-change-functions' to nil.
4487
ef9e4345
GM
4488 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4489 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4490
4491 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4492
4493 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4494 USE_MMAP_FOR_BUFFERS.
4495
4496 * insdel.c (make_gap): Use enlarge_buffer_text.
4497
4498 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4499 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4500 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4501 from former r_alloc_* functions in ralloc.c.
4502 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
4503 variables.
4504 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4505 (mmap_init) [REL_ALLOC_MMAP]: New function.
4506 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4507 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4508 BUFFER_FREE.
4509
4510 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
4511 (enlarge_buffer_text): Add prototype.
4512
4513 * ralloc.c: Remove everything having to do with the use of mmap.
4514
f8608968
GM
45152000-09-13 Gerd Moellmann <gerd@gnu.org>
4516
2a494b2d
GM
4517 * sound.c (Fplay_sound): Doc fix.
4518
8c907a56
GM
4519 * keyboard.c: Avoid some more compiler warnings.
4520 (parse_tool_bar_item): Ignore cached key bindings.
4521
f8608968
GM
4522 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
4523 and allocation of Lisp data.
4524
6ab70e9a
GM
45252000-09-12 Gerd Moellmann <gerd@gnu.org>
4526
d12d0a9b
GM
4527 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
4528 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
4529 defaults first.
4530
6ab70e9a
GM
4531 * lread.c (Fload): Put code checking for recursive loads in #if 0.
4532
63c36c3c
KH
45332000-09-12 Miyashita Hisashi <himi@meadowy.org>
4534
4535 * ccl.c: Comment fixed.
4536 (MAX_MAP_SET_LEVEL): Increased to 30.
4537 (PUSH_MAPPING_STACK): Enclose with do-while block.
4538 (POP_MAPPING_STACK): Likewise.
4539 (stack_idx_of_map_multiple): New variable.
4540 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
4541 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
4542 call the corresponding CCL program by
4543 CCL_CALL_FOR_MAP_INSTRUCTION.
4544 (ccl_driver) <CCL_MapSingle>: Likewise.
4545 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
4546 with the case where looking up process reaches to the end of
4547 map-set, and call CCL programs as the above change.
4548
7ee3bd7b
GM
45492000-09-11 Gerd Moellmann <gerd@gnu.org>
4550
8ec8a5ec
GM
4551 * xfns.c (png_load, jpeg_load): Declare some variables volatile
4552 that might be clobbered by longjmp.
4553 (check_x_display_info, x_decode_color, create_frame_xic)
4554 (Fx_display_backing_store, Fx_display_visual_class)
4555 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
4556 warnings.
4557
f74b0705
GM
4558 * lread.c (init_lread): Set Vloads_in_progress to nil.
4559 (Fload): Show list of recursively loaded files, when signaling an
4560 error.
4561
7ee3bd7b
GM
4562 * lread.c (Vloads_in_progress): New variable.
4563 (record_load_unwind): New function.
4564 (Fload): Check for recursive loads.
4565 (syms_of_lread): Initialize Vloads_in_progress.
4566 (read_integer, read1): Avoid some compiler warnings.
4567
4568 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
4569 compiler warnings.
4570
974e1e5b
MB
45712000-09-11 Miles Bader <miles@gnu.org>
4572
4573 * editfns.c (Fbuffer_string): Doc fix.
4574
9824c4e3
GM
45752000-09-10 Gerd Moellmann <gerd@gnu.org>
4576
4577 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
4578
6a72fdd1
KR
45792000-09-09 Ken Raeburn <raeburn@gnu.org>
4580
4581 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
4582 whether to include other header files.
4583
28e6fb66
GM
45842000-09-09 Gerd Moellmann <gerd@gnu.org>
4585
4586 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 4587 by Fmemq as a boolean.
28e6fb66 4588
7f8b6551
SM
45892000-09-08 Stefan Monnier <monnier@cs.yale.edu>
4590
4591 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
4592
a8710abf
GM
45932000-09-08 Gerd Moellmann <gerd@gnu.org>
4594
d1a02881
GM
4595 * ralloc.c (mmap_fd): Remove initializer which can make it
4596 read-only in a dumped Emacs.
4597 (mmap_fd_1): New variable.
4598 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
4599 restore it from there.
4600 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
4601 unconditionally so that mmap_fd can be initialized there.
4602 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
4603 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
4604 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
4605
c454aac1
GM
4606 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
4607
4608 * xdisp.c (dump_glyph_row): Fix printf format string.
4609 (display_line, move_it_in_display_line_to): Avoid compiler
4610 warnings.
4611
fc653ef2
GM
4612 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
4613
3015eec0
GM
4614 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
4615 inheritance.
4616
bfe0ee88
GM
4617 * xdisp.c (try_window_id): When trying to locate cursor in
4618 unchanged rows at the top, handle the case that we can't find it.
4619
a8710abf
GM
4620 * xterm.c (x_draw_glyphs): Handle case START and END are out
4621 of bounds more carefully.
4622
6b7d4ae4
DL
46232000-09-08 Dave Love <fx@gnu.org>
4624
423193c5
DL
4625 * s/sol2.h (REL_ALLOC_MMAP): Define.
4626 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
4627
4628 * ralloc.c: Don't include string.h (redundant).
4629 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
4630 [!MAP_ANON]: Include fcntl.h.
4631 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
4632 (r_alloc, r_re_alloc, r_alloc_free)
4633 (mmap_enlarge, mmap_set_vars): Use it.
4634 (r_alloc_init_fd): New function.
4635 (__morecore) [SYSTEM_MALLOC]: Don't declare.
4636 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
4637 malloc type.
4638
4639 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
4640 Remove vm-limit.o.
4641
6b7d4ae4
DL
4642 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
4643 change to __NetBSD__.
4644
44d31981
KH
46452000-09-08 Kenichi Handa <handa@etl.go.jp>
4646
4647 * search.c (compile_pattern): Check the multibyteness of cached
4648 string and PATTERN.
4649
aad40737
MB
46502000-09-08 Miles Bader <miles@gnu.org>
4651
4652 * xfaces.c (default_face_vector): Function removed.
4653 (Finternal_merge_in_global_face): Restore old global/local
4654 attribute override order. Use inline loop instead of calling
4655 default_face_vector.
4656
91a211b5
GM
46572000-09-07 Gerd Moellmann <gerd@gnu.org>
4658
4659 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
4660 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
4661 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
4662 where necessary, in case POINTER_TYPE is `void'.
4663
03419440
EZ
46642000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
4665
4666 * frame.c (make_terminal_frame): Initialize frame foreground and
4667 background colors to unspecified, for the initial instance of an
4668 MSDOS frame.
4669
f46f845b
GM
46702000-09-07 Gerd Moellmann <gerd@gnu.org>
4671
24f76fbf
GM
4672 * ralloc.c (mmap_find): Fix overlap computation.
4673 (mmap_enlarge): Compute nbytes before trying to find an
4674 overlapping region.
4675
f46f845b
GM
4676 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
4677 instead of `!='.
4678
4679 * lread.c (syms_of_lread): Change value of regexp
4680 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
4681
4682 * xmenu.c (xdialog_show): When looking up the selection in
4683 menu_items, take `quote' boundaries into account; this corresponds
4684 to a nil ITEM in x-popup-dialog.
4685
3c014385
KH
46862000-09-07 Kenichi Handa <handa@etl.go.jp>
4687
fd6f711b
KH
4688 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
4689 not 0x81.
4690 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
4691
3c014385 4692 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
4693 encoding, not decoding. Fix the handling of latin-jisx0201.
4694 Check for the charset katakana-jisx0201 too.
3c014385 4695 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 4696 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 4697
0da3ecef
GM
46982000-09-07 Gerd Moellmann <gerd@gnu.org>
4699
ab0ee409
GM
4700 * xfaces.c (Vparam_value_alist): New variable.
4701 (syms_of_xfaces): Initialize it.
4702 (Finternal_set_lisp_face_attribute): Avoid more consing.
4703
4704 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
4705 specially.
4706 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
4707 (Qbackground_mode): New variable.
4708 (syms_of_frame_1): Initialize Qbackground_mode.
4709
4710 * lisp.h (Qdisplay): Declare extern.
1091dd67 4711
0da3ecef
GM
4712 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
4713 change face on all frames, and change the default for new frames.
4714
b14654b9
DL
47152000-09-07 Dave Love <fx@gnu.org>
4716
4717 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
4718
d24fd56f
KH
47192000-09-07 Kenichi Handa <handa@etl.go.jp>
4720
794f3670
KH
4721 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
4722
0fddd0dc
KH
4723 * charset.c: Include composite.h
4724 (lisp_string_width): New function.
4725 (Fstring_width): Call lisp_string_width instead of strwidth.
4726
4727 * Makefile.in (charset.o): Depends on composite.h.
4728
d24fd56f
KH
4729 * process.c (read_process_output): Before inserting the decoded
4730 text in the buffer, adjust the multibyteness.
4731
fa0b693c
GM
47322000-09-06 Gerd Moellmann <gerd@gnu.org>
4733
73b77ee5
GM
4734 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
4735 buffer's text buffer is null, map new memory.
4736
0a58f946
GM
4737 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
4738 POINTER_TYPE and size_t.
4739 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
4740 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
4741 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
4742 [REL_ALLOC_MMAP]: New macros.
4743 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
4744 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
4745 [REL_ALLOC_MMAP]: New functions.
4746
4747 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
4748 before and after unexec.
4749
4750 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
4751 text buffers if necessary.
4752
4753 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
4754 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
4755 in prototypes.
4756
fa0b693c
GM
4757 * config.in (HAVE_MMAP): Add #undef.
4758
877055f6
GM
47592000-09-05 Gerd Moellmann <gerd@gnu.org>
4760
08ba3862
GM
4761 * frame.c (Qdisplay_type): New variable.
4762 (syms_of_frame_1): Initialize it.
4763 (Fframe_parameter): New function that avoids consing.
4764 (syms_of_frame): Defsubr it.
4765
66ffe51c
GM
4766 * buffer.c (Fother_buffer): Consider buffers as invisible when
4767 they are displayed in a window on an invisible frame.
4768
877055f6
GM
4769 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
4770 get-largest-window always return nil.
4771
bb970e67
GM
47722000-09-04 Gerd Moellmann <gerd@gnu.org>
4773
4774 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
4775 variable; recognize Emacs 19 elc files.
4776
7a3d0e0e
MB
47772000-09-04 Miles Bader <miles@gnu.org>
4778
4779 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
4780 before initially popping up the menu, so the menu doesn't flash
4781 when the face settings are significantly different from the
4782 defaults.
4783
14473664
SM
47842000-09-04 Stefan Monnier <monnier@cs.yale.edu>
4785
4786 * regex.c (WIDE_CHAR_SUPPORT): New macro.
4787 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
4788 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
4789 (BIT_UNIBYTE): Remove.
4790 (re_match_2_internal): Delete corresponding code and streamline the
4791 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
4792 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
4793 (re_wctype_t): New type.
4794 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
4795 (regex_compile): Use them and fix handling of overly long char classes.
4796
c1174479
AI
47972000-09-03 Andrew Innes <andrewi@gnu.org>
4798
f8803e97
AI
4799 * makefile.w32-in: Change to DOS line endings.
4800
c1174479
AI
4801 * s/ms-w32.h (ORDINARY_LINK): New define.
4802
4803 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
4804 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
4805
4806 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
4807 (distclean): Delete them here instead.
4808
44ef7cf6
AI
4809 * w32proc.c (compare_env): Convert to uppercase for comparison,
4810 not lowercase, to match how the native Windows shell works.
4811
49b3bd82
JR
48122000-09-03 Jason Rumney <jasonr@gnu.org>
4813
4814 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
4815 CVS changes the line-ends when checking in/out on DOS/Windows.
4816
4817 * makefile.nt (emacs): Do not change directory to run temacs, as
4818 the load-path is set relative to current directory.
4819
a3d35a39
MB
48202000-09-03 Miles Bader <miles@gnu.org>
4821
4822 * xterm.c (x_alloc_lighter_color_for_widget): New function.
4823
d276b0cf
GM
48242000-09-02 Gerd Moellmann <gerd@gnu.org>
4825
715e84c9
GM
4826 * xdisp.c (redisplay_mode_lines): New function.
4827 (display_mode_lines): Return number of mode lines displayed.
4828 (echo_area_display): Use redisplay_mode_lines to draw garbaged
4829 mode lines. Don't temporarily bind redisplay-dont-pause to t.
4830
8892f40b
GM
4831 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
4832 string.h and strings.h.
4833 (index) [HAVE_INDEX]: Add prototype.
4834
d276b0cf
GM
4835 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
4836 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
4837
4838 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
4839 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
4840
38404229
GM
48412000-09-01 Gerd Moellmann <gerd@gnu.org>
4842
4843 * lread.c (read1): Accept `?' as symbol constituent, for
4844 compatiblity with XEmacs.
4845
c0f9ea08
SM
48462000-08-31 Stefan Monnier <monnier@cs.yale.edu>
4847
4848 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
4849 (struct re_pattern_buffer): Remove newline_anchor.
4850 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
4851 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
4852 (re_max_failures, fail_stack): Use size_t rather than unsigned.
4853 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
4854 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
4855 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
4856 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
4857 Get rid of references to newline_anchor.
4858 (regcomp): Allocate and precompute a fastmap.
4859
8c0f83fe
GM
48602000-08-31 Gerd Moellmann <gerd@gnu.org>
4861
4862 * lread.c (openp): GCPRO local variable `filename'.
4863
4bb91c68
SM
48642000-08-30 Stefan Monnier <monnier@cs.yale.edu>
4865
4866 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
4867
4868 * regex.c: Merge some changes from GNU libc. Add prototypes.
4869 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
4870 Use memcmp and memcpy instead of bcopy and bcmp.
4871 (init_syntax_once): Use ISALNUM.
4872 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
4873 (REG_UNSET_VALUE): Remove. Use NULL instead.
4874 (REG_UNSET, re_match_2_internal): Use NULL.
4875 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
4876 New macros.
4877 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
4878 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
4879 (regex_compile): In handle_interval, return an error rather than try to
4880 unfetch the interval if we can't find the closing brace.
4881 Obey the RE_NO_GNU_OPS syntax bit.
4882 (TOLOWER): New macro.
4883 (regcomp): Use it.
4884 (regexec): Allocate regs.start and regs.end as one block.
4885
5226a931
GM
48862000-08-30 Gerd Moellmann <gerd@gnu.org>
4887
868dd24b
GM
4888 * xdisp.c (echo_area_display): Check display_completed instead
4889 of calling detect_input_pending.
4890
4891 * dispnew.c (update_frame): Only set display_completed here; move
4892 the update_begin and update_end calls here from update_frame_1.
4893 (update_frame_1): Don't set display_completed here, don't call
4894 update_begin/update_end.
4895
5226a931
GM
4896 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
4897 instead of store_frame_param.
4898
2a8bd25f
GM
48992000-08-29 Gerd Moellmann <gerd@gnu.org>
4900
4901 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
4902 desired window matrix hasn't been displayed, use the current row
4903 instead. Make sure that only those frame rows are updated for
4904 which there exists a corresponding enabled desired row.
4905
ba3478d9
MB
49062000-08-29 Miles Bader <miles@gnu.org>
4907
4908 * xfaces.c (default_face_vector): New function.
4909 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
4910
87d0f685
GM
49112000-08-29 Gerd Moellmann <gerd@gnu.org>
4912
4913 * lread.c (openp): Prevent temporary string passed to
4914 Ffile_readable_p from being garbage collected.
4915
6fa86045
DL
49162000-08-28 Dave Love <fx@gnu.org>
4917
4918 * keymap.c (store_in_keymap): Add `static' to declaration.
4919
bb17930d
GM
49202000-08-28 Gerd Moellmann <gerd@gnu.org>
4921
4922 * emacs.c, callint.c, doc.c, editfns.c
4923 (toplevel) [HAVE_STRING_H]: Include string.h.
4924 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
4925 (index): Remove prototypes which might conflict with non-standard
4926 definitions of index/strchr.
4927
4928 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
4929 (rindex): Define only if !HAVE_RINDEX.
4930
4931 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
4932
4933 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
4934
87188200
MB
49352000-08-28 Miles Bader <miles@gnu.org>
4936
4937 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
4938 made inconsistent by a font-related attribute in FROM.
4939 (merge_face_inheritance): Add function comment.
4940
41a68aef
KH
49412000-08-28 Kenichi Handa <handa@etl.go.jp>
4942
4943 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
4944 the 4th arg (PREV_EVENT) Qt to suppress input method.
4945
f7c436c1
SM
49462000-08-27 Stefan Monnier <monnier@cs.yale.edu>
4947
0b32bf0e
SM
4948 * regex.c: Indent cpp directives and remove parens after `defined'.
4949 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
4950 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
4951 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
4952 (re_compile_pattern): Use size_t for length.
4953 (init_syntax_once): Move to a better place.
4954 * regex.h: Merge changes from GNU libc. Indent cpp directives.
4955 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
4956
f7c436c1
SM
4957 * syntax.c (back_comment): Detect cases where a comment-starter is
4958 actually inside another comment as in: /* a // b */ c // d \n.
4959 Make it clear that `comstart_pos' is unused for nested comments.
4960
4961 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
4962 (KEYMAPP): New macro.
4963 (Fkeymap_parent, Fset_keymap_parent): Use it.
4964 (fix_submap_inheritance): Mark it static.
4965 (define_as_prefix, describe_buffer_bindings, describe_command)
4966 (describe_translation, describe_map): Complete prototypes.
4967
4968 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
4969
4970 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
4971 to better match the key-lookup behavior.
4972
6288c62f
GM
49732000-08-27 Gerd Moellmann <gerd@gnu.org>
4974
4975 * xfaces.c (lface_fully_specified_p): Handle :inherit.
4976 (Finternal_set_lisp_face_attribute): Fix typo in error message.
4977
e931344e
EZ
49782000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
4979
4980 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
4981 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
4982 (xterm.o): Depend on coding.h
4983
d10dfeef
KH
49842000-08-26 Kenichi Handa <handa@etl.go.jp>
4985
4986 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
4987 the corresponding '#endif'.
4988
2d73e8d3
MB
49892000-08-26 Miles Bader <miles@gnu.org>
4990
4991 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
4992 * xfaces.c (QCinherit): New variable.
4993 (syms_of_xfaces): Initialize it.
4994 (LFACE_INHERIT): New macro.
4995 (Finternal_get_lisp_face_attribute)
4996 (merge_face_vector_with_property)
4997 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
4998 (check_lface_attrs): Allow new types of face height. Check
4999 inherit attribute.
5000 (CYCLE_CHECK): New macro.
5001 (merge_face_inheritance): New function.
5002 (merge_face_vectors): Merge inherited faces too. Add F and
5003 CYCLE_CHECK arguments.
5004 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5005 (lookup_named_face, lookup_derived_face, realize_named_face)
5006 (face_at_string_position, face_at_buffer_position): Supply
5007 new F and CYCLE_CHECK arguments to merge_face_vectors.
5008 (merge_face_heights): New function.
5009 (merge_face_vectors, merge_face_vector_with_property)
5010 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5011 handle relative face heights.
5012 (lface_same_font_attributes_p): Compare heights using EQ.
5013
6ce974d4
KH
50142000-08-26 Kenichi Handa <handa@etl.go.jp>
5015
5016 * charset.c (char_to_string): Check the character validity.
5017 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
5018 0.
5019
dc1e502d
SM
50202000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5021
5022 * regex.c (PUSH_FAILURE_COUNT): New macro.
5023 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5024 Handle popping of a register's or a counter's data.
5025 (POP_FAILURE_POINT): Use the new name.
5026 (re_match_2_internal): Push counter data on the stack for succeed_n,
5027 jump_n and set_number_at and remove misleading dead code in succeed_n.
5028
bd9d0f3f
GM
50292000-08-25 Gerd Moellmann <gerd@gnu.org>
5030
5031 * xdisp.c (redisplay_internal): If considering all windows on all
5032 frames, update the display for each frame as soon as possible,
5033 instead of first building all desired matrices for all frames, and
5034 then updating them all.
5035 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5036
aa5b8e15
GM
50372000-08-24 Gerd Moellmann <gerd@gnu.org>
5038
17494071
GM
5039 * bytecode.c (mark_byte_stack): Add a comment.
5040
aa5b8e15
GM
5041 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5042 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
5043 a graphical frame.
5044
c543db81
KH
50452000-08-24 Kenichi Handa <handa@etl.go.jp>
5046
d246d5f5
KH
5047 * minibuf.c (do_completion): Always use compare-string, not
5048 string-equal because the latter doesn't pay attention to
5049 multibyteness of strings.
5050
c543db81
KH
5051 * process.c (create_process): Don't setup raw-text coding here.
5052 (Fopen_network_stream): Don't set coding->src_multibyte and
5053 coding->dst_multibyte here.
5054 (read_process_output): For process filter, return unibyte string
5055 if default-enable-multibyte-characters is nil.
5056 (send_process): If OBJECT is multibyte text, be sure to encoded it
5057 by the specified coding system for the process. Otherwise, setup
5058 raw-text coding.
5059 (init_process): Don't initialize default-process-coding-system
5060 here.
5061
9b47cfe0
EZ
50622000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5063
5064 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5065 <scroll-down-aggressively>: Likewise.
5066
f5a36960
KH
50672000-08-23 Kenichi Handa <handa@etl.go.jp>
5068
5069 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5070 zero. Set coding->produced_char correctly.
5071
69a7ffa7
AI
50722000-08-22 Andrew Innes <andrewi@gnu.org>
5073
5074 * makefile.w32-in: New file.
5075
5076 * unexw32.c (unexec): Ignore old_name, and use the actual location
5077 of the current executable instead. Base new_name on this.
5078
5079 * w32proc.c (create_child): Remove reference to security
5080 descriptor, which isn't needed and doesn't compile with mingw32.
5081
5082 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5083 up dllimport attributes.
5084 (x_update_window_end): Update prototype.
5085
5086 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5087 extern, which screws up dllimport attributes.
5088
5089 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5090 up dllimport attributes.
5091
5092 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5093 screws up dllimport attributes.
5094
5095 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5096 up dllimport attributes.
5097 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5098 screws up dllimport attributes.
5099
5100 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5101 up dllimport attributes.
5102
5103 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5104 screws up dllimport attributes.
5105
5106 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5107 screws up dllimport attributes.
5108
5109 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5110 up dllimport attributes.
5111
5112 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5113 unnecessary extern, which screws up dllimport attributes.
5114 (main): Ditto.
5115
5116 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5117 up dllimport attributes.
5118
5119 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5120 unnecessary extern, which screws up dllimport attributes.
5121
5122 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5123 screws up dllimport attributes.
5124
5125 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5126 up dllimport attributes.
5127
5128 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5129
5130 * w32bdf.c (search_file_line):
5131 (set_bdf_font_info):
5132 (seek_char):
5133 (w32_get_bdf_glyph):
5134 (w32_BDF_to_x_font): Fix compile warnings.
5135
5136 * w32menu.c: Include keyboard.h before frame.h. Fix compile
5137 warnings.
5138
5139 * w32select.c: Include keyboard.h before frame.h.
5140
5141 * w32fns.c (max): Define macro.
5142 (JOHAB_CHARSET): Define if not known.
5143 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5144 (Fx_show_tip): Synch with X version.
5145
5146 * w32xfns.c: Include keyboard.h before frame.h.
5147
5148 * w32fns.c: Include keyboard.h before frame.h.
5149
5150 * w32term.c: Include keyboard.h before frame.h.
5151
5152 * fontset.c: Include keyboard.h before frame.h.
5153
5154 * w32inevt.c: Include keyboard.h before frame.h.
5155 (MOUSE_MOVED): Define if not known.
5156
5157 * minibuf.c: Include keyboard.h before frame.h.
5158
5159 * keyboard.c: Include keyboard.h before frame.h.
5160
5161 * indent.c: Include keyboard.h before frame.h.
5162
5163 * dispnew.c: Include keyboard.h before frame.h.
5164
5165 * buffer.c: Include keyboard.h before frame.h.
5166
5167 * alloc.c: Include keyboard.h before frame.h.
5168
5169 * print.c: Include keyboard.h before frame.h.
5170
5171 * process.c: Include keyboard.h before frame.h.
5172
5173 * scroll.c: Include keyboard.h before frame.h.
5174
5175 * sysdep.c: Include keyboard.h before frame.h.
5176
5177 * term.c: Include keyboard.h before frame.h.
5178
5179 * window.c: Include keyboard.h before frame.h.
5180
5181 * xdisp.c: Include keyboard.h before frame.h.
5182 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5183
5184 * frame.c: Include keyboard.h before frame.h.
5185
5186 * w32heap.h: Undefine min, max.
5187
5188 * w32gui.h: Undefine min, max.
5189
5190 * unexw32.c: Change PUCHAR to PCHAR.
5191 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
5192 (relocate_offset):
5193 (get_section_info):
5194 (copy_executable_and_dump_data): Remove unnecessary static defs.
5195 (copy_executable_and_dump_data): Fix compile warnings.
5196
5197 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5198
5199 * w32console.c (min): Define macro.
5200 (clear_frame, write_glyphs): Fix compile warning.
5201
5202 * w32proc.c (compare_env):
5203 (find_child_console): Fix compile warning.
5204
5205 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5206 sys_errlist instead of _sys_errlist.
5207 (get_emacs_configuration_options): New function.
5208
5209 * s/ms-w32.h (sys_nerr): Provide default definition.
5210 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5211 name with _ prepended.
5212 (NSIG): Define if not known.
5213 (get_emacs_configuration): Provide extern declaration.
5214 (get_emacs_configuration_options): Provide extern declaration.
5215 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5216
5217 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
5218 (map_w32_filename):
5219 (read_unc_volume): Fix compile warning.
5220
5221 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5222 definitions from being used.
5223
5224 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5225
5226 * w32.c (unc_volume_file_attributes):
5227 (open_unc_volume): Make arg const.
5228
5229 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5230 (read_input_waiting): Remove excess parameter.
5231
5232 * w32.c (init_environment): Call _access.
5233 (check_windows_init_file): Call _close.
5234 (init_user_info): Call _putenv.
5235 (init_environment): Call _putenv and _strdup.
5236 (init_ntproc): Reset volume info cache on startup.
5237
5238 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5239 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5240 cannot override the CRT malloc.
5241
5242 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5243 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5244
5245 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5246 unless we are linking with a static CRT.
5247 (RVA_TO_PTR): Cast result to unsigned char*.
5248
5249 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5250 (add_volume_info): Use xstrdup.
5251
25060080
SM
52522000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5253
5254 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5255 (do_completion, Fminibuffer_complete_word): Use it.
5256 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5257 var so it can take non-boolean values.
5258
6917e6bb
GM
52592000-08-21 Gerd Moellmann <gerd@gnu.org>
5260
acb7cc89
GM
5261 * editfns.c (find_field): Formatting changes.
5262 (toplevel): Some old-style function forward declarations
5263 changed to prototypes, some new protypes added, some functions
5264 made static.
5265
5266 * lisp.h (set_time_zone_rule): Add prototype.
5267 (use_dialog_box): External declaration.
5268
0bbfdc25
GM
5269 * keyboard.c (gen_help_event): Add parameter SIZE.
5270 (kbd_buffer_events_waiting): Slightly rewritten.
5271 (clear_event): New function.
5272 (kbd_buffer_get_event): Use it, and clear the input_events of
5273 HELP_EVENTs.
5274 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5275 don't fill the newly created array with nils.
5276 (toplevel): Convert some old-style function forward declarations
5277 to prototypes.
5278
5279 * keyboard.h (gen_help_event): Change prototype.
5280
5281 * xterm.c (XTread_socket): Change calls to gen_help_event.
5282
5283 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5284
6917e6bb
GM
5285 * eval.c (Fmacroexpand): Doc fix.
5286
e5cd3d11
JR
52872000-08-20 Jason Rumney <jasonr@gnu.org>
5288
5289 * w32term.h (x_display_info_for_display): Remove as this function
5290 does not exist on W32.
5291
5292 * w32term.c (help_echo_window): New variable.
5293 (syms_of_w32term): staticpro it.
5294 (note_mode_line_highlight): Set it.
5295 (XTextExtents16): Removed as there is no equivalent on W32.
5296 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5297 the X way of doing this will not work for W32.
5298 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5299 (x_draw_image_foreground): Avoid drawing outside of the clip area
5300 when image doesn't have a mask.
5301 (note_mouse_highlight): Process overlays in the right order of
5302 priority. Set help_echo_window.
5303 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5304 because that's more visible for large images.
5305
5306 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5307 name to single_keymap_panes.
5308 (w32_menu_show): Set wv->title when dealing with titles.
5309 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5310
6e69ab8c
MB
53112000-08-21 Miles Bader <miles@gnu.org>
5312
5313 * minibuf.c (do_completion): Try again if we rewrite the input
5314 string, but no completion was done, so that any completion message
5315 will be correct.
5316
511bd4eb
GM
53172000-08-20 Gerd Moellmann <gerd@gnu.org>
5318
5319 * xfaces.c (lface_equal_p): Compare strings differently.
5320 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5321 (realize_tty_face): Use them.
5322 (syms_of_xfaces): Initialize new variables.
5323 (map_tty_color): New function, extracted from realize_tty_face.
5324 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5325 foreground or background color, store the new color name in the
5326 realized face; previous code trying to do this had no effect.
5327 (realize_tty_face): Use map_tty_color.
5328 (Fclear_face_cache): Set face_change_count and ensure thorough
5329 redisplay.
5330
1433385f
GM
53312000-08-19 Gerd Moellmann <gerd@gnu.org>
5332
511bd4eb
GM
5333 * undo.c (record_first_change, record_marker_adjustment): Don't
5334 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5335
419ac0a2
KH
53362000-08-18 Kenichi Handa <handa@etl.go.jp>
5337
5338 * coding.c (decode_coding_string): Set members consumed,
5339 consumed_char, produced, produced_char of *coding correctly. If
5340 decode_coding doesn't consume any byte, don't try anymore.
5341 (encode_coding_string): Likewise.
5342
7eb9e30d
GM
53432000-08-18 Gerd Moellmann <gerd@gnu.org>
5344
511bd4eb
GM
5345 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5346 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5347
5348 * xdisp.c (redisplay_internal): Compare windows for equality with
5349 EQ, instead of applying XWINDOW to something that might not
5350 be a window.
5351
dd34a735
KH
53522000-08-18 Kenichi Handa <handa@etl.go.jp>
5353
5354 * fontset.c (Finternal_char_font): Search only the selected frame
5355 for a window of the current buffer.
5356
385ff9e3
GM
53572000-08-18 Gerd Moellmann <gerd@gnu.org>
5358
511bd4eb 5359 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5360 Lisp_Objects.
5361
385ff9e3
GM
5362 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5363 second half of a HELP_EVENT is found at the start of kbd_buffer.
5364
d6abb4c7
MB
53652000-08-18 Miles Bader <miles@gnu.org>
5366
4618074a
MB
5367 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5368
d6abb4c7
MB
5369 * editfns.c (save_restriction_save): Rewrite to use markers.
5370 (save_restriction_restore): Rewrite to understand new form of data
5371 saved by save_restriction_save.
5372 (Fsave_restriction): Remove cautionary note in doc-string.
5373
a7b28523
GM
53742000-08-17 Gerd Moellmann <gerd@gnu.org>
5375
5376 * fileio.c (build_annotations): Add a comment explaining the
5377 return value of format-annotate-function. Replace a spurious call
5378 to Flength with a CONSP test. Call format-annotate-function with
5379 a fifth arg specifying how many times the function is been called
5380 in a row, to let it choose temporary buffers appropriately.
5381
03c9ed77
DL
53822000-08-17 Dave Love <fx@gnu.org>
5383
5384 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5385 declare make_temp_name twice.
5386
5387 * lread.c: Prototype readevalloop, load_unwind,
5388 load_descriptor_unwind.
5389 (unreadpure): Give it an arg.
5390
5391 * unexalpha.c: Prototype fatal_unexec, mark_x,
5392 update_dynamic_symbols. Declare unexec as void.
5393
5394 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5395 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5396
5397 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
5398 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
5399 DOUG_LEA_MALLOC.
5400
5401 * alloca.c: Use #error.
5402 [POINTER_TYPE]: Use it.
5403
5404 * eval.c (Fdefvar): Doc fix.
5405
5406 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5407 INITIALIZE_INTERVAL.
5408
5409 * buffer.h: Avoid DECLARE_INTERVALS.
5410
5411 * config.in: Add size_t.
5412
aae41d97
EZ
54132000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5414
5415 * w16select.c (set_clipboard_data): If there's not enough memory
5416 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5417 expects. In case of other failures, return 3.
5418 (system_error_msg): New error message.
5419 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5420 system_error_msg.
5421
65aa5e85
GM
54222000-08-16 Gerd Moellmann <gerd@gnu.org>
5423
5424 * term.c (write_glyphs): Also turn off inverse video after turning
5425 off other appearances in case TS_exit_attribute_mode is not equal
5426 to TS_end_standout_mode.
5427 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5428 with the same face.
5429 (turn_off_face): Reset standout_mode only if
5430 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5431 is equal to TS_end_standout_mode.
5432
ece23901
KH
54332000-08-16 Kenichi Handa <handa@etl.go.jp>
5434
9d7bcb2e
KH
5435 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5436 sequence at the end of the source block.
5437
ece23901
KH
5438 * ccl.c (Fccl_program_p): Docstring modified.
5439 (Fccl_execute): Likewise.
5440 (Fccl_execute_on_string): Likewise.
5441
5e30eaa2
EZ
54422000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5443
5444 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5445
290602fd
KH
54462000-08-16 Kenichi Handa <handa@etl.go.jp>
5447
5448 The following changes are mainly to fix bugs of
5449 encode/decode-coding-string failing if encoding/decoding return
5450 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5451 variable conversion_buffer.
5452
5453 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5454 decrement dst_end to avoid buffer overflow in the later call of
5455 string_as_multibyte
5456
5457 * coding.h (conversion_buffer_size, conversion_buffer)
5458 (get_conversion_buffer): Extern deleted.
5459
5460 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5461 (conversion_buffer, conversion_buffer_size): Variables deleted.
5462 (get_conversion_buffer): Function deleted.
5463 (struct conversion_buffer): New structure.
5464 (MAX_ALLOCA): New macro.
5465 (allocate_conversion_buffer): New macro.
5466 (extend_conversion_buffer, free_conversion_buffer): New functions.
5467 (ccl_coding_driver): Set coding->result.
5468 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5469 this is the last block of source.
5470 (encode_coding): Likewise. Handle the source block as the last
5471 one only when the whole source text is consumed.
5472 (decode_coding_string): Handle the case that the output buffer is
5473 too small to decode the whole source text. Use
5474 allocate_conversion_buffer, extend_conversion_buffer and
5475 free_conversion_buffer, not get_conversion_buffer.
5476 (encode_coding_string): Likewise.
5477 (init_coding): Function deleted.
5478 (init_coding_once): Delete code to initialize
5479 conversion_buffer_size.
5480
5481 * emacs.c (main): Don't call init_coding.
5482
5483 * msdos.c (IT_write_glyphs): Use a locally declared
5484 conversion_buffer.
5485
5486 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5487 (insert_glyphs): Likewise.
5488
5489 * w32console.c (write_glyphs): Use a locally declared
5490 conversion_buffer.
5491
b9f80d41
EZ
54922000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5493
5494 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5495 member of display_info is NULL.
5496
32dc52f7
GM
54972000-08-15 Gerd Moellmann <gerd@gnu.org>
5498
58ed0d3b
GM
5499 * alloc.c (compact_small_strings): Use safe_bcopy, add an
5500 assertion.
5501
32dc52f7 5502 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5503 appearances with capability `me'.
32dc52f7
GM
5504 (write_glyphs): Switch on inverse video before each face change.
5505
4eb22d33
DL
55062000-08-14 Dave Love <fx@gnu.org>
5507
5508 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5509 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5510 (lisp_free): Declare and make static.
5511
5512 * window.c: Fix embedded comment.
5513 (syms_of_window): Fix doc string.
5514
90cbf47e
GM
55152000-08-14 Gerd Moellmann <gerd@gnu.org>
5516
5517 * keymap.c (push_key_description): If C without modifiers is < 32,
5518 make sure to print `C-' before `M-', like in the manual.
5519
440fc135
GM
55202000-08-11 Gerd Moellmann <gerd@gnu.org>
5521
5522 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
5523 since they aren't relocated anymore.
5524 (sxhash_string): Make sure returned hash code fits in a Lisp
5525 integer.
5526
5527 * xdisp.c (try_cursor_movement): Fix handling of cursor in
5528 partially visible line which is smaller than the window's
5529 height.
5530
6e264fad
KH
55312000-08-11 Kenichi Handa <handa@etl.go.jp>
5532
5533 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
5534 the multibyte form of eight-bit-control characters.
5535 (Fccl_execute_on_string): Initialize ccl->multibyte.
5536
5537 * ccl.h (struct ccl_program): New member multibyte.
5538
5539 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
5540
c371f69a
KH
55412000-08-11 Kenichi Handa <handa@etl.go.jp>
5542
5543 * regex.c (regex_compile) <normal_char>: Pay attention to
5544 multibyteness.
5545 (analyse_first) <exactn>: Setup fastmap correctly for
5546 eight-bit-control characters.
5547
55482000-08-11 Kenichi Handa <handa@etl.go.jp>
5549
5550 * termhooks.h (enum event_kind): New member
5551 multibyte_char_keystroke.
5552
5553 * keyboard.c (make_lispy_event): Handle the new event type
5554 multibyte_char_keystroke.
5555
5556 * xterm.c: Include coding.h.
5557 (XTread_socket): Work around a bug of XmbLookupString. If the
5558 input is from XIM, decode it according to the current locale. In
5559 that case, generate multibyte_char_keystroke events.
5560
b8ddbe71
KH
55612000-08-11 Kenichi Handa <handa@etl.go.jp>
5562
5563 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
5564 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
5565
47589c8c
GM
55662000-08-10 Gerd Moellmann <gerd@gnu.org>
5567
5568 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
5569 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
5570 (move_it_in_display_line_to): Record iterator's ascent and descent
5571 before producing glyphs, and restore them when we know the glyph
5572 doesn't fit on the line.
5573 (move_it_to): Restructured so that it's easier to debug. If
5574 moving to a vpos, and not moving to an x or character position,
5575 stop as soon as the specified vpos is reached; don't move further
5576 into that line because that might change the computed line height.
5577 (try_cursor_movement): New function, extracted from the cursor
5578 movement branch of redisplay_window. If ending on a partially
5579 visible line, don't try to scroll if the cursor line is taller
5580 than the window.
5581 (redisplay_window): Use try_cursor_movement.
5582
5583 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
5584 because that function doesn't cope with variable-height lines.
5585
5586 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
5587 box cursor because that's better visible for large images.
5588
c51bacd6
MB
55892000-08-10 Miles Bader <miles@gnu.org>
5590
5591 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
5592
bea56df7
GM
55932000-08-10 Gerd Moellmann <gerd@gnu.org>
5594
5595 * xdisp.c (Vmessages_buffer_name): New variable.
5596 (message_dolog): Use it.
5597 (syms_of_xdisp): Initialize it.
5598
99cd7364
EZ
55992000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
5600
5601 * msdos.c (IT_note_mouse_highlight): Update the calls to
5602 overlays_at.
5603 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
5604 redundant now that keyboard.h is included.
5605
7d093d56
EZ
56062000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
5607
5608 * keyboard.c (kbd_buffer_events_waiting): New function.
5609
5610 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
5611
5612 * msdos.c: Include keyboard.h.
5613 (XMenuActivate): Empty no_event events from the event buffer. If
5614 no events are left after that, call clear_input_pending.
5615 (mouse_clear_clicks): New function, code moved from mouse_init.
5616 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
5617 mouse driver to ``forget'' any past clicks.
5618
5619 * Makefile.in (msdos.o): Depend on keyboard.h.
5620
41e757a6
GM
56212000-08-09 Gerd Moellmann <gerd@gnu.org>
5622
8e7bd231
GM
5623 * lisp.h (input_pending): External declaration.
5624
5625 * dispextern.h (Qredisplay_dont_pause): Declare extern.
5626
5627 * xdisp.c (echo_area_display): Display thoroughly if input is
5628 pending. Bind redisplay-dont-pause to t during the redisplay.
5629 in case input is pending.
5630
5631 * dispnew.c (Qredisplay_dont_pause): New variable.
5632 (syms_of_display): Initialize and staticpro it.
5633 (update_frame_1): Don't interrupt the display for pending input if
5634 redisplay_dont_pause is set.
5635
43028b7e
GM
5636 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
5637
41e757a6
GM
5638 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5639
2f2174fa
KH
56402000-08-09 Miles Bader <miles@lsi.nec.co.jp>
5641
5642 * callproc.c (Fcall_process): Terminate the unwind-protect around
5643 the post-read-conversion of coding system.
5644
0a6fd67e
MB
5645 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
5646 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
5647 * buffer.h (overlays_at): Update prototype.
5648 * xdisp.c (next_overlay_change): Update call to overlays_at.
5649 * xfaces.c (face_at_buffer_position): Likewise.
5650 * textprop.c (Fget_char_property): Likewise.
5651 * xterm.c (note_mouse_highlight): Likewise.
5652
0c80756e
MB
5653 * minibuf.c (do_completion): Don't consider a simple change of
5654 case as `completion'.
5655
975f250a
KR
56562000-08-08 Ken Raeburn <raeburn@gnu.org>
5657
b347b3fd
KR
5658 * keyboard.c (syms_of_keyboard): Initialize
5659 last_point_position_buffer.
5660 * undo.c (record_delete): Make sure last_point_position_buffer is
5661 a buffer before comparing pointers.
5662
5663 * coding.h (decode_coding_string): Declare.
5664
5665 * intervals.h (Fprevious_single_char_property_change): Declare.
5666
5667 * textprop.c (Fprevious_single_char_property_change): Don't do
5668 arithmetic directly on lisp objects.
5669
25ad1371 5670 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
5671 objects.
5672
5673 * keyboard.h (menu_item_eval_property): Declare.
5674
5675 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
5676 reuse as buffer name, instead of recreating (and discarding) every
5677 time a message is logged.
5678 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
5679 (current_message_1, truncate_message_1, set_message_1)
5680 (display_echo_area_1, resize_mini_window_1): Signatures changed.
5681 (current_message, truncate_echo_area, display_echo_area)
5682 (resize_echo_area_axactly): Changed calls.
b347b3fd 5683
975f250a 5684 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 5685 Lisp object.
975f250a 5686 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 5687 must be an integer, not a Lisp object.
975f250a 5688
46dc9912
KH
56892000-08-08 Kenichi Handa <handa@etl.go.jp>
5690
5691 * charset.c (Fchar_width): Doc fix.
5692
9f6d1a6c
GM
56932000-08-08 Gerd Moellmann <gerd@gnu.org>
5694
5695 * charset.c (Fstring_width): Doc fix.
5696
ff3d9573
GM
56972000-08-07 Gerd Moellmann <gerd@gnu.org>
5698
41e757a6 5699 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
5700 line, clear ascent and descent members of the iterator structure;
5701 the height of the continued line does not affect the height of the
5702 continuation line.
5703 (make_cursor_line_fully_visible): Do nothing if cursor is on a
5704 line taller than the window.
5705 (redisplay_window) <forced window start>: Handle case that the
5706 middle of the window is not found in any row.
5707 (dump_glyph_row): Show more information.
5708 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
5709 first text line in a glyph matrix.
5710
5711 * xterm.c (x_draw_image_foreground): Avoid drawing outside
5712 of the clip area when image doesn't have a mask.
5713
70fc58b3
GM
5714 * fns.c (sweep_weak_table): Fix survival conditions for
5715 key-or-value and key-and-value weakness.
5716
5717 * .gdbinit (xhashtable): New command.
5718
ac0e96ee
GM
5719 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
5720 tables out of the list of all weak hash tables.
5721
ff3d9573
GM
5722 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
5723 a new buffer is created, make sure echo_area_buffer[] references
5724 the new buffer.
5725
e0d8827b
EZ
57262000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
5727
5728 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
5729 the doc string.
5730
c6f35378
KH
57312000-08-07 Kenichi Handa <handa@etl.go.jp>
5732
5733 * syntax.c (skip_chars): Fix previous change. Make the handling
5734 of unibyte string consistent with that of regex search.
5735
1fd4c450
GM
57362000-08-05 Gerd Moellmann <gerd@gnu.org>
5737
e49aa397
GM
5738 * xmenu.c (popup_get_selection): Use xfree instead of free.
5739
5740 * fileio.c (Finsert_file_contents): Use xfree instead of free.
5741
5742 * editfns.c (Ftranspose_regions): Use xfree instead of free.
5743
5744 * callproc.c (child_setup): Use xfree instead of free.
5745
5746 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
5747 instead of malloc.
5748 (run_mac_command, closedir): Use `xfree' instead of `free'.
5749
5750 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
5751
5752 * eval.c (error): Use xfree instead of free.
5753
1fd4c450
GM
5754 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
5755
5756 * fns.c: Replace `illegal' with `invalid'.
e49aa397 5757 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 5758
82d497fc
KH
57592000-08-05 Kenichi Handa <handa@etl.go.jp>
5760
5761 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
5762 conversion.
5763
59f953a2
NF
57642000-08-04 Noah Friedman <friedman@splode.com>
5765
5766 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
5767 docstring.
5768
688351f2
GM
57692000-08-04 Gerd Moellmann <gerd@gnu.org>
5770
5771 * syntax.c (skip_chars): Fix typo in error message.
5772
2dad51cc
AS
57732000-08-04 Andreas Schwab <schwab@suse.de>
5774
5775 * m/ia64.h: Moved from s/ia64.h.
5776
99bb2c60
KH
57772000-08-04 Kenichi Handa <handa@etl.go.jp>
5778
082a1df2
KH
5779 * process.c (read_process_output): Big simplification. Handle
5780 composition and post-read-conversion of coding system correctly.
5781 (send_process): Handle composition correctly.
5782
5783 * callproc.c (Fcall_process): Handle post-read-conversion of
5784 coding system if any.
5785
99bb2c60
KH
5786 * coding.c (decode_coding_iso2022): More strict check for handling
5787 single shifting.
082a1df2
KH
5788 (coding_restore_composition): Pay attention to the case that
5789 cmp_data is not set properly (because of invalid code in the
5790 source text).
5791 (run_pre_post_conversion_on_str): Include text properties in the
5792 resulting string.
5793 (decode_coding_string): Set members of coding correctly.
99bb2c60 5794
f4988be7
GM
57952000-08-03 Gerd Moellmann <gerd@gnu.org>
5796
5797 * s/ia64.h: New file.
5798
5799 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
5800 Use NULL instead of 0 at the end of variable argument list of
5801 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
5802 sizeof (int) < sizeof (void *).
5803
5804 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
5805 of variable argument lists of XtVaGetValues and XtVaSetValues.
5806
5807 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
5808 variable argument lists of XtVaGetValues and XtVaSetValues.
5809
ead53494
GM
58102000-08-02 Gerd Moellmann <gerd@gnu.org>
5811
5812 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
5813 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
5814
5815 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
5816 prototype.
5817
5818 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
5819 in call to Fsingle_key_description.
5820
5821 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
5822 Callers changed.
5823
58242000-08-02 Colin Walters <walters@cis.ohio-state.edu>
5825
5826 * window.c (display_buffer_reuse_frames): New variable.
5827 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
5828 frames displaying BUFFER.
5829 (syms_of_window): Define Lisp variable
5830 display-buffer-reuse-frames.
5831
10b0f752
MB
58322000-08-01 Miles Bader <miles@gnu.org>
5833
5834 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
5835 when to constrain NEW_POS (they were pretty screwed up before).
5836
16425c4a
EZ
58372000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
5838
5839 * msdos.c (run_msdos_command): Save and restore the master
5840 environment, for the case that child_setup signals an error.
5841 When mirroring slashes in DOS shell commands, don't fail when
5842 argv[2] has embedded blanks.
da288c14
EZ
5843 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
5844 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
5845 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
5846
5847 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
5848 using alloca; free it after run_msdos_command returns.
5849
27f73852
DL
58502000-07-27 Dave Love <fx@gnu.org>
5851
5852 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
5853 define.
5854 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
5855 working.
5856
5857 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
5858
c0261b5e
EZ
58592000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
5860
5861 * editfns.c (lisp_time_argument): Fix last change.
5862
b548072f
GM
58632000-07-27 Gerd Moellmann <gerd@gnu.org>
5864
3ab82477
GM
5865 * fns.c (Fdelete): Make it work on vectors and strings in addition
5866 to lists.
5867
b548072f
GM
5868 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
5869 (syms_of_fns): Initialize new variables.
5870 (sweep_weak_table): Handle weakness `key-or-value' and
5871 `key-and-value'.
5872 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
5873 weakness, with t meaning the same as `key-and-value'.
5874
91ae8751
KH
58752000-07-27 Kenichi Handa <handa@etl.go.jp>
5876
5877 * coding.h (struct coding_system): Member safe_charset deleted.
5878
5879 * coding.c (Qsafe_charsets): This variable deleted.
5880 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
5881 variables.
5882 (coding_safe_chars): New function.
5883 (CODING_SAFE_CHAR_P): New macro.
5884 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
5885 checking safe_charsets member of the coding system. Caller
5886 changed.
5887 (detect_coding_iso2022): New local variable safe_chars.
5888 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
5889 safe_charsets member of the coding system.
5890 (decode_coding_iso2022): New local variable safe_chars.
5891 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
5892 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
5893 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
5894 (ENCODE_UNSAFE_CHARACTER): New macro.
5895 (encode_coding_iso2022): New local variable safe_chars. Check
5896 unsafe chars.
5897 (setup_coding_system): Delete the code to initialize
5898 coding->safe_charses
5899 (intersection, find_safe_codings): New functions.
5900 (Ffind_coding_systems_region_internal): New function.
5901 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
5902 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
5903 variable and initialize it.
5904
5905 * fns.c (char_table_ref_and_index): New function.
5906
5907 * lisp.h (char_table_ref_and_index): Add prototype.
5908
34a7a267
SS
59092000-07-26 Sam Steingold <sds@gnu.org>
5910
5911 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 5912 (Ffloat_time): New built-in Lisp function.
34a7a267 5913
a95cb10a
GM
59142000-07-26 Gerd Moellmann <gerd@gnu.org>
5915
3353ef5a
GM
5916 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
5917 for the character code.
5918
5919 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
5920 GNU/Linux.
5921
a95cb10a
GM
5922 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
5923 if called for a popup menu.
5924 (xmenu_show): Store help string in widget values.
5925
b4a12321
DL
59262000-07-26 Dave Love <fx@gnu.org>
5927
5928 * syswait.h: Move some definitions.
5929 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
5930 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
5931 perspicuous definitions.
5932 (WTERMSIG): Fix bit pattern used.
5933
13f5ad37
KH
59342000-07-26 Kenichi Handa <handa@etl.go.jp>
5935
5936 * print.c (print_object): If vector printing is truncated, print
5937 "..." to indicate it as well as the case of list printing.
5938
070fe99c
GM
59392000-07-25 Gerd Moellmann <gerd@gnu.org>
5940
969065c3
GM
5941 * xdisp.c (next_element_from_display_vector): Improve comments.
5942
5943 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
5944 for the character code, and the rest for the face id as in 20.x.
5945 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
5946
5947 * window.c (window_display_table): Cleaned up.
5948
070fe99c
GM
5949 * syntax.c (Fforward_word): Add last arg nil in call of
5950 Fconstrain_to_field.
5951
bad77ef7
EZ
59522000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
5953
969065c3 5954 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
5955 identical but for the letter-case, don't call
5956 barf_or_query_if_file_exists.
5957
c28da489
MB
59582000-07-25 Miles Bader <miles@gnu.org>
5959
5960 * editfns.c (find_field): Honor special `boundary' fields.
5961 (Qboundary): New variables.
5962 (syms_of_editfns): Initialize Qboundary.
5963 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
5964 Use scan_buffer instead of find_before_next_newline, because it
5965 allows us to detect the boundary case where there's a newline at
5966 the search limit.
5967 * lisp.h (Fconstrain_to_field): Update external declaration.
5968
e3c31fd5
GM
59692000-07-24 Gerd Moellmann <gerd@gnu.org>
5970
5971 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
5972 if that is nil.
c28da489 5973
c66c29a2
DL
59742000-07-24 Dave Love <fx@gnu.org>
5975
5976 * s/sunos4-0.h, s/sol2.h:
5977 (LIBS_TERMCAP): Move from m/sparc.h.
5978
5979 * m/sparc.h (TERMINFO): Moved to system files (probably only
5980 relevant for sunos4 judging by its vintage).
5981 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
5982 __arch64__.
5983
fbe0a958
EZ
59842000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
5985
5986 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
5987 name to single_keymap_panes.
5988
7d88e5c9
AS
59892000-07-24 Andreas Schwab <schwab@suse.de>
5990
5991 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
5992
e024b101
GM
59932000-07-24 Gerd Moellmann <gerd@gnu.org>
5994
5995 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
5996 parameters instead of using int parameters. Expect FN to accept
5997 EMACS_INT parameters.
5998 (display_echo_area, resize_echo_area_axactly, current_message)
5999 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6000 with new argument list.
6001 (resize_mini_window_1): New callback function.
6002 (current_message_1, truncate_message_1, set_message_1): Change
6003 parameter lists to the new format expected by
6004 with_echo_area_buffer.
6005
25c1a9ce
KH
60062000-07-24 Kenichi Handa <handa@etl.go.jp>
6007
6008 * fontset.c (fontset_ref): Remove INLINE declaration.
6009 (fontset_ref_via_base): Likewise.
6010 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6011 to downcase.
6012
7f987ac0
EZ
60132000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6014
6015 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6016 correct order of priority. If help echo was found in an overlay,
6017 use that overlay as the object in which the help echo was found.
6018
e2db3069
MB
60192000-07-22 Miles Bader <miles@gnu.org>
6020
6021 * textprop.c (Fprevious_single_char_property_change): The initial
6022 property value should be from the position preceding POSITION, not
6023 following it.
6024
5e3203e4
EZ
60252000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6026
6027 * coding.c (syms_of_coding): Doc fix for
6028 inhibit-iso-escape-detection.
6029
62145073
GM
60302000-07-21 Gerd Moellmann <gerd@gnu.org>
6031
c20aeb83
GM
6032 * xterm.c (note_mouse_highlight): Process overlays in the right
6033 order of priority.
34a7a267 6034
743934db
GM
6035 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6036
6037 * xterm.c (note_mouse_highlight): If help-echo was found in an
6038 overlay, use that overlay as the object in which the help was
6039 found.
6040
d1dc7e43 6041 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6042
62145073
GM
6043 * window.c (foreach_window): Instead of a fake variable argument
6044 list, take one USER_DATA argument.
6045 (foreach_window_1): Likewise, and call callback functions with two
6046 args, the window and USER_DATA.
6047 (struct check_window_data): New struct.
6048 (check_window_containing): Use it.
6049 (window_from_coordinates): Set up a struct check_window_data for
6050 foreach_window.
6051 (add_window_to_list, freeze_window_start): Change parameters
6052 according to new calling convention.
6053
6054 * window.h (foreach_window): Change prototype.
6055
6056 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6057
60582000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6059
6060 * xmenu.c (menu_help_callback): Call show_help_echo with
6061 additional arguments OBJECT and POS.
6062
11270583
KH
60632000-07-21 Kenichi Handa <handa@etl.go.jp>
6064
07b14857
KH
6065 * data.c (Faset): Allow storing any multibyte character in a
6066 string. Convert unibyte string to multibyte if necessary.
6067
11270583
KH
6068 * xfns.c (x_encode_text): New function.
6069 (x_set_name): Use x_encode_text.
6070 (x_set_title): Likewise.
6071
6072 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6073
6074 * xterm.h (x_encode_text): Add prototype.
6075
bc75b4fd
DL
60762000-07-20 Dave Love <fx@gnu.org>
6077
6078 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6079 xfree, not free.
6080
48c14970
EZ
60812000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6082
6083 * msdos.c (help_echo_window): New variable.
6084 (syms_of_msdos): Initialize and staticpro it.
6085 (IT_note_mode_line_highlight): Set help_echo_window.
6086 (IT_note_mouse_highlight): Ditto.
6087 (dos_rawgetc): Store help_echo_window in the second event produced
6088 for HELP_EVENTs.
6089
6090 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6091 Record the object that generated the help echo and the position of
6092 that object in help_echo_object and help_echo_pos. Record that
6093 some glyphs in a row are displayed in mouse-face.
6094 (IT_update_begin): Don't clear mouse highlight unless one of the
6095 enabled glyph rows is marked as being displayed in mouse-face.
6096 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6097 and position recorded in help_echo_object and help_echo_pos to the
6098 event queue.
6099 (IT_menu_display): Accept a new argument PN: the pane number of
6100 the current menu pane. Record the pane number and the item
6101 number of the item which has associated help string.
6102 (XMenuActivate): Update the prototype for help_callback in
6103 function declaration. Call IT_menu_display with the current menu
6104 pane number as an additional argument. Call help_callback with
6105 two additional arguments: the pane number and the item number of
6106 the menu item associated with the help text.
6107 (help_echo_object, help_echo_pos): New variables.
6108 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6109
6110 * msdos.h (XMenuActivate): Update prototype.
6111
4279296d
GM
61122000-07-19 Gerd Moellmann <gerd@gnu.org>
6113
47db06aa
GM
6114 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6115 Add some more prototypes.
6116
6117 * xterm.c, xterm.h: Add some more prototypes.
6118
6119 * lisp.h (Fnext_single_char_property_change): Add prototype.
6120
6121 * dispnew.c (direct_output_for_insert): Remove confusing
6122 outer local variable mouse_face_overwritten_p.
6123 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6124
4279296d
GM
6125 * alloc.c (allocate_string_data): Don't copy old string contents.
6126
670acd62
KH
61272000-07-19 Kenichi Handa <handa@etl.go.jp>
6128
6129 * coding.c (code_convert_region): Delete text properties before
6130 shrinking the conversion region.
6131
7cea38bc
GM
61322000-07-18 Gerd Moellmann <gerd@gnu.org>
6133
dc1cac59
GM
6134 * dispnew.c (update_text_area): Write the whole row if it
6135 has mouse-face in it.
6136
85a8aca9
GM
6137 * xfaces.c (face-alternative-font-family-alist): Remove
6138 DEFVAR_LISP; staticpro instead.
6139
34a7a267 6140 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6141 new arguments.
6142
6143 * keyboard.c (show_help_echo): Add parameter WINDOW.
6144 (read_char): Call show_help_echo with window extracted from Lisp
6145 help event.
6146 (gen_help_event): Add parameter WINDOW.
6147
6148 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6149
6150 * xterm.c (help_echo_window): New variable.
6151 (note_mouse_highlight, note_tool_bar_highlight): Set
6152 help_echo_window.
6153 (XTread_socket): Pass help_echo_window to gen_help_event.
6154 (syms_of_xterm): Initialize and staticpro help_echo_window.
6155
f8276b77
DL
61562000-07-18 Dave Love <fx@gnu.org>
6157
6158 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
6159 systime.h.
6160
088831a6
GM
61612000-07-18 Gerd Moellmann <gerd@gnu.org>
6162
3d6cd763
GM
6163 * alloc.c (allocate_string_data): If string had already data
6164 assigned, copy old contents to new string data.
6165
6166 * coding.c (syms_of_coding): Fix typo in spelling of variable
6167 `inhibit-iso-escape-detection'.
6168
088831a6
GM
6169 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6170
6171 * Makefile.in: Add dependencies on dispextern.h.
6172 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6173 `free'; both can conflict with system header files.
6174
bc8a8d55
KH
61752000-07-18 Kenichi Handa <handa@etl.go.jp>
6176
6177 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6178 undefined.
6179
069f5950
DL
61802000-07-18 Dave Love <fx@gnu.org>
6181
6182 * window.c (Fwindow_list): Declare arg `window'.
6183
aa96c820
KH
61842000-07-18 Kenichi Handa <handa@etl.go.jp>
6185
6186 * coding.c (setup_coding_system): Don't override the explicitly
6187 specified designations.
6188
06be8d32
MB
61892000-07-15 Miles Bader <miles@gnu.org>
6190
6191 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6192 from `text_property_eq' and `text_property_stickiness', respectively.
6193 (find_field, Fconstrain_to_field, char_property_eq)
6194 (char_property_stickiness): Changed to call char-property functions
6195 instead of text-property-only ones.
6196
6197 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6198 `next_single_char_property_change'). Do more error checking, and
6199 cleanup limit behavior.
6200 (Fprevious_single_char_property_change): New function.
6201 (syms_of_textprop): Initialize new subrs.
6202
6203 * xdisp.c (display_prop_end, invisible_text_between_p):
6204 Call Fnext_single_char_property_change instead of
6205 next_single_char_property_change.
6206
3fddcdc3
JR
62072000-07-15 Jason Rumney <jasonr@gnu.org>
6208
6209 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6210 after menu is finished with.
6211 (add_menu_item): Only consider wv->title as a menu title.
6212 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6213
6214 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6215 null title.
6216 (FONT_REGEXP): Remove unused macro, and its sub-components.
6217 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6218
6219 * w32term.c (help_echo_object, help_echo_pos): New variables.
6220 (note_mode_line_highlight): Store additional information about the
6221 help-echo in help_echo_object and help_echo_pos. Check both
6222 `local-map' and `keymap' properties for changing the cursor
6223 (note_mouse_highlight): Store additional information about the
6224 help-echo in help_echo_object and help_echo_pos.
6225 (note_tool_bar_highlight): Set help_echo_object to nil and
6226 help_echo_pos to -1.
6227 (w32_read_socket): Use gen_help_event instead of filling
6228 input_events manually.
6229 (syms_of_w32term): Staticpro help_echo_object.
6230 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
6231 set, arrange for a mouse-highlight redisplay in
6232 XTframe_up_to_date.
6233 (x_clear_mouse_face): New function.
6234 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6235 (x_update_window_begin): No need to turn off the mouse
6236 highlight here.
6237 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6238 depending on whether they contain glyphs highlighted in
6239 mouse-face.
6240 (x_fill_stretch_glyph_string): Consume runs of stretch
6241 glyphs instead of a single one.
6242 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6243 with new argument list.
6244 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6245 (x_append_glyph, x_append_composite_glyph)
6246 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6247 changes in struct glyph starting 1999-12-27. See comments for
6248 xterm.c on 2000-07-05.
6249
178c5d9c
SS
62502000-07-14 Sam Steingold <sds@gnu.org>
6251
6252 * xfaces.c (realize_x_face): Fix the last patch:
6253 check `default_face' before dereferencing.
6254
6fe533f6
DL
62552000-07-14 Dave Love <fx@gnu.org>
6256
069f5950 6257 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6258
dd7b81cf
KH
62592000-07-14 Kenichi Handa <handa@etl.go.jp>
6260
0693904a 6261 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6262 default_face's fontset, not using the default fontset.
0693904a 6263
dd7b81cf
KH
6264 * coding.c (inhibit_iso_escape_detection): New variable.
6265 (syms_of_coding): Make it a Lisp variable.
6266 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6267 nonzero, ignore ISO2022's escape sequence.
6268
d5aa31d8
GM
62692000-07-14 Gerd Moellmann <gerd@gnu.org>
6270
e5acf0ca
GM
6271 * alloca.c (malloc) [emacs]: Define as xmalloc.
6272
bd23a692
GM
6273 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6274 use that instead of the mouse position. Add parameters DX and DY.
6275
6276 * dispextern.h (Fx_show_tip): Adjust number of parameters
6277 in prototype.
6278
9662da0b
GM
6279 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6280 if HELP is a function, call it with OBJECT and POS as parameters
6281 to get the help to display.
6282 (gen_help_event, kbd_buffer_store_help_event): New functions.
6283 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6284 (read_char): Call show_help_echo with new parameters.
6285
178c5d9c 6286 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6287 Add prototypes.
6288
6289 * xterm.c (help_echo_object, help_echo_pos): New variables.
6290 (note_mode_line_highlight): Store additional information about the
6291 help-echo in help_echo_object and help_echo_pos. Check both
6292 `local-map' and `keymap' properties for changing the cursor
6293 (note_mouse_highlight): Store additional information about the
6294 help-echo in help_echo_object and help_echo_pos.
6295 (note_tool_bar_highlight): Set help_echo_object to nil and
6296 help_echo_pos to -1.
6297 (XTread_socket): Use gen_help_event instead of filling
6298 input_events manually.
6299 (syms_of_xterm): Staticpro help_echo_object.
6300
6301 * xmenu.c (menu_highlight_callback): Use
6302 kbd_buffer_store_help_event instead of setting up and input_event
6303 structure manually.
6304
6305 * xdisp.c (eval_form): GCPRO argument sexpr.
6306 (call_function): New function.
6307 (handle_single_display_prop): Use call_function and FUNCTIONP
6308 instead of checking whether if font_height is a symbol and
6309 using eval_form.
6310
6311 * eval.c (internal_condition_case_2): New function.
6312
6313 * lisp.h (FUNCTIONP): New macro.
6314 (internal_condition_case_2, call_function): Add prototypes.
6315
d5aa31d8
GM
6316 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6317 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6318 Always set `arg' member of input_events.
6319 (construct_menu_click): Unused function removed.
6320
6321 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6322
6323 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6324 (construct_drag_n_drop, x_scroll_bar_handle_click)
6325 (w32_read_socket): Always set `arg' member of input_events.
6326
6327 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6328
6329 * lisp.h (eval_form): Add prototype.
6330
6331 * xdisp.c (eval_form): Make it externally visible.
6332
0f1a9b23
GM
63332000-07-13 Gerd Moellmann <gerd@gnu.org>
6334
6335 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6336 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6337 consing. For prefix events, store the frame in the `arg' slot of
6338 the event, otherwise store the key there.
6339 (XTread_socket): Instead of consing, use the frame_or_window slot
6340 of HELP_EVENTs for the frame, and the `arg' slot for the help
6341 string.
6342
6343 * xmenu.c (menu_highlight_callback): Store help string in the
6344 `arg' member of the input event; don't cons.
6345 (menubar_selection_callback): Use the `arg' slot of input events
6346 to queue additional information, instead of consing.
6347
6348 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6349
6350 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6351 TOOL_BAR_EVENTs.
6352 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6353
6354 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6355 input events to queue additional information, instead of consing.
6356
6357 * keyboard.c (kbd_buffer_gcpro): Renamed from
6358 kbd_buffer_frame_or_window. Now used for all Lisp objects
6359 referenced from the input queue.
6360 (kbd_buffer_store_event): Always use structure assignment for
6361 copying input events. Record all Lisp objects referenced from
6362 events in kbd_buffer_gcpro.
6363 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6364 differently from input events. Test for prefix menu_bar_events
6365 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6366 event in kbd_buffer_gcpro to nil.
6367 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6368 frame_or_window is equal to its arg member as prefix events.
6369 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6370 used by an input event to nil.
6371 (init_keyboard): Use two times the size of the input queue
6372 for kbd_buffer_gcpro.
6373 (syms_of_keyboard): Likewise.
6374
6375 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
6376 USER_SIGNAL_EVENT.
6377
6378 * termhooks.h (struct input_event): Add member `arg'.
6379 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6380 (USER_SIGNAL_EVENT): Renamed from user_signal.
6381
6382 * xfaces.c (ASET): Remove definition.
6383
6384 * lisp.h (AREF, ASET, ASIZE): New macros.
6385
6386 * fontset.c (AREF, ASIZE): Remove definitions.
6387
6388 * fns.c (AREF): Remove definition.
178c5d9c 6389
0f1a9b23
GM
6390 * composite.c (AREF): Remove definition.
6391
712eaef2
GM
63922000-07-12 Gerd Moellmann <gerd@gnu.org>
6393
d8ee7803
GM
6394 * dispnew.c (redraw_overlapped_rows): Add missing local.
6395 (scrolling_window): Remove debug code.
6396
712eaef2
GM
6397 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6398 Before scrolling, turn off a mouse-highlight in the window
6399 being scrolled.
6400
6401 * xterm.c (x_update_window_end): Add parameter
6402 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6403 redisplay in XTframe_up_to_date.
6404 (x_clear_mouse_face): New function.
6405 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6406
6407 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6408 current glyph row.
6409 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6410 it when any row is written to that contains glyphs highlighted in
6411 mouse-face.
6412 (update_window): Call the window update end hook with new
6413 parameter MOUSE_FACE_OVERWRITTEN_P.
6414 (direct_output_for_insert): Give up if row contains mouse-face.
6415
6416 * dispextern.h (struct redisplay_interface): Add parameter
6417 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6418 (clear_mouse_face): New function pointer member.
6419
02010917
SM
64202000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6421
6422 * syntax.c (back_comment): Use one switch rather than a few `if's.
6423 Obey open_paren_in_column_0_is_defun_start.
6424 When reverting to the `slow' method, try to nicely handle the case
6425 of nested comments by checking that the comment-starter we found
6426 does indeed match the comment-ender.
6427 (scan_sexps_forward, scan_sexps_forward):
6428 Ignore excessive opening parenthesis rather than throwing an error.
6429
d76c03ea
GM
64302000-07-11 Gerd Moellmann <gerd@gnu.org>
6431
6432 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6433 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6434
6435 * dispnew.c (direct_output_forward_char): Give up if currently
6436 displaying a message instead of the minibuffer contents.
6437
6438 * xterm.c (x_update_window_begin): No need to turn off the mouse
6439 highlight here.
6440 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6441 depending on whether they contain glyphs highlighted in
6442 mouse-face.
6443
6444 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6445 compare the mouse_face_p flags of both rows.
6446
6447 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6448
d55ead18
EZ
64492000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6450
6451 * keyboard.c (show_help_echo): Accept additional parameter
6452 ok_to_overwrite_keystroke_echo.
6453 (read_char): Call show_help_echo with a zero
6454 ok_to_overwrite_keystroke_echo argument.
6455 * keyboard.h (show_help_echo): Update prototype of
6456 show_help_echo.
6457 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6458 ok_to_overwrite_keystroke_echo argument.
6459 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6460 non-zero ok_to_overwrite_keystroke_echo argument.
6461
df75b1a3
GM
64622000-07-10 Gerd Moellmann <gerd@gnu.org>
6463
4b92c49a
GM
6464 * xdisp.c (try_window_id): If changes are all below what is
6465 displayed in the window, and point is in the window, we still
6466 might have to find point on the display.
6467
6468 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6469 glyphs instead of a single one.
6470 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6471 with new argument list.
6472 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6473
df75b1a3
GM
6474 * keymap.c (get_keymap_1): Add comment that this function can GC.
6475 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6476 comment that functions can GC.
6477 (Fset_keymap_parent): GCPRO arg KEYMAP.
6478
4314cf3e
EZ
64792000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6480
6481 * msdos.c (XMenuActivate): After exiting the menu, restore the
6482 echo area message and erase it.
6483
ab49ce15
KH
64842000-07-10 Kenichi Handa <handa@etl.go.jp>
6485
6486 * fontset.c (Ffontset_info): Make the return value more compatible
6487 with that of Emacs 20.
6488
090a072f
GM
64892000-07-07 Gerd Moellmann <gerd@gnu.org>
6490
6491 * eval.c (Fsignal): Handle case that backtrace_list is null.
6492
f92de4a6
KH
64932000-07-07 Kenichi Handa <handa@etl.go.jp>
6494
6495 * ccl.c (Fccl_execute): Typo fixed.
6496
dd8888a1
GM
64972000-07-06 Gerd Moellmann <gerd@gnu.org>
6498
e5c81191 6499 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6500
dd8888a1
GM
6501 * window.c (Fwindow_list): Reverse list at the end.
6502 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6503 means allow windows on OWINDOW's frame, only.
6504 (window_loop): Simplified; use Fwindow_list.
6505
6506 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6507
485266d0
GM
65082000-07-05 Gerd Moellmann <gerd@gnu.org>
6509
6510 * xterm.c (XTread_socket): Increment handling_signal at the start,
6511 decrement it at the end.
6512
6513 * eval.c (handling_signal): New variable.
6514 (Fsignal): Abort if handling_signal is non-zero.
6515
6516 * lisp.h (handling_signal): External declaration.
178c5d9c 6517
485266d0
GM
6518 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6519
80fcd514
KR
65202000-07-05 Ken Raeburn <raeburn@gnu.org>
6521
6522 Sound support for NetBSD through "Linux emulation" support:
6523 * config.in (HAVE_SOUNDCARD_H): Undef.
6524 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6525 * Makefile.in (LIBSOUND): New variable.
6526 (LIBES): Include it.
6527 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
6528 <soundcard.h>.
6529 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
6530 elsewhere.
6531 (vox_open): Use DEFAULT_SOUND_DEVICE.
6532 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6533
d5c5cddd
GM
65342000-07-05 Gerd Moellmann <gerd@gnu.org>
6535
6536 * print.c (print_error_message): If Vsignaling_function is set,
6537 show it in *Messages*.
6538
6539 * lisp.h (Vsignaling_function): External declaration.
6540
6541 * eval.c (Vsignaling_function): New variable.
6542 (Fsignal): Compute it.
6543 (syms_of_eval): Staticpro it.
6544
65171e3a
DL
65452000-07-05 Dave Love <fx@gnu.org>
6546
6547 * syswait.h: Use the autoconf recommended approach. Old code
6548 #if'd out in case we need to revert.
6549
178c5d9c 6550 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 6551
e2c46326
AI
65522000-07-05 Andrew Innes <andrewi@gnu.org>
6553
6554 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
6555 when non-NULL instead of __morecore, to take account of buffer
6556 memory. This also solves a problem with spurious memory warnings
6557 on Windows.
6558
6559 * ralloc.c: Make real_morecore non-static.
6560
6561 * eval.c (internal_condition_case): Comment out abort if
6562 interrupt_input_blocked is not zero.
6563
6564 * makefile.nt: Add support for `bootstrap' and related targets.
6565 Include minimal debug info in emacs.exe in release build.
6566 Remove all dependencies on lisp.h, and fixup some others.
6567
6568 * w32.c (init_environment): Install code from 20.7 for providing
6569 default values for environment variables, based on the
6570 executable's own location.
6571 (map_w32_filename): Handle filenames that are longer than
6572 MAX_PATH.
6573 (sys_socket): Install socket inheritance bug fix from 20.7.
6574
6575 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
6576 here via blockinput.h).
6577
a027a91b
SM
65782000-07-05 Stefan Monnier <monnier@cs.yale.edu>
6579
e4b31601
SM
6580 * w32menu.c (w32_menu_display_help):
6581 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
6582
6583 * keyboard.h (show_help_echo): Declare.
6584
6585 * keyboard.c (show_help_echo): New function, extracted from read_char.
6586 Feval its `msg' argument if it's a cons cell.
6587 (read_char): Use it.
4cf8d9d5 6588 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 6589
178c5d9c 6590 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 6591 (note_tool_bar_highlight, XTread_socket):
178c5d9c 6592 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
6593 (dos_rawgetc):
6594 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
6595 (note_tool_bar_highlight, w32_read_socket):
6596 Do not gratuitously ignore non-string `help-echo' properties.
6597
88d75730
GM
65982000-07-05 Gerd Moellmann <gerd@gnu.org>
6599
969f7e79
GM
6600 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
6601
71201b00
GM
6602 * window.c (delete_all_subwindows): Reset Vwindow_list.
6603
88d75730
GM
6604 * xterm.c (x_append_glyph, x_append_composite_glyph)
6605 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6606 changes in struct glyph starting 1999-12-27. Some bit-fields of
6607 struct glyph were not set, which made glyphs unequal when compared
6608 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
6609 effects were the result. This also depended on the contents of
6610 memory returned by xmalloc. If flickering happens again, activate
6611 the code in clear_glyph_row that's in #if 0. If the flickering is
6612 gone with that, chances are that it is caused by something
6613 similar.
6614
6615 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 6616
88d75730
GM
6617 * dispextern.h: Add some comments.
6618
6619 * window.c (add_window_to_list): Add parameter LIST.
6620 (window_list): Order list so that, for each frame, windows are
6621 in canonical order, and so that frames appear in the list in
6622 the order given by Vframe_list.
6623 (next_window): Reverse the handling of NEXT_P.
6624
53654733
GM
66252000-07-04 Gerd Moellmann <gerd@gnu.org>
6626
87efd256
GM
6627 * window.c (Vwindow_list): New variable.
6628 (make_window, delete_window): Set Vwindow_list to nil.
6629 (check_window_containing): New function.
6630 (window_from_coordinates): Rewritten.
6631 (add_window_to_list, window_list, candidate_window_p)
6632 (decode_next_window_args, next_window): New functions.
6633 (Fnext_window, Fprevious_window): Rewritten in terms of
6634 next_window.
6635 (Fwindow_list): New function.
6636 (Fother_window): Cleaned up.
6637 (foreach_window): Add a longer "variable argument list". Let
6638 callback function return 0 to indicate that cycling over windows
6639 should stop.
6640 (foreach_window_1): Likewise.
6641 (freeze_window_start): Return int.
6642 (init_window): New function.
6643 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
6644
6645 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
6646 input_event with bzero.
6647 (main): Call init_window.
6648
53654733
GM
6649 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
6650 a menu filter.
6651
4a8c194f
KH
66522000-07-04 Kenichi Handa <handa@etl.go.jp>
6653
6654 * composite.h (make_composition_value_copy): Extern it.
6655
6656 * composite.c (make_composition_value_copy): New function.
6657
6658 * editfns.c (Fformat): While copying text properties, make each
6659 composition property value a copy.
6660
6661 * fns.c (concat): While copying text properties, make each
6662 composition property value a copy.
6663
831a6cb0
GM
66642000-07-03 Gerd Moellmann <gerd@gnu.org>
6665
2f516940
GM
6666 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
6667
178c5d9c 6668 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
6669 marked already.
6670
831a6cb0
GM
6671 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
6672 include those frames as candidates which have their focus
6673 redirected to the minibuffer frame.
6674
d9c4f922
SM
66752000-07-03 Stefan Monnier <monnier@cs.yale.edu>
6676
6677 * fns.c (Fputhash): Return `value' rather than nil.
6678
3780bc22
GM
66792000-06-30 Gerd Moellmann <gerd@gnu.org>
6680
97d176db
GM
6681 * frame.c (next_frame): Don't check focus redirection in case
6682 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
6683 unless their focus is redirected, which contradicts the
6684 specification of next-frame, and leads to infinite loops in
6685 certain situations when cycling through windows with next-window.
6686
dca9961d
KH
66872000-06-30 Kenichi Handa <handa@etl.go.jp>
6688
6689 * coding.c (code_convert_region): Even if the length of text is
6690 zero, try to convert it if coding->type is coding_type_ccl.
6691 (decode_coding_string, encode_coding_string): Likewise.
6692
d5483ab1
GM
66932000-06-28 Gerd Moellmann <gerd@gnu.org>
6694
af5c25e1 6695 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 6696 the display if windows_or_buffers_changed.
af5c25e1
GM
6697
6698 * dispnew.c (struct row_entry): New structure.
6699 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
6700 (row_table_size, old_lines, new_lines, old_lines_size)
6701 (new_lines_size, run_pool, runs_size, runs): New variables.
6702 (add_row_entry): New function.
6703 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 6704 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
6705 holding them in local variables. Use a larger hash table whose
6706 size depends on glyph matrix sizes. Don't use bzero to clear the
6707 hash table; instead, clear used slots only.
6708
6709 * fns.c (next_almost_prime): Make it externally visible.
6710
6711 * lisp.h (next_almost_prime): Add prototype.
6712
d5483ab1
GM
6713 * s/isc4-0.h (sigunblock): Define.
6714
6715 * s/sco5.h (sigunblock): Define.
6716
93e40f40
DL
67172000-06-27 Dave Love <fx@gnu.org>
6718
6719 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
6720 (moved to osf5-0.h).
6721 [!NOT_C_CODE]: Protect string.h stuff.
6722
6723 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
6724 (sys_siglist, NSIG): Definitions moved here from osf1.h.
6725
3c4b7685
GM
67262000-06-27 Gerd Moellmann <gerd@gnu.org>
6727
97d176db 6728 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
6729 below the last line from the needed window height.
6730
32cad0aa
SM
67312000-06-26 Stefan Monnier <monnier@cs.yale.edu>
6732
6733 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
6734 (Fwidget_get): Use it.
6735 (syms_of_fns): Defsubr it.
6736
2c69ced2
GM
67372000-06-26 Gerd Moellmann <gerd@gnu.org>
6738
178c5d9c 6739 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
6740 display info for XIM.
6741 (xim_open_dpy): Likewise.
6742 (xim_close_dpy): Don't free the display info's XIM.
6743
6744 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
6745
6746 * config.in (USE_XIM): New define.
6747
3fc720e4
GM
6748 * keymap.c (get_keyelt): For menu-items containing a `:filter
6749 FILTER', apply FILTER to the menu-item's definition to get the
6750 real definition to use.
6751
6752 * lisp.h (QCfilter): External declaration.
6753
2c69ced2
GM
6754 * xfns.c (Fimage_size): New function.
6755 (syms_of_xfns): Defsubr it.
6756
f978b2a2
AS
67572000-06-26 Andreas Schwab <schwab@suse.de>
6758
6759 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
6760 Fstring_as_unibyte.
6761
94cc7892
DL
67622000-06-25 Dave Love <fx@gnu.org>
6763
6764 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
6765 tgetnum.
6766
6767 * Makefile.in (blockinput.h): Depend on atimer.h.
6768 (atimer.h): Depend on systime.h.
6769
6770 * blockinput.h: Protect against multiple inclusion. Include
6771 atimer.h.
6772
6773 * atimer.h: Protect against multiple inclusion. Include
6774 systime.h.
6775
6776 * lisp.h (swap_in_global_binding): Declare.
6777
b8c24556
KR
67782000-06-24 Ken Raeburn <raeburn@gnu.org>
6779
6780 * process.c (Fopen_network_stream): Turn off atimers for duration
6781 of call to connect. (Patch from Gerd.)
6782
8cf8560b
DL
67832000-06-23 Dave Love <fx@gnu.org>
6784
511c7541
DL
6785 * ralloc.c: Maybe include unistd.h
6786
8cf8560b
DL
6787 * emacs.c (setgrp): Undefine before defining.
6788 (malloc_warning, set_time_zone_rule, index): Prototype.
6789
6790 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
6791 HAVE_STRUCT_TIMEZONE.
6792
6793 * s/osf1.h: Move string.h hack here from alpha.h and make it
6794 conditional.
6795 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
6796 _XOPEN_SOURCE.
6797 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
6798 (SOCKLEN_TYPE): Don't define.
6799
6800 * m/alpha.h: Remove string.h hack.
6801
6802 * s/osf5-0.h: New file.
6803
6804 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
6805 include time.h, done by systime.h.
6806 [__FreeBSD__]: Remove redundant includes.
6807
3fc720e4 6808 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
6809 (delete_temp_file): Return Qnil to avoid warning.
6810
6811 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
6812
6813 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
6814 HAVE_X_WINDOWS.
6815
6816 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
6817
6818 * composite.h (compose_text): Declare.
6819
6820 * xterm.c: Don't include sys/types.h unconditionally. Don't
6821 protect its inclusion with !USG (following xmenu.c).
6822
ea055732
GM
68232000-06-23 Gerd Moellmann <gerd@gnu.org>
6824
6825 * xfns.c (x_create_tip_frame): Initialize frame's colors like
6826 in x_create_frame.
6827
74b01b80
EZ
68282000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
6829
6830 * coding.c (decode_eol_post_ccl): Special handling for undecided
6831 and inconsistent EOL types.
6832
64f3a166
GM
68332000-06-22 Gerd Moellmann <gerd@gnu.org>
6834
16cf31f7
GM
6835 * xrdb.c (x_load_resources): Add default resource for scroll bar's
6836 trough color and main window's background color.
6837
178c5d9c 6838 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
6839 differently.
6840
6841 * xterm.h (Xt_app_con): External declaration.
6842
6843 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 6844
486a103d
GM
6845 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
6846
64f3a166
GM
6847 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
6848 (handle_invisible_prop): Record the start of invisible text in
6849 it->add_overlay_start.
6850 (struct overlay_entry): Add member `overlay'.
6851 (handle_overlay_change): Simplify.
6852 (next_overlay_string): After having processed overlay strings at the
6853 end of the buffer, record that fact in
6854 it->overlay_strings_at_end_processed_p.
6855 (compare_overlay_entries): If before- and after-strings come
6856 from the same overlay, let before-strings come first.
6857 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
6858 (load_overlay_strings): Take it->add_overlay_start into account
6859 when adding overlay strings.
6860
6861 * dispextern.h (struct it): Add member add_overlay_start.
6862
bb746ea6
DL
68632000-06-22 Dave Love <fx@gnu.org>
6864
6865 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
6866
6867 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
6868
a8f573f3
KH
68692000-06-22 Kenichi Handa <handa@etl.go.jp>
6870
6871 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
6872 is greater than 0.
6873
9f2bbc92
DL
68742000-06-21 Dave Love <fx@gnu.org>
6875
178c5d9c 6876 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 6877
3ee5041c
SM
68782000-06-21 Stefan Monnier <monnier@cs.yale.edu>
6879
6880 * syntax.c (back_comment): Simplify string-parity counting (with
6881 the added benefit of handling multiple string-styles as long as
6882 they are not intertwined).
6883 Jump to the slow code as soon as a comment starter is found in
6884 a "string_lossage" position. Fixes the case: " /* " /* " */.
6885
4c343001
DL
68862000-06-21 Dave Love <fx@gnu.org>
6887
6888 * Makefile.in: Use GETLOADAVG_LIBS.
6889
6890 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
6891 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
6892
e6365855
SM
68932000-06-20 Stefan Monnier <monnier@cs.yale.edu>
6894
6895 * syntax.c (describe_syntax): Recognize the `n'estable bit.
6896 (Fforward_comment, scan_lists):
6897 Check the comstyle of single-char comment-starters.
6898 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
6899 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
6900 Check the comstyle of single-char comment-starters.
6901 Clarify control-flow around the Scomment case.
e6365855 6902
5700d2cc
DL
69032000-06-20 Dave Love <fx@gnu.org>
6904
d355bd8a
SM
6905 * fns.c (make_hash_table, maybe_resize_hash_table):
6906 Cast arg of next_almost_prime.
5700d2cc 6907
178c5d9c 6908 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
6909
6910 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
6911 and unistd.h.
6912
4a27bdfb
GM
69132000-06-20 Gerd Moellmann <gerd@gnu.org>
6914
a61d762c
GM
6915 * keyboard.c (adjust_point_for_property): Check if display
6916 property should be treated as intangible by looking at its
6917 value.
6918
178c5d9c 6919 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
6920 (display_prop_intangible_p): New functions.
6921
6922 * dispextern.h (display_prop_intangible_p): Add prototype.
6923
6924 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 6925
4a27bdfb
GM
6926 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
6927 argument to sigprocmask.
6928
6929 * s/sco5.h (sigblock): Redefined to pass a pointer as second
6930 argument to sigprocmask.
6931
6932 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
6933 sigprocmask_set, and pass a pointer to it to sigprocmask.
6934
6935 * sysdep.c (sigprocmask_set): New variable.
6936
6937 * fileio.c (make_temp_name): Don't use `%s' in string passed to
6938 report_file_error.
6939
427ec082
SS
69402000-06-20 Sam Steingold <sds@gnu.org>
6941
6942 * xrdb.c: Don't declare xmalloc, xrealloc.
6943
8972fe79 69442000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
6945
6946 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
6947 (re_comp): Cast gettext return value to avoid complaints when
6948 !HAVE_LIBINTL.
6949
074b6efe
DL
69502000-06-20 Dave Love <fx@gnu.org>
6951
f85c008a
DL
6952 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
6953 HAVE_GETTIMEOFDAY.
6954
5700d2cc 6955 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 6956
d355bd8a 6957 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
6958
6959 * m/alpha.h: Don't declare xmalloc, xrealloc.
6960
0af4f205
DL
6961 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
6962
6963 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
6964
6965 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
6966
6967 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
6968 HAVE_GETWD.
6969
074b6efe
DL
6970 * keyboard.h (poll_for_input_1): Declare.
6971
6972 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
6973
6974 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
6975
6976 * doprnt.c: Don't declare xmalloc, xrealloc.
6977
6978 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
6979 (getenv, ctime, getwd): Removed.
6980 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
6981
6982 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
6983 x_set_tool_bar_lines.
6984
6985 * config.in: Add HAVE_GETWD. Move some definitions above
6986 machine/system includes.
6987
68a5e97b
KH
69882000-06-20 Kenichi Handa <handa@etl.go.jp>
6989
95417e1e
KH
6990 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
6991
68a5e97b
KH
6992 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
6993 contain information about ENCODING.
6994
6995 * fontset.c (FONTSET_ASCII): Use the first element of char table
6996 for an ASCII font, not defalt slot.
6997 (fontset_ref_via_base): If FONTSET doesn't contain information for
6998 C, try the default fontset.
6999 (make_fontset): Don't copy the default fontset.
7000 (fontset_font_pattern): Likewise.
7001 (accumulate_font_info): If ELT is nil, use the corresponding
7002 element in the default fontset.
7003
3b4fa1b2
DL
70042000-06-19 Dave Love <fx@gnu.org>
7005
943e731c
DL
7006 * syntax.c (Fparse_partial_sexp): Doc fix.
7007
7008 * regex.h: Test PROTOTYPES as well as __STDC__.
7009
3b4fa1b2
DL
7010 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7011 errno, strerror. Put text after #endif in comment.
7012
7013 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
7014 pcc).
7015
7016 * xterm.c (x_frame_of_widget): Likewise.
7017
cdf0357b
GM
70182000-06-19 Gerd Moellmann <gerd@gnu.org>
7019
7020 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7021 to Vfundamental_mode_abbrev_table.
7022
7023 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7024 bogus objects are marked. This slows down GC by ~80 percent, but
7025 it might be worth trying when debugging GC-related problems.
7026 This feature requires conservative stack marking to be enabled.
7027
7028 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7029 returns XLookupChars, reset `modifiers' to zero.
7030
998e9f8c
DL
70312000-06-19 Dave Love <fx@gnu.org>
7032
7033 * mktime.c: Unprotoized.
7034
18e21ce8 70352000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7036
7037 * data.c (set_internal): If variable is frame-local,
7038 store the new value immediately into the frame parameter alist.
7039
140c4ac6
KR
70402000-06-19 Ken Raeburn <raeburn@gnu.org>
7041
14358466
KR
7042 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7043 in the custom handler pointer.
7044
140c4ac6
KR
7045 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7046 value, or checks for CHAR_META can fail when Lisp_Object is a
7047 union type.
7048 * keymap.c (get_keyelt): Likewise.
7049
10d7bf84
KH
70502000-06-19 Kenichi Handa <handa@etl.go.jp>
7051
7052 * ccl.h (struct ccl_program): New member eol_type.
7053 (struct ccl_spec): New member cr_carryover.
7054
7055 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7056 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7057
7058 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7059 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7060 (decode_eol_post_ccl): New function.
7061 (decode_coding): Don't detect EOL format here for CCL based coding
7062 systems.
7063 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7064 decode_eol_post_ccl after running the CCL program.
7065 (code_convert_region): Don't detect EOL format here for CCL based
7066 coding systems.
7067 (decode_coding_string): Likewise.
7068
52e386c2
KR
70692000-06-18 Ken Raeburn <raeburn@gnu.org>
7070
7071 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7072 when treating it as an integer.
7073
7074 * coding.h (encode_coding_string): Declare.
7075
7076 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7077 it as an integer.
7078
7079 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7080 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7081 to be passed to get_local_map.
7082
7083 * sound.c (Fplay_sound): Don't call make_number on
7084 Frun_hook_with_args count argument.
7085
7086 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7087 for lisp objects in X event structure data field, when lisp
7088 objects are represented with unions.
7089 (x_scroll_bar_to_input_event): Ditto.
7090
b357b9d4
KR
70912000-06-16 Ken Raeburn <raeburn@gnu.org>
7092
7093 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7094 termination of string. Fix sense of test whether
7095 Vline_number_display_limit is an integer.
b357b9d4 7096
a871441d
GM
70972000-06-16 Gerd Moellmann <gerd@gnu.org>
7098
a9021acd
GM
7099 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7100 only if HAVE_X_WINDOWS.
7101
6344985d
GM
7102 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7103 of titles.
7104
427ec082 7105 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7106 out of bounds.
7107
228b083e
EZ
71082000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7109
7110 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7111 of its headers.
7112
c25b53a2
KH
71132000-06-15 Kenichi Handa <handa@etl.go.jp>
7114
7115 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7116 start of the while loop.
7117
a6981b11
GM
71182000-06-15 Gerd Moellmann <gerd@gnu.org>
7119
e9924e52
GM
7120 * atimer.c (alarm_signal_handler): Add forward declaration.
7121
a6981b11
GM
7122 * data.c (set_internal): Remove debug code.
7123
25fa6deb
GM
71242000-06-14 Gerd Moellmann <gerd@gnu.org>
7125
dce6b995
GM
7126 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7127
9f817ea4
GM
7128 * unexec.c (toplevel) [COFF]: Include coff.h.
7129
7130 * s/lynxos.h: New file.
7131
7132 * keymap.c (Fsingle_key_description): Enclose function key and
7133 event symbol names in angle brackets.
7134
8a4e3c0c
GM
7135 * xdisp.c (setup_echo_area_for_printing): Call
7136 message_log_maybe_newline if message_buf_print is not set.
7137
7138 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7139 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7140 function does something useful even when message_buf_print is
7141 already set.
7142
25fa6deb
GM
7143 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
7144 variables.
7145 (ensure_echo_area_buffers): Initialize echo buffer's
7146 truncate lines setting to nil.
7147 (with_echo_area_buffer): Don't set the echo buffer's truncate
7148 lines setting here.
8a4e3c0c 7149 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7150 of message_truncate_lines.
7151 (resize_mini_window): Handle case that lines are truncated.
7152 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
7153 message-truncate-lines.
7154
7155 * keyboard.c (read_char): Bind message-truncate-lines to t
7156 while displaying a help-echo.
7157
7158 * lisp.h (Qmessage_truncate_lines): External declaration.
7159
163dcff3
GM
71602000-06-13 Gerd Moellmann <gerd@gnu.org>
7161
1681ead6
GM
7162 * xdisp.c (Vline_number_display_limit): Renamed from
7163 line_number_display_limit.
7164 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7165 Extend documentation string. Initialize
7166 Vline_number_display_limit to nil meaning no limit.
7167 (decode_mode_spec): Use Vline_number_display_limit with its new
7168 meaning.
7169
163dcff3
GM
7170 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7171
18e21ce8 71722000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7173
7174 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7175
163dcff3
GM
7176 * xfns.c (x_set_frame_parameters): Comment fix.
7177
7178 * frame.c (store_frame_param): Call swap_in_global_binding if the
7179 variable's current binding was chosen based on this frame.
7180
7181 * data.c (swap_in_global_binding): New function.
7182
a704139d
EZ
71832000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7184
7185 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7186 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7187
9b6610db
EZ
71882000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7189
7190 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7191
c68833d2
JR
71922000-06-12 Jason Rumney <jasonr@gnu.org>
7193
7194 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7195
7196 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7197
7198 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7199
7200 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7201
ed1056b3
GM
72022000-06-12 Gerd Moellmann <gerd@gnu.org>
7203
7204 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7205 (syms_of_xfaces): Defsubr Sdump_colors.
7206 (x_free_colors): Don't treat b&w specially on default visual.
7207 (x_free_dpy_colors): New function.
7208 (free_face_colors): Don't check visual class; it's done
7209 in x_free_colors.
7210
7211 * xterm.c (x_frame_of_widget): New function.
7212 (x_alloc_nearest_color_for_widget): Use it.
7213 (x_copy_dpy_color): New function.
7214 (x_destroy_window): Free various colors.
7215
5050a2ef
KH
72162000-06-12 Kenichi Handa <handa@etl.go.jp>
7217
7218 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7219
7220 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7221
7222 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7223
7224 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7225
7226 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7227
fb1b041d
DL
72282000-06-11 Dave Love <fx@gnu.org>
7229
7230 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7231
ff96b5f4
EZ
72322000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7233
7234 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7235
db8eeecd
GM
72362000-06-11 Gerd Moellmann <gerd@gnu.org>
7237
ed1056b3 7238 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7239 to `XEvent *'.
7240
49b71c5f
KH
72412000-06-10 Kenichi Handa <handa@etl.go.jp>
7242
c479bd55
KH
7243 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7244 (regex_compile): Fix the code for handling the case of single byte
7245 char and multibyte char being mixed in a range within [...].
7246
ff6a65c2
KH
7247 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7248 and dst_multibyte members of coding.
7249
49b71c5f
KH
7250 * charset.c (update_charset_table): Update the table
7251 bytes_by_char_head.
7252 (init_charset_once): Initialize elements of bytes_by_char_head to
7253 1 except for leading codes for private charases.
7254
7255 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
7256 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
7257 sequence.
7258
9e80b57d
KR
72592000-06-09 Ken Raeburn <raeburn@gnu.org>
7260
7261 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7262 access the data it doesn't point to.
7263
f83fe4b4
GM
72642000-06-08 Gerd Moellmann <gerd@gnu.org>
7265
7266 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7267 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7268 event queue. This is necessary because Emacs otherwise won't
7269 perform a switch-frame to a new frame until some other event, for
7270 example a keystroke event, forces it to do so. This has various
7271 effects, one visible being that the cursor of a frame created with
7272 C-x 5 2 or switched to with a window manager key binding like
7273 A-TAB stays hollow because selected_window isn't on the newly
7274 focused frame until the switch-frame is performed.
7275
7276 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7277 generating a switch-frame event if necessary.
7278
7279 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7280
7281 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7282 it's an integer.
7283
0890801b
KH
72842000-06-08 Kenichi Handa <handa@etl.go.jp>
7285
7286 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
7287 charset.
7288
173cbca8
GM
72892000-06-07 Gerd Moellmann <gerd@gnu.org>
7290
3091c2a6
GM
7291 * window.c (displayed_window_lines): Take empty lines at
7292 the bottom of a window into account.
427ec082 7293
f38952fe
GM
7294 * window.c (displayed_window_lines): New function.
7295 (Fmove_to_window_line): Use displayed_window_lines to determine
7296 the number of lines to move, instead of using the window's height.
7297
7298 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7299 to stop reading, even if the form read sets point to a different
7300 value when evaluated.
7301
427ec082 7302 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7303 put the cursor.
7304
6ba6c818
KH
73052000-06-07 Kenichi Handa <handa@etl.go.jp>
7306
7307 * fileio.c (e_write): Free composition data if stored in
7308 coding->cmp_data.
7309
5f1aea9a
GM
73102000-06-06 Gerd Moellmann <gerd@gnu.org>
7311
666852af
GM
7312 * xdisp.c (display_line): Set row's and iterator's
7313 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7314 Set cursor even if row ends in the middle of a character.
7315 (dump_glyph_row): Print values of new flags.
7316 (redisplay_window) <cursor movement in unchanged window>: When
7317 point has been moved forward, and PT is at the end of the cursor
7318 row, don't place the cursor in the next row if the cursor row ends
7319 in the middle of a character or at ZV.
7320
7321 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7322 (struct glyph_row): Add starts_in_middle_of_char_p and
7323 ends_in_middle_of_char_p.
7324 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7325 ends_in_middle_of_char_p flag.
7326 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7327
d13f3e2e
GM
7328 * term.c (append_glyph): Revert change of 2000-06-06.
7329
7330 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7331 padding glyph not fitting on line as whole character not
7332 fitting on line.
7333
5f1aea9a
GM
7334 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7335 this isn't true for images with `:ascent 100'.
7336
10cda9b0
KH
73372000-06-06 Kenichi Handa <handa@etl.go.jp>
7338
ed00559d
KH
7339 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7340 as modified if it is originally unmodified.
7341
10cda9b0
KH
7342 * term.c (encode_terminal_code): Change the way to check if
7343 terminal coding does any conversion.
7344 (append_glyph): Set glyph->pixel_width correctly.
7345
7346 * xdisp.c (display_line): While checking line continuation, pay
7347 attention to a padding glyph.
7348
1969fae2
GM
73492000-06-05 Gerd Moellmann <gerd@gnu.org>
7350
7351 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7352
162ccef4
DL
73532000-06-05 Dave Love <fx@gnu.org>
7354
f19f32dd
DL
7355 * xdisp.c: Include fontset.h.
7356
7357 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7358
7359 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7360
7361 * dispnew.c: Conditionally include term.h.
7362
7363 * coding.h: Declare code_convert_string_norecord.
7364
7365 * frame.h (struct frame): Use volatile unconditionally.
7366
7367 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7368
7369 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7370
7371 * systime.h: Protect against multiple inclusion.
7372 (timezone) [USG5_4]: Define as time_t.
7373
7374 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7375 (Foptimize_char_table, make_temp_name): Declare.
7376
7377 * Makefile.in (xdisp.o): Depend on fontset.h.
7378
7379 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7380
7381 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7382 (Foptimize_char_table, make_temp_name): Declare.
7383
427ec082 7384 * s/irix4-0.h:
162ccef4
DL
7385 * s/irix5-0.h:
7386 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7387
2082fe81
DL
73882000-06-02 Dave Love <fx@gnu.org>
7389
7390 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7391
dcf671d2
GM
73922000-06-02 Gerd Moellmann <gerd@gnu.org>
7393
7394 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7395 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7396 be freed.
7397
7398 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7399 glyph, use the ASCII NUL character to determine the face.
7400
d42122a3
DL
74012000-06-02 Dave Love <fx@gnu.org>
7402
7403 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7404 (VFORK_RETURN_TYPE): Remove.
427ec082 7405
d42122a3
DL
7406 * config.in: Add NO_MATHERR.
7407
dd432f16
DL
74082000-06-01 Dave Love <fx@gnu.org>
7409
90aa4ea8
DL
7410 * cmds.c (internal_self_insert): Don't check
7411 Vbefore_change_function, Vafter_change_function.
7412
7413 * insdel.c (signal_before_change, signal_after_change): Likewise.
7414
7415 * buffer.c (Vbefore_change_function, Vafter_change_function):
7416 Variables and their initializations deleted.
7417
2330c9d4
DL
7418 * callint.c (Fcall_interactively): Doc fix.
7419
dd432f16
DL
7420 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7421
bf9e8804
DL
74222000-05-31 Dave Love <fx@gnu.org>
7423
7424 * textprop.c: Revert last change -- duplicated.
7425
3694b4ab
GM
74262000-05-31 Gerd Moellmann <gerd@gnu.org>
7427
7428 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7429 in #if 0.
7430
7431 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7432
f14156cd
JR
74332000-05-31 Jason Rumney <jasonr@gnu.org>
7434
8119aab8
JR
7435 * search.c (Fre_search_forward, Fre_search_backward)
7436 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7437
f14156cd
JR
7438 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7439
4aab9be3
JR
74402000-05-30 Jason Rumney <jasonr@gnu.org>
7441
7442 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7443 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7444
7445 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
7446 member.
7447
7448 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7449 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7450 expand a nil default_filename.
7451
7452 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7453 pointer to glyph_to_pixel_coords, not a frame.
7454
7455 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7456 coding.h to dependencies.
7457
7458 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7459
7460 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7461 window pointer to be consistent with w32term.c and xterm.c.
7462
7463 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7464 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7465 (Qline_spacing, Qcenter): New variables.
7466 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7467 (x_set_line_spacing): New function.
7468 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
7469 macros.
7470 (x_specified_cursor_type): New function.
7471 (x_set_cursor_type): Use it.
7472 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7473 and icon strings.
7474 (validate_x_resource_name, x_get_resource_string): Measure lengths
7475 of external strings in bytes.
7476 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7477 GetTextExtentPoint32 with NULL title.
7478 (Fx_create_frame): Initialize Qline_spacing.
7479 (w32_load_system_font): Initialize font->double_byte_p.
7480 (x_to_w32_charset): Use Vw32_charset_info_alist.
7481 (Image, busy cursor, tooltip functions): Merged changes from
7482 xfns.c. Not yet functional on Windows.
7483
7484 * w32gui.h (W32FontStruct): Add double_byte_p member.
7485
7486 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7487 (emacs_button_translation): Use it.
7488 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7489 in `mask' to be set.
7490
7491 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7492 menu strings.
7493
7494 * w32term.c: Format and doc changes to bring closer to xterm.c.
7495 (w32_char_font_type): New enum.
7496 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7497 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7498 (w32_encode_char): New function.
7499 (x_encode_char): Removed.
7500 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7501 x_encode_char and w32_font_is_double_byte.
7502 (x_produce_image_glyph): Use image_ascent.
7503 (x_produce_glyphs): Use new version of w32_per_char_metric and
7504 handle NULL return value. Allow extra line spacing.
7505 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7506 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7507 w32_font_type member of glyph instead.
7508 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7509 (fast_find_position): Make sure not to consider rows not visible
7510 in the window.
7511 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7512 w32_menu_display_help with input blocked, as it can abort.
7513 (x_display_and_set_cursor): Choose cursor depending
7514 on buffer-local value of cursor_type.
7515 (x_draw_bar_cursor): Add parameter WIDTH.
7516
7517 * w32term.h (CP_DEFAULT): Define.
7518 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7519
10fc3187
GM
75202000-05-30 Gerd Moellmann <gerd@gnu.org>
7521
7522 * search.c (Fre_search_forward, Fre_search_backward)
7523 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7524
d0555360
KH
75252000-05-30 Kenichi Handa <handa@etl.go.jp>
7526
7527 * coding.c (detect_coding_iso2022): Fix code for checking
7528 CODING_CATEGORY_MASK_ISO_8_2.
7529
f1ad044f
SM
75302000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7531
7532 * regex.c (PREFETCH_NOLIMIT): New function.
7533 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7534
84ec3b4b
GM
75352000-05-29 Gerd Moellmann <gerd@gnu.org>
7536
66254a13
GM
7537 * syntax.c (find_defun_start): Move test for
7538 open_paren_in_column_0_is_defun_start outside of the loop.
7539
49e70dec
GM
7540 * xdisp.c (redisplay_window): Really switch buffers when
7541 displaying mode lines, and temporarily set selected_frame to the
7542 frame of the window that's redisplayed.
7543
84ec3b4b
GM
7544 * xfaces.c (free_realized_faces): Block/unblock input.
7545 (free_realized_multibyte_face): Ditto.
7546
869a3a14
DL
75472000-05-29 Dave Love <fx@gnu.org>
7548
7549 * textprop.c (Qkeymap): New variable.
7550 (syms_of_textprop): Intern it.
7551
7552 * keymap.c: Include intervals.h.
7553 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7554
7555 * Makefile.in (keymap.o): Depend on intervals.h.
7556
7557 * keyboard.c (menu_bar_items, tool_bar_items)
7558 (Fexecute_extended_command): Deal with `keymap' property.
7559 (read_key_sequence): Track map from `keymap' property as well as
7560 `local_map'.
7561
7562 * intervals.c (get_local_map): Extra arg to allow looking for
7563 `keymap' too.
7564
7565 * intervals.h (map_property): New enum.
7566 (get_local_map): Extra arg using it.
7567 (Qkeymap): Declare.
7568
84ec3b4b 7569 * lisp.h (get_local_map): Don't declare here.
869a3a14 7570
89d0c844
KH
75712000-05-29 Kenichi Handa <handa@etl.go.jp>
7572
7573 * Makefile.in (callproc.o): Depend on composite.h.
7574
7575 * callproc.c: Include composite.h.
7576 (Fcall_process): Handle composition correctly.
7577
7578 * coding.h (coding_allocate_composition_data): Extern it.
7579 (coding_restore_composition): Likewise.
7580
7581 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
7582 yet allocated, finish decoding with result
7583 CODING_FINISH_INSUFFICIENT_CMP.
7584 (coding_allocate_composition_data): Make it non-static.
7585 (coding_restore_composition): Likewise.
7586
797a084a
EZ
75872000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
7588
7589 * charset.c (syms_of_charset): Revert last change.
7590
cf872af5
EZ
75912000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7592
7593 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
7594 charsets as unibyte, with 1-column screen width. Sent by Kenichi
7595 Handa.
cf872af5 7596
5b1ae051
EZ
75972000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7598
7599 * charset.c (syms_of_charset): Set width of character sets
7600 eight-bit-control and eight-bit-graphic to 1 column.
7601
34ec9ebe
GM
76022000-05-26 Gerd Moellmann <gerd@gnu.org>
7603
7604 * config.in (HAVE_SPEED_T): New define.
7605
7606 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
7607 `extern speed_t'.
7608
dd854dc2
DL
76092000-05-26 Dave Love <fx@gnu.org>
7610
7611 * coding.c (shrink_decoding_region): Initialize eol_conversion.
7612
7613 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
7614 (Fsubr_arity): New function.
7615 (syms_of_data): Install them.
7616
ba9f8f95
KH
76172000-05-26 Kenichi Handa <handa@etl.go.jp>
7618
0f3e0672
KH
7619 * charset.c (init_charset_once): Set the table bytes_by_char_head
7620 correctly.
7621
cebefb44
KH
7622 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
7623 the default fontset to what Emacs uses by default.
0f3e0672
KH
7624 (check_registry_encoding): This function deleted.
7625 (Fset_fontset_font): Remove the adhoc condition for the default
7626 fontset. Allow cons in FONTNAME.
cebefb44 7627
0f3e0672
KH
7628 * fns.c (map_char_table): Ignore char-table entries for
7629 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 7630
7a18af49
KR
76312000-05-25 Ken Raeburn <raeburn@gnu.org>
7632
7633 * emacs.c (main): Initialize keyboard syms before initializing
7634 window code, so face names are available.
7635
d2af47df
SM
76362000-05-25 Stefan Monnier <monnier@cs.yale.edu>
7637
7638 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
7639 of an anchor at the beginning of a shy-group.
7640
fc6a6a4e
GM
76412000-05-25 Gerd Moellmann <gerd@gnu.org>
7642
7643 * xdisp.c (handle_invisible_prop): Don't try to skip over
7644 invisible text if end of text is already reached.
7645
005f0d35
DL
76462000-05-25 Dave Love <fx@gnu.org>
7647
02513cdd
DL
7648 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
7649
005f0d35
DL
7650 * coding.c (encode_eol): Add null statement after label.
7651
89f6ca4e
EZ
76522000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
7653
7654 * w16select.c (Fw16_set_clipboard_data): Fix the change from
7655 2000-05-20.
7656
a4e1759e
KH
76572000-05-25 Kenichi Handa <handa@etl.go.jp>
7658
7659 * ccl.c (ccl_driver): Fix previous change.
7660
eacfd7fe
KH
76612000-05-25 Kenichi Handa <handa@etl.go.jp>
7662
46ab33a9
KH
7663 * coding.c (run_pre_post_conversion_on_str): Set point to the
7664 beginning of buffer before calling coding->post_read_conversion.
7665 (decode_coding_string): Give correct args to
7666 run_pre_post_conversion_on_str.
7667 (encode_coding_string): Likewise.
7668
eacfd7fe
KH
7669 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
7670 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
7671 eight-bit-graphic correctly.
7672
f8569325
DL
76732000-05-24 Kenichi HANDA <handa@etl.go.jp>
7674
7675 * fileio.c (Finsert_file_contents): Even if a file is not found,
7676 execute codes for setting up coding system. Call
7677 after-insert-file-functions unconditionally.
7678
04545643
GM
76792000-05-24 Gerd Moellmann <gerd@gnu.org>
7680
7681 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
7682 BSD_PGRPS are not defined.
7683
747d90ea
KH
76842000-05-24 Kenichi Handa <handa@etl.go.jp>
7685
7686 * charset.c (update_charset_table): Accept nil in LONG_NAME and
7687 DESCRIPTION.
7688 (syms_of_charset): Avoid building same strings.
7689
716e3b88
GM
76902000-05-23 Gerd Moellmann <gerd@gnu.org>
7691
7692 * lread.c (Fload): Add a comment about the meaning of
7693 Vuser_init_file being t.
7694
7695 * puresize.h (BASE_PURESIZE): Increase to 675000.
7696
7697 * s/gnu-linux.h (setpgrp): Don't define it here because this
7698 prevents compilation on GNU/Linux systems with glib 2.2.
7699
7700 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
7701 as setpgid.
427ec082 7702
9aeb39fa
EZ
77032000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
7704
7705 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
7706 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
7707 version.
7708 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
7709
29ced61b
KH
77102000-05-23 Kenichi Handa <handa@etl.go.jp>
7711
0574a2ed
KH
7712 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
7713 unconditionally.
7714
3d80f24d
KH
7715 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
7716
7717 * term.c (encode_terminal_code): Set coding->src_multibyte
7718 properly.
7719
29ced61b
KH
7720 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
7721
d7e00792
KH
77222000-05-22 Kenichi Handa <handa@etl.go.jp>
7723
c9d80d38
KH
7724 * keyboard.c (read_char): Allow character codes 128..255 to be
7725 handled by input-method-function.
7726
d7e00792
KH
7727 * insdel.c (adjust_markers_for_replace): Fix previous change.
7728 (adjust_after_replace): If PREV_TEXT is nil, call
7729 adjust_markers_for_insert, not adjust_markers_for_replace.
7730
087121cc 77312000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 7732
087121cc
GM
7733 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
7734 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
7735 [HAVE_GRANDPT]: Define.
7736 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
7737
7738 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
7739 like SYSV_PTYS.
7740
7741 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
7742
7743 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
7744
c9671f81
KH
77452000-05-20 Kenichi Handa <handa@etl.go.jp>
7746
7747 The following changes are to handle 8-bit characters in a
7748 multibyte buffer/string without facing with byte combining
7749 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
7750 eight-bit-graphic (for 0xA0..0xFF) are introduced.
7751
7752 * Makefile.in (fns.o): Depend on charset.h.
7753
7754 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
7755 convert it to unibyte.
7756 (make_string): Use parse_str_as_multibyte, not chars_in_text.
7757
7758 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
7759 apparent char boundary.
7760 (Fset_buffer_multibyte): Convert 8-bit characters in the range
7761 0x80..0x9F to/from multibyte form.
7762
7763 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
7764 to unibyte.
7765
7766 * callproc.c (Fcall_process): Always encode an argument string if
7767 it is multibyte. Setup src_multibyte and dst_multibyte members of
7768 process_coding properly.
ce75fd23 7769
c9671f81
KH
7770 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
7771 SPLIT_NON_ASCII_CHAR.
7772
7773 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
7774 as is.
7775 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
7776
7777 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
7778 variables.
7779 (SPLIT_CHARACTER_SEQ): This macro deleted.
7780 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
7781 valid.
7782 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
7783 and eight-bit-graphic.
7784 (char_to_string): Likewise. Signal an error for too large
7785 character code.
7786 (char_printable_p): Return 0 for 8-bit characters.
7787 (update_charset_table): Update iso_charset_table only when a final
7788 character is non-negative.
7789 (find_charset_in_text): Renamed from find_charset_in_str.
7790 Arguments and return value changed. Callers changed.
7791 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
7792 be -1 if CHARSET is used only internally.
7793 (Fmake_char_internal): Handle new charsets; eight-bit-control and
7794 eight-bit-graphic.
7795 (Fcharset_after): Simplified.
7796 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
7797 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
7798 (multibyte_chars_in_text): Simplified by assuming there's no
7799 invalid multibyte sequence.
7800 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
7801 str_as_unibyte): New functions.
7802 (Fstring): Simpified by assuming that byte combining never
7803 happens.
7804 (init_charset_once): Initialization for
7805 LEADING_CODE_8_BIT_CONTROL.
7806 (syms_of_charset): Intern and staticpro Qeight_bit_control and
7807 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
7808 eight-bit-control and eight-bit-graphic.
7809
7810 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
7811 CHARSET_8_BIT_GRAPHIC): New macros.
7812 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
7813 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
7814 (CHARSET_REVERSE_CHARSET): Likewise.
7815 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
7816 eight-bit-graphic.
7817 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
7818 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
7819 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
7820 encounter an invalid multibyte sequence.
7821 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
7822 sequence is always valid.
7823 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
7824 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
7825 macros.
7826 (CHAR_STRING): For 8-bit characters, call char_to_string.
7827 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
7828 multibyte sequence is always valid.
7829 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
7830 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
7831 str_as_unibyte): Extern them.
7832 (BCOPY_SHORT): Fix a bug.
7833 (CHAR_LEN): This macro deleted. Callers changed to use
7834 CHAR_BYTES.
7835 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
7836 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
7837 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
7838
bd4bde7f 7839 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
7840 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
7841 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
7842 EMIT_BYTES): New macros.
7843 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
7844 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
7845 macros deleted.
7846 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
7847 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
7848 check the validity of multibyte sequence.
7849 (decode_coding_emacs_mule): New function.
7850 (encode_coding_emacs_mule): New macro.
7851 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
7852 the source.
7853 (DECODE_ISO_CHARACTER): Just return a character code.
7854 (DECODE_COMPOSITION_START): Set coding->result instead of result.
7855 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
7856 EMIT_CHAR to produced decoded characters. Exit the loop only by
7857 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
7858 block here.
7859 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
7860 only position codes for an invalid character.
7861 (encode_designation_at_bol): Return new destination pointer. 5th
7862 arg DSTP is changed to DST.
7863 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
7864 from the source by ONE_MORE_CHAR. Don't handle the case of last
7865 block here.
7866 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
7867 macros deleted.
7868 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
7869 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
7870 TWO_MORE_BYTES to fetch a byte from the source.
7871 (encode_eol): Pay attention to coding->src_multibyte.
7872 (detect_coding, detect_eol): Preserve members src_multibyte and
7873 dst_multibyte.
7874 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
7875 (encoding_buffer_size): Set magnification to 3 for all coding
7876 systems that require encoding.
7877 (ccl_coding_driver): For decoding, be sure that the result is
7878 valid multibyte sequence.
7879 (decode_coding): Initialize coding->errors and coding->result.
7880 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
7881 and raw-text, always call decode_eol. Handle the case of last
7882 block here. If not coding->dst_multibyte, convert the resulting
7883 sequence to unibyte.
7884 (encode_coding): Initialize coding->errors and coding->result.
7885 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
7886 and raw-text, always call encode_eol. Handle the case of last
7887 block here.
7888 (shrink_decoding_region, shrink_encoding_region): Detect cases
7889 that we can't skip data more rigidly.
7890 (code_convert_region): Setup src_multibyte and dst_multibyte
7891 members of coding. For decoding, if the buffer is multibyte,
7892 convert the source sequence to unibyte in advance. For encoding,
7893 if the buffer is multibyte, convert the resulting sequence to
7894 multibyte afterward.
7895 (run_pre_post_conversion_on_str): New function.
7896 (code_convert_string): Deleted and divided into the following two.
7897 (decode_coding_string, encode_coding_string): New functions.
7898 (code_convert_string1, code_convert_string_norecord): Call one of
7899 above.
7900 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
7901 MAKE_NON_ASCII_CHAR.
7902 (Fset_terminal_coding_system_internal,
7903 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
7904 and dst_multibyte members.
7905 (init_coding_once): Initialize iso_code_class with new enum
7906 ISO_control_0 and ISO_control_1.
7907
7908 * coding.h (enum iso_code_class_type): Member ISO_control_code is
7909 devided into ISO_control_0 and ISO_control_1.
7910 (struct coding_system): New members src_multibyte, dst_multibyte,
7911 errors, and result. Delete member fake_multibyte.
7912 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
7913 nonzero.
7914 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
7915 nonzero.
7916
7917 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
7918 (Faset): Likewise.
7919
7920 * editfns.c (Fformat): Be sure to convert 8-bit characters to
7921 multibyte form.
7922 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
7923 combining occurs.
7924 (Ftranspose_region): Delete codes for handling byte combining.
7925
7926 * fileio.c (Finsert_file_contents): Setup src_multibyte and
7927 dst_multibyte members of coding. On handling REPLACE on unibyte
7928 buffer, convert the result of decode_coding to unibyte. On
7929 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 7930 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
7931 multibyteness of the source (buffer or string).
7932
7933 * fns.c (concat): Handle 8-bit characters correctly.
7934 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
7935 unibyte in the result.
7936 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
7937 valid multibyte form in the result.
7938 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
7939 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
7940 return -1, signal an error.
7941 (base64_encode_1): New arg MULTIBYTE. Get each character by
7942 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
7943 character is found, return -1.
7944 (Fbase64_decode_region): Delete codes for handling byte-combining.
7945 Treat each decoded byte as a unibyte character.
7946 (Fbase64_decode_string): Return unibyte string.
7947 (Fcompare_strings, concat, string_byte_to_char): Use
7948 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
7949 FETCH_STRING_CHAR_ADVANCE.
7950 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
7951 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
7952
7953 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
7954 SPLIT_NON_ASCII_CHAR.
7955 (fontset_ref_via_base, fontset_set): Likewise
7956
7957 * insdel.c (adjust_markers_for_record_delete): Deleted.
7958 (adjust_markers_for_insert): Argument changed. Caller changed.
7959 (adjust_markers_for_replace): Likewise.
7960 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
7961 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
7962 (copy_text): Delete unused local varialbe c_save. For converting
7963 to multibyte, be sure to make all 8-bit characters in valid
7964 multibyte form.
7965 (count_size_as_multibyte): Handle 8-bit characters correctly.
7966 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
7967 adjust_after_replace, replace_range, del_range_2)
7968 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
7969 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
7970 adjust_after_replace, replace_range, del_range_2) Delete codes for
7971 handling byte combining.
7972 (adjust_before_replace): Deleted.
427ec082 7973
c9671f81
KH
7974 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
7975 SPLIT_NON_ASCII_CHAR.
7976 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
7977 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
7978 unconditionally.
7979 (Fkey_description): Likewise.
7980
7981 * lread.c (read1): On reading multibyte string, be sure to make
7982 all 8-bit chararacters in valid multibyte form.
7983 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
7984
7985 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
7986 unconditionally.
7987
7988 * process.c (Fstart_process): GCPRO current_dir before calling
7989 Ffind_operation_coding_system. Encode arguments here.
7990 (create_process): Don't encode arguments here. Setup
7991 src_multibyte and dst_multibyte members of struct coding.
7992 (read_process_output): Setup src_multibyte and dst_multibyte
7993 members of struct coding. If the output is to multibyte buffer,
7994 always decode the output of the process. Adjust the
7995 representation of 8-bit characters to the multibyteness of the
7996 output.
7997 (send_process): Setup coding->src_multibyte according to the
7998 multibyteness of the source.
7999
8000 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
8001 unconditionally.
8002 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8003 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8004
8005 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
8006 CHAR_LEN.
8007
8008 * w16select.c (Fw16_set_clipboard_data): Setup members
8009 src_multibyte and dst_multibyte of coding. Adjusted for the
8010 change for find_charset_in_str.
8011 (Fw16_get_clipboard_data): Likewise.
8012
8013 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8014 dst_multibyte of coding.
8015 (x_to_w32_font): Likewise.
8016
8017 * w32select.c (Fw32_set_clipboard_data): Setup members
8018 src_multibyte and dst_multibyte of coding. Adjusted for the
8019 change for find_charset_in_str.
8020 (Fw32_get_clipboard_data): Likewise.
8021
8022 * xdisp.c (get_next_display_element): Handle 8-bit characters
8023 correctly.
8024 (next_element_from_display_vector): Use CHAR_BYTES instead of
8025 CHAR_LEN.
8026 (disp_char_vector): Use SPLIT_CHAR instead of
8027 SPLIT_NON_ASCII_CHAR.
8028
8029 * xselect.c (selection_data_to_lisp_data): Setup members
8030 src_multibyte and dst_multibyte of coding. Adjusted for the
8031 change for find_charset_in_str.
8032 (lisp_data_to_selection_data): Likewise.
8033
5f64c9e0
GM
80342000-05-19 Gerd Moellmann <gerd@gnu.org>
8035
2b63d473
GM
8036 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
8037 buffer.
8038
5f64c9e0
GM
8039 * dispextern.h (Vimage_types): Add extern declaration.
8040
8041 * xdisp.c (Vimage_types): Moved here from xfns.c.
8042 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8043
8044 * xfns.c (Vimages_types): Moved to xdisp.c.
8045 (syms_of_xfns): Move `image-types' to xdisp.c.
8046
8047 * w32fns.c (Vimage_types): Removed.
8048 (syms_of_w32fns): Remove `image-types'.
8049
813086ea
KH
80502000-05-18 Kenichi Handa <handa@etl.go.jp>
8051
8052 * fns.c (map_char_table): Pay attention to character number of
8053 charset. Check the validity of charset at the first level. For
8054 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8055 the default value.
8056
8057 * fontset.c: Include "buffer.h".
8058 (fs_load_font): If the face has fontset, record the face ID in
8059 that fontset.
8060 (Finternal_char_font): New function.
8061 (accumulate_font_info): New function.
8062 (Ffontset_info): Rewritten for the new fontset implementation.
8063 (syms_of_fontset): Register Vdefault_fontset in the first element
8064 of Vfontset_table. Include Vdefault_fontset in
8065 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8066 function.
8067
bdaebbf0
DL
80682000-05-16 Dave Love <fx@gnu.org>
8069
8070 * m/iris5d.h: Deleted -- unused.
8071
cb613bb8
GM
80722000-05-16 Gerd Moellmann <gerd@gnu.org>
8073
b15f3b77
GM
8074 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8075 `invalid' instead of `illegal'.
8076
8077 * indent.c (Fmove_to_column): When ending within a tab, insert
8078 spaces first so that markers at the end of the tab get adjusted.
8079
835c1b36
GM
8080 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8081 buffer list that wasn't selected in that frame.
8082
cb613bb8
GM
8083 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8084 is needed on mescaline, use a 2 char prefix, and call
8085 make_temp_name with second arg non-zero.
8086
8087 * fileio.c (make_temp_name): New function, extracted from
8088 Fmake_temp_name.
8089 (Fmake_temp_name): Use it.
8090
f685bea9
EZ
80912000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8092
8093 * window.c (coordinates_in_window): Subtract 1 when computing
8094 right_x.
8095
a1b8d58b
GM
80962000-05-15 Gerd Moellmann <gerd@gnu.org>
8097
8098 * Makefile.in (lisp): Add env.elc.
8099
8100 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8101
a265079f
GM
81022000-05-12 Gerd Moellmann <gerd@gnu.org>
8103
8104 * search.c (Freplace_match): Handle case of `\N' in the
8105 replacement when there's no group N.
8106
da4496b6
GM
81072000-05-11 Gerd Moellmann <gerd@gnu.org>
8108
0ace421a
GM
8109 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8110 of the message to message_dolog.
8111
1172eb8d
GM
8112 * keyboard.c (read_char): Don't clear current message for help
8113 events; let the code handling help events handle this. Change
8114 code detecting help events that should be ignored.
8115
da4496b6
GM
8116 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8117 we're interating over a string.
8118
0623e40f
DL
81192000-05-09 Dave Love <fx@gnu.org>
8120
8121 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8122 that offset before writing. Move gcpro region past call of
8123 Ffile_regular_p.
8124
bae2503b
DL
81252000-05-04 Dave Love <fx@gnu.org>
8126
8127 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8128
ec82fb2f
GM
81292000-05-04 Gerd Moellmann <gerd@gnu.org>
8130
8131 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8132 of inserted characters when BUF equals the current buffer, and PT
8133 is in front of or equal to FROM.
8134
cbf18892
GM
81352000-05-03 Gerd Moellmann <gerd@gnu.org>
8136
4ff40dd0
GM
8137 * xdisp.c (handle_single_display_prop): If display property value
8138 is invalid, or something not supported on the frame, restore
8139 iterator's position to what it was initially. Make sure to return
8140 0 for invalid and unsupported property values.
8141
cbf18892
GM
8142 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8143 that x_per_char_metric returns null.
8144
1b0672c3
GM
81452000-05-02 Gerd Moellmann <gerd@gnu.org>
8146
576da55d
GM
8147 * xterm.h (struct face): Add forward declaration.
8148 (struct image): Ditto.
8149 (image_ascent): Add prototype.
8150
8151 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8152 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8153 image_ascent instead of using IMAGE_ASCENT.
8154
8155 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8156 (IMAGE_ASCENT): Removed.
8157
8158 * xfns.c (Qcenter): New variable.
8159 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8160 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8161 (image_ascent): New function.
8162 (lookup_image): Recognize `:ascent center'.
8163 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8164 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8165 (xbm_load): Don't set image's ascent here.
8166 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8167 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8168 check ascent values here.
8169 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8170 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8171 (syms_of_xfns): Initialize Qcenter.
8172
1b0672c3
GM
8173 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8174 to the limits, increase the limits.
8175
0d7811ed
KH
81762000-05-01 Kenichi Handa <handa@etl.go.jp>
8177
8178 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
8179 Check Vfont_encoding_alist against the full name of the opened
8180 font.
8181
a943a5ca
GM
81822000-04-28 Gerd Moellmann <gerd@gnu.org>
8183
8184 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8185 taller than the window.
8186
5dba1e29
KH
81872000-04-28 Kenichi Handa <handa@etl.go.jp>
8188
8189 * xfaces.c (realize_x_face): Fix the argument of the second
8190 xassert. BASE_FACE may not be a face for ASCII.
8191
353964e3
GM
81922000-04-27 Gerd Moellmann <gerd@gnu.org>
8193
c76e04a8
GM
8194 * print.c (print_object): Treat print-length < 0 as nil.
8195
8196 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8197
8198 * s/freebsd.h (TERMCAP_OBJ): Removed.
8199 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8200
8201 * lread.c (read1): Don't treat period followed by certain
8202 characters as symbol start.
8203
8204 * xfns.c (slurp_file): New function.
8205 (xbm_image_p): Handle case of in-memory XBM files.
8206 (xbm_scan): Rewritten to work on memory buffers instead of files.
8207 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8208 Work on memory buffers instead of files. If DATA is null test
8209 if buffer looks like an in-memory XBM file.
8210 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8211 memory buffers instead of files.
8212 (xbm_file_p): New function.
8213 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8214
353964e3
GM
8215 * lread.c (end_of_file_error): New function.
8216 (read1): Call it instead of signaling `end-of-file' directly.
8217
427ec082 8218 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8219 with Fprinc instead of Fprin1.
8220
24d744ac
KR
82212000-04-26 Ken Raeburn <raeburn@gnu.org>
8222
8223 * window.c (freeze_window_start): Check that minibuffer scroll
8224 window isn't nil before extracting the window structure pointer
8225 from it.
8226
8227 * undo.c (record_delete): If we hit the end of the undo list, stop
8228 picking elements apart.
8229
7464346d
GM
82302000-04-26 Gerd Moellmann <gerd@gnu.org>
8231
8232 * xdisp.c (display_line): If lines are continued, restore
8233 iterator's ascent/descent information to the values before the
8234 first glyph not fitting on the line.
8235
612839b6
GM
82362000-04-25 Gerd Moellmann <gerd@gnu.org>
8237
8238 * xdisp.c (try_window_id) <all changes above window start>: Adjust
8239 positions in glyph matrix. Don't compute new window end
8240 positions.
8241
8242 * dispnew.c (increment_matrix_positions): Renamed from
8243 increment_glyph_matrix_buffer_positions.
8244 (increment_row_positions): Renamed from
8245 increment_glyph_row_buffer_positions.
8246
8247 * dispextern.h: Change names of renamed functions from dispnew.c
8248 in prototypes.
8249
cc181e95
GM
82502000-04-24 Gerd Moellmann <gerd@gnu.org>
8251
abfcc168
GM
8252 * fileio.c (Fdo_auto_save): Create directories for auto-save
8253 list file if necessary.
8254
cc181e95
GM
8255 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8256 from buffer or frame.
8257 (automatic_hscrolling_p): New variable.
8258 (hscroll_windows): Scroll windows horizontally only if automatic
8259 hscrolling is allowed.
8260 (syms_of_xdisp): New variable `automatic-hscrolling'.
8261
8262 * frame.h (struct frame): Add member extra_line_spacing.
8263
8264 * xfns.c (x_set_line_spacing): New function.
8265 (Fx_create_frame): Set line spacing from resources.
8266 (Qline_spacing): New variable.
8267 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8268
cc181e95
GM
8269 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8270
8271 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8272 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8273 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8274 extra_line_spacing from default value.
8275 (init_buffer_once): Initialize default value of extra_line_spacing.
8276
8277 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8278 and extra3.
8279
8280 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8281 prompt_width. Add extra line spacing.
8282
8283 * term.c (produce_glyphs): Remove reference to struct it's
8284 prompt_width.
8285
8286 * dispextern.h (struct it): Remove member prompt_width, add
8287 extra_line_spacing.
8288
58827478
GM
82892000-04-22 Gerd Moellmann <gerd@gnu.org>
8290
8291 * dispnew.c (update_frame_line): When writing a whole line, make
8292 sure cursor is in the right row afterwards, otherwise a use of
8293 capability `ch' in cmgoto might leave the cursor in the row below.
8294
25a87f42
GM
82952000-04-21 Gerd Moellmann <gerd@gnu.org>
8296
8297 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8298
8299 * keyboard.c (timer_check): Fix typo in comment.
8300
54edf5c2
KH
83012000-04-21 Kenichi Handa <handa@etl.go.jp>
8302
8303 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8304 name change: ch -> character.
8305
3a64eef5
GM
83062000-04-20 Gerd Moellmann <gerd@gnu.org>
8307
8308 * keyboard.c (echo_message_buffer): New variable.
8309 (echo_now): Set echo_message_buffer to the echo area buffer used
8310 to display the echo.
8311 (cancel_echoing): Reset echo_message_buffer to nil.
8312 (read_char): Code rewritten that handles canceling an echo or
8313 echoing a dash, respectively.
8314
8315 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8316 directory doesn't exist.
8317
6142fdcb
DL
83182000-04-19 Dave Love <fx@gnu.org>
8319
8320 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8321 (concat): Don't allow numeric args.
8322 (Fconcat): Doc change.
6142fdcb 8323
ac6b5352
SM
83242000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8325
8326 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8327 instead define end_match(1|2) more carefully.
8328 Use GET_CHAR_BEFORE_2 for `begline'.
8329
cb9215e4
GM
83302000-04-19 Gerd Moellmann <gerd@gnu.org>
8331
5e3dac3f
GM
8332 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8333 on 64-bit systems where NULL is defined as `0'.
8334
8335 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8336 the `variable argument list' to make it work on Alpha.
8337
cb9215e4
GM
8338 * m/alpha.h (_LP64) [!_LP64]: Define.
8339 (ORDINARY_LINK): Define for NetBSD.
8340
8341 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8342
f532dca0
DL
83432000-04-19 Dave Love <fx@gnu.org>
8344
c750667e
DL
8345 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8346 change.
8347
8348 * Makefile.in (LIBS): Don't use.
8349 (GETLOADAVG_OBJ): Define again.
8350 (otherobj): Add GETLOADAVG_OBJ.
8351
f532dca0
DL
8352 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8353
1c7e22fd
GM
83542000-04-18 Gerd Moellmann <gerd@gnu.org>
8355
f6d3257b
GM
8356 * lread.c (read_filtered_event): Cancel and start busy cursor.
8357
427ec082 8358 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8359 that the per-character metrics may be null.
8360
e10f64e7
GM
83612000-04-17 Gerd Moellmann <gerd@gnu.org>
8362
0daee095
GM
8363 * buffer.c (clone_per_buffer_values): New function.
8364 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8365 clone_per_buffer_values if CLONE is not nil.
8366
e10f64e7
GM
8367 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8368
38687d43
DL
83692000-04-16 Dave Love <fx@gnu.org>
8370
8371 * Makefile.in: Remove obsolete localcpp stuff.
8372 (GETLOADAVG_OBJ): Don't define.
8373 (obj): Move LIBOBJS...
8374 (otherobj): ... to here.
8375 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8376 whitespace-only lines after the continuation (Irix).
8377
c21c7262
GM
83782000-04-14 Gerd Moellmann <gerd@gnu.org>
8379
8380 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8381
8382 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8383
314767c0
DL
83842000-04-14 Dave Love <fx@gnu.org>
8385
8386 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8387 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8388 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8389 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8390 NLIST_STRUCT.
8391
8392 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8393 autoconfiscated HAVE_GETLOADAVG.
8394
8395 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8396 BROKEN_MKTIME.
8397
a2522dca
GM
83982000-04-14 Gerd Moellmann <gerd@gnu.org>
8399
8400 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
8401 (fill_in_lock_file_name): Avoid existing files that aren't
8402 links.
8403
33744b5d
DL
84042000-04-14 Dave Love <fx@gnu.org>
8405
c21c7262 8406 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8407 (INTERVAL_SRC): Convert to make variable.
8408 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8409 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8410 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8411 add LIBOBJS.
8412 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8413 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8414 (shortlisp): Add facemenu, float-sup, frame.
8415 (SOME_MACHINE_LISP): Remove them from here.
8416 (LIBES): Change unused LDLIBS to autoconf LIBS.
8417
8418 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8419
9d3d5916
KH
84202000-04-14 Kenichi Handa <handa@etl.go.jp>
8421
8422 * composite.c (update_compositions): If FROM and TO are not in a
8423 valid range, do nothing.
8424
198e3c7a
GM
84252000-04-13 Gerd Moellmann <gerd@gnu.org>
8426
8427 * tparam.c (tparam1): Abort when encountering an unknown
8428 `%'-specifier.
8429
8430 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
8431 terminfo.o.
8432
8433 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8434 as TERMCAP_OBJ.
8435
055a28c9
EZ
84362000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8437
8438 * fileio.c (a_write): Remove redundant semi-colons.
8439 (e_write): Return -1 if failed to write all the data.
8440 This fixes the changes made at 1999-12-15.
8441
f5c75033
DL
84422000-04-12 Dave Love <fx@gnu.org>
8443
8444 * fns.c (mapcar1): Test for null vals to support mapc.
8445 (Fmapc): New function.
8446
0c3cfc51
EZ
84472000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8448
8449 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8450 (IT_frame_up_to_date): Support the buffer local value of
8451 cursor-type, if defined.
8452
33465a31
DL
84532000-04-10 Dave Love <fx@gnu.org>
8454
8455 * editfns.c (preceding-char, following-char): Doc fix.
8456
6ed56568
KR
84572000-04-10 Ken Raeburn <raeburn@gnu.org>
8458
8459 * Makefile.in (temacs): Revert 2000-03-12 change.
8460
7cf80d4e
JR
84612000-04-10 Jason Rumney <jasonr@gnu.org>
8462
8463 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8464
34f3f342
GM
84652000-04-10 Gerd Moellmann <gerd@gnu.org>
8466
1a1b1895
GM
8467 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8468 area buffer, if it's not set up yet.
8469
34f3f342
GM
8470 * indent.c (compute_motion): Set immediate_quit.
8471
be0dbdab
GM
84722000-04-09 Gerd Moellmann <gerd@gnu.org>
8473
c45be9ac
GM
8474 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
8475 variable.
8476 (realize_tty_face): Suppress boldness if colors are the inverse of
8477 the default colors, and tty_suppress_bold_inverse_default_colors_p
8478 is set.
8479 (Ftty_suppress_bold_inverse_default_colors): New function.
8480 (syms_of_xfaces): Defsubr it.
8481
be0dbdab
GM
8482 * buffer.c (Frestore_buffer_modified_p): New function.
8483 (syms_of_buffer): Defsubr it.
8484
e8413c3b
KR
84852000-04-08 Ken Raeburn <raeburn@gnu.org>
8486
87f67317
KR
8487 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8488 charset id (int) argument, not a charset (Lisp_Object).
8489
e8413c3b
KR
8490 * coding.h (code_convert_string): Declare.
8491 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8492 object, as the fourth argument to code_convert_string.
8493
8494 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
8495 value.
8496 (Fset_fontset_font): Use EQ to compare lisp objects.
8497
7c752c80
KR
84982000-04-05 Ken Raeburn <raeburn@gnu.org>
8499
c0333abc
KR
8500 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8501 a pointer that looks like a lisp object.
8502 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8503 zero, instead see whether it's an integer object, since they can't
8504 have intervals.
8505 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8506
7c752c80
KR
8507 * dispnew.c (allocate_matrices_for_frame_redisplay,
8508 direct_output_forward_char): Use X(U)INT and make_number as needed
8509 to convert between (unsigned) int values and lisp integers.
8510 * keyboard.c (read_key_sequence): Likewise.
8511 * lread.c (substitute_object_recurse): Likewise.
8512 * fns.c (concat, hash_lookup, hash_remove): Likewise.
8513 * minibuf.c (do_completion, Fminibuffer_complete_word,
8514 Fminibuffer_completion_help): Likewise.
8515 * term.c (produce_special_glyphs): Likewise.
8516
8517 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8518 * print.c (print_preprocess, print_object): Likewise.
8519
8520 * search.c (compile_pattern): Use NILP when checking for nil.
8521
74e49b38
KR
8522 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8523 __OPTIMIZE__]: Provide a GNU C macro version that handles
8524 lisp-object unions.
8525 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8526 field, to better cope with ENABLE_CHECKING and calls that modify a
8527 Lisp_Object using its old value.
8528
685e5ed2
GM
85292000-04-04 Gerd Moellmann <gerd@gnu.org>
8530
c407c570
GM
8531 * window.c (compare_window_configurations): Signal an error
8532 if parameters C1 or C2 aren't window configurations.
8533
685e5ed2
GM
8534 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8535 AFTER_POTENTIAL_GC calls around calls to functions that can
8536 signal an error and thus invoke the debugger.
8537
587a49ab
GM
85382000-04-03 Gerd Moellmann <gerd@gnu.org>
8539
62f20204
GM
8540 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8541 an error if decoding fails.
8542
587a49ab
GM
8543 * keyboard.c (lispy_mouse_names): Variable removed.
8544 (Vlispy_mouse_stem): New variable.
8545 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8546 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8547 for any mouse button number. Increase size of mouse_syms and
8548 button_down_location as needed. Call modify_event_symbol with
8549 different arguments.
8550 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8551 Call modify_event_symbol with different arguments.
8552 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8553 for any button number. Call modify_event_symbol with different
8554 arguments.
8555 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8556 Accept a string for NAME_ALIST_OR_STEM.
8557
8558 * lisp.h (larger_vector): Add prototype.
8559
8560 * fns.c (larger_vector): Make externally visible.
8561
8562 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8563
2d1675e4
SM
85642000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8565
8566 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8567 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8568 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8569 we are between str1 and str2.
8570 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8571 (PATFETCH): Use `TRANSLATE'.
8572 (PATFETCH_RAW): Fetch multibyte char if applicable.
8573 (PATUNFETCH): Remove.
8574 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8575 When writing a char, write it directly into the pattern buffer rather
8576 than going needlessly through a temp char-array.
8577 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8578 multibyte magic and remove the useless `#ifdef emacs'.
8579 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8580 buffer.
8581
8582 * regex.h (struct re_pattern_buffer): Make field `multibyte'
8583 conditional on `emacs'.
8584
8585 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
8586
cc2d8c6b
KR
85872000-04-01 Ken Raeburn <raeburn@gnu.org>
8588
8589 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
8590 non-union-type versions of XMARK and friends here, because XMARK
8591 and friends won't work on an integer field if NO_UNION_TYPE is not
8592 defined.
8593 (make_number): Define as a function if it's not defined as a
8594 macro.
8595
09654086
KR
8596 * composite.c (run_composite_function): Use NILP when checking for
8597 nil.
8598 (syms_of_composite): Delete local var NARGS, pass an int as first
8599 argument to Fmake_hash_table.
8600
2387b382
KR
8601 * editfns.c (text_property_stickiness): Use NILP to test
8602 Lisp_Object boolean value.
8603 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
8604 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
8605 problems reading from and changing the same lisp value in an
8606 XSETSTRING call.
8607
27660e89
GM
86082000-04-01 Gerd Moellmann <gerd@gnu.org>
8609
8610 * term.c (TN_no_color_video): New variable.
8611 (term_init): Intitialize TN_no_color_video.
8612 (enum no_color_bit): New enumeration.
8613 (MAY_USE_WITH_COLORS_P): New macro.
8614 (turn_on_face): Use it to determine if attributes may be used
8615 combined with colors.
8616
3578db3c
KR
86172000-04-01 Ken Raeburn <raeburn@gnu.org>
8618
8619 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
8620 with int lvalues via casts; instead, just yield lisp object
8621 lvalues.
8622 (enlarge_window): Variable sizep now points to Lisp_Object. Use
8623 proper accessor macros.
8624 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
8625 (grow_mini_window): Fix typo getting int value of root->height.
8626
6fc556fd
KR
8627 * xdisp.c (compute_string_pos): Fix order of arguments to
8628 string_pos_nchars_ahead.
8629 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
8630 count arg to variable-arg routines like Frun_hook_with_args and
8631 Fformat.
587a49ab
GM
8632 (back_to_previous_visible_line_start)
8633 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
8634 fixed-arg routines like Fget_char_property and Fmake_string.
8635 (reconsider_clip_changes): Use XINT when comparing integer lisp
8636 objects, or passing them as int arguments.
587a49ab
GM
8637 (mark_window_display_accurate, insert_left_trunc_glyphs)
8638 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
8639 storing or passing integer values as lisp objects.
8640 (set_cursor_from_row, highlight_trailing_whitespace): Use
8641 INTEGERP, not implicit test against zero, for glyph object.
8642 (try_window_id): Don't use make_number when we want an int value.
8643
8644 * xfaces.c (xlfd_symbolic_value): Make last argument a
8645 Lisp_Object, to be consistent with callers.
8646 (Fbitmap_spec_p): Use XINT to get numeric value of height.
8647 (lface_hash): Apply XFASTINT to lisp values before folding in.
8648
8649 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
8650 fill in window width and height. Pass an int, not a lisp object,
8651 as first arg to Finsert.
8652
6e7b2457
GM
86532000-04-01 Gerd Moellmann <gerd@gnu.org>
8654
610d841e
GM
8655 * xfaces.c (realize_basic_faces): Block input while realizing
8656 the faces.
8657
6e7b2457
GM
8658 * keyboard.c (lispy_mouse_names): Add additional mouse names.
8659
8660 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
8661
aa110c0c
GM
86622000-03-31 Gerd Moellmann <gerd@gnu.org>
8663
8664 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 8665 or ASCII, handle case that per-char metric is null.
aa110c0c 8666
8801a864
KR
86672000-03-30 Ken Raeburn <raeburn@gnu.org>
8668
c6129d7e
KR
8669 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
8670
8801a864
KR
8671 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
8672 XSUBR, XBUFFER): Verify correct object type before returning
8673 pointer, using eassert.
8674 * frame.h (XFRAME): Likewise.
8675
8676 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
8677 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
8678 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
8679 type.
8680 * data.c (set_internal): Likewise.
8681 * dispextern.h (WINDOW_WANTS_MODELINE_P,
8682 WINDOW_WANTS_HEADER_LINE_P): Likewise.
8683 * fileio.c (auto_save_1): Likewise.
8684 * insdel.c (check_markers): Likewise.
8685 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
8686 * undo.c (record_insert): Likewise.
8687 * vmsproc.c (child_sig): Likewise.
8688 * window.c (unshow_buffer, window_loop): Likewise.
8689 * xterm.c (x_erase_phys_cursor): Likewise.
8690
8e7af858
GM
86912000-03-30 Gerd Moellmann <gerd@gnu.org>
8692
8693 * xfns.c (free_image_cache): Free the cache structure itself
8694 last, after all its members have been freed.
8695
8696 * lisp.h (xstrdup): Add prototype.
8697
8698 * alloc.c (xstrdup): Moved here from xfaces.c.
8699 (allocating_for_lisp): Variable removed.
8700 (lisp_malloc): Block input around the calls to malloc and
8701 mem_insert.
8702
8703 * xfaces.c (realize_tty_face): Use find_symbol_value instead
8704 of Fsymbol_value.
8705 (xstrdup): Moved to alloc.c.
8706
e0b8c689
KR
87072000-03-29 Ken Raeburn <raeburn@gnu.org>
8708
b96f9fb7
KR
8709 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
8710
8711 * emacs.c (main): Fix sense of no-loadup test.
8712
e0b8c689
KR
8713 * config.in (ENABLE_CHECKING): Undef.
8714
8715 * lisp.h (struct interval): Replace "parent" field with a union of
8716 interval pointer and Lisp_Object; add new bitfield to use as
8717 discriminant. Change other flag fields to bitfields.
8718 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
8719 is defined and the supplied test fails, print a message and
8720 abort.
8721 (eassert): New macro. Use CHECK to provide an assert-like
8722 facility.
8723
8724 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
8725 pointers; abort if the value looks like a lisp object.
8726 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
8727 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
8728 Modify for new interval parent definition.
8729
8730 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
8731 UNMARK_BALANCE_INTERVALS): Update references that need an
8732 addressable lisp object in the interval structure.
8733 (die): New function.
8734 (suppress_checking): New variable.
8735
8736 * intervals.c (interval_start_pos): Just return 0 if there's no
8737 parent object.
8738
f83c5440
GM
87392000-03-29 Gerd Moellmann <gerd@gnu.org>
8740
8741 * lread.c (read1): Accept `.' (period) as symbol start like in CL
8742 and earlier Emacs versions.
8743
8744 * keyboard.c (Ftop_level): Cancel busy-cursor.
8745
8746 * eval.c (call_debugger): Cancel busy-cursor.
8747
fdce64ff
KH
87482000-03-29 Kenichi Handa <handa@etl.go.jp>
8749
8750 * search.c (Freplace_match): Adjust multibyteness of the current
8751 buffer and NEWTEXT. Free allocated memory before signaling an
8752 error.
8753
f6a3f532
SM
87542000-03-28 Stefan Monnier <monnier@cs.yale.edu>
8755
8756 * regex.c (analyse_first): New function obtained by ripping out most
8757 of re_compile_fastmap and generalizing it a little bit so that it
8758 can also just return whether a given (sub)pattern can match the empty
8759 string or not.
8760 (regex_compile): Use `analyse_first' to decide whether the loop-check
8761 needs to be done or not for *, +, *? and +? (the loop check is costly
8762 for non-greedy repetition).
8763 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
8764
e9b309ac
DL
87652000-03-28 Dave Love <fx@gnu.org>
8766
bb15bd9a
DL
8767 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
8768 alpha.
8769
e9b309ac
DL
8770 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
8771
ed0767d8
SM
87722000-03-27 Stefan Monnier <monnier@cs.yale.edu>
8773
8774 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
8775 an expression.
8776 (enum re_opcode_t): Update description of succeed_n.
8777 (PATFETCH): Always define.
8778 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
8779 operators, char classes, shy-groups and intervals).
8780 Optimize special cases of intervals so as to only use succeed_n and
8781 jump_n when really needed.
8782 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
8783 that we don't have to handle the special cases any more.
8784 Simplify on_failure_jump handling as well.
8785
e11e7e46
JR
87862000-03-28 Jason Rumney <jasonr@gnu.org>
8787
8788 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
8789
88faab89
GM
87902000-03-27 Gerd Moellmann <gerd@gnu.org>
8791
182ff242
GM
8792 * s/freebsd.h (GC_SETJMP_WORKS): Define.
8793
8794 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 8795
182ff242
GM
8796 * alloc.c (mark_maybe_object): New function.
8797 (mark_memory): Use it.
8798 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
8799 (setjmp_tested_p, longjmp_done): New variables.
8800 (test_setjmp): New function.
8801 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
8802 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
8803
c1005d06
GM
8804 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
8805 to DEC_TEXT_POS and INC_TEXT_POS.
8806
8807 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
8808 with parameter MULTIBYTE_P.
8809
427ec082 8810 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
8811 MULTIBYTE_P.
8812
7439e5b9 8813 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
8814 buffers because it looks for multibyte character byte sequences
8815 which don't exist in unibyte text.
7439e5b9 8816
d9c545da
GM
8817 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
8818
11fd416e 8819 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
8820 [DEBUG_X_COLORS]: New functions.
8821 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
8822
8823 * xfns.c (x_set_cursor_color): Get color reference counts right.
8824
8825 * xterm.c (x_copy_color): New function.
8826 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
8827
8828 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
8829 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
8830 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
8831 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
8832 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
8833 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
8834 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
8835 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
8836 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
8837 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
8838
11fd416e
GM
8839 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
8840 names for handling per-buffer variables.
d9c545da
GM
8841
8842 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
8843 instead of MAX_BUFFER_LOCAL_VARS.
8844 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
8845
8846 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
8847
88faab89
GM
8848 * xfns.c (x_specified_cursor_type): New function.
8849 (x_set_cursor_type): Use it.
8850
8851 * buffer.h (struct buffer): Add cursor_type.
8852
d80f42b7
SM
88532000-03-26 Stefan Monnier <monnier@cs.yale.edu>
8854
8855 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 8856 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 8857 opcode.
d80f42b7
SM
8858 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
8859 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
8860 executing it as well as when popping it off the stack to find infinite
8861 loops in non-greedy repetition operators.
8862
89e80928
GM
88632000-03-26 Gerd Moellmann <gerd@gnu.org>
8864
3d4ff2dd
GM
8865 * doc.c (Qfunction_documentation): New variable.
8866 (syms_of_doc): Initialize Qfunction_documentation.
8867 (Fdocumentation): If FUNCTION is a symbol with non-nil
8868 `function-documentation' property, return a documentation derived
8869 from that.
8870
bd96bd79
GM
8871 * buffer.c (syms_of_buffer): Add default-cursor-type.
8872 (init_buffer_once): Don't let cursor_type have a local value
8873 in every buffer.
8874
19d1bc27
GM
8875 * xterm.c (x_display_and_set_cursor): Choose cursor depending
8876 on buffer-local value of cursor_type.
8877 (x_draw_bar_cursor): Add parameter WIDTH.
8878
8879 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
8880 (init_buffer_once): Set default cursor_type value to t.
8881 Mark cursor_type as local everywhere.
8882 (syms_of_buffer): New per-buffer variable cursor-type.
8883
89e80928
GM
8884 * buffer.h (struct buffer): Remove member local_var_flags,
8885 add local_flags.
8886 (MAX_BUFFER_LOCAL_VARS): New macro.
8887 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
8888 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
8889 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
8890 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
8891
8892 * print.c (print_object): Use new macros for per-buffer
8893 variables.
8894
8895 * category.c (Fset_category_table): Use new macros for per-buffer
8896 variables.
8897
8898 * buffer.c (buffer_permanent_local_flags): Make a char array.
8899 (max_buffer_local_idx): New variable.
8900 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
8901 for new handling of per-buffer variables.
8902 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
8903 (init_buffer_once): Initialize per-buffer vars differently.
8904 Set max_buffer_local_idx.
8905
8906 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
8907 variables.
8908
8909 * lread.c (defvar_per_buffer): Use new macros for per-buffer
8910 variables.
8911
8912 * data.c (do_symval_forwarding, store_symval_forwarding)
8913 (find_symbol_value, set_internal, default_value, Fset_default)
8914 (Fkill_local_variable, Flocal_variable_p): Use new macros for
8915 per-buffer variables.
8916
8917 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
8918
9a0dd3dc
GM
89192000-03-24 Gerd Moellmann <gerd@gnu.org>
8920
b68c375f
GM
8921 * xterm.c (x_term_init): Unblock input around call1 of
8922 Qvendor_specific_keysyms.
8923
9a0dd3dc
GM
8924 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
8925 (find_defun_start): Consider an open parenthesis in column 0
8926 a defun start only if open_paren_in_column_0_is_defun_start is set.
8927 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
8928
7973e637
SM
89292000-03-24 Stefan Monnier <monnier@cs.yale.edu>
8930
8931 * eval.c (Fautoload): Add entry in load-history (if after dump).
8932 * lread.c (load-history): Update docstring.
8933
39210e90
GM
89342000-03-24 Gerd Moellmann <gerd@gnu.org>
8935
8936 * indent.c (Fvertical_motion): Always use the current buffer.
8937 Temporarily change the window's buffer, if necessary.
8938
72db3ab5
GM
89392000-03-23 Gerd Moellmann <gerd@gnu.org>
8940
8941 * xterm.c (fast_find_position): Make sure not to consider rows
8942 not visible in the window.
8943
990b2375
SM
89442000-03-22 Stefan Monnier <monnier@cs.yale.edu>
8945
8946 * regex.c (enum syntaxcode): Provide default for non-Emacs.
8947 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
8948
ff4df011
JR
89492000-03-22 Jason Rumney <jasonr@gnu.org>
8950
8951 * w32menu.c (single_submenu): Set help string to NULL if none.
8952 (w32_menu_show): Set help string correctly.
8953 (add-menu-item): Set help string in MIIM_DATA for menu item.
8954 Load SetMenuItemInfoA explicitly.
8955 (w32_menu_display_help): New function.
427ec082 8956
ff4df011
JR
8957 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
8958 (QCdata): Moved to xdisp.c.
8959
8960 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
8961 (Vw32_charset_to_codepage_alist): Removed.
8962 (Vw32_charset_info_alist): New variable.
8963 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
8964 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
8965 greek, hebrew, thai, johab, mac, unicode]): New symbols.
8966 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
8967 with TODO comment.
8968 (w32_codepage_for_font): Use Vw32_charset_info_alist.
8969 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
8970 Define Vw32_charset_info_alist and w32_charset symbols.
8971
89722000-03-22 Jason Rumney <jasonr@gnu.org>
8973
8974 * makefile.nt (w32bdf.obj): Update dependencies.
8975
8976 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
8977
8978 * w32fns.c: Include fontset.h after dispextern.h.
8979 (Fx_create_frame): Do not create fontset.
8980 (w32_load_system_font): Doc fix.
8981 (Fx_close_connection): Free full_name if it is not shared.
8982
8983 * w32term.c: Include fontset.h after dispextern.h.
8984 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
8985 updated.
8986 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
8987 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
8988 (w32_font_is_double_byte): New function, needs body.
8989 (x_append_glyph): Set glyph->glyph_not_available_p.
8990 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
8991 it->charset. If it->multibyte_p is zero and it->c is a multibyte
8992 character, convert it to a unibyte character.
8993 (struct glyph_string): Delete member `charset'.
8994 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
8995 calculating it is found.
8996 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
8997 the case that per char metric is not available correctly.
8998 (x_fill_glyph_string): Handle the case that the specific glyph is
8999 not available correctly.
9000 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9001 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9002 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9003 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9004 fontset. Don't call FS_LOAD_FONT.
9005
439d5cb4
KR
90062000-03-22 Ken Raeburn <raeburn@gnu.org>
9007
9008 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9009 (INT_LISPLIKE): New macro.
9010 (NULL_INTERVAL_P): Use it.
9011 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
9012 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
9013 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
9014
9015 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9016 explicit references to "parent" field of struct interval and
9017 associated unclean type conversions.
9018 * intervals.c (create_root_interval, root_interval, rotate_right,
9019 rotate_left, balance_possible_root_interval, split_interval_right,
9020 split_interval_left, interval_start_pos, find_interval,
9021 next_interval, previous_interval, update_interval,
9022 adjust_intervals_for_insertion, delete_node, delete_interval,
9023 adjust_intervals_for_deletion, merge_interval_right,
9024 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
9025 copy_intervals_to_string): Likewise.
9026 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9027 Likewise.
9028 * syntax.c (update_syntax_table): Likewise.
9029
9030 * intervals.c (reproduce_tree_obj): New function, like
9031 reproduce_tree but takes a Lisp_Object for the parent. Declare
9032 with prototype.
9033 (graft_intervals_into_buffer): Use it when appropriate.
9034 (reproduce_tree): Declare with prototype.
9035 (balance_possible_root_interval): Check that the parent is a lisp
9036 object before trying to examine its type.
9037
ee1c5b21
GM
90382000-03-22 Gerd Moellmann <gerd@gnu.org>
9039
9040 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9041 as strings only if both are known to be strings.
9042
9043 * s/openbsd.h (LIBS_TERMCAP): Undef.
9044
1fb352e0
SM
90452000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9046
9047 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9048 definitions for non-Emacs compilation.
9049 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9050 outside of `#ifdef emacs'.
9051 (print_partial_compiled_pattern): Update.
9052 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9053 (re_compile_fastmap): Merge handling of charset and charset_not (for
9054 emacs and non-emacs compilation as well).
9055 Similarly for (not)categoryspec and (not)syntaxspec.
9056 Don't use the fastmap when reaching `anychar' since the added
9057 complexity is not justified.
9058 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9059 and (not)syntaxspec. Merge (not)categoryspec.
9060
fdaa1f77
KH
90612000-03-22 Kenichi Handa <handa@etl.go.jp>
9062
ff1a0d8e
KH
9063 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
9064 FACE_FOR_CHAR): Define them differently for the configuration of
9065 --without-x.
fdaa1f77 9066
d152fb46
DL
90672000-03-21 Dave Love <fx@gnu.org>
9068
9069 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9070 doc string.
9071
d2cafc8c
GM
90722000-03-21 Gerd Moellmann <gerd@gnu.org>
9073
9074 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9075 (lface_fully_specified_p): Don't check contents of
9076 LFACE_FONT_INDEX because that attribute is optional.
9077 (realize_x_face): Remove now unwarranted xassert.
9078
9111d4b5
KH
90792000-03-21 Kenichi HANDA <handa@etl.go.jp>
9080
9081 The following changes are to make font selection based on
9082 characters, not charset. In addition, they recover fontset
9083 facilities while utilizing the new font selection mechanism.
9084
6c4bfdc0
KH
9085 * Makefile.in (fontset.o): Depend on dispextern.h.
9086
9087 * alloc.c (mark_face_cache): Don't mark face->registry.
9088
9111d4b5
KH
9089 * dispextern.h (struct glyph): New member glyph_not_available_p.
9090 Use 22 bits for face_id.
9091 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9092 (struct face): Delete member registry, new member ascii_face.
9093 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9094 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9095 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
9096 (struct it): Delete member charset, new member
9097 glyph_not_available_p.
9098
9099 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9100 (struct fontset_info, struct fontset_data): Structs removed.
9101 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
9102 Vglobale_fontset_alist, font_idx_temp): Externs removed.
9103 (fs_load_font, fs_query_fontset): Adjusted for new argument.
9104 (fs_free_face_fontset, fontset_font_pattern,
9105 face_suitable_for_char_p, face_for_char,
9106 make_fontset_for_ascii_face): Extern them.
9107 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9108 (FS_LOAD_FACE_FONT): New macro.
9109
9110 * fontset.c: All codes rewritten or adjusted for the change of
9111 fontset implementation. Now fontset is represented by char table.
9112 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
9113 removed.
9114 (my_strcasecmp): Function removed.
9115 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
9116 variables.
9117 (AREF, ASIZE): New macros.
9118 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
9119 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
9120 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9121 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
9122 fontset_id_valid_p, font_family_registry, fontset_name,
9123 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
9124 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9125 New functions.
9126 (fs_load_font): New arg FACE. Caller changed.
9127 (fs_query_fontset): Argument changed. Caller changed.
9128 (Fquery_fontset): call fs_query_fontset.
9129 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9130 Functions removed.
9131 (clear_fontset_elements, check_registry_encoding,
9132 check_fontset_name): New functions.
9133 (syms_of_fontset): Set char-table-extra-slots property of fontset
9134 to 3. Staticpro and initialize Vfontset_table and
9135 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9136
9137 * frame.h (struct frame): Member `fontset_data' removed.
9138 (FRAME_FONTSET_DATA): Macro removed.
9139
9140 * frame.c (make_frame): Don't allocate f->fontset_data.
9141 (Fdelete_frame): Don't free f->fontset_data.
9142
6c4bfdc0
KH
9143 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9144
9111d4b5
KH
9145 * xdisp.c (charset_at_position): Function removed.
9146 (init_iterator): Don't set member charset of struct `it'.
9147 (handle_face_prop, reseat_to_string, set_iterator_to_next,
9148 next_element_from_display_vector, insert_left_trunc_glyphs):
9149 Likewise.
9150 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9151 FACE_FOR_CHARSET.
9152 (get_next_display_element, append_space,
9153 extend_face_to_end_of_line): Likewise.
9154
9155 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9156 Variables removed.
9157 (clear_font_table, frame_update_line_height, load_face_font):
9158 Adjusted for the change of fontset implementation.
9159 (load_face_fontset_font): Function removed.
9160 (pixel_point_size): New function.
9161 (font_list): Argument type changed. Caller changed.
9162 (LFACE_FONT): New macro.
9163 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9164 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9165 Lisp_Object. Determine the font name by actually loading a font
9166 by the specified pattern. Set LFACE_FONT (lface) to the specified
9167 pattern. Even if a font is not found, don't try alternatives.
9168 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9169 (set_font_frame_param): If `font' is specified in lface, use it.
9170 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9171 (lface_same_font_attributes_p): Likewise.
9172 (make_realized_face): Arguent changed. Caller changed. Set
9173 face->ascii_face to face itself.
9174 (free_realized_face): Free face->fontset if face is for ASCII.
9175 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
9176 deduce_unibyte_registry, x_charset_registry): Functions removed.
9177 (free_realized_multibyte_face): New function.
9178 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9179 changed. Caller changed.
9180 (try_font_list): Argument type changed.
9181 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9182 (choose_face_font): Argument changed. Handle fontset properly.
9183 (choose_face_fontset_font): Function removed.
9184 (realize_default_face, realize_named_face): Don't remove the
9185 former face here.
9186 (realize_face): Argument changed. Caller changed. Remove face
9187 with the arg former_face_id in advance. Load font for the new
9188 face.
9189 (realize_x_face): Argument changed. Caller changed. For a
9190 multibyte character, share fontset with base_face. For a single
9191 byte character, make a new realized fontset. Don't load a font
9192 here.
9193 (realize_tty_face): Argument changed. Caller changed.
9194 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9195 (face_at_buffer_position): Don't check multibyte_p for returning
9196 DEFAULT_FACE_ID.
9197 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9198 FACE_SUITABLE_FOR_CHARSET_P.
9199 (syms_of_xfaces): Remove code for Qx_charset_registry and
9200 Vface_default_registry.
9201
6c4bfdc0
KH
9202 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9203 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9204 (x_per_char_metric): Don't try FONT->default_char. Even if
9205 pcm->width is zero, glyph bits may exist.
9206 (x_encode_char): Always initialize char2b->byte1.
9207 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
9208 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
9209 changed.
9210 (x_append_glyph): Set glyph->glyph_not_available_p.
9211 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9212 it->charset. Handle the case that per char metric is not
9213 available. If it->multibyte_p is zero and it->c is a multibyte
9214 character, convert it to a unibyte character.
9215 (struct glyph_string): Delete member `charset'.
9216 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9217 the case that per char metric is not available correctly.
9218 (x_fill_glyph_string): Handle the case that the specific glyph is
9219 not available correctly.
9220 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9221 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9222 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9223 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9224 fontset. Don't call FS_LOAD_FONT.
9225
9226 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9227 (x_create_tip_frame): Likewise.
9228 (Fx_close_connection): Free full_name of font_info.
9229
9230 * fns.c (optimize_sub_char_table): New function.
9231 (Foptimize_char_table): New function.
9232 (syms_of_fns): Defsubr Soptimize_char_table.
9233
b33dd3b0
GM
92342000-03-20 Gerd Moellmann <gerd@gnu.org>
9235
9236 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9237 only if buffer is displayed in some window.
9238
9239 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9240 (try_window_reusing_current_matrix): Don't call scroll run
9241 function if run's current and desired position are the same;
9242 this prevents cursor flickering.
9243
4e8a9132
SM
92442000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9245
9246 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9247
9248 * regex.c (RE_STRING_CHAR): New macro.
9249 (GET_CHAR_AFER_2): Remove.
9250 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9251 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9252 (print_partial_compiled_pattern, re_compile_fastmap)
9253 (re_match_2_internal): Remove on_failure_jump_exclusive.
9254 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9255 optimization only need to work for * (ie. can use of_keep_string_jump).
9256 Remove the special case for .*\n since it is now covered by the general
9257 optimization.
9258 (re_search_2): Don't bother with `room'.
9259 (skip_one_char): New function.
9260 (skip_noops): Simplify since `memory' is not needed any more.
9261 (mutually_exclusive_p): Restructure slightly to use `switch' and
9262 add handling for "all" remaining cases.
9263 (re_match_2_internal): Change on_failure_jump_smart to use
9264 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9265 rather than on_failure_jump_exclusive.
9266
2136fdd4
GM
92672000-03-19 Gerd Moellmann <gerd@gnu.org>
9268
9269 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9270 number of bits per RGB because it's everywhere used as the depth
9271 of the visual.
9272
9273 * term.c (calculate_costs): Remove code dealing with X frames.
9274
18e21ce8 92752000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9276
9277 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9278
d7b511c4
GM
92792000-03-18 Gerd Moellmann <gerd@gnu.org>
9280
9281 * lread.c (read_integer): Unread the last char not consumed.
9282
16b5d424
GM
92832000-03-17 Gerd Moellmann <gerd@gnu.org>
9284
9285 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9286 which are in the process of being deleted.
16b5d424 9287
1fa28578
GM
92882000-03-16 Gerd Moellmann <gerd@gnu.org>
9289
83488cce
GM
9290 * Makefile.in (mostlyclean): Add `*.core'.
9291 (clean): Add `bootstrap-emacs'.
9292
1fa28578
GM
9293 * lread.c (read_integer): New function.
9294 (read1): Support read syntax #o, #x, #b, #r.
9295
99633e97
SM
92962000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9297
1fa28578
GM
9298 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9299 make sure POINTER_TO_OFFSET gives the same value before and after
9300 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9301 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9302 (debug): Now only active if > 0 rather than if != 0.
9303 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9304 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9305 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9306 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9307 (store_op1, store_op2, insert_op1, insert_op2)
9308 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9309 (group_in_compile_stack): Move to after its arg's types are
9310 declared and add a prototype.
99633e97 9311 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
9312 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
9313 wrapper.
99633e97 9314 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9315 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9316 indentation of the greedy-op and shy-group code.
99633e97
SM
9317 (at_(beg|end)line_loc_p): Fix argument's types.
9318 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9319 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9320 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9321 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9322 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9323 QUIT unconditionally.
99633e97 9324
699238d9
GM
93252000-03-15 Gerd Moellmann <gerd@gnu.org>
9326
9327 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9328 a sole completion.
9329
9330 * process.c (send_process): Add a hint that the function
9331 can call Lisp code to its comment.
9332
9333 * lread.c (load_dangerous_libraries): New variable.
9334 (Vbytecomp_version_regexp): New variable.
9335 (safe_to_load_p): New function.
9336 (Fload): Handle files not compiled with Emacs specially.
9337 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9338
34e23e5a
GM
93392000-03-14 Gerd Moellmann <gerd@gnu.org>
9340
9c763cca
GM
9341 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9342
9343 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9344 support functions only if HAVE_X11R6_XIM is defined.
9345 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9346
9347 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9348
9349 * xfns.c (X_I18N_INHIBITED): Don't define.
9350 (create_frame_xic): Remove conditional compilation on
9351 X_I18N_INHIBITED.
9352 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9353
9354 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9355 (HAVE_X11R6_XIM): Define.
9356
9357 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9358
34e23e5a
GM
9359 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9360 If set, call XSynchronize.
9361
66f0296e
SM
93622000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9363
34e23e5a
GM
9364 * regex.c: Declare a new type `re_char' used throughout the code
9365 for the string char type. It's `const unsigned char' to match the
9366 rest of Emacs. Consistently make sure all pointers to strings use
9367 it and make sure all pointers into the pattern use `unsigned
9368 char'.
66f0296e 9369 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9370 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9371 code duplication.
66f0296e
SM
9372
9373 * charset.h (GET_CHAR_AFTER_2): Remove.
9374 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9375
854a025c
KR
93762000-03-12 Ken Raeburn <raeburn@gnu.org>
9377
9378 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9379 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9380 of them try to use backquotes.
9381
b9d2c7e2
DL
93822000-03-12 Dave Love <fx@gnu.org>
9383
9384 * unexelf.c: Restore changes of 1999-10-19.
9385 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9386 fix its type and alignment; copy it from current process.
9387
5e5dff44
GM
93882000-03-12 Gerd Moellmann <gerd@gnu.org>
9389
9b2f3c38
GM
9390 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9391 has been found. Fix bug not computing timer's predecessor.
9392
427ec082 9393 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9394 file name.
9395
e1cff360
GM
9396 * window.c (Fsave_window_excursion): Doc fix.
9397
5e5dff44
GM
9398 * xfns.c (x_defined_color): Rewritten to use
9399 x_allocate_nearest_color.
9400
e411ce4b
EZ
94012000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9402
9403 * msdos.c (vga_installed): New function, code moved from
9404 dos_set_window_size.
9405 (Qbar, Qcursor_type, outside_cursor): New variables.
9406 (syms_of_msdos): Intern and staticpro them.
9407 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9408 shape used outside Emacs when called for the first time.
9409 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9410 cursor shape used outside Emacs.
9411 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9412 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9413 type has changed.
9414 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9415 parameters specify the cursor. Make qreverse a global
9416 variable (renamed to Qreverse).
9417
80460654
GM
94182000-03-09 Gerd Moellmann <gerd@gnu.org>
9419
9420 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9421
95cd4c40
SM
94222000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9423
9424 This is a big redesign of failure-stack and register handling, prompted
9425 by bugs revealed when trying to add shy-groups. Overall, what happened
9426 is that loops are now structured a little differently, groups can be
9427 shy and the code is a little simpler.
9428
9429 * regex.h: Update the copyright.
9430 (RE_SHY_GROUPS): New value.
9431 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9432 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9433
80460654
GM
9434 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9435 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9436 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9437 for (start|stop)_memory since they now only take one argument (the
9438 second has becomes unnecessary).
9439 (print_partial_compiled_pattern): Adjust for changes in
9440 re_opcode_t.
9441 (print_compiled_pattern): Use %ld to printf long ints and flush to
9442 make debugging a little easier.
95cd4c40
SM
9443 (union fail_stack_elt): Make the integer unsigned.
9444 (struct fail_stack_type): Add a `frame' element.
9445 (INIT_FAIL_STACK): Init `frame' as well.
9446 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9447 (DEBUG_PUSH, DEBUG_POP): Remove.
9448 (NUM_REG_ITEMS): Remove.
9449 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9450 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9451 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9452 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
9453 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
9454 macros.
9455 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9456 address pushed is not the destination of the jump but the source
9457 of it instead.
95cd4c40
SM
9458 (NUM_FAILURE_ITEMS): Remove.
9459 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9460 registers before the actual failure point). Don't hardcode any
9461 meaning for str==NULL anymore.
95cd4c40 9462 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9463 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9464 Remove.
95cd4c40
SM
9465 (REG_UNSET_VALUE): Use NULL (why not?).
9466 (compile_range): Remove declaration since it doesn't exist.
9467 (struct compile_stack_elt_t): Remove inner_group_offset.
9468 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9469 (regex_grow_registers): Remove dead code.
9470 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9471 (regex_compile): Add shy-groups Change loops to use
9472 on_failure_jump_smart&jump instead of
9473 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9474 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9475 variable to me). Use `jump' instead of `jump_past_alt' and don't
9476 bother with push_dummy_failure in alternatives since it is now
9477 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9478 emacs' for (re)allocating the stack.
9479 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9480 from loop when bufp->can_be_null rather than jumping to `done'.
9481 Avoid jumping backwards so as to ensure termination. Use
9482 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9483 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9484 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9485 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9486 improve mutually_exclusive_p to handle ".+\n".
9487 (lowest_active_reg, highest_active_reg,
9488 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
9489 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9490 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9491 variables. Push register (in `start_memory') on the stack rather
9492 than storing it in old_reg(start|end). Remove the cycle detection
9493 from `stop_memory', replaced by the use of on_failure_jump_loop
9494 for greedy loops. Add code for the new on_failure_jump_<foo>.
9495 Remove ad-hoc code in `on_failure_jump' to push more registers in
9496 the case of a loop. Take out code from `maybe_pop_jump' into
9497 separate functions and adapt it to the semantics of
9498 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9499 and push_dummy_failure. Remove dummy_failure handling and
9500 handling of `failures to jump to on_failure_jump' (this last one
9501 was already dead code, it seems).
9502 (group_match_null_string_p, alt_match_null_string_p)
9503 (common_op_match_null_string_p): Remove.
95cd4c40 9504
7397acc4
DL
95052000-03-08 Dave Love <fx@gnu.org>
9506
9507 * config.in: Don't depend on __STDC__ for volatile.
9508 Add POINTER_TYPE, PTR, PROTOTYPES.
9509
9510 * hftctl.c, strftime.c: Use PROTOTYPES.
9511 * eval.c (find_handler_clause): Likewise.
9512
9513 * mem-limits.h: Use POINTER_TYPE.
9514
9515 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9516 (memory_warnings): Declare using POINTER_TYPE.
9517
5e91ff9e
GM
95182000-03-08 Gerd Moellmann <gerd@gnu.org>
9519
feab4fba
GM
9520 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9521
25edb08f
GM
9522 * xdisp.c (display_echo_area): Temporarily inhibit garbage
9523 collection.
9524
5e91ff9e
GM
9525 * xfns.c: Remove obsolete code in #if 0.
9526 (Fx_focus_frame): New function.
9527
a735b7e1
KH
95282000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9529
9530 * coding.c (coding_category_name): Add coding-category-utf-8,
9531 coding-category-utf-16-be, coding-category-utf-16-le.
9532 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9533 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9534 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9535 (detect_coding_utf_8): New function.
9536 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9537 UTF_16_LOW_SURROGATE_P): New macros.
9538 (detect_coding_utf_16): New function
9539 (detect_coding_mask): When priorities are specified, skip any
9540 categories that have `nil' coding-system. Fix bug of returning
9541 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9542 returns a mask not set in PRIORITIES.
9543 (detect_eol_type_in_2_octet_form): New function.
9544 (detect_eol): selects detect_eol_type_XXX to call according to
9545 cooding->category_idx.
9546 (detect_coding_system): Remove `nil' coding-system in the result.
9547 (Fupdate_coding_systems_internal): Update all coding-categories.
9548
9549 * coding.h (CODING_CATEGORY_IDX_UTF_8,
9550 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
9551 macros.
9552 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
9553 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9554 CODING_CATEGORY_IDX_UTF_16_LE.
9555 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
9556 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
9557 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9558 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9559
9994cc69
GM
95602000-03-07 Gerd Moellmann <gerd@gnu.org>
9561
e9b4e5ff
GM
9562 * doc.c (Fdocumentation_property): If value is not a string,
9563 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9564
f7daf1e1
GM
9565 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9566 close the display with XtCloseDisplay. This caused a bus error
9567 on OpenWindows.
9568
9994cc69
GM
9569 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9570 complete but not unique.
9571
4336c705
GM
95722000-03-06 Gerd Moellmann <gerd@gnu.org>
9573
18bb0684
GM
9574 * process.c (send_process): Remove local variable `procname' that
9575 might become invalid when a GC happens. Instead, access the
9576 process name slot directly.
9577
4336c705
GM
9578 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9579 orig_height if set.
9580
9581 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9582 orig_height if set.
9583
515d0d0e
EZ
95842000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9585
9586 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9587 glyph matrices have been freed.
9588
100b3cbb
GM
95892000-03-05 Gerd Moellmann <gerd@gnu.org>
9590
50df5e5a 9591 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9592 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9593
9594 * xfns.c (QCdata): Moved to xdisp.c.
9595
9596 * xdisp.c (QCdata): Moved here from xfns.c.
9597 (syms_of_xdisp): Initialize QCdata.
9598
9599 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9600
9601 * window.c (coordinates_in_window): Use
9602 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9603 FRAME_INTERNAL_BORDER_WIDTH.
9604
100b3cbb 9605 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 9606 it is obviously invalid.
100b3cbb
GM
9607
9608 * xterm.c (x_term_init): Create a colormap if not using the
9609 default visual.
9610
9611 * xterm.h (select_visual): Change prototype.
9612
9613 * xfns.c (select_visual): Rewritten. Recognize user-specified
9614 visual classes.
9615 (visual_classes): New variable.
9616
64d739c4
GM
96172000-03-04 Gerd Moellmann <gerd@gnu.org>
9618
9619 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
9620 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
9621 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
9622 (x_decode_color): Don't handle allocation of white and black
9623 specially.
9624 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
9625 XtNcolormap resources.
9626 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
9627 (Fx_create_frame): Initialize color members of x_output structure.
9628 (xpm_load): Pass colormap to XPM lib.
9629
9630 * xfaces.c (x_free_colors): Access colormap of frame using
9631 FRAME_X_COLORMAP. Be paranoid about freeing black and white
9632 when default colormap is used.
9633
9634 * xterm.c (x_term_init): Set Colormap member of x_display_info
9635 structure. Copy colormap if resource `privateColormap' is
9636 specified (PseudoColor only).
9637 (x_setup_relief_color): Access colormap of frame using
9638 FRAME_X_COLORMAP.
9639
9640 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
9641 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
9642
c3cee013
JR
96432000-03-04 Jason Rumney <jasonr@gnu.org>
9644
9645 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
9646 other non-platform-specific equivalents.
64d739c4 9647 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
9648 specific functions and macros as their w32 equivalents where
9649 non-platform-specifics are not available.
9650 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
9651 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
9652 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
9653 (frame_update_line_height): Use macros to access f->output_data.
9654 (defined_color): Remove FIXME comments; fixed.
9655 (x_face_list_fonts, prepare_face_for_display): Put X specifics
9656 into #ifdef blocks. Add WINDOWSNT blocks.
9657 (Fx_list_fonts): Use macros for accessing font data.
9658 (set_lface_from_font_name): Different default fonts for X and
9659 WINDOWSNT.
9660 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
9661 scalable for backward compatibility.
64d739c4 9662 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
9663 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
9664
64d739c4 9665 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
9666 syms_of_w32faces.
9667
9668 * makefile.nt (w32faces.obj): Remove.
9669 (xfaces.obj): Add.
9670
807cc41c
JR
96712000-03-03 Jason Rumney <jasonr@gnu.org>
9672
9673 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
9674 correct parameters.
9675
0007072a
KR
96762000-03-03 Ken Raeburn <raeburn@gnu.org>
9677
9678 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
9679 standard ELF definitions here if the system header does not.
9680
71a6ba55
GM
96812000-03-03 Gerd Moellmann <gerd@gnu.org>
9682
9683 * xterm.c (PER_CHAR_METRIC): Removed.
9684 (x_per_char_metric_1, x_default_char): New functions.
9685 (x_per_char_metric): If font's default char is invalid, return
9686 metrics of a suitably chosen usable default char.
9687 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
9688 char, replace occurrences of unprintable chars with a suitably
9689 chosen usable default char.
71a6ba55 9690
900fa1f1
GM
96912000-03-02 Gerd Moellmann <gerd@gnu.org>
9692
42f55fe0
GM
9693 * xterm.c (note_mouse_highlight): Return quickly if frame's
9694 glyph matrices have been freed.
9695
9696 * dispnew.c (free_glyphs): Block input while freeing matrices.
9697
900fa1f1
GM
9698 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
9699
9700 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
9701 x_free_colors.
9702
9703 * dispextern.h (x_free_colors): Add prototype.
9704
9705 * xfaces.c (x_free_colors): New function.
9706 (unload_color, free_face_colors): Use it.
9707
2f950292
EZ
97082000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
9709
9710 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
9711
9712 * window.c [MSDOS]: Include msdos.h.
9713
54d04320
DL
97142000-03-02 Dave Love <fx@gnu.org>
9715
9716 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
9717
9718 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
9719 set C_OPTIMIZE_SWITCH for gcc.
9720
0ba93ac4
KH
97212000-03-02 Kenichi Handa <handa@etl.go.jp>
9722
9723 * coding.c (coding_save_composition): Be sure to allocate
9724 composition data area in coding even if there's no composition in
9725 the current run.
9726
a2bc11d4
JR
97272000-03-01 Jason Rumney <jasonr@gnu.org>
9728
9729 * w32term.c: Equivalent changes to those made to xterm.c on
9730 2000-02-25 and 2000-02-24.
9731
9732 * w32fns.c: Equivalent changes to those made to xfns.c on
9733 2000-02-25 and 2000-02-21.
9734
9735 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
9736 correct line-end convention is followed.
9737
9738 * w32menu.c [HAVE_BOXES]: Remove #undef.
9739 (single_keymap_panes): Remove code for simulating checkmarks.
9740 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
9741 Remove code for drawing simulated checkmarks.
9742 (w32_menu_show): make unibyte help string correctly.
9743 (add_menu_item): draw standard Windows checkmarks. Draw radio
9744 buttons as radio buttons if possible.
9745
72d19d75
GM
97462000-03-01 Gerd Moellmann <gerd@gnu.org>
9747
2df636f4
GM
9748 * sysdep.c (start_of_text): Don't define this function for NetBSD
9749 with ELF.
9750
427ec082 9751 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
9752 Don't define.
9753 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
9754 (LINKER): Don't undef if __NetBSD__ is defined.
9755
9756 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
9757
9758 * fileio.c [__NetBSD__]: Define `unix'.
9759
72d19d75
GM
9760 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
9761
ed4d0512
GM
97622000-02-29 Gerd Moellmann <gerd@gnu.org>
9763
50b1039f
GM
9764 * atimer.c (start_atimer): Don't abort when timers are stopped.
9765 (append_atimer_lists): New function.
9766 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
9767 arbitrary lists of stopped and running atimers.
9768
ed4d0512
GM
9769 * atimer.c (cancel_atimer): Handle canceling an atimer when
9770 some timers are stopped.
9771
9772 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
9773 after canceling it.
9774
9775 * fns.c (maybe_resize_hash_table): Handle case of new size
9776 coming out as being the same as old size.
9777
387023ee
JR
97782000-02-27 Jason Rumney <jasonr@gnu.org>
9779
9780 * makefile.nt: Add atimer.h to dependencies.
9781 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
9782 * w32console.c: Only disable window system features for dispextern.h
9783 (initialize_w32_display): Build a display info for the console.
9784 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
9785 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
9786 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
9787 as 2 button mice.
9788 * w32gui.h (struct W32FontStruct): Revert last change after change
9789 to xdisp.c.
9790 * w32menu.c (single_submenu): Set up help string.
9791 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
9792 (w32_dialog_show): Set up help string.
9793 * w32term.c (w32_display_info_for_display): Remove unused function.
9794 (w32_draw_bitmap): Use pre-built bitmaps.
9795 (w32_initialize_display_info): New function to initialize parts of
9796 display info that are common to both GUI and console frames.
9797 (w32_term_init): Use w32_initialize_display_info. Do not set
9798 Vw32_num_mouse_buttons here, as it is not called for console
9799 frames. Build bitmaps for indicating truncated lines etc.
9800 (x_delete_display): Destroy pre-built bitmaps.
9801 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
9802 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
9803
4516715a
DL
98042000-02-27 Dave Love <fx@gnu.org>
9805
9806 * lisp.h: Add a bunch of prototypes.
9807
171ca836
KH
98082000-02-26 Kenichi Handa <handa@etl.go.jp>
9809
9810 * keyboard.c (read_char): Set `usec' correctly.
9811
4013921d
KH
98122000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9813
9814 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
9815 `lambda', set reg[RRR] to the map index.
9816 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
9817 reg[RRR] to 0. Otherwise, set it to -1.
9818
9244a058
GM
98192000-02-25 Gerd Moellmann <gerd@gnu.org>
9820
2df636f4 9821 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 9822
18e21ce8 98232000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 9824
f43d79c1
GM
9825 * fileio.c (Ffile_symlink_p): If result starts with a `/'
9826 and contains a `:', prepend `/:'.
9827
9828 * window.c (select_window_1): If selected_window is nil,
9829 don't "swap out" the buffer's point.
9830 (Fset_window_configuration): Set selected_window to nil
9831 before calling Fselect_window.
9832 (unshow_buffer): Don't set point in buffer from window's point
9833 if another more recently selected window also shows the buffer.
9834
bed0c171
GM
98352000-02-25 Gerd Moellmann <gerd@gnu.org>
9836
449c3c52
GM
9837 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
9838
f5b58615
GM
9839 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
9840 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
9841 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
9842 variables.
9843 (DEFAULT_BUSY_CURSOR_DELAY): New define.
9844 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
9845 (hide_busy_cursor): New functions.
9846 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
9847
9848 * minibuf.c (read_minibuf): Cancel busy-cursor.
9849
9850 * keyboard.c (command_loop_1): Call start_busy_cursor before
9851 Fcommand_execute and cancel_busy_cursor after it.
9852 (timer_check): Remove busy-cursor code.
9853 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
9854 cursor timer.
9855
9856 * process.c (wait_reading_process_input): Remove busy-cursor code.
9857
9858 * eval.c (Fsignal): Call cancel_busy_cursor instead of
9859 Fx_hide_busy_cursor.
9860
9861 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
9862 Remove prototyoes.
9863 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
9864
9865 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
9866
9867 * xterm.c (XTread_socket): Remove busy-cursor code.
9868
4eb8436f
GM
9869 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
9870 (build_frame_matrix_from_leaf_window): Put code handling
9871 glyph row's not being a slice of a frame row in #if 0.
9872 (sync_window_with_frame_matrix_rows): New function.
9873 (frame_row_to_window): New function.
9874 (mirror_line_dance): Handle copies between windows.
9875
3cb65b0e
GM
9876 * lread.c (Fload): Use `xfree' instead of `free'.
9877 (init_obarray): Use `xmalloc' instead of `malloc'.
9878
bed0c171
GM
9879 * window.c (Fset_window_buffer): Set WINDOW to the window
9880 after decoding.
2add4349
GM
9881 (coordinates_in_window): Take frame's internal border width
9882 into account.
bed0c171 9883
42088c12
GM
98842000-02-24 Gerd Moellmann <gerd@gnu.org>
9885
9886 * xterm.c (x_display_and_set_cursor): Display cursor of
9887 non-selected windows depending on the setting of
9888 cursor_in_non_selected_windows.
9889
9890 * xdisp.c (cursor_in_non_selected_windows): New variable.
9891 (syms_of_xdisp): DEFVAR_BOOL it.
9892
d1e103b2
GM
98932000-02-23 Gerd Moellmann <gerd@gnu.org>
9894
723e779c
GM
9895 * data.c (Fstring_to_number): If number is greater than what
9896 fits into an integer, return a float.
9897
d1e103b2
GM
9898 * eval.c (specbind): Remove references to
9899 keyword_symbols_constant_flag.
9900
9901 * data.c (keyword_symbols_constant_flag): Removed.
9902 (Fmakunbound, set_internal, syms_of_data): Remove references to
9903 keyword_symbols_constant_flag.
9904
9905 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
9906
214f877f
KH
99072000-02-23 Kenichi Handa <handa@etl.go.jp>
9908
9909 * syntax.c (multibyte_syntax_as_symbol): New variable.
9910 (syms_of_syntax): Declare it as a Lisp variable.
9911 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
9912 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
9913 nonzero, treat all multibyte characters as symbol.
42088c12 9914 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
9915 characters.
9916
130adcb7
EZ
99172000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
9918
3cb65b0e 9919 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 9920 a deleted frame.
130adcb7 9921
17cbbf95
GM
99222000-02-21 Gerd Moellmann <gerd@gnu.org>
9923
9924 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
9925
9926 * xfns.c (x_window_to_frame, x_any_window_to_frame)
9927 (x_non_menubar_window_to_frame): Check the busy-cursor window.
9928
beb0bc36
DL
99292000-02-21 Dave Love <fx@gnu.org>
9930
9931 * frame.c (Vmouse_position_function): New variable.
9932 (Fmouse_position): Use it.
9933 (syms_of_frame): Install it.
9934
9935 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
9936
1d92afcd
GM
99372000-02-20 Gerd Moellmann <gerd@gnu.org>
9938
9939 * fileio.c (Finsert_file_contents): Unbind the binding of
9940 standard-output done by temp_output_buffer_setup.
329eed9f
GM
9941
9942 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
9943 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
9944 (specbind, unbind_to): Handle most common case of non-constant
9945 symbol with trivial value specially.
9946
9947 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
9948
18e21ce8 99492000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
9950
9951 * data.c (Fmake_variable_buffer_local): Doc fix.
9952 Init found_for_buffer to 0.
9953 (Fmake_variable_frame_local): If the variable has already
9954 been buffer-local, set the check_frame field.
9955
1d4311c3
EZ
99562000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
9957
9958 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
9959 produced for CODING_MODE_LAST_BLOCK requires.
9960
2dc95ddd
DL
99612000-02-18 Dave Love <fx@gnu.org>
9962
9963 * keyboard.c (echo_keystrokes): Remove declaration.
9964 (Vecho_keystrokes) New variable.
9965 (read_char, record_menu_key, read_key_sequence): Use it to allow
9966 use of float value.
9967 (syms_of_keyboard): Change Vecho_keystrokes declaration.
9968
9969 * lread.c: Undef feature selection macros before defining.
9970
f0930f35
GM
99712000-02-18 Gerd Moellmann <gerd@gnu.org>
9972
9973 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
9974 for symbols other than the symbol in question.
9975
e3d4de90
DL
99762000-02-17 Dave Love <fx@gnu.org>
9977
9978 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
9979
0b378936
GM
99802000-02-17 Gerd Moellmann <gerd@gnu.org>
9981
d621caf7
GM
9982 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
9983
0b378936
GM
9984 * alloc.c (enum mem_type): Compile unconditionally.
9985
3b451f74
EZ
99862000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
9987
9988 * xfaces.c (tty_defined_color): Don't return faulire indication
9989 for unspecified-fg and unspecified-bg pseudo-colors.
9990
10689a01
GM
99912000-02-17 Gerd Moellmann <gerd@gnu.org>
9992
1216f5e4
GM
9993 * alloc.c (mark_object): Don't mark symbol names in pure space.
9994 (gc_sweep): Don't unmark symbol names in pure space.
9995
9996 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
9997 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
9998 [GC_MARK_STACK]: New defines.
427ec082 9999 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10000 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10001
10002 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10003
10004 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10005 allocate_buffer instead of xmalloc.
10006
10007 * alloc.c (toplevel): Include setjmp.h.
10008 (PURE_POINTER_P): New define.
10009 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10010 (Vdead) [GC_MARK_STACK]: New variable.
10011 (lisp_malloc): Add parameter TYPE, call mem_insert if
10012 GC_MARK_STACK is defined.
10013 (allocate_buffer): New function.
427ec082 10014 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10015 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10016 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10017 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10018 (MEM_NIL) [GC_MARK_STACK]: New define.
10019 (struct mem_node) [GC_MARK_STACK]: New structure.
10020 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10021 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10022 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10023 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10024 (mark_stack) [GC_MARK_STACK]: New functions.
10025 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10026 (clear_marks): Removed.
10027 (gc_sweep): Set free conses' car, free floats' type, free
10028 symbols' function to Vdead. Use lisp_free to free buffers.
10029 (init_alloc_once): Initialize Vdead.
10030 (survives_gc_p): Return non-zero for pure objects.
10031
10032 * alloc.c: Add comments throughout the file.
10033
2503c8b1
GM
10034 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10035 that unblocks alarms.
10036
8389e1e2
GM
10037 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10038 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10039 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10040
10689a01 10041 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10042
bfc17d18
KH
100432000-02-17 Kenichi Handa <handa@etl.go.jp>
10044
4a09dee0
KH
10045 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10046 avoid infinite error signaling. Allocate sufficient memory for
10047 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10048
2b927d02
SM
100492000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10050
10051 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10052 depends on the previous behavior.
10053
b49cb764
GM
100542000-02-16 Gerd Moellmann <gerd@gnu.org>
10055
10056 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10057
99e95407
GM
100582000-02-15 Gerd Moellmann <gerd@gnu.org>
10059
10060 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10061
10062 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10063 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10064 write(2).
10065
6ffd3cf7
RS
100662000-02-15 Richard M. Stallman <rms@gnu.org>
10067
10068 * data.c (set_internal): Don't make variable buffer-local
10069 if within a let-binding for the same buffer.
10070 (let_shadows_buffer_binding_p): New function.
10071
10072 * eval.c (specbind): For buffer-local value,
10073 record the current buffer also.
10074 (unbind_to): Cope with that change.
10075
cad53475
GM
100762000-02-15 Gerd Moellmann <gerd@gnu.org>
10077
10078 * window.c (Fsave_window_excursion): Doc fix.
10079
1aa963c8
SM
100802000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10081
10082 * syntax.c (back_comment): Make sure we only consider comment-starters
10083 of the relevant style and return -1 in case of a failure to find the
10084 beginning of the comment.
10085 (Fforward_comment): If back_comment fails, go back to the position just
10086 after the comment-end.
10087 (scan_lists): Add comment describing a very minor bug.
10088
b9b84fd3
SM
100892000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10090
10091 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10092 `completion-regexp-list' in the docstring.
10093
3a28db80
DL
100942000-02-14 Dave Love <fx@gnu.org>
10095
10096 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10097
fb4a568d
SM
100982000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10099
10100 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10101 to Emacs' syntax. Also fix the comment about set/not-set meanings
10102 since Emacs syntax is not the value 0 any more.
10103 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10104 since it's now part of RE_SYNTAX_EMACS.
10105
1063ebb5
DL
101062000-02-12 Dave Love <fx@gnu.org>
10107
10108 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
10109 Alpha.
10110
fb07a302
GM
101112000-02-12 Gerd Moellmann <gerd@gnu.org>
10112
10113 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10114
aaf2320c
DL
101152000-02-12 Dave Love <fx@gnu.org>
10116
10117 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10118
10119 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10120 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10121 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10122
10123 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10124
10125 * s/nextstep.h: Don't define HAVE_ALLOCA.
10126
10127 * config.in: Add vfork bits.
10128
eedf8bde
GM
101292000-02-12 Gerd Moellmann <gerd@gnu.org>
10130
10131 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10132 unwind function to undo the effect of stopping atimers.
10133
10134 * keyboard.c (bind_polling_period): Stop all timers except
10135 poll_timer.
10136
10137 * atimer.c (stopped_atimers): New variable.
10138 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10139 New functions.
10140
10141 * atimer.h (stop_other_atimers, run_all_atimers)
10142 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10143
eedf8bde
GM
10144 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10145
8476c2f8
KR
101462000-02-11 Ken Raeburn <raeburn@gnu.org>
10147
10148 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10149 library may depend on jpeg.
10150 (atimer.o): Depends on atimer.c.
10151
0e85e4a3
KH
101522000-02-11 Kenichi Handa <handa@etl.go.jp>
10153
10154 * insdel.c (del_range_1): Call update_compositions.
10155 (del_range_both): Call update_compositions just once..
10156
97fa0cc8
DL
101572000-02-10 Dave Love <fx@gnu.org>
10158
10159 * xfns.c (create_frame_xic): Fix initialization of automatic
10160 aggregates for pcc.
10161
25566a3c
KH
101622000-02-09 Kenichi Handa <handa@etl.go.jp>
10163
10164 * ccl.c (CCL_MAKE_CHAR): New macro.
10165 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10166 registers by CCL_MAKE_CHAR before calling translate_char.
10167 <CCL_TranslateCharacterConstTbl> Likewise.
10168
69da54ba
DL
101692000-02-08 Dave Love <fx@gnu.org>
10170
10171 * lread.c (__EXTENSIONS__): Define.
10172
f7136ee8
GM
101732000-02-08 Gerd Moellmann <gerd@gnu.org>
10174
10175 * puresize.h (BASE_PURESIZE): Increase to 650000.
10176
7768790b
EZ
101772000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10178
10179 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10180 the help message.
10181
38fd211b
EZ
101822000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10183
10184 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10185 md, mh, mb, mr, and me to the fake termcap entry.
10186
66e4690f
KR
101872000-02-06 Ken Raeburn <raeburn@gnu.org>
10188
10189 * sound.c (sound_cleanup): Don't call device close routine if the
10190 function pointer is null.
10191
a75dfea0
AI
101922000-02-06 Andrew Innes <andrewi@gnu.org>
10193
10194 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10195 around image definitions and prototypes.
10196 (gamma_correct) [WINDOWSNT]: New prototype.
10197
10198 * w32term.c (x_make_frame_visible): Replace call to
10199 input_poll_signal with poll_for_input.
10200
10201 * window.c [WINDOWSNT]: Include w32term.h.
10202
10203 * xdisp.c [WINDOWSNT]: Include w32term.h.
10204
10205 * makefile.nt: Add dependencies on w32gui.h.
10206 (OBJ1): Include atimer.obj.
10207 ($(BLD)\atimer.obj): New dependency rule.
10208
10209 * w32.c (sigmask): New function (does nothing).
10210 (sigunblock): Ditto.
10211
10212 * frame.c [WINDOWSNT]: Include w32term.h.
10213
10214 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10215
10216 * lread.c (syms_of_lread): Fix literal newlines.
10217
10218 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10219 the string constant limit (2048 bytes) in MSVC.
10220 (main): Ditto.
10221
59ddecde
GM
102222000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10223
10224 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
10225 area.
10226 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10227 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10228 dispatch the event.
10229
07590973
DL
102302000-02-04 Dave Love <fx@gnu.org>
10231
10232 * fileio.c: Remove some unused vars.
10233 (_GNU_SOURCE): Define (for euidaccess).
10234
10235 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10236
10237 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10238 gcpro1, gcpro2.
10239 (read_minibuf): Deal with allow_props correctly.
10240
649351f9
EZ
102412000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10242
10243 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10244
66e4690f 102452000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10246
10247 * search.c (compile_pattern): If a cache entry has a nil regexp,
10248 fill in that entry instead of clobbering a previously cached
10249 string regexp.
10250
66e4690f 102512000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10252
10253 * puresize.h (BASE_PURESIZE): Increase to 610000.
10254
d240a249
GM
102552000-02-02 Gerd Moellmann <gerd@gnu.org>
10256
10257 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10258 can GC.
10259
ca91fb26
KH
102602000-02-02 Kenichi Handa <handa@etl.go.jp>
10261
25660570
KH
10262 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10263 instead of incrementing ic directly.
10264 <CCL_WriteExprConst> Likewise.
10265 <ccl_set_expr>: Set ic to jump_address.
10266
ca91fb26
KH
10267 * fileio.c (e_write): Fix the handling of
10268 CODING_FINISH_INSUFFICIENT_SRC.
10269
2ede9689
DL
102702000-02-01 Dave Love <fx@gnu.org>
10271
10272 * editfns.c (Fpropertize): Doc fix.
10273
10274 * process.c (Fstart_process): Doc fix.
10275
10276 * eval.c: Fix various doc strings not to duplicate information
10277 from help-manyarg-func-alist.
10278
10279 * window.c (Fset_window_margins): Don't make interactive. Doc
10280 fix.
10281
10282 * doc.c (Vhelp_manyarg_func_alist): New variable.
10283 (Fdocumentation): Use it.
10284 (syms_of_doc): Define it.
10285
b6680a0e
GM
102862000-01-31 Gerd Moellmann <gerd@gnu.org>
10287
2cb750ba
GM
10288 * xterm.c (xim_open_dpy): Remove unused local variable.
10289
74e9213b
GM
10290 * emacs.c (USAGE): Use term `display options' instead of `X
10291 options'.
10292
10293 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10294 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10295
b6680a0e
GM
10296 * fns.c (sweep_weak_table): New function.
10297 (sweep_weak_hash_tables): Use it. Keep on marking until there
10298 is no more change.
10299
994c5afe
GM
103002000-01-30 Gerd Moellmann <gerd@gnu.org>
10301
10302 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10303 that XTread_socket does not crash by trying to call XNoOp on a
10304 closed display.
427ec082 10305
f00276e3
JR
103062000-01-30 Jason Rumney <jasonr@gnu.org>
10307
10308 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10309 Change selected_frame to SELECTED_FRAME ().
10310 (w32_console_mouse_position): Remove #ifndef MULE from around
10311 `insist' parameter.
10312
10313 * makefile.nt: Remove dosfns.obj.
10314
10315 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10316
10317 * w32fns.c (w32_defined_color): Check for valid frame before
10318 applying gamma correction. Eliminate dependency on frame elsewhere.
10319 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10320 (w32_to_x_font): Use resx and resy not height_in and width_in.
10321 (x_to_w32_font): Doc fix.
10322 (xlfd_strip_height): New function to strip and return font height.
10323 (w32_font_match): Compare height separately from rest of xlfd
10324 spec, using xlfd_strip_height.
10325
10326 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10327 width_in. Use w32_defined_color in place of defined_color.
10328
10329 * w32faces.c: Merge more of DOS and X specifics in preparation for
10330 merge with xfaces.c.
10331 (defined_color): Remove FIXME comment.
10332 (tty_color_name): Provide w32-specific function.
10333 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10334
10335 * w32console.c (turn_on_face, turn_off_face): Removed.
10336 (w32_face_attributes): New function.
10337 (Global_variables): Reduce scope where possible.
10338 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10339 fill attribute.
10340 (hl_mode): Don't modify text attributes.
10341 (write_glyphs): Don't do anything if len <= 0. Use
10342 w32_face_attributes to get attributes for drawing. Write
10343 terminating codes using char_attr_normal.
10344 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10345 (update_begin, update_end): Likewise.
10346 (vga_stdcolor_name): New function.
10347 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10348 (Fset_screen_color): Remove char_attr_reverse.
10349
b08e8bb2
GM
103502000-01-29 Gerd Moellmann <gerd@gnu.org>
10351
10352 * xfns.c (xic_set_preeditarea): Take window parameter and
10353 window-relative pixel-positions.
10354
10355 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10356 is its frame's selected window.
10357 (xim_instantiate_callback): Likewise.
10358
10359 * xfns.c (x_create_im): Removed.
10360 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10361 (supported_xim_styles): Renamed from supported_styles.
10362 (best_xim_style): Renamed from best_style.
10363 (create_frame_xic): Renamed from xic_create_frame.
10364 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10365
b08e8bb2
GM
103662000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10367
10368 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10369 our frames, call XFilterEvent with 2nd parameter `None'.
10370 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10371 returning XBufferOverflow.
10372 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
10373 area.
10374 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10375 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10376 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10377 (xim_initialize, xim_close)
10378 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10379 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10380 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10381 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10382
10383 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10384 and `xim_styles'.
10385 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10386 `xic_style' and `xic_xfs'.
10387 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10388 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10389 (FRAME_XIM): Removed.
10390
10391 * xfns.c (supported_styles): New variable.
10392 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10393 (xic_create_xfontset, best_style, xic_create_frame)
10394 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10395 (xic_set_xfontset): New functions.
10396
142e109c
DL
103972000-01-28 Dave Love <fx@gnu.org>
10398
10399 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10400
10401 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10402
b02786f9
GM
104032000-01-28 Gerd Moellmann <gerd@gnu.org>
10404
d060bc9f
GM
10405 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10406 for *scratch* if it already existed.
10407
b02786f9
GM
10408 * emacs.c (USAGE): New macro.
10409 (main): Use it to display usage information.
10410
2c52d7e4
EZ
104112000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10412
10413 Support for the menu-help feature:
10414
10415 * msdos.h: Change prototypes of XMenuAddSelection and
10416 XMenuActivate.
10417
10418 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10419 part of the line to the termscript file.
10420 (IT_clear_to_end): Clear the entire line, not just its beginning.
10421 (menu_help_message, prev_menu_help_message): New variables.
10422 (IT_menu_make_room): Make room for the help_text member.
10423 (IT_menu_display): New argument disp_help; all callers changed.
10424 If disp_help is non-zero, store the help text of the active menu
10425 item in menu_help_message.
10426 (XMenuAddPane): Initialize the help_text member to NULL.
10427 (XMenuAddSelection): New argument help_text. Store it in the
10428 XMenu structure.
10429 (XMenuActivate): New argument help_callback. If the value of
10430 menu_help_message has changed since the last time, display the
10431 menu help message text while waiting for the mouse to move. Clear
10432 the echo area before exiting.
10433 (XMenuDestroy): Free the help_text member.
10434
ffe0bcd1
GM
104352000-01-27 Gerd Moellmann <gerd@gnu.org>
10436
10437 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10438 XMenuAddSelection. Pass help callback to XMenuActivate.
10439 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10440
50dbd23f
EZ
104412000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10442
10443 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10444 and EMACS_SET_USECS.
10445
f5941bf8
GM
104462000-01-26 Dave Love <fx@gnu.org>
10447
6c67ddee
DL
10448 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10449
f5941bf8
GM
10450 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10451 an error may be signalled.
10452
9e49c990
GM
104532000-01-26 Gerd Moellmann <gerd@gnu.org>
10454
fc3cb460
GM
10455 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10456 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10457
9e49c990
GM
10458 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10459
d0c037d8
GM
104602000-01-25 Gerd Moellmann <gerd@gnu.org>
10461
10462 * charset.c (Fstring): If there is a multibyte char among
10463 the args, always return a multibyte string.
10464
e12489f9
GM
104652000-01-25 Gerd Moellmann <gerd@gnu.org>
10466
10467 * sysdep.c (sys_select): Turn atimers off and on instead of
10468 recording and restoring old alarm handler
10469
10470 * process.c (toplevel): Include atimer.h.
10471 (create_process_1): Rewritten.
10472 (create_process): Use atimers instead of alarm.
10473 (wait_reading_process_input) [hpux]: Turn atimers off instead
10474 of turning off SIGALRM.
10475 (wait_reading_process_input): Turn off atimers instead off
10476 calling stop_polling.
10477
10478 * emacs.c (main): Call init_atimer.
10479
10480 * keyboard.c (toplevel): Include systime.h and atimer.h.
10481 (polling_for_input): Removed because unused.
10482 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10483 (poll_timer): New variable.
10484 (poll_for_input, poll_for_input_1): New functions.
10485 (start_polling, stop_polling): Rewritten.
10486
10487 * keyboard.h (polling_for_input): Removed.
427ec082 10488
e12489f9
GM
10489 * atimer.h, atimer.c: New files.
10490
10491 * Makefile.in (obj): Add atimer.o.
10492 (atimer.o): New target.
10493
10494 * blockinput.h (pending_atimers): Add extern declaration.
10495 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10496
10497 * lisp.h (popup_activated_flag): Add extern declaration.
10498
10499 * xmenu.c (popup_activated_flag): Make externally visible.
10500 (popup_activate_callback) [USE_MOTIF]: Increment
10501 popup_activated_flag.
10502 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10503
10504 * xterm.c (toplevel): Include atimer.h.
10505 (toolkit_scroll_bar_interaction): New variable.
10506 (Fxt_process_timeouts): Removed.
10507 (x_process_timeouts): New function.
10508 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10509 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10510 (x_make_frame_visible): Call poll_for_input_1 instead of
10511 input_poll_signal. Don't call alarm.
10512 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10513
1e5279b9
DL
105142000-01-24 Dave Love <fx@gnu.org>
10515
6c67ddee 10516 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10517 Don't use -cckr -- apparently not now necessary.
10518
edf6aeb8
EZ
105192000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10520
10521 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10522 screen boundary.
10523
9badad41
JR
105242000-01-23 Jason Rumney <jasonr@gnu.org>
10525
10526 * w32fns.c (w32_defined_color): Apply gamma correction before
10527 trying to map to the palette.
10528 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10529 to w32_clear_rect.
10530
10531 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10532 here. Callers changed to always pass real device context.
10533 (w32_draw_bitmap): Likewise.
10534 (w32_get_glyph_overhangs): Likewise.
10535 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
10536 one.
10537 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10538 pfnSetScrollInfo and SetScrollRange.
10539 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10540 back into MULE characters after decoding them.
10541 (x_get_glyph_face_and_encoding): Likewise.
10542 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10543 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10544 (x_produce_glyphs): Calculate per char metrics for a character
10545 that we know exists in default font when font_not_found_p is true.
10546
63bd786b
JR
105472000-01-22 Jason Rumney <jasonr@gnu.org>
10548
10549 * makefile.nt (intervals.obj, composite.obj): New modules.
10550 (composite.h): Added as dependency where appropriate.
10551
10552 * w32gui.h (XGCValue): New struct for emulating X GCs.
10553
10554 * w32term.h (XCharStruct): New struct for emulating X.
10555
10556 * w32console.c (turn_on_face, turn_off_face): New functions.
10557 (change_line_highlight): New prototype for new redisplay.
10558 (write_glyphs): Support multibyte text. Support faces.
10559
10560 * w32faces.c: Complete rewrite for new redisplay based on new
10561 xfaces.c.
10562
10563 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10564 throughout. struct frame * in place of FRAME_PTR.
10565 Skeleton support for images, toolbars, tooltips from xfns.c.
10566 (Fx_create_frame): Use system default for default scroll bar
10567 width.
10568 (w32_get_arg): Renamed from x_get_arg.
10569 (Fx_file_dialog): New function.
10570 (w32_list_fonts): Check cache before asking system.
10571 (Vw32_enable_synthesized_fonts): New variable.
10572 (Vw32_enable_italics): Obsolete, removed.
10573
10574 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10575 Use SELECTED_FRAME macro.
10576
10577 * w32menu.c: Add skeleton support for help strings on menus.
10578 (add_menu_item): Native checkbox and radio support added, but not
10579 yet enabled due to bugs.
10580 (push_menu_item): Add parameters type, selection and help.
10581 Callers updated.
10582 Formatting changes to reduce unnecessary diffs with xmenu.c.
10583
10584 * w32select.c (Fw32_set_clipboard_data): Update call to
10585 find_charset_in_str.
10586
10587 * w32term.c: Complete rewrite for new redisplay based on new
10588 xterm.c with necessary sections merged back in from old w32term.c.
10589
6ffd3cf7 105902000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10591
10592 * data.c (set_internal): Further fix in same criterion.
10593
6ffd3cf7 105942000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10595
10596 * data.c (set_internal): Fix the criteria for whether
10597 to swap out the old cached binding.
10598
60af03f1
DL
105992000-01-19 Dave Love <fx@gnu.org>
10600
10601 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10602
f9be074f
KH
106032000-01-18 Kenichi Handa <handa@etl.go.jp>
10604
10605 * regex.c (re_compile_fastmap): While checking a range table for
10606 `charset', skip flag bits for a character class correctly.
10607
52b8dbf9
GM
106082000-01-17 Gerd Moellmann <gerd@gnu.org>
10609
d36100c9
GM
10610 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10611
52b8dbf9
GM
10612 * xfns.c (x_window): Call lw_create_widget with new parameter
10613 list.
10614
10615 * widget.c (EmacsFrameSetCharSize): Change size of children first
10616 because of problems with main window geometry management under
10617 Lesstif.
10618
10619 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
10620 MENU_ITEMS_ITEM_.*.
10621 (MENU_ITEMS_ITEM_HELP): New enumerator.
10622 (push_menu_item): Add parameter HELP. Record help in menu_items.
10623 (single_menu_item, single_submenu, list_of_items): Call
10624 push_menu_item with new parameter.
10625 (single_submenu): Set help string in widget value.
10626 (menu_highlight_callback): New function.
10627 (set_frame_menubar): Call lw_create_widget with new
10628 parameter list.
10629 (xmenu_show, xdialog_show): Ditto.
10630
3139018f
GM
106312000-01-13 Gerd Moellmann <gerd@gnu.org>
10632
10633 * sound.c (Fplay_sound): Improve doc string.
10634
83c8f461
RS
106352000-01-11 Richard M. Stallman <rms@gnu.org>
10636
10637 * lisp.h (set_internal): Enter the new arg.
10638
10639 * eval.c (specbind): Record buffer-local variables specially,
10640 indicating which buffer's binding was saved.
10641 (unbind_to): Restore buffer-local variables specially
10642 in the proper buffer.
10643
10644 * data.c (set_internal): New arg BUF.
427ec082 10645
83c8f461
RS
10646 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
10647 * data.c (Fset): Pass new arg to set_internal.
10648 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 10649
1fab1775
GM
106502000-01-11 Gerd Moellmann <gerd@gnu.org>
10651
10652 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
10653 xprintsym.
10654
83c8f461 106552000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
10656
10657 * minibuf.c (Ftry_completion): Doc fix.
10658
7a85e4df
GM
106592000-01-11 Gerd Moellmann <gerd@gnu.org>
10660
10661 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
10662 vector, too.
10663
a970dae4
AS
106642000-01-11 Andreas Schwab <schwab@suse.de>
10665
10666 * coding.c (code_convert_region): Initialize total_skip.
10667
c65d14ee
DL
106682000-01-08 Dave Love <fx@gnu.org>
10669
10670 * eval.c (Fuser_variable_p): Check customizability too.
10671
834938d2
GM
106722000-01-07 Gerd Moellmann <gerd@gnu.org>
10673
10674 * minibuf.c (Fcompleting_read): Doc fix.
10675
e0303cd6
GM
106762000-01-05 Gerd Moellmann <gerd@gnu.org>
10677
8a26744b
GM
10678 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
10679 -L /usr/local/lib.
10680
e0303cd6
GM
10681 * xfns.c (x_create_im): New function to set IM and IC of a frame.
10682 Check that input style is supported before trying to create an
10683 IC for it.
10684 (x_window): Call x_create_im.
427ec082 10685
2e471eb5
GM
106862000-01-04 Gerd Moellmann <gerd@gnu.org>
10687
560a7bd2
GM
10688 * xfns.c (current_gif_memory_src): New variable.
10689 (gif_load): Record the address of the current memory source
10690 in current_gif_memory_src.
10691 (gif_read_from_memory): Use current_gif_memory_src.
10692
f9ee84a3
GM
10693 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
10694 macros statement form.
10695
d1299cde
GM
10696 * sound.c (struct sound): Renamed from struct sound_file.
10697 (struct sound): Add members `data' and `header_size'.
10698 (enum sound_attr): Add SOUND_DATA.
10699 (current_sound, current_sound_device): Variables renamed from
10700 sound_file and sound_device.
10701 (parse_sound): Parse :data.
10702 (parse_sound): Handle sound data in strings.
10703 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 10704 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
10705 needed header size.
10706 (wav_play, au_play): Play sounds from string data.
10707
2e471eb5
GM
10708 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
10709
10710 * lisp.h: Add prototype for allocate_string_data.
10711
10712 * alloc.c (Fgarbage_collect): Return number of live and free
10713 strings.
10714
10715 * alloc.c (mark_buffer): Remove code in #if 0.
10716 (gc_sweep): Ditto.
10717 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
10718 (strings_consed): New variable.
10719 (allocate_string): Set it.
10720 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
10721 (Fmemory_use_counts): Return strings_consed. Use Flist.
10722
10723 * alloc.c: General cleanup in comments etc. Remove conditional
10724 compilation for `standalone'.
10725
10726 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
10727
10728 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
10729 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
10730 (DONT_COPY_FLAG): Removed.
10731 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
10732 (struct sdata, struct sblock): New
10733 (struct string_block): Rewritten.
10734 (STRINGS_IN_STRING_BLOCK): New macro.
10735 (oldest_sblock, current_sblock, total_strings, total_free_strings)
10736 (large_sblocks, string_blocks, string_free_list): New variables.
10737 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
10738 (init_strings): Rewritten.
10739 (allocate_string, allocate_string_data, compact_small_strings)
10740 (free_large_strings, sweep_strings): New functions.
10741 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
10742 (struct string_block_head, current_string_block)
10743 (first_string_block, large_string_blocks, STRING_FULLSIZE)
10744 (STRING_PAD): Removed.
10745 (make_uninit_multibyte_string, make_pure_string): Rewritten.
10746 (Fgarbage_collect): Don't set mark bit in large strings.
10747 (mark_object): Mark strings differently. Mark symbol names
10748 differently.
10749 (survives_gc_p): Test marked strings differently.
427ec082 10750 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
10751 symbol names.
10752 (compact_strings): Removed.
10753
42608ba8
EZ
107542000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
10755
10756 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
10757 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
10758
e0a09e1a
KH
107592000-01-04 Kenichi Handa <handa@etl.go.jp>
10760
dd9f0750 10761 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 10762 in a non-empty buffer.
dd9f0750 10763
3c0f3b15 10764 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 10765
44cd3ae5
GM
107662000-01-03 Gerd Moellmann <gerd@gnu.org>
10767
10768 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
10769 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
10770
10771 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
10772
c182a70f
EZ
107732000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
10774
10775 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
10776 need to test for MSDOS frames.
10777
24480d5b
EZ
107782000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
10779
10780 * dosfns.c (unspecified_colors): Remove.
10781 (msdos_stdcolor_idx): Use global variables unspecified_fg and
10782 unspecified_bg.
10783 (msdos_stdcolor_name): Return strings for unspecified fore- and
10784 back-ground colors.
10785
10786 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 10787 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
10788 (tty_color_name): Return Lisp strings for unspecified fore- and
10789 back-ground colors.
10790 (Finternal_set_lisp_face_attribute): Remove the special treatment
10791 for Qunspecified_{f,b}g.
10792 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
10793 string.
10794
047f434a
GM
107952000-01-03 Gerd Moellmann <gerd@gnu.org>
10796
10797 * xdisp.c (reseat_at_next_visible_line_start): Position before
10798 newline only if ending up on a newline.
10799 (next_element_from_ellipsis): Return success. Handle case of
10800 displaying no ellipsis. Fix case of ellipsis defined in display
10801 table.
10802 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
10803 returns 0.
10804
d684c676
EZ
108052000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
10806
10807 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
10808 (Fcolor_supported_p): Renamed from face-color-supported-p.
10809
5fe1d139
EZ
108102000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
10811
10812 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
10813 list of colors renamed to tty-defined-color-alist.
10814 (tty_color_name): Pass the frame to tty-color-by-index.
10815 (realize_tty_face): tty-color-alist is now a function which
10816 accepts the frame as argument.
10817
10818 * term.c (Ftty_display_color_p): Accept an optional argument
10819 FRAME.
10820
816be8b8
EZ
108212000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
10822
10823 * term.c (insert_glyphs): Pass glyph, not &glyph, to
10824 encode_terminal_code.
10825
b635321e
EZ
108262000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
10827
10828 * dispnew.c (mode_line_string): Support termcap frames as well.
10829
9b784e96
GM
108302000-01-01 Gerd Moellmann <gerd@gnu.org>
10831
27189709
GM
10832 * syntax.c (Fforward_word): Undo previous change.
10833
10834 * editfns.c (Fconstrain_to_field): Don't constrain if
10835 inhibit-field-text-motion is non-nil.
10836 (Fline_beginning_position): Undo previous change.
10837 (Fline_end_position): Ditto.
10838
10839 * syntax.c (Fforward_word): Notice field boundaries only if
10840 inhibit-field-text-motion is nil.
10841
10842 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
10843
10844 * editfns.c (Vinhibit_field_text_motion): New variable.
10845 (inhibit-field-text-motion): New DEFVAR_LISP.
10846 (Fline_beginning_position, Fline_end_position): Notice field
10847 boundaries only if inhibit-field-text-motion is nil.
10848
45158a91
GM
10849 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
10850 All calls adjusted.
10851 (x_build_heuristic_mask): Likewise.
10852 (xbm_load_image_from_file): Change error output.
10853 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
10854 (gif_load, gs_load, x_kill_gs_process): Ditto.
10855
9b784e96
GM
10856 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
10857 color indices when accessing raster pixels.
63cec32f
GM
10858 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
10859 one of :file or :data.
10860 (enum pbm_keyword_index): Add PBM_DATA.
10861 (pbm_format): Add :data.
10862 (pbm_image_p): Allow either :file or :data.
10863 (pbm_read_file): New function.
10864 (pbm_scan_number): Rewritten to read from string.
10865 (pbm_load): Support :data.
9b784e96 10866
2cb085db 10867See ChangeLog.8 for earlier changes.
6922b018
KH
10868
10869;; Local Variables:
49b3bd82 10870;; coding: iso-2022-7bit
6922b018 10871;; End: