(note_mouse_highlight): Dec the int, not the Lisp_Object.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
f61a541b
GM
12001-03-22 Gerd Moellmann <gerd@gnu.org>
2
3c9e997b
GM
3 * xfaces.c (x_update_menu_appearance): Renamed from
4 x_set_menu_face_resources. Use different resources for popups.
5
6 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
7 (GC_CHECK_STRING_BYTES): Don't define.
8
364cd450
GM
9 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
10 Removed, together with subroutines.
11 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
12 (realize_basic_faces) [USE_X_TOOLKIT]: Call
13 x_set_menu_face_resources.
14
15 * dispextern.h (x_set_menu_resources_from_menu_face): Remove
16 prototype.
17
18 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
19 Remove calls to x_set_menu_resources_from_menu_face.
20
f61a541b
GM
21 * xfaces.c (xm_set_menu_resources_from_menu_face): Remove
22 #ifndef LESSTIF_VERSION.
23
24 * xmenu.c: Include widget.h.
25 (single_submenu): Return int. Some cleanup.
26 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
27
140330de
GM
282001-03-21 Gerd Moellmann <gerd@gnu.org>
29
30 * xterm.c (x_update_window_end): Handle overwritten mouse face
31 also for tool bar windows.
32 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
33 DRAW is DRAW_IMAGE_RAISED.
34
1741905c
GM
352001-03-20 Gerd Moellmann <gerd@gnu.org>
36
fa88947e
GM
37 * print.c (syms_of_print): Doc fixes.
38
1741905c
GM
39 * fns.c (Fmd5): Doc fix.
40
ade0bee1
GM
412001-03-19 Gerd Moellmann <gerd@gnu.org>
42
357e7376
GM
43 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
44 Clear area of the frame not occupied by the scroll bar.
45
c2c097cc
GM
46 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
47 tip frame's root window buffer to *tip* right after creating
48 the frame.
49
ade0bee1
GM
50 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
51 is an integer don't have to be for space characters.
52
88c6e37e
GM
532001-03-16 Gerd Moellmann <gerd@gnu.org>
54
55 * indent.c (current_column, current_column_1, Fmove_to_column)
56 (compute_motion): Handle characters from display vectors
57 differently.
58
c62eed76
KH
592001-03-15 Kenichi Handa <handa@etl.go.jp>
60
61 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
62 drawing glyph string.
63
c899e7e6
GM
642001-03-15 Gerd Moellmann <gerd@gnu.org>
65
d0bbfc99
GM
66 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
67 (command_loop_1): Undo last change.
68
03d1a189
GM
69 * xterm.c (fast_find_position): Return the correct vpos.
70
c899e7e6
GM
71 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
72 non-null, set a per-buffer value in BUF instead of the current
73 buffer.
74 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
75 Call store_symval_forwarding with BUF null.
76 (set_internal): Call store_symval_forwarding with the BUF
77 parameter passed to set_internal. Formerly, the value was always
78 set in the current buffer; the buffer recorded in specbind for
79 this case wasn't used.
80 (arith_driver): Reindent.
81
82 * buffer.c (swap_out_buffer_local_variables): Call
83 store_symval_forwarding with BUF null.
84
85 * lisp.h (store_symval_forwarding): Change prototype.
86
87 * eval.c (specbind): Call store_symval_forwarding with BUF null.
88
57ac7c81
GM
892001-03-14 Gerd Moellmann <gerd@gnu.org>
90
697617d9
GM
91 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
92 FOR_DELETION. Avoid resizing the mini-window of the selected
93 frame if FOR_DELETION is set.
94 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
95 (Fmake_frame_invisible): Change calls to do_switch_frame for new
96 signature.
97
98 * window.c (Fset_window_configuration): Change call to
99 do_switch_frame to new format.
100
101 * keyboard.c (quit_throw_to_read_char): Change call to
102 do_switch_frame to new format.
103
104 * lisp.h (do_switch_frame): Change prototype.
105
819dce0f
GM
106 * frame.c (Fframe_parameters): In the `buffer-list' frame
107 parameter, store the buffer list of FRAME, not the list of the
108 selected frame.
109
57ac7c81
GM
110 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
111 box just because the glyph row's full_width_p flag is set.
112
65008712
GM
1132001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
114
115 * xdisp.c (highlight_trailing_whitespace): On character terminals,
116 skip the padding blanks inserted in extend_face_to_end_of_line,
117 before checking for trailing whitespace.
118
159cf431
GM
1192001-03-13 Gerd Moellmann <gerd@gnu.org>
120
19b2bb80
GM
121 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
122 Remove special handling for LessTif/Motif.
123 (toplevel): Don't include Xm/Xm.h.
124
afcdc0a1
GM
125 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>: Remove
126 workaround code for LessTif; it doesn't work anymore.
127
2564ea1b 128 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 129 Xm/ScrollBarP.h.
afcdc0a1 130
23442ae4
GM
131 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Don't
132 access private scroll bar data; it's no longer necessary with
133 contemporary LessTif.
134
9faaaa52
GM
135 * xfaces.c (xm_set_menu_resources_from_menu_face): Change
136 #if 0 to #ifndef LESSTIF_VERSION.
137
159cf431
GM
138 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
139 removing button grabs.
140
c6f7429a
KH
1412001-03-13 Kenichi Handa <handa@etl.go.jp>
142
cb82d767
KH
143 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
144 and clip-large-size-font as obsolete.
145
c6f7429a
KH
146 * lread.c (read_multibyte): Check the validity of multibyte
147 sequence. If invalid, return the first byte.
148
760cefb5
GM
1492001-03-12 Gerd Moellmann <gerd@gnu.org>
150
151 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
152 before running the command; timer functions or process
153 filters may have set it.
154
5141f9d0
EZ
1552001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
156
157 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
158 Doc fix.
159
b6a15240
GM
1602001-03-12 Gerd Moellmann <gerd@gnu.org>
161
162 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
163 to sprintf.
164
95522746
GM
1652001-03-09 Gerd Moellmann <gerd@gnu.org>
166
db14cfc5
GM
167 * dispextern.h (string_buffer_position): Add prototype.
168
169 * xdisp.c (string_buffer_position, display_prop_string_p)
170 (single_display_prop_string_p): New functions.
171
172 * xterm.c (note_mouse_highlight): If there's no help-echo on
173 a string, look at the buffer text ``under'' it.
174
175 * keyboard.c (make_lispy_event): Add string info to the event,
176 analogous to what's done on mode lines.
177 (read_key_sequence): For a click on a string, consider `local-map'
178 and `keymap' of that string.
179
3cfd8357
GM
180 * keyboard.c (make_lispy_event, make_lispy_movement): Adjust
181 calls to buffer_posn_from_coords to new format.
182
183 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
184
185 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
186 POS; return void.
187
95522746
GM
188 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
189 flags argument to emacs_open; it seems to conflict with O_EXCL.
190
898a399d
KH
1912001-03-09 Kenichi Handa <handa@etl.go.jp>
192
28cd4910
KH
193 * composite.h (struct composition): Change types of members;
194 glyph_len to unsigned, width to unsigned short.
898a399d 195
4cdf6a6c
AI
1962001-03-08 Andrew Innes <andrewi@gnu.org>
197
198 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
199 menu titles.
200
129004d3
GM
2012001-03-08 Gerd Moellmann <gerd@gnu.org>
202
221dd3e7
GM
203 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
204 instead of nil.
205
5de7c6f2
GM
206 * xterm.c (note_mouse_highlight): Handle mouse-face and
207 help-echo in strings.
208 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
209 (fast_find_string_pos): New function.
210
211 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
212 (display_string): Call face_at_string_position with new
213 parameter.
214
215 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
216 Handle `mouse-face'.
217
218 * dispextern.h (face_at_string_position): Change prototype.
219
e1fbabaf
GM
220 * dired.c (directory_files_internal): Handle EAGAIN more
221 efficiently.
222
129004d3
GM
223 * keyboard.c (make_lispy_event): Avoid generating drag events
224 if the mouse hasn't actually moved to another buffer position.
225
80c8ab8c
DL
2262001-03-08 Dave Love <fx@gnu.org>
227
129004d3 228 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 229
989521fd
GM
2302001-03-08 Gerd Moellmann <gerd@gnu.org>
231
232 * process.c (Fset_process_window_size): Fix a typo.
233
bb5c338d
KH
2342001-03-08 Kenichi Handa <handa@etl.go.jp>
235
236 * coding.c (detect_coding_sjis): Do more rigid check.
237 (detect_coding_big5): Likewise.
238 (decode_coding_sjis_big5): Likewise.
239 (Fdetect_coding_region): Call detect_coding_system with tailing
240 anchor byte `\0' for more rigid detection.
a1b12fe9
KH
241 (detect_coding_mask): Fix the incorrect handling of arg
242 MULTIBYTEP.
bb5c338d
KH
243 (Fdetect_coding_string): Likewise.
244
8b8f9197
SM
2452001-03-07 Stefan Monnier <monnier@cs.yale.edu>
246
247 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
248 a string before extracting its data.
249
3bdf2660
GM
2502001-03-07 Gerd Moellmann <gerd@gnu.org>
251
252 * window.c (Frecenter): Rewrite code handling negative values
253 of ARG on graphical frames.
254
2552001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
256
257 * window.c (displayed_window_lines): If W->start is outside the
258 accessible portion of the buffer, call start_display with BEGV or
259 ZV instead of W->start.
260
471f86b9
GM
2612001-03-07 Gerd Moellmann <gerd@gnu.org>
262
2ab62c6c
GM
263 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
264
471f86b9
GM
265 * process.c (Fset_process_filter): Don't crash if the input
266 file descriptor of PROCESS is closed.
267 (Fset_process_window_size): Likewise.
268
101922c3
GM
2692001-03-06 Kenichi Handa <handa@etl.go.jp>
270
271 * xterm.c (XTflash): Make the timeout of select shorter, and call
272 select repeatedly until the desired time expires.
273
45d051a7
GM
2742001-03-06 Gerd Moellmann <gerd@gnu.org>
275
276 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
277
278 * xfns.c (Fx_create_frame): Clear Vwindow_list.
279
280 * lisp.h (Vwindow_list): Declare extern.
281
8f372c46
EZ
2822001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
283
284 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
285
f16a7aa5
GM
2862001-03-06 Gerd Moellmann <gerd@gnu.org>
287
157ae273
GM
288 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
289 to detect a case where we have to highlight a different region
290 despite not having left the currently highlighted region.
291 Set mouse_face_overlay in the x_display_info.
45d051a7 292 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
293
294 * xterm.h (struct x_display_info): Add mouse_face_overlay.
295
296 * buffer.c (mouse_face_overlay_overlaps): New function.
297
298 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
299 (Qmouse_face): Declare extern.
300
f16a7aa5
GM
301 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
302 if face_change_count is non-zero.
303
827afcac
KH
3042001-03-06 Kenichi Handa <handa@etl.go.jp>
305
306 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
307 that the source is unibyte.
308
14c7242e
DL
3092001-03-05 Dave Love <fx@gnu.org>
310
827afcac 311 * xterm.c (XTmouse_position): Fix typo.
14c7242e 312
c28b847b
GM
3132001-03-05 Gerd Moellmann <gerd@gnu.org>
314
315 * minibuf.c (read_minibuf): Clean up the binding stack if
316 called noninteractively.
317
b86644f2
KH
3182001-03-05 Kenichi Handa <handa@etl.go.jp>
319
320 * coding.c (syms_of_coding): Docstring modified.
321
203682cc 3222001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
323
324 * charset.c (char_to_string): If a single byte char has modifier
325 bits that can't be reflected to the character code, ignore them
45d051a7 326 instead of signaling an error.
b86644f2 327
e30bd7b7
EZ
3282001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
329
330 * s/msdos.h: Update copyright notice.
331
332 * dosfns.h: Update copyright notice.
333
334 * dosfns.c: Update copyright notice.
335
336 * msdos.c: Update copyright notice.
337
b52b65bd
GM
3382001-03-02 Gerd Moellmann <gerd@gnu.org>
339
340 * xterm.c (glyph_rect): New function.
341 (XTmouse_position): Use it to raise the threshold for mouse
342 movement event generation.
343
53c4b1e6
EZ
3442001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
345
346 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
347 specifies (reverse . t), reverse the initial screen colors.
348 (IT_set_frame_parameters): If the property is foreground-color,
349 but we are reversing the colors, set bg_set, not fg_set. Likewise
350 for setting background-color and reversing: set fg_set. Set
351 unspecified-fg and unspecified-bg correctly when (reverse . t) is
352 in effect.
353
354 * xfaces.c (Finternal_set_lisp_face_attribute)
355 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
356 parameters alist.
357
f964b4d7
GM
3582001-03-02 Gerd Moellmann <gerd@gnu.org>
359
ef53d75e
GM
360 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
361 to a single slash in the middle of file names.
362
cda0f4da
GM
363 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
364 Accept only alphanumeric time zone names.
365
f964b4d7
GM
366 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
367 or width area.
368 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
369 a widget to zero height.
370
c3c45f65
GM
3712001-03-01 Gerd Moellmann <gerd@gnu.org>
372
373 * window.c (Fwindow_end): Call move_it_past_eol only if
374 ending up on a partially visible line.
375
028d739a
DL
3762001-03-01 Dave Love <fx@gnu.org>
377
378 * ccl.c (Fccl_execute): Doc fix.
379
57c5889c
GM
3802001-03-01 Gerd Moellmann <gerd@gnu.org>
381
35f59f6b
GM
382 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
383 of the tool bar before calling x_figure_window_size.
384
f84ff02c
GM
385 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
386 NULL after destroying it, otherwise XTread_socket can access a
387 destroyed widget when input is unblocked.
388
8b8f9197 389 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
420f628c 390
57c5889c
GM
391 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
392 same name as before, although there was a change in fontsets.
393
224227d1
KR
3942001-02-28 Ken Raeburn <raeburn@gnu.org>
395
4560730a
KR
396 * lisp.h (Fframe_parameter): Declare.
397
224227d1 398 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 399 Lisp_Object.
224227d1 400
ece93c02
GM
4012001-02-28 Gerd Moellmann <gerd@gnu.org>
402
11ef99b9
GM
403 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
404 NULL instead.
405
406 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
407 NULL instead.
408
ece93c02
GM
409 * alloc.c (toplevel): Include process.h.
410 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
411 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
412 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
413 (allocate_vector, allocate_hash_table, allocate_window)
414 (allocate_frame, allocate_process, allocate_other_vector): New
415 functions.
416 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
417 (mark_maybe_pointer): New function.
418 (mark_memory): Also mark Lisp data to which only pointers
419 remain and not Lisp_Objects.
420 (min_heap_address, max_heap_address): New variables.
421 (mem_find): Return MEM_NIL if START is below min_heap_address or
422 above max_heap_address.
423 (mem_insert): Compute min_heap_address and max_heap_address.
424
425 * process.c (make_process): Use allocate_process.
426
427 * frame.c (make_frame): Use allocate_frame.
428
429 * window.c (make_window, make_dummy_parent): Use allocate_window.
430 (Fcurrent_window_configuration): Use allocate_other_vector.
431
432 * lisp.h (allocate_vectorlike): Remove prototype.
433 (allocate_vector, allocate_other_vector, allocate_frame)
434 (allocate_window, allocate_process, allocate_hash_table):
435 Add prototypes.
436
437 * fns.c (Fdelete, larger_vector): Use allocate_vector.
438 (make_hash_table, copy_hash_table): Use allocate_hash_table.
439
063af457
KH
4402001-02-27 Kenichi Handa <handa@etl.go.jp>
441
442 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
443 treat the produced bytes as a valid multibyte sequence.
444
445 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
446 (ccl_driver) <CCL_WriteMultibyteChar2>: Use
447 CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
448 <ccl_finish>: Set ccl->eight_bit_control properly.
449
450 * ccl.h (struct ccl_program): New member eight_bit_control.
451
f58c6494
SM
4522001-02-26 Stefan Monnier <monnier@cs.yale.edu>
453
454 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
455 accessible_keymaps_char_table.
456 (accessible_keymaps_char_table): Obey `is_metized'.
457 (where_is_internal, Fwhere_is_internal): Don't confuse int and
458 Lisp_Object.
459
c596c392
GM
4602001-02-26 Gerd Moellmann <gerd@gnu.org>
461
462 * dispnew.c: Check HAVE_TERM_H before including term.h.
463
425de386
AI
4642001-02-24 Andrew Innes <andrewi@gnu.org>
465
466 * makefile.w32-in: Update copyright notice.
467
2ba11bbd
SM
4682001-02-24 Stefan Monnier <monnier@cs.yale.edu>
469
470 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
471
66c56ed1
KH
4722001-02-24 Kenichi Handa <handa@etl.go.jp>
473
4c1593ce
KH
474 * Makefile.in (lisp): Add international/utf-8.elc.
475
66c56ed1
KH
476 * fontset.c (Fnew_fontset): Fix handling of the case that an
477 element of FONTLIST is a cons of family and registry.
478
796ead7e
JR
4792001-02-23 Jason Rumney <jasonr@gnu.org>
480
481 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
482 to height unconditionally.
483
484 * w32term.c (x_set_glyph_string_background_width): Extend the
485 background face to the end of the drawing area in the text area,
486 only.
487 (x_insert_glyphs): Call window_box_left to obtain the left
488 x-coordinate of the area to shift.
489
490 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
491 safe_run_hooks.
492
f6839838
AI
4932001-02-22 Andrew Innes <andrewi@gnu.org>
494
495 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header
496 files.
497 ($(BLD)\dispnew.obj):
498 ($(BLD)\editfns.obj):
499 ($(BLD)\fileio.obj):
500 ($(BLD)\filelock.obj):
501 ($(BLD)\keyboard.obj):
502 ($(BLD)\w32proc.obj):
503 ($(BLD)\process.obj):
504 ($(BLD)\sysdep.obj): Ditto.
505
506 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
507 header files.
508 ($(BLD)/dispnew.$(O)):
509 ($(BLD)/editfns.$(O)):
510 ($(BLD)/fileio.$(O)):
511 ($(BLD)/filelock.$(O)):
512 ($(BLD)/keyboard.$(O)):
513 ($(BLD)/w32proc.$(O)):
514 ($(BLD)/process.$(O)):
515 ($(BLD)/sysdep.$(O)): Ditto.
516
c224f70b
GM
5172001-02-22 Gerd Moellmann <gerd@gnu.org>
518
51695746
GM
519 * xdisp.c (forward_to_next_line_start): When taking the shortcut
520 at the start of the function, check that the \n in it->c is
521 from the iterator's current position.
522
a61b7058
GM
523 * xdisp.c (handle_single_display_prop): Add parameter
524 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
525 properties which replace the display of text with something else.
526 (handle_display_prop): Call handle_single_display_prop with
527 additional argument saying if we already replaced text display
528 with something else. Use AREF.
529 (with_echo_area_buffer_unwind_data, display_menu_bar)
530 (decode_mode_spec_coding): Use AREF and ASIZE.
531
3473f362
GM
532 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
533 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
534 * vmstime.h: Files removed.
535
2bb58df3
GM
536 * unexencap.c, unexfx2800.c: Files removed.
537
c224f70b
GM
538 * dispnew.c (direct_output_for_insert): Give up if we are showing
539 a message or just cleared the message because we might need to
540 resize the echo area window or display an empty echo area.
541
ffc9ff0c
GM
5422001-02-21 Gerd Moellmann <gerd@gnu.org>
543
0528abe1
GM
544 * xdisp.c (redisplay_internal): Do the
545 mark_window_display_accurate after all windows have been
546 redisplayed because this call resets flags in buffers which are
547 needed for proper redisplay.
548
ffc9ff0c
GM
549 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
550 display_hourglass_p, start_hourglass, cancel_hourglass instead of
551 the old names.
552
553 * w32term.h (struct x_output): Rename busy_cursor to
554 hourglass_cursor, busy_window to hourglass_window, busy_p to
555 hourglass_p.
556
557 * msdos.h (struct x_output): Rename busy_window to
558 hourglass_window, busy_p to hourglass_p.
559
560 * xterm.h (struct x_output): Rename busy_cursor to
561 hourglass_cursor, busy_window to hourglass_window, busy_p to
562 hourglass_p.
563
564 * xfns.c: Rename everything containing *busy_cursor* and similar
565 to *hourglass*.
566 (syms_of_w32fns): Rename x-busy-pointer-shape to
567 x-hourglass-pointer-shape, display-busy-cursor to
568 display-hourglass, busy-cursor-delay to hourglass-delay.
569
570 * w32fns.c: Rename everything containing *busy_cursor* and similar
571 to *hourglass*.
572 (syms_of_w32fns): Rename x-busy-pointer-shape to
573 x-hourglass-pointer-shape, display-busy-cursor to
574 display-hourglass, busy-cursor-delay to hourglass-delay.
575
576 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
577 of its busy_p flag.
578
579 * dispextern.h (start_hourglass, cancel_hourglass)
580 (display_hourglass_p): Renamed from *busy_cursor*.
581
ab2c5f0a
GM
5822001-02-20 Gerd Moellmann <gerd@gnu.org>
583
d17e49a8
GM
584 * keyboard.c (read_char): When an event from unread-command-events
585 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
586
fa97adf6
GM
587 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
588 equal to the current buffer.
589
ab2c5f0a
GM
590 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
591 nil, otherwise we're left with truncate_lines t when a message
592 is printed with message-truncate-lines bound to t.
593
aeac019e
GM
5942001-02-19 Gerd Moellmann <gerd@gnu.org>
595
c8bc6f65
GM
596 * window.c (Fmove_to_window_line): Undo last change.
597 (displayed_window_lines): Call line_bottom_y to determine
598 the line's bottom position.
599
600 * dispextern.h (line_bottom_y): Add prototype.
601
602 * xdisp.c (line_bottom_y): New function extracted from
603 pos_visible_p.
604 (pos_visible_p): Use it.
605
980a2d69
GM
606 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
607 set redisplaying_p to 0 here instead of in Frecursive_edit.
608 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
609 set redisplaying_p.
610
184d2372
GM
611 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
612 New variables.
613 (syms_of_xdisp): Initialize new variables.
614 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
615 Specbind `inhibit-menubar-update' when updating the menu bar.
616
65048e97
GM
617 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
618 safe_run_hooks.
619
620 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
621 safe_run_hooks.
622
a57c4026
GM
623 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
624 is null.
625
aeac019e
GM
626 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
627 to the start of the file.
628
76846b31
GM
6292001-02-16 Gerd Moellmann <gerd@gnu.org>
630
f3f053f3 631 * window.c (set_window_buffer): Fix last change.
25237df5 632
f3f053f3
GM
633 * window.c (set_window_buffer): Set window's vscroll to 0.
634
dad75588
GM
635 * window.c (coordinates_in_window): Increase width of area
636 where the vertical line can be dragged.
637
c220b753
GM
638 * xterm.c (x_set_glyph_string_background_width): Extend the
639 background face to the end of the drawing area in the text
640 area, only.
641
c56b1c1b
GM
642 * xdisp.c (handle_single_display_prop): Set iterator's position
643 to where the `display' property starts, like for images.
644 (dump_glyph): New function.
645 (dump_glyph_row): Use it. Dump info about marginal areas.
646
647 * dispnew.c (direct_output_for_insert): Recognize more cases where
648 glyphs can be written instead of being inserted.
649
650 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
651 the left x-coordinate of the area to shift.
652
76846b31
GM
653 * dired.c (directory_files_internal): Set result list to nil
654 before retrying.
655
0fc71a77
KH
6562001-02-15 Kenichi Handa <handa@etl.go.jp>
657
658 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
659 invalid multibyte sequence, treat *SRC as a character of
660 eight-bit-graphic.
661
25078b54
EZ
6622001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
663
664 * textprop.c (Fset_text_properties): Doc fix.
665
8399f8a0
GM
6662001-02-15 Gerd Moellmann <gerd@gnu.org>
667
668 * dispnew.c (update_text_area): Undo change of 2001-01-12.
669
9a2a6f73
DL
6702001-02-14 Dave Love <fx@gnu.org>
671
672 * coding.c: Doc and message fixes.
673
bf853fee
AI
6742001-02-14 Andrew Innes <andrewi@gnu.org>
675
676 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
677 Emacs frame above the screen size.
678
78c663d8
GM
6792001-02-14 Gerd Moellmann <gerd@gnu.org>
680
681 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
682
7cc9f69f
GM
6832001-02-13 Gerd Moellmann <gerd@gnu.org>
684
0a411995
GM
685 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
686 case that TO ends up beyond ZV after running before-change-functions.
687
5ddc1b75
GM
688 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
689 the selected window if it is showing the buffer in question.
690
7cc9f69f
GM
691 * dired.c (directory_files_internal): Initialize errno.
692 (toplevel): Include errno.h.
693
2e6621ca
GM
6942001-02-13 Kenichi Handa <handa@etl.go.jp>
695
696 * xfaces.c (best_matching_font): New parameter width_ratio.
697 Multiply avgwidth by width_ratio.
698 (choose_face_font): Call best_matching_font with width_ratio
699 calculated from the column width of C.
700
60222d69
AI
7012001-02-12 Andrew Innes <andrewi@gnu.org>
702
703 The following changes are to draw box lines inside characters area
704 if line-width is negative.
705
706 * w32term.c (x_produce_image_glyph): Pay attention to the case that
707 face->box_line_width is negative.
708 (x_produce_stretch_glyph): Likewise.
709 (x_produce_glyphs): Likewise.
710 (x_estimate_mode_line_height): Likewise.
711 (x_draw_glyph_string_background): Likewise.
712 (x_draw_glyph_string_foreground): Likewise.
713 (x_draw_composite_glyph_string_foreground): Likewise.
714 (x_draw_glyph_string_box): Likewise.
715 (x_draw_image_foreground): Likewise.
716 (x_draw_image_relief): Likewise.
717 (x_draw_image_foreground_1): Likewise.
718 (x_draw_image_glyph_string): Likewise.
719
9804b846
KH
7202001-02-09 Kenichi Handa <handa@etl.go.jp>
721
722 The following changes are to draw box lines inside characters area
723 if line-width is negative.
724
725 * xterm.c (x_produce_image_glyph): Pay attention to the case that
726 face->box_line_width is negative.
727 (x_produce_stretch_glyph): Likewise.
728 (x_produce_glyphs): Likewise.
729 (x_estimate_mode_line_height): Likewise.
730 (x_draw_glyph_string_background): Likewise.
731 (x_draw_glyph_string_foreground): Likewise.
732 (x_draw_composite_glyph_string_foreground): Likewise.
733 (x_draw_glyph_string_box): Likewise.
734 (x_draw_image_foreground): Likewise.
735 (x_draw_image_relief): Likewise.
736 (x_draw_image_foreground_1): Likewise.
737 (x_draw_image_glyph_string): Likewise.
738
739 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
740 and :line-width can be negative.
741 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be
742 negative.
743
49be9f70
JR
7442001-02-09 Jason Rumney <jasonr@gnu.org>
745
746 * w32term.c (w32_encode_char): Treat eight bit graphic and control
747 characters the same as ASCII and latin-1.
748 (x_display_and_set_cursor): Check for the focus frame's selected
749 window instead of selected_window.
750 (x_after_update_window_line): Don't clear if frame's internal
751 border width is zero.
752 (x_new_font): Don't change a tooltip's size.
753 (w32_initialize): Set char_ins_del_ok to 1.
754
755 * w32fns.c (Fx_show_tip): Fix calls to make_number.
756 (x_set_font): If font hasn't changed, avoid recomputing
757 faces and other things.
758 (x_set_tool_bar_lines): Do nothing if frame is
759 minibuffer-only,
760 (Fx_create_frame): Add the tool bar height to the frame
761 height.
762 (x_create_tip_frame): Prevent changing the tooltip's
763 background color by specifying a color for the default font
764 in .Xdefaults.
765 (Qcancel_timer): New variable.
766 (syms_of_w32fns): Initialize and staticpro it.
767 (Fx_hide_tip, Fx_show_tip): Use it.
768 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
769 the timer.
770 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
771
772 * w32.c (init_environment): Duplicate local string before putenv.
773
555e35d2
SZ
7742001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
775
776 * charset.c (Fstring): A typo.
777
19c92c94
KH
7782001-02-09 Kenichi Handa <handa@etl.go.jp>
779
e47a1c33
KH
780 * charset.c (Fstring): If all arguments are less than 256, return
781 a unibyte string.
782
783 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
784 return a unibyte string.
785
19c92c94
KH
786 * coding.c (code_convert_region): After detecting a coding, if
787 nothing found, set coding->composing to COMPOSITION_NO.
788 (decode_coding_string): Likewise.
789
d8e675f5
SM
7902001-02-08 Stefan Monnier <monnier@cs.yale.edu>
791
792 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
793 to avoid overflow.
794
bd503487
KH
7952001-02-07 Kenichi Handa <handa@etl.go.jp>
796
797 * charset.c (parse_str_to_multibyte): New function.
798
799 * charset.h (parse_str_to_multibyte): Extern it.
800
801 * print.c (print_string): If we are going to print a unibyte
802 string into a multibyte buffer, convert the string to multibyte by
803 str_to_multibyte.
804
a8370d72
AI
8052001-02-06 Andrew Innes <andrewi@gnu.org>
806
807 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
808 been created. It seems we can get sent window messages such as
809 WM_ERASEBKGND before we properly update a frame.
810
c363a1d6
GM
8112001-02-06 Gerd Moellmann <gerd@gnu.org>
812
813 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
814 Avoid some unnecessary cursor positioning.
815
a08332c0
GM
8162001-02-05 Gerd Moellmann <gerd@gnu.org>
817
818 * xfaces.c (split_font_name): Compute numeric value of
819 XLFD_AVGWIDTH.
820 (LFACE_AVGWIDTH): New macro.
821 (LFACEP): Use AREF.
822 (check_lface_attrs): Check LFACE_AVGWIDTH.
823 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
824 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
825 (merge_face_vectors): Check LFACE_AVGWIDTH.
826 (Finternal_make_lisp_face): Use AREF.
827 (xm_set_menu_resources_from_menu_face)
828 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
829 (Finternal_lisp_face_empty_p): Use AREF.
830 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
831 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
832 Compare average widths..
833 (best_matching_font): Arrange for comparing average widths.
834
835 * dispextern.h (enum lface_attribute_index): Add
836 LFACE_AVGWIDTH_INDEX (invisible from Lisp).
837
5cb3c8d4
DL
8382001-02-05 Dave Love <fx@gnu.org>
839
840 * puresize.h: Revert last change following loadup.el change.
841
193fba87
AI
8422001-02-05 Andrew Innes <andrewi@gnu.org>
843
844 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
845 invocation of temacs, to work with Windows 2000.
846 (bootstrap-emacs): Ditto.
847
e16f52ce
GM
8482001-02-05 Gerd Moellmann <gerd@gnu.org>
849
7a58ab59
GM
850 * xterm.c (x_display_and_set_cursor): Check for the focus
851 frame's selected window instead of selected_window.
852
e89aaabd
GM
853 * xdisp.c (try_scrolling): If point is in the line below the
854 window, make sure to move the iterator at least a canonical
855 char height down.
856
e16f52ce
GM
857 * window.c (Fmove_to_window_line): Don't add 1 if window is
858 vscrolled.
859
789ce875
KH
8602001-02-05 Kenichi Handa <handa@etl.go.jp>
861
862 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If
863 invalid, execute CCL_INVALID_CMD.
864 (ccl_driver): If the CCL program is terminated because of
865 CCL_STAT_INVALID_CMD, copy the remaining source data to the
866 destination instead of throwing them away.
867
20b28f82
GM
8682001-02-02 Gerd Moellmann <gerd@gnu.org>
869
79fb38c0
GM
870 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
871 faces and other things.
872
20b28f82
GM
873 * xdisp.c (get_next_display_element): Fix case of empty
874 display table entry.
875
5a72551e
EZ
8762001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
877
eb24d0bf
EZ
878 * editfns.c (Fconstrain_to_field): Doc fix.
879
6a3f48c7
EZ
880 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
881 into `thoroughly', to make it consistent with the doc string.
882
5a72551e
EZ
883 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
884
01acdb05
GM
8852001-02-01 Gerd Moellmann <gerd@gnu.org>
886
0353b28f
GM
887 * search.c (search_buffer): Call set_search_regs with a byte
888 position, not a character position.
889
01acdb05
GM
890 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
891 minibuffer-only,
892
e86b5133
EZ
8932001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
894
895 * frame.c (Fmodify_frame_parameters): Doc fix.
896
7442878f
GM
8972001-01-31 Gerd Moellmann <gerd@gnu.org>
898
01acdb05
GM
899 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
900 identifier which is not reserved by Standard C.
901
7442878f
GM
902 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
903
904 * window.c (enum window_part): New enumeration.
905 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
906 Qright_bitmap_area.
907 (coordinates_in_window): Return an enumerator from enum
908 window_part. Fix handling of right scroll bar.
909 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
910 `right-fringe' instead of `left-bitmap-area' and
911 `right-bitmap-area'. Use enumerators from enum window_part
912 instead of hard-coded integers.
913 (check_window_containing, window_from_coordinates): Use
914 enumerators from enum window_part instead of hard-coded integers.
915 (syms_of_window): Replace Qleft_bitmap_area and
916 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
917
7c132cba
EZ
9182001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
919
920 * editfns.c (Fformat_time_string): Doc fix.
921
c359dd9e
SM
9222001-01-31 Stefan Monnier <monnier@cs.yale.edu>
923
924 * keymap.c (Fwhere_is_internal): Use the first valid binding
925 if no ascii binding is found (when firstonly is t).
926
ce070307
GM
9272001-01-31 Gerd Moellmann <gerd@gnu.org>
928
b4f30ec5
GM
929 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
930 instead of Finteractive_p.
931
932 * lisp.h (interactive_p): Add prototype.
933
934 * eval.c (interactive_p): New function.
935 (Finteractive_p): Use it.
936
ce070307
GM
937 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
938
f57b6e64
DL
9392001-01-31 Dave Love <fx@gnu.org>
940
d61c7afe
DL
941 * .gdbinit (hook-run): Define to run xreload.
942
f57b6e64
DL
943 * textprop.c (Fset_text_properties): Fix newline in doc string.
944
eef93f99
GM
9452001-01-30 Gerd Moellmann <gerd@gnu.org>
946
947 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use
948 DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
949
950 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
951 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
952 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
953
954 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
955 height.
956
d9c1f6f9
DL
9572001-01-30 Dave Love <fx@gnu.org>
958
959 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
960 AFTER_POTENTIAL_GC.
961
e8f044a0
GM
9622001-01-29 Gerd Moellmann <gerd@gnu.org>
963
964 * bytecode.c (Fbyte_code) <Bcurrent_column>: Add
965 BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
966
8e1db7b3
EZ
9672001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
968
969 * textprop.c (Fset_text_properties): Doc fix.
970
4eefd9d2
GM
9712001-01-29 Gerd Moellmann <gerd@gnu.org>
972
973 * xdisp.c (forward_to_next_line_start): Remove xassert.
974
fccb8288
EZ
9752001-01-29 Jason Rumney <jasonr@gnu.org>
976
4eefd9d2 977 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
978 returning without releasing it.
979
76581eab
KH
9802001-01-29 Kenichi Handa <handa@etl.go.jp>
981
982 * w32fns.c (w32_font_match): Allocate three more bytes to regex
983 for '^', '$', and '\0'.
984
83a96b4d
AC
9852001-01-28 Andrew Choi <akochoi@i-cable.com>
986
5604ec34
AC
987 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
988 regex for '^', '$', and '\0'.
989
83a96b4d
AC
990 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
991 only if current_sblock has been initialized.
992
993 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
994 terminal frame even if it is the only visible frame.
995
c09a6440
KH
9962001-01-28 Kenichi Handa <handa@etl.go.jp>
997
998 * fontset.c (font_family_registry): Even if FONTNAME conform to
999 XLFD, if it specifies other fields than family and registry,
1000 return FONTANME. New argument FORCE if nonzero cancel that
1001 feature.
1002 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
1003 a signle byte character. Don't set FAMILY part to nil here. It
1004 is handled by the caller choose_face_font.
1005 (Fnew_fontset): Call font_family_registry with FORCE 0.
1006 (Fset_fontset_font): Likewise.
1007
4dcd74e6
GM
10082001-01-27 Gerd Moellmann <gerd@gnu.org>
1009
1010 * xdisp.c (display_line): Don't treat a newline as fitting
1011 on the line.
1012
d2906bf8
GM
10132001-01-26 Gerd Moellmann <gerd@gnu.org>
1014
0130fe1a
GM
1015 * window.c (size_window): Set the window's orig_top to nil when
1016 changing heights, so that a future shrink_mini_window won't
1017 restore a bogus height.
1018
550f0e6a
GM
1019 * frame.c (do_switch_frame): If selected frame has a mini-window,
1020 resize that to exact size.
1021
b7b20fbd
GM
1022 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1023
a47b7816
GM
1024 * xdisp.c (display_line): Simplify check for glyphs fitting
1025 entirely in the line.
1026
d2906bf8
GM
1027 * xfns.c (xic_style): New variable.
1028 (create_frame_xic): Move static variable to global scope for
550f0e6a 1029 the case that `static' gets defined away.
d2906bf8 1030
73df2b1e
KH
10312001-01-26 Kenichi Handa <handa@etl.go.jp>
1032
1033 * coding.c (decode_coding): Set a flag for inhibiting
1034 inconsistent eol.
1035 (code_convert_region): Always set saved_coding_symbol.
1036 (decode_coding_string): Likewise. Update coding->symbol when we
1037 encounter a inconsistent eol by the same way as
1038 code_convert_region.
1039
6613cfc4
GM
10402001-01-25 Gerd Moellmann <gerd@gnu.org>
1041
c5e6e06b
GM
1042 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1043 XClearArea.
1044
1045 * xterm.c (x_after_update_window_line): Don't clear if frame's
1046 internal border width is zero.
1047 (x_clear_area): New function.
1048 (x_after_update_window_line, x_clear_end_of_line)
1049 (x_scroll_bar_create, x_scroll_bar_set_handle)
1050 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1051 instead of XClearArea.
1052
1053 * xterm.h (x_clear_area): Add prototype.
1054
6613cfc4
GM
1055 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1056 which doesn't seem necessary anymore with Lesstif 0.92.
1057
650cc6cc
DL
10582001-01-25 Dave Love <fx@gnu.org>
1059
34ac3367
DL
1060 * puresize.h (BASE_PURESIZE): Up to 720000.
1061
650cc6cc
DL
1062 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1063
5e37dc22
GM
10642001-01-25 Gerd Moellmann <gerd@gnu.org>
1065
e1e441f9
GM
1066 * xdisp.c (echo_area_display): Don't call redisplay_internal
1067 when Emacs is shutting down. We can't run hooks etc. that
1068 would be necessary to do a redisplay.
1069
5e37dc22
GM
1070 * lread.c (read_integer): Use type EMACS_INT instead of int.
1071
0fb94c7f
EZ
10722001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1073
1074 * ccl.c (ccl_driver): Fix last change.
1075
e3778624
KH
10762001-01-25 Kenichi Handa <handa@etl.go.jp>
1077
1078 * ccl.h (sturct ccl_program): New member suppress_error.
1079
bb264518 1080 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1081 insert error message to the output.
1082 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1083
1084 * coding.h (struct coding_system): New member suppress_error.
1085
1086 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1087 (Fset_terminal_coding_system_internal): Set the member
1088 suppress_error to 1.
1089 (Fset_safe_terminal_coding_system_internal): Likewise.
1090
245ed2b1
SM
10912001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1092
1093 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1094 as if it was a `charset'.
1095
f9aaedb6
GM
10962001-01-24 Gerd Moellmann <gerd@gnu.org>
1097
1098 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1099 value in where_is_cache; the next lookup in the cache returns
1100 something bogus if we do.
1101
c3902c3e
EZ
11022001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1103
1104 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1105 if HAVE_WINDOW_SYSTEM isn't defined.
1106
3497f73e
GM
11072001-01-24 Gerd Moellmann <gerd@gnu.org>
1108
e7e41584
GM
1109 * fns.c (sweep_weak_table): Fix code taking items out of
1110 the hash collision chain. Some cleanup.
1111
3497f73e
GM
1112 * xterm.c (x_new_font): Don't change a tooltip's size.
1113
1114 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1115 background color by specifying a color for the default font
1116 in .Xdefaults.
1117
3d48e687
KH
11182001-01-24 Kenichi Handa <handa@etl.go.jp>
1119
96531b20
KH
1120 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1121 a workaround for SunOS 4's cc.
1122 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1123 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1124 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1125 statement.
3d48e687 1126
a30629d2
GM
11272001-01-23 Gerd Moellmann <gerd@gnu.org>
1128
1129 * xterm.c (x_set_window_size_1): New function extracted from
1130 x_set_window_size.
1131 (x_set_window_size): Use it.
1132 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1133 doesn't have a widget, like tooltips.
1134
5a43decf
EZ
11352001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1136
1137 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
1138 fix.
1139
b0e98867
KH
11402001-01-23 Kenichi Handa <handa@etl.go.jp>
1141
1142 * fns.c (Fset_char_table_default): Fix to make sub char-table
1143 correctly.
1144
50606b4c
GM
11452001-01-22 Gerd Moellmann <gerd@gnu.org>
1146
cb2ddc53 1147 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 1148 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
1149 items.
1150
57c28064
GM
1151 * xdisp.c (Ftool_bar_lines_needed): New function.
1152 (syms_of_xdisp): Defsubr it.
1153
50606b4c
GM
1154 * editfns.c (Fformat): Don't extend text properties from arguments
1155 to padding chars in the result.
1156
2f169c38
EZ
11572001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1158
1159 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1160
0f32f023
AI
11612001-01-20 Andrew Innes <andrewi@gnu.org>
1162
1163 * w32term.c (w32_ring_bell): Only support visible bell on w32
1164 frames.
1165 (w32_initialize): Don't set term hooks that aren't actually needed
1166 in windowed mode.
1167
1168 * xfaces.c (realize_default_face):
1169 (realize_face):
1170 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1171
1172 * xdisp.c (handle_single_display_prop): Remove references to
1173 FRAME_W32_CONSOLE_P.
1174
1175 * dispnew.c (Fredraw_frame): Remove reference to
1176 FRAME_W32_CONSOLE_P.
1177
1178 * frame.h (output_method): Remove output_w32_console method.
1179 (FRAME_W32_CONSOLE_P): Remove macro.
1180
1181 * frame.c (Qw32_console): Remove variable.
1182 (Fframep): Remove references to it.
1183 (syms_of_frame): Ditto.
1184 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1185
1186 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1187 redefinition.
1188
7173eada
KH
11892001-01-20 Kenichi Handa <handa@etl.go.jp>
1190
1191 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1192
755b45ce
AI
11932001-01-19 Andrew Innes <andrewi@gnu.org>
1194
1195 * w32.c (init_environment): Add a version-independent site-lisp
1196 directory to EMACSLOADPATH, after the version dependent one.
1197
0a949811
GM
11982001-01-19 Gerd Moellmann <gerd@gnu.org>
1199
8501998a
GM
1200 * editfns.c (Fbuffer_substring): Doc fix.
1201
0a949811
GM
1202 * xdisp.c (message_dolog, message2, message2_nolog): Rename
1203 parameter LEN to NBYTES.
1204
e6ebcbbe
KH
12052001-01-19 Kenichi Handa <handa@etl.go.jp>
1206
200ecca2
KH
1207 * charset.c (strwidth): Use c_string_width.
1208 (c_string_width): New function.
1209 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1210 Caller changed.
1211
1212 * charset.h (c_string_width, lisp_string_width): Extern them.
1213
1214 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
1215
e6ebcbbe
KH
1216 * indent.c (check_composition): Check validity of composition.
1217
200ecca2
KH
1218 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1219 characters by calling c_string_width.
1220 (x_consider_frame_title): Get byte length of frame tile string
1221 correctly.
1222 (display_mode_element): Pay attention to width of non-ASCII
1223 characters by calling strwidth.
1224
8692ca92
GM
12252001-01-18 Gerd Moellmann <gerd@gnu.org>
1226
8962e303
GM
1227 * xfns.c (Qcancel_timer): New variable.
1228 (syms_of_xfns): Initialize and staticpro it.
1229 (Fx_hide_tip, Fx_show_tip): Use it.
1230 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1231 the timer.
1232 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1233
91523be9
GM
1234 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1235
1236 * window.h (WINDOW_LIVE_P): New macro.
1237
b0b7ed0e
GM
1238 * window.c (window_size_fixed): New variable.
1239 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1240 the doc string.
1241
06bccf8e
GM
1242 * eval.c (specbind): If binding a per-buffer variable which
1243 doesn't have a buffer-local value in the current buffer, change
1244 the global value by changing the value of the symbol bound in all
1245 buffers not having their own value, to make it consistent with
1246 what happens with other buffer-local variables.
1247
8692ca92
GM
1248 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1249
1250 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1251 when searching for a newline.
1252
bb3a3b50
KH
12532001-01-18 Kenichi Handa <handa@etl.go.jp>
1254
1255 * xdisp.c (display_string): Fix previous change.
1256
c2cc16fa
JR
12572001-01-18 Jason Rumney <jasonr@gnu.org>
1258
1259 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1260 GLYPH_DEBUG is defined.
1261 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1262 true for images with `:ascent 100'.
1263 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1264 meantime, use face MOUSE_FACE_ID.
1265 If first glyph isn't a character glyph, use the ASCII NUL
1266 character to determine the face.
1267 (expose_area): Do not treat left margin specially.
1268 (note_mode_line_highlight): If no local_map, check global keymap.
1269 (note_mouse_highlight): Initialize overlay.
1270 (clear_mouse_face): Don't return if tip_frame is
1271 non-nil.
1272 (show_scroll_bars): Remove unused function.
1273 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1274 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1275 Clip to row.
1276 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
1277 nil.
1278 (x_free_frame_resources): Unload relief colors.
1279
9c11f79e
GM
12802001-01-17 Gerd Moellmann <gerd@gnu.org>
1281
3aec8722
GM
1282 * xdisp.c (forward_to_next_line_start): Avoid calling
1283 get_next_display_element when the newline is already found. This
1284 may change the iterator's position, when its current position is
1285 equal to the iterator's stop_charpos.
1286
f3ffc2c3
GM
1287 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1288 zero, use this method only at the end of a line.
1289
a86110a8
GM
1290 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
1291 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1292 if SCALABLE_FONTS_P is set.
1293
d26d6fd9
GM
1294 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1295 so that scalable fonts are included.
1296
9c11f79e
GM
1297 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1298 In the cache, use a key containing the information if scalable
1299 fonts are included.
1300 (x_load_font): Adapt to change of keys in the font cache.
1301
13022001-01-17 Kim F. Storm <storm@filanet.dk>
1303
d26d6fd9
GM
1304 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1305 XListFonts to take advantage of font caching.
1306
9c11f79e
GM
1307 * xterm.c (x_list_fonts): Ensure caching font information when
1308 called for a null frame, which is the case frequently when Emacs
1309 starts.
1310
51446987
GM
13112001-01-17 Gerd Moellmann <gerd@gnu.org>
1312
f864120f
GM
1313 * xfns.c (QCconversion): Replaces QCalgorithm.
1314
1315 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1316
1317 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1318 of :algorithm.
1319
e37d1417
GM
1320 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1321 not everything could be displayed.
1322
51446987
GM
1323 * line.h, x-list-font.c: Files removed because unused.
1324
9ad4f3e5
AI
13252001-01-17 Andrew Innes <andrewi@gnu.org>
1326
1327 * dired.c (directory_files_internal): Convert result from readdir
1328 to a unibyte string initially, to avoid possible misinterpretation
1329 of some bytes as the internal form of Emacs characters.
1330
2eda09b5
KH
13312001-01-17 Kenichi Handa <handa@etl.go.jp>
1332
1333 * fns.c (concat): Be sure to avoid putting the same `composition'
1334 property on the adjacent regions.
1335
826f3788
GM
13362001-01-16 Gerd Moellmann <gerd@gnu.org>
1337
f251459d
GM
1338 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
1339 here.
1340 (Fscroll_right, Fscroll_left): Set it here instead, if called
1341 interactively.
1342
d57b83b3
GM
1343 * buffer.c (Fset_buffer_modified_p): Set buffer's
1344 prevent_redisplay_optimizations_p flag.
1345
826f3788
GM
1346 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
1347 * sysdep.c, vmsproc.c, xselect.c: Call
1348 redisplay_preserve_echo_area with additional arg.
1349
1350 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
1351 prototype.
1352
1353 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1354 FROM_WHERE, for debugging.
1355
261d788b
KH
13562001-01-16 Kenichi Handa <handa@etl.go.jp>
1357
1358 * ccl.c (Fregister_ccl_program): Handle the return value of
1359 resolve_symbol_ccl_program correctly.
bda6b481
KH
1360 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
1361 changed.
261d788b 1362
bccee4f2
GM
13632001-01-15 Gerd Moellmann <gerd@gnu.org>
1364
e4ded23c
GM
1365 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1366 has gone in the meantime, use face MOUSE_FACE_ID.
1367
ae24cb3b
GM
1368 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
1369 x_display_info_for_display returns null, don't try to close
1370 the display; we didn't open it.
1371
bccee4f2
GM
1372 * dispnew.c (save_or_restore_current_matrices): Function removed.
1373 (save_current_matrix, restore_current_matrix): New functions.
1374 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1375 restore the frame's current matrix. Due to the glyph pointer
1376 setup done in adjust_glyph_matrix, there is no easy way to make
1377 saving the current matrix in the desired matrix generally correct,
1378 so don't try it.
1379
ebeccffa
KH
13802001-01-15 Kenichi Handa <handa@etl.go.jp>
1381
1382 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1383 truncation glyphs.
1384 (display_line): Optimize for wide characters.
e4ded23c 1385 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1386 partially. On ttys, produce more than one truncation glyph for
1387 multi-column characters that don't fit on the line.
1388
64388126
KH
13892001-01-13 Kenichi Handa <handa@etl.go.jp>
1390
1391 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
1392 it instead of WORDS_BIGENDIAN. Caller changed.
1393
8edb0a6f
JR
13942001-01-13 Jason Rumney <jasonr@gnu.org>
1395
1396 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1397 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
1398 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1399 (tiff_format, gif_format, gs_format): Adapt to change of image
1400 margins.
1401
1402 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1403 (x_draw_image_relief, x_draw_image_foreground_1)
1404 (x_draw_image_glyph_string): Adapt to change of image margins.
1405
1406 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1407 variables.
1408
1409 * w32bdf.c (search_file_line, get_cached_font_char)
1410 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1411
1412 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1413
1414 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1415 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1416 (Fw32_send_sys_command): Remove unused variables.
1417 (w32_msg_pump): Add parentheses.
1418
1419 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1420 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1421 Add parentheses.
1422
4956d1ef
GM
14232001-01-12 Gerd Moellmann <gerd@gnu.org>
1424
b30623be
GM
1425 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1426 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1427 being a pair of margins.
1428 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1429 to DEFVAR_LISP. Extend doc.
1430
1431 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1432 margins.
1433 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1434 pair of integers `(X . Y)', use X for the horizontal and Y for the
1435 vertical margin.
1436 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1437 (parse_image_spec): Check it.
1438 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1439 (tiff_format, gif_format, gs_format): Use
1440 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
1441
1442 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1443 (x_draw_image_relief, x_draw_image_foreground_1)
1444 (x_draw_image_glyph_string): Adapt to the change of image margins.
1445
1446 * dispextern.h (struct image): Replace member `margin' with
1447 `hmargin' and `vmargin'.
1448
4554cc79
GM
1449 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1450 and GLYPHS.
1451
1452 * dispnew.c (update_text_area): Put code which decrements the
1453 stop position when the row's face extends to the end of the
3bffc665 1454 line in #if 0.
4554cc79 1455
3cccce8d
GM
1456 * xfns.c (x_set_mouse_color): Fix color allocation.
1457
4956d1ef
GM
1458 * keyboard.c: Call get_local_map with new argument list.
1459
1460 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1461
1462 * intervals.h (enum map_property): Removed.
1463 (get_local_map): Change prototype.
1464
1465 * keymap.c: Call get_local_map with new argument list.
1466 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1467
2c2ff7f2
GM
14682001-01-11 Gerd Moellmann <gerd@gnu.org>
1469
a23887b9
GM
1470 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1471 of the size needed for the tool bar string. For the last image,
1472 use a `display' property that reaches to the end of the string.
1473
a7ee2d2e
GM
1474 * xselect.c (selection_request_dpyinfo): New variable.
1475 (x_handle_selection_request): Set it.
1476 (x_selection_request_lisp_error): Don't call
1477 x_decline_selection_request if selection request's display has
1478 been closed.
1479
2c2ff7f2
GM
1480 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
1481 the unregister_colors before calling XFreeColors.
1482
457b792c
GM
14832001-01-10 Dave Love <fx@gnu.org>
1484
1485 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1486 ${SOME_MACHINE_LISP}, not ${lisp}.
1487
c1efd260
GM
14882001-01-10 Gerd Moellmann <gerd@gnu.org>
1489
a98b5ed9 1490 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 1491 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
1492 line.
1493
ac95a621
GM
1494 * xselect.c (x_reply_selection_request): Add a comment.
1495
c1efd260
GM
1496 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1497 XkbGetNames instead of XkbGetKeyboard.
1498
1bfb1345
DL
14992001-01-10 Dave Love <fx@gnu.org>
1500
1501 * sysdep.c (random): Revert the declaration.
1502
38119822
GM
15032001-01-09 Gerd Moellmann <gerd@gnu.org>
1504
35f464a7
GM
1505 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
1506 function string_bytes.
1507 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1508
1509 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1510 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1511 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1512 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1513 the current sblock.
1514 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1515 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1516 after sweeping strings, and at the end.
1517 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1518
38119822
GM
1519 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1520 ensure that pop_message is called.
1521
1522 * keyboard.c (Fexecute_extended_command): Use a
1523 record_unwind_protect to ensure that pop_message is called.
1524
1525 * lisp.h (push_message_unwind): Add prototype.
1526
1527 * xdisp.c (push_message_unwind): New function.
1528
1529 * fileio.c (do_auto_save_unwind): Do the pop_message here
1530 instead of in Fdo_auto_save.
1531 (Fdo_auto_save): Don't call pop_message.
1532
f47a9ec4
KR
15332001-01-08 Ken Raeburn <raeburn@gnu.org>
1534
1535 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1536 in inner block.
1537
a758f97d
GM
15382001-01-08 Gerd Moellmann <gerd@gnu.org>
1539
6d0afc03
GM
1540 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1541 when increasing window's vscroll.
1542
a758f97d
GM
1543 * macros.c (Qkbd_macro_termination_hook): New variable.
1544 (syms_of_macros): Initialize and staticpro it.
1545 (pop_kbd_macro): Run kbd-macro-termination-hook.
1546
1547 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1548
1bfb1345 15492001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1550
1551 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1552 arglist, for documentation's sake.
1553
0dac6924
AI
15542001-01-06 Andrew Innes <andrewi@gnu.org>
1555
1556 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1557 of *.pdb.
1558
8182406a
AI
15592001-01-05 Andrew Innes <andrewi@gnu.org>
1560
1561 * term.c (update_end): Don't check updating_frame; for some reason
1562 this can be 0 sometimes, such as after dismissing a popup menu,
1563 and isn't necessary given the explicit frame argument.
1564
3828218c
GM
15652001-01-05 Gerd Moellmann <gerd@gnu.org>
1566
1567 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1568 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1569
2f5ded21
GM
15702001-01-04 Gerd Moellmann <gerd@gnu.org>
1571
1572 * xterm.c (clear_mouse_face): Don't return if tip_frame is
1573 non-nil.
1574
1575 * xfns.c (x_create_tip_frame): Preserve the value of
1576 face_change_count around the creation of the tip frame.
1577
1578 * xfns.c (last_show_tip_args): New variable.
1579 (compute_tip_xy): New function.
1580 (Fx_show_tip): Reuse an existing tip frame, if possible.
1581 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1582
dfad65fa
DL
15832001-01-04 Dave Love <fx@gnu.org>
1584
64d4ec0f
DL
1585 * editfns.c (Fformat): Doc fix.
1586
dfad65fa
DL
1587 * systime.h (set_file_times): Prototype.
1588
1589 * widget.h (EmacsFrameSetCharSize_): Prototype.
1590
1591 * sysdep.c (random, srandom): Declare explicitly.
1592
1593 * dispextern.h (move_it_vertically_backward): Declare.
1594
85fe3b5e
GM
15952001-01-04 Gerd Moellmann <gerd@gnu.org>
1596
0f2ac578
GM
1597 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1598 like in Fx_create_frame.
1599
482cca61
GM
1600 * xfaces.c (set_font_frame_param): Don't do anything for
1601 non-graphical frames.
1602
85fe3b5e
GM
1603 * window.c (Fdelete_other_windows): Set window's window_end_valid
1604 to nil when changing the window's start. Don't change the
1605 window's start when its top position hasn't changed. If we do,
1606 this will set the window's optional_new_start, which act's like a
1607 force_start during redisplay with C-x 1 M-> under particular
1608 circumstances (see report from Per Starback to emacs-pretest-bug
1609 from 2000-12-13.).
1610
3e99d3b4
GM
16112001-01-03 Gerd Moellmann <gerd@gnu.org>
1612
a77dc1ec
GM
1613 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1614 short cut at the start of the function. Add an assertion.
1615 (reseat_at_next_visible_line_start): Add an assertion.
1616
2f3cad6c
GM
1617 * window.c (Frecenter): When changing the window start, set the
1618 window's window_end_valid to nil.
1619 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1620
1621 * dispextern.h (move_it_past_eol): Add prototype.
1622
1623 * xdisp.c (move_it_past_eol): New function.
1624
3e99d3b4
GM
1625 * window.c (Fwindow_end): Doc fix.
1626
16272001-01-03 Dave Love <fx@gnu.org>
1628
1629 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
1630 kluge.
1631
bafb434c
GM
16322001-01-03 Gerd Moellmann <gerd@gnu.org>
1633
1634 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1635 the enabled_p flag of the glyph row at window_end_vpos to 0.
1636 (handle_single_display_prop): Fix last change.
1637
5297fb00
RS
16382001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1639
1640 * window.c (Frecenter): Doc fix.
1641
13d6a61c
AI
16422001-01-02 Andrew Innes <andrewi@gnu.org>
1643
1644 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1645
1646 * frame.h (output_method): Add output_w32_console method.
1647 (FRAME_W32_CONSOLE_P): New macro.
1648
1649 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1650 use output_w32_console method.
1651 (Qw32_console): New Lisp_Object.
1652 (Fframep): Return it.
1653 (syms_of_frame): Init it.
1654 (Fframe_parameters): Report w32console as font for w32_console
1655 frames.
1656
1657 * xfaces.c (realize_default_face): Set face foreground and
1658 background to unspecified for w32_console frames.
1659 (realize_face): Realize face cache for w32_console frames.
1660 (realize_tty_face): Accept w32_console frames.
1661
1662 * xdisp.c (handle_single_display_prop): Return if frame is
1663 w32_console.
1664 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1665 necessary, even if running interactively.
1666
1667 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1668 w32_console frames.
1669
1670 * w32term.c (x_update_begin):
1671 (x_update_end):
1672 (x_clear_frame):
1673 (x_ins_del_lines):
1674 (x_change_line_highlight):
1675 (x_delete_glyphs):
1676 (w32_ring_bell):
1677 (x_update_begin):
1678 (x_update_end):
1679 (w32_reassert_line_highlight):
1680 (w32_frame_rehighlight):
1681 (w32_frame_raise_lower): Do nothing if not w32 frame.
1682
1683 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1684
1685 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1686 system doesn't tell us directly.
1687 (Fx_display_visual_class): Implement properly.
1688
d6bb0c0d
GM
16892001-01-02 Gerd Moellmann <gerd@gnu.org>
1690
1691 * window.c (Frecenter): Handle centering in graphical frames
1692 specially. Centering on the basis of line counts doesn't work
1693 reliably with variable-height lines.
1694
315f5865
EZ
16952001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1696
1697 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1698 and al[].
1699
1700 * composite.c (run_composition_function): Remove unused variable
1701 `val'.
1702 (update_compositions): Remove unused variable `hook'.
1703
1704 * intervals.c (get_local_map): Remove unused variable `tem'.
1705
1706 * doprnt.c (doprnt1): Remove unused variable `size'.
1707
1708 * fns.c (Flength): Remove unused variable `tail'.
1709 (Fdelete): Remove unused variable `size'.
1710
1711 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1712 and `gcpro2'.
1713
1714 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
1715 `tem'.
1716
1717 * data.c (find_symbol_value): Remove extra 3rd argument in the
1718 call to swap_in_symval_forwarding.
1719
1720 * undo.c (Fprimitive_undo): Remove unused block-scope variable
1721 `end'.
1722
1723 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1724 (trivial_regexp_p): Remove unused variable `c'.
1725 (boyer_moore): Remove unused variable `k'.
1726
1727 * indent.c (current_column): Remove unused variable `stopchar'.
1728 (Fcompute_motion): Remove unused variable `contin'.
1729
1730 * casefiddle.c (casify_object): Remove unused variable `tolen'.
1731
1732 * dired.c (directory_files_internal): Fix a typo in a comment.
1733 Remove an unused variable `handler'.
1734 (file_name_completion): Remove unused function-scope variable
1735 `dp'.
1736 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
1737 on BSD4_2.
1738
1739 * fileio.c (e_write): Remove unused variable
1740 `require_encoding_p'.
1741
1742 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
1743 and `buf'.
1744 (Fmarker_insertion_type): Remove unused variable `buf'.
1745
1746 * insdel.c (make_gap): Remove unused variable `result'.
1747
1748 * keyboard.c (record_char): Remove unused function-scope variable
1749 `help'.
1750 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
1751 (menu_bar_items): Remove unused function-scope variable `tem'.
1752
1753 * fontset.c (fontset_ref): Remove unused variable `i'.
1754 (fontset_set): Remove unused variables `j' and `tmp'.
1755 (make_fontset): Remove unused variables `i', `j', `elt' and
1756 `base_elt'.
1757 (make_fontset_for_ascii_face): Remove unused variable `name'.
1758 (fs_load_font): Remove unused variable `font_idx'.
1759 (fs_query_fontset): Remove unused function-local variable
1760 `fontset'.
1761 (list_fontsets): Remove unused variable `tail'.
1762 (Fnew_fontset): Remove unused variables `family' and `registry'.
1763 (accumulate_font_info): Remove unused variable `tmp'.
1764 (Ffontset_font): Remove unused variable `id'.
1765 (syms_of_fontset): Remove unused variable `i'.
1766
1767 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
1768 to x_term_init.
1769 (lookup_image): Remove unused variable `file'.
1770 (xbm_load): Remove unused variables `bitmap_data', `height', and
1771 `width'. Remove function-local variable `i', leave the
1772 block-local one.
1773 (gif_load): Remove unused variable `inc'.
1774
1775 * xterm.c (XTread_socket): Remove unused variables `p' and
1776 `pend'.
1777 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
1778 leave only the one in the inner block.
1779
1780 * xfaces.c (face_fontset, realize_default_face): Remove unused
1781 variable `fontset'.
1782 (face_at_buffer_position): Remove unused variable `multibyte_p'.
1783
1784 * term.c (encode_terminal_code): Remove unused variable `c'.
1785
1786 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
1787 char *' instead of `char *'.
1788
1789 * category.c (Fcategory_docstring): Remove unused variable `doc'.
1790 (Fget_unused_category): Remove unused variable
1791 `docstring_vector'.
1792 (Fchar_category_set): Remove unused variables `val', `charset',
1793 `c1' and `c2'.
1794
1795 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
1796 unused variable `i'.
1797 (detect_coding_mask): Remove unused variable `idx'.
1798 (detect_coding): Remove unused variable `i'.
1799 (ccl_coding_driver): Remove unused variable `result'.
1800 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
1801 (decode_coding_string): Remove unused variables `to' and
1802 `gcpro1'.
1803 (encode_coding_string): Remove unused variables `gcpro1' and
1804 `saved_coding_symbol'.
1805 (Ffind_coding_systems_region_internal): Remove function-local
1806 variable args[], leave only the block-local one.
1807 (code_convert_region1): Remove unused variable `len'.
1808
1809 * charset.c (char_printable_p): Remove unused variable `chars'.
1810 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
1811 (str_to_multibyte): Remove unused variable `c'.
1812
1813 * window.c (size_window): Remove block-local variable `min_size'.
1814
1815 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
1816 `header_line_height'.
1817 (append_space, extend_face_to_end_of_line): Declare `saved_what'
1818 enum display_element_type.
1819
1a8a9daf
GM
18202001-01-02 Gerd Moellmann <gerd@gnu.org>
1821
6dde6abc
GM
1822 * xterm.c (x_connection_closed): Catch X errors around all
1823 statements that call X. Save away the error message in a local
1824 copy.
1825
1883b2c6
GM
1826 * xterm.c (x_connection_closed): Set handling_signal to 0 at
1827 the start.
1828
a13be207
GM
1829 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
1830 in or at the start of invisible text.
1831
1a8a9daf
GM
1832 * dispnew.c (update_window): Don't check_current_matrix_flags.
1833
3608c0f9
JR
18342001-01-01 Jason Rumney <jasonr@gnu.org>
1835
1836 * w32fns.c (x_figure_window_size): Do not allow new_height and
1837 new_width of frame to override specified values.
1838
abb1acc4
KH
18392000-12-30 Kenichi Handa <handa@etl.go.jp>
1840
d279f620
KH
1841 * composite.c (find_composition): Fix a code for searching
1842 backward.
abb1acc4 1843
762a68ec
GM
18442000-12-29 Gerd Moellmann <gerd@gnu.org>
1845
9c8b8382
GM
1846 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
1847 function.
1848 (update_window) [GLYPH_DEBUG]: Call it.
1849 (scrolling_window): Prevent including current rows which are below
1850 what's displayed in the window.
1851
1852 * xdisp.c (try_window_reusing_current_matrix)
1853 <new start <= old start>: Disable rows in the current matrix
1854 which are below the window after scrolling.
1855
762a68ec
GM
1856 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
1857 is zero. It's not worth the complexity.
1858 (invisible_text_between_p): Put in #if 0 because unused.
1859
2d5912c1
GM
18602000-12-28 Gerd Moellmann <gerd@gnu.org>
1861
46f6a258
GM
1862 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
1863 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
1864
89f93679
GM
1865 * keyboard.c (echo_char): If C is an integer, always call
1866 push_key_description. Former code could signal an invalid
1867 character error.
1868
1869 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
1870 If set, print multibyte text.
1871 (Fsingle_key_description): Call push_key_description with
1872 FORCE_MULTIBYTE set.
1873 (describe_buffer_bindings): Likewise.
1874
1875 * lisp.h (push_key_description): Add prototype.
1876
c06017fb
GM
1877 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
1878 around the call to redisplay_internal.
1879
f1d2ce7f
GM
1880 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1881
2d5912c1
GM
1882 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1883
9371f831
KH
18842000-12-28 Kenichi Handa <handa@etl.go.jp>
1885
1886 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
1887 (ccl_driver): New local variable `extra_bytes'.
1888
1889 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
1890
1891 * coding.c (setup_coding_system): Initialize
1892 coding->spec.ccl.eight_bit_carryover.
1893 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
1894
0c80628a
KH
18952000-12-28 Kenichi Handa <handa@etl.go.jp>
1896
1897 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
1898 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
1899 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
1900 (decode_composition_emacs_mule): New function.
1901 (decode_coding_emacs_mule): Decode composition sequence by calling
1902 decode_composition_emacs_mule.
1903 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
1904 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 1905 a text contains compositions, encode them correctly.
0c80628a
KH
1906 (setup_coding_system): Set coding->commong_flags for emacs-mule so
1907 that decoding and encoding are required.
1908
3e32cc27
GM
19092000-12-27 Gerd Moellmann <gerd@gnu.org>
1910
5e25feee
GM
1911 * xfaces.c (PT_PER_INCH): New macro.
1912 (xlfd_point_size): Compute real point size from font's pixel size.
1913 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
1914 instead of 72.
1915
892d8fcd
GM
1916 * .gdbinit: Comment out the line pointing to the Lesstif source
1917 directory.
1918
12c8b416
GM
1919 * window.c (Frecenter): Use displayed_window_lines instead
1920 of window_internal_height.
1921
6061fbf0
GM
1922 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
1923 instead of x-toolkit-scroll-bars-p.
1924 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
1925
1926 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
1927 instead of x-toolkit-scroll-bars-p.
1928 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
1929
3e32cc27
GM
1930 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
1931 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
1932 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
1933 variables.
1934 (add_window_display_history, add_frame_display_history)
1935 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
1936 (build_frame_matrix_from_leaf_window): Remove unused code.
1937 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
1938 redisplay history.
1939 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
1940 (update_window) [GLYPH_DEBUG]: Likewise.
1941 (syms_of_display): Defsubr dump-redisplay-history.
1942
31798cfe
GM
19432000-12-23 Gerd Moellmann <gerd@gnu.org>
1944
f717c2ba
GM
1945 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
1946 the end of the prompt. Set echo_after_prompt to the offset
1947 of echoptr in echobuf.
1948
aeb2b8fc
GM
1949 * xdisp.c (init_from_display_pos): Pop until the iterator's
1950 stack is empty; there may be frames for stretch or images
1951 on the stack.
1952
31798cfe
GM
1953 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
1954 (save_or_restore_current_matrix): New function for the same
1955 purpose, but more efficient.
1956 (adjust_frame_glyphs_for_frame_redisplay): Use it.
1957
f8156156
EZ
19582000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
1959
1960 * xdisp.c (syms_of_xdisp): Fix last change.
1961
bdd6d4e8
GM
19622000-12-23 Gerd Moellmann <gerd@gnu.org>
1963
1964 * xdisp.c (syms_of_xdisp): Doc fix.
1965
1966 * xdisp.c (redisplay_window): Remove label restore_buffers;
1967 use finish_scroll_bars instead to make sure that scroll bars
1968 are redeemed. If we don't do this, flickering can result from
1969 scroll bars being destroyed and recreated.
1970
9436cdf9
JR
19712000-12-22 Jason Rumney <jasonr@gnu.org>
1972
1973 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
1974 in the wrong colors when the foreground is not black.
1975 (expose_window): Don't redraw the window that's currently being
1976 updated.
1977
951f9df5
GM
19782000-12-22 Gerd Moellmann <gerd@gnu.org>
1979
856ff7a7
GM
1980 * window.c (size_window): When setting the window's too_small_ok
1981 flag, compare old size with minimum size depending on WIDTH_P,
1982 don't compare with window_min_width.
1983
951f9df5
GM
1984 * window.c (delete_window): Simplify somewhat.
1985 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
1986 freeing window matrices. The flag windows_or_buffers_changed is
1987 set, so the next redisplay will consider all windows; this should
1988 suffice.
1989
886bc933
KH
19902000-12-22 Kenichi Handa <handa@etl.go.jp>
1991
1992 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
1993
1994 * ccl.h (struct ccl_program): New member cr_consumed.
1995
1996 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
1997 (CCL_READ_CHAR): Handle EOL conversion here.
1998 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
1999
177f4e88
GM
20002000-12-21 Gerd Moellmann <gerd@gnu.org>
2001
6ba384dc
GM
2002 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
2003 GLYPHS.
2004
2005 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2006 otherwise tabs of different size compare equal.
2007
2008 * callint.c (Fcall_interactively): Prevent a compiler warning.
2009
2010 * print.c (print_unwind): Return nil.
2011 (PRINTDECLARE): Initialize all local variables.
2012 (print_preprocess): Add a default case.
2013
8e15274f
GM
2014 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2015
2016 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2017
177f4e88
GM
2018 * window.c (delete_window, Fsplit_window)
2019 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2020
2021 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2022
2023 * dispnew.c (ensure_frame_matrix): Removed.
2024 (save_frame_matrix, restore_frame_matrix): New functions.
2025 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2026
2027 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2028 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2029
99012074
AI
20302000-12-21 Andrew Innes <andrewi@gnu.org>
2031
2032 * w32term.c (x_update_begin): Regenerate the palette here, rather
2033 than for each window.
2034
2035 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2036 palette is NULL, since this corrupts memory! Also get
2037 display_info reference from frame.
2038
29ef7d2d
JR
20392000-12-21 Jason Rumney <jasonr@gnu.org>
2040
2041 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2042
2043 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2044 to avoid returning without releasing it.
3e27fa1f 2045
3f9d67a6
KH
20462000-12-21 Kenichi Handa <handa@etl.go.jp>
2047
587fc3f9
KH
2048 * keymap.c (push_key_description): Don't convert eight-bit-control
2049 and eight-bit-graphic to multibyte character.
2050
3f9d67a6
KH
2051 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2052 generic character and CODE1 is nil, return the smallest character
2053 in CHARSET.
2054
774ba8c9
DL
20552000-12-20 Dave Love <fx@gnu.org>
2056
2057 * s/osf5-0.h (NSIG): Don't redefine.
2058
88416888
SM
20592000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2060
2061 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2062 excluding menu-bar and tool-bar.
2063 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2064 (menu_item_p): Remove.
2065 (where_is_internal_1): Don't ignore menu-items.
2066
a6426c6f
GM
20672000-12-20 Gerd Moellmann <gerd@gnu.org>
2068
03ff8aab
GM
2069 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2070 into account.
2071
2072 * window.c (make_window): Initialize window's min_hscroll.
2073 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2074 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2075 to zero.
2076 (struct saved_window): New member min_hscroll.
2077 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2078 (Fset_window_configuration): Set window's min_hscroll.
2079 (save_window_save): Save window's min_hscroll.
2080 (compare_window_configurations): Compare min_hscroll values.
2081
2082 * window.h (struct window): New member min_hscroll.
2083
2084 * keyboard.c (echo_prompt): Prevent a compiler warning.
2085
8de4aaf8
GM
2086 * xdisp.c (try_cursor_movement): Fix last change. The real
2087 condition is that PT is at the end of the row, and should
2088 be displayed at the start of the next row.
2089
3f7e3031
GM
2090 * xdisp.c (try_cursor_movement): If we end on a partially
2091 visible line, end we already decided to scroll, return -1.
2092
a6426c6f
GM
2093 * dispextern.h (ensure_frame_matrix): Add prototype.
2094
2095 * window.c (delete_window, Fsplit_window)
2096 (Fset_window_configuration): Call ensure_frame_matrix.
2097
2098 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
2099 functions.
2100 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2101 completed, call fake_current_matrices instead of marking frame
2102 garbaged.
2103
57fa2774
JR
21042000-12-20 Jason Rumney <jasonr@gnu.org>
2105
2106 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2107
d925df90
EZ
21082000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2109
2110 * fns.c (Frequire): Doc fix.
2111
7b93a85b
GM
21122000-12-19 Gerd Moellmann <gerd@gnu.org>
2113
71d4497a
GM
2114 * window.c (window_scroll_pixel_based): Don't use
2115 move_it_vertically.
2116
c74e645b
GM
2117 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2118 currently displaying a message.
2119
7b93a85b
GM
2120 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2121 xterm.h.
2122 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2123
90d97e64
AI
21242000-12-18 Andrew Innes <andrewi@gnu.org>
2125
2126 * w32.c (w32_strerror): New function.
2127
2128 * w32.h (w32_strerror): New extern.
2129
2130 * w32fns.c (Fw32_shell_execute): Use it.
2131
91c9e6ce
GM
21322000-12-18 Gerd Moellmann <gerd@gnu.org>
2133
2134 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2135
6f4745e2
EZ
21362000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2137
2138 * msdos.c (IT_set_face): Obey inverse_video.
2139
c9e088ce
KH
21402000-12-18 Kenichi Handa <handa@etl.go.jp>
2141
2142 * dired.c (directory_files_internal): Always return decoded filenames.
2143
c3695f5f
GM
21442000-12-18 Gerd Moellmann <gerd@gnu.org>
2145
52d8e4ff
GM
2146 * xterm.c (x_connection_closed): Prevent being called recursively
2147 because of an error condition in XtCloseDisplay.
2148
62be9979
GM
2149 * xdisp.c (init_iterator): If noninteractive, and the frame's
2150 face cache is null, make one.
2151
5f7a1890
GM
2152 * xfns.c (show_busy_cursor): Check for live frames more
2153 thoroughly.
2154
c3695f5f
GM
2155 * process.c (wait_reading_process_input): Check for pending
2156 input when running timers.
2157
78555fbe
EZ
21582000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2159
2160 * msdos.c (IT_write_glyphs): Compute the glyph face from
2161 str->face_id.
2162
b2b36264
KH
21632000-12-18 Kenichi Handa <handa@etl.go.jp>
2164
2165 * process.c (read_process_output): Don't run a filter if the code
2166 decoder produces nothing but carryover.
2167
9c543fbf
AI
21682000-12-17 Andrew Innes <andrewi@gnu.org>
2169
2170 * w32.c (sys_rename): Only check errno against EEXIST, and not
2171 EACCES, when determining whether rename failed because the target
2172 exists. This was resulting in indefinite looping on Windows 9x if
2173 the source file was locked by another process.
2174
2175 * w32fns.c (Ffile_system_info): New function.
2176 (syms_of_w32fns): Defsubr it.
2177
10c2b5a8
GM
21782000-12-17 Gerd Moellmann <gerd@gnu.org>
2179
b0228ace
GM
2180 * window.c (coordinates_in_window): Fix computation for
2181 position on vertical line between mode lines.
2182
10c2b5a8
GM
2183 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2184 Don't alter tip_frame or tip_window.
2185 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2186 was deleted.
2187
c844a81a
GM
2188 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2189 Don't alter tip_frame or tip_window.
2190 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2191 was deleted.
2192
6c825f8e
EZ
21932000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2194
2195 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2196 be consistent with the doc string. Reported by NAKAJIMA Mikio
2197 <minakaji@osaka.email.ne.jp>.
2198
af4bb4c8
KH
21992000-12-16 Kenichi Handa <handa@etl.go.jp>
2200
2201 * xfaces.c (Vface_ignored_fonts): New variable.
2202 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2203 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2204
8062e53a
GM
22052000-12-15 Gerd Moellmann <gerd@gnu.org>
2206
e87b8809
GM
2207 * dispnew.c (update_window): Detect pending input every nth line
2208 updated, i.e. do it depending on real work done, and not on the
2209 vpos of the line.
2210
2211 * xterm.c (expose_window): Don't redraw the window that's
2212 currently being updated.
2213
a6768cc5
GM
2214 * window.c (Fset_window_point): Remove test for
2215 cursor_in_non_selected_windows.
2216
4ea7fdca
GM
2217 * lread.c (read1): Recognize end of file after `\\'.
2218
8062e53a
GM
2219 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2220 not unwind_create_frame.
2221
bb7959c1
GM
22222000-12-15 Dave Love <fx@gnu.org>
2223
2224 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2225 bcopy & al.
2226
2227 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2228
ced04c42
KH
22292000-12-15 Kenichi Handa <handa@etl.go.jp>
2230
c5443913
KH
2231 * coding.c (setup_coding_system): Clear all members of the struct
2232 coding_system at first.
bc137305
KH
2233 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2234 argument.
2235 (code_convert_region): Don't override coding->src_multibyte and
2236 coding->dst_multibyte.
c5443913 2237
ced04c42
KH
2238 * fns.c (Fmd5): Docstring improved.
2239
c2d7f289
MB
22402000-12-15 Miles Bader <miles@gnu.org>
2241
2242 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2243 are actually marked as mode-lines; otherwise use
2244 estimate_mode_line_height.
2245
9d7d9263
GM
22462000-12-14 Gerd Moellmann <gerd@gnu.org>
2247
2248 * editfns.c (Fformat): Prevent a buffer overrun when the format
2249 specifies a precision.
2250
7cf0153a
EZ
22512000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2252
2253 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2254 argument is outside the range [2..3].
2255
1de0f662
AI
22562000-12-14 Andrew Innes <andrewi@gnu.org>
2257
2258 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2259 nothing to do. Bind inhibit-quit.
2260 (tip_frame): Make it a Lisp_Object.
2261 (x_create_tip_frame): Set tip_frame after it has been added to
2262 Vframe_list.
2263 (Fx_show_tip): Don't set tip_frame here.
2264 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
2265 variables.
2266 (unwind_create_frame, unwind_create_tip_frame): New functions.
2267 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2268 while a frame is only partially constructed.
2269
2270 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2271 (x_free_frame_resources): New function.
2272 (x_destroy_window): Use it.
2273
02387dcc
GM
22742000-12-14 Gerd Moellmann <gerd@gnu.org>
2275
2276 * xfns.c (Fx_backspace_delete_keys_p): New function.
2277 (syms_of_xfns): Defsubr it.
2278
2279 * config.in (HAVE_XKBGETKEYBOARD): Add.
2280
0544ef49
KH
22812000-12-14 Kenichi Handa <handa@etl.go.jp>
2282
98d62747
KH
2283 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2284 Always store string in multibyte representation in echobuf.
2285 (echo_char): Always store string in multibyte representation in
2286 echobuf.
2287 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2288 (read_key_sequence): Adjusted for the change of echo_prompt.
2289
a20193cd
KH
2290 * fns.c (Fmd5): Docstring improved.
2291
191b83b6
KH
2292 * lisp.h (detect_coding_system): Prototype adjusted.
2293
0544ef49
KH
2294 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2295 (detect_coding_emacs_mule, detect_coding_iso2022,)
2296 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
2297 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
2298 argument MULTIBYTEP. Callers changed.
2299 (detect_coding_mask, detect_coding_system): New argument
2300 MULTIBYTEP. Callers changed.
1da1bb05
KH
2301 (decode_coding_string): Set coding->src_multibyte and
2302 coding->dst_multibyte before calling detect_coding and detect_eol.
2303 Update them after some coding system is detected.
2304
d5b3eb1b
SM
23052000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2306
2307 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2308
2309 * keyboard.c (menu_bar_items, tool_bar_items):
2310 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2311
f7f8bb69
GM
23122000-12-13 Gerd Moellmann <gerd@gnu.org>
2313
19f71add
GM
2314 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
2315 New variables.
2316 (unwind_create_frame, unwind_create_tip_frame): New functions.
2317 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2318 while a frame is only partially constructed.
2319
2320 * xterm.h (x_free_frame_resources): Declare.
2321
2322 * xterm.c (x_free_frame_resources): New function.
2323 (x_destroy_window): Use it.
2324
e10da507
GM
2325 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2326 don't interrupt the update for pending input initially, i.e.
2327 update at least some lines.
2328
2329 * keyboard.c (do_mouse_tracking): Make externally visible.
2330
d5b3eb1b 2331 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2332
2333 * xfns.c (gray_bitmap_bits): Declare `char *'.
2334
90aa2856
GM
23352000-12-12 Gerd Moellmann <gerd@gnu.org>
2336
2337 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2338 lines start with a relief line.
2339
a308c9cd
DL
23402000-12-12 Dave Love <fx@gnu.org>
2341
2342 * window.c (Fdisplay_buffer): Doc fix.
2343 (Fwindow_list): Remove unused var.
2344
2345 * buffer.h (mmap_set_vars): Declare.
2346
2347 * window.h (Fset_window_point): Declare.
2348
d575011f
EZ
23492000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2350
bf6282d2 2351 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
2352 (IT_note_mouse_highlight): Initialize portion to -1. Remove
2353 unused variable `area'. When looking for a row under (X,Y), give
2354 up if some of the previous rows is not enabled.
2355
ecf4d726
GM
23562000-12-12 Gerd Moellmann <gerd@gnu.org>
2357
2ebf6139
GM
2358 * window.c (Fset_window_point): If displaying cursors in windows
2359 other than the selected window, make sure redisplay updates
2360 other windows to show the new value of point in the window.
2361
2362 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2363
bfdb75ee
GM
2364 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2365 the buffer is the sole visible buffer when in the mini-buffer.
2366
4fdbd809
GM
2367 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
2368 Bind `inhibit-read-only' to t.
2369 (unwind_with_echo_area_buffer): Use AREF.
2370
c0006262
GM
2371 * xfns.c (Fx_hide_tip): Simplified.
2372
e9a59cad
GM
2373 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
2374 GC_MAKE_GCPROS_NOOPS instead of `1'.
2375
ecf4d726
GM
2376 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2377
e5959a9a
GM
23782000-12-11 Gerd Moellmann <gerd@gnu.org>
2379
a3642e49
GM
2380 * xfns.c (Fx_hide_tip): Fix last change.
2381
44b5a125
GM
2382 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2383 nothing to do. Bind inhibit-quit.
2384 (tip_frame): Make it a Lisp_Object.
2385 (x_create_tip_frame): Set tip_frame after it has been added to
2386 Vframe_list.
2387 (Fx_show_tip): Don't set tip_frame here.
2388
2389 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2390
2391 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2392 Lisp_Object.
2393
2394 * dispextern.h: Change external declaration of tip_frame.
2395
d990421f
GM
2396 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2397 return an empty string.
2398
4db87380
GM
2399 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2400 of the window's update_mode_line flag, since the former is set by
2401 force-mode-line-update, not the latter. This makes
2402 column-number-mode slightly faster.
2403
e5959a9a
GM
2404 * xdisp.c (try_window_id) <all changes above window start>:
2405 Set the cursor.
2406
169fe44e
GM
24072000-12-11 Paul Eggert <eggert@twinsun.com>
2408
2409 * config.in (HAVE_FTELLO): Remove.
2410 (HAVE_FSEEKO): Add.
2411 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2412 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2413 HAVE_FTELLO.
2414 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2415 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
2416
59ec59ae
MB
24172000-12-11 Miles Bader <miles@gnu.org>
2418
2419 * window.c (displayed_window_lines): Don't round up when
2420 converting empty space at bottom to lines.
ff904dd6
MB
2421 Handle non-newline-terminated final lines properly.
2422 (Fwindow_text_height): New function (used to be in lisp).
2423 (syms_of_window): Initialize it.
59ec59ae 2424
42ebfa31
SM
24252000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2426
2427 * syntax.c (scan_lists): Check that the right quote char has the
2428 right Sstring syntax when jumping over strings.
2429 (init_syntax_once): Use Smax rather than 13.
2430
5cdb3cf3
MB
24312000-12-09 Miles Bader <miles@gnu.org>
2432
2433 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2434 with PARTIALLY, inverting the sense.
2435 (window_scroll_pixel_based): Scroll partially visible lines into
2436 place if we hit the beginning or end of the buffer.
a12167c5
MB
2437 (displayed_window_lines): Don't include partially visible lines.
2438 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2439
842b2a94
GM
24402000-12-08 Gerd Moellmann <gerd@gnu.org>
2441
2442 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2443
2444 * tparam.c (tparam1): Change the way buffers are reallocated to be
2445 portable and less obfuscated.
2446
2447 * termcap.c (tgetent): Change the way buffers are reallocated to
2448 be portable and less obfuscated.
2449
2450 * macros.c (store_kbd_macro_char): Change the way buffers are
2451 reallocated to be portable and less obfuscated.
2452
2453 * lread.c (read1): Change the way buffers are reallocated to be
2454 portable and less obfuscated.
2455
2456 * doc.c (Fsubstitute_command_keys): Change the way buffers
2457 are reallocated so that it is portable.
2458
137cad7c
EZ
24592000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2460
2461 * dosfns.c (Ffile_system_info): New function.
2462 (syms_of_dosfns): Defsubr it.
2463
5c7f629c
SM
24642000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2465
2466 * alloc.c (gc_sweep): Add comment.
2467
959e647d
GM
24682000-12-07 Gerd Moellmann <gerd@gnu.org>
2469
28fcb7dc
GM
2470 * sound.c (vox_configure): Change order of ioctls. Don't
2471 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
2472 Ignore errors when changing volume.
2473 (vox_close): Don't reset the device.
2474
926b7e5e
GM
2475 * process.c (read_process_output): Make sure the process marker's
2476 position is valid when the process buffer is changed in
2477 after-change functions. W3 does that.
2478
959e647d
GM
2479 * xfns.c (x_free_gcs): New function.
2480
2481 * xterm.h (x_free_gcs): Add prototype.
2482
2483 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2484 freeing GCs here.
2485
2486 * xterm.c (x_destroy_window): Call x_free_gcs so that
2487 resources of non-toolkit X windows will be freed.
2488
478ea067
AI
24892000-12-07 Andrew Innes <andrewi@gnu.org>
2490
2491 * w32fns.c (xlfd_charset_of_font): Fix last change.
2492
fbee3231
DL
24932000-12-06 Dave Love <fx@gnu.org>
2494
67292061
DL
2495 * md5.h (__P): Don't define -- it comes from config.h.
2496
fbee3231
DL
2497 * strftime.c: Change some #if foo to #ifdef foo.
2498
4ee87dbb
AI
24992000-12-06 Andrew Innes <andrewi@gnu.org>
2500
2501 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2502
2503 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
2504 argument.
2505 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
2506 (w32_list_fonts): Don't choke if pattern doesn't specify a
2507 codepage.
2508
9765b4a4
GM
25092000-12-06 Gerd Moellmann <gerd@gnu.org>
2510
d285b373
GM
2511 * alloc.c (gc_sweep): Prevent symbols read during loadup
2512 from being freed.
2513
384333ee
GM
2514 * xdisp.c (underlying_face_id): New function.
2515 (handle_face_prop, face_before_or_after_it_pos): Use it
2516 to determine the face ``under'' a string. Let strings inherit
2517 the face of the buffer under them.
2518
2519 * xfaces.c (face_at_string_position): Update function comment.
2520
d4b72d58
GM
2521 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2522 matrix if the window's left position has changed; we need to
2523 redraw it in this case.
2524
2525 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2526
e1d05387
GM
2527 * window.c (coordinates_in_window): Check mouse on mode-line or
2528 header-line first.
2529
eb1b0c74
GM
2530 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2531 advertized by the function documentation.
2532
d94d636f
GM
2533 * window.c (syms_of_window): Doc fix.
2534
3887b449
GM
2535 * sound.c (vox_configure): Set volume for left and right channel.
2536 (sound_cleanup): Return nil.
2537
efc8f57a
GM
2538 * xdisp.c (move_it_by_lines): Fix paren typo.
2539
9765b4a4
GM
2540 * xterm.c (x_load_font): Don't use the font's max_bounds for
2541 computing the height of the font. If max_bounds' ascent or
2542 descent are greater than the font's ascent or descent, this means
2543 glyphs overlap, which should be handled now by redisplay.
2544
6529ed87
GM
2545 * window.c (Veven_window_heights): New variable.
2546 (syms_of_window): DEFVAR_LISP it.
2547 (Fdisplay_buffer): Check Veven_window_heights before evening the
2548 window heights.
2549
0eb2ecde
MB
25502000-12-06 Miles Bader <miles@gnu.org>
2551
2552 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2553 update `default-frame-alist' instead of setting no frame parameters.
2554
03d7a167
KH
25552000-12-06 Kenichi Handa <handa@etl.go.jp>
2556
2557 * composite.c (update_compositions): Fix typo (use the correct
2558 variable).
2559
5f8803c2
JR
25602000-12-05 Jason Rumney <jasonr@gnu.org>
2561
2562 * md5.h: Remove underscores from function declarations.
2563 (__attribute__, __alignof__) [!__GNUC__]: Define.
2564
2565 * md5.c: Delay include of md5.h until after namespace cleaning.
2566
c28a075b
JR
2567 * makefile.w32-in (fns.o): Depend on md5.h
2568 (md5.o): New target.
2569 (sunfns.o): Remove.
2570
2571 * makefile.nt: Likewise.
2572
ff3c7056
JR
25732000-12-05 Jason Rumney <jasonr@altavista.net>
2574
2575 * w32term.c (expose_area): Complete last change.
2576
0c21eeeb
KR
25772000-12-05 Ken Raeburn <raeburn@gnu.org>
2578
2579 * minibuf.c: Include intervals.h.
2580
f201d732
JR
25812000-12-05 Jason Rumney <jasonr@gnu.org>
2582
2583 * w32term.c (x_produce_glyphs): If a font for a component of
2584 a composition is not found, use 1 pixel dot ascent and 0 dot
2585 descent value to avoid displaying terribly tall empty boxes.
2586 (expose_area): Pass x-coordinate relative to the exposed
2587 area to x_draw_glyphs instead of a window-relative coordinate.
2588
21999ab9
GM
25892000-12-05 Gerd Moellmann <gerd@gnu.org>
2590
4d2036e4
GM
2591 * xdisp.c (next_element_from_ellipsis): Save face before selective
2592 display in saved_face_id, and set face_before_selective_p.
2593 (reseat_1): Reset face_before_selective_p.
2594 (append_space, extend_face_to_end_of_line): If iterator's
2595 face_before_selective_p is set, use the face from saved_face_id.
2596 (extend_face_to_end_of_line): For tty frames, make sure to
2597 use the right face id when producing spaces at the end of
2598 the line.
2599
2600 * dispextern.h (struct it): Add face_before_selective_p.
2601
52be17cc
GM
2602 * keyboard.c (record_char): Don't record identical help-echo
2603 events in recent_keys.
2604
8a4f36cc
GM
2605 * xterm.c [USE_X_TOOLKIT]: Close the display.
2606 (xim_close_dpy): Handle case that the display has been closed.
2607
57d6e381
GM
2608 * xterm.c (x_destroy_window): Reset the frame's X window after
2609 destroying it.
2610
21999ab9
GM
2611 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2612 variable window_width.
2613 (line_draw_cost): Fix code skipping over spaces at the end of the
2614 line when must_write_spaces is not set.
2615 (scrolling_window): Fix code inserting runs in list of all runs.
2616
91372bb7
KH
26172000-12-05 Kenichi Handa <handa@etl.go.jp>
2618
2619 * coding.c (setup_coding_system): Be sure to initialize
2620 coding->category_idx.
2621
6c083b4c
GM
26222000-12-04 Gerd Moellmann <gerd@gnu.org>
2623
0c68ce6f
GM
2624 * xterm.c (PER_CHAR_METRIC): Removed because not used.
2625
6452929e
GM
2626 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2627 area to x_draw_glyphs instead of a window-relative coordinate.
2628
d7f31e22
GM
2629 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2630 error in the message.
2631
ae18aa3b
GM
2632 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2633 timer after having read a key. It's not good for code reading
2634 several keys in a loop, like an input method.
2635
caa15ef7
GM
2636 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2637 record undo information for format-decode.
2638
2639 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2640 current buffer is read-only, not if it isn't.
2641
6c083b4c
GM
2642 * keyboard.c (record_char): Record `help-echo' input events
2643 in recent_keys only if they display some help. Don't record
2644 `help-echo' events as macro char.
2645
caa15ef7
GM
26462000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2647
2648 * editfns.c (save_excursion_restore): Don't move point
2649 in another window if it is showing the wrong buffer.
2650 Avoid the call to Fwindow_live_p, for speed.
2651
5a13529b
KH
26522000-12-04 Kenichi Handa <handa@etl.go.jp>
2653
e225faa7
KH
2654 * xfaces.c (struct font_name): New member registry_priority.
2655 (split_font_name): Initialize the above member to zero.
2656 (concat_font_list): New function.
2657 (font_list): Include fonts of all alternative registries.
2658 (FONT_POINT_SIZE_QUANTUM): New macro.
2659 (better_font_p): Ignore point size difference less than
2660 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2661
e89648b4
KH
2662 * xterm.c (x_produce_glyphs): If a font for a component of
2663 a composition is not found, use 1 pixel dot ascent and 0 dot
2664 descent value to avoid displaying terribly tall empty boxes.
2665
5a13529b
KH
2666 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2667
d7935eb6
KR
26682000-12-03 Ken Raeburn <raeburn@gnu.org>
2669
2670 * coding.h (code_convert_string1): Declare.
2671
2672 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2673
2674 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
2675 Declare.
2676
0dd5e255
JR
26772000-12-02 Jason Rumney <jasonr@gnu.org>
2678
2679 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2680 correctly for single byte character case.
2681 (w32_per_char_metric): Do not try to make any assumptions about
2682 the metrics of BDF fonts.
250cfece
JR
2683 (x_estimate_mode_line_height): If `mode-line' face
2684 hasn't a font, use that of the frame, as drawing glyphs
2685 does.
2686 (note_mouse_highlight): Change the cursor shape on the vertical
2687 border between windows [not enabled].
2688
2689 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2690
2691 * w32fns.c (Fx_create_frame): Reintroduce the call to
2692 face-set-after-frame-defaults.
2693 (Vx_window_horizontal_drag_shape): New variable.
2694 (syms_of_xfns): DEFVAR_LISP it.
2695 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2696 enabled].
0dd5e255 2697
b5d8d2ca
GM
26982000-12-02 Simon Josefsson <simon@josefsson.org>
2699
2700 * fns.c (Fmd5): Use a different logic to decide the coding system
2701 to use.
2702
2703 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2704
fbb87147
EZ
27052000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2706
2707 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
2708 NULL.
2709
447e9da0
GM
27102000-12-01 Gerd Moellmann <gerd@gnu.org>
2711
7708ced0
GM
2712 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2713 height for YNegative.
2714 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2715 height; also see comment there.
2716
447e9da0
GM
2717 * window.c (coordinates_in_window): Handle computations for
2718 positions on the vertical bar and fringes differently for
2719 window-system frames. Consider some pixels near the vertical bar
2720 as on the bar if the frame doesn't have vertical scroll bars.
2721 Associate positions between mode or header lines with the
2722 right window, the left one.
2723
86d1db20
JR
27242000-12-01 Jason Rumney <jasonr@gnu.org>
2725
2726 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2727
2728 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
2729 invalid frame.
2730
a1d58e5b
GM
27312000-12-01 Gerd Moellmann <gerd@gnu.org>
2732
2733 * window.c (struct saved_window): Add members orig_top and
2734 orig_height.
2735 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
2736 (save_window_save, Fset_window_configuration): Save/restore
2737 window's orig_top and orig_height.
2738
89c609af
JR
27392000-12-01 Jason Rumney <jasonr@gnu.org>
2740
4d177746 2741 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 2742
89c609af
JR
2743 * w32fns.c (x_set_cursor_color): Fix last change.
2744
eccc05db
GM
27452000-11-30 Gerd Moellmann <gerd@gnu.org>
2746
31b6671b
GM
2747 * xdisp.c (echo_area_display): If cursor is in the echo area, make
2748 sure that the next redisplay displays the minibuffer, so that
2749 the cursor will be replaced with what the minibuffer wants.
2750
eccc05db
GM
2751 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
2752 #ifndef instead of using #if.
2753 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
2754 USE_TOOLKIT_SCROLL_BARS is defined.
2755
162de750
JR
27562000-11-30 Jason Rumney <jasonr@gnu.org>
2757
2758 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
2759 x_display_cursor.
2760
693c4692
GM
27612000-11-30 Gerd Moellmann <gerd@gnu.org>
2762
2763 * fns.c (Fmd5): Doc fix.
2764
b5d8d2ca 27652000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
2766
2767 * fns.c (Fmd5): New function.
2768 (syms_of_fns): Defsubr md5.
2769
2770 * Makefile.in (obj): Add md5.o
2771
b02cd40b
GM
27722000-11-30 Gerd Moellmann <gerd@gnu.org>
2773
edfb795e
GM
2774 * md5.h, md5.c: New files, taken from glibc.
2775
df3aedcf
GM
2776 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
2777
b02cd40b
GM
2778 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
2779 hasn't a font, use that of the frame, as drawing glyphs
2780 does.
2781
8b5176cd
SM
27822000-11-29 Stefan Monnier <monnier@cs.yale.edu>
2783
2784 * eval.c (Frun_hooks): Allow 0 arguments.
2785
346598f1
GM
27862000-11-29 Gerd Moellmann <gerd@gnu.org>
2787
f9396e03
GM
2788 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
2789 is over the menu bar widget, say it's not on the frame.
2790
4a967a9b
GM
2791 * xfns.c (Fx_create_frame): Reintroduce the call to
2792 face-set-after-frame-defaults.
2793
346598f1
GM
2794 * eval.c (Fsignal): Reset handling_signal.
2795
222456a1
JR
27962000-11-28 Jason Rumney <jasonr@gnu.org>
2797
2798 * w32menu.c (add_menu_item): Reset menu item text when changing
2799 type to radio button.
2800
8049ddc0
GM
28012000-11-28 Gerd Moellmann <gerd@gnu.org>
2802
346598f1 2803 * xselect.c: Update copyright.
f4f4ee4d 2804
bebe4a2c
GM
2805 * window.c (coordinates_in_window): If on a mode or header line,
2806 but sufficiently close to its start, return ``on vertical
2807 border''. This gives us a way to drag windows horizontally when
2808 using toolkit scroll bars.
2809
2810 * xterm.c (note_mouse_highlight): Change the cursor shape
2811 on the vertical border between windows.
2812
2813 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
2814
2815 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
2816 (syms_of_xfns): DEFVAR_LISP it.
2817 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
2818
8d2c2642
GM
2819 * textprop.c (text_read_only): New function.
2820 (verify_interval_modification): Use it instead of signaling
2821 `text-read-only'. This makes it easier to catch this error
2822 with a breakpoint.:
2823
8049ddc0
GM
2824 * xdisp.c (forward_to_next_line_start): Check for newlines,
2825 not end of line, which includes CR.
2826
5a2bae6c
KH
28272000-11-28 Kenichi Handa <handa@etl.go.jp>
2828
2829 * coding.c (Ffind_coding_systems_region_internal): Be sure to
2830 include no-conversion.
2831
ae31f84d
JR
28322000-11-27 Jason Rumney <jasonr@gnu.org>
2833
2834 * w32fns.c (w32_load_system_font): Always mark font as double byte
2835 if codepage is unicode.
2836
67f1cf4c
GM
28372000-11-27 Gerd Moellmann <gerd@gnu.org>
2838
4a74d071
GM
2839 * xdisp.c (forward_to_next_line_start): If already on a newline,
2840 just consume it to avoid unintended skipping over invisible text
2841 below.
2842
902ae620
GM
2843 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
2844 `vertical-line', `mode-line' and `header-line' events.
2845
2846 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
2847 of a character, a TAB for instance. This is easier than to set
2848 up the iterator exactly, and it's not a frequent case, so the
2849 additional effort wouldn't really pay off.
2850
c1e279c2
AC
28512000-11-26 Andrew Choi <akochoi@i-cable.com>
2852
67f1cf4c 2853 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
2854 init_window_once.
2855
a609568a
JR
28562000-11-25 Jason Rumney <jasonr@gnu.org>
2857
48b21762
JR
2858 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
2859 to window_from_coordinates should be pixel coordinates.
2860
a609568a
JR
2861 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
2862 redisplay handles them properly.
2863
a658d039
MB
28642000-11-25 Miles Bader <miles@gnu.org>
2865
2866 * indent.c (compute_motion): Keep pos_byte in sync with pos.
2867
d3416cca
JR
28682000-11-24 Jason Rumney <jasonr@gnu.org>
2869
2870 * w32.c (init_environment): Set LANG environment variable based on
2871 locale settings, if not set.
2872
2873 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
2874 making tool bar smaller. When clearing the frame, also
2875 clear current matrices. Clear frame when tool bar disappears.
2876 Don't use more lines for the tool-bar than is available.
2877 (x_change_window_heights): New function.
2878
ba193890
GM
28792000-11-24 Gerd Moellmann <gerd@gnu.org>
2880
2be8f184
GM
2881 * xdisp.c (init_from_display_pos): If POS says we're already after
2882 an overlay string ending at POS, make sure to pop the iterator
2883 because it will be in front of that overlay string. When POS is
2884 ZV, we've thereby also ``processed'' overlay strings at ZV.
2885
ba193890
GM
2886 * xfaces.c (lface_from_face_name): Function comment fix.
2887
1862a24e
MB
28882000-11-24 Miles Bader <miles@gnu.org>
2889
2890 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
2891 apply `mode-line-inverse-video' -- zero means force display using
2892 the default face, non-zero means display using the specialized face.
2893 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
2894
f07fa1b8
KH
28952000-11-23 Kenichi Handa <handa@etl.go.jp>
2896
2897 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
2898 hard coded `4'.
2899
2bcdf662
EZ
29002000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
2901
2902 * coding.c (decode_coding_emacs_mule): Fix the case of
2903 CODING_EOL_LF, which used uninitialized value of c.
2904
ba8299ff
SM
29052000-11-23 Stefan Monnier <monnier@cs.yale.edu>
2906
2907 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
2908
f4117c4d
GM
29092000-11-22 Gerd Moellmann <gerd@gnu.org>
2910
03e757c1
GM
2911 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
2912 buffer object.
2913
f4117c4d
GM
2914 * frame.h (struct frame): Replace desired_tool_bar_items,
2915 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 2916 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
2917
2918 * frame.c (make_frame): Change initialization of tool bar
2919 items accordingly.
2920
2921 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 2922 Change references to members deleted from struct frame to use the
f4117c4d
GM
2923 new ones.
2924
2925 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 2926 references to members deleted from struct frame to use the new
f4117c4d
GM
2927 ones.
2928
2929 * dispnew.c (update_frame): Do nothing with frame's tool bar
2930 items.
2931
2932 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
2933
2934 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 2935 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
2936 from struct frame to use the new ones.
2937
f8e2f3f2
MB
29382000-11-23 Miles Bader <miles@gnu.org>
2939
2940 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
2941 the face's inverse-video attribute, rather than overriding it.
2942
60e8e0a5
GM
29432000-11-22 Gerd Moellmann <gerd@gnu.org>
2944
2945 * xfns.c (x_set_tool_bar_lines): Clear internal border when
2946 making tool bar smaller.
2947
92dd1b29
DL
29482000-11-22 Dave Love <fx@gnu.org>
2949
2950 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
2951
e672fdce
MB
29522000-11-22 Miles Bader <miles@gnu.org>
2953
3a17d6cc
MB
2954 * keyboard.c (Vminibuffer_message_timeout): New variable.
2955 (command_loop_1): Use it to determine message timeout.
2956 (syms_of_keyboard): Initialize it.
2957
60e8e0a5 2958 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 2959
e9655d81
KH
29602000-11-22 Kenichi Handa <handa@etl.go.jp>
2961
2962 * sysdep.c: Move the code for declaring h_errno after #include
2963 <netdb.h>.
2964
77270fac
GM
29652000-11-21 Gerd Moellmann <gerd@gnu.org>
2966
cd913aae
GM
2967 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
2968 the menu bar when the tooltip is unmapped.
2969
77270fac
GM
2970 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
2971 sole visible buffer when we're currently in the mini-buffer, and
2972 give up if so.
2973
556635d6
JR
29742000-11-21 Jason Rumney <jasonr@gnu.org>
2975
2976 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
2977 put on the clipboard.
2978 (Fw32_get_clipboard_data): Compare data on clipboard with saved
2979 copy of what Emacs last put there. If they are the same, do not
2980 use the clipboard copy to avoid losing data due to coding
2981 conversions.
2982
5b7bde64
MB
29832000-11-22 Miles Bader <miles@gnu.org>
2984
2985 * minibuf.c (Vminibuffer_prompt_properties): New variable.
2986 (syms_of_minibuf): Initialize it.
2987 (read_minibuf): Add properties from Vminibuffer_prompt_properties
2988 to prompt, don't make read-only.
2989
ff23e1dd
GM
29902000-11-21 Gerd Moellmann <gerd@gnu.org>
2991
3c64f287
GM
2992 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
2993 BEFORE/AFTER_POTENTIAL_GC.
2994
7aaf4388
GM
2995 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
2996
f5f47add 2997 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 2998
ff23e1dd
GM
2999 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3000
37c35586
KH
30012000-11-21 Kenichi Handa <handa@etl.go.jp>
3002
3003 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3004 ... #endif scope.
3005
ff9ab414
GM
30062000-11-20 Gerd Moellmann <gerd@gnu.org>
3007
c51d2b5e
GM
3008 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
3009 screen supports it.
3010
29a01b72
GM
3011 * s/gnu-linux.h: Don't use `#cpu'.
3012
09dfdf85
GM
3013 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3014 not defined in mman.h.
3015
ff9ab414
GM
3016 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
3017 variables.
3018 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3019 and store an index in the XClientMessageEvent. Storing a
3020 Lisp_Object or pointer can fail on a 64 bit system, since X only
3021 transfers 32 bits.
3022 (x_scroll_bar_to_input_event): Get the window from
3023 scroll_bar_windows.
3024
81459ac9
DL
30252000-11-20 Dave Love <fx@gnu.org>
3026
3027 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3028
56c13ae6
GM
30292000-11-20 Gerd Moellmann <gerd@gnu.org>
3030
3031 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3032
495a6df3
KH
30332000-11-20 Kenichi Handa <handa@etl.go.jp>
3034
2bcf3714
KH
3035 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3036 by WIDTH.
3037
495a6df3
KH
3038 * alloc.c (make_string): Fix previous change. Be sure to make
3039 unibyte string correctly.
3040
6d950f4c
GM
30412000-11-19 Gerd Moellmann <gerd@gnu.org>
3042
39b39373
GM
3043 * window.c (Fwindow_list): Change parameter list to be XEmacs
3044 compatible.
3045 (window_list_1): New function.
3046 (window_loop): Use it instead of Fwindow_list.
3047
b95b34e5
GM
3048 * sysdep.c (emacs_ospeed): New variable.
3049 (toplevel): Don't declare ospeed extern.
3050 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3051
3052 * termcap.c (ospeed): Remove.
3053 (tputs) [!emacs]: Remove unused code.
3054 (tgetent): Avoid a compiler warning.
3055
e83dc917
GM
3056 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3057 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3058 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3059
3060 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3061 removed.
3062 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3063 Take the X display as additional argument.
3064 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3065 `Widget' is a pointer type that's not easily stored in Lisp_Object
3066 form in a portable way.
3067
6d950f4c
GM
3068 * dispnew.c (update_text_area): Fix last change.
3069
e47306e6
GM
30702000-11-18 Gerd Moellmann <gerd@gnu.org>
3071
fb3cd89b
GM
3072 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3073
3074 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3075 clear current matrices.
3076
edaa9aed
GM
3077 * buffer.c (mmap_enlarge): Don't print a message on stderr
3078 if mapping new memory at the end of the existing region fails.
3079
e47306e6
GM
3080 * dispnew.c (update_text_area): Don't skip over equal glyphs
3081 when the last current glyph overlaps the glyph to its right.
3082
509633e3
MB
30832000-11-18 Miles Bader <miles@gnu.org>
3084
3085 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3086 lines that *end* with "..." too (that's the most common case!).
3087
d392e9c5
GM
30882000-11-18 Gerd Moellmann <gerd@gnu.org>
3089
67988445
GM
3090 * xdisp.c (resize_mini_window): Temporarily change to the
3091 mini-window's buffer if necessary.
1bfdbe43 3092
d392e9c5
GM
3093 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3094 the tooltip obscures less text under it.
3095
30962000-11-17 Gerd Moellmann <gerd@gnu.org>
3097
3098 * puresize.h (BASE_PURESIZE): Increase to 700000.
3099
92bb977f
JR
31002000-11-18 Jason Rumney <jasonr@gnu.org>
3101
3102 * w32term.c (w32_draw_bitmap): Use face to set colors.
3103
26fbf20b
DL
31042000-11-17 Dave Love <fx@gnu.org>
3105
3106 * lread.c (Fload): Fix #ifdef for pcc.
3107
100b593b
GM
31082000-11-17 Gerd Moellmann <gerd@gnu.org>
3109
3110 * xdisp.c (pos_visible_p): Compute the default character height
3111 differently.
3112
a288d0d1
GM
31132000-11-16 Gerd Moellmann <gerd@gnu.org>
3114
cac94de6
GM
3115 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
3116 knowing the line's height; use the default font's height in that
3117 case.
3118
a288d0d1
GM
3119 * xfaces.c (weight_table): Add `demi' with the same meaning as
3120 `demibold'.
3121
981fb6f6
KH
31222000-11-16 Kenichi Handa <handa@etl.go.jp>
3123
2cca872d 3124 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3125 (clear_glyph_row): Delete local static variable null_row.
3126
e5fa381b
JR
31272000-11-15 Jason Rumney <jasonr@gnu.org>
3128
3129 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3130 (w32_alloc_lighter_color): Use new brightness calculations from
3131 xterm.c. Scale delta to be in the range expected by W32.
3132 (w32_draw_relief_rect): Use frame relief colors.
3133
8e42f043
GM
31342000-11-15 Gerd Moellmann <gerd@gnu.org>
3135
6d133d1f
GM
3136 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3137 (Qinhibit_default_face_x_resources): New variable.
3138 (syms_of_frame): Initialize it.
3139 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3140
3141 * xdisp.c (pos_visible_p): Improve function comment.
3142
3143 * lisp.h (BINDING_STACK_SIZE): New macro.
3144
8e42f043
GM
3145 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3146 reading the directory if readdir returns null and errno is EAGAIN
3147 or EINTR.
3148
e8c87124
SM
31492000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3150
3151 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3152 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3153 Set amount_to_scroll to max of dx and scroll_step so that
3154 scroll-conservatively doesn't defeat scroll-step>1.
3155 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3156 scroll-conservatively for line-at-a-time scrolling.
3157
5f0c971d
GM
31582000-11-14 Gerd Moellmann <gerd@gnu.org>
3159
3160 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3161 extra argument.
3162
3163 * xdisp.c (current_mode_line_height, current_header_line_height):
3164 New variables.
3165 (init_xdisp): Initialize them.
3166 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3167 and use exact mode line heights if it is set.
3168
3169 * lisp.h (pos_visible_p): Change prototype.
3170
3171 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3172 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3173 and current_header_line_height first.
3174 (current_mode_line_height, current_header_line_height): Declare
3175 extern.
3176
d7361edf
MB
31772000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3178
3179 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3180 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3181 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3182
ee5e440a
MB
31832000-11-14 Miles Bader <miles@gnu.org>
3184
3185 * xterm.c (x_alloc_lighter_color): Include an additive component
3186 too for dark colors, because FACTOR isn't enough.
3187 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3188 New macros.
3189
5ca020fc
GM
31902000-11-13 Gerd Moellmann <gerd@gnu.org>
3191
3192 * keyboard.c (show_help_echo): Call message3_nolog with number of
3193 bytes in the help string as 2nd parameter, instead of the number
3194 of characters.
3195
9d348294
MB
31962000-11-13 Miles Bader <miles@gnu.org>
3197
3198 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3199 (Fload): Use new openp return protocol.
3200 Don't try to use Vload_source_file_function to load .elc files.
3201 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3202 openp return protocol.
3203 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3204
1729bb9a
KH
32052000-11-11 Kenichi Handa <handa@etl.go.jp>
3206
4e677396
KH
3207 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3208
3209 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3210 Defined these macros.
3211 (NLIST_STRUCT): Avoid re-defining it.
3212
1729bb9a
KH
3213 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3214 -I/usr/contrib/X11R6/include.
3215 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3216
a82fe213
JR
32172000-11-10 Jason Rumney <jasonr@gnu.org>
3218
3219 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3220
3221 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3222 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3223
3224 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3225 (Qw32_charset_vietnamese): New symbol.
3226 (xlfd_charset_of_font): New function.
3227 (w32_load_system_font): Use it.
3228 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3229 when Vw32_charset_info_alist is nil to ensure default face always
3230 has font. Use Fcar and Fcdr for safety.
3231 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3232 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3233 pseudo-codepages for special cases.
3234 (w32_to_x_font): New parameter to allow charset portion to be
3235 specified where there is many to one mapping. Callers changed.
3236 (w32_list_fonts): Avoid listing fonts that won't display.
3237
52d89894
GM
32382000-11-10 Gerd Moellmann <gerd@gnu.org>
3239
3240 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3241 (font_list_1): Renamed from font_list.
3242 (font_list): New function, trying alternative registries from
3243 Vface_alternative_font_registry_alist.
3244 (Finternal_set_alternative_font_registry_alist): New function.
3245 (syms_of_xfaces): Initialize and Staticpro
3246 Vface_alternative_font_registry_alist. Defsubr
3247 Finternal_set_alternative_font_registry_alist.
3248
651cd3da
KR
32492000-11-09 Ken Raeburn <raeburn@gnu.org>
3250
3251 * lisp.h (Flooking_at): Declare.
3252
388ac098
GM
32532000-11-09 Gerd Moellmann <gerd@gnu.org>
3254
778fbc46
GM
3255 * dired.c (directory_files_internal): Fix a braino.
3256
388ac098
GM
3257 * dired.c (directory_files_internal): Add missing GCPRO's.
3258 Some cleanup.
3259
ecaedde1
GM
32602000-11-08 Gerd Moellmann <gerd@gnu.org>
3261
f7eb32aa
GM
3262 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3263 (resize_mini_window): Return quickly if Vresize_mini_window is
3264 nil. Don't return if Vmax_mini_window_height is nil.
3265
3266 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3267 (syms_of_xdisp): Initialize them.
3268 (resize_mini_window): Act according to the setting of
3269 Vresize_mini_window.
3270 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3271
ecaedde1
GM
3272 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3273 scroll bar widget after configuring it, so that it will appear at
3274 the right position from the start.
3275 (XTredeem_scroll_bar): Cleaned up.
3276
3747ef2c
KH
32772000-11-08 Kenichi Handa <handa@etl.go.jp>
3278
3279 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3280 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3281 division by two.
3282
3283 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3284
03391420
DL
32852000-11-07 Dave Love <fx@gnu.org>
3286
7758f1c1 3287 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3288
3289 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3290
b5de343d
GM
32912000-11-07 Gerd Moellmann <gerd@gnu.org>
3292
acad3c0b
GM
3293 * window.c (Fset_window_configuration): Don't try to preserve
3294 point in the current buffer, if that buffer is displayed in more
3295 than one window.
3296
b5de343d
GM
3297 * xfaces.c (lookup_named_face): If default face isn't realized,
3298 try to realize it. Return -1 if not successful.
3299 (Fx_list_fonts): Handle case that face cannot be determined.
3300 (Fface_font): Likewise.
3301
cdb1fe49
GM
33022000-11-06 Gerd Moellmann <gerd@gnu.org>
3303
3304 * window.c (displayed_window_lines): Detect partially
3305 visible lines at the bottom correctly.
3306
d3a67486
SM
33072000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3308
3309 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3310 when ensuring we don't do visit in indirect buffer.
3311
ff8dd5d5
KH
33122000-11-06 Kenichi Handa <handa@etl.go.jp>
3313
3314 * composite.h (compose_chars_in_text): Add prototype.
3315
3316 * composite.c (Vcomposition_function_table): New variable.
3317 (Qcomposition_function_table): New variable.
3318 (run_composition_function): Call
3319 Vcompose_chars_after_function with three arguments.
3320 (compose_chars_in_text): New function.
3321 (syms_of_composite): Modified the doc-string of
3322 Vcompose_chars_after_function. Declare composition-function-table
3323 as a lisp variable, and initialize it.
3324
3325 * xfns.c (x_encode_text): Suppress producing escape sequences for
3326 composition.
3327
3328 * xselect.c: Include composite.h.
3329 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3330
d1145f85
AI
33312000-11-05 Andrew Innes <andrewi@gnu.org>
3332
3333 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3334
3335 * sysdep.c (read_input_waiting): Remove extraneous argument to
3336 read_socket_hook.
3337
3338 * w32fns.c (Fx_server_version): Include w32_build_number in the
3339 return list.
3340
3341 * w32heap.c (w32_build_number): New variable.
3342 (cache_system_info): Set it.
3343
3344 * w32heap.h (w32_build_number): Add extern.
3345
3346 * emacs.c (syms_of_emacs): Update docstring for
3347 system-configuration, to reflect the actual usage on MS-Windows.
3348
e85ee976
GM
33492000-10-31 Gerd Moellmann <gerd@gnu.org>
3350
26dcb81b
GM
3351 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3352 process idle timers while waiting for another event.
3353
0a894bad
GM
3354 * dispnew.c (update_frame_line): Handle case where spaces in
3355 the default face are colored.
3356
e85ee976
GM
3357 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3358 window height hasn't changed.
3359
01b220b6
JR
33602000-10-31 Jason Rumney <jasonr@gnu.org>
3361
3362 * w32term.c (x_produce_glyphs): Handle composite characters.
3363 (x_draw_glyph_string_foreground)
3364 (x_draw_composite_glyph_string_foreground): Restore old font.
3365
4e6b7204
MB
33662000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3367
3368 * minibuf.c (read_minibuf): Reset the undo history just before
3369 starting the recursive-edit.
3370
d4358b37
GM
33712000-10-30 Gerd Moellmann <gerd@gnu.org>
3372
563f68f1
GM
3373 * xfaces.c (menu_face_change_count): New variable.
3374 (Finternal_set_lisp_face_attribute): Increment it for changes
3375 of the `menu' face.
3376 (realize_basic_faces): Reflect changes in the `menu' faces
3377 in menu bars.
3378
82e274d1
GM
3379 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3380 dy obtained from the iterator's y-position after moving from
3381 scroll_margin_pos to PT; see comment there.
3382
0dbf9fd2
GM
3383 * xdisp.c (safe_eval_handler): Call add_to_log.
3384
906b3b14
GM
3385 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3386 is not a symbol or string.
3387
d4358b37
GM
3388 * xdisp.c (echo_area_display): Don't perform a display update from
3389 inside redisplay. The update will happen anyway at the end of
3390 redisplay, and it can confuse redisplay (GC messages while
3391 redisplaying, for instance.)
3392
70c825df
SM
33932000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3394
cf9b4b0b
SM
3395 * xrdb.c (x_load_resources): Use the class name in the defaults.
3396
70c825df
SM
3397 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3398 (regex_compile): Catch bogus \(\1\).
3399
a1d34b1e
GM
34002000-10-30 Gerd Moellmann <gerd@gnu.org>
3401
cae71efe
GM
3402 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3403 RGB values.
3404
35efe0a1
GM
3405 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3406 we have a color cache, check that the cached color equals the
3407 allocated color. If not, clear the color cache.
3408
1d3baf74
GM
3409 * window.c (displayed_window_lines): Change buffers if necessary.
3410 Fix computation of displayed lines.
3411
a1d34b1e
GM
3412 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3413 update_menu_bindings to DEFVAR_BOOL.
3414
70737ea9
KH
34152000-10-30 Kenichi Handa <handa@etl.go.jp>
3416
70c825df 3417 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3418
fa0cb51d
KH
3419 * puresize.h (BASE_PURESIZE): Increase to 680000.
3420
70737ea9
KH
3421 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3422
0e4c08e8
JR
34232000-10-29 Jason Rumney <jasonr@gnu.org>
3424
3425 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3426
3427 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3428 (w32_cache_char_metrics): Handle possibility that 'x' does not
3429 exist in a BDF font.
3430 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3431
3432 * w32bdf.h (bdffont): Add nchars.
3433
3434 * w32bdf.c (set_bdf_font_info): Set it.
3435 (w32_BDF_TextOut): Swap byte order of double byte characters.
3436 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3437
45b84006
EZ
34382000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3439
3440 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3441 don't override the colors in frame's param_alist, unless they are
3442 unspecified.
3443
3444 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3445 reverse the effect of the highlight flag.
3446
caf9deee
KR
34472000-10-27 Ken Raeburn <raeburn@gnu.org>
3448
3449 * window.h (Fwindow_live_p): Declare.
3450
ae0b9b46
KR
3451 * undo.c (record_delete): Check that last_undo_buffer is really a
3452 buffer before applying XBUFFER to it.
3453
3454 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3455 Faref.
3456
02067692
SM
34572000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3458
3459 * lisp.h (KEYMAPP): New macro.
3460 (get_keymap): Remove.
3461 (get_keymap_1): Rename get_keymap.
3462
3463 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3464
3465 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3466
3467 * xmenu.c (single_submenu): Use KEYMAPP.
3468 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3469 Use KEYMAPP rather than Fkeymapp.
3470
3471 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3472
3473 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3474 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3475 Use KEYMAPP rather than Fkeymapp.
3476 (single_submenu): Use KEYMAPP.
3477 (w32_menu_show, w32_dialog_show): Use TRUE.
3478
3479 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3480
3481 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3482 (Fkeymapp): Use KEYMAPP.
3483 (get_keymap): Rename from get_keymap_1. Remove old def.
3484 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3485 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3486 (Fminor_mode_key_binding): Don't raise an error if the binding
3487 is not a keymap.
3488 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3489 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3490
3491 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3492 Allow Vspecial_event_map to be autoloaded.
3493 (menu_bar_items): Fetch the keymap rather than using keymapp.
3494 (menu_bar_one_keymap): No need to follow func-indirect any more.
3495 (parse_menu_item): get_keymap_1 -> get_keymap.
3496 (tool_bar_items): Fetch the keymap rather than using keymapp.
3497 (read_key_sequence): Use KEYMAPP.
3498
3499 * intervals.c (get_local_map): Use get_keymap rather than following
3500 function-indirections explicitly.
3501
3502 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3503
f9d80af3
JR
35042000-10-27 Jason Rumney <jasonr@gnu.org>
3505
3506 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3507 point, as Windows has oversized fonts.
3508
3509 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3510
a3ba27da
GM
35112000-10-27 Gerd Moellmann <gerd@gnu.org>
3512
3513 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3514 (freehook, reallochook): Handle null pointer arguments.
3515 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3516
aa3b80cc
SM
35172000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3518
3519 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3520 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3521 Giving in to popular pressure to shut up the compiler with casts.
3522
e24e84cc
GM
35232000-10-27 Gerd Moellmann <gerd@gnu.org>
3524
3525 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3526 signed value, and use a default value computed from the font's
3527 maximum descent.
3528
05ea7ef2
MB
35292000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3530
3531 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3532 that specify a negative underline position can still use underlines.
3533
3534 * window.c (Fpos_visible_in_window_p): Make POS default to
3535 WINDOW's point, not the current buffer's point.
3536
0b95284b
DL
35372000-10-26 Dave Love <fx@gnu.org>
3538
3539 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3540 when it's necessary.
3541
6c5b90af
GM
35422000-10-26 Gerd Moellmann <gerd@gnu.org>
3543
8b6d9dc9
GM
3544 * window.c (size_window): Compute size difference from sum of old
3545 child window sizes instead of from parent's size.
3546
6bc92b2e
GM
3547 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3548 Handle obscured lines at the top of the window.
3549
3550 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3551 down after the last error condition check.
3552
6c5b90af
GM
3553 * frame.c (Fdelete_frame): Run delete-frame-hook.
3554
42f92d4d
KH
35552000-10-26 Kenichi Handa <handa@etl.go.jp>
3556
3557 * coding.c (decode_coding): Fix previous change (check also
3558 CODING_MODE_LAST_BLOCK).
3559
d97151cb
SM
35602000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3561
e7efc503
SM
3562 * regex.c: More `unsigned char' -> `re_char' changes.
3563 Also change several `int' into `re_wchar_t'.
3564 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3565 (PUSH_FAILURE_POINTER): Don't cast any more.
3566 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3567 We want GCC to complain, since this piece of code makes
3568 re_match non-reentrant, which *should* be fixed.
3569 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3570 (EXTEND_BUFFER): Use RETALLOC.
3571 (SET_LIST_BIT): Don't cast.
3572 (re_wchar_t): New type.
3573 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3574 that those two functions will always properly return.
3575 (IMMEDIATE_QUIT_CHECK): Cast to void.
3576 (analyse_first): Use recursion rather than an explicit stack.
3577 (re_compile_fastmap): Can't fail anymore.
3578 (re_search_2): Don't check re_compile_fastmap for failure.
3579 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3580 Now also sets the new value (passed in a new argument).
3581 (re_match_2_internal): Use it.
3582 Also, use a new var `reg' of type size_t when looping through regs
3583 rather than reuse the inappropriate `mcnt'.
3584
d97151cb
SM
3585 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3586 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3587 (where_is_internal): Renamed from Fwhere_is_internal.
3588 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3589 (Fwhere_is_internal): New function wrapping where_is_internal.
3590 (where_is_internal_1): Handle the case where we're filling the cache.
3591 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3592
d5789b65
MB
35932000-10-25 Miles Bader <miles@gnu.org>
3594
3595 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3596
4ecda532
GM
35972000-10-25 Gerd Moellmann <gerd@gnu.org>
3598
3599 * window.c (pos_fully_visible_p): Removed.
3600 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3601 if position is visible and/or fully visible.
3602
3603 * lisp.h (pos_visible_p): Add prototype.
3604
3605 * xdisp.c (pos_visible_p): New function.
3606
68c3a137
KH
36072000-10-25 Kenichi Handa <handa@etl.go.jp>
3608
3609 * process.c (send_process): If OBJECT is t, it means that the data
3610 is from C string, but we should encode it. Before calling
3611 setup_raw_text_coding_system, be sure to flush out data by the
3612 previous coding system.
3613
7ae1c032
MB
36142000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3615
ff4dcd4b
MB
3616 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3617 assignment of startpos to prev when startpos == pos.
3618
7ae1c032
MB
3619 * editfns.c (find_field): Set the field stickiness correctly from
3620 overlay fields. Use renamed `text_property_stickiness'.
3621 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3622 Only check text properties, not overlays.
7ae1c032
MB
3623 * textprop.c (get_char_property_and_overlay): New function.
3624 (Fget_char_property): Use it.
3625 * intervals.h (get_char_property_and_overlay): Add declaration.
3626
49801145
SM
36272000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3628
3629 * keymap.c: Use AREF, ASET and ASIZE macros.
3630 (Fmake_sparse_keymap): Docstring fix.
3631 (synkey): Remove.
3632 (shadow_lookup): Move up.
3633 Handle the case where lookup-key returns an integer.
3634 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3635 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3636 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3637 Simplify/rewrite the keymap-finding code.
3638 Add check for command shadowing, using shadow_lookup.
3639
39e776cd
SM
36402000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3641
3642 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3643 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3644 a symbol.
3645
2488aba5
AI
36462000-10-24 Andrew Innes <andrewi@gnu.org>
3647
3648 * dired.c (directory_files_internal_unwind): New function.
3649 (directory_files_internal): Use it to ensure closedir is called
3650 even if expand-file-name or file-attributes throw, eg. because of
3651 a user interrupt. Also enable immediate_quit while calling
3652 re_search, so that matching can be interrupted as well.
3653
b94fdf61
AI
36542000-10-24 Andrew Innes <andrewi@gnu.org>
3655
3656 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3657 NT-Emacs only.
3658 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3659 so that re_search functions only quit when callers expect them to.
3660
36612000-10-24 Kenichi Handa <handa@etl.go.jp>
3662
3663 * regex.c (regex_compile): Change the way of handling a range from
3664 a char less than 256 to a char not less than 256.
3665
1946f901
GM
36662000-10-24 Gerd Moellmann <gerd@gnu.org>
3667
7ae2f10f
GM
3668 * window.c (size_window): Prevent setting window's width or
3669 height to a negative value (esp. with XSETFASTINT).
3670
5dcab13e
GM
3671 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3672 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3673 (protect_malloc_state) [GC_MALLOC_CHECK &&
3674 GC_PROTECT_MALLOC_STATE]: New function.
3675 (PROTECT_MALLOC_STATE): New macro.
3676 (__malloc_initialize, morecore, _malloc_internal)
3677 (_free_internal) _realloc_internal): Use it to make _heapinfo
3678 read-only outside of gmalloc.
3679
63e1b552
GM
3680 * keymap.c: Update copyright.
3681
1946f901
GM
3682 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3683 a symbol.
3684
4fa09beb
GM
36852000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3686
3687 * filelock.c (unlock_all_files): Use unlock_file to expand each
3688 buffer's file_truename before trying remove its lock file.
3689
23afac01
EZ
36902000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3691
3692 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3693 or CRLF, decode EOLs.
3694
04448b95
KH
36952000-10-24 Kenichi Handa <handa@etl.go.jp>
3696
3697 * window.c (Fdisplay_buffer): Fix doc.
3698
3090a5a5
JR
36992000-10-23 Jason Rumney <jasonr@gnu.org>
3700
3701 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3702 ASCII font of default fontset on Windows.
3703
3704 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3705 xterm.c comment below).
3706
3707 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3708
a83fee2c
GM
37092000-10-23 Gerd Moellmann <gerd@gnu.org>
3710
3711 * xterm.c (x_connection_closed): Reset handling_signal.
3712
3713 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
3714 null.
3715
6ffdb539
MB
37162000-10-23 Miles Bader <miles@gnu.org>
3717
3718 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3719 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3720 maintain old behavior.
3721 * minibuf.c (Fminibuffer_complete): Likewise.
3722
7f1c969b
MB
37232000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3724
3725 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3726 that when a font can't be exactly centered, it errs up rather than
3727 down.
3728
23afac01 37292000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
3730
3731 * fns.c (Fbase64_decode_string): The decoded result should be
3732 unibyte.
3733
1a578e9b
AC
37342000-10-23 Andrew Choi <akochoi@i-cable.com>
3735
3736 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3737
3738 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 3739 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
3740
3741 * emacs.c (main) [macintosh]: Call syms_of_textprop,
3742 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
3743 syms_of_search, x_term_init, and init_keyboard before calling
3744 init_window_once. Also, call syms_of_xmenu.
3745
3746 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
3747 default fontset to Monaco.
3748
3749 * frame.c [macintosh]: Include macterm.h. Remove declarations of
3750 NewMacWindow and DisposeMacWindow.
3751 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
3752 instead of calling NewMacWindow and setting fields of
3753 f->output_data.mac directly. Call init_frame_faces.
3754 (Fdelete_frame) [macintosh]: Remove unused code.
3755 (Fmodify_frame_parameters) [macintosh]: Call
3756 x_set_frame_parameters instead of mac_set_frame_parameters.
3757
3758 * frame.h [macintosh]: Define menu_bar_lines field in struct
3759 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
3760
3761 * keyboard.c [macintosh]: Include macterm.h.
3762 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
3763 and menu_bar_activate_event type events as for X and NT.
3764 (make_lispy_event) [macintosh]: Construct lisp events of type
3765 MENU_BAR_EVENT as for X and NT.
3766
3767 * sysdep.c [macintosh]: Remove declaration for sys_signal.
3768 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
3769 (sys_subshell) [macintosh]: Remove definition entirely.
3770 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
3771 Vwindow_system_version here. Remove initialization of
3772 Vx_bitmap_file_path.
3773 (read_input_waiting): Correct the number of parameters passed to
3774 read_socket_hook.
3775 Move all Macintosh functions to mac/mac.c.
3776
3777 * term.c [macintosh]: Include macterm.h.
3778
3779 * window.c [macintosh]: Include macterm.h.
3780
3781 * xdisp.c [macintosh]: Include macterm.h. Declare
3782 set_frame_menubar and pending_menu_activation.
3783 (echo_area_display) [macintosh]: Do not return if terminal frame
3784 is the selected frame.
3785 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
3786 Allow only the selected frame to set menu bar.
3787 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
3788 calling FRAME_EXTERNAL_MENU_BAR (f).
3789 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
3790
3791 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
3792 and check_x. Declare XCreateGC. Define x_create_gc and
3793 x_free_gc. Initialize font_sort_order.
3794 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
3795 but call x_list_fonts instead of w32_list_fonts.
3796 (Finternal_face_x_get_resource) [macintosh]: Do not call
3797 display_x_get_resource.
3798 (prepare_face_for_display) [macintosh]: Set xgcv.font.
3799 (realize_x_face) [macintosh]: Load the font if it is specified in
3800 ATTRS.
3801 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
3802 to Qt.
3803
1ffbabe3
SM
38042000-10-22 Stefan Monnier <monnier@cs.yale.edu>
3805
3806 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
3807 is nil: since we go to the end of submap anyway, we'd end up
3808 setting nil to nil.
3809 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
3810 doesn't obey autoload.
3811
bed43f1d
EZ
38122000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3813
1ffbabe3 3814 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 3815
ea4233a7
JR
38162000-10-21 Jason Rumney <jasonr@gnu.org>
3817
3818 * w32term.c (w32_cache_char_metrics): Double check that font is
3819 really fixed pitch before trusting tmPitchAndFamily.
3820
f3d3c491
AI
38212000-10-21 Andrew Innes <andrewi@gnu.org>
3822
3823 * w32gui.h (w32_char_font_type): Move enum from w32term.c
3824
3825 * w32term.h: Extern decl for w32_cache_char_metrics.
3826
3827 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
3828
3829 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
3830 (w32_unload_font): Free per_char array if present.
3831
3832 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
3833 cached information in emulated XFontStruct to handle common cases
3834 quickly. Do not allocate XCharStruct for return.
3835 (w32_native_per_char_metric): New function.
3836 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
3837 allocating one.
3838 (x_produce_glyphs): Don't get an HDC. Change calls to
3839 w32_per_char_metric to match arg change above. Remove calls to
3840 free results.
3841 (w32_get_glyph_overhangs): Ditto.
3842 (w32_cache_char_metrics): New function.
3843
3844 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
3845 ($(BLD)/casefiddle.$(O)): Remove compile command.
3846 ($(BLD)/gmalloc.$(O)): Remove compile command.
3847 ($(BLD)/dispnew.obj):
3848 ($(BLD)/keyboard.obj):
3849 ($(BLD)/w32inevt.obj):
3850 ($(BLD)/w32bdf.obj):
3851 ($(BLD)/alloc.obj):
3852 ($(BLD)/buffer.obj):
3853 ($(BLD)/editfns.obj):
3854 ($(BLD)/emacs.obj):
3855 ($(BLD)/fileio.obj):
3856 ($(BLD)/fns.obj):
3857 ($(BLD)/indent.obj):
3858 ($(BLD)/insdel.obj):
3859 ($(BLD)/intervals.obj):
3860 ($(BLD)/minibuf.obj):
3861 ($(BLD)/print.obj):
3862 ($(BLD)/scroll.obj):
3863 ($(BLD)/sysdep.obj):
3864 ($(BLD)/textprop.obj):
3865 ($(BLD)/widget.obj):
3866 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
3867 ($(BLD)/term.obj): Add dependency on dispextern.h.
3868
3869 * makefile.nt ($(BLD)\dispnew.obj):
3870 ($(BLD)\keyboard.obj):
3871 ($(BLD)\w32inevt.obj):
3872 ($(BLD)\w32bdf.obj):
3873 ($(BLD)\alloc.obj):
3874 ($(BLD)\buffer.obj):
3875 ($(BLD)\editfns.obj):
3876 ($(BLD)\emacs.obj):
3877 ($(BLD)\fileio.obj):
3878 ($(BLD)\fns.obj):
3879 ($(BLD)\indent.obj):
3880 ($(BLD)\insdel.obj):
3881 ($(BLD)\intervals.obj):
3882 ($(BLD)\minibuf.obj):
3883 ($(BLD)\print.obj):
3884 ($(BLD)\scroll.obj):
3885 ($(BLD)\sysdep.obj):
3886 ($(BLD)\textprop.obj):
3887 ($(BLD)\widget.obj):
3888 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
3889 ($(BLD)\term.obj): Add dependency on dispextern.h
3890
18ad4821
EZ
38912000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3892
3893 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
3894 with an additional argument of Qt.
3895
de54681a
MB
38962000-10-21 Miles Bader <miles@gnu.org>
3897
3898 * window.c (pos_fully_visible_in_window_p): New function.
3899 (Fpos_visible_in_window_p): Add FULLY argument.
3900 Use pos_fully_visible_in_window_p.
3901 (window_scroll_pixel_based, window_scroll_line_based): Update
3902 calls to Fpos_visible_in_window_p.
3903 * lisp.h (Fpos_visible_in_window_p): Update prototype
3904
13c844fb
GM
39052000-10-20 Gerd Moellmann <gerd@gnu.org>
3906
3907 * alloc.c (toplevel): Conditionalize compilation of mem_*
3908 functions differently.
3909
d9506268
JR
39102000-10-20 Jason Rumney <jasonr@gnu.org>
3911
3912 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
3913 mem_init where it used to be. mem_z etc not defined otherwise.
3914
8094989b
GM
39152000-10-20 Gerd Moellmann <gerd@gnu.org>
3916
3917 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
3918 GC_MALLOC_CHECK.
3919 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
3920 structure definition and related variabled to the top of the file.
3921 Include this code when GC_MALLOC_CHECK is defined.
3922 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
3923 register/unregister allocated region.
3924 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
3925 which isn't allocated.
3926 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
3927 something which is already in use.
3928 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
3929 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
3930 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
3931 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
3932
3933 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
3934 _malloc_internal instead of malloc.
3935 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
3936 of free.
3937
ea456eb4
AI
39382000-10-20 Andrew Innes <andrewi@gnu.org>
3939
3940 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
3941 Windows.
3942 (my_strftime) <macro>: Don't use macro arg list when redefining as
3943 _strftime_copytm.
3944 (my_strftime) <function>: Supply 0 as ut argument.
3945
e64c3a75
JR
39462000-10-19 Jason Rumney <jasonr@altavista.net>
3947
3948 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
3949 including dispextern.h, as it stops faces from working.
3950
3951 * w32fns.c (Fx_create_frame): Don't bother calling
3952 face-set-after-frame-default since the caller does it for us
3953 anyway. Clean up calls to x_get_arg to be consistent with X.
3954
3955 * w32term.c (x_produce_glyphs): Handle
3956 unibyte_display_via_language_environment correctly.
3957 (w32_draw_box_rect): Fix the calculation of width and height.
3958
3959 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
3960 as it has stopped working.
3961 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
3962 menu-bar.
3963
17401c97
GM
39642000-10-19 Gerd Moellmann <gerd@gnu.org>
3965
3966 * eval.c (skip_debugger): Prevent a compiler warning.
3967 (Fcondition_case): Likewise.
3968 (Fbacktrace_frame): Use a null interactive spec.
3969
773272d8
KH
39702000-10-19 Kenichi Handa <handa@etl.go.jp>
3971
3972 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
3973
a42943e9
GM
39742000-10-18 Gerd Moellmann <gerd@gnu.org>
3975
e50517d9
GM
3976 * strftime.c: Sync with glibc, file version 1.78.
3977 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
3978 should no longer be used according to ISO 8601.
3979
9035a35a
GM
3980 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
3981 no map for meta_prefix_char, don't try to use it as a keymap.
3982 Instead, if T_OK is non-zero, look up a default binding, if any,
3983 otherwise, if T_OK is zero, return nil.
3984
a42943e9
GM
3985 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
3986 (x_to_xcolors, png_load): Use x_query_color.
3987
3988 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
3989 functions.
3990 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
3991 which can be slow.
3992 (x_copy_color, x_alloc_lighter_color): Likewise.
3993
3994 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
3995 (x_query_color, x_query_colors): Add prototype.
3996
3997 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
3998 check_string_bytes only if not noninteractive, increase count to 50.
3999
00de2987
MB
40002000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4001
4002 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4003 markers correctly.
4004
54918e2b
GM
40052000-10-17 Gerd Moellmann <gerd@gnu.org>
4006
1f0b3fd2
GM
4007 * alloc.c (pure_bytes_used): Renamed from pureptr.
4008 (ALIGN): New macro.
4009 (pure_alloc): New function.
4010 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4011 Use it.
4012 (Fpurecopy): Use PURE_POINTER_P.
4013
68c5d1db
GM
4014 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4015 PT has moved backward.
4016
9a038881
GM
4017 * xdisp.c (cursor_row_p): Take continued lines into account.
4018
361b097f
GM
4019 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4020 string's size_byte.
4021 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4022 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4023 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4024 string allocated.
4025
54918e2b
GM
4026 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4027 of selective display off while searching for the next line start.
4028
03ed0806
KH
40292000-10-17 Kenichi Handa <handa@etl.go.jp>
4030
4031 * Makefile.in (term.o): Depend on dispextern.h.
4032
7e05cdaf
SM
40332000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4034
4035 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4036
a6801fd1
GM
40372000-10-16 Gerd Moellmann <gerd@gnu.org>
4038
483de32b
GM
4039 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4040 the iterator at the beginning, so that they can be set later on,
4041 for instance in reseat_at_next_visible_line_start, without being
4042 overwritten.
4043
a6801fd1
GM
4044 * xfns.c (pbm_format): Add :foreground and :background keywords.
4045 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 4046 (xbm_load): Recognize foreground and background color
a6801fd1
GM
4047 specifications.
4048
dbf1fcc1
EZ
40492000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4050
4051 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4052
4053 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
4054 declaration.
4055
4056 * msdos.c (IT_set_face): Compare highlighted face with the default
4057 face, and invert colors if these faces' colors are identical.
4058 (Fmsdos_remember_default_colors): Don't swap foreground and
4059 background colors in initial_colors[].
4060 (IT_set_frame_parameters): Don't swap frame's foreground and
4061 background pixels. If ALIST includes "(reverse . t)", swap
4062 foreground-color and background-color properties in frame's
4063 param_alist. If the original frame's param_alist doesn't specify
4064 the colors, store unspecified-fg and unspecified-bg, reversed if
4065 required.
4066
4067 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4068 the colors are unspecified and reversed, reverse fore- and back-
4069 ground in the returned value.
4070 (Fframe_parameter): Ditto.
4071
b41fe2c3
GM
40722000-10-16 Gerd Moellmann <gerd@gnu.org>
4073
3a6b59d9
GM
4074 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4075 get_last_unchanged_at_beg_row.
4076 (find_first_unchanged_at_end_row): Renamed from
4077 get_first_unchanged_at_end_row.
4078 (find_first_unchanged_at_end_row): Convert assertions to
4079 unconditional tests which abort. When looking for a row in
4080 unchanged text, don't go further back than first_text_row.
4081
b41fe2c3
GM
4082 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4083 Don't add in the last line's height when deciding if the new
4084 position is below the scroll margin.
9d1af64f 4085
b41fe2c3 40862000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4087
4088 * editfns.c (Fconstrain_to_field): Check carefully for field
4089 boundaries if either OLD_POS or NEW_POS has a non-nil field
4090 property, even if they're the same.
4091
c412cb7b
KH
40922000-10-16 Kenichi Handa <handa@etl.go.jp>
4093
4094 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4095 height for XFillRectangle.
4096
5586f3eb
SM
40972000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4098
4099 * syntax.c (Fstring_to_syntax): New function extracted from
4100 Fmodify_syntax_entry.
4101 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4102 (skip_chars, Fforward_comment): Remove unused variables.
4103 (syms_of_syntax): Add defsubr for string-to-syntax.
4104 (describe_syntax): Add code for comment and string fences.
4105
db785038
SM
41062000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4107
4108 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4109 Do the meta->esc mapping. Call get_keyelt before returning.
4110 Start scanning from the second element (the first is always `keymap')
4111 to make it easier to detect when we reach a parent map.
4112 Handle the case of inheriting from a symbol whose function is a map.
4113 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4114 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4115 (get_keyelt, Flookup_key): Update call to access_keymap.
4116 Remove the meta->esc mappings.
4117 (define_as_prefix): Delete old disabled code.
4118 (menu_item_p): New function.
4119 (where_is_internal_1): Skip over the few remaining menu items.
4120 * lisp.h (access_keymap): Update prototype.
4121 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4122 Update call to access_keymap.
4123 (follow_key, read_key_sequence): Update calls to access_keymap.
4124 Remove the meta->esc mappings.
4125
cafafe0b
GM
41262000-10-13 Gerd Moellmann <gerd@gnu.org>
4127
a2e2a7f6
GM
4128 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4129 with additional argument.
4130
cafafe0b
GM
4131 * xdisp.c (cursor_row_p): New function.
4132 (try_cursor_movement, display_line): Use it.
4133
4134 * xdisp.c (append_space): Also save/restore iterator's current
4135 character and its length.
4136
4137 * xdisp.c (init_from_display_pos): Add an assertion.
4138 (handle_stop): Don't set iterator's add_overlay_start.
4139 (handle_invisible_prop): Likewise.
4140 (load_overlay_strings): If text under an overlay is invisible,
4141 take both before- and after-strings into account when the iterator
4142 is positioned either at the start or at the end of the overlay.
4143 (forward_to_next_line_start): Rewritten.
4144 (reseat_at_next_visible_line_start): Rewritten.
4145 (set_iterator_to_next): Add parameter RESEAT_P.
4146
4147 * dispextern.h (struct it): Remove member add_overlay_start.
4148 (set_iterator_to_next): Change prototype.
4149
c744452b
KH
41502000-10-13 Kenichi Handa <handa@etl.go.jp>
4151
4152 * coding.c (code_convert_region): Be sure to initialize
4153 coding->category_idx.
e4a3f4e1
KH
4154 (decode_coding_string): Set coding->src_multibyte and
4155 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4156 (encode_coding_string): Set coding->src_multibyte and
4157 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4158
321fd26f
SM
41592000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4160
4161 * xfns.c (Fx_create_frame): Don't bother calling
4162 face-set-after-frame-default since the caller does it for us anyway.
4163
76832439
EZ
41642000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4165
4166 * window.c (coordinates_in_window): Fix detection of vertical line
4167 on character terminals.
4168
2483cf58
GM
41692000-10-12 Gerd Moellmann <gerd@gnu.org>
4170
4171 * editfns.c (save_excursion_save): Additionally record the
4172 selected window.
4173 (save_excursion_restore): If buffer was visible in a window, and a
4174 different window was selected, and the old selected window is
4175 still live, restore point in that window.
4176
eb991b25
KH
41772000-10-12 Kenichi Handa <handa@etl.go.jp>
4178
8a0eba09
KH
4179 * xterm.c (x_produce_glyphs): Handle
4180 unibyte_display_via_language_environment correctly.
4181
20401fcc
KH
4182 * regex.c (regex_compile): Change the way of handling a range from
4183 unibyte char to multibyte char.
4184
4185 * syntax.c (skip_chars): Change the way of handling a range from
4186 unibyte char to multibyte char.
4187
eb991b25
KH
4188 * process.c (read_process_output): Cancel previous change.
4189
365dd325
EZ
41902000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4191
c1b096cb
EZ
4192 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4193
365dd325
EZ
4194 * charset.c (Ffind_charset_string): Doc fix.
4195 (Ffind_charset_region): Doc fix.
4196
eb483c2b
KH
41972000-10-11 Kenichi Handa <handa@mule.m17n.org>
4198
4199 * process.c (read_process_output): Fix previous change. Adjust
4200 multibyteness of text to insert in a buffer by
df3c11b9 4201 string_make_unibyte/multibyte instead of
eb483c2b
KH
4202 Fstring_as_unibyte/multibyte.
4203
b40bfb99
AS
42042000-10-10 Andreas Schwab <schwab@suse.de>
4205
4206 * alloc.c (mark_object): Remove all workarounds installed on
4207 1993-08-08.
4208
caff31d4
KH
42092000-10-10 Kenichi Handa <handa@etl.go.jp>
4210
4211 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
4212 returning.
4213 (base64_encode_1): Make it work for a text of multibyte form.
4214 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4215 case. Don't call str_to_multibyte because base64_decode_1
4216 produces correct multibyte form for eight-bit codes.
4217 (Fbase64_decode_string): Adjusted for the change of
4218 base64_decode_1.
4219 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4220 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4221 codes.
4222
4223 * charset.h (CHAR_STRING): Optimized for single byte characters.
4224
cba026ef
AS
42252000-10-09 Andreas Schwab <schwab@suse.de>
4226
4227 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4228 -1 after socket is closed, to fall through to error processing.
4229
1e21fe48
EZ
42302000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4231
4232 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4233 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4234 background-color, change also the colors of the default face for
4235 this frame.
4236
a640322e
EZ
42372000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4238
4239 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4240 them extern (they are defined on xfaces.c).
4241 (syms_of_msdos): Don't intern and don't staticpro
4242 Qbackground_color and Qforeground_color.
4243
a115794c
EZ
42442000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4245
4246 * frame.c (Fframe_parameter): For non-windowed frames, if
4247 f->param_alist says foreground or background color is unspecified,
4248 call tty_color_name to return the color name computed from the
4249 frame's current colors.
4250
f5533b63
DL
42512000-10-06 Dave Love <fx@gnu.org>
4252
4253 * terminfo.c (ospeed): Don't declare.
4254
4255 * sysdep.c: Don't include string.h.
4256 (h_errno): Declare conditional also on TRY_AGAIN.
4257
4258 * charset.c (Ffind_charset_string): Doc fix.
4259
4260 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
4261 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4262 error messages.
4263
2b06561a
DL
42642000-10-05 Dave Love <fx@gnu.org>
4265
4266 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4267 position like menu-bar.
4268
ca839c85
GM
42692000-10-05 Gerd Moellmann <gerd@gnu.org>
4270
4271 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4272
4273 * xdisp.c (handle_single_display_prop): Use safe_call1.
4274 (safe_call): Renamed from call_function.
4275 (safe_call1): New function.
4276 (handle_fontified_prop): Use safe_call1 instead of call1.
4277 (safe_eval): Renamed from eval_form.
4278 (safe_eval_handler): Renamed from eval_handler.
4279 (handle_single_display_prop, display_mode_element): Use safe_eval
4280 instead of eval_form.
4281
4282 * xfaces.c (merge_face_heights): Use safe_call instead of
4283 call_function.
4284
4285 * keyboard.c (show_help_echo): Use safe_call instead of
4286 call_function; use safe_eval instead of eval_form.
4287
4288 * lisp.h (safe_call): Renamed from call_function.
4289 (safe_eval): Renamed from eval_form.
4290 (safe_call1): Add prototype.
4291
a3489ece
MB
42922000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4293
4294 * xfns.c (image_ascent): Rearrange ascent calculation for the
4295 has-a-font case.
4296
35810b6f
SM
42972000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4298
4299 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4300 (where_is_internal_1): Don't bother ignoring menu-items any more.
4301
3dc78168
GM
43022000-10-04 Gerd Moellmann <gerd@gnu.org>
4303
4304 * keyboard.c (update_menu_bindings): New variable.
4305 (parse_menu_item): Use AREF. If update_menu_bindings
4306 is 0, don't update menu bindings.
4307 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4308
1efc2bb9
EZ
43092000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4310
4311 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4312 to `mark_object'.
4313
3f679f55
SM
43142000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4315
4316 * syntax.c (forw_comment): Match nestedness of ender/starter.
4317 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4318 (prev_char_comstart_first): Remove.
4319 (back_comment): Check two-char comment markers more carefully
4320 to better handle overlapping cases like *//* or /* */* */ ...
4321 Match nestedness of ender/starter.
4322
2021ab61
DL
43232000-10-02 Dave Love <fx@gnu.org>
4324
4325 * config.in (HAVE_GAI_STRERROR): Add undef.
4326
4327 * process.c (Fopen_network_stream): Use it.
4328
4329 * m/alpha.h (NO_REMAP): Don't define.
4330
64e6cc18
GM
43312000-10-02 Gerd Moellmann <gerd@gnu.org>
4332
4333 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4334 return with a string converted to an integer or vice versa when
4335 Vmocklisp_arguments is t.
4336 (Fsignal): Likewise. The function can return for `quit'.
4337 (struct gcpro): Declare member `var' to point to a volatile
4338 Lisp_Object.
4339
4340 * eval.c (error): Prevent compiler warning.
4341
b1904cd9
SM
43422000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4343
4344 * keymap.c (keymap_memberp): New function.
4345 (Fset_keymap_parent): Use it.
4346 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4347 Use keymap_memberp to avoid creating cycles.
4348 (access_keymap): Use KEYMAPP.
4349
71c9ec51
GM
43502000-09-30 Gerd Moellmann <gerd@gnu.org>
4351
4352 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4353 gai_strerror. Make sure xerrno is set if connect fails. Improve
4354 error recovery.
71c9ec51 4355
c70c6b58
JR
43562000-09-29 Jason Rumney <jasonr@gnu.org>
4357
4358 * w32term.c (w32_char_font_type, w32_encode_char)
4359 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4360 (w32_bdf_per_char_metric): New function.
4361 (w32_per_char_metric): Use it.
4362 (x_draw_glyph_string_background): Always draw background for BDF
4363 glyphs.
4364
4365 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4366 GDI object which is a scarce resource.
4367
4368 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4369 (get_quoted_string): Fix limit on memchr search.
4370 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4371 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4372 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4373 (get_cached_font_char, cache_char_offset): Use macro
4374 BDF_CODEPOINT_RANGE_COVER_P.
4375 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4376 (clear_cached_bitmap_slots): New function.
4377 (GET_HEX_VALUE): G-Z, g-z are not hex.
4378 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4379 (get_bitmap_with_cache): Use new cache implementation.
4380 (create_offscreen_bitmap): New function.
4381 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4382
4383 * w32term.c (x_produce_glyphs): If the distance from the current
4384 position to the next tab stop is less than a canonical character
4385 width, use the tab stop after that.
4386 (x_draw_glyphs): Handle case START and END are out of bounds more
4387 carefully.
4388 (x_clear_mouse_face): Block/unblock input.
4389 (x_display_and_set_cursor): Don't show a hollow box cursor for
4390 buffers whose cursor_type is nil.
4391
fe01239f
GM
43922000-09-29 Gerd Moellmann <gerd@gnu.org>
4393
4394 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
4395 disappears.
4396
4397 * dispextern.h (updating_frame): Declare extern.
4398
e7c52f1f
AS
43992000-09-29 Andreas Schwab <schwab@suse.de>
4400
4401 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4402
de6e1f7c
GM
44032000-09-29 Gerd Moellmann <gerd@gnu.org>
4404
25126faa
GM
4405 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4406 use its function definition.
4407 (tool_bar_items): Likewise.
4408
de6e1f7c
GM
4409 * lisp.h (fatal): Declare NO_RETURN.
4410
454ee39b
KH
44112000-09-29 Kenichi Handa <handa@etl.go.jp>
4412
4413 * keymap.c: Remove the line "#undef NULL".
4414
96301c5f
GM
44152000-09-28 Gerd Moellmann <gerd@gnu.org>
4416
4417 * xterm.c (x_make_frame_visible): Try harder to make the frame
4418 visible.
4419
efffeeb4
DL
44202000-09-28 Dave Love <fx@gnu.org>
4421
ecb8b666
DL
4422 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4423
dc3cd20f
DL
4424 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4425
4426 * .gdbinit (xreload): Note its need on GNU/Linux.
4427
efffeeb4
DL
4428 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4429 r_alloc, r_alloc_free.
4430
8610d903
KH
44312000-09-28 Kenichi Handa <handa@etl.go.jp>
4432
4433 * syntax.c (skip_chars): Handle negation correctly.
4434
8901d1ac
GM
44352000-09-27 Gerd Moellmann <gerd@gnu.org>
4436
6f22f1ad
GM
4437 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4438 with non-zero FORCE_P argument.
4439
8901d1ac
GM
4440 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
4441 Add assertions.
4442
4443 * xdisp.c (window_box_height): Add an assertion.
4444
4445 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4446 tool-bar than is available.
4447 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4448
36f1966f
DL
44492000-09-27 Dave Love <fx@gnu.org>
4450
efffeeb4 4451 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4452
31d929e5
GM
44532000-09-26 Gerd Moellmann <gerd@gnu.org>
4454
c98863bf
GM
4455 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4456 instead of BITS_PER_INT.
4457 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4458 EMACS_UINT, respectively.
4459 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4460
4461 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4462
4463 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4464
77072ab1
GM
4465 * window.c (freeze_window_starts): Construct last argument for
4466 foreach_window differently.
4467
4468 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4469
4470 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4471 EMACS_UINT instead of `int' and `unsigned int'.
4472 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4473
4474 * frame.h (struct frame): Make the `nothing' member of union
4475 output_data an EMACS_INT.
4476
31d929e5
GM
4477 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
4478 hunting.
4479 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4480 size in the sdata structure.
4481 (SDATA_NBYTES, SDATA_DATA): New macros.
4482 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4483 differently for the different layout of the sdata structure.
4484 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4485 in sdata.
4486 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4487 Check that size recorded in the string size and size recorded in
4488 the sdata structure agree.
4489
3e60b029
DL
44902000-09-25 Dave Love <fx@gnu.org>
4491
4492 * buffer.c: Include stdio.h.
4493
4494 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
4495
4496 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4497
4498 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
4499 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
4500 size_t.
4501 (__malloc_extra_blocks): Declare as __malloc_size_t.
4502
8ff16b4e
GM
45032000-09-25 Gerd Moellmann <gerd@gnu.org>
4504
755a2ccd
GM
4505 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4506
d8b4516f
GM
4507 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4508 (read_char): If help-echo is showing, preserve the echo area
4509 when redisplaying.
4510
4511 * xdisp.c (help_echo_showing_p): New variable.
4512 (set_message): Reset it to 0.
4513 (init_xdisp): Initialize help_echo_showing_p.
4514
4515 * dispextern.h (help_echo_showing_p): Declare extern.
4516
4517 * config.in: Fix typo in __GNUC_MINOR__.
4518
4519 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4520
b11af2dd
GM
4521 * s/freebsd.h (POSIX_SIGNALS): Define.
4522
8ff16b4e
GM
4523 * xterm.c (x_clear_mouse_face): Block/unblock input.
4524
844eb643
DL
45252000-09-24 Dave Love <fx@gnu.org>
4526
4527 * fns.c (base64_encode_1): Fix last change.
4528
b30ab1b3
GM
45292000-09-22 Gerd Moellmann <gerd@gnu.org>
4530
4531 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4532
4533 * xdisp.c (try_window_reusing_current_matrix): More fixes
4534 for the case window has a header-line.
4535
c6cbe5f0
DL
45362000-09-22 Dave Love <fx@gnu.org>
4537
4c7c1f3f
DL
4538 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4539 a doc string.
4540
4541 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4542
c6cbe5f0
DL
4543 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4544
550a625e
GM
45452000-09-21 Gerd Moellmann <gerd@gnu.org>
4546
4c7c1f3f 4547 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4548 for GCC >= 2.5.
4549
4550 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
4551 NO_RETURN.
4552
80d26f99
GM
4553 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4554 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4555 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4556 warnings.
4557
4558 * marker.c (byte_char_debug_check): Return void.
4559
623a0aae
GM
4560 * xfns.c (Fx_create_frame): Set default frame parameter value
4561 for tool-bar-lines to 1.
4562
4563 * dispnew.c (scrolling_window): Compare y-positions of rows
4564 equal at the start. Some simplification.
4565
4566 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4567 reused rows' y-position in the case window has a header-line, and
4568 new window start is greater than old window start.
4569
42ac0ae5
GM
4570 * process.c (process_sent_to): New variable.
4571 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4572 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4573 Declare more parameters volatile.
4574
550a625e
GM
4575 * lread.c (Vrecursive_load_depth_limit): New variable.
4576 (Fload): Check recursive loads whose recursion depth exceeds
4577 Vrecursive_load_depth_limit.
4578 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4579
8320414c
GM
45802000-09-20 Gerd Moellmann <gerd@gnu.org>
4581
f46c275e
GM
4582 * fileio.c (Fread_file_name): Doc fix.
4583
4584 * editfns.c (Fmessage_or_box): Doc fix.
4585
4586 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4587
b7e11c5b
GM
4588 * xfns.c (xbm_scan): Allow C-style comments.
4589
8320414c
GM
4590 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4591 symbols are specified, add color translations to the cache.
4592 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
4593 functions.
4594 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4595 xpm_cache_color.
4596 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4597 structures to xpm_init_color_cache.
4598
da1608d9
GM
45992000-09-19 Gerd Moellmann <gerd@gnu.org>
4600
4601 * dispnew.c (update_window_line): Make sure to always draw
4602 mode-lines.
4603
6badfa25
AI
46042000-09-19 Andrew Innes <andrewi@gnu.org>
4605
4606 * makefile.nt (bootstrap-emacs): Don't change directory.
4607
3a5f42bb
KH
46082000-09-19 Kenichi Handa <handa@etl.go.jp>
4609
1b7649bd
KH
4610 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4611
3a5f42bb
KH
4612 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4613 If output buffer is too small, signal an appropriated error.
4614
9f83cf0b
DL
46152000-09-18 Dave Love <fx@gnu.org>
4616
4617 * keyboard.c (menu_bar_items, tool_bar_items)
4618 (current_active_maps): Remove redundant get_local_map call.
4619
28c7826c
GM
46202000-09-18 Gerd Moellmann <gerd@gnu.org>
4621
5cefa566
GM
4622 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4623 cursor for buffers whose cursor_type is nil.
4624
6fed3546
GM
4625 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4626 a feature to implement that is already implemented.
4627 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4628 warnings.
4629
4630 * xfns.c (x_clear_image_1): New function.
4631 (x_clear_image): Use it.
4632 (x_from_xcolors): Use x_clear_image_1; don't free the image's
4633 mask.
4634
05b1f851
GM
4635 * dispnew.c (update_window): Move test for invisible lines
4636 at the top to update_window_line.
4637 (update_window_line): Handle invisible lines here.
4638
f4779de9
GM
4639 * xfns.c (clear_image_cache): Clear current matrices of all
4640 frames sharing an image cache. Block input while freeing
4641 images. Fix timestamp comparison.
4642 (x_clear_image): Also free the mask.
4643
28c7826c
GM
4644 * xfns.c (lookup_image): Block input while loading the image so
4645 that we won't get interrupted in a state where the image isn't yet
4646 set up completely.
4647 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4648 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4649 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
4650 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
4651 input.
4652
b7412313
GM
46532000-09-16 Gerd Moellmann <gerd@gnu.org>
4654
4655 * dispnew.c (update_window): Make sure to make desired rows
4656 current even if they are completely invisible at the top
4657 of a window.
4658
47e351a3
GM
46592000-09-15 Gerd Moellmann <gerd@gnu.org>
4660
7f8f1edc
GM
4661 * xfns.c (lookup_image): Build mask before applying an algorithm.
4662 Recognize algorithm `disabled'.
4663 (cross_disabled_images): New variable.
4664 (COLOR_INTENSITY): New macro.
4665 (x_detect_edges): Use COLOR_INTENSITY.
4666 (x_disable_image): New function.
4667 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4668
4669 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4670 disabled state, don't apply an image transformation algorithm if
4671 the user specified an image for the disabled state. Use
28c7826c 4672 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4673 user hasn't specified an image.
4674
ebb8f116
GM
4675 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4676 allocation functions with the XPM lib.
4677 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4678 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4679 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4680 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
4681 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
4682 functions.
4683 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4684 functions, if possible, because these handle color allocation
4685 failure more gracefully.
4686 (Fimage_mask_p): New function.
4687
47e351a3
GM
4688 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4689 (Qedge_detection, Qheuristic): New symbols.
4690 (syms_of_xfns): Initialize new symbols.
4691 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4692 `algorithm (edge-detection ...)'.
4693 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4694 (tiff_format, gif_format, gs_format): Add `:mask'.
4695 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4696 (GIF_MASK, GS_MASK): New enumerators.
4697 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4698 (emboss_matrix, laplace_matrix): New variables.
4699 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4700 (x_edge_detection): New functions.
4701 (x_laplace): Rewritten in terms of x_detect_edges.
4702 (x_build_heuristic_mask): If image has a mask, free it.
4703
fe83b953
AI
47042000-09-14 Andrew Innes <andrewi@gnu.org>
4705
4706 * makefile.w32-in: Revert to Unix line endings.
4707
3021e816
AI
47082000-09-14 Andrew Innes <andrewi@gnu.org>
4709
4710 * makefile.w32-in: Standardize indentation somewhat.
4711 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4712 cater for differences between shells.
4713
4714 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4715
2a32b5ea
GM
47162000-09-14 Gerd Moellmann <gerd@gnu.org>
4717
4718 * xterm.c (x_produce_glyphs): If the distance from the current
4719 position to the next tab stop is less than a canonical character
4720 width, use the tab stop after that.
4721
b4331e96
DL
47222000-09-14 Dave Love <fx@gnu.org>
4723
4724 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4725
ef9e4345
GM
47262000-09-14 Gerd Moellmann <gerd@gnu.org>
4727
085536c2
GM
4728 * xdisp.c (handle_fontified_prop): While running fontification
4729 functions, bind `fontification-functions' and
4730 `after-change-functions' to nil.
4731
ef9e4345
GM
4732 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4733 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4734
4735 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4736
4737 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4738 USE_MMAP_FOR_BUFFERS.
4739
4740 * insdel.c (make_gap): Use enlarge_buffer_text.
4741
4742 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4743 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4744 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4745 from former r_alloc_* functions in ralloc.c.
4746 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
4747 variables.
4748 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4749 (mmap_init) [REL_ALLOC_MMAP]: New function.
4750 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4751 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4752 BUFFER_FREE.
4753
4754 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
4755 (enlarge_buffer_text): Add prototype.
4756
4757 * ralloc.c: Remove everything having to do with the use of mmap.
4758
f8608968
GM
47592000-09-13 Gerd Moellmann <gerd@gnu.org>
4760
2a494b2d
GM
4761 * sound.c (Fplay_sound): Doc fix.
4762
8c907a56
GM
4763 * keyboard.c: Avoid some more compiler warnings.
4764 (parse_tool_bar_item): Ignore cached key bindings.
4765
f8608968
GM
4766 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
4767 and allocation of Lisp data.
4768
6ab70e9a
GM
47692000-09-12 Gerd Moellmann <gerd@gnu.org>
4770
d12d0a9b
GM
4771 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
4772 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
4773 defaults first.
4774
6ab70e9a
GM
4775 * lread.c (Fload): Put code checking for recursive loads in #if 0.
4776
63c36c3c
KH
47772000-09-12 Miyashita Hisashi <himi@meadowy.org>
4778
4779 * ccl.c: Comment fixed.
4780 (MAX_MAP_SET_LEVEL): Increased to 30.
4781 (PUSH_MAPPING_STACK): Enclose with do-while block.
4782 (POP_MAPPING_STACK): Likewise.
4783 (stack_idx_of_map_multiple): New variable.
4784 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
4785 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
4786 call the corresponding CCL program by
4787 CCL_CALL_FOR_MAP_INSTRUCTION.
4788 (ccl_driver) <CCL_MapSingle>: Likewise.
4789 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
4790 with the case where looking up process reaches to the end of
4791 map-set, and call CCL programs as the above change.
4792
7ee3bd7b
GM
47932000-09-11 Gerd Moellmann <gerd@gnu.org>
4794
8ec8a5ec
GM
4795 * xfns.c (png_load, jpeg_load): Declare some variables volatile
4796 that might be clobbered by longjmp.
4797 (check_x_display_info, x_decode_color, create_frame_xic)
4798 (Fx_display_backing_store, Fx_display_visual_class)
4799 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
4800 warnings.
4801
f74b0705
GM
4802 * lread.c (init_lread): Set Vloads_in_progress to nil.
4803 (Fload): Show list of recursively loaded files, when signaling an
4804 error.
4805
7ee3bd7b
GM
4806 * lread.c (Vloads_in_progress): New variable.
4807 (record_load_unwind): New function.
4808 (Fload): Check for recursive loads.
4809 (syms_of_lread): Initialize Vloads_in_progress.
4810 (read_integer, read1): Avoid some compiler warnings.
4811
4812 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
4813 compiler warnings.
4814
974e1e5b
MB
48152000-09-11 Miles Bader <miles@gnu.org>
4816
4817 * editfns.c (Fbuffer_string): Doc fix.
4818
9824c4e3
GM
48192000-09-10 Gerd Moellmann <gerd@gnu.org>
4820
4821 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
4822
6a72fdd1
KR
48232000-09-09 Ken Raeburn <raeburn@gnu.org>
4824
4825 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
4826 whether to include other header files.
4827
28e6fb66
GM
48282000-09-09 Gerd Moellmann <gerd@gnu.org>
4829
4830 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 4831 by Fmemq as a boolean.
28e6fb66 4832
7f8b6551
SM
48332000-09-08 Stefan Monnier <monnier@cs.yale.edu>
4834
4835 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
4836
a8710abf
GM
48372000-09-08 Gerd Moellmann <gerd@gnu.org>
4838
d1a02881
GM
4839 * ralloc.c (mmap_fd): Remove initializer which can make it
4840 read-only in a dumped Emacs.
4841 (mmap_fd_1): New variable.
4842 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
4843 restore it from there.
4844 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
4845 unconditionally so that mmap_fd can be initialized there.
4846 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
4847 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
4848 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
4849
c454aac1
GM
4850 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
4851
4852 * xdisp.c (dump_glyph_row): Fix printf format string.
4853 (display_line, move_it_in_display_line_to): Avoid compiler
4854 warnings.
4855
fc653ef2
GM
4856 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
4857
3015eec0
GM
4858 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
4859 inheritance.
4860
bfe0ee88
GM
4861 * xdisp.c (try_window_id): When trying to locate cursor in
4862 unchanged rows at the top, handle the case that we can't find it.
4863
a8710abf
GM
4864 * xterm.c (x_draw_glyphs): Handle case START and END are out
4865 of bounds more carefully.
4866
6b7d4ae4
DL
48672000-09-08 Dave Love <fx@gnu.org>
4868
423193c5
DL
4869 * s/sol2.h (REL_ALLOC_MMAP): Define.
4870 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
4871
4872 * ralloc.c: Don't include string.h (redundant).
4873 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
4874 [!MAP_ANON]: Include fcntl.h.
4875 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
4876 (r_alloc, r_re_alloc, r_alloc_free)
4877 (mmap_enlarge, mmap_set_vars): Use it.
4878 (r_alloc_init_fd): New function.
4879 (__morecore) [SYSTEM_MALLOC]: Don't declare.
4880 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
4881 malloc type.
4882
4883 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
4884 Remove vm-limit.o.
4885
6b7d4ae4
DL
4886 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
4887 change to __NetBSD__.
4888
44d31981
KH
48892000-09-08 Kenichi Handa <handa@etl.go.jp>
4890
4891 * search.c (compile_pattern): Check the multibyteness of cached
4892 string and PATTERN.
4893
aad40737
MB
48942000-09-08 Miles Bader <miles@gnu.org>
4895
4896 * xfaces.c (default_face_vector): Function removed.
4897 (Finternal_merge_in_global_face): Restore old global/local
4898 attribute override order. Use inline loop instead of calling
4899 default_face_vector.
4900
91a211b5
GM
49012000-09-07 Gerd Moellmann <gerd@gnu.org>
4902
4903 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
4904 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
4905 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
4906 where necessary, in case POINTER_TYPE is `void'.
4907
03419440
EZ
49082000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
4909
4910 * frame.c (make_terminal_frame): Initialize frame foreground and
4911 background colors to unspecified, for the initial instance of an
4912 MSDOS frame.
4913
f46f845b
GM
49142000-09-07 Gerd Moellmann <gerd@gnu.org>
4915
24f76fbf
GM
4916 * ralloc.c (mmap_find): Fix overlap computation.
4917 (mmap_enlarge): Compute nbytes before trying to find an
4918 overlapping region.
4919
f46f845b
GM
4920 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
4921 instead of `!='.
4922
4923 * lread.c (syms_of_lread): Change value of regexp
4924 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
4925
4926 * xmenu.c (xdialog_show): When looking up the selection in
4927 menu_items, take `quote' boundaries into account; this corresponds
4928 to a nil ITEM in x-popup-dialog.
4929
3c014385
KH
49302000-09-07 Kenichi Handa <handa@etl.go.jp>
4931
fd6f711b
KH
4932 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
4933 not 0x81.
4934 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
4935
3c014385 4936 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
4937 encoding, not decoding. Fix the handling of latin-jisx0201.
4938 Check for the charset katakana-jisx0201 too.
3c014385 4939 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 4940 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 4941
0da3ecef
GM
49422000-09-07 Gerd Moellmann <gerd@gnu.org>
4943
ab0ee409
GM
4944 * xfaces.c (Vparam_value_alist): New variable.
4945 (syms_of_xfaces): Initialize it.
4946 (Finternal_set_lisp_face_attribute): Avoid more consing.
4947
4948 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
4949 specially.
4950 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
4951 (Qbackground_mode): New variable.
4952 (syms_of_frame_1): Initialize Qbackground_mode.
4953
4954 * lisp.h (Qdisplay): Declare extern.
1091dd67 4955
0da3ecef
GM
4956 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
4957 change face on all frames, and change the default for new frames.
4958
b14654b9
DL
49592000-09-07 Dave Love <fx@gnu.org>
4960
4961 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
4962
d24fd56f
KH
49632000-09-07 Kenichi Handa <handa@etl.go.jp>
4964
794f3670
KH
4965 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
4966
0fddd0dc
KH
4967 * charset.c: Include composite.h
4968 (lisp_string_width): New function.
4969 (Fstring_width): Call lisp_string_width instead of strwidth.
4970
4971 * Makefile.in (charset.o): Depends on composite.h.
4972
d24fd56f
KH
4973 * process.c (read_process_output): Before inserting the decoded
4974 text in the buffer, adjust the multibyteness.
4975
fa0b693c
GM
49762000-09-06 Gerd Moellmann <gerd@gnu.org>
4977
73b77ee5
GM
4978 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
4979 buffer's text buffer is null, map new memory.
4980
0a58f946
GM
4981 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
4982 POINTER_TYPE and size_t.
4983 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
4984 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
4985 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
4986 [REL_ALLOC_MMAP]: New macros.
4987 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
4988 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
4989 [REL_ALLOC_MMAP]: New functions.
4990
4991 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
4992 before and after unexec.
4993
4994 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
4995 text buffers if necessary.
4996
4997 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
4998 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
4999 in prototypes.
5000
fa0b693c
GM
5001 * config.in (HAVE_MMAP): Add #undef.
5002
877055f6
GM
50032000-09-05 Gerd Moellmann <gerd@gnu.org>
5004
08ba3862
GM
5005 * frame.c (Qdisplay_type): New variable.
5006 (syms_of_frame_1): Initialize it.
5007 (Fframe_parameter): New function that avoids consing.
5008 (syms_of_frame): Defsubr it.
5009
66ffe51c
GM
5010 * buffer.c (Fother_buffer): Consider buffers as invisible when
5011 they are displayed in a window on an invisible frame.
5012
877055f6
GM
5013 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5014 get-largest-window always return nil.
5015
bb970e67
GM
50162000-09-04 Gerd Moellmann <gerd@gnu.org>
5017
5018 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5019 variable; recognize Emacs 19 elc files.
5020
7a3d0e0e
MB
50212000-09-04 Miles Bader <miles@gnu.org>
5022
5023 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5024 before initially popping up the menu, so the menu doesn't flash
5025 when the face settings are significantly different from the
5026 defaults.
5027
14473664
SM
50282000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5029
5030 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5031 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5032 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5033 (BIT_UNIBYTE): Remove.
5034 (re_match_2_internal): Delete corresponding code and streamline the
5035 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5036 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5037 (re_wctype_t): New type.
5038 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5039 (regex_compile): Use them and fix handling of overly long char classes.
5040
c1174479
AI
50412000-09-03 Andrew Innes <andrewi@gnu.org>
5042
f8803e97
AI
5043 * makefile.w32-in: Change to DOS line endings.
5044
c1174479
AI
5045 * s/ms-w32.h (ORDINARY_LINK): New define.
5046
5047 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5048 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5049
5050 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5051 (distclean): Delete them here instead.
5052
44ef7cf6
AI
5053 * w32proc.c (compare_env): Convert to uppercase for comparison,
5054 not lowercase, to match how the native Windows shell works.
5055
49b3bd82
JR
50562000-09-03 Jason Rumney <jasonr@gnu.org>
5057
5058 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5059 CVS changes the line-ends when checking in/out on DOS/Windows.
5060
5061 * makefile.nt (emacs): Do not change directory to run temacs, as
5062 the load-path is set relative to current directory.
5063
a3d35a39
MB
50642000-09-03 Miles Bader <miles@gnu.org>
5065
5066 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5067
d276b0cf
GM
50682000-09-02 Gerd Moellmann <gerd@gnu.org>
5069
715e84c9
GM
5070 * xdisp.c (redisplay_mode_lines): New function.
5071 (display_mode_lines): Return number of mode lines displayed.
5072 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5073 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5074
8892f40b
GM
5075 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5076 string.h and strings.h.
5077 (index) [HAVE_INDEX]: Add prototype.
5078
d276b0cf
GM
5079 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5080 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5081
5082 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5083 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5084
38404229
GM
50852000-09-01 Gerd Moellmann <gerd@gnu.org>
5086
5087 * lread.c (read1): Accept `?' as symbol constituent, for
5088 compatiblity with XEmacs.
5089
c0f9ea08
SM
50902000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5091
5092 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5093 (struct re_pattern_buffer): Remove newline_anchor.
5094 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5095 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5096 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5097 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5098 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5099 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5100 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5101 Get rid of references to newline_anchor.
5102 (regcomp): Allocate and precompute a fastmap.
5103
8c0f83fe
GM
51042000-08-31 Gerd Moellmann <gerd@gnu.org>
5105
5106 * lread.c (openp): GCPRO local variable `filename'.
5107
4bb91c68
SM
51082000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5109
5110 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5111
5112 * regex.c: Merge some changes from GNU libc. Add prototypes.
5113 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5114 Use memcmp and memcpy instead of bcopy and bcmp.
5115 (init_syntax_once): Use ISALNUM.
5116 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5117 (REG_UNSET_VALUE): Remove. Use NULL instead.
5118 (REG_UNSET, re_match_2_internal): Use NULL.
5119 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5120 New macros.
5121 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5122 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5123 (regex_compile): In handle_interval, return an error rather than try to
5124 unfetch the interval if we can't find the closing brace.
5125 Obey the RE_NO_GNU_OPS syntax bit.
5126 (TOLOWER): New macro.
5127 (regcomp): Use it.
5128 (regexec): Allocate regs.start and regs.end as one block.
5129
5226a931
GM
51302000-08-30 Gerd Moellmann <gerd@gnu.org>
5131
868dd24b
GM
5132 * xdisp.c (echo_area_display): Check display_completed instead
5133 of calling detect_input_pending.
5134
5135 * dispnew.c (update_frame): Only set display_completed here; move
5136 the update_begin and update_end calls here from update_frame_1.
5137 (update_frame_1): Don't set display_completed here, don't call
5138 update_begin/update_end.
5139
5226a931
GM
5140 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5141 instead of store_frame_param.
5142
2a8bd25f
GM
51432000-08-29 Gerd Moellmann <gerd@gnu.org>
5144
5145 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5146 desired window matrix hasn't been displayed, use the current row
5147 instead. Make sure that only those frame rows are updated for
5148 which there exists a corresponding enabled desired row.
5149
ba3478d9
MB
51502000-08-29 Miles Bader <miles@gnu.org>
5151
5152 * xfaces.c (default_face_vector): New function.
5153 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5154
87d0f685
GM
51552000-08-29 Gerd Moellmann <gerd@gnu.org>
5156
5157 * lread.c (openp): Prevent temporary string passed to
5158 Ffile_readable_p from being garbage collected.
5159
6fa86045
DL
51602000-08-28 Dave Love <fx@gnu.org>
5161
5162 * keymap.c (store_in_keymap): Add `static' to declaration.
5163
bb17930d
GM
51642000-08-28 Gerd Moellmann <gerd@gnu.org>
5165
5166 * emacs.c, callint.c, doc.c, editfns.c
5167 (toplevel) [HAVE_STRING_H]: Include string.h.
5168 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5169 (index): Remove prototypes which might conflict with non-standard
5170 definitions of index/strchr.
5171
5172 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5173 (rindex): Define only if !HAVE_RINDEX.
5174
5175 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5176
5177 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5178
87188200
MB
51792000-08-28 Miles Bader <miles@gnu.org>
5180
5181 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5182 made inconsistent by a font-related attribute in FROM.
5183 (merge_face_inheritance): Add function comment.
5184
41a68aef
KH
51852000-08-28 Kenichi Handa <handa@etl.go.jp>
5186
5187 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5188 the 4th arg (PREV_EVENT) Qt to suppress input method.
5189
f7c436c1
SM
51902000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5191
0b32bf0e
SM
5192 * regex.c: Indent cpp directives and remove parens after `defined'.
5193 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5194 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5195 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5196 (re_compile_pattern): Use size_t for length.
5197 (init_syntax_once): Move to a better place.
5198 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5199 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5200
f7c436c1
SM
5201 * syntax.c (back_comment): Detect cases where a comment-starter is
5202 actually inside another comment as in: /* a // b */ c // d \n.
5203 Make it clear that `comstart_pos' is unused for nested comments.
5204
5205 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5206 (KEYMAPP): New macro.
5207 (Fkeymap_parent, Fset_keymap_parent): Use it.
5208 (fix_submap_inheritance): Mark it static.
5209 (define_as_prefix, describe_buffer_bindings, describe_command)
5210 (describe_translation, describe_map): Complete prototypes.
5211
5212 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5213
5214 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5215 to better match the key-lookup behavior.
5216
6288c62f
GM
52172000-08-27 Gerd Moellmann <gerd@gnu.org>
5218
5219 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5220 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5221
e931344e
EZ
52222000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5223
5224 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5225 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5226 (xterm.o): Depend on coding.h
5227
d10dfeef
KH
52282000-08-26 Kenichi Handa <handa@etl.go.jp>
5229
5230 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5231 the corresponding '#endif'.
5232
2d73e8d3
MB
52332000-08-26 Miles Bader <miles@gnu.org>
5234
5235 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5236 * xfaces.c (QCinherit): New variable.
5237 (syms_of_xfaces): Initialize it.
5238 (LFACE_INHERIT): New macro.
5239 (Finternal_get_lisp_face_attribute)
5240 (merge_face_vector_with_property)
5241 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5242 (check_lface_attrs): Allow new types of face height. Check
5243 inherit attribute.
5244 (CYCLE_CHECK): New macro.
5245 (merge_face_inheritance): New function.
5246 (merge_face_vectors): Merge inherited faces too. Add F and
5247 CYCLE_CHECK arguments.
5248 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5249 (lookup_named_face, lookup_derived_face, realize_named_face)
5250 (face_at_string_position, face_at_buffer_position): Supply
5251 new F and CYCLE_CHECK arguments to merge_face_vectors.
5252 (merge_face_heights): New function.
5253 (merge_face_vectors, merge_face_vector_with_property)
5254 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5255 handle relative face heights.
5256 (lface_same_font_attributes_p): Compare heights using EQ.
5257
6ce974d4
KH
52582000-08-26 Kenichi Handa <handa@etl.go.jp>
5259
5260 * charset.c (char_to_string): Check the character validity.
5261 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
5262 0.
5263
dc1e502d
SM
52642000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5265
5266 * regex.c (PUSH_FAILURE_COUNT): New macro.
5267 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5268 Handle popping of a register's or a counter's data.
5269 (POP_FAILURE_POINT): Use the new name.
5270 (re_match_2_internal): Push counter data on the stack for succeed_n,
5271 jump_n and set_number_at and remove misleading dead code in succeed_n.
5272
bd9d0f3f
GM
52732000-08-25 Gerd Moellmann <gerd@gnu.org>
5274
5275 * xdisp.c (redisplay_internal): If considering all windows on all
5276 frames, update the display for each frame as soon as possible,
5277 instead of first building all desired matrices for all frames, and
5278 then updating them all.
5279 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5280
aa5b8e15
GM
52812000-08-24 Gerd Moellmann <gerd@gnu.org>
5282
17494071
GM
5283 * bytecode.c (mark_byte_stack): Add a comment.
5284
aa5b8e15
GM
5285 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5286 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
5287 a graphical frame.
5288
c543db81
KH
52892000-08-24 Kenichi Handa <handa@etl.go.jp>
5290
d246d5f5
KH
5291 * minibuf.c (do_completion): Always use compare-string, not
5292 string-equal because the latter doesn't pay attention to
5293 multibyteness of strings.
5294
c543db81
KH
5295 * process.c (create_process): Don't setup raw-text coding here.
5296 (Fopen_network_stream): Don't set coding->src_multibyte and
5297 coding->dst_multibyte here.
5298 (read_process_output): For process filter, return unibyte string
5299 if default-enable-multibyte-characters is nil.
5300 (send_process): If OBJECT is multibyte text, be sure to encoded it
5301 by the specified coding system for the process. Otherwise, setup
5302 raw-text coding.
5303 (init_process): Don't initialize default-process-coding-system
5304 here.
5305
9b47cfe0
EZ
53062000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5307
5308 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5309 <scroll-down-aggressively>: Likewise.
5310
f5a36960
KH
53112000-08-23 Kenichi Handa <handa@etl.go.jp>
5312
5313 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5314 zero. Set coding->produced_char correctly.
5315
69a7ffa7
AI
53162000-08-22 Andrew Innes <andrewi@gnu.org>
5317
5318 * makefile.w32-in: New file.
5319
5320 * unexw32.c (unexec): Ignore old_name, and use the actual location
5321 of the current executable instead. Base new_name on this.
5322
5323 * w32proc.c (create_child): Remove reference to security
5324 descriptor, which isn't needed and doesn't compile with mingw32.
5325
5326 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5327 up dllimport attributes.
5328 (x_update_window_end): Update prototype.
5329
5330 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5331 extern, which screws up dllimport attributes.
5332
5333 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5334 up dllimport attributes.
5335
5336 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5337 screws up dllimport attributes.
5338
5339 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5340 up dllimport attributes.
5341 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5342 screws up dllimport attributes.
5343
5344 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5345 up dllimport attributes.
5346
5347 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5348 screws up dllimport attributes.
5349
5350 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5351 screws up dllimport attributes.
5352
5353 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5354 up dllimport attributes.
5355
5356 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5357 unnecessary extern, which screws up dllimport attributes.
5358 (main): Ditto.
5359
5360 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5361 up dllimport attributes.
5362
5363 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5364 unnecessary extern, which screws up dllimport attributes.
5365
5366 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5367 screws up dllimport attributes.
5368
5369 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5370 up dllimport attributes.
5371
5372 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5373
5374 * w32bdf.c (search_file_line):
5375 (set_bdf_font_info):
5376 (seek_char):
5377 (w32_get_bdf_glyph):
5378 (w32_BDF_to_x_font): Fix compile warnings.
5379
5380 * w32menu.c: Include keyboard.h before frame.h. Fix compile
5381 warnings.
5382
5383 * w32select.c: Include keyboard.h before frame.h.
5384
5385 * w32fns.c (max): Define macro.
5386 (JOHAB_CHARSET): Define if not known.
5387 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5388 (Fx_show_tip): Synch with X version.
5389
5390 * w32xfns.c: Include keyboard.h before frame.h.
5391
5392 * w32fns.c: Include keyboard.h before frame.h.
5393
5394 * w32term.c: Include keyboard.h before frame.h.
5395
5396 * fontset.c: Include keyboard.h before frame.h.
5397
5398 * w32inevt.c: Include keyboard.h before frame.h.
5399 (MOUSE_MOVED): Define if not known.
5400
5401 * minibuf.c: Include keyboard.h before frame.h.
5402
5403 * keyboard.c: Include keyboard.h before frame.h.
5404
5405 * indent.c: Include keyboard.h before frame.h.
5406
5407 * dispnew.c: Include keyboard.h before frame.h.
5408
5409 * buffer.c: Include keyboard.h before frame.h.
5410
5411 * alloc.c: Include keyboard.h before frame.h.
5412
5413 * print.c: Include keyboard.h before frame.h.
5414
5415 * process.c: Include keyboard.h before frame.h.
5416
5417 * scroll.c: Include keyboard.h before frame.h.
5418
5419 * sysdep.c: Include keyboard.h before frame.h.
5420
5421 * term.c: Include keyboard.h before frame.h.
5422
5423 * window.c: Include keyboard.h before frame.h.
5424
5425 * xdisp.c: Include keyboard.h before frame.h.
5426 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5427
5428 * frame.c: Include keyboard.h before frame.h.
5429
5430 * w32heap.h: Undefine min, max.
5431
5432 * w32gui.h: Undefine min, max.
5433
5434 * unexw32.c: Change PUCHAR to PCHAR.
5435 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
5436 (relocate_offset):
5437 (get_section_info):
5438 (copy_executable_and_dump_data): Remove unnecessary static defs.
5439 (copy_executable_and_dump_data): Fix compile warnings.
5440
5441 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5442
5443 * w32console.c (min): Define macro.
5444 (clear_frame, write_glyphs): Fix compile warning.
5445
5446 * w32proc.c (compare_env):
5447 (find_child_console): Fix compile warning.
5448
5449 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5450 sys_errlist instead of _sys_errlist.
5451 (get_emacs_configuration_options): New function.
5452
5453 * s/ms-w32.h (sys_nerr): Provide default definition.
5454 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5455 name with _ prepended.
5456 (NSIG): Define if not known.
5457 (get_emacs_configuration): Provide extern declaration.
5458 (get_emacs_configuration_options): Provide extern declaration.
5459 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5460
5461 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
5462 (map_w32_filename):
5463 (read_unc_volume): Fix compile warning.
5464
5465 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5466 definitions from being used.
5467
5468 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5469
5470 * w32.c (unc_volume_file_attributes):
5471 (open_unc_volume): Make arg const.
5472
5473 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5474 (read_input_waiting): Remove excess parameter.
5475
5476 * w32.c (init_environment): Call _access.
5477 (check_windows_init_file): Call _close.
5478 (init_user_info): Call _putenv.
5479 (init_environment): Call _putenv and _strdup.
5480 (init_ntproc): Reset volume info cache on startup.
5481
5482 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5483 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5484 cannot override the CRT malloc.
5485
5486 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5487 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5488
5489 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5490 unless we are linking with a static CRT.
5491 (RVA_TO_PTR): Cast result to unsigned char*.
5492
5493 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5494 (add_volume_info): Use xstrdup.
5495
25060080
SM
54962000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5497
5498 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5499 (do_completion, Fminibuffer_complete_word): Use it.
5500 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5501 var so it can take non-boolean values.
5502
6917e6bb
GM
55032000-08-21 Gerd Moellmann <gerd@gnu.org>
5504
acb7cc89
GM
5505 * editfns.c (find_field): Formatting changes.
5506 (toplevel): Some old-style function forward declarations
5507 changed to prototypes, some new protypes added, some functions
5508 made static.
5509
5510 * lisp.h (set_time_zone_rule): Add prototype.
5511 (use_dialog_box): External declaration.
5512
0bbfdc25
GM
5513 * keyboard.c (gen_help_event): Add parameter SIZE.
5514 (kbd_buffer_events_waiting): Slightly rewritten.
5515 (clear_event): New function.
5516 (kbd_buffer_get_event): Use it, and clear the input_events of
5517 HELP_EVENTs.
5518 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5519 don't fill the newly created array with nils.
5520 (toplevel): Convert some old-style function forward declarations
5521 to prototypes.
5522
5523 * keyboard.h (gen_help_event): Change prototype.
5524
5525 * xterm.c (XTread_socket): Change calls to gen_help_event.
5526
5527 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5528
6917e6bb
GM
5529 * eval.c (Fmacroexpand): Doc fix.
5530
e5cd3d11
JR
55312000-08-20 Jason Rumney <jasonr@gnu.org>
5532
5533 * w32term.h (x_display_info_for_display): Remove as this function
5534 does not exist on W32.
5535
5536 * w32term.c (help_echo_window): New variable.
5537 (syms_of_w32term): staticpro it.
5538 (note_mode_line_highlight): Set it.
5539 (XTextExtents16): Removed as there is no equivalent on W32.
5540 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5541 the X way of doing this will not work for W32.
5542 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5543 (x_draw_image_foreground): Avoid drawing outside of the clip area
5544 when image doesn't have a mask.
5545 (note_mouse_highlight): Process overlays in the right order of
5546 priority. Set help_echo_window.
5547 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5548 because that's more visible for large images.
5549
5550 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5551 name to single_keymap_panes.
5552 (w32_menu_show): Set wv->title when dealing with titles.
5553 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5554
6e69ab8c
MB
55552000-08-21 Miles Bader <miles@gnu.org>
5556
5557 * minibuf.c (do_completion): Try again if we rewrite the input
5558 string, but no completion was done, so that any completion message
5559 will be correct.
5560
511bd4eb
GM
55612000-08-20 Gerd Moellmann <gerd@gnu.org>
5562
5563 * xfaces.c (lface_equal_p): Compare strings differently.
5564 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5565 (realize_tty_face): Use them.
5566 (syms_of_xfaces): Initialize new variables.
5567 (map_tty_color): New function, extracted from realize_tty_face.
5568 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5569 foreground or background color, store the new color name in the
5570 realized face; previous code trying to do this had no effect.
5571 (realize_tty_face): Use map_tty_color.
5572 (Fclear_face_cache): Set face_change_count and ensure thorough
5573 redisplay.
5574
1433385f
GM
55752000-08-19 Gerd Moellmann <gerd@gnu.org>
5576
511bd4eb
GM
5577 * undo.c (record_first_change, record_marker_adjustment): Don't
5578 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5579
419ac0a2
KH
55802000-08-18 Kenichi Handa <handa@etl.go.jp>
5581
5582 * coding.c (decode_coding_string): Set members consumed,
5583 consumed_char, produced, produced_char of *coding correctly. If
5584 decode_coding doesn't consume any byte, don't try anymore.
5585 (encode_coding_string): Likewise.
5586
7eb9e30d
GM
55872000-08-18 Gerd Moellmann <gerd@gnu.org>
5588
511bd4eb
GM
5589 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5590 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5591
5592 * xdisp.c (redisplay_internal): Compare windows for equality with
5593 EQ, instead of applying XWINDOW to something that might not
5594 be a window.
5595
dd34a735
KH
55962000-08-18 Kenichi Handa <handa@etl.go.jp>
5597
5598 * fontset.c (Finternal_char_font): Search only the selected frame
5599 for a window of the current buffer.
5600
385ff9e3
GM
56012000-08-18 Gerd Moellmann <gerd@gnu.org>
5602
511bd4eb 5603 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5604 Lisp_Objects.
5605
385ff9e3
GM
5606 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5607 second half of a HELP_EVENT is found at the start of kbd_buffer.
5608
d6abb4c7
MB
56092000-08-18 Miles Bader <miles@gnu.org>
5610
4618074a
MB
5611 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5612
d6abb4c7
MB
5613 * editfns.c (save_restriction_save): Rewrite to use markers.
5614 (save_restriction_restore): Rewrite to understand new form of data
5615 saved by save_restriction_save.
5616 (Fsave_restriction): Remove cautionary note in doc-string.
5617
a7b28523
GM
56182000-08-17 Gerd Moellmann <gerd@gnu.org>
5619
5620 * fileio.c (build_annotations): Add a comment explaining the
5621 return value of format-annotate-function. Replace a spurious call
5622 to Flength with a CONSP test. Call format-annotate-function with
5623 a fifth arg specifying how many times the function is been called
5624 in a row, to let it choose temporary buffers appropriately.
5625
03c9ed77
DL
56262000-08-17 Dave Love <fx@gnu.org>
5627
5628 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5629 declare make_temp_name twice.
5630
5631 * lread.c: Prototype readevalloop, load_unwind,
5632 load_descriptor_unwind.
5633 (unreadpure): Give it an arg.
5634
5635 * unexalpha.c: Prototype fatal_unexec, mark_x,
5636 update_dynamic_symbols. Declare unexec as void.
5637
5638 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5639 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5640
5641 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
5642 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
5643 DOUG_LEA_MALLOC.
5644
5645 * alloca.c: Use #error.
5646 [POINTER_TYPE]: Use it.
5647
5648 * eval.c (Fdefvar): Doc fix.
5649
5650 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5651 INITIALIZE_INTERVAL.
5652
5653 * buffer.h: Avoid DECLARE_INTERVALS.
5654
5655 * config.in: Add size_t.
5656
aae41d97
EZ
56572000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5658
5659 * w16select.c (set_clipboard_data): If there's not enough memory
5660 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5661 expects. In case of other failures, return 3.
5662 (system_error_msg): New error message.
5663 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5664 system_error_msg.
5665
65aa5e85
GM
56662000-08-16 Gerd Moellmann <gerd@gnu.org>
5667
5668 * term.c (write_glyphs): Also turn off inverse video after turning
5669 off other appearances in case TS_exit_attribute_mode is not equal
5670 to TS_end_standout_mode.
5671 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5672 with the same face.
5673 (turn_off_face): Reset standout_mode only if
5674 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5675 is equal to TS_end_standout_mode.
5676
ece23901
KH
56772000-08-16 Kenichi Handa <handa@etl.go.jp>
5678
9d7bcb2e
KH
5679 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5680 sequence at the end of the source block.
5681
ece23901
KH
5682 * ccl.c (Fccl_program_p): Docstring modified.
5683 (Fccl_execute): Likewise.
5684 (Fccl_execute_on_string): Likewise.
5685
5e30eaa2
EZ
56862000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5687
5688 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5689
290602fd
KH
56902000-08-16 Kenichi Handa <handa@etl.go.jp>
5691
5692 The following changes are mainly to fix bugs of
5693 encode/decode-coding-string failing if encoding/decoding return
5694 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5695 variable conversion_buffer.
5696
5697 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5698 decrement dst_end to avoid buffer overflow in the later call of
5699 string_as_multibyte
5700
5701 * coding.h (conversion_buffer_size, conversion_buffer)
5702 (get_conversion_buffer): Extern deleted.
5703
5704 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5705 (conversion_buffer, conversion_buffer_size): Variables deleted.
5706 (get_conversion_buffer): Function deleted.
5707 (struct conversion_buffer): New structure.
5708 (MAX_ALLOCA): New macro.
5709 (allocate_conversion_buffer): New macro.
5710 (extend_conversion_buffer, free_conversion_buffer): New functions.
5711 (ccl_coding_driver): Set coding->result.
5712 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5713 this is the last block of source.
5714 (encode_coding): Likewise. Handle the source block as the last
5715 one only when the whole source text is consumed.
5716 (decode_coding_string): Handle the case that the output buffer is
5717 too small to decode the whole source text. Use
5718 allocate_conversion_buffer, extend_conversion_buffer and
5719 free_conversion_buffer, not get_conversion_buffer.
5720 (encode_coding_string): Likewise.
5721 (init_coding): Function deleted.
5722 (init_coding_once): Delete code to initialize
5723 conversion_buffer_size.
5724
5725 * emacs.c (main): Don't call init_coding.
5726
5727 * msdos.c (IT_write_glyphs): Use a locally declared
5728 conversion_buffer.
5729
5730 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5731 (insert_glyphs): Likewise.
5732
5733 * w32console.c (write_glyphs): Use a locally declared
5734 conversion_buffer.
5735
b9f80d41
EZ
57362000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5737
5738 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5739 member of display_info is NULL.
5740
32dc52f7
GM
57412000-08-15 Gerd Moellmann <gerd@gnu.org>
5742
58ed0d3b
GM
5743 * alloc.c (compact_small_strings): Use safe_bcopy, add an
5744 assertion.
5745
32dc52f7 5746 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5747 appearances with capability `me'.
32dc52f7
GM
5748 (write_glyphs): Switch on inverse video before each face change.
5749
4eb22d33
DL
57502000-08-14 Dave Love <fx@gnu.org>
5751
5752 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5753 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5754 (lisp_free): Declare and make static.
5755
5756 * window.c: Fix embedded comment.
5757 (syms_of_window): Fix doc string.
5758
90cbf47e
GM
57592000-08-14 Gerd Moellmann <gerd@gnu.org>
5760
5761 * keymap.c (push_key_description): If C without modifiers is < 32,
5762 make sure to print `C-' before `M-', like in the manual.
5763
440fc135
GM
57642000-08-11 Gerd Moellmann <gerd@gnu.org>
5765
5766 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
5767 since they aren't relocated anymore.
5768 (sxhash_string): Make sure returned hash code fits in a Lisp
5769 integer.
5770
5771 * xdisp.c (try_cursor_movement): Fix handling of cursor in
5772 partially visible line which is smaller than the window's
5773 height.
5774
6e264fad
KH
57752000-08-11 Kenichi Handa <handa@etl.go.jp>
5776
5777 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
5778 the multibyte form of eight-bit-control characters.
5779 (Fccl_execute_on_string): Initialize ccl->multibyte.
5780
5781 * ccl.h (struct ccl_program): New member multibyte.
5782
5783 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
5784
c371f69a
KH
57852000-08-11 Kenichi Handa <handa@etl.go.jp>
5786
5787 * regex.c (regex_compile) <normal_char>: Pay attention to
5788 multibyteness.
5789 (analyse_first) <exactn>: Setup fastmap correctly for
5790 eight-bit-control characters.
5791
57922000-08-11 Kenichi Handa <handa@etl.go.jp>
5793
5794 * termhooks.h (enum event_kind): New member
5795 multibyte_char_keystroke.
5796
5797 * keyboard.c (make_lispy_event): Handle the new event type
5798 multibyte_char_keystroke.
5799
5800 * xterm.c: Include coding.h.
5801 (XTread_socket): Work around a bug of XmbLookupString. If the
5802 input is from XIM, decode it according to the current locale. In
5803 that case, generate multibyte_char_keystroke events.
5804
b8ddbe71
KH
58052000-08-11 Kenichi Handa <handa@etl.go.jp>
5806
5807 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
5808 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
5809
47589c8c
GM
58102000-08-10 Gerd Moellmann <gerd@gnu.org>
5811
5812 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
5813 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
5814 (move_it_in_display_line_to): Record iterator's ascent and descent
5815 before producing glyphs, and restore them when we know the glyph
5816 doesn't fit on the line.
5817 (move_it_to): Restructured so that it's easier to debug. If
5818 moving to a vpos, and not moving to an x or character position,
5819 stop as soon as the specified vpos is reached; don't move further
5820 into that line because that might change the computed line height.
5821 (try_cursor_movement): New function, extracted from the cursor
5822 movement branch of redisplay_window. If ending on a partially
5823 visible line, don't try to scroll if the cursor line is taller
5824 than the window.
5825 (redisplay_window): Use try_cursor_movement.
5826
5827 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
5828 because that function doesn't cope with variable-height lines.
5829
5830 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
5831 box cursor because that's better visible for large images.
5832
c51bacd6
MB
58332000-08-10 Miles Bader <miles@gnu.org>
5834
5835 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
5836
bea56df7
GM
58372000-08-10 Gerd Moellmann <gerd@gnu.org>
5838
5839 * xdisp.c (Vmessages_buffer_name): New variable.
5840 (message_dolog): Use it.
5841 (syms_of_xdisp): Initialize it.
5842
99cd7364
EZ
58432000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
5844
5845 * msdos.c (IT_note_mouse_highlight): Update the calls to
5846 overlays_at.
5847 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
5848 redundant now that keyboard.h is included.
5849
7d093d56
EZ
58502000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
5851
5852 * keyboard.c (kbd_buffer_events_waiting): New function.
5853
5854 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
5855
5856 * msdos.c: Include keyboard.h.
5857 (XMenuActivate): Empty no_event events from the event buffer. If
5858 no events are left after that, call clear_input_pending.
5859 (mouse_clear_clicks): New function, code moved from mouse_init.
5860 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
5861 mouse driver to ``forget'' any past clicks.
5862
5863 * Makefile.in (msdos.o): Depend on keyboard.h.
5864
41e757a6
GM
58652000-08-09 Gerd Moellmann <gerd@gnu.org>
5866
8e7bd231
GM
5867 * lisp.h (input_pending): External declaration.
5868
5869 * dispextern.h (Qredisplay_dont_pause): Declare extern.
5870
5871 * xdisp.c (echo_area_display): Display thoroughly if input is
5872 pending. Bind redisplay-dont-pause to t during the redisplay.
5873 in case input is pending.
5874
5875 * dispnew.c (Qredisplay_dont_pause): New variable.
5876 (syms_of_display): Initialize and staticpro it.
5877 (update_frame_1): Don't interrupt the display for pending input if
5878 redisplay_dont_pause is set.
5879
43028b7e
GM
5880 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
5881
41e757a6
GM
5882 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5883
2f2174fa
KH
58842000-08-09 Miles Bader <miles@lsi.nec.co.jp>
5885
5886 * callproc.c (Fcall_process): Terminate the unwind-protect around
5887 the post-read-conversion of coding system.
5888
0a6fd67e
MB
5889 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
5890 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
5891 * buffer.h (overlays_at): Update prototype.
5892 * xdisp.c (next_overlay_change): Update call to overlays_at.
5893 * xfaces.c (face_at_buffer_position): Likewise.
5894 * textprop.c (Fget_char_property): Likewise.
5895 * xterm.c (note_mouse_highlight): Likewise.
5896
0c80756e
MB
5897 * minibuf.c (do_completion): Don't consider a simple change of
5898 case as `completion'.
5899
975f250a
KR
59002000-08-08 Ken Raeburn <raeburn@gnu.org>
5901
b347b3fd
KR
5902 * keyboard.c (syms_of_keyboard): Initialize
5903 last_point_position_buffer.
5904 * undo.c (record_delete): Make sure last_point_position_buffer is
5905 a buffer before comparing pointers.
5906
5907 * coding.h (decode_coding_string): Declare.
5908
5909 * intervals.h (Fprevious_single_char_property_change): Declare.
5910
5911 * textprop.c (Fprevious_single_char_property_change): Don't do
5912 arithmetic directly on lisp objects.
5913
25ad1371 5914 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
5915 objects.
5916
5917 * keyboard.h (menu_item_eval_property): Declare.
5918
5919 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
5920 reuse as buffer name, instead of recreating (and discarding) every
5921 time a message is logged.
5922 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
5923 (current_message_1, truncate_message_1, set_message_1)
5924 (display_echo_area_1, resize_mini_window_1): Signatures changed.
5925 (current_message, truncate_echo_area, display_echo_area)
5926 (resize_echo_area_axactly): Changed calls.
b347b3fd 5927
975f250a 5928 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 5929 Lisp object.
975f250a 5930 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 5931 must be an integer, not a Lisp object.
975f250a 5932
46dc9912
KH
59332000-08-08 Kenichi Handa <handa@etl.go.jp>
5934
5935 * charset.c (Fchar_width): Doc fix.
5936
9f6d1a6c
GM
59372000-08-08 Gerd Moellmann <gerd@gnu.org>
5938
5939 * charset.c (Fstring_width): Doc fix.
5940
ff3d9573
GM
59412000-08-07 Gerd Moellmann <gerd@gnu.org>
5942
41e757a6 5943 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
5944 line, clear ascent and descent members of the iterator structure;
5945 the height of the continued line does not affect the height of the
5946 continuation line.
5947 (make_cursor_line_fully_visible): Do nothing if cursor is on a
5948 line taller than the window.
5949 (redisplay_window) <forced window start>: Handle case that the
5950 middle of the window is not found in any row.
5951 (dump_glyph_row): Show more information.
5952 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
5953 first text line in a glyph matrix.
5954
5955 * xterm.c (x_draw_image_foreground): Avoid drawing outside
5956 of the clip area when image doesn't have a mask.
5957
70fc58b3
GM
5958 * fns.c (sweep_weak_table): Fix survival conditions for
5959 key-or-value and key-and-value weakness.
5960
5961 * .gdbinit (xhashtable): New command.
5962
ac0e96ee
GM
5963 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
5964 tables out of the list of all weak hash tables.
5965
ff3d9573
GM
5966 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
5967 a new buffer is created, make sure echo_area_buffer[] references
5968 the new buffer.
5969
e0d8827b
EZ
59702000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
5971
5972 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
5973 the doc string.
5974
c6f35378
KH
59752000-08-07 Kenichi Handa <handa@etl.go.jp>
5976
5977 * syntax.c (skip_chars): Fix previous change. Make the handling
5978 of unibyte string consistent with that of regex search.
5979
1fd4c450
GM
59802000-08-05 Gerd Moellmann <gerd@gnu.org>
5981
e49aa397
GM
5982 * xmenu.c (popup_get_selection): Use xfree instead of free.
5983
5984 * fileio.c (Finsert_file_contents): Use xfree instead of free.
5985
5986 * editfns.c (Ftranspose_regions): Use xfree instead of free.
5987
5988 * callproc.c (child_setup): Use xfree instead of free.
5989
5990 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
5991 instead of malloc.
5992 (run_mac_command, closedir): Use `xfree' instead of `free'.
5993
5994 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
5995
5996 * eval.c (error): Use xfree instead of free.
5997
1fd4c450
GM
5998 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
5999
6000 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6001 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6002
82d497fc
KH
60032000-08-05 Kenichi Handa <handa@etl.go.jp>
6004
6005 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6006 conversion.
6007
59f953a2
NF
60082000-08-04 Noah Friedman <friedman@splode.com>
6009
6010 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6011 docstring.
6012
688351f2
GM
60132000-08-04 Gerd Moellmann <gerd@gnu.org>
6014
6015 * syntax.c (skip_chars): Fix typo in error message.
6016
2dad51cc
AS
60172000-08-04 Andreas Schwab <schwab@suse.de>
6018
6019 * m/ia64.h: Moved from s/ia64.h.
6020
99bb2c60
KH
60212000-08-04 Kenichi Handa <handa@etl.go.jp>
6022
082a1df2
KH
6023 * process.c (read_process_output): Big simplification. Handle
6024 composition and post-read-conversion of coding system correctly.
6025 (send_process): Handle composition correctly.
6026
6027 * callproc.c (Fcall_process): Handle post-read-conversion of
6028 coding system if any.
6029
99bb2c60
KH
6030 * coding.c (decode_coding_iso2022): More strict check for handling
6031 single shifting.
082a1df2
KH
6032 (coding_restore_composition): Pay attention to the case that
6033 cmp_data is not set properly (because of invalid code in the
6034 source text).
6035 (run_pre_post_conversion_on_str): Include text properties in the
6036 resulting string.
6037 (decode_coding_string): Set members of coding correctly.
99bb2c60 6038
f4988be7
GM
60392000-08-03 Gerd Moellmann <gerd@gnu.org>
6040
6041 * s/ia64.h: New file.
6042
6043 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6044 Use NULL instead of 0 at the end of variable argument list of
6045 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6046 sizeof (int) < sizeof (void *).
6047
6048 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6049 of variable argument lists of XtVaGetValues and XtVaSetValues.
6050
6051 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6052 variable argument lists of XtVaGetValues and XtVaSetValues.
6053
ead53494
GM
60542000-08-02 Gerd Moellmann <gerd@gnu.org>
6055
6056 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6057 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6058
6059 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6060 prototype.
6061
6062 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6063 in call to Fsingle_key_description.
6064
6065 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6066 Callers changed.
6067
60682000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6069
6070 * window.c (display_buffer_reuse_frames): New variable.
6071 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6072 frames displaying BUFFER.
6073 (syms_of_window): Define Lisp variable
6074 display-buffer-reuse-frames.
6075
10b0f752
MB
60762000-08-01 Miles Bader <miles@gnu.org>
6077
6078 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6079 when to constrain NEW_POS (they were pretty screwed up before).
6080
16425c4a
EZ
60812000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6082
6083 * msdos.c (run_msdos_command): Save and restore the master
6084 environment, for the case that child_setup signals an error.
6085 When mirroring slashes in DOS shell commands, don't fail when
6086 argv[2] has embedded blanks.
da288c14
EZ
6087 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6088 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6089 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6090
6091 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6092 using alloca; free it after run_msdos_command returns.
6093
27f73852
DL
60942000-07-27 Dave Love <fx@gnu.org>
6095
6096 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
6097 define.
6098 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
6099 working.
6100
6101 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6102
c0261b5e
EZ
61032000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6104
6105 * editfns.c (lisp_time_argument): Fix last change.
6106
b548072f
GM
61072000-07-27 Gerd Moellmann <gerd@gnu.org>
6108
3ab82477
GM
6109 * fns.c (Fdelete): Make it work on vectors and strings in addition
6110 to lists.
6111
b548072f
GM
6112 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6113 (syms_of_fns): Initialize new variables.
6114 (sweep_weak_table): Handle weakness `key-or-value' and
6115 `key-and-value'.
6116 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6117 weakness, with t meaning the same as `key-and-value'.
6118
91ae8751
KH
61192000-07-27 Kenichi Handa <handa@etl.go.jp>
6120
6121 * coding.h (struct coding_system): Member safe_charset deleted.
6122
6123 * coding.c (Qsafe_charsets): This variable deleted.
6124 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
6125 variables.
6126 (coding_safe_chars): New function.
6127 (CODING_SAFE_CHAR_P): New macro.
6128 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
6129 checking safe_charsets member of the coding system. Caller
6130 changed.
6131 (detect_coding_iso2022): New local variable safe_chars.
6132 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6133 safe_charsets member of the coding system.
6134 (decode_coding_iso2022): New local variable safe_chars.
6135 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6136 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6137 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6138 (ENCODE_UNSAFE_CHARACTER): New macro.
6139 (encode_coding_iso2022): New local variable safe_chars. Check
6140 unsafe chars.
6141 (setup_coding_system): Delete the code to initialize
6142 coding->safe_charses
6143 (intersection, find_safe_codings): New functions.
6144 (Ffind_coding_systems_region_internal): New function.
6145 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6146 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6147 variable and initialize it.
6148
6149 * fns.c (char_table_ref_and_index): New function.
6150
6151 * lisp.h (char_table_ref_and_index): Add prototype.
6152
34a7a267
SS
61532000-07-26 Sam Steingold <sds@gnu.org>
6154
6155 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6156 (Ffloat_time): New built-in Lisp function.
34a7a267 6157
a95cb10a
GM
61582000-07-26 Gerd Moellmann <gerd@gnu.org>
6159
3353ef5a
GM
6160 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6161 for the character code.
6162
6163 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6164 GNU/Linux.
6165
a95cb10a
GM
6166 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6167 if called for a popup menu.
6168 (xmenu_show): Store help string in widget values.
6169
b4a12321
DL
61702000-07-26 Dave Love <fx@gnu.org>
6171
6172 * syswait.h: Move some definitions.
6173 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6174 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6175 perspicuous definitions.
6176 (WTERMSIG): Fix bit pattern used.
6177
13f5ad37
KH
61782000-07-26 Kenichi Handa <handa@etl.go.jp>
6179
6180 * print.c (print_object): If vector printing is truncated, print
6181 "..." to indicate it as well as the case of list printing.
6182
070fe99c
GM
61832000-07-25 Gerd Moellmann <gerd@gnu.org>
6184
969065c3
GM
6185 * xdisp.c (next_element_from_display_vector): Improve comments.
6186
6187 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6188 for the character code, and the rest for the face id as in 20.x.
6189 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6190
6191 * window.c (window_display_table): Cleaned up.
6192
070fe99c
GM
6193 * syntax.c (Fforward_word): Add last arg nil in call of
6194 Fconstrain_to_field.
6195
bad77ef7
EZ
61962000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6197
969065c3 6198 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
6199 identical but for the letter-case, don't call
6200 barf_or_query_if_file_exists.
6201
c28da489
MB
62022000-07-25 Miles Bader <miles@gnu.org>
6203
6204 * editfns.c (find_field): Honor special `boundary' fields.
6205 (Qboundary): New variables.
6206 (syms_of_editfns): Initialize Qboundary.
6207 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6208 Use scan_buffer instead of find_before_next_newline, because it
6209 allows us to detect the boundary case where there's a newline at
6210 the search limit.
6211 * lisp.h (Fconstrain_to_field): Update external declaration.
6212
e3c31fd5
GM
62132000-07-24 Gerd Moellmann <gerd@gnu.org>
6214
6215 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6216 if that is nil.
c28da489 6217
c66c29a2
DL
62182000-07-24 Dave Love <fx@gnu.org>
6219
6220 * s/sunos4-0.h, s/sol2.h:
6221 (LIBS_TERMCAP): Move from m/sparc.h.
6222
6223 * m/sparc.h (TERMINFO): Moved to system files (probably only
6224 relevant for sunos4 judging by its vintage).
6225 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6226 __arch64__.
6227
fbe0a958
EZ
62282000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6229
6230 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6231 name to single_keymap_panes.
6232
7d88e5c9
AS
62332000-07-24 Andreas Schwab <schwab@suse.de>
6234
6235 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6236
e024b101
GM
62372000-07-24 Gerd Moellmann <gerd@gnu.org>
6238
6239 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6240 parameters instead of using int parameters. Expect FN to accept
6241 EMACS_INT parameters.
6242 (display_echo_area, resize_echo_area_axactly, current_message)
6243 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6244 with new argument list.
6245 (resize_mini_window_1): New callback function.
6246 (current_message_1, truncate_message_1, set_message_1): Change
6247 parameter lists to the new format expected by
6248 with_echo_area_buffer.
6249
25c1a9ce
KH
62502000-07-24 Kenichi Handa <handa@etl.go.jp>
6251
6252 * fontset.c (fontset_ref): Remove INLINE declaration.
6253 (fontset_ref_via_base): Likewise.
6254 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6255 to downcase.
6256
7f987ac0
EZ
62572000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6258
6259 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6260 correct order of priority. If help echo was found in an overlay,
6261 use that overlay as the object in which the help echo was found.
6262
e2db3069
MB
62632000-07-22 Miles Bader <miles@gnu.org>
6264
6265 * textprop.c (Fprevious_single_char_property_change): The initial
6266 property value should be from the position preceding POSITION, not
6267 following it.
6268
5e3203e4
EZ
62692000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6270
6271 * coding.c (syms_of_coding): Doc fix for
6272 inhibit-iso-escape-detection.
6273
62145073
GM
62742000-07-21 Gerd Moellmann <gerd@gnu.org>
6275
c20aeb83
GM
6276 * xterm.c (note_mouse_highlight): Process overlays in the right
6277 order of priority.
34a7a267 6278
743934db
GM
6279 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6280
6281 * xterm.c (note_mouse_highlight): If help-echo was found in an
6282 overlay, use that overlay as the object in which the help was
6283 found.
6284
d1dc7e43 6285 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6286
62145073
GM
6287 * window.c (foreach_window): Instead of a fake variable argument
6288 list, take one USER_DATA argument.
6289 (foreach_window_1): Likewise, and call callback functions with two
6290 args, the window and USER_DATA.
6291 (struct check_window_data): New struct.
6292 (check_window_containing): Use it.
6293 (window_from_coordinates): Set up a struct check_window_data for
6294 foreach_window.
6295 (add_window_to_list, freeze_window_start): Change parameters
6296 according to new calling convention.
6297
6298 * window.h (foreach_window): Change prototype.
6299
6300 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6301
63022000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6303
6304 * xmenu.c (menu_help_callback): Call show_help_echo with
6305 additional arguments OBJECT and POS.
6306
11270583
KH
63072000-07-21 Kenichi Handa <handa@etl.go.jp>
6308
07b14857
KH
6309 * data.c (Faset): Allow storing any multibyte character in a
6310 string. Convert unibyte string to multibyte if necessary.
6311
11270583
KH
6312 * xfns.c (x_encode_text): New function.
6313 (x_set_name): Use x_encode_text.
6314 (x_set_title): Likewise.
6315
6316 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6317
6318 * xterm.h (x_encode_text): Add prototype.
6319
bc75b4fd
DL
63202000-07-20 Dave Love <fx@gnu.org>
6321
6322 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6323 xfree, not free.
6324
48c14970
EZ
63252000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6326
6327 * msdos.c (help_echo_window): New variable.
6328 (syms_of_msdos): Initialize and staticpro it.
6329 (IT_note_mode_line_highlight): Set help_echo_window.
6330 (IT_note_mouse_highlight): Ditto.
6331 (dos_rawgetc): Store help_echo_window in the second event produced
6332 for HELP_EVENTs.
6333
6334 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6335 Record the object that generated the help echo and the position of
6336 that object in help_echo_object and help_echo_pos. Record that
6337 some glyphs in a row are displayed in mouse-face.
6338 (IT_update_begin): Don't clear mouse highlight unless one of the
6339 enabled glyph rows is marked as being displayed in mouse-face.
6340 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6341 and position recorded in help_echo_object and help_echo_pos to the
6342 event queue.
6343 (IT_menu_display): Accept a new argument PN: the pane number of
6344 the current menu pane. Record the pane number and the item
6345 number of the item which has associated help string.
6346 (XMenuActivate): Update the prototype for help_callback in
6347 function declaration. Call IT_menu_display with the current menu
6348 pane number as an additional argument. Call help_callback with
6349 two additional arguments: the pane number and the item number of
6350 the menu item associated with the help text.
6351 (help_echo_object, help_echo_pos): New variables.
6352 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6353
6354 * msdos.h (XMenuActivate): Update prototype.
6355
4279296d
GM
63562000-07-19 Gerd Moellmann <gerd@gnu.org>
6357
47db06aa
GM
6358 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6359 Add some more prototypes.
6360
6361 * xterm.c, xterm.h: Add some more prototypes.
6362
6363 * lisp.h (Fnext_single_char_property_change): Add prototype.
6364
6365 * dispnew.c (direct_output_for_insert): Remove confusing
6366 outer local variable mouse_face_overwritten_p.
6367 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6368
4279296d
GM
6369 * alloc.c (allocate_string_data): Don't copy old string contents.
6370
670acd62
KH
63712000-07-19 Kenichi Handa <handa@etl.go.jp>
6372
6373 * coding.c (code_convert_region): Delete text properties before
6374 shrinking the conversion region.
6375
7cea38bc
GM
63762000-07-18 Gerd Moellmann <gerd@gnu.org>
6377
dc1cac59
GM
6378 * dispnew.c (update_text_area): Write the whole row if it
6379 has mouse-face in it.
6380
85a8aca9
GM
6381 * xfaces.c (face-alternative-font-family-alist): Remove
6382 DEFVAR_LISP; staticpro instead.
6383
34a7a267 6384 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6385 new arguments.
6386
6387 * keyboard.c (show_help_echo): Add parameter WINDOW.
6388 (read_char): Call show_help_echo with window extracted from Lisp
6389 help event.
6390 (gen_help_event): Add parameter WINDOW.
6391
6392 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6393
6394 * xterm.c (help_echo_window): New variable.
6395 (note_mouse_highlight, note_tool_bar_highlight): Set
6396 help_echo_window.
6397 (XTread_socket): Pass help_echo_window to gen_help_event.
6398 (syms_of_xterm): Initialize and staticpro help_echo_window.
6399
f8276b77
DL
64002000-07-18 Dave Love <fx@gnu.org>
6401
6402 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
6403 systime.h.
6404
088831a6
GM
64052000-07-18 Gerd Moellmann <gerd@gnu.org>
6406
3d6cd763
GM
6407 * alloc.c (allocate_string_data): If string had already data
6408 assigned, copy old contents to new string data.
6409
6410 * coding.c (syms_of_coding): Fix typo in spelling of variable
6411 `inhibit-iso-escape-detection'.
6412
088831a6
GM
6413 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6414
6415 * Makefile.in: Add dependencies on dispextern.h.
6416 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6417 `free'; both can conflict with system header files.
6418
bc8a8d55
KH
64192000-07-18 Kenichi Handa <handa@etl.go.jp>
6420
6421 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6422 undefined.
6423
069f5950
DL
64242000-07-18 Dave Love <fx@gnu.org>
6425
6426 * window.c (Fwindow_list): Declare arg `window'.
6427
aa96c820
KH
64282000-07-18 Kenichi Handa <handa@etl.go.jp>
6429
6430 * coding.c (setup_coding_system): Don't override the explicitly
6431 specified designations.
6432
06be8d32
MB
64332000-07-15 Miles Bader <miles@gnu.org>
6434
6435 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6436 from `text_property_eq' and `text_property_stickiness', respectively.
6437 (find_field, Fconstrain_to_field, char_property_eq)
6438 (char_property_stickiness): Changed to call char-property functions
6439 instead of text-property-only ones.
6440
6441 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6442 `next_single_char_property_change'). Do more error checking, and
6443 cleanup limit behavior.
6444 (Fprevious_single_char_property_change): New function.
6445 (syms_of_textprop): Initialize new subrs.
6446
6447 * xdisp.c (display_prop_end, invisible_text_between_p):
6448 Call Fnext_single_char_property_change instead of
6449 next_single_char_property_change.
6450
3fddcdc3
JR
64512000-07-15 Jason Rumney <jasonr@gnu.org>
6452
6453 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6454 after menu is finished with.
6455 (add_menu_item): Only consider wv->title as a menu title.
6456 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6457
6458 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6459 null title.
6460 (FONT_REGEXP): Remove unused macro, and its sub-components.
6461 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6462
6463 * w32term.c (help_echo_object, help_echo_pos): New variables.
6464 (note_mode_line_highlight): Store additional information about the
6465 help-echo in help_echo_object and help_echo_pos. Check both
6466 `local-map' and `keymap' properties for changing the cursor
6467 (note_mouse_highlight): Store additional information about the
6468 help-echo in help_echo_object and help_echo_pos.
6469 (note_tool_bar_highlight): Set help_echo_object to nil and
6470 help_echo_pos to -1.
6471 (w32_read_socket): Use gen_help_event instead of filling
6472 input_events manually.
6473 (syms_of_w32term): Staticpro help_echo_object.
6474 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
6475 set, arrange for a mouse-highlight redisplay in
6476 XTframe_up_to_date.
6477 (x_clear_mouse_face): New function.
6478 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6479 (x_update_window_begin): No need to turn off the mouse
6480 highlight here.
6481 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6482 depending on whether they contain glyphs highlighted in
6483 mouse-face.
6484 (x_fill_stretch_glyph_string): Consume runs of stretch
6485 glyphs instead of a single one.
6486 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6487 with new argument list.
6488 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6489 (x_append_glyph, x_append_composite_glyph)
6490 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6491 changes in struct glyph starting 1999-12-27. See comments for
6492 xterm.c on 2000-07-05.
6493
178c5d9c
SS
64942000-07-14 Sam Steingold <sds@gnu.org>
6495
6496 * xfaces.c (realize_x_face): Fix the last patch:
6497 check `default_face' before dereferencing.
6498
6fe533f6
DL
64992000-07-14 Dave Love <fx@gnu.org>
6500
069f5950 6501 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6502
dd7b81cf
KH
65032000-07-14 Kenichi Handa <handa@etl.go.jp>
6504
0693904a 6505 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6506 default_face's fontset, not using the default fontset.
0693904a 6507
dd7b81cf
KH
6508 * coding.c (inhibit_iso_escape_detection): New variable.
6509 (syms_of_coding): Make it a Lisp variable.
6510 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6511 nonzero, ignore ISO2022's escape sequence.
6512
d5aa31d8
GM
65132000-07-14 Gerd Moellmann <gerd@gnu.org>
6514
e5acf0ca
GM
6515 * alloca.c (malloc) [emacs]: Define as xmalloc.
6516
bd23a692
GM
6517 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6518 use that instead of the mouse position. Add parameters DX and DY.
6519
6520 * dispextern.h (Fx_show_tip): Adjust number of parameters
6521 in prototype.
6522
9662da0b
GM
6523 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6524 if HELP is a function, call it with OBJECT and POS as parameters
6525 to get the help to display.
6526 (gen_help_event, kbd_buffer_store_help_event): New functions.
6527 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6528 (read_char): Call show_help_echo with new parameters.
6529
178c5d9c 6530 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6531 Add prototypes.
6532
6533 * xterm.c (help_echo_object, help_echo_pos): New variables.
6534 (note_mode_line_highlight): Store additional information about the
6535 help-echo in help_echo_object and help_echo_pos. Check both
6536 `local-map' and `keymap' properties for changing the cursor
6537 (note_mouse_highlight): Store additional information about the
6538 help-echo in help_echo_object and help_echo_pos.
6539 (note_tool_bar_highlight): Set help_echo_object to nil and
6540 help_echo_pos to -1.
6541 (XTread_socket): Use gen_help_event instead of filling
6542 input_events manually.
6543 (syms_of_xterm): Staticpro help_echo_object.
6544
6545 * xmenu.c (menu_highlight_callback): Use
6546 kbd_buffer_store_help_event instead of setting up and input_event
6547 structure manually.
6548
6549 * xdisp.c (eval_form): GCPRO argument sexpr.
6550 (call_function): New function.
6551 (handle_single_display_prop): Use call_function and FUNCTIONP
6552 instead of checking whether if font_height is a symbol and
6553 using eval_form.
6554
6555 * eval.c (internal_condition_case_2): New function.
6556
6557 * lisp.h (FUNCTIONP): New macro.
6558 (internal_condition_case_2, call_function): Add prototypes.
6559
d5aa31d8
GM
6560 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6561 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6562 Always set `arg' member of input_events.
6563 (construct_menu_click): Unused function removed.
6564
6565 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6566
6567 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6568 (construct_drag_n_drop, x_scroll_bar_handle_click)
6569 (w32_read_socket): Always set `arg' member of input_events.
6570
6571 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6572
6573 * lisp.h (eval_form): Add prototype.
6574
6575 * xdisp.c (eval_form): Make it externally visible.
6576
0f1a9b23
GM
65772000-07-13 Gerd Moellmann <gerd@gnu.org>
6578
6579 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6580 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6581 consing. For prefix events, store the frame in the `arg' slot of
6582 the event, otherwise store the key there.
6583 (XTread_socket): Instead of consing, use the frame_or_window slot
6584 of HELP_EVENTs for the frame, and the `arg' slot for the help
6585 string.
6586
6587 * xmenu.c (menu_highlight_callback): Store help string in the
6588 `arg' member of the input event; don't cons.
6589 (menubar_selection_callback): Use the `arg' slot of input events
6590 to queue additional information, instead of consing.
6591
6592 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6593
6594 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6595 TOOL_BAR_EVENTs.
6596 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6597
6598 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6599 input events to queue additional information, instead of consing.
6600
6601 * keyboard.c (kbd_buffer_gcpro): Renamed from
6602 kbd_buffer_frame_or_window. Now used for all Lisp objects
6603 referenced from the input queue.
6604 (kbd_buffer_store_event): Always use structure assignment for
6605 copying input events. Record all Lisp objects referenced from
6606 events in kbd_buffer_gcpro.
6607 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6608 differently from input events. Test for prefix menu_bar_events
6609 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6610 event in kbd_buffer_gcpro to nil.
6611 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6612 frame_or_window is equal to its arg member as prefix events.
6613 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6614 used by an input event to nil.
6615 (init_keyboard): Use two times the size of the input queue
6616 for kbd_buffer_gcpro.
6617 (syms_of_keyboard): Likewise.
6618
6619 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
6620 USER_SIGNAL_EVENT.
6621
6622 * termhooks.h (struct input_event): Add member `arg'.
6623 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6624 (USER_SIGNAL_EVENT): Renamed from user_signal.
6625
6626 * xfaces.c (ASET): Remove definition.
6627
6628 * lisp.h (AREF, ASET, ASIZE): New macros.
6629
6630 * fontset.c (AREF, ASIZE): Remove definitions.
6631
6632 * fns.c (AREF): Remove definition.
178c5d9c 6633
0f1a9b23
GM
6634 * composite.c (AREF): Remove definition.
6635
712eaef2
GM
66362000-07-12 Gerd Moellmann <gerd@gnu.org>
6637
d8ee7803
GM
6638 * dispnew.c (redraw_overlapped_rows): Add missing local.
6639 (scrolling_window): Remove debug code.
6640
712eaef2
GM
6641 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6642 Before scrolling, turn off a mouse-highlight in the window
6643 being scrolled.
6644
6645 * xterm.c (x_update_window_end): Add parameter
6646 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6647 redisplay in XTframe_up_to_date.
6648 (x_clear_mouse_face): New function.
6649 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6650
6651 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6652 current glyph row.
6653 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6654 it when any row is written to that contains glyphs highlighted in
6655 mouse-face.
6656 (update_window): Call the window update end hook with new
6657 parameter MOUSE_FACE_OVERWRITTEN_P.
6658 (direct_output_for_insert): Give up if row contains mouse-face.
6659
6660 * dispextern.h (struct redisplay_interface): Add parameter
6661 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6662 (clear_mouse_face): New function pointer member.
6663
02010917
SM
66642000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6665
6666 * syntax.c (back_comment): Use one switch rather than a few `if's.
6667 Obey open_paren_in_column_0_is_defun_start.
6668 When reverting to the `slow' method, try to nicely handle the case
6669 of nested comments by checking that the comment-starter we found
6670 does indeed match the comment-ender.
6671 (scan_sexps_forward, scan_sexps_forward):
6672 Ignore excessive opening parenthesis rather than throwing an error.
6673
d76c03ea
GM
66742000-07-11 Gerd Moellmann <gerd@gnu.org>
6675
6676 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6677 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6678
6679 * dispnew.c (direct_output_forward_char): Give up if currently
6680 displaying a message instead of the minibuffer contents.
6681
6682 * xterm.c (x_update_window_begin): No need to turn off the mouse
6683 highlight here.
6684 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6685 depending on whether they contain glyphs highlighted in
6686 mouse-face.
6687
6688 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6689 compare the mouse_face_p flags of both rows.
6690
6691 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6692
d55ead18
EZ
66932000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6694
6695 * keyboard.c (show_help_echo): Accept additional parameter
6696 ok_to_overwrite_keystroke_echo.
6697 (read_char): Call show_help_echo with a zero
6698 ok_to_overwrite_keystroke_echo argument.
6699 * keyboard.h (show_help_echo): Update prototype of
6700 show_help_echo.
6701 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6702 ok_to_overwrite_keystroke_echo argument.
6703 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6704 non-zero ok_to_overwrite_keystroke_echo argument.
6705
df75b1a3
GM
67062000-07-10 Gerd Moellmann <gerd@gnu.org>
6707
4b92c49a
GM
6708 * xdisp.c (try_window_id): If changes are all below what is
6709 displayed in the window, and point is in the window, we still
6710 might have to find point on the display.
6711
6712 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6713 glyphs instead of a single one.
6714 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6715 with new argument list.
6716 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6717
df75b1a3
GM
6718 * keymap.c (get_keymap_1): Add comment that this function can GC.
6719 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6720 comment that functions can GC.
6721 (Fset_keymap_parent): GCPRO arg KEYMAP.
6722
4314cf3e
EZ
67232000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6724
6725 * msdos.c (XMenuActivate): After exiting the menu, restore the
6726 echo area message and erase it.
6727
ab49ce15
KH
67282000-07-10 Kenichi Handa <handa@etl.go.jp>
6729
6730 * fontset.c (Ffontset_info): Make the return value more compatible
6731 with that of Emacs 20.
6732
090a072f
GM
67332000-07-07 Gerd Moellmann <gerd@gnu.org>
6734
6735 * eval.c (Fsignal): Handle case that backtrace_list is null.
6736
f92de4a6
KH
67372000-07-07 Kenichi Handa <handa@etl.go.jp>
6738
6739 * ccl.c (Fccl_execute): Typo fixed.
6740
dd8888a1
GM
67412000-07-06 Gerd Moellmann <gerd@gnu.org>
6742
e5c81191 6743 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6744
dd8888a1
GM
6745 * window.c (Fwindow_list): Reverse list at the end.
6746 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6747 means allow windows on OWINDOW's frame, only.
6748 (window_loop): Simplified; use Fwindow_list.
6749
6750 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6751
485266d0
GM
67522000-07-05 Gerd Moellmann <gerd@gnu.org>
6753
6754 * xterm.c (XTread_socket): Increment handling_signal at the start,
6755 decrement it at the end.
6756
6757 * eval.c (handling_signal): New variable.
6758 (Fsignal): Abort if handling_signal is non-zero.
6759
6760 * lisp.h (handling_signal): External declaration.
178c5d9c 6761
485266d0
GM
6762 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6763
80fcd514
KR
67642000-07-05 Ken Raeburn <raeburn@gnu.org>
6765
6766 Sound support for NetBSD through "Linux emulation" support:
6767 * config.in (HAVE_SOUNDCARD_H): Undef.
6768 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6769 * Makefile.in (LIBSOUND): New variable.
6770 (LIBES): Include it.
6771 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
6772 <soundcard.h>.
6773 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
6774 elsewhere.
6775 (vox_open): Use DEFAULT_SOUND_DEVICE.
6776 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6777
d5c5cddd
GM
67782000-07-05 Gerd Moellmann <gerd@gnu.org>
6779
6780 * print.c (print_error_message): If Vsignaling_function is set,
6781 show it in *Messages*.
6782
6783 * lisp.h (Vsignaling_function): External declaration.
6784
6785 * eval.c (Vsignaling_function): New variable.
6786 (Fsignal): Compute it.
6787 (syms_of_eval): Staticpro it.
6788
65171e3a
DL
67892000-07-05 Dave Love <fx@gnu.org>
6790
6791 * syswait.h: Use the autoconf recommended approach. Old code
6792 #if'd out in case we need to revert.
6793
178c5d9c 6794 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 6795
e2c46326
AI
67962000-07-05 Andrew Innes <andrewi@gnu.org>
6797
6798 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
6799 when non-NULL instead of __morecore, to take account of buffer
6800 memory. This also solves a problem with spurious memory warnings
6801 on Windows.
6802
6803 * ralloc.c: Make real_morecore non-static.
6804
6805 * eval.c (internal_condition_case): Comment out abort if
6806 interrupt_input_blocked is not zero.
6807
6808 * makefile.nt: Add support for `bootstrap' and related targets.
6809 Include minimal debug info in emacs.exe in release build.
6810 Remove all dependencies on lisp.h, and fixup some others.
6811
6812 * w32.c (init_environment): Install code from 20.7 for providing
6813 default values for environment variables, based on the
6814 executable's own location.
6815 (map_w32_filename): Handle filenames that are longer than
6816 MAX_PATH.
6817 (sys_socket): Install socket inheritance bug fix from 20.7.
6818
6819 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
6820 here via blockinput.h).
6821
a027a91b
SM
68222000-07-05 Stefan Monnier <monnier@cs.yale.edu>
6823
e4b31601
SM
6824 * w32menu.c (w32_menu_display_help):
6825 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
6826
6827 * keyboard.h (show_help_echo): Declare.
6828
6829 * keyboard.c (show_help_echo): New function, extracted from read_char.
6830 Feval its `msg' argument if it's a cons cell.
6831 (read_char): Use it.
4cf8d9d5 6832 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 6833
178c5d9c 6834 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 6835 (note_tool_bar_highlight, XTread_socket):
178c5d9c 6836 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
6837 (dos_rawgetc):
6838 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
6839 (note_tool_bar_highlight, w32_read_socket):
6840 Do not gratuitously ignore non-string `help-echo' properties.
6841
88d75730
GM
68422000-07-05 Gerd Moellmann <gerd@gnu.org>
6843
969f7e79
GM
6844 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
6845
71201b00
GM
6846 * window.c (delete_all_subwindows): Reset Vwindow_list.
6847
88d75730
GM
6848 * xterm.c (x_append_glyph, x_append_composite_glyph)
6849 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6850 changes in struct glyph starting 1999-12-27. Some bit-fields of
6851 struct glyph were not set, which made glyphs unequal when compared
6852 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
6853 effects were the result. This also depended on the contents of
6854 memory returned by xmalloc. If flickering happens again, activate
6855 the code in clear_glyph_row that's in #if 0. If the flickering is
6856 gone with that, chances are that it is caused by something
6857 similar.
6858
6859 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 6860
88d75730
GM
6861 * dispextern.h: Add some comments.
6862
6863 * window.c (add_window_to_list): Add parameter LIST.
6864 (window_list): Order list so that, for each frame, windows are
6865 in canonical order, and so that frames appear in the list in
6866 the order given by Vframe_list.
6867 (next_window): Reverse the handling of NEXT_P.
6868
53654733
GM
68692000-07-04 Gerd Moellmann <gerd@gnu.org>
6870
87efd256
GM
6871 * window.c (Vwindow_list): New variable.
6872 (make_window, delete_window): Set Vwindow_list to nil.
6873 (check_window_containing): New function.
6874 (window_from_coordinates): Rewritten.
6875 (add_window_to_list, window_list, candidate_window_p)
6876 (decode_next_window_args, next_window): New functions.
6877 (Fnext_window, Fprevious_window): Rewritten in terms of
6878 next_window.
6879 (Fwindow_list): New function.
6880 (Fother_window): Cleaned up.
6881 (foreach_window): Add a longer "variable argument list". Let
6882 callback function return 0 to indicate that cycling over windows
6883 should stop.
6884 (foreach_window_1): Likewise.
6885 (freeze_window_start): Return int.
6886 (init_window): New function.
6887 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
6888
6889 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
6890 input_event with bzero.
6891 (main): Call init_window.
6892
53654733
GM
6893 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
6894 a menu filter.
6895
4a8c194f
KH
68962000-07-04 Kenichi Handa <handa@etl.go.jp>
6897
6898 * composite.h (make_composition_value_copy): Extern it.
6899
6900 * composite.c (make_composition_value_copy): New function.
6901
6902 * editfns.c (Fformat): While copying text properties, make each
6903 composition property value a copy.
6904
6905 * fns.c (concat): While copying text properties, make each
6906 composition property value a copy.
6907
831a6cb0
GM
69082000-07-03 Gerd Moellmann <gerd@gnu.org>
6909
2f516940
GM
6910 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
6911
178c5d9c 6912 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
6913 marked already.
6914
831a6cb0
GM
6915 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
6916 include those frames as candidates which have their focus
6917 redirected to the minibuffer frame.
6918
d9c4f922
SM
69192000-07-03 Stefan Monnier <monnier@cs.yale.edu>
6920
6921 * fns.c (Fputhash): Return `value' rather than nil.
6922
3780bc22
GM
69232000-06-30 Gerd Moellmann <gerd@gnu.org>
6924
97d176db
GM
6925 * frame.c (next_frame): Don't check focus redirection in case
6926 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
6927 unless their focus is redirected, which contradicts the
6928 specification of next-frame, and leads to infinite loops in
6929 certain situations when cycling through windows with next-window.
6930
dca9961d
KH
69312000-06-30 Kenichi Handa <handa@etl.go.jp>
6932
6933 * coding.c (code_convert_region): Even if the length of text is
6934 zero, try to convert it if coding->type is coding_type_ccl.
6935 (decode_coding_string, encode_coding_string): Likewise.
6936
d5483ab1
GM
69372000-06-28 Gerd Moellmann <gerd@gnu.org>
6938
af5c25e1 6939 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 6940 the display if windows_or_buffers_changed.
af5c25e1
GM
6941
6942 * dispnew.c (struct row_entry): New structure.
6943 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
6944 (row_table_size, old_lines, new_lines, old_lines_size)
6945 (new_lines_size, run_pool, runs_size, runs): New variables.
6946 (add_row_entry): New function.
6947 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 6948 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
6949 holding them in local variables. Use a larger hash table whose
6950 size depends on glyph matrix sizes. Don't use bzero to clear the
6951 hash table; instead, clear used slots only.
6952
6953 * fns.c (next_almost_prime): Make it externally visible.
6954
6955 * lisp.h (next_almost_prime): Add prototype.
6956
d5483ab1
GM
6957 * s/isc4-0.h (sigunblock): Define.
6958
6959 * s/sco5.h (sigunblock): Define.
6960
93e40f40
DL
69612000-06-27 Dave Love <fx@gnu.org>
6962
6963 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
6964 (moved to osf5-0.h).
6965 [!NOT_C_CODE]: Protect string.h stuff.
6966
6967 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
6968 (sys_siglist, NSIG): Definitions moved here from osf1.h.
6969
3c4b7685
GM
69702000-06-27 Gerd Moellmann <gerd@gnu.org>
6971
97d176db 6972 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
6973 below the last line from the needed window height.
6974
32cad0aa
SM
69752000-06-26 Stefan Monnier <monnier@cs.yale.edu>
6976
6977 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
6978 (Fwidget_get): Use it.
6979 (syms_of_fns): Defsubr it.
6980
2c69ced2
GM
69812000-06-26 Gerd Moellmann <gerd@gnu.org>
6982
178c5d9c 6983 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
6984 display info for XIM.
6985 (xim_open_dpy): Likewise.
6986 (xim_close_dpy): Don't free the display info's XIM.
6987
6988 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
6989
6990 * config.in (USE_XIM): New define.
6991
3fc720e4
GM
6992 * keymap.c (get_keyelt): For menu-items containing a `:filter
6993 FILTER', apply FILTER to the menu-item's definition to get the
6994 real definition to use.
6995
6996 * lisp.h (QCfilter): External declaration.
6997
2c69ced2
GM
6998 * xfns.c (Fimage_size): New function.
6999 (syms_of_xfns): Defsubr it.
7000
f978b2a2
AS
70012000-06-26 Andreas Schwab <schwab@suse.de>
7002
7003 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7004 Fstring_as_unibyte.
7005
94cc7892
DL
70062000-06-25 Dave Love <fx@gnu.org>
7007
7008 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
7009 tgetnum.
7010
7011 * Makefile.in (blockinput.h): Depend on atimer.h.
7012 (atimer.h): Depend on systime.h.
7013
7014 * blockinput.h: Protect against multiple inclusion. Include
7015 atimer.h.
7016
7017 * atimer.h: Protect against multiple inclusion. Include
7018 systime.h.
7019
7020 * lisp.h (swap_in_global_binding): Declare.
7021
b8c24556
KR
70222000-06-24 Ken Raeburn <raeburn@gnu.org>
7023
7024 * process.c (Fopen_network_stream): Turn off atimers for duration
7025 of call to connect. (Patch from Gerd.)
7026
8cf8560b
DL
70272000-06-23 Dave Love <fx@gnu.org>
7028
511c7541
DL
7029 * ralloc.c: Maybe include unistd.h
7030
8cf8560b
DL
7031 * emacs.c (setgrp): Undefine before defining.
7032 (malloc_warning, set_time_zone_rule, index): Prototype.
7033
7034 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7035 HAVE_STRUCT_TIMEZONE.
7036
7037 * s/osf1.h: Move string.h hack here from alpha.h and make it
7038 conditional.
7039 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7040 _XOPEN_SOURCE.
7041 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7042 (SOCKLEN_TYPE): Don't define.
7043
7044 * m/alpha.h: Remove string.h hack.
7045
7046 * s/osf5-0.h: New file.
7047
7048 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7049 include time.h, done by systime.h.
7050 [__FreeBSD__]: Remove redundant includes.
7051
3fc720e4 7052 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7053 (delete_temp_file): Return Qnil to avoid warning.
7054
7055 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7056
7057 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7058 HAVE_X_WINDOWS.
7059
7060 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7061
7062 * composite.h (compose_text): Declare.
7063
7064 * xterm.c: Don't include sys/types.h unconditionally. Don't
7065 protect its inclusion with !USG (following xmenu.c).
7066
ea055732
GM
70672000-06-23 Gerd Moellmann <gerd@gnu.org>
7068
7069 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7070 in x_create_frame.
7071
74b01b80
EZ
70722000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7073
7074 * coding.c (decode_eol_post_ccl): Special handling for undecided
7075 and inconsistent EOL types.
7076
64f3a166
GM
70772000-06-22 Gerd Moellmann <gerd@gnu.org>
7078
16cf31f7
GM
7079 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7080 trough color and main window's background color.
7081
178c5d9c 7082 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
7083 differently.
7084
7085 * xterm.h (Xt_app_con): External declaration.
7086
7087 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7088
486a103d
GM
7089 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7090
64f3a166
GM
7091 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7092 (handle_invisible_prop): Record the start of invisible text in
7093 it->add_overlay_start.
7094 (struct overlay_entry): Add member `overlay'.
7095 (handle_overlay_change): Simplify.
7096 (next_overlay_string): After having processed overlay strings at the
7097 end of the buffer, record that fact in
7098 it->overlay_strings_at_end_processed_p.
7099 (compare_overlay_entries): If before- and after-strings come
7100 from the same overlay, let before-strings come first.
7101 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7102 (load_overlay_strings): Take it->add_overlay_start into account
7103 when adding overlay strings.
7104
7105 * dispextern.h (struct it): Add member add_overlay_start.
7106
bb746ea6
DL
71072000-06-22 Dave Love <fx@gnu.org>
7108
7109 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7110
7111 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7112
a8f573f3
KH
71132000-06-22 Kenichi Handa <handa@etl.go.jp>
7114
7115 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7116 is greater than 0.
7117
9f2bbc92
DL
71182000-06-21 Dave Love <fx@gnu.org>
7119
178c5d9c 7120 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7121
3ee5041c
SM
71222000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7123
7124 * syntax.c (back_comment): Simplify string-parity counting (with
7125 the added benefit of handling multiple string-styles as long as
7126 they are not intertwined).
7127 Jump to the slow code as soon as a comment starter is found in
7128 a "string_lossage" position. Fixes the case: " /* " /* " */.
7129
4c343001
DL
71302000-06-21 Dave Love <fx@gnu.org>
7131
7132 * Makefile.in: Use GETLOADAVG_LIBS.
7133
7134 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7135 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7136
e6365855
SM
71372000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7138
7139 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7140 (Fforward_comment, scan_lists):
7141 Check the comstyle of single-char comment-starters.
7142 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7143 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7144 Check the comstyle of single-char comment-starters.
7145 Clarify control-flow around the Scomment case.
e6365855 7146
5700d2cc
DL
71472000-06-20 Dave Love <fx@gnu.org>
7148
d355bd8a
SM
7149 * fns.c (make_hash_table, maybe_resize_hash_table):
7150 Cast arg of next_almost_prime.
5700d2cc 7151
178c5d9c 7152 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7153
7154 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7155 and unistd.h.
7156
4a27bdfb
GM
71572000-06-20 Gerd Moellmann <gerd@gnu.org>
7158
a61d762c
GM
7159 * keyboard.c (adjust_point_for_property): Check if display
7160 property should be treated as intangible by looking at its
7161 value.
7162
178c5d9c 7163 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7164 (display_prop_intangible_p): New functions.
7165
7166 * dispextern.h (display_prop_intangible_p): Add prototype.
7167
7168 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7169
4a27bdfb
GM
7170 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7171 argument to sigprocmask.
7172
7173 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7174 argument to sigprocmask.
7175
7176 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7177 sigprocmask_set, and pass a pointer to it to sigprocmask.
7178
7179 * sysdep.c (sigprocmask_set): New variable.
7180
7181 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7182 report_file_error.
7183
427ec082
SS
71842000-06-20 Sam Steingold <sds@gnu.org>
7185
7186 * xrdb.c: Don't declare xmalloc, xrealloc.
7187
8972fe79 71882000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7189
7190 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7191 (re_comp): Cast gettext return value to avoid complaints when
7192 !HAVE_LIBINTL.
7193
074b6efe
DL
71942000-06-20 Dave Love <fx@gnu.org>
7195
f85c008a
DL
7196 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
7197 HAVE_GETTIMEOFDAY.
7198
5700d2cc 7199 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7200
d355bd8a 7201 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7202
7203 * m/alpha.h: Don't declare xmalloc, xrealloc.
7204
0af4f205
DL
7205 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7206
7207 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7208
7209 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7210
7211 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7212 HAVE_GETWD.
7213
074b6efe
DL
7214 * keyboard.h (poll_for_input_1): Declare.
7215
7216 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7217
7218 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7219
7220 * doprnt.c: Don't declare xmalloc, xrealloc.
7221
7222 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7223 (getenv, ctime, getwd): Removed.
7224 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7225
7226 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7227 x_set_tool_bar_lines.
7228
7229 * config.in: Add HAVE_GETWD. Move some definitions above
7230 machine/system includes.
7231
68a5e97b
KH
72322000-06-20 Kenichi Handa <handa@etl.go.jp>
7233
95417e1e
KH
7234 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7235
68a5e97b
KH
7236 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7237 contain information about ENCODING.
7238
7239 * fontset.c (FONTSET_ASCII): Use the first element of char table
7240 for an ASCII font, not defalt slot.
7241 (fontset_ref_via_base): If FONTSET doesn't contain information for
7242 C, try the default fontset.
7243 (make_fontset): Don't copy the default fontset.
7244 (fontset_font_pattern): Likewise.
7245 (accumulate_font_info): If ELT is nil, use the corresponding
7246 element in the default fontset.
7247
3b4fa1b2
DL
72482000-06-19 Dave Love <fx@gnu.org>
7249
943e731c
DL
7250 * syntax.c (Fparse_partial_sexp): Doc fix.
7251
7252 * regex.h: Test PROTOTYPES as well as __STDC__.
7253
3b4fa1b2
DL
7254 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7255 errno, strerror. Put text after #endif in comment.
7256
7257 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
7258 pcc).
7259
7260 * xterm.c (x_frame_of_widget): Likewise.
7261
cdf0357b
GM
72622000-06-19 Gerd Moellmann <gerd@gnu.org>
7263
7264 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7265 to Vfundamental_mode_abbrev_table.
7266
7267 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7268 bogus objects are marked. This slows down GC by ~80 percent, but
7269 it might be worth trying when debugging GC-related problems.
7270 This feature requires conservative stack marking to be enabled.
7271
7272 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7273 returns XLookupChars, reset `modifiers' to zero.
7274
998e9f8c
DL
72752000-06-19 Dave Love <fx@gnu.org>
7276
7277 * mktime.c: Unprotoized.
7278
18e21ce8 72792000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7280
7281 * data.c (set_internal): If variable is frame-local,
7282 store the new value immediately into the frame parameter alist.
7283
140c4ac6
KR
72842000-06-19 Ken Raeburn <raeburn@gnu.org>
7285
14358466
KR
7286 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7287 in the custom handler pointer.
7288
140c4ac6
KR
7289 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7290 value, or checks for CHAR_META can fail when Lisp_Object is a
7291 union type.
7292 * keymap.c (get_keyelt): Likewise.
7293
10d7bf84
KH
72942000-06-19 Kenichi Handa <handa@etl.go.jp>
7295
7296 * ccl.h (struct ccl_program): New member eol_type.
7297 (struct ccl_spec): New member cr_carryover.
7298
7299 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7300 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7301
7302 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7303 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7304 (decode_eol_post_ccl): New function.
7305 (decode_coding): Don't detect EOL format here for CCL based coding
7306 systems.
7307 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7308 decode_eol_post_ccl after running the CCL program.
7309 (code_convert_region): Don't detect EOL format here for CCL based
7310 coding systems.
7311 (decode_coding_string): Likewise.
7312
52e386c2
KR
73132000-06-18 Ken Raeburn <raeburn@gnu.org>
7314
7315 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7316 when treating it as an integer.
7317
7318 * coding.h (encode_coding_string): Declare.
7319
7320 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7321 it as an integer.
7322
7323 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7324 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7325 to be passed to get_local_map.
7326
7327 * sound.c (Fplay_sound): Don't call make_number on
7328 Frun_hook_with_args count argument.
7329
7330 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7331 for lisp objects in X event structure data field, when lisp
7332 objects are represented with unions.
7333 (x_scroll_bar_to_input_event): Ditto.
7334
b357b9d4
KR
73352000-06-16 Ken Raeburn <raeburn@gnu.org>
7336
7337 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7338 termination of string. Fix sense of test whether
7339 Vline_number_display_limit is an integer.
b357b9d4 7340
a871441d
GM
73412000-06-16 Gerd Moellmann <gerd@gnu.org>
7342
a9021acd
GM
7343 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7344 only if HAVE_X_WINDOWS.
7345
6344985d
GM
7346 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7347 of titles.
7348
427ec082 7349 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7350 out of bounds.
7351
228b083e
EZ
73522000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7353
7354 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7355 of its headers.
7356
c25b53a2
KH
73572000-06-15 Kenichi Handa <handa@etl.go.jp>
7358
7359 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7360 start of the while loop.
7361
a6981b11
GM
73622000-06-15 Gerd Moellmann <gerd@gnu.org>
7363
e9924e52
GM
7364 * atimer.c (alarm_signal_handler): Add forward declaration.
7365
a6981b11
GM
7366 * data.c (set_internal): Remove debug code.
7367
25fa6deb
GM
73682000-06-14 Gerd Moellmann <gerd@gnu.org>
7369
dce6b995
GM
7370 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7371
9f817ea4
GM
7372 * unexec.c (toplevel) [COFF]: Include coff.h.
7373
7374 * s/lynxos.h: New file.
7375
7376 * keymap.c (Fsingle_key_description): Enclose function key and
7377 event symbol names in angle brackets.
7378
8a4e3c0c
GM
7379 * xdisp.c (setup_echo_area_for_printing): Call
7380 message_log_maybe_newline if message_buf_print is not set.
7381
7382 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7383 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7384 function does something useful even when message_buf_print is
7385 already set.
7386
25fa6deb
GM
7387 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
7388 variables.
7389 (ensure_echo_area_buffers): Initialize echo buffer's
7390 truncate lines setting to nil.
7391 (with_echo_area_buffer): Don't set the echo buffer's truncate
7392 lines setting here.
8a4e3c0c 7393 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7394 of message_truncate_lines.
7395 (resize_mini_window): Handle case that lines are truncated.
7396 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
7397 message-truncate-lines.
7398
7399 * keyboard.c (read_char): Bind message-truncate-lines to t
7400 while displaying a help-echo.
7401
7402 * lisp.h (Qmessage_truncate_lines): External declaration.
7403
163dcff3
GM
74042000-06-13 Gerd Moellmann <gerd@gnu.org>
7405
1681ead6
GM
7406 * xdisp.c (Vline_number_display_limit): Renamed from
7407 line_number_display_limit.
7408 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7409 Extend documentation string. Initialize
7410 Vline_number_display_limit to nil meaning no limit.
7411 (decode_mode_spec): Use Vline_number_display_limit with its new
7412 meaning.
7413
163dcff3
GM
7414 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7415
18e21ce8 74162000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7417
7418 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7419
163dcff3
GM
7420 * xfns.c (x_set_frame_parameters): Comment fix.
7421
7422 * frame.c (store_frame_param): Call swap_in_global_binding if the
7423 variable's current binding was chosen based on this frame.
7424
7425 * data.c (swap_in_global_binding): New function.
7426
a704139d
EZ
74272000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7428
7429 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7430 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7431
9b6610db
EZ
74322000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7433
7434 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7435
c68833d2
JR
74362000-06-12 Jason Rumney <jasonr@gnu.org>
7437
7438 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7439
7440 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7441
7442 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7443
7444 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7445
ed1056b3
GM
74462000-06-12 Gerd Moellmann <gerd@gnu.org>
7447
7448 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7449 (syms_of_xfaces): Defsubr Sdump_colors.
7450 (x_free_colors): Don't treat b&w specially on default visual.
7451 (x_free_dpy_colors): New function.
7452 (free_face_colors): Don't check visual class; it's done
7453 in x_free_colors.
7454
7455 * xterm.c (x_frame_of_widget): New function.
7456 (x_alloc_nearest_color_for_widget): Use it.
7457 (x_copy_dpy_color): New function.
7458 (x_destroy_window): Free various colors.
7459
5050a2ef
KH
74602000-06-12 Kenichi Handa <handa@etl.go.jp>
7461
7462 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7463
7464 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7465
7466 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7467
7468 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7469
7470 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7471
fb1b041d
DL
74722000-06-11 Dave Love <fx@gnu.org>
7473
7474 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7475
ff96b5f4
EZ
74762000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7477
7478 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7479
db8eeecd
GM
74802000-06-11 Gerd Moellmann <gerd@gnu.org>
7481
ed1056b3 7482 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7483 to `XEvent *'.
7484
49b71c5f
KH
74852000-06-10 Kenichi Handa <handa@etl.go.jp>
7486
c479bd55
KH
7487 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7488 (regex_compile): Fix the code for handling the case of single byte
7489 char and multibyte char being mixed in a range within [...].
7490
ff6a65c2
KH
7491 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7492 and dst_multibyte members of coding.
7493
49b71c5f
KH
7494 * charset.c (update_charset_table): Update the table
7495 bytes_by_char_head.
7496 (init_charset_once): Initialize elements of bytes_by_char_head to
7497 1 except for leading codes for private charases.
7498
7499 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
7500 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
7501 sequence.
7502
9e80b57d
KR
75032000-06-09 Ken Raeburn <raeburn@gnu.org>
7504
7505 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7506 access the data it doesn't point to.
7507
f83fe4b4
GM
75082000-06-08 Gerd Moellmann <gerd@gnu.org>
7509
7510 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7511 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7512 event queue. This is necessary because Emacs otherwise won't
7513 perform a switch-frame to a new frame until some other event, for
7514 example a keystroke event, forces it to do so. This has various
7515 effects, one visible being that the cursor of a frame created with
7516 C-x 5 2 or switched to with a window manager key binding like
7517 A-TAB stays hollow because selected_window isn't on the newly
7518 focused frame until the switch-frame is performed.
7519
7520 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7521 generating a switch-frame event if necessary.
7522
7523 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7524
7525 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7526 it's an integer.
7527
0890801b
KH
75282000-06-08 Kenichi Handa <handa@etl.go.jp>
7529
7530 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
7531 charset.
7532
173cbca8
GM
75332000-06-07 Gerd Moellmann <gerd@gnu.org>
7534
3091c2a6
GM
7535 * window.c (displayed_window_lines): Take empty lines at
7536 the bottom of a window into account.
427ec082 7537
f38952fe
GM
7538 * window.c (displayed_window_lines): New function.
7539 (Fmove_to_window_line): Use displayed_window_lines to determine
7540 the number of lines to move, instead of using the window's height.
7541
7542 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7543 to stop reading, even if the form read sets point to a different
7544 value when evaluated.
7545
427ec082 7546 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7547 put the cursor.
7548
6ba6c818
KH
75492000-06-07 Kenichi Handa <handa@etl.go.jp>
7550
7551 * fileio.c (e_write): Free composition data if stored in
7552 coding->cmp_data.
7553
5f1aea9a
GM
75542000-06-06 Gerd Moellmann <gerd@gnu.org>
7555
666852af
GM
7556 * xdisp.c (display_line): Set row's and iterator's
7557 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7558 Set cursor even if row ends in the middle of a character.
7559 (dump_glyph_row): Print values of new flags.
7560 (redisplay_window) <cursor movement in unchanged window>: When
7561 point has been moved forward, and PT is at the end of the cursor
7562 row, don't place the cursor in the next row if the cursor row ends
7563 in the middle of a character or at ZV.
7564
7565 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7566 (struct glyph_row): Add starts_in_middle_of_char_p and
7567 ends_in_middle_of_char_p.
7568 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7569 ends_in_middle_of_char_p flag.
7570 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7571
d13f3e2e
GM
7572 * term.c (append_glyph): Revert change of 2000-06-06.
7573
7574 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7575 padding glyph not fitting on line as whole character not
7576 fitting on line.
7577
5f1aea9a
GM
7578 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7579 this isn't true for images with `:ascent 100'.
7580
10cda9b0
KH
75812000-06-06 Kenichi Handa <handa@etl.go.jp>
7582
ed00559d
KH
7583 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7584 as modified if it is originally unmodified.
7585
10cda9b0
KH
7586 * term.c (encode_terminal_code): Change the way to check if
7587 terminal coding does any conversion.
7588 (append_glyph): Set glyph->pixel_width correctly.
7589
7590 * xdisp.c (display_line): While checking line continuation, pay
7591 attention to a padding glyph.
7592
1969fae2
GM
75932000-06-05 Gerd Moellmann <gerd@gnu.org>
7594
7595 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7596
162ccef4
DL
75972000-06-05 Dave Love <fx@gnu.org>
7598
f19f32dd
DL
7599 * xdisp.c: Include fontset.h.
7600
7601 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7602
7603 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7604
7605 * dispnew.c: Conditionally include term.h.
7606
7607 * coding.h: Declare code_convert_string_norecord.
7608
7609 * frame.h (struct frame): Use volatile unconditionally.
7610
7611 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7612
7613 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7614
7615 * systime.h: Protect against multiple inclusion.
7616 (timezone) [USG5_4]: Define as time_t.
7617
7618 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7619 (Foptimize_char_table, make_temp_name): Declare.
7620
7621 * Makefile.in (xdisp.o): Depend on fontset.h.
7622
7623 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7624
7625 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7626 (Foptimize_char_table, make_temp_name): Declare.
7627
427ec082 7628 * s/irix4-0.h:
162ccef4
DL
7629 * s/irix5-0.h:
7630 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7631
2082fe81
DL
76322000-06-02 Dave Love <fx@gnu.org>
7633
7634 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7635
dcf671d2
GM
76362000-06-02 Gerd Moellmann <gerd@gnu.org>
7637
7638 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7639 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7640 be freed.
7641
7642 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7643 glyph, use the ASCII NUL character to determine the face.
7644
d42122a3
DL
76452000-06-02 Dave Love <fx@gnu.org>
7646
7647 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7648 (VFORK_RETURN_TYPE): Remove.
427ec082 7649
d42122a3
DL
7650 * config.in: Add NO_MATHERR.
7651
dd432f16
DL
76522000-06-01 Dave Love <fx@gnu.org>
7653
90aa4ea8
DL
7654 * cmds.c (internal_self_insert): Don't check
7655 Vbefore_change_function, Vafter_change_function.
7656
7657 * insdel.c (signal_before_change, signal_after_change): Likewise.
7658
7659 * buffer.c (Vbefore_change_function, Vafter_change_function):
7660 Variables and their initializations deleted.
7661
2330c9d4
DL
7662 * callint.c (Fcall_interactively): Doc fix.
7663
dd432f16
DL
7664 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7665
bf9e8804
DL
76662000-05-31 Dave Love <fx@gnu.org>
7667
7668 * textprop.c: Revert last change -- duplicated.
7669
3694b4ab
GM
76702000-05-31 Gerd Moellmann <gerd@gnu.org>
7671
7672 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7673 in #if 0.
7674
7675 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7676
f14156cd
JR
76772000-05-31 Jason Rumney <jasonr@gnu.org>
7678
8119aab8
JR
7679 * search.c (Fre_search_forward, Fre_search_backward)
7680 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7681
f14156cd
JR
7682 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7683
4aab9be3
JR
76842000-05-30 Jason Rumney <jasonr@gnu.org>
7685
7686 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7687 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7688
7689 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
7690 member.
7691
7692 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7693 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7694 expand a nil default_filename.
7695
7696 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7697 pointer to glyph_to_pixel_coords, not a frame.
7698
7699 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7700 coding.h to dependencies.
7701
7702 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7703
7704 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7705 window pointer to be consistent with w32term.c and xterm.c.
7706
7707 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7708 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7709 (Qline_spacing, Qcenter): New variables.
7710 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7711 (x_set_line_spacing): New function.
7712 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
7713 macros.
7714 (x_specified_cursor_type): New function.
7715 (x_set_cursor_type): Use it.
7716 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7717 and icon strings.
7718 (validate_x_resource_name, x_get_resource_string): Measure lengths
7719 of external strings in bytes.
7720 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7721 GetTextExtentPoint32 with NULL title.
7722 (Fx_create_frame): Initialize Qline_spacing.
7723 (w32_load_system_font): Initialize font->double_byte_p.
7724 (x_to_w32_charset): Use Vw32_charset_info_alist.
7725 (Image, busy cursor, tooltip functions): Merged changes from
7726 xfns.c. Not yet functional on Windows.
7727
7728 * w32gui.h (W32FontStruct): Add double_byte_p member.
7729
7730 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7731 (emacs_button_translation): Use it.
7732 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7733 in `mask' to be set.
7734
7735 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7736 menu strings.
7737
7738 * w32term.c: Format and doc changes to bring closer to xterm.c.
7739 (w32_char_font_type): New enum.
7740 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7741 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7742 (w32_encode_char): New function.
7743 (x_encode_char): Removed.
7744 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7745 x_encode_char and w32_font_is_double_byte.
7746 (x_produce_image_glyph): Use image_ascent.
7747 (x_produce_glyphs): Use new version of w32_per_char_metric and
7748 handle NULL return value. Allow extra line spacing.
7749 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7750 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7751 w32_font_type member of glyph instead.
7752 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7753 (fast_find_position): Make sure not to consider rows not visible
7754 in the window.
7755 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7756 w32_menu_display_help with input blocked, as it can abort.
7757 (x_display_and_set_cursor): Choose cursor depending
7758 on buffer-local value of cursor_type.
7759 (x_draw_bar_cursor): Add parameter WIDTH.
7760
7761 * w32term.h (CP_DEFAULT): Define.
7762 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7763
10fc3187
GM
77642000-05-30 Gerd Moellmann <gerd@gnu.org>
7765
7766 * search.c (Fre_search_forward, Fre_search_backward)
7767 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7768
d0555360
KH
77692000-05-30 Kenichi Handa <handa@etl.go.jp>
7770
7771 * coding.c (detect_coding_iso2022): Fix code for checking
7772 CODING_CATEGORY_MASK_ISO_8_2.
7773
f1ad044f
SM
77742000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7775
7776 * regex.c (PREFETCH_NOLIMIT): New function.
7777 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7778
84ec3b4b
GM
77792000-05-29 Gerd Moellmann <gerd@gnu.org>
7780
66254a13
GM
7781 * syntax.c (find_defun_start): Move test for
7782 open_paren_in_column_0_is_defun_start outside of the loop.
7783
49e70dec
GM
7784 * xdisp.c (redisplay_window): Really switch buffers when
7785 displaying mode lines, and temporarily set selected_frame to the
7786 frame of the window that's redisplayed.
7787
84ec3b4b
GM
7788 * xfaces.c (free_realized_faces): Block/unblock input.
7789 (free_realized_multibyte_face): Ditto.
7790
869a3a14
DL
77912000-05-29 Dave Love <fx@gnu.org>
7792
7793 * textprop.c (Qkeymap): New variable.
7794 (syms_of_textprop): Intern it.
7795
7796 * keymap.c: Include intervals.h.
7797 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7798
7799 * Makefile.in (keymap.o): Depend on intervals.h.
7800
7801 * keyboard.c (menu_bar_items, tool_bar_items)
7802 (Fexecute_extended_command): Deal with `keymap' property.
7803 (read_key_sequence): Track map from `keymap' property as well as
7804 `local_map'.
7805
7806 * intervals.c (get_local_map): Extra arg to allow looking for
7807 `keymap' too.
7808
7809 * intervals.h (map_property): New enum.
7810 (get_local_map): Extra arg using it.
7811 (Qkeymap): Declare.
7812
84ec3b4b 7813 * lisp.h (get_local_map): Don't declare here.
869a3a14 7814
89d0c844
KH
78152000-05-29 Kenichi Handa <handa@etl.go.jp>
7816
7817 * Makefile.in (callproc.o): Depend on composite.h.
7818
7819 * callproc.c: Include composite.h.
7820 (Fcall_process): Handle composition correctly.
7821
7822 * coding.h (coding_allocate_composition_data): Extern it.
7823 (coding_restore_composition): Likewise.
7824
7825 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
7826 yet allocated, finish decoding with result
7827 CODING_FINISH_INSUFFICIENT_CMP.
7828 (coding_allocate_composition_data): Make it non-static.
7829 (coding_restore_composition): Likewise.
7830
797a084a
EZ
78312000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
7832
7833 * charset.c (syms_of_charset): Revert last change.
7834
cf872af5
EZ
78352000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7836
7837 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
7838 charsets as unibyte, with 1-column screen width. Sent by Kenichi
7839 Handa.
cf872af5 7840
5b1ae051
EZ
78412000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7842
7843 * charset.c (syms_of_charset): Set width of character sets
7844 eight-bit-control and eight-bit-graphic to 1 column.
7845
34ec9ebe
GM
78462000-05-26 Gerd Moellmann <gerd@gnu.org>
7847
7848 * config.in (HAVE_SPEED_T): New define.
7849
7850 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
7851 `extern speed_t'.
7852
dd854dc2
DL
78532000-05-26 Dave Love <fx@gnu.org>
7854
7855 * coding.c (shrink_decoding_region): Initialize eol_conversion.
7856
7857 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
7858 (Fsubr_arity): New function.
7859 (syms_of_data): Install them.
7860
ba9f8f95
KH
78612000-05-26 Kenichi Handa <handa@etl.go.jp>
7862
0f3e0672
KH
7863 * charset.c (init_charset_once): Set the table bytes_by_char_head
7864 correctly.
7865
cebefb44
KH
7866 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
7867 the default fontset to what Emacs uses by default.
0f3e0672
KH
7868 (check_registry_encoding): This function deleted.
7869 (Fset_fontset_font): Remove the adhoc condition for the default
7870 fontset. Allow cons in FONTNAME.
cebefb44 7871
0f3e0672
KH
7872 * fns.c (map_char_table): Ignore char-table entries for
7873 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 7874
7a18af49
KR
78752000-05-25 Ken Raeburn <raeburn@gnu.org>
7876
7877 * emacs.c (main): Initialize keyboard syms before initializing
7878 window code, so face names are available.
7879
d2af47df
SM
78802000-05-25 Stefan Monnier <monnier@cs.yale.edu>
7881
7882 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
7883 of an anchor at the beginning of a shy-group.
7884
fc6a6a4e
GM
78852000-05-25 Gerd Moellmann <gerd@gnu.org>
7886
7887 * xdisp.c (handle_invisible_prop): Don't try to skip over
7888 invisible text if end of text is already reached.
7889
005f0d35
DL
78902000-05-25 Dave Love <fx@gnu.org>
7891
02513cdd
DL
7892 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
7893
005f0d35
DL
7894 * coding.c (encode_eol): Add null statement after label.
7895
89f6ca4e
EZ
78962000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
7897
7898 * w16select.c (Fw16_set_clipboard_data): Fix the change from
7899 2000-05-20.
7900
a4e1759e
KH
79012000-05-25 Kenichi Handa <handa@etl.go.jp>
7902
7903 * ccl.c (ccl_driver): Fix previous change.
7904
eacfd7fe
KH
79052000-05-25 Kenichi Handa <handa@etl.go.jp>
7906
46ab33a9
KH
7907 * coding.c (run_pre_post_conversion_on_str): Set point to the
7908 beginning of buffer before calling coding->post_read_conversion.
7909 (decode_coding_string): Give correct args to
7910 run_pre_post_conversion_on_str.
7911 (encode_coding_string): Likewise.
7912
eacfd7fe
KH
7913 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
7914 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
7915 eight-bit-graphic correctly.
7916
f8569325
DL
79172000-05-24 Kenichi HANDA <handa@etl.go.jp>
7918
7919 * fileio.c (Finsert_file_contents): Even if a file is not found,
7920 execute codes for setting up coding system. Call
7921 after-insert-file-functions unconditionally.
7922
04545643
GM
79232000-05-24 Gerd Moellmann <gerd@gnu.org>
7924
7925 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
7926 BSD_PGRPS are not defined.
7927
747d90ea
KH
79282000-05-24 Kenichi Handa <handa@etl.go.jp>
7929
7930 * charset.c (update_charset_table): Accept nil in LONG_NAME and
7931 DESCRIPTION.
7932 (syms_of_charset): Avoid building same strings.
7933
716e3b88
GM
79342000-05-23 Gerd Moellmann <gerd@gnu.org>
7935
7936 * lread.c (Fload): Add a comment about the meaning of
7937 Vuser_init_file being t.
7938
7939 * puresize.h (BASE_PURESIZE): Increase to 675000.
7940
7941 * s/gnu-linux.h (setpgrp): Don't define it here because this
7942 prevents compilation on GNU/Linux systems with glib 2.2.
7943
7944 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
7945 as setpgid.
427ec082 7946
9aeb39fa
EZ
79472000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
7948
7949 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
7950 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
7951 version.
7952 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
7953
29ced61b
KH
79542000-05-23 Kenichi Handa <handa@etl.go.jp>
7955
0574a2ed
KH
7956 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
7957 unconditionally.
7958
3d80f24d
KH
7959 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
7960
7961 * term.c (encode_terminal_code): Set coding->src_multibyte
7962 properly.
7963
29ced61b
KH
7964 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
7965
d7e00792
KH
79662000-05-22 Kenichi Handa <handa@etl.go.jp>
7967
c9d80d38
KH
7968 * keyboard.c (read_char): Allow character codes 128..255 to be
7969 handled by input-method-function.
7970
d7e00792
KH
7971 * insdel.c (adjust_markers_for_replace): Fix previous change.
7972 (adjust_after_replace): If PREV_TEXT is nil, call
7973 adjust_markers_for_insert, not adjust_markers_for_replace.
7974
087121cc 79752000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 7976
087121cc
GM
7977 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
7978 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
7979 [HAVE_GRANDPT]: Define.
7980 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
7981
7982 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
7983 like SYSV_PTYS.
7984
7985 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
7986
7987 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
7988
c9671f81
KH
79892000-05-20 Kenichi Handa <handa@etl.go.jp>
7990
7991 The following changes are to handle 8-bit characters in a
7992 multibyte buffer/string without facing with byte combining
7993 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
7994 eight-bit-graphic (for 0xA0..0xFF) are introduced.
7995
7996 * Makefile.in (fns.o): Depend on charset.h.
7997
7998 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
7999 convert it to unibyte.
8000 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8001
8002 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8003 apparent char boundary.
8004 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8005 0x80..0x9F to/from multibyte form.
8006
8007 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8008 to unibyte.
8009
8010 * callproc.c (Fcall_process): Always encode an argument string if
8011 it is multibyte. Setup src_multibyte and dst_multibyte members of
8012 process_coding properly.
ce75fd23 8013
c9671f81
KH
8014 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8015 SPLIT_NON_ASCII_CHAR.
8016
8017 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8018 as is.
8019 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8020
8021 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
8022 variables.
8023 (SPLIT_CHARACTER_SEQ): This macro deleted.
8024 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
8025 valid.
8026 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8027 and eight-bit-graphic.
8028 (char_to_string): Likewise. Signal an error for too large
8029 character code.
8030 (char_printable_p): Return 0 for 8-bit characters.
8031 (update_charset_table): Update iso_charset_table only when a final
8032 character is non-negative.
8033 (find_charset_in_text): Renamed from find_charset_in_str.
8034 Arguments and return value changed. Callers changed.
8035 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8036 be -1 if CHARSET is used only internally.
8037 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8038 eight-bit-graphic.
8039 (Fcharset_after): Simplified.
8040 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8041 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8042 (multibyte_chars_in_text): Simplified by assuming there's no
8043 invalid multibyte sequence.
8044 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8045 str_as_unibyte): New functions.
8046 (Fstring): Simpified by assuming that byte combining never
8047 happens.
8048 (init_charset_once): Initialization for
8049 LEADING_CODE_8_BIT_CONTROL.
8050 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8051 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8052 eight-bit-control and eight-bit-graphic.
8053
8054 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
8055 CHARSET_8_BIT_GRAPHIC): New macros.
8056 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8057 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8058 (CHARSET_REVERSE_CHARSET): Likewise.
8059 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8060 eight-bit-graphic.
8061 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8062 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8063 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8064 encounter an invalid multibyte sequence.
8065 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8066 sequence is always valid.
8067 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
8068 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
8069 macros.
8070 (CHAR_STRING): For 8-bit characters, call char_to_string.
8071 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8072 multibyte sequence is always valid.
8073 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
8074 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8075 str_as_unibyte): Extern them.
8076 (BCOPY_SHORT): Fix a bug.
8077 (CHAR_LEN): This macro deleted. Callers changed to use
8078 CHAR_BYTES.
8079 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8080 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8081 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8082
bd4bde7f 8083 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
8084 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
8085 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
8086 EMIT_BYTES): New macros.
8087 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
8088 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
8089 macros deleted.
8090 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8091 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8092 check the validity of multibyte sequence.
8093 (decode_coding_emacs_mule): New function.
8094 (encode_coding_emacs_mule): New macro.
8095 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8096 the source.
8097 (DECODE_ISO_CHARACTER): Just return a character code.
8098 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8099 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8100 EMIT_CHAR to produced decoded characters. Exit the loop only by
8101 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8102 block here.
8103 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8104 only position codes for an invalid character.
8105 (encode_designation_at_bol): Return new destination pointer. 5th
8106 arg DSTP is changed to DST.
8107 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8108 from the source by ONE_MORE_CHAR. Don't handle the case of last
8109 block here.
8110 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8111 macros deleted.
8112 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
8113 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
8114 TWO_MORE_BYTES to fetch a byte from the source.
8115 (encode_eol): Pay attention to coding->src_multibyte.
8116 (detect_coding, detect_eol): Preserve members src_multibyte and
8117 dst_multibyte.
8118 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8119 (encoding_buffer_size): Set magnification to 3 for all coding
8120 systems that require encoding.
8121 (ccl_coding_driver): For decoding, be sure that the result is
8122 valid multibyte sequence.
8123 (decode_coding): Initialize coding->errors and coding->result.
8124 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8125 and raw-text, always call decode_eol. Handle the case of last
8126 block here. If not coding->dst_multibyte, convert the resulting
8127 sequence to unibyte.
8128 (encode_coding): Initialize coding->errors and coding->result.
8129 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8130 and raw-text, always call encode_eol. Handle the case of last
8131 block here.
8132 (shrink_decoding_region, shrink_encoding_region): Detect cases
8133 that we can't skip data more rigidly.
8134 (code_convert_region): Setup src_multibyte and dst_multibyte
8135 members of coding. For decoding, if the buffer is multibyte,
8136 convert the source sequence to unibyte in advance. For encoding,
8137 if the buffer is multibyte, convert the resulting sequence to
8138 multibyte afterward.
8139 (run_pre_post_conversion_on_str): New function.
8140 (code_convert_string): Deleted and divided into the following two.
8141 (decode_coding_string, encode_coding_string): New functions.
8142 (code_convert_string1, code_convert_string_norecord): Call one of
8143 above.
8144 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8145 MAKE_NON_ASCII_CHAR.
8146 (Fset_terminal_coding_system_internal,
8147 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
8148 and dst_multibyte members.
8149 (init_coding_once): Initialize iso_code_class with new enum
8150 ISO_control_0 and ISO_control_1.
8151
8152 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8153 devided into ISO_control_0 and ISO_control_1.
8154 (struct coding_system): New members src_multibyte, dst_multibyte,
8155 errors, and result. Delete member fake_multibyte.
8156 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8157 nonzero.
8158 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8159 nonzero.
8160
8161 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8162 (Faset): Likewise.
8163
8164 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8165 multibyte form.
8166 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8167 combining occurs.
8168 (Ftranspose_region): Delete codes for handling byte combining.
8169
8170 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8171 dst_multibyte members of coding. On handling REPLACE on unibyte
8172 buffer, convert the result of decode_coding to unibyte. On
8173 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8174 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8175 multibyteness of the source (buffer or string).
8176
8177 * fns.c (concat): Handle 8-bit characters correctly.
8178 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8179 unibyte in the result.
8180 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8181 valid multibyte form in the result.
8182 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8183 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8184 return -1, signal an error.
8185 (base64_encode_1): New arg MULTIBYTE. Get each character by
8186 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8187 character is found, return -1.
8188 (Fbase64_decode_region): Delete codes for handling byte-combining.
8189 Treat each decoded byte as a unibyte character.
8190 (Fbase64_decode_string): Return unibyte string.
8191 (Fcompare_strings, concat, string_byte_to_char): Use
8192 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8193 FETCH_STRING_CHAR_ADVANCE.
8194 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8195 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8196
8197 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8198 SPLIT_NON_ASCII_CHAR.
8199 (fontset_ref_via_base, fontset_set): Likewise
8200
8201 * insdel.c (adjust_markers_for_record_delete): Deleted.
8202 (adjust_markers_for_insert): Argument changed. Caller changed.
8203 (adjust_markers_for_replace): Likewise.
8204 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
8205 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
8206 (copy_text): Delete unused local varialbe c_save. For converting
8207 to multibyte, be sure to make all 8-bit characters in valid
8208 multibyte form.
8209 (count_size_as_multibyte): Handle 8-bit characters correctly.
8210 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8211 adjust_after_replace, replace_range, del_range_2)
8212 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
8213 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8214 adjust_after_replace, replace_range, del_range_2) Delete codes for
8215 handling byte combining.
8216 (adjust_before_replace): Deleted.
427ec082 8217
c9671f81
KH
8218 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8219 SPLIT_NON_ASCII_CHAR.
8220 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8221 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
8222 unconditionally.
8223 (Fkey_description): Likewise.
8224
8225 * lread.c (read1): On reading multibyte string, be sure to make
8226 all 8-bit chararacters in valid multibyte form.
8227 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8228
8229 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8230 unconditionally.
8231
8232 * process.c (Fstart_process): GCPRO current_dir before calling
8233 Ffind_operation_coding_system. Encode arguments here.
8234 (create_process): Don't encode arguments here. Setup
8235 src_multibyte and dst_multibyte members of struct coding.
8236 (read_process_output): Setup src_multibyte and dst_multibyte
8237 members of struct coding. If the output is to multibyte buffer,
8238 always decode the output of the process. Adjust the
8239 representation of 8-bit characters to the multibyteness of the
8240 output.
8241 (send_process): Setup coding->src_multibyte according to the
8242 multibyteness of the source.
8243
8244 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
8245 unconditionally.
8246 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8247 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8248
8249 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
8250 CHAR_LEN.
8251
8252 * w16select.c (Fw16_set_clipboard_data): Setup members
8253 src_multibyte and dst_multibyte of coding. Adjusted for the
8254 change for find_charset_in_str.
8255 (Fw16_get_clipboard_data): Likewise.
8256
8257 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8258 dst_multibyte of coding.
8259 (x_to_w32_font): Likewise.
8260
8261 * w32select.c (Fw32_set_clipboard_data): Setup members
8262 src_multibyte and dst_multibyte of coding. Adjusted for the
8263 change for find_charset_in_str.
8264 (Fw32_get_clipboard_data): Likewise.
8265
8266 * xdisp.c (get_next_display_element): Handle 8-bit characters
8267 correctly.
8268 (next_element_from_display_vector): Use CHAR_BYTES instead of
8269 CHAR_LEN.
8270 (disp_char_vector): Use SPLIT_CHAR instead of
8271 SPLIT_NON_ASCII_CHAR.
8272
8273 * xselect.c (selection_data_to_lisp_data): Setup members
8274 src_multibyte and dst_multibyte of coding. Adjusted for the
8275 change for find_charset_in_str.
8276 (lisp_data_to_selection_data): Likewise.
8277
5f64c9e0
GM
82782000-05-19 Gerd Moellmann <gerd@gnu.org>
8279
2b63d473
GM
8280 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
8281 buffer.
8282
5f64c9e0
GM
8283 * dispextern.h (Vimage_types): Add extern declaration.
8284
8285 * xdisp.c (Vimage_types): Moved here from xfns.c.
8286 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8287
8288 * xfns.c (Vimages_types): Moved to xdisp.c.
8289 (syms_of_xfns): Move `image-types' to xdisp.c.
8290
8291 * w32fns.c (Vimage_types): Removed.
8292 (syms_of_w32fns): Remove `image-types'.
8293
813086ea
KH
82942000-05-18 Kenichi Handa <handa@etl.go.jp>
8295
8296 * fns.c (map_char_table): Pay attention to character number of
8297 charset. Check the validity of charset at the first level. For
8298 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8299 the default value.
8300
8301 * fontset.c: Include "buffer.h".
8302 (fs_load_font): If the face has fontset, record the face ID in
8303 that fontset.
8304 (Finternal_char_font): New function.
8305 (accumulate_font_info): New function.
8306 (Ffontset_info): Rewritten for the new fontset implementation.
8307 (syms_of_fontset): Register Vdefault_fontset in the first element
8308 of Vfontset_table. Include Vdefault_fontset in
8309 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8310 function.
8311
bdaebbf0
DL
83122000-05-16 Dave Love <fx@gnu.org>
8313
8314 * m/iris5d.h: Deleted -- unused.
8315
cb613bb8
GM
83162000-05-16 Gerd Moellmann <gerd@gnu.org>
8317
b15f3b77
GM
8318 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8319 `invalid' instead of `illegal'.
8320
8321 * indent.c (Fmove_to_column): When ending within a tab, insert
8322 spaces first so that markers at the end of the tab get adjusted.
8323
835c1b36
GM
8324 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8325 buffer list that wasn't selected in that frame.
8326
cb613bb8
GM
8327 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8328 is needed on mescaline, use a 2 char prefix, and call
8329 make_temp_name with second arg non-zero.
8330
8331 * fileio.c (make_temp_name): New function, extracted from
8332 Fmake_temp_name.
8333 (Fmake_temp_name): Use it.
8334
f685bea9
EZ
83352000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8336
8337 * window.c (coordinates_in_window): Subtract 1 when computing
8338 right_x.
8339
a1b8d58b
GM
83402000-05-15 Gerd Moellmann <gerd@gnu.org>
8341
8342 * Makefile.in (lisp): Add env.elc.
8343
8344 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8345
a265079f
GM
83462000-05-12 Gerd Moellmann <gerd@gnu.org>
8347
8348 * search.c (Freplace_match): Handle case of `\N' in the
8349 replacement when there's no group N.
8350
da4496b6
GM
83512000-05-11 Gerd Moellmann <gerd@gnu.org>
8352
0ace421a
GM
8353 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8354 of the message to message_dolog.
8355
1172eb8d
GM
8356 * keyboard.c (read_char): Don't clear current message for help
8357 events; let the code handling help events handle this. Change
8358 code detecting help events that should be ignored.
8359
da4496b6
GM
8360 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8361 we're interating over a string.
8362
0623e40f
DL
83632000-05-09 Dave Love <fx@gnu.org>
8364
8365 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8366 that offset before writing. Move gcpro region past call of
8367 Ffile_regular_p.
8368
bae2503b
DL
83692000-05-04 Dave Love <fx@gnu.org>
8370
8371 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8372
ec82fb2f
GM
83732000-05-04 Gerd Moellmann <gerd@gnu.org>
8374
8375 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8376 of inserted characters when BUF equals the current buffer, and PT
8377 is in front of or equal to FROM.
8378
cbf18892
GM
83792000-05-03 Gerd Moellmann <gerd@gnu.org>
8380
4ff40dd0
GM
8381 * xdisp.c (handle_single_display_prop): If display property value
8382 is invalid, or something not supported on the frame, restore
8383 iterator's position to what it was initially. Make sure to return
8384 0 for invalid and unsupported property values.
8385
cbf18892
GM
8386 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8387 that x_per_char_metric returns null.
8388
1b0672c3
GM
83892000-05-02 Gerd Moellmann <gerd@gnu.org>
8390
576da55d
GM
8391 * xterm.h (struct face): Add forward declaration.
8392 (struct image): Ditto.
8393 (image_ascent): Add prototype.
8394
8395 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8396 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8397 image_ascent instead of using IMAGE_ASCENT.
8398
8399 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8400 (IMAGE_ASCENT): Removed.
8401
8402 * xfns.c (Qcenter): New variable.
8403 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8404 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8405 (image_ascent): New function.
8406 (lookup_image): Recognize `:ascent center'.
8407 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8408 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8409 (xbm_load): Don't set image's ascent here.
8410 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8411 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8412 check ascent values here.
8413 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8414 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8415 (syms_of_xfns): Initialize Qcenter.
8416
1b0672c3
GM
8417 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8418 to the limits, increase the limits.
8419
0d7811ed
KH
84202000-05-01 Kenichi Handa <handa@etl.go.jp>
8421
8422 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
8423 Check Vfont_encoding_alist against the full name of the opened
8424 font.
8425
a943a5ca
GM
84262000-04-28 Gerd Moellmann <gerd@gnu.org>
8427
8428 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8429 taller than the window.
8430
5dba1e29
KH
84312000-04-28 Kenichi Handa <handa@etl.go.jp>
8432
8433 * xfaces.c (realize_x_face): Fix the argument of the second
8434 xassert. BASE_FACE may not be a face for ASCII.
8435
353964e3
GM
84362000-04-27 Gerd Moellmann <gerd@gnu.org>
8437
c76e04a8
GM
8438 * print.c (print_object): Treat print-length < 0 as nil.
8439
8440 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8441
8442 * s/freebsd.h (TERMCAP_OBJ): Removed.
8443 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8444
8445 * lread.c (read1): Don't treat period followed by certain
8446 characters as symbol start.
8447
8448 * xfns.c (slurp_file): New function.
8449 (xbm_image_p): Handle case of in-memory XBM files.
8450 (xbm_scan): Rewritten to work on memory buffers instead of files.
8451 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8452 Work on memory buffers instead of files. If DATA is null test
8453 if buffer looks like an in-memory XBM file.
8454 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8455 memory buffers instead of files.
8456 (xbm_file_p): New function.
8457 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8458
353964e3
GM
8459 * lread.c (end_of_file_error): New function.
8460 (read1): Call it instead of signaling `end-of-file' directly.
8461
427ec082 8462 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8463 with Fprinc instead of Fprin1.
8464
24d744ac
KR
84652000-04-26 Ken Raeburn <raeburn@gnu.org>
8466
8467 * window.c (freeze_window_start): Check that minibuffer scroll
8468 window isn't nil before extracting the window structure pointer
8469 from it.
8470
8471 * undo.c (record_delete): If we hit the end of the undo list, stop
8472 picking elements apart.
8473
7464346d
GM
84742000-04-26 Gerd Moellmann <gerd@gnu.org>
8475
8476 * xdisp.c (display_line): If lines are continued, restore
8477 iterator's ascent/descent information to the values before the
8478 first glyph not fitting on the line.
8479
612839b6
GM
84802000-04-25 Gerd Moellmann <gerd@gnu.org>
8481
8482 * xdisp.c (try_window_id) <all changes above window start>: Adjust
8483 positions in glyph matrix. Don't compute new window end
8484 positions.
8485
8486 * dispnew.c (increment_matrix_positions): Renamed from
8487 increment_glyph_matrix_buffer_positions.
8488 (increment_row_positions): Renamed from
8489 increment_glyph_row_buffer_positions.
8490
8491 * dispextern.h: Change names of renamed functions from dispnew.c
8492 in prototypes.
8493
cc181e95
GM
84942000-04-24 Gerd Moellmann <gerd@gnu.org>
8495
abfcc168
GM
8496 * fileio.c (Fdo_auto_save): Create directories for auto-save
8497 list file if necessary.
8498
cc181e95
GM
8499 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8500 from buffer or frame.
8501 (automatic_hscrolling_p): New variable.
8502 (hscroll_windows): Scroll windows horizontally only if automatic
8503 hscrolling is allowed.
8504 (syms_of_xdisp): New variable `automatic-hscrolling'.
8505
8506 * frame.h (struct frame): Add member extra_line_spacing.
8507
8508 * xfns.c (x_set_line_spacing): New function.
8509 (Fx_create_frame): Set line spacing from resources.
8510 (Qline_spacing): New variable.
8511 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8512
cc181e95
GM
8513 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8514
8515 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8516 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8517 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8518 extra_line_spacing from default value.
8519 (init_buffer_once): Initialize default value of extra_line_spacing.
8520
8521 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8522 and extra3.
8523
8524 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8525 prompt_width. Add extra line spacing.
8526
8527 * term.c (produce_glyphs): Remove reference to struct it's
8528 prompt_width.
8529
8530 * dispextern.h (struct it): Remove member prompt_width, add
8531 extra_line_spacing.
8532
58827478
GM
85332000-04-22 Gerd Moellmann <gerd@gnu.org>
8534
8535 * dispnew.c (update_frame_line): When writing a whole line, make
8536 sure cursor is in the right row afterwards, otherwise a use of
8537 capability `ch' in cmgoto might leave the cursor in the row below.
8538
25a87f42
GM
85392000-04-21 Gerd Moellmann <gerd@gnu.org>
8540
8541 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8542
8543 * keyboard.c (timer_check): Fix typo in comment.
8544
54edf5c2
KH
85452000-04-21 Kenichi Handa <handa@etl.go.jp>
8546
8547 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8548 name change: ch -> character.
8549
3a64eef5
GM
85502000-04-20 Gerd Moellmann <gerd@gnu.org>
8551
8552 * keyboard.c (echo_message_buffer): New variable.
8553 (echo_now): Set echo_message_buffer to the echo area buffer used
8554 to display the echo.
8555 (cancel_echoing): Reset echo_message_buffer to nil.
8556 (read_char): Code rewritten that handles canceling an echo or
8557 echoing a dash, respectively.
8558
8559 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8560 directory doesn't exist.
8561
6142fdcb
DL
85622000-04-19 Dave Love <fx@gnu.org>
8563
8564 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8565 (concat): Don't allow numeric args.
8566 (Fconcat): Doc change.
6142fdcb 8567
ac6b5352
SM
85682000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8569
8570 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8571 instead define end_match(1|2) more carefully.
8572 Use GET_CHAR_BEFORE_2 for `begline'.
8573
cb9215e4
GM
85742000-04-19 Gerd Moellmann <gerd@gnu.org>
8575
5e3dac3f
GM
8576 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8577 on 64-bit systems where NULL is defined as `0'.
8578
8579 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8580 the `variable argument list' to make it work on Alpha.
8581
cb9215e4
GM
8582 * m/alpha.h (_LP64) [!_LP64]: Define.
8583 (ORDINARY_LINK): Define for NetBSD.
8584
8585 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8586
f532dca0
DL
85872000-04-19 Dave Love <fx@gnu.org>
8588
c750667e
DL
8589 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8590 change.
8591
8592 * Makefile.in (LIBS): Don't use.
8593 (GETLOADAVG_OBJ): Define again.
8594 (otherobj): Add GETLOADAVG_OBJ.
8595
f532dca0
DL
8596 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8597
1c7e22fd
GM
85982000-04-18 Gerd Moellmann <gerd@gnu.org>
8599
f6d3257b
GM
8600 * lread.c (read_filtered_event): Cancel and start busy cursor.
8601
427ec082 8602 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8603 that the per-character metrics may be null.
8604
e10f64e7
GM
86052000-04-17 Gerd Moellmann <gerd@gnu.org>
8606
0daee095
GM
8607 * buffer.c (clone_per_buffer_values): New function.
8608 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8609 clone_per_buffer_values if CLONE is not nil.
8610
e10f64e7
GM
8611 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8612
38687d43
DL
86132000-04-16 Dave Love <fx@gnu.org>
8614
8615 * Makefile.in: Remove obsolete localcpp stuff.
8616 (GETLOADAVG_OBJ): Don't define.
8617 (obj): Move LIBOBJS...
8618 (otherobj): ... to here.
8619 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8620 whitespace-only lines after the continuation (Irix).
8621
c21c7262
GM
86222000-04-14 Gerd Moellmann <gerd@gnu.org>
8623
8624 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8625
8626 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8627
314767c0
DL
86282000-04-14 Dave Love <fx@gnu.org>
8629
8630 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8631 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8632 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8633 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8634 NLIST_STRUCT.
8635
8636 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8637 autoconfiscated HAVE_GETLOADAVG.
8638
8639 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8640 BROKEN_MKTIME.
8641
a2522dca
GM
86422000-04-14 Gerd Moellmann <gerd@gnu.org>
8643
8644 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
8645 (fill_in_lock_file_name): Avoid existing files that aren't
8646 links.
8647
33744b5d
DL
86482000-04-14 Dave Love <fx@gnu.org>
8649
c21c7262 8650 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8651 (INTERVAL_SRC): Convert to make variable.
8652 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8653 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8654 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8655 add LIBOBJS.
8656 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8657 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8658 (shortlisp): Add facemenu, float-sup, frame.
8659 (SOME_MACHINE_LISP): Remove them from here.
8660 (LIBES): Change unused LDLIBS to autoconf LIBS.
8661
8662 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8663
9d3d5916
KH
86642000-04-14 Kenichi Handa <handa@etl.go.jp>
8665
8666 * composite.c (update_compositions): If FROM and TO are not in a
8667 valid range, do nothing.
8668
198e3c7a
GM
86692000-04-13 Gerd Moellmann <gerd@gnu.org>
8670
8671 * tparam.c (tparam1): Abort when encountering an unknown
8672 `%'-specifier.
8673
8674 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
8675 terminfo.o.
8676
8677 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8678 as TERMCAP_OBJ.
8679
055a28c9
EZ
86802000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8681
8682 * fileio.c (a_write): Remove redundant semi-colons.
8683 (e_write): Return -1 if failed to write all the data.
8684 This fixes the changes made at 1999-12-15.
8685
f5c75033
DL
86862000-04-12 Dave Love <fx@gnu.org>
8687
8688 * fns.c (mapcar1): Test for null vals to support mapc.
8689 (Fmapc): New function.
8690
0c3cfc51
EZ
86912000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8692
8693 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8694 (IT_frame_up_to_date): Support the buffer local value of
8695 cursor-type, if defined.
8696
33465a31
DL
86972000-04-10 Dave Love <fx@gnu.org>
8698
8699 * editfns.c (preceding-char, following-char): Doc fix.
8700
6ed56568
KR
87012000-04-10 Ken Raeburn <raeburn@gnu.org>
8702
8703 * Makefile.in (temacs): Revert 2000-03-12 change.
8704
7cf80d4e
JR
87052000-04-10 Jason Rumney <jasonr@gnu.org>
8706
8707 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8708
34f3f342
GM
87092000-04-10 Gerd Moellmann <gerd@gnu.org>
8710
1a1b1895
GM
8711 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8712 area buffer, if it's not set up yet.
8713
34f3f342
GM
8714 * indent.c (compute_motion): Set immediate_quit.
8715
be0dbdab
GM
87162000-04-09 Gerd Moellmann <gerd@gnu.org>
8717
c45be9ac
GM
8718 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
8719 variable.
8720 (realize_tty_face): Suppress boldness if colors are the inverse of
8721 the default colors, and tty_suppress_bold_inverse_default_colors_p
8722 is set.
8723 (Ftty_suppress_bold_inverse_default_colors): New function.
8724 (syms_of_xfaces): Defsubr it.
8725
be0dbdab
GM
8726 * buffer.c (Frestore_buffer_modified_p): New function.
8727 (syms_of_buffer): Defsubr it.
8728
e8413c3b
KR
87292000-04-08 Ken Raeburn <raeburn@gnu.org>
8730
87f67317
KR
8731 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8732 charset id (int) argument, not a charset (Lisp_Object).
8733
e8413c3b
KR
8734 * coding.h (code_convert_string): Declare.
8735 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8736 object, as the fourth argument to code_convert_string.
8737
8738 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
8739 value.
8740 (Fset_fontset_font): Use EQ to compare lisp objects.
8741
7c752c80
KR
87422000-04-05 Ken Raeburn <raeburn@gnu.org>
8743
c0333abc
KR
8744 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8745 a pointer that looks like a lisp object.
8746 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8747 zero, instead see whether it's an integer object, since they can't
8748 have intervals.
8749 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8750
7c752c80
KR
8751 * dispnew.c (allocate_matrices_for_frame_redisplay,
8752 direct_output_forward_char): Use X(U)INT and make_number as needed
8753 to convert between (unsigned) int values and lisp integers.
8754 * keyboard.c (read_key_sequence): Likewise.
8755 * lread.c (substitute_object_recurse): Likewise.
8756 * fns.c (concat, hash_lookup, hash_remove): Likewise.
8757 * minibuf.c (do_completion, Fminibuffer_complete_word,
8758 Fminibuffer_completion_help): Likewise.
8759 * term.c (produce_special_glyphs): Likewise.
8760
8761 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8762 * print.c (print_preprocess, print_object): Likewise.
8763
8764 * search.c (compile_pattern): Use NILP when checking for nil.
8765
74e49b38
KR
8766 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8767 __OPTIMIZE__]: Provide a GNU C macro version that handles
8768 lisp-object unions.
8769 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8770 field, to better cope with ENABLE_CHECKING and calls that modify a
8771 Lisp_Object using its old value.
8772
685e5ed2
GM
87732000-04-04 Gerd Moellmann <gerd@gnu.org>
8774
c407c570
GM
8775 * window.c (compare_window_configurations): Signal an error
8776 if parameters C1 or C2 aren't window configurations.
8777
685e5ed2
GM
8778 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8779 AFTER_POTENTIAL_GC calls around calls to functions that can
8780 signal an error and thus invoke the debugger.
8781
587a49ab
GM
87822000-04-03 Gerd Moellmann <gerd@gnu.org>
8783
62f20204
GM
8784 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8785 an error if decoding fails.
8786
587a49ab
GM
8787 * keyboard.c (lispy_mouse_names): Variable removed.
8788 (Vlispy_mouse_stem): New variable.
8789 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8790 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8791 for any mouse button number. Increase size of mouse_syms and
8792 button_down_location as needed. Call modify_event_symbol with
8793 different arguments.
8794 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8795 Call modify_event_symbol with different arguments.
8796 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8797 for any button number. Call modify_event_symbol with different
8798 arguments.
8799 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8800 Accept a string for NAME_ALIST_OR_STEM.
8801
8802 * lisp.h (larger_vector): Add prototype.
8803
8804 * fns.c (larger_vector): Make externally visible.
8805
8806 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8807
2d1675e4
SM
88082000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8809
8810 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8811 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8812 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8813 we are between str1 and str2.
8814 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8815 (PATFETCH): Use `TRANSLATE'.
8816 (PATFETCH_RAW): Fetch multibyte char if applicable.
8817 (PATUNFETCH): Remove.
8818 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8819 When writing a char, write it directly into the pattern buffer rather
8820 than going needlessly through a temp char-array.
8821 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8822 multibyte magic and remove the useless `#ifdef emacs'.
8823 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8824 buffer.
8825
8826 * regex.h (struct re_pattern_buffer): Make field `multibyte'
8827 conditional on `emacs'.
8828
8829 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
8830
cc2d8c6b
KR
88312000-04-01 Ken Raeburn <raeburn@gnu.org>
8832
8833 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
8834 non-union-type versions of XMARK and friends here, because XMARK
8835 and friends won't work on an integer field if NO_UNION_TYPE is not
8836 defined.
8837 (make_number): Define as a function if it's not defined as a
8838 macro.
8839
09654086
KR
8840 * composite.c (run_composite_function): Use NILP when checking for
8841 nil.
8842 (syms_of_composite): Delete local var NARGS, pass an int as first
8843 argument to Fmake_hash_table.
8844
2387b382
KR
8845 * editfns.c (text_property_stickiness): Use NILP to test
8846 Lisp_Object boolean value.
8847 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
8848 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
8849 problems reading from and changing the same lisp value in an
8850 XSETSTRING call.
8851
27660e89
GM
88522000-04-01 Gerd Moellmann <gerd@gnu.org>
8853
8854 * term.c (TN_no_color_video): New variable.
8855 (term_init): Intitialize TN_no_color_video.
8856 (enum no_color_bit): New enumeration.
8857 (MAY_USE_WITH_COLORS_P): New macro.
8858 (turn_on_face): Use it to determine if attributes may be used
8859 combined with colors.
8860
3578db3c
KR
88612000-04-01 Ken Raeburn <raeburn@gnu.org>
8862
8863 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
8864 with int lvalues via casts; instead, just yield lisp object
8865 lvalues.
8866 (enlarge_window): Variable sizep now points to Lisp_Object. Use
8867 proper accessor macros.
8868 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
8869 (grow_mini_window): Fix typo getting int value of root->height.
8870
6fc556fd
KR
8871 * xdisp.c (compute_string_pos): Fix order of arguments to
8872 string_pos_nchars_ahead.
8873 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
8874 count arg to variable-arg routines like Frun_hook_with_args and
8875 Fformat.
587a49ab
GM
8876 (back_to_previous_visible_line_start)
8877 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
8878 fixed-arg routines like Fget_char_property and Fmake_string.
8879 (reconsider_clip_changes): Use XINT when comparing integer lisp
8880 objects, or passing them as int arguments.
587a49ab
GM
8881 (mark_window_display_accurate, insert_left_trunc_glyphs)
8882 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
8883 storing or passing integer values as lisp objects.
8884 (set_cursor_from_row, highlight_trailing_whitespace): Use
8885 INTEGERP, not implicit test against zero, for glyph object.
8886 (try_window_id): Don't use make_number when we want an int value.
8887
8888 * xfaces.c (xlfd_symbolic_value): Make last argument a
8889 Lisp_Object, to be consistent with callers.
8890 (Fbitmap_spec_p): Use XINT to get numeric value of height.
8891 (lface_hash): Apply XFASTINT to lisp values before folding in.
8892
8893 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
8894 fill in window width and height. Pass an int, not a lisp object,
8895 as first arg to Finsert.
8896
6e7b2457
GM
88972000-04-01 Gerd Moellmann <gerd@gnu.org>
8898
610d841e
GM
8899 * xfaces.c (realize_basic_faces): Block input while realizing
8900 the faces.
8901
6e7b2457
GM
8902 * keyboard.c (lispy_mouse_names): Add additional mouse names.
8903
8904 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
8905
aa110c0c
GM
89062000-03-31 Gerd Moellmann <gerd@gnu.org>
8907
8908 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 8909 or ASCII, handle case that per-char metric is null.
aa110c0c 8910
8801a864
KR
89112000-03-30 Ken Raeburn <raeburn@gnu.org>
8912
c6129d7e
KR
8913 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
8914
8801a864
KR
8915 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
8916 XSUBR, XBUFFER): Verify correct object type before returning
8917 pointer, using eassert.
8918 * frame.h (XFRAME): Likewise.
8919
8920 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
8921 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
8922 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
8923 type.
8924 * data.c (set_internal): Likewise.
8925 * dispextern.h (WINDOW_WANTS_MODELINE_P,
8926 WINDOW_WANTS_HEADER_LINE_P): Likewise.
8927 * fileio.c (auto_save_1): Likewise.
8928 * insdel.c (check_markers): Likewise.
8929 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
8930 * undo.c (record_insert): Likewise.
8931 * vmsproc.c (child_sig): Likewise.
8932 * window.c (unshow_buffer, window_loop): Likewise.
8933 * xterm.c (x_erase_phys_cursor): Likewise.
8934
8e7af858
GM
89352000-03-30 Gerd Moellmann <gerd@gnu.org>
8936
8937 * xfns.c (free_image_cache): Free the cache structure itself
8938 last, after all its members have been freed.
8939
8940 * lisp.h (xstrdup): Add prototype.
8941
8942 * alloc.c (xstrdup): Moved here from xfaces.c.
8943 (allocating_for_lisp): Variable removed.
8944 (lisp_malloc): Block input around the calls to malloc and
8945 mem_insert.
8946
8947 * xfaces.c (realize_tty_face): Use find_symbol_value instead
8948 of Fsymbol_value.
8949 (xstrdup): Moved to alloc.c.
8950
e0b8c689
KR
89512000-03-29 Ken Raeburn <raeburn@gnu.org>
8952
b96f9fb7
KR
8953 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
8954
8955 * emacs.c (main): Fix sense of no-loadup test.
8956
e0b8c689
KR
8957 * config.in (ENABLE_CHECKING): Undef.
8958
8959 * lisp.h (struct interval): Replace "parent" field with a union of
8960 interval pointer and Lisp_Object; add new bitfield to use as
8961 discriminant. Change other flag fields to bitfields.
8962 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
8963 is defined and the supplied test fails, print a message and
8964 abort.
8965 (eassert): New macro. Use CHECK to provide an assert-like
8966 facility.
8967
8968 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
8969 pointers; abort if the value looks like a lisp object.
8970 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
8971 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
8972 Modify for new interval parent definition.
8973
8974 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
8975 UNMARK_BALANCE_INTERVALS): Update references that need an
8976 addressable lisp object in the interval structure.
8977 (die): New function.
8978 (suppress_checking): New variable.
8979
8980 * intervals.c (interval_start_pos): Just return 0 if there's no
8981 parent object.
8982
f83c5440
GM
89832000-03-29 Gerd Moellmann <gerd@gnu.org>
8984
8985 * lread.c (read1): Accept `.' (period) as symbol start like in CL
8986 and earlier Emacs versions.
8987
8988 * keyboard.c (Ftop_level): Cancel busy-cursor.
8989
8990 * eval.c (call_debugger): Cancel busy-cursor.
8991
fdce64ff
KH
89922000-03-29 Kenichi Handa <handa@etl.go.jp>
8993
8994 * search.c (Freplace_match): Adjust multibyteness of the current
8995 buffer and NEWTEXT. Free allocated memory before signaling an
8996 error.
8997
f6a3f532
SM
89982000-03-28 Stefan Monnier <monnier@cs.yale.edu>
8999
9000 * regex.c (analyse_first): New function obtained by ripping out most
9001 of re_compile_fastmap and generalizing it a little bit so that it
9002 can also just return whether a given (sub)pattern can match the empty
9003 string or not.
9004 (regex_compile): Use `analyse_first' to decide whether the loop-check
9005 needs to be done or not for *, +, *? and +? (the loop check is costly
9006 for non-greedy repetition).
9007 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9008
e9b309ac
DL
90092000-03-28 Dave Love <fx@gnu.org>
9010
bb15bd9a
DL
9011 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
9012 alpha.
9013
e9b309ac
DL
9014 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9015
ed0767d8
SM
90162000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9017
9018 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9019 an expression.
9020 (enum re_opcode_t): Update description of succeed_n.
9021 (PATFETCH): Always define.
9022 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9023 operators, char classes, shy-groups and intervals).
9024 Optimize special cases of intervals so as to only use succeed_n and
9025 jump_n when really needed.
9026 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9027 that we don't have to handle the special cases any more.
9028 Simplify on_failure_jump handling as well.
9029
e11e7e46
JR
90302000-03-28 Jason Rumney <jasonr@gnu.org>
9031
9032 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9033
88faab89
GM
90342000-03-27 Gerd Moellmann <gerd@gnu.org>
9035
182ff242
GM
9036 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9037
9038 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9039
182ff242
GM
9040 * alloc.c (mark_maybe_object): New function.
9041 (mark_memory): Use it.
9042 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9043 (setjmp_tested_p, longjmp_done): New variables.
9044 (test_setjmp): New function.
9045 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9046 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9047
c1005d06
GM
9048 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9049 to DEC_TEXT_POS and INC_TEXT_POS.
9050
9051 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9052 with parameter MULTIBYTE_P.
9053
427ec082 9054 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
9055 MULTIBYTE_P.
9056
7439e5b9 9057 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9058 buffers because it looks for multibyte character byte sequences
9059 which don't exist in unibyte text.
7439e5b9 9060
d9c545da
GM
9061 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9062
11fd416e 9063 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9064 [DEBUG_X_COLORS]: New functions.
9065 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9066
9067 * xfns.c (x_set_cursor_color): Get color reference counts right.
9068
9069 * xterm.c (x_copy_color): New function.
9070 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9071
9072 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9073 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9074 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9075 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9076 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9077 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9078 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9079 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9080 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9081 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9082
11fd416e
GM
9083 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9084 names for handling per-buffer variables.
d9c545da
GM
9085
9086 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9087 instead of MAX_BUFFER_LOCAL_VARS.
9088 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9089
9090 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9091
88faab89
GM
9092 * xfns.c (x_specified_cursor_type): New function.
9093 (x_set_cursor_type): Use it.
9094
9095 * buffer.h (struct buffer): Add cursor_type.
9096
d80f42b7
SM
90972000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9098
9099 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 9100 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 9101 opcode.
d80f42b7
SM
9102 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9103 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9104 executing it as well as when popping it off the stack to find infinite
9105 loops in non-greedy repetition operators.
9106
89e80928
GM
91072000-03-26 Gerd Moellmann <gerd@gnu.org>
9108
3d4ff2dd
GM
9109 * doc.c (Qfunction_documentation): New variable.
9110 (syms_of_doc): Initialize Qfunction_documentation.
9111 (Fdocumentation): If FUNCTION is a symbol with non-nil
9112 `function-documentation' property, return a documentation derived
9113 from that.
9114
bd96bd79
GM
9115 * buffer.c (syms_of_buffer): Add default-cursor-type.
9116 (init_buffer_once): Don't let cursor_type have a local value
9117 in every buffer.
9118
19d1bc27
GM
9119 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9120 on buffer-local value of cursor_type.
9121 (x_draw_bar_cursor): Add parameter WIDTH.
9122
9123 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9124 (init_buffer_once): Set default cursor_type value to t.
9125 Mark cursor_type as local everywhere.
9126 (syms_of_buffer): New per-buffer variable cursor-type.
9127
89e80928
GM
9128 * buffer.h (struct buffer): Remove member local_var_flags,
9129 add local_flags.
9130 (MAX_BUFFER_LOCAL_VARS): New macro.
9131 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9132 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9133 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9134 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9135
9136 * print.c (print_object): Use new macros for per-buffer
9137 variables.
9138
9139 * category.c (Fset_category_table): Use new macros for per-buffer
9140 variables.
9141
9142 * buffer.c (buffer_permanent_local_flags): Make a char array.
9143 (max_buffer_local_idx): New variable.
9144 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9145 for new handling of per-buffer variables.
9146 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9147 (init_buffer_once): Initialize per-buffer vars differently.
9148 Set max_buffer_local_idx.
9149
9150 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9151 variables.
9152
9153 * lread.c (defvar_per_buffer): Use new macros for per-buffer
9154 variables.
9155
9156 * data.c (do_symval_forwarding, store_symval_forwarding)
9157 (find_symbol_value, set_internal, default_value, Fset_default)
9158 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9159 per-buffer variables.
9160
9161 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9162
9a0dd3dc
GM
91632000-03-24 Gerd Moellmann <gerd@gnu.org>
9164
b68c375f
GM
9165 * xterm.c (x_term_init): Unblock input around call1 of
9166 Qvendor_specific_keysyms.
9167
9a0dd3dc
GM
9168 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9169 (find_defun_start): Consider an open parenthesis in column 0
9170 a defun start only if open_paren_in_column_0_is_defun_start is set.
9171 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9172
7973e637
SM
91732000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9174
9175 * eval.c (Fautoload): Add entry in load-history (if after dump).
9176 * lread.c (load-history): Update docstring.
9177
39210e90
GM
91782000-03-24 Gerd Moellmann <gerd@gnu.org>
9179
9180 * indent.c (Fvertical_motion): Always use the current buffer.
9181 Temporarily change the window's buffer, if necessary.
9182
72db3ab5
GM
91832000-03-23 Gerd Moellmann <gerd@gnu.org>
9184
9185 * xterm.c (fast_find_position): Make sure not to consider rows
9186 not visible in the window.
9187
990b2375
SM
91882000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9189
9190 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9191 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9192
ff4df011
JR
91932000-03-22 Jason Rumney <jasonr@gnu.org>
9194
9195 * w32menu.c (single_submenu): Set help string to NULL if none.
9196 (w32_menu_show): Set help string correctly.
9197 (add-menu-item): Set help string in MIIM_DATA for menu item.
9198 Load SetMenuItemInfoA explicitly.
9199 (w32_menu_display_help): New function.
427ec082 9200
ff4df011
JR
9201 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9202 (QCdata): Moved to xdisp.c.
9203
9204 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9205 (Vw32_charset_to_codepage_alist): Removed.
9206 (Vw32_charset_info_alist): New variable.
9207 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
9208 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
9209 greek, hebrew, thai, johab, mac, unicode]): New symbols.
9210 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9211 with TODO comment.
9212 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9213 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9214 Define Vw32_charset_info_alist and w32_charset symbols.
9215
92162000-03-22 Jason Rumney <jasonr@gnu.org>
9217
9218 * makefile.nt (w32bdf.obj): Update dependencies.
9219
9220 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9221
9222 * w32fns.c: Include fontset.h after dispextern.h.
9223 (Fx_create_frame): Do not create fontset.
9224 (w32_load_system_font): Doc fix.
9225 (Fx_close_connection): Free full_name if it is not shared.
9226
9227 * w32term.c: Include fontset.h after dispextern.h.
9228 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
9229 updated.
9230 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9231 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9232 (w32_font_is_double_byte): New function, needs body.
9233 (x_append_glyph): Set glyph->glyph_not_available_p.
9234 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9235 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9236 character, convert it to a unibyte character.
9237 (struct glyph_string): Delete member `charset'.
9238 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9239 calculating it is found.
9240 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9241 the case that per char metric is not available correctly.
9242 (x_fill_glyph_string): Handle the case that the specific glyph is
9243 not available correctly.
9244 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9245 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9246 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9247 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9248 fontset. Don't call FS_LOAD_FONT.
9249
439d5cb4
KR
92502000-03-22 Ken Raeburn <raeburn@gnu.org>
9251
9252 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9253 (INT_LISPLIKE): New macro.
9254 (NULL_INTERVAL_P): Use it.
9255 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
9256 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
9257 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
9258
9259 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9260 explicit references to "parent" field of struct interval and
9261 associated unclean type conversions.
9262 * intervals.c (create_root_interval, root_interval, rotate_right,
9263 rotate_left, balance_possible_root_interval, split_interval_right,
9264 split_interval_left, interval_start_pos, find_interval,
9265 next_interval, previous_interval, update_interval,
9266 adjust_intervals_for_insertion, delete_node, delete_interval,
9267 adjust_intervals_for_deletion, merge_interval_right,
9268 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
9269 copy_intervals_to_string): Likewise.
9270 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9271 Likewise.
9272 * syntax.c (update_syntax_table): Likewise.
9273
9274 * intervals.c (reproduce_tree_obj): New function, like
9275 reproduce_tree but takes a Lisp_Object for the parent. Declare
9276 with prototype.
9277 (graft_intervals_into_buffer): Use it when appropriate.
9278 (reproduce_tree): Declare with prototype.
9279 (balance_possible_root_interval): Check that the parent is a lisp
9280 object before trying to examine its type.
9281
ee1c5b21
GM
92822000-03-22 Gerd Moellmann <gerd@gnu.org>
9283
9284 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9285 as strings only if both are known to be strings.
9286
9287 * s/openbsd.h (LIBS_TERMCAP): Undef.
9288
1fb352e0
SM
92892000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9290
9291 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9292 definitions for non-Emacs compilation.
9293 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9294 outside of `#ifdef emacs'.
9295 (print_partial_compiled_pattern): Update.
9296 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9297 (re_compile_fastmap): Merge handling of charset and charset_not (for
9298 emacs and non-emacs compilation as well).
9299 Similarly for (not)categoryspec and (not)syntaxspec.
9300 Don't use the fastmap when reaching `anychar' since the added
9301 complexity is not justified.
9302 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9303 and (not)syntaxspec. Merge (not)categoryspec.
9304
fdaa1f77
KH
93052000-03-22 Kenichi Handa <handa@etl.go.jp>
9306
ff1a0d8e
KH
9307 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
9308 FACE_FOR_CHAR): Define them differently for the configuration of
9309 --without-x.
fdaa1f77 9310
d152fb46
DL
93112000-03-21 Dave Love <fx@gnu.org>
9312
9313 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9314 doc string.
9315
d2cafc8c
GM
93162000-03-21 Gerd Moellmann <gerd@gnu.org>
9317
9318 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9319 (lface_fully_specified_p): Don't check contents of
9320 LFACE_FONT_INDEX because that attribute is optional.
9321 (realize_x_face): Remove now unwarranted xassert.
9322
9111d4b5
KH
93232000-03-21 Kenichi HANDA <handa@etl.go.jp>
9324
9325 The following changes are to make font selection based on
9326 characters, not charset. In addition, they recover fontset
9327 facilities while utilizing the new font selection mechanism.
9328
6c4bfdc0
KH
9329 * Makefile.in (fontset.o): Depend on dispextern.h.
9330
9331 * alloc.c (mark_face_cache): Don't mark face->registry.
9332
9111d4b5
KH
9333 * dispextern.h (struct glyph): New member glyph_not_available_p.
9334 Use 22 bits for face_id.
9335 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9336 (struct face): Delete member registry, new member ascii_face.
9337 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9338 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9339 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
9340 (struct it): Delete member charset, new member
9341 glyph_not_available_p.
9342
9343 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9344 (struct fontset_info, struct fontset_data): Structs removed.
9345 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
9346 Vglobale_fontset_alist, font_idx_temp): Externs removed.
9347 (fs_load_font, fs_query_fontset): Adjusted for new argument.
9348 (fs_free_face_fontset, fontset_font_pattern,
9349 face_suitable_for_char_p, face_for_char,
9350 make_fontset_for_ascii_face): Extern them.
9351 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9352 (FS_LOAD_FACE_FONT): New macro.
9353
9354 * fontset.c: All codes rewritten or adjusted for the change of
9355 fontset implementation. Now fontset is represented by char table.
9356 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
9357 removed.
9358 (my_strcasecmp): Function removed.
9359 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
9360 variables.
9361 (AREF, ASIZE): New macros.
9362 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
9363 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
9364 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9365 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
9366 fontset_id_valid_p, font_family_registry, fontset_name,
9367 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
9368 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9369 New functions.
9370 (fs_load_font): New arg FACE. Caller changed.
9371 (fs_query_fontset): Argument changed. Caller changed.
9372 (Fquery_fontset): call fs_query_fontset.
9373 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9374 Functions removed.
9375 (clear_fontset_elements, check_registry_encoding,
9376 check_fontset_name): New functions.
9377 (syms_of_fontset): Set char-table-extra-slots property of fontset
9378 to 3. Staticpro and initialize Vfontset_table and
9379 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9380
9381 * frame.h (struct frame): Member `fontset_data' removed.
9382 (FRAME_FONTSET_DATA): Macro removed.
9383
9384 * frame.c (make_frame): Don't allocate f->fontset_data.
9385 (Fdelete_frame): Don't free f->fontset_data.
9386
6c4bfdc0
KH
9387 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9388
9111d4b5
KH
9389 * xdisp.c (charset_at_position): Function removed.
9390 (init_iterator): Don't set member charset of struct `it'.
9391 (handle_face_prop, reseat_to_string, set_iterator_to_next,
9392 next_element_from_display_vector, insert_left_trunc_glyphs):
9393 Likewise.
9394 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9395 FACE_FOR_CHARSET.
9396 (get_next_display_element, append_space,
9397 extend_face_to_end_of_line): Likewise.
9398
9399 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9400 Variables removed.
9401 (clear_font_table, frame_update_line_height, load_face_font):
9402 Adjusted for the change of fontset implementation.
9403 (load_face_fontset_font): Function removed.
9404 (pixel_point_size): New function.
9405 (font_list): Argument type changed. Caller changed.
9406 (LFACE_FONT): New macro.
9407 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9408 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9409 Lisp_Object. Determine the font name by actually loading a font
9410 by the specified pattern. Set LFACE_FONT (lface) to the specified
9411 pattern. Even if a font is not found, don't try alternatives.
9412 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9413 (set_font_frame_param): If `font' is specified in lface, use it.
9414 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9415 (lface_same_font_attributes_p): Likewise.
9416 (make_realized_face): Arguent changed. Caller changed. Set
9417 face->ascii_face to face itself.
9418 (free_realized_face): Free face->fontset if face is for ASCII.
9419 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
9420 deduce_unibyte_registry, x_charset_registry): Functions removed.
9421 (free_realized_multibyte_face): New function.
9422 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9423 changed. Caller changed.
9424 (try_font_list): Argument type changed.
9425 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9426 (choose_face_font): Argument changed. Handle fontset properly.
9427 (choose_face_fontset_font): Function removed.
9428 (realize_default_face, realize_named_face): Don't remove the
9429 former face here.
9430 (realize_face): Argument changed. Caller changed. Remove face
9431 with the arg former_face_id in advance. Load font for the new
9432 face.
9433 (realize_x_face): Argument changed. Caller changed. For a
9434 multibyte character, share fontset with base_face. For a single
9435 byte character, make a new realized fontset. Don't load a font
9436 here.
9437 (realize_tty_face): Argument changed. Caller changed.
9438 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9439 (face_at_buffer_position): Don't check multibyte_p for returning
9440 DEFAULT_FACE_ID.
9441 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9442 FACE_SUITABLE_FOR_CHARSET_P.
9443 (syms_of_xfaces): Remove code for Qx_charset_registry and
9444 Vface_default_registry.
9445
6c4bfdc0
KH
9446 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9447 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9448 (x_per_char_metric): Don't try FONT->default_char. Even if
9449 pcm->width is zero, glyph bits may exist.
9450 (x_encode_char): Always initialize char2b->byte1.
9451 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
9452 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
9453 changed.
9454 (x_append_glyph): Set glyph->glyph_not_available_p.
9455 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9456 it->charset. Handle the case that per char metric is not
9457 available. If it->multibyte_p is zero and it->c is a multibyte
9458 character, convert it to a unibyte character.
9459 (struct glyph_string): Delete member `charset'.
9460 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9461 the case that per char metric is not available correctly.
9462 (x_fill_glyph_string): Handle the case that the specific glyph is
9463 not available correctly.
9464 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9465 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9466 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9467 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9468 fontset. Don't call FS_LOAD_FONT.
9469
9470 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9471 (x_create_tip_frame): Likewise.
9472 (Fx_close_connection): Free full_name of font_info.
9473
9474 * fns.c (optimize_sub_char_table): New function.
9475 (Foptimize_char_table): New function.
9476 (syms_of_fns): Defsubr Soptimize_char_table.
9477
b33dd3b0
GM
94782000-03-20 Gerd Moellmann <gerd@gnu.org>
9479
9480 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9481 only if buffer is displayed in some window.
9482
9483 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9484 (try_window_reusing_current_matrix): Don't call scroll run
9485 function if run's current and desired position are the same;
9486 this prevents cursor flickering.
9487
4e8a9132
SM
94882000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9489
9490 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9491
9492 * regex.c (RE_STRING_CHAR): New macro.
9493 (GET_CHAR_AFER_2): Remove.
9494 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9495 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9496 (print_partial_compiled_pattern, re_compile_fastmap)
9497 (re_match_2_internal): Remove on_failure_jump_exclusive.
9498 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9499 optimization only need to work for * (ie. can use of_keep_string_jump).
9500 Remove the special case for .*\n since it is now covered by the general
9501 optimization.
9502 (re_search_2): Don't bother with `room'.
9503 (skip_one_char): New function.
9504 (skip_noops): Simplify since `memory' is not needed any more.
9505 (mutually_exclusive_p): Restructure slightly to use `switch' and
9506 add handling for "all" remaining cases.
9507 (re_match_2_internal): Change on_failure_jump_smart to use
9508 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9509 rather than on_failure_jump_exclusive.
9510
2136fdd4
GM
95112000-03-19 Gerd Moellmann <gerd@gnu.org>
9512
9513 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9514 number of bits per RGB because it's everywhere used as the depth
9515 of the visual.
9516
9517 * term.c (calculate_costs): Remove code dealing with X frames.
9518
18e21ce8 95192000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9520
9521 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9522
d7b511c4
GM
95232000-03-18 Gerd Moellmann <gerd@gnu.org>
9524
9525 * lread.c (read_integer): Unread the last char not consumed.
9526
16b5d424
GM
95272000-03-17 Gerd Moellmann <gerd@gnu.org>
9528
9529 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9530 which are in the process of being deleted.
16b5d424 9531
1fa28578
GM
95322000-03-16 Gerd Moellmann <gerd@gnu.org>
9533
83488cce
GM
9534 * Makefile.in (mostlyclean): Add `*.core'.
9535 (clean): Add `bootstrap-emacs'.
9536
1fa28578
GM
9537 * lread.c (read_integer): New function.
9538 (read1): Support read syntax #o, #x, #b, #r.
9539
99633e97
SM
95402000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9541
1fa28578
GM
9542 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9543 make sure POINTER_TO_OFFSET gives the same value before and after
9544 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9545 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9546 (debug): Now only active if > 0 rather than if != 0.
9547 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9548 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9549 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9550 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9551 (store_op1, store_op2, insert_op1, insert_op2)
9552 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9553 (group_in_compile_stack): Move to after its arg's types are
9554 declared and add a prototype.
99633e97 9555 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
9556 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
9557 wrapper.
99633e97 9558 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9559 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9560 indentation of the greedy-op and shy-group code.
99633e97
SM
9561 (at_(beg|end)line_loc_p): Fix argument's types.
9562 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9563 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9564 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9565 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9566 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9567 QUIT unconditionally.
99633e97 9568
699238d9
GM
95692000-03-15 Gerd Moellmann <gerd@gnu.org>
9570
9571 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9572 a sole completion.
9573
9574 * process.c (send_process): Add a hint that the function
9575 can call Lisp code to its comment.
9576
9577 * lread.c (load_dangerous_libraries): New variable.
9578 (Vbytecomp_version_regexp): New variable.
9579 (safe_to_load_p): New function.
9580 (Fload): Handle files not compiled with Emacs specially.
9581 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9582
34e23e5a
GM
95832000-03-14 Gerd Moellmann <gerd@gnu.org>
9584
9c763cca
GM
9585 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9586
9587 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9588 support functions only if HAVE_X11R6_XIM is defined.
9589 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9590
9591 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9592
9593 * xfns.c (X_I18N_INHIBITED): Don't define.
9594 (create_frame_xic): Remove conditional compilation on
9595 X_I18N_INHIBITED.
9596 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9597
9598 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9599 (HAVE_X11R6_XIM): Define.
9600
9601 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9602
34e23e5a
GM
9603 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9604 If set, call XSynchronize.
9605
66f0296e
SM
96062000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9607
34e23e5a
GM
9608 * regex.c: Declare a new type `re_char' used throughout the code
9609 for the string char type. It's `const unsigned char' to match the
9610 rest of Emacs. Consistently make sure all pointers to strings use
9611 it and make sure all pointers into the pattern use `unsigned
9612 char'.
66f0296e 9613 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9614 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9615 code duplication.
66f0296e
SM
9616
9617 * charset.h (GET_CHAR_AFTER_2): Remove.
9618 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9619
854a025c
KR
96202000-03-12 Ken Raeburn <raeburn@gnu.org>
9621
9622 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9623 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9624 of them try to use backquotes.
9625
b9d2c7e2
DL
96262000-03-12 Dave Love <fx@gnu.org>
9627
9628 * unexelf.c: Restore changes of 1999-10-19.
9629 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9630 fix its type and alignment; copy it from current process.
9631
5e5dff44
GM
96322000-03-12 Gerd Moellmann <gerd@gnu.org>
9633
9b2f3c38
GM
9634 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9635 has been found. Fix bug not computing timer's predecessor.
9636
427ec082 9637 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9638 file name.
9639
e1cff360
GM
9640 * window.c (Fsave_window_excursion): Doc fix.
9641
5e5dff44
GM
9642 * xfns.c (x_defined_color): Rewritten to use
9643 x_allocate_nearest_color.
9644
e411ce4b
EZ
96452000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9646
9647 * msdos.c (vga_installed): New function, code moved from
9648 dos_set_window_size.
9649 (Qbar, Qcursor_type, outside_cursor): New variables.
9650 (syms_of_msdos): Intern and staticpro them.
9651 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9652 shape used outside Emacs when called for the first time.
9653 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9654 cursor shape used outside Emacs.
9655 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9656 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9657 type has changed.
9658 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9659 parameters specify the cursor. Make qreverse a global
9660 variable (renamed to Qreverse).
9661
80460654
GM
96622000-03-09 Gerd Moellmann <gerd@gnu.org>
9663
9664 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9665
95cd4c40
SM
96662000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9667
9668 This is a big redesign of failure-stack and register handling, prompted
9669 by bugs revealed when trying to add shy-groups. Overall, what happened
9670 is that loops are now structured a little differently, groups can be
9671 shy and the code is a little simpler.
9672
9673 * regex.h: Update the copyright.
9674 (RE_SHY_GROUPS): New value.
9675 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9676 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9677
80460654
GM
9678 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9679 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9680 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9681 for (start|stop)_memory since they now only take one argument (the
9682 second has becomes unnecessary).
9683 (print_partial_compiled_pattern): Adjust for changes in
9684 re_opcode_t.
9685 (print_compiled_pattern): Use %ld to printf long ints and flush to
9686 make debugging a little easier.
95cd4c40
SM
9687 (union fail_stack_elt): Make the integer unsigned.
9688 (struct fail_stack_type): Add a `frame' element.
9689 (INIT_FAIL_STACK): Init `frame' as well.
9690 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9691 (DEBUG_PUSH, DEBUG_POP): Remove.
9692 (NUM_REG_ITEMS): Remove.
9693 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9694 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9695 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9696 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
9697 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
9698 macros.
9699 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9700 address pushed is not the destination of the jump but the source
9701 of it instead.
95cd4c40
SM
9702 (NUM_FAILURE_ITEMS): Remove.
9703 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9704 registers before the actual failure point). Don't hardcode any
9705 meaning for str==NULL anymore.
95cd4c40 9706 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9707 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9708 Remove.
95cd4c40
SM
9709 (REG_UNSET_VALUE): Use NULL (why not?).
9710 (compile_range): Remove declaration since it doesn't exist.
9711 (struct compile_stack_elt_t): Remove inner_group_offset.
9712 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9713 (regex_grow_registers): Remove dead code.
9714 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9715 (regex_compile): Add shy-groups Change loops to use
9716 on_failure_jump_smart&jump instead of
9717 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9718 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9719 variable to me). Use `jump' instead of `jump_past_alt' and don't
9720 bother with push_dummy_failure in alternatives since it is now
9721 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9722 emacs' for (re)allocating the stack.
9723 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9724 from loop when bufp->can_be_null rather than jumping to `done'.
9725 Avoid jumping backwards so as to ensure termination. Use
9726 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9727 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9728 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9729 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9730 improve mutually_exclusive_p to handle ".+\n".
9731 (lowest_active_reg, highest_active_reg,
9732 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
9733 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9734 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9735 variables. Push register (in `start_memory') on the stack rather
9736 than storing it in old_reg(start|end). Remove the cycle detection
9737 from `stop_memory', replaced by the use of on_failure_jump_loop
9738 for greedy loops. Add code for the new on_failure_jump_<foo>.
9739 Remove ad-hoc code in `on_failure_jump' to push more registers in
9740 the case of a loop. Take out code from `maybe_pop_jump' into
9741 separate functions and adapt it to the semantics of
9742 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9743 and push_dummy_failure. Remove dummy_failure handling and
9744 handling of `failures to jump to on_failure_jump' (this last one
9745 was already dead code, it seems).
9746 (group_match_null_string_p, alt_match_null_string_p)
9747 (common_op_match_null_string_p): Remove.
95cd4c40 9748
7397acc4
DL
97492000-03-08 Dave Love <fx@gnu.org>
9750
9751 * config.in: Don't depend on __STDC__ for volatile.
9752 Add POINTER_TYPE, PTR, PROTOTYPES.
9753
9754 * hftctl.c, strftime.c: Use PROTOTYPES.
9755 * eval.c (find_handler_clause): Likewise.
9756
9757 * mem-limits.h: Use POINTER_TYPE.
9758
9759 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9760 (memory_warnings): Declare using POINTER_TYPE.
9761
5e91ff9e
GM
97622000-03-08 Gerd Moellmann <gerd@gnu.org>
9763
feab4fba
GM
9764 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9765
25edb08f
GM
9766 * xdisp.c (display_echo_area): Temporarily inhibit garbage
9767 collection.
9768
5e91ff9e
GM
9769 * xfns.c: Remove obsolete code in #if 0.
9770 (Fx_focus_frame): New function.
9771
a735b7e1
KH
97722000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9773
9774 * coding.c (coding_category_name): Add coding-category-utf-8,
9775 coding-category-utf-16-be, coding-category-utf-16-le.
9776 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9777 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9778 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9779 (detect_coding_utf_8): New function.
9780 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9781 UTF_16_LOW_SURROGATE_P): New macros.
9782 (detect_coding_utf_16): New function
9783 (detect_coding_mask): When priorities are specified, skip any
9784 categories that have `nil' coding-system. Fix bug of returning
9785 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9786 returns a mask not set in PRIORITIES.
9787 (detect_eol_type_in_2_octet_form): New function.
9788 (detect_eol): selects detect_eol_type_XXX to call according to
9789 cooding->category_idx.
9790 (detect_coding_system): Remove `nil' coding-system in the result.
9791 (Fupdate_coding_systems_internal): Update all coding-categories.
9792
9793 * coding.h (CODING_CATEGORY_IDX_UTF_8,
9794 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
9795 macros.
9796 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
9797 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9798 CODING_CATEGORY_IDX_UTF_16_LE.
9799 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
9800 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
9801 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9802 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9803
9994cc69
GM
98042000-03-07 Gerd Moellmann <gerd@gnu.org>
9805
e9b4e5ff
GM
9806 * doc.c (Fdocumentation_property): If value is not a string,
9807 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9808
f7daf1e1
GM
9809 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9810 close the display with XtCloseDisplay. This caused a bus error
9811 on OpenWindows.
9812
9994cc69
GM
9813 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9814 complete but not unique.
9815
4336c705
GM
98162000-03-06 Gerd Moellmann <gerd@gnu.org>
9817
18bb0684
GM
9818 * process.c (send_process): Remove local variable `procname' that
9819 might become invalid when a GC happens. Instead, access the
9820 process name slot directly.
9821
4336c705
GM
9822 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9823 orig_height if set.
9824
9825 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9826 orig_height if set.
9827
515d0d0e
EZ
98282000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9829
9830 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9831 glyph matrices have been freed.
9832
100b3cbb
GM
98332000-03-05 Gerd Moellmann <gerd@gnu.org>
9834
50df5e5a 9835 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9836 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9837
9838 * xfns.c (QCdata): Moved to xdisp.c.
9839
9840 * xdisp.c (QCdata): Moved here from xfns.c.
9841 (syms_of_xdisp): Initialize QCdata.
9842
9843 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9844
9845 * window.c (coordinates_in_window): Use
9846 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9847 FRAME_INTERNAL_BORDER_WIDTH.
9848
100b3cbb 9849 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 9850 it is obviously invalid.
100b3cbb
GM
9851
9852 * xterm.c (x_term_init): Create a colormap if not using the
9853 default visual.
9854
9855 * xterm.h (select_visual): Change prototype.
9856
9857 * xfns.c (select_visual): Rewritten. Recognize user-specified
9858 visual classes.
9859 (visual_classes): New variable.
9860
64d739c4
GM
98612000-03-04 Gerd Moellmann <gerd@gnu.org>
9862
9863 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
9864 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
9865 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
9866 (x_decode_color): Don't handle allocation of white and black
9867 specially.
9868 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
9869 XtNcolormap resources.
9870 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
9871 (Fx_create_frame): Initialize color members of x_output structure.
9872 (xpm_load): Pass colormap to XPM lib.
9873
9874 * xfaces.c (x_free_colors): Access colormap of frame using
9875 FRAME_X_COLORMAP. Be paranoid about freeing black and white
9876 when default colormap is used.
9877
9878 * xterm.c (x_term_init): Set Colormap member of x_display_info
9879 structure. Copy colormap if resource `privateColormap' is
9880 specified (PseudoColor only).
9881 (x_setup_relief_color): Access colormap of frame using
9882 FRAME_X_COLORMAP.
9883
9884 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
9885 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
9886
c3cee013
JR
98872000-03-04 Jason Rumney <jasonr@gnu.org>
9888
9889 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
9890 other non-platform-specific equivalents.
64d739c4 9891 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
9892 specific functions and macros as their w32 equivalents where
9893 non-platform-specifics are not available.
9894 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
9895 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
9896 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
9897 (frame_update_line_height): Use macros to access f->output_data.
9898 (defined_color): Remove FIXME comments; fixed.
9899 (x_face_list_fonts, prepare_face_for_display): Put X specifics
9900 into #ifdef blocks. Add WINDOWSNT blocks.
9901 (Fx_list_fonts): Use macros for accessing font data.
9902 (set_lface_from_font_name): Different default fonts for X and
9903 WINDOWSNT.
9904 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
9905 scalable for backward compatibility.
64d739c4 9906 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
9907 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
9908
64d739c4 9909 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
9910 syms_of_w32faces.
9911
9912 * makefile.nt (w32faces.obj): Remove.
9913 (xfaces.obj): Add.
9914
807cc41c
JR
99152000-03-03 Jason Rumney <jasonr@gnu.org>
9916
9917 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
9918 correct parameters.
9919
0007072a
KR
99202000-03-03 Ken Raeburn <raeburn@gnu.org>
9921
9922 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
9923 standard ELF definitions here if the system header does not.
9924
71a6ba55
GM
99252000-03-03 Gerd Moellmann <gerd@gnu.org>
9926
9927 * xterm.c (PER_CHAR_METRIC): Removed.
9928 (x_per_char_metric_1, x_default_char): New functions.
9929 (x_per_char_metric): If font's default char is invalid, return
9930 metrics of a suitably chosen usable default char.
9931 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
9932 char, replace occurrences of unprintable chars with a suitably
9933 chosen usable default char.
71a6ba55 9934
900fa1f1
GM
99352000-03-02 Gerd Moellmann <gerd@gnu.org>
9936
42f55fe0
GM
9937 * xterm.c (note_mouse_highlight): Return quickly if frame's
9938 glyph matrices have been freed.
9939
9940 * dispnew.c (free_glyphs): Block input while freeing matrices.
9941
900fa1f1
GM
9942 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
9943
9944 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
9945 x_free_colors.
9946
9947 * dispextern.h (x_free_colors): Add prototype.
9948
9949 * xfaces.c (x_free_colors): New function.
9950 (unload_color, free_face_colors): Use it.
9951
2f950292
EZ
99522000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
9953
9954 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
9955
9956 * window.c [MSDOS]: Include msdos.h.
9957
54d04320
DL
99582000-03-02 Dave Love <fx@gnu.org>
9959
9960 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
9961
9962 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
9963 set C_OPTIMIZE_SWITCH for gcc.
9964
0ba93ac4
KH
99652000-03-02 Kenichi Handa <handa@etl.go.jp>
9966
9967 * coding.c (coding_save_composition): Be sure to allocate
9968 composition data area in coding even if there's no composition in
9969 the current run.
9970
a2bc11d4
JR
99712000-03-01 Jason Rumney <jasonr@gnu.org>
9972
9973 * w32term.c: Equivalent changes to those made to xterm.c on
9974 2000-02-25 and 2000-02-24.
9975
9976 * w32fns.c: Equivalent changes to those made to xfns.c on
9977 2000-02-25 and 2000-02-21.
9978
9979 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
9980 correct line-end convention is followed.
9981
9982 * w32menu.c [HAVE_BOXES]: Remove #undef.
9983 (single_keymap_panes): Remove code for simulating checkmarks.
9984 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
9985 Remove code for drawing simulated checkmarks.
9986 (w32_menu_show): make unibyte help string correctly.
9987 (add_menu_item): draw standard Windows checkmarks. Draw radio
9988 buttons as radio buttons if possible.
9989
72d19d75
GM
99902000-03-01 Gerd Moellmann <gerd@gnu.org>
9991
2df636f4
GM
9992 * sysdep.c (start_of_text): Don't define this function for NetBSD
9993 with ELF.
9994
427ec082 9995 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
9996 Don't define.
9997 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
9998 (LINKER): Don't undef if __NetBSD__ is defined.
9999
10000 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10001
10002 * fileio.c [__NetBSD__]: Define `unix'.
10003
72d19d75
GM
10004 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10005
ed4d0512
GM
100062000-02-29 Gerd Moellmann <gerd@gnu.org>
10007
50b1039f
GM
10008 * atimer.c (start_atimer): Don't abort when timers are stopped.
10009 (append_atimer_lists): New function.
10010 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10011 arbitrary lists of stopped and running atimers.
10012
ed4d0512
GM
10013 * atimer.c (cancel_atimer): Handle canceling an atimer when
10014 some timers are stopped.
10015
10016 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10017 after canceling it.
10018
10019 * fns.c (maybe_resize_hash_table): Handle case of new size
10020 coming out as being the same as old size.
10021
387023ee
JR
100222000-02-27 Jason Rumney <jasonr@gnu.org>
10023
10024 * makefile.nt: Add atimer.h to dependencies.
10025 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10026 * w32console.c: Only disable window system features for dispextern.h
10027 (initialize_w32_display): Build a display info for the console.
10028 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10029 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10030 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10031 as 2 button mice.
10032 * w32gui.h (struct W32FontStruct): Revert last change after change
10033 to xdisp.c.
10034 * w32menu.c (single_submenu): Set up help string.
10035 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10036 (w32_dialog_show): Set up help string.
10037 * w32term.c (w32_display_info_for_display): Remove unused function.
10038 (w32_draw_bitmap): Use pre-built bitmaps.
10039 (w32_initialize_display_info): New function to initialize parts of
10040 display info that are common to both GUI and console frames.
10041 (w32_term_init): Use w32_initialize_display_info. Do not set
10042 Vw32_num_mouse_buttons here, as it is not called for console
10043 frames. Build bitmaps for indicating truncated lines etc.
10044 (x_delete_display): Destroy pre-built bitmaps.
10045 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10046 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10047
4516715a
DL
100482000-02-27 Dave Love <fx@gnu.org>
10049
10050 * lisp.h: Add a bunch of prototypes.
10051
171ca836
KH
100522000-02-26 Kenichi Handa <handa@etl.go.jp>
10053
10054 * keyboard.c (read_char): Set `usec' correctly.
10055
4013921d
KH
100562000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10057
10058 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10059 `lambda', set reg[RRR] to the map index.
10060 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10061 reg[RRR] to 0. Otherwise, set it to -1.
10062
9244a058
GM
100632000-02-25 Gerd Moellmann <gerd@gnu.org>
10064
2df636f4 10065 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10066
18e21ce8 100672000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10068
f43d79c1
GM
10069 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10070 and contains a `:', prepend `/:'.
10071
10072 * window.c (select_window_1): If selected_window is nil,
10073 don't "swap out" the buffer's point.
10074 (Fset_window_configuration): Set selected_window to nil
10075 before calling Fselect_window.
10076 (unshow_buffer): Don't set point in buffer from window's point
10077 if another more recently selected window also shows the buffer.
10078
bed0c171
GM
100792000-02-25 Gerd Moellmann <gerd@gnu.org>
10080
449c3c52
GM
10081 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10082
f5b58615
GM
10083 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10084 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
10085 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
10086 variables.
10087 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10088 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10089 (hide_busy_cursor): New functions.
10090 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10091
10092 * minibuf.c (read_minibuf): Cancel busy-cursor.
10093
10094 * keyboard.c (command_loop_1): Call start_busy_cursor before
10095 Fcommand_execute and cancel_busy_cursor after it.
10096 (timer_check): Remove busy-cursor code.
10097 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10098 cursor timer.
10099
10100 * process.c (wait_reading_process_input): Remove busy-cursor code.
10101
10102 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10103 Fx_hide_busy_cursor.
10104
10105 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10106 Remove prototyoes.
10107 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10108
10109 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10110
10111 * xterm.c (XTread_socket): Remove busy-cursor code.
10112
4eb8436f
GM
10113 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10114 (build_frame_matrix_from_leaf_window): Put code handling
10115 glyph row's not being a slice of a frame row in #if 0.
10116 (sync_window_with_frame_matrix_rows): New function.
10117 (frame_row_to_window): New function.
10118 (mirror_line_dance): Handle copies between windows.
10119
3cb65b0e
GM
10120 * lread.c (Fload): Use `xfree' instead of `free'.
10121 (init_obarray): Use `xmalloc' instead of `malloc'.
10122
bed0c171
GM
10123 * window.c (Fset_window_buffer): Set WINDOW to the window
10124 after decoding.
2add4349
GM
10125 (coordinates_in_window): Take frame's internal border width
10126 into account.
bed0c171 10127
42088c12
GM
101282000-02-24 Gerd Moellmann <gerd@gnu.org>
10129
10130 * xterm.c (x_display_and_set_cursor): Display cursor of
10131 non-selected windows depending on the setting of
10132 cursor_in_non_selected_windows.
10133
10134 * xdisp.c (cursor_in_non_selected_windows): New variable.
10135 (syms_of_xdisp): DEFVAR_BOOL it.
10136
d1e103b2
GM
101372000-02-23 Gerd Moellmann <gerd@gnu.org>
10138
723e779c
GM
10139 * data.c (Fstring_to_number): If number is greater than what
10140 fits into an integer, return a float.
10141
d1e103b2
GM
10142 * eval.c (specbind): Remove references to
10143 keyword_symbols_constant_flag.
10144
10145 * data.c (keyword_symbols_constant_flag): Removed.
10146 (Fmakunbound, set_internal, syms_of_data): Remove references to
10147 keyword_symbols_constant_flag.
10148
10149 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10150
214f877f
KH
101512000-02-23 Kenichi Handa <handa@etl.go.jp>
10152
10153 * syntax.c (multibyte_syntax_as_symbol): New variable.
10154 (syms_of_syntax): Declare it as a Lisp variable.
10155 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10156 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10157 nonzero, treat all multibyte characters as symbol.
42088c12 10158 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
10159 characters.
10160
130adcb7
EZ
101612000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10162
3cb65b0e 10163 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10164 a deleted frame.
130adcb7 10165
17cbbf95
GM
101662000-02-21 Gerd Moellmann <gerd@gnu.org>
10167
10168 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10169
10170 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10171 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10172
beb0bc36
DL
101732000-02-21 Dave Love <fx@gnu.org>
10174
10175 * frame.c (Vmouse_position_function): New variable.
10176 (Fmouse_position): Use it.
10177 (syms_of_frame): Install it.
10178
10179 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10180
1d92afcd
GM
101812000-02-20 Gerd Moellmann <gerd@gnu.org>
10182
10183 * fileio.c (Finsert_file_contents): Unbind the binding of
10184 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10185
10186 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10187 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10188 (specbind, unbind_to): Handle most common case of non-constant
10189 symbol with trivial value specially.
10190
10191 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10192
18e21ce8 101932000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10194
10195 * data.c (Fmake_variable_buffer_local): Doc fix.
10196 Init found_for_buffer to 0.
10197 (Fmake_variable_frame_local): If the variable has already
10198 been buffer-local, set the check_frame field.
10199
1d4311c3
EZ
102002000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10201
10202 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10203 produced for CODING_MODE_LAST_BLOCK requires.
10204
2dc95ddd
DL
102052000-02-18 Dave Love <fx@gnu.org>
10206
10207 * keyboard.c (echo_keystrokes): Remove declaration.
10208 (Vecho_keystrokes) New variable.
10209 (read_char, record_menu_key, read_key_sequence): Use it to allow
10210 use of float value.
10211 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10212
10213 * lread.c: Undef feature selection macros before defining.
10214
f0930f35
GM
102152000-02-18 Gerd Moellmann <gerd@gnu.org>
10216
10217 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10218 for symbols other than the symbol in question.
10219
e3d4de90
DL
102202000-02-17 Dave Love <fx@gnu.org>
10221
10222 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10223
0b378936
GM
102242000-02-17 Gerd Moellmann <gerd@gnu.org>
10225
d621caf7
GM
10226 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10227
0b378936
GM
10228 * alloc.c (enum mem_type): Compile unconditionally.
10229
3b451f74
EZ
102302000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10231
10232 * xfaces.c (tty_defined_color): Don't return faulire indication
10233 for unspecified-fg and unspecified-bg pseudo-colors.
10234
10689a01
GM
102352000-02-17 Gerd Moellmann <gerd@gnu.org>
10236
1216f5e4
GM
10237 * alloc.c (mark_object): Don't mark symbol names in pure space.
10238 (gc_sweep): Don't unmark symbol names in pure space.
10239
10240 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10241 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10242 [GC_MARK_STACK]: New defines.
427ec082 10243 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10244 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10245
10246 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10247
10248 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10249 allocate_buffer instead of xmalloc.
10250
10251 * alloc.c (toplevel): Include setjmp.h.
10252 (PURE_POINTER_P): New define.
10253 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10254 (Vdead) [GC_MARK_STACK]: New variable.
10255 (lisp_malloc): Add parameter TYPE, call mem_insert if
10256 GC_MARK_STACK is defined.
10257 (allocate_buffer): New function.
427ec082 10258 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10259 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10260 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10261 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10262 (MEM_NIL) [GC_MARK_STACK]: New define.
10263 (struct mem_node) [GC_MARK_STACK]: New structure.
10264 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10265 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10266 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10267 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10268 (mark_stack) [GC_MARK_STACK]: New functions.
10269 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10270 (clear_marks): Removed.
10271 (gc_sweep): Set free conses' car, free floats' type, free
10272 symbols' function to Vdead. Use lisp_free to free buffers.
10273 (init_alloc_once): Initialize Vdead.
10274 (survives_gc_p): Return non-zero for pure objects.
10275
10276 * alloc.c: Add comments throughout the file.
10277
2503c8b1
GM
10278 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10279 that unblocks alarms.
10280
8389e1e2
GM
10281 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10282 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10283 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10284
10689a01 10285 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10286
bfc17d18
KH
102872000-02-17 Kenichi Handa <handa@etl.go.jp>
10288
4a09dee0
KH
10289 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10290 avoid infinite error signaling. Allocate sufficient memory for
10291 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10292
2b927d02
SM
102932000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10294
10295 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10296 depends on the previous behavior.
10297
b49cb764
GM
102982000-02-16 Gerd Moellmann <gerd@gnu.org>
10299
10300 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10301
99e95407
GM
103022000-02-15 Gerd Moellmann <gerd@gnu.org>
10303
10304 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10305
10306 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10307 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10308 write(2).
10309
6ffd3cf7
RS
103102000-02-15 Richard M. Stallman <rms@gnu.org>
10311
10312 * data.c (set_internal): Don't make variable buffer-local
10313 if within a let-binding for the same buffer.
10314 (let_shadows_buffer_binding_p): New function.
10315
10316 * eval.c (specbind): For buffer-local value,
10317 record the current buffer also.
10318 (unbind_to): Cope with that change.
10319
cad53475
GM
103202000-02-15 Gerd Moellmann <gerd@gnu.org>
10321
10322 * window.c (Fsave_window_excursion): Doc fix.
10323
1aa963c8
SM
103242000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10325
10326 * syntax.c (back_comment): Make sure we only consider comment-starters
10327 of the relevant style and return -1 in case of a failure to find the
10328 beginning of the comment.
10329 (Fforward_comment): If back_comment fails, go back to the position just
10330 after the comment-end.
10331 (scan_lists): Add comment describing a very minor bug.
10332
b9b84fd3
SM
103332000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10334
10335 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10336 `completion-regexp-list' in the docstring.
10337
3a28db80
DL
103382000-02-14 Dave Love <fx@gnu.org>
10339
10340 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10341
fb4a568d
SM
103422000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10343
10344 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10345 to Emacs' syntax. Also fix the comment about set/not-set meanings
10346 since Emacs syntax is not the value 0 any more.
10347 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10348 since it's now part of RE_SYNTAX_EMACS.
10349
1063ebb5
DL
103502000-02-12 Dave Love <fx@gnu.org>
10351
10352 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
10353 Alpha.
10354
fb07a302
GM
103552000-02-12 Gerd Moellmann <gerd@gnu.org>
10356
10357 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10358
aaf2320c
DL
103592000-02-12 Dave Love <fx@gnu.org>
10360
10361 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10362
10363 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10364 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10365 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10366
10367 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10368
10369 * s/nextstep.h: Don't define HAVE_ALLOCA.
10370
10371 * config.in: Add vfork bits.
10372
eedf8bde
GM
103732000-02-12 Gerd Moellmann <gerd@gnu.org>
10374
10375 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10376 unwind function to undo the effect of stopping atimers.
10377
10378 * keyboard.c (bind_polling_period): Stop all timers except
10379 poll_timer.
10380
10381 * atimer.c (stopped_atimers): New variable.
10382 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10383 New functions.
10384
10385 * atimer.h (stop_other_atimers, run_all_atimers)
10386 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10387
eedf8bde
GM
10388 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10389
8476c2f8
KR
103902000-02-11 Ken Raeburn <raeburn@gnu.org>
10391
10392 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10393 library may depend on jpeg.
10394 (atimer.o): Depends on atimer.c.
10395
0e85e4a3
KH
103962000-02-11 Kenichi Handa <handa@etl.go.jp>
10397
10398 * insdel.c (del_range_1): Call update_compositions.
10399 (del_range_both): Call update_compositions just once..
10400
97fa0cc8
DL
104012000-02-10 Dave Love <fx@gnu.org>
10402
10403 * xfns.c (create_frame_xic): Fix initialization of automatic
10404 aggregates for pcc.
10405
25566a3c
KH
104062000-02-09 Kenichi Handa <handa@etl.go.jp>
10407
10408 * ccl.c (CCL_MAKE_CHAR): New macro.
10409 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10410 registers by CCL_MAKE_CHAR before calling translate_char.
10411 <CCL_TranslateCharacterConstTbl> Likewise.
10412
69da54ba
DL
104132000-02-08 Dave Love <fx@gnu.org>
10414
10415 * lread.c (__EXTENSIONS__): Define.
10416
f7136ee8
GM
104172000-02-08 Gerd Moellmann <gerd@gnu.org>
10418
10419 * puresize.h (BASE_PURESIZE): Increase to 650000.
10420
7768790b
EZ
104212000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10422
10423 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10424 the help message.
10425
38fd211b
EZ
104262000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10427
10428 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10429 md, mh, mb, mr, and me to the fake termcap entry.
10430
66e4690f
KR
104312000-02-06 Ken Raeburn <raeburn@gnu.org>
10432
10433 * sound.c (sound_cleanup): Don't call device close routine if the
10434 function pointer is null.
10435
a75dfea0
AI
104362000-02-06 Andrew Innes <andrewi@gnu.org>
10437
10438 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10439 around image definitions and prototypes.
10440 (gamma_correct) [WINDOWSNT]: New prototype.
10441
10442 * w32term.c (x_make_frame_visible): Replace call to
10443 input_poll_signal with poll_for_input.
10444
10445 * window.c [WINDOWSNT]: Include w32term.h.
10446
10447 * xdisp.c [WINDOWSNT]: Include w32term.h.
10448
10449 * makefile.nt: Add dependencies on w32gui.h.
10450 (OBJ1): Include atimer.obj.
10451 ($(BLD)\atimer.obj): New dependency rule.
10452
10453 * w32.c (sigmask): New function (does nothing).
10454 (sigunblock): Ditto.
10455
10456 * frame.c [WINDOWSNT]: Include w32term.h.
10457
10458 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10459
10460 * lread.c (syms_of_lread): Fix literal newlines.
10461
10462 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10463 the string constant limit (2048 bytes) in MSVC.
10464 (main): Ditto.
10465
59ddecde
GM
104662000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10467
10468 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
10469 area.
10470 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10471 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10472 dispatch the event.
10473
07590973
DL
104742000-02-04 Dave Love <fx@gnu.org>
10475
10476 * fileio.c: Remove some unused vars.
10477 (_GNU_SOURCE): Define (for euidaccess).
10478
10479 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10480
10481 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10482 gcpro1, gcpro2.
10483 (read_minibuf): Deal with allow_props correctly.
10484
649351f9
EZ
104852000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10486
10487 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10488
66e4690f 104892000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10490
10491 * search.c (compile_pattern): If a cache entry has a nil regexp,
10492 fill in that entry instead of clobbering a previously cached
10493 string regexp.
10494
66e4690f 104952000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10496
10497 * puresize.h (BASE_PURESIZE): Increase to 610000.
10498
d240a249
GM
104992000-02-02 Gerd Moellmann <gerd@gnu.org>
10500
10501 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10502 can GC.
10503
ca91fb26
KH
105042000-02-02 Kenichi Handa <handa@etl.go.jp>
10505
25660570
KH
10506 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10507 instead of incrementing ic directly.
10508 <CCL_WriteExprConst> Likewise.
10509 <ccl_set_expr>: Set ic to jump_address.
10510
ca91fb26
KH
10511 * fileio.c (e_write): Fix the handling of
10512 CODING_FINISH_INSUFFICIENT_SRC.
10513
2ede9689
DL
105142000-02-01 Dave Love <fx@gnu.org>
10515
10516 * editfns.c (Fpropertize): Doc fix.
10517
10518 * process.c (Fstart_process): Doc fix.
10519
10520 * eval.c: Fix various doc strings not to duplicate information
10521 from help-manyarg-func-alist.
10522
10523 * window.c (Fset_window_margins): Don't make interactive. Doc
10524 fix.
10525
10526 * doc.c (Vhelp_manyarg_func_alist): New variable.
10527 (Fdocumentation): Use it.
10528 (syms_of_doc): Define it.
10529
b6680a0e
GM
105302000-01-31 Gerd Moellmann <gerd@gnu.org>
10531
2cb750ba
GM
10532 * xterm.c (xim_open_dpy): Remove unused local variable.
10533
74e9213b
GM
10534 * emacs.c (USAGE): Use term `display options' instead of `X
10535 options'.
10536
10537 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10538 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10539
b6680a0e
GM
10540 * fns.c (sweep_weak_table): New function.
10541 (sweep_weak_hash_tables): Use it. Keep on marking until there
10542 is no more change.
10543
994c5afe
GM
105442000-01-30 Gerd Moellmann <gerd@gnu.org>
10545
10546 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10547 that XTread_socket does not crash by trying to call XNoOp on a
10548 closed display.
427ec082 10549
f00276e3
JR
105502000-01-30 Jason Rumney <jasonr@gnu.org>
10551
10552 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10553 Change selected_frame to SELECTED_FRAME ().
10554 (w32_console_mouse_position): Remove #ifndef MULE from around
10555 `insist' parameter.
10556
10557 * makefile.nt: Remove dosfns.obj.
10558
10559 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10560
10561 * w32fns.c (w32_defined_color): Check for valid frame before
10562 applying gamma correction. Eliminate dependency on frame elsewhere.
10563 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10564 (w32_to_x_font): Use resx and resy not height_in and width_in.
10565 (x_to_w32_font): Doc fix.
10566 (xlfd_strip_height): New function to strip and return font height.
10567 (w32_font_match): Compare height separately from rest of xlfd
10568 spec, using xlfd_strip_height.
10569
10570 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10571 width_in. Use w32_defined_color in place of defined_color.
10572
10573 * w32faces.c: Merge more of DOS and X specifics in preparation for
10574 merge with xfaces.c.
10575 (defined_color): Remove FIXME comment.
10576 (tty_color_name): Provide w32-specific function.
10577 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10578
10579 * w32console.c (turn_on_face, turn_off_face): Removed.
10580 (w32_face_attributes): New function.
10581 (Global_variables): Reduce scope where possible.
10582 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10583 fill attribute.
10584 (hl_mode): Don't modify text attributes.
10585 (write_glyphs): Don't do anything if len <= 0. Use
10586 w32_face_attributes to get attributes for drawing. Write
10587 terminating codes using char_attr_normal.
10588 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10589 (update_begin, update_end): Likewise.
10590 (vga_stdcolor_name): New function.
10591 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10592 (Fset_screen_color): Remove char_attr_reverse.
10593
b08e8bb2
GM
105942000-01-29 Gerd Moellmann <gerd@gnu.org>
10595
10596 * xfns.c (xic_set_preeditarea): Take window parameter and
10597 window-relative pixel-positions.
10598
10599 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10600 is its frame's selected window.
10601 (xim_instantiate_callback): Likewise.
10602
10603 * xfns.c (x_create_im): Removed.
10604 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10605 (supported_xim_styles): Renamed from supported_styles.
10606 (best_xim_style): Renamed from best_style.
10607 (create_frame_xic): Renamed from xic_create_frame.
10608 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10609
b08e8bb2
GM
106102000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10611
10612 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10613 our frames, call XFilterEvent with 2nd parameter `None'.
10614 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10615 returning XBufferOverflow.
10616 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
10617 area.
10618 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10619 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10620 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10621 (xim_initialize, xim_close)
10622 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10623 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10624 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10625 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10626
10627 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10628 and `xim_styles'.
10629 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10630 `xic_style' and `xic_xfs'.
10631 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10632 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10633 (FRAME_XIM): Removed.
10634
10635 * xfns.c (supported_styles): New variable.
10636 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10637 (xic_create_xfontset, best_style, xic_create_frame)
10638 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10639 (xic_set_xfontset): New functions.
10640
142e109c
DL
106412000-01-28 Dave Love <fx@gnu.org>
10642
10643 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10644
10645 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10646
b02786f9
GM
106472000-01-28 Gerd Moellmann <gerd@gnu.org>
10648
d060bc9f
GM
10649 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10650 for *scratch* if it already existed.
10651
b02786f9
GM
10652 * emacs.c (USAGE): New macro.
10653 (main): Use it to display usage information.
10654
2c52d7e4
EZ
106552000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10656
10657 Support for the menu-help feature:
10658
10659 * msdos.h: Change prototypes of XMenuAddSelection and
10660 XMenuActivate.
10661
10662 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10663 part of the line to the termscript file.
10664 (IT_clear_to_end): Clear the entire line, not just its beginning.
10665 (menu_help_message, prev_menu_help_message): New variables.
10666 (IT_menu_make_room): Make room for the help_text member.
10667 (IT_menu_display): New argument disp_help; all callers changed.
10668 If disp_help is non-zero, store the help text of the active menu
10669 item in menu_help_message.
10670 (XMenuAddPane): Initialize the help_text member to NULL.
10671 (XMenuAddSelection): New argument help_text. Store it in the
10672 XMenu structure.
10673 (XMenuActivate): New argument help_callback. If the value of
10674 menu_help_message has changed since the last time, display the
10675 menu help message text while waiting for the mouse to move. Clear
10676 the echo area before exiting.
10677 (XMenuDestroy): Free the help_text member.
10678
ffe0bcd1
GM
106792000-01-27 Gerd Moellmann <gerd@gnu.org>
10680
10681 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10682 XMenuAddSelection. Pass help callback to XMenuActivate.
10683 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10684
50dbd23f
EZ
106852000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10686
10687 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10688 and EMACS_SET_USECS.
10689
f5941bf8
GM
106902000-01-26 Dave Love <fx@gnu.org>
10691
6c67ddee
DL
10692 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10693
f5941bf8
GM
10694 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10695 an error may be signalled.
10696
9e49c990
GM
106972000-01-26 Gerd Moellmann <gerd@gnu.org>
10698
fc3cb460
GM
10699 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10700 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10701
9e49c990
GM
10702 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10703
d0c037d8
GM
107042000-01-25 Gerd Moellmann <gerd@gnu.org>
10705
10706 * charset.c (Fstring): If there is a multibyte char among
10707 the args, always return a multibyte string.
10708
e12489f9
GM
107092000-01-25 Gerd Moellmann <gerd@gnu.org>
10710
10711 * sysdep.c (sys_select): Turn atimers off and on instead of
10712 recording and restoring old alarm handler
10713
10714 * process.c (toplevel): Include atimer.h.
10715 (create_process_1): Rewritten.
10716 (create_process): Use atimers instead of alarm.
10717 (wait_reading_process_input) [hpux]: Turn atimers off instead
10718 of turning off SIGALRM.
10719 (wait_reading_process_input): Turn off atimers instead off
10720 calling stop_polling.
10721
10722 * emacs.c (main): Call init_atimer.
10723
10724 * keyboard.c (toplevel): Include systime.h and atimer.h.
10725 (polling_for_input): Removed because unused.
10726 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10727 (poll_timer): New variable.
10728 (poll_for_input, poll_for_input_1): New functions.
10729 (start_polling, stop_polling): Rewritten.
10730
10731 * keyboard.h (polling_for_input): Removed.
427ec082 10732
e12489f9
GM
10733 * atimer.h, atimer.c: New files.
10734
10735 * Makefile.in (obj): Add atimer.o.
10736 (atimer.o): New target.
10737
10738 * blockinput.h (pending_atimers): Add extern declaration.
10739 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10740
10741 * lisp.h (popup_activated_flag): Add extern declaration.
10742
10743 * xmenu.c (popup_activated_flag): Make externally visible.
10744 (popup_activate_callback) [USE_MOTIF]: Increment
10745 popup_activated_flag.
10746 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10747
10748 * xterm.c (toplevel): Include atimer.h.
10749 (toolkit_scroll_bar_interaction): New variable.
10750 (Fxt_process_timeouts): Removed.
10751 (x_process_timeouts): New function.
10752 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10753 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10754 (x_make_frame_visible): Call poll_for_input_1 instead of
10755 input_poll_signal. Don't call alarm.
10756 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10757
1e5279b9
DL
107582000-01-24 Dave Love <fx@gnu.org>
10759
6c67ddee 10760 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10761 Don't use -cckr -- apparently not now necessary.
10762
edf6aeb8
EZ
107632000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10764
10765 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10766 screen boundary.
10767
9badad41
JR
107682000-01-23 Jason Rumney <jasonr@gnu.org>
10769
10770 * w32fns.c (w32_defined_color): Apply gamma correction before
10771 trying to map to the palette.
10772 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10773 to w32_clear_rect.
10774
10775 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10776 here. Callers changed to always pass real device context.
10777 (w32_draw_bitmap): Likewise.
10778 (w32_get_glyph_overhangs): Likewise.
10779 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
10780 one.
10781 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10782 pfnSetScrollInfo and SetScrollRange.
10783 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10784 back into MULE characters after decoding them.
10785 (x_get_glyph_face_and_encoding): Likewise.
10786 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10787 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10788 (x_produce_glyphs): Calculate per char metrics for a character
10789 that we know exists in default font when font_not_found_p is true.
10790
63bd786b
JR
107912000-01-22 Jason Rumney <jasonr@gnu.org>
10792
10793 * makefile.nt (intervals.obj, composite.obj): New modules.
10794 (composite.h): Added as dependency where appropriate.
10795
10796 * w32gui.h (XGCValue): New struct for emulating X GCs.
10797
10798 * w32term.h (XCharStruct): New struct for emulating X.
10799
10800 * w32console.c (turn_on_face, turn_off_face): New functions.
10801 (change_line_highlight): New prototype for new redisplay.
10802 (write_glyphs): Support multibyte text. Support faces.
10803
10804 * w32faces.c: Complete rewrite for new redisplay based on new
10805 xfaces.c.
10806
10807 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10808 throughout. struct frame * in place of FRAME_PTR.
10809 Skeleton support for images, toolbars, tooltips from xfns.c.
10810 (Fx_create_frame): Use system default for default scroll bar
10811 width.
10812 (w32_get_arg): Renamed from x_get_arg.
10813 (Fx_file_dialog): New function.
10814 (w32_list_fonts): Check cache before asking system.
10815 (Vw32_enable_synthesized_fonts): New variable.
10816 (Vw32_enable_italics): Obsolete, removed.
10817
10818 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10819 Use SELECTED_FRAME macro.
10820
10821 * w32menu.c: Add skeleton support for help strings on menus.
10822 (add_menu_item): Native checkbox and radio support added, but not
10823 yet enabled due to bugs.
10824 (push_menu_item): Add parameters type, selection and help.
10825 Callers updated.
10826 Formatting changes to reduce unnecessary diffs with xmenu.c.
10827
10828 * w32select.c (Fw32_set_clipboard_data): Update call to
10829 find_charset_in_str.
10830
10831 * w32term.c: Complete rewrite for new redisplay based on new
10832 xterm.c with necessary sections merged back in from old w32term.c.
10833
6ffd3cf7 108342000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10835
10836 * data.c (set_internal): Further fix in same criterion.
10837
6ffd3cf7 108382000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10839
10840 * data.c (set_internal): Fix the criteria for whether
10841 to swap out the old cached binding.
10842
60af03f1
DL
108432000-01-19 Dave Love <fx@gnu.org>
10844
10845 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10846
f9be074f
KH
108472000-01-18 Kenichi Handa <handa@etl.go.jp>
10848
10849 * regex.c (re_compile_fastmap): While checking a range table for
10850 `charset', skip flag bits for a character class correctly.
10851
52b8dbf9
GM
108522000-01-17 Gerd Moellmann <gerd@gnu.org>
10853
d36100c9
GM
10854 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10855
52b8dbf9
GM
10856 * xfns.c (x_window): Call lw_create_widget with new parameter
10857 list.
10858
10859 * widget.c (EmacsFrameSetCharSize): Change size of children first
10860 because of problems with main window geometry management under
10861 Lesstif.
10862
10863 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
10864 MENU_ITEMS_ITEM_.*.
10865 (MENU_ITEMS_ITEM_HELP): New enumerator.
10866 (push_menu_item): Add parameter HELP. Record help in menu_items.
10867 (single_menu_item, single_submenu, list_of_items): Call
10868 push_menu_item with new parameter.
10869 (single_submenu): Set help string in widget value.
10870 (menu_highlight_callback): New function.
10871 (set_frame_menubar): Call lw_create_widget with new
10872 parameter list.
10873 (xmenu_show, xdialog_show): Ditto.
10874
3139018f
GM
108752000-01-13 Gerd Moellmann <gerd@gnu.org>
10876
10877 * sound.c (Fplay_sound): Improve doc string.
10878
83c8f461
RS
108792000-01-11 Richard M. Stallman <rms@gnu.org>
10880
10881 * lisp.h (set_internal): Enter the new arg.
10882
10883 * eval.c (specbind): Record buffer-local variables specially,
10884 indicating which buffer's binding was saved.
10885 (unbind_to): Restore buffer-local variables specially
10886 in the proper buffer.
10887
10888 * data.c (set_internal): New arg BUF.
427ec082 10889
83c8f461
RS
10890 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
10891 * data.c (Fset): Pass new arg to set_internal.
10892 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 10893
1fab1775
GM
108942000-01-11 Gerd Moellmann <gerd@gnu.org>
10895
10896 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
10897 xprintsym.
10898
83c8f461 108992000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
10900
10901 * minibuf.c (Ftry_completion): Doc fix.
10902
7a85e4df
GM
109032000-01-11 Gerd Moellmann <gerd@gnu.org>
10904
10905 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
10906 vector, too.
10907
a970dae4
AS
109082000-01-11 Andreas Schwab <schwab@suse.de>
10909
10910 * coding.c (code_convert_region): Initialize total_skip.
10911
c65d14ee
DL
109122000-01-08 Dave Love <fx@gnu.org>
10913
10914 * eval.c (Fuser_variable_p): Check customizability too.
10915
834938d2
GM
109162000-01-07 Gerd Moellmann <gerd@gnu.org>
10917
10918 * minibuf.c (Fcompleting_read): Doc fix.
10919
e0303cd6
GM
109202000-01-05 Gerd Moellmann <gerd@gnu.org>
10921
8a26744b
GM
10922 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
10923 -L /usr/local/lib.
10924
e0303cd6
GM
10925 * xfns.c (x_create_im): New function to set IM and IC of a frame.
10926 Check that input style is supported before trying to create an
10927 IC for it.
10928 (x_window): Call x_create_im.
427ec082 10929
2e471eb5
GM
109302000-01-04 Gerd Moellmann <gerd@gnu.org>
10931
560a7bd2
GM
10932 * xfns.c (current_gif_memory_src): New variable.
10933 (gif_load): Record the address of the current memory source
10934 in current_gif_memory_src.
10935 (gif_read_from_memory): Use current_gif_memory_src.
10936
f9ee84a3
GM
10937 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
10938 macros statement form.
10939
d1299cde
GM
10940 * sound.c (struct sound): Renamed from struct sound_file.
10941 (struct sound): Add members `data' and `header_size'.
10942 (enum sound_attr): Add SOUND_DATA.
10943 (current_sound, current_sound_device): Variables renamed from
10944 sound_file and sound_device.
10945 (parse_sound): Parse :data.
10946 (parse_sound): Handle sound data in strings.
10947 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 10948 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
10949 needed header size.
10950 (wav_play, au_play): Play sounds from string data.
10951
2e471eb5
GM
10952 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
10953
10954 * lisp.h: Add prototype for allocate_string_data.
10955
10956 * alloc.c (Fgarbage_collect): Return number of live and free
10957 strings.
10958
10959 * alloc.c (mark_buffer): Remove code in #if 0.
10960 (gc_sweep): Ditto.
10961 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
10962 (strings_consed): New variable.
10963 (allocate_string): Set it.
10964 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
10965 (Fmemory_use_counts): Return strings_consed. Use Flist.
10966
10967 * alloc.c: General cleanup in comments etc. Remove conditional
10968 compilation for `standalone'.
10969
10970 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
10971
10972 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
10973 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
10974 (DONT_COPY_FLAG): Removed.
10975 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
10976 (struct sdata, struct sblock): New
10977 (struct string_block): Rewritten.
10978 (STRINGS_IN_STRING_BLOCK): New macro.
10979 (oldest_sblock, current_sblock, total_strings, total_free_strings)
10980 (large_sblocks, string_blocks, string_free_list): New variables.
10981 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
10982 (init_strings): Rewritten.
10983 (allocate_string, allocate_string_data, compact_small_strings)
10984 (free_large_strings, sweep_strings): New functions.
10985 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
10986 (struct string_block_head, current_string_block)
10987 (first_string_block, large_string_blocks, STRING_FULLSIZE)
10988 (STRING_PAD): Removed.
10989 (make_uninit_multibyte_string, make_pure_string): Rewritten.
10990 (Fgarbage_collect): Don't set mark bit in large strings.
10991 (mark_object): Mark strings differently. Mark symbol names
10992 differently.
10993 (survives_gc_p): Test marked strings differently.
427ec082 10994 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
10995 symbol names.
10996 (compact_strings): Removed.
10997
42608ba8
EZ
109982000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
10999
11000 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11001 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11002
e0a09e1a
KH
110032000-01-04 Kenichi Handa <handa@etl.go.jp>
11004
dd9f0750 11005 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11006 in a non-empty buffer.
dd9f0750 11007
3c0f3b15 11008 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11009
44cd3ae5
GM
110102000-01-03 Gerd Moellmann <gerd@gnu.org>
11011
11012 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11013 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11014
11015 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11016
c182a70f
EZ
110172000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11018
11019 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11020 need to test for MSDOS frames.
11021
24480d5b
EZ
110222000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11023
11024 * dosfns.c (unspecified_colors): Remove.
11025 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11026 unspecified_bg.
11027 (msdos_stdcolor_name): Return strings for unspecified fore- and
11028 back-ground colors.
11029
11030 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11031 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11032 (tty_color_name): Return Lisp strings for unspecified fore- and
11033 back-ground colors.
11034 (Finternal_set_lisp_face_attribute): Remove the special treatment
11035 for Qunspecified_{f,b}g.
11036 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
11037 string.
11038
047f434a
GM
110392000-01-03 Gerd Moellmann <gerd@gnu.org>
11040
11041 * xdisp.c (reseat_at_next_visible_line_start): Position before
11042 newline only if ending up on a newline.
11043 (next_element_from_ellipsis): Return success. Handle case of
11044 displaying no ellipsis. Fix case of ellipsis defined in display
11045 table.
11046 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11047 returns 0.
11048
d684c676
EZ
110492000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11050
11051 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11052 (Fcolor_supported_p): Renamed from face-color-supported-p.
11053
5fe1d139
EZ
110542000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11055
11056 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11057 list of colors renamed to tty-defined-color-alist.
11058 (tty_color_name): Pass the frame to tty-color-by-index.
11059 (realize_tty_face): tty-color-alist is now a function which
11060 accepts the frame as argument.
11061
11062 * term.c (Ftty_display_color_p): Accept an optional argument
11063 FRAME.
11064
816be8b8
EZ
110652000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11066
11067 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11068 encode_terminal_code.
11069
b635321e
EZ
110702000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11071
11072 * dispnew.c (mode_line_string): Support termcap frames as well.
11073
9b784e96
GM
110742000-01-01 Gerd Moellmann <gerd@gnu.org>
11075
27189709
GM
11076 * syntax.c (Fforward_word): Undo previous change.
11077
11078 * editfns.c (Fconstrain_to_field): Don't constrain if
11079 inhibit-field-text-motion is non-nil.
11080 (Fline_beginning_position): Undo previous change.
11081 (Fline_end_position): Ditto.
11082
11083 * syntax.c (Fforward_word): Notice field boundaries only if
11084 inhibit-field-text-motion is nil.
11085
11086 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11087
11088 * editfns.c (Vinhibit_field_text_motion): New variable.
11089 (inhibit-field-text-motion): New DEFVAR_LISP.
11090 (Fline_beginning_position, Fline_end_position): Notice field
11091 boundaries only if inhibit-field-text-motion is nil.
11092
45158a91
GM
11093 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11094 All calls adjusted.
11095 (x_build_heuristic_mask): Likewise.
11096 (xbm_load_image_from_file): Change error output.
11097 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11098 (gif_load, gs_load, x_kill_gs_process): Ditto.
11099
9b784e96
GM
11100 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11101 color indices when accessing raster pixels.
63cec32f
GM
11102 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11103 one of :file or :data.
11104 (enum pbm_keyword_index): Add PBM_DATA.
11105 (pbm_format): Add :data.
11106 (pbm_image_p): Allow either :file or :data.
11107 (pbm_read_file): New function.
11108 (pbm_scan_number): Rewritten to read from string.
11109 (pbm_load): Support :data.
9b784e96 11110
2cb085db 11111See ChangeLog.8 for earlier changes.
6922b018
KH
11112
11113;; Local Variables:
49b3bd82 11114;; coding: iso-2022-7bit
6922b018 11115;; End: