(free_frame_menubar) [USE_MOTIF]: If the shell widget's
[bpt/emacs.git] / src / ChangeLog
CommitLineData
4bde0ebb
GM
12001-03-27 Gerd Moellmann <gerd@gnu.org>
2
aba25348
GM
3 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4 x/y position is (0, 0) after destroying the menu bar, restore
5 its original position.
6
4bde0ebb
GM
7 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
8 (init_from_display_pos): Use it.
9 (try_window_reusing_current_matrix): Don't use cursor_row_p.
10
8cdb267e
GM
112001-03-26 Gerd Moellmann <gerd@gnu.org>
12
13 * xdisp.c (try_window_id): Undo last change.
14
9948db79
EZ
152001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
16
17 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
18
19 * buffer.c (syms_of_buffer): Doc fix.
20
2eddf899
GM
212001-03-26 Gerd Moellmann <gerd@gnu.org>
22
23 * xfaces.c (x_update_menu_appearance): Use local variable
24 popup_path for setting font resources.
25
6c145d35
EZ
262001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
27
6a65b1b5
EZ
28 * frame.c (Fframe_list): Don't reference tip_frame if
29 HAVE_WINDOW_SYSTEM is not defined.
30
6c145d35
EZ
31 * emacs.c (main): Update the copyright year. From Werner LEMBERG
32 <wl@gnu.org>.
33
d74c1900
GM
342001-03-25 Gerd Moellmann <gerd@gnu.org>
35
20fbd925
GM
36 * xdisp.c (init_from_display_pos): Test invisible property
37 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
38
927c5b3b
GM
39 * xdisp.c (redisplay_internal) <update one window>: Make sure
40 last_arrow_position and last_arrow_string are set.
41
d74c1900
GM
42 * frame.c (Fframe_list): Don't return a tooltip frame.
43
091f8878
GM
442001-03-23 Gerd Moellmann <gerd@gnu.org>
45
43c09969
GM
46 * xdisp.c (mark_window_display_accurate_1): New function,
47 extracted from mark_window_display_accurate. Compute
48 BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
49 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
50 (mark_window_display_accurate): Use it.
51 (redisplay_internal): Use it for the selected window.
52 (redisplay_internal): Avoid duplicate mark_window_display_accurate
53 for the selected frame.
54
ac90c44f
GM
55 * xdisp.c Use make_number, for readability.
56 (try_window_id): Disable rows below the window end.
57 (try_window_reusing_current_matrix): Use cursor_row_p.
58 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
59 of rows.
60 (init_from_display_pos): If POS specifies a position in a display
61 vector, maybe get the iterator set up for that ellipsis.
43c09969 62
091f8878
GM
63 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
64
991786dd
EZ
652001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
66
67 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
68
6c29b43c
GM
692001-03-23 Gerd Moellmann <gerd@gnu.org>
70
71 * xfaces.c (x_update_menu_appearance): Use a different path
72 for Lucid popup menus.
73
d8731202
SM
742001-03-22 Stefan Monnier <monnier@cs.yale.edu>
75
76 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
77
78 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
79 (string_buffer_position): Use `make_number'.
80
f61a541b
GM
812001-03-22 Gerd Moellmann <gerd@gnu.org>
82
3c9e997b
GM
83 * xfaces.c (x_update_menu_appearance): Renamed from
84 x_set_menu_face_resources. Use different resources for popups.
85
86 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
87 (GC_CHECK_STRING_BYTES): Don't define.
88
364cd450
GM
89 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
90 Removed, together with subroutines.
91 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 92 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 93
d8731202
SM
94 * dispextern.h (x_set_menu_resources_from_menu_face):
95 Remove prototype.
364cd450 96
d8731202 97 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
98 Remove calls to x_set_menu_resources_from_menu_face.
99
d8731202
SM
100 * xfaces.c (xm_set_menu_resources_from_menu_face):
101 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
102
103 * xmenu.c: Include widget.h.
104 (single_submenu): Return int. Some cleanup.
105 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
106
140330de
GM
1072001-03-21 Gerd Moellmann <gerd@gnu.org>
108
109 * xterm.c (x_update_window_end): Handle overwritten mouse face
110 also for tool bar windows.
111 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
112 DRAW is DRAW_IMAGE_RAISED.
113
1741905c
GM
1142001-03-20 Gerd Moellmann <gerd@gnu.org>
115
fa88947e
GM
116 * print.c (syms_of_print): Doc fixes.
117
1741905c
GM
118 * fns.c (Fmd5): Doc fix.
119
ade0bee1
GM
1202001-03-19 Gerd Moellmann <gerd@gnu.org>
121
357e7376
GM
122 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
123 Clear area of the frame not occupied by the scroll bar.
124
c2c097cc
GM
125 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
126 tip frame's root window buffer to *tip* right after creating
127 the frame.
128
ade0bee1
GM
129 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
130 is an integer don't have to be for space characters.
131
88c6e37e
GM
1322001-03-16 Gerd Moellmann <gerd@gnu.org>
133
134 * indent.c (current_column, current_column_1, Fmove_to_column)
135 (compute_motion): Handle characters from display vectors
136 differently.
137
c62eed76
KH
1382001-03-15 Kenichi Handa <handa@etl.go.jp>
139
140 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
141 drawing glyph string.
142
c899e7e6
GM
1432001-03-15 Gerd Moellmann <gerd@gnu.org>
144
d0bbfc99
GM
145 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
146 (command_loop_1): Undo last change.
147
03d1a189
GM
148 * xterm.c (fast_find_position): Return the correct vpos.
149
c899e7e6
GM
150 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
151 non-null, set a per-buffer value in BUF instead of the current
152 buffer.
153 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
154 Call store_symval_forwarding with BUF null.
155 (set_internal): Call store_symval_forwarding with the BUF
156 parameter passed to set_internal. Formerly, the value was always
157 set in the current buffer; the buffer recorded in specbind for
158 this case wasn't used.
159 (arith_driver): Reindent.
160
161 * buffer.c (swap_out_buffer_local_variables): Call
162 store_symval_forwarding with BUF null.
163
164 * lisp.h (store_symval_forwarding): Change prototype.
165
166 * eval.c (specbind): Call store_symval_forwarding with BUF null.
167
57ac7c81
GM
1682001-03-14 Gerd Moellmann <gerd@gnu.org>
169
697617d9
GM
170 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
171 FOR_DELETION. Avoid resizing the mini-window of the selected
172 frame if FOR_DELETION is set.
173 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
174 (Fmake_frame_invisible): Change calls to do_switch_frame for new
175 signature.
176
177 * window.c (Fset_window_configuration): Change call to
178 do_switch_frame to new format.
179
180 * keyboard.c (quit_throw_to_read_char): Change call to
181 do_switch_frame to new format.
182
183 * lisp.h (do_switch_frame): Change prototype.
184
819dce0f
GM
185 * frame.c (Fframe_parameters): In the `buffer-list' frame
186 parameter, store the buffer list of FRAME, not the list of the
187 selected frame.
188
57ac7c81
GM
189 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
190 box just because the glyph row's full_width_p flag is set.
191
65008712
GM
1922001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
193
194 * xdisp.c (highlight_trailing_whitespace): On character terminals,
195 skip the padding blanks inserted in extend_face_to_end_of_line,
196 before checking for trailing whitespace.
197
159cf431
GM
1982001-03-13 Gerd Moellmann <gerd@gnu.org>
199
19b2bb80
GM
200 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
201 Remove special handling for LessTif/Motif.
202 (toplevel): Don't include Xm/Xm.h.
203
afcdc0a1
GM
204 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>: Remove
205 workaround code for LessTif; it doesn't work anymore.
206
2564ea1b 207 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 208 Xm/ScrollBarP.h.
afcdc0a1 209
23442ae4
GM
210 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Don't
211 access private scroll bar data; it's no longer necessary with
212 contemporary LessTif.
213
9faaaa52
GM
214 * xfaces.c (xm_set_menu_resources_from_menu_face): Change
215 #if 0 to #ifndef LESSTIF_VERSION.
216
159cf431
GM
217 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
218 removing button grabs.
219
c6f7429a
KH
2202001-03-13 Kenichi Handa <handa@etl.go.jp>
221
cb82d767
KH
222 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
223 and clip-large-size-font as obsolete.
224
c6f7429a
KH
225 * lread.c (read_multibyte): Check the validity of multibyte
226 sequence. If invalid, return the first byte.
227
760cefb5
GM
2282001-03-12 Gerd Moellmann <gerd@gnu.org>
229
230 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
231 before running the command; timer functions or process
232 filters may have set it.
233
5141f9d0
EZ
2342001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
235
236 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
237 Doc fix.
238
b6a15240
GM
2392001-03-12 Gerd Moellmann <gerd@gnu.org>
240
241 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
242 to sprintf.
243
95522746
GM
2442001-03-09 Gerd Moellmann <gerd@gnu.org>
245
db14cfc5
GM
246 * dispextern.h (string_buffer_position): Add prototype.
247
248 * xdisp.c (string_buffer_position, display_prop_string_p)
249 (single_display_prop_string_p): New functions.
250
251 * xterm.c (note_mouse_highlight): If there's no help-echo on
252 a string, look at the buffer text ``under'' it.
253
254 * keyboard.c (make_lispy_event): Add string info to the event,
255 analogous to what's done on mode lines.
256 (read_key_sequence): For a click on a string, consider `local-map'
257 and `keymap' of that string.
258
3cfd8357
GM
259 * keyboard.c (make_lispy_event, make_lispy_movement): Adjust
260 calls to buffer_posn_from_coords to new format.
261
262 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
263
264 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
265 POS; return void.
266
95522746
GM
267 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
268 flags argument to emacs_open; it seems to conflict with O_EXCL.
269
898a399d
KH
2702001-03-09 Kenichi Handa <handa@etl.go.jp>
271
28cd4910
KH
272 * composite.h (struct composition): Change types of members;
273 glyph_len to unsigned, width to unsigned short.
898a399d 274
4cdf6a6c
AI
2752001-03-08 Andrew Innes <andrewi@gnu.org>
276
277 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
278 menu titles.
279
129004d3
GM
2802001-03-08 Gerd Moellmann <gerd@gnu.org>
281
221dd3e7
GM
282 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
283 instead of nil.
284
5de7c6f2
GM
285 * xterm.c (note_mouse_highlight): Handle mouse-face and
286 help-echo in strings.
287 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
288 (fast_find_string_pos): New function.
289
290 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
291 (display_string): Call face_at_string_position with new
292 parameter.
293
294 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
295 Handle `mouse-face'.
296
297 * dispextern.h (face_at_string_position): Change prototype.
298
e1fbabaf
GM
299 * dired.c (directory_files_internal): Handle EAGAIN more
300 efficiently.
301
129004d3
GM
302 * keyboard.c (make_lispy_event): Avoid generating drag events
303 if the mouse hasn't actually moved to another buffer position.
304
80c8ab8c
DL
3052001-03-08 Dave Love <fx@gnu.org>
306
129004d3 307 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 308
989521fd
GM
3092001-03-08 Gerd Moellmann <gerd@gnu.org>
310
311 * process.c (Fset_process_window_size): Fix a typo.
312
bb5c338d
KH
3132001-03-08 Kenichi Handa <handa@etl.go.jp>
314
315 * coding.c (detect_coding_sjis): Do more rigid check.
316 (detect_coding_big5): Likewise.
317 (decode_coding_sjis_big5): Likewise.
318 (Fdetect_coding_region): Call detect_coding_system with tailing
319 anchor byte `\0' for more rigid detection.
a1b12fe9
KH
320 (detect_coding_mask): Fix the incorrect handling of arg
321 MULTIBYTEP.
bb5c338d
KH
322 (Fdetect_coding_string): Likewise.
323
8b8f9197
SM
3242001-03-07 Stefan Monnier <monnier@cs.yale.edu>
325
326 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
327 a string before extracting its data.
328
3bdf2660
GM
3292001-03-07 Gerd Moellmann <gerd@gnu.org>
330
331 * window.c (Frecenter): Rewrite code handling negative values
332 of ARG on graphical frames.
333
3342001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
335
336 * window.c (displayed_window_lines): If W->start is outside the
337 accessible portion of the buffer, call start_display with BEGV or
338 ZV instead of W->start.
339
471f86b9
GM
3402001-03-07 Gerd Moellmann <gerd@gnu.org>
341
2ab62c6c
GM
342 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
343
471f86b9
GM
344 * process.c (Fset_process_filter): Don't crash if the input
345 file descriptor of PROCESS is closed.
346 (Fset_process_window_size): Likewise.
347
101922c3
GM
3482001-03-06 Kenichi Handa <handa@etl.go.jp>
349
350 * xterm.c (XTflash): Make the timeout of select shorter, and call
351 select repeatedly until the desired time expires.
352
45d051a7
GM
3532001-03-06 Gerd Moellmann <gerd@gnu.org>
354
355 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
356
357 * xfns.c (Fx_create_frame): Clear Vwindow_list.
358
359 * lisp.h (Vwindow_list): Declare extern.
360
8f372c46
EZ
3612001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
362
363 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
364
f16a7aa5
GM
3652001-03-06 Gerd Moellmann <gerd@gnu.org>
366
157ae273
GM
367 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
368 to detect a case where we have to highlight a different region
369 despite not having left the currently highlighted region.
370 Set mouse_face_overlay in the x_display_info.
45d051a7 371 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
372
373 * xterm.h (struct x_display_info): Add mouse_face_overlay.
374
375 * buffer.c (mouse_face_overlay_overlaps): New function.
376
377 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
378 (Qmouse_face): Declare extern.
379
f16a7aa5
GM
380 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
381 if face_change_count is non-zero.
382
827afcac
KH
3832001-03-06 Kenichi Handa <handa@etl.go.jp>
384
385 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
386 that the source is unibyte.
387
14c7242e
DL
3882001-03-05 Dave Love <fx@gnu.org>
389
827afcac 390 * xterm.c (XTmouse_position): Fix typo.
14c7242e 391
c28b847b
GM
3922001-03-05 Gerd Moellmann <gerd@gnu.org>
393
394 * minibuf.c (read_minibuf): Clean up the binding stack if
395 called noninteractively.
396
b86644f2
KH
3972001-03-05 Kenichi Handa <handa@etl.go.jp>
398
399 * coding.c (syms_of_coding): Docstring modified.
400
203682cc 4012001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
402
403 * charset.c (char_to_string): If a single byte char has modifier
404 bits that can't be reflected to the character code, ignore them
45d051a7 405 instead of signaling an error.
b86644f2 406
e30bd7b7
EZ
4072001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
408
409 * s/msdos.h: Update copyright notice.
410
411 * dosfns.h: Update copyright notice.
412
413 * dosfns.c: Update copyright notice.
414
415 * msdos.c: Update copyright notice.
416
b52b65bd
GM
4172001-03-02 Gerd Moellmann <gerd@gnu.org>
418
419 * xterm.c (glyph_rect): New function.
420 (XTmouse_position): Use it to raise the threshold for mouse
421 movement event generation.
422
53c4b1e6
EZ
4232001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
424
425 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
426 specifies (reverse . t), reverse the initial screen colors.
427 (IT_set_frame_parameters): If the property is foreground-color,
428 but we are reversing the colors, set bg_set, not fg_set. Likewise
429 for setting background-color and reversing: set fg_set. Set
430 unspecified-fg and unspecified-bg correctly when (reverse . t) is
431 in effect.
432
433 * xfaces.c (Finternal_set_lisp_face_attribute)
434 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
435 parameters alist.
436
f964b4d7
GM
4372001-03-02 Gerd Moellmann <gerd@gnu.org>
438
ef53d75e
GM
439 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
440 to a single slash in the middle of file names.
441
cda0f4da
GM
442 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
443 Accept only alphanumeric time zone names.
444
f964b4d7
GM
445 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
446 or width area.
447 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
448 a widget to zero height.
449
c3c45f65
GM
4502001-03-01 Gerd Moellmann <gerd@gnu.org>
451
452 * window.c (Fwindow_end): Call move_it_past_eol only if
453 ending up on a partially visible line.
454
028d739a
DL
4552001-03-01 Dave Love <fx@gnu.org>
456
457 * ccl.c (Fccl_execute): Doc fix.
458
57c5889c
GM
4592001-03-01 Gerd Moellmann <gerd@gnu.org>
460
35f59f6b
GM
461 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
462 of the tool bar before calling x_figure_window_size.
463
f84ff02c
GM
464 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
465 NULL after destroying it, otherwise XTread_socket can access a
466 destroyed widget when input is unblocked.
467
8b8f9197 468 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
420f628c 469
57c5889c
GM
470 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
471 same name as before, although there was a change in fontsets.
472
224227d1
KR
4732001-02-28 Ken Raeburn <raeburn@gnu.org>
474
4560730a
KR
475 * lisp.h (Fframe_parameter): Declare.
476
224227d1 477 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 478 Lisp_Object.
224227d1 479
ece93c02
GM
4802001-02-28 Gerd Moellmann <gerd@gnu.org>
481
11ef99b9
GM
482 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
483 NULL instead.
484
485 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
486 NULL instead.
487
ece93c02
GM
488 * alloc.c (toplevel): Include process.h.
489 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
490 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
491 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
492 (allocate_vector, allocate_hash_table, allocate_window)
493 (allocate_frame, allocate_process, allocate_other_vector): New
494 functions.
495 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
496 (mark_maybe_pointer): New function.
497 (mark_memory): Also mark Lisp data to which only pointers
498 remain and not Lisp_Objects.
499 (min_heap_address, max_heap_address): New variables.
500 (mem_find): Return MEM_NIL if START is below min_heap_address or
501 above max_heap_address.
502 (mem_insert): Compute min_heap_address and max_heap_address.
503
504 * process.c (make_process): Use allocate_process.
505
506 * frame.c (make_frame): Use allocate_frame.
507
508 * window.c (make_window, make_dummy_parent): Use allocate_window.
509 (Fcurrent_window_configuration): Use allocate_other_vector.
510
511 * lisp.h (allocate_vectorlike): Remove prototype.
512 (allocate_vector, allocate_other_vector, allocate_frame)
513 (allocate_window, allocate_process, allocate_hash_table):
514 Add prototypes.
515
516 * fns.c (Fdelete, larger_vector): Use allocate_vector.
517 (make_hash_table, copy_hash_table): Use allocate_hash_table.
518
063af457
KH
5192001-02-27 Kenichi Handa <handa@etl.go.jp>
520
521 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
522 treat the produced bytes as a valid multibyte sequence.
523
524 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
525 (ccl_driver) <CCL_WriteMultibyteChar2>: Use
526 CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
527 <ccl_finish>: Set ccl->eight_bit_control properly.
528
529 * ccl.h (struct ccl_program): New member eight_bit_control.
530
f58c6494
SM
5312001-02-26 Stefan Monnier <monnier@cs.yale.edu>
532
533 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
534 accessible_keymaps_char_table.
535 (accessible_keymaps_char_table): Obey `is_metized'.
536 (where_is_internal, Fwhere_is_internal): Don't confuse int and
537 Lisp_Object.
538
c596c392
GM
5392001-02-26 Gerd Moellmann <gerd@gnu.org>
540
541 * dispnew.c: Check HAVE_TERM_H before including term.h.
542
425de386
AI
5432001-02-24 Andrew Innes <andrewi@gnu.org>
544
545 * makefile.w32-in: Update copyright notice.
546
2ba11bbd
SM
5472001-02-24 Stefan Monnier <monnier@cs.yale.edu>
548
549 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
550
66c56ed1
KH
5512001-02-24 Kenichi Handa <handa@etl.go.jp>
552
4c1593ce
KH
553 * Makefile.in (lisp): Add international/utf-8.elc.
554
66c56ed1
KH
555 * fontset.c (Fnew_fontset): Fix handling of the case that an
556 element of FONTLIST is a cons of family and registry.
557
796ead7e
JR
5582001-02-23 Jason Rumney <jasonr@gnu.org>
559
560 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
561 to height unconditionally.
562
563 * w32term.c (x_set_glyph_string_background_width): Extend the
564 background face to the end of the drawing area in the text area,
565 only.
566 (x_insert_glyphs): Call window_box_left to obtain the left
567 x-coordinate of the area to shift.
568
569 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
570 safe_run_hooks.
571
f6839838
AI
5722001-02-22 Andrew Innes <andrewi@gnu.org>
573
574 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header
575 files.
576 ($(BLD)\dispnew.obj):
577 ($(BLD)\editfns.obj):
578 ($(BLD)\fileio.obj):
579 ($(BLD)\filelock.obj):
580 ($(BLD)\keyboard.obj):
581 ($(BLD)\w32proc.obj):
582 ($(BLD)\process.obj):
583 ($(BLD)\sysdep.obj): Ditto.
584
585 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
586 header files.
587 ($(BLD)/dispnew.$(O)):
588 ($(BLD)/editfns.$(O)):
589 ($(BLD)/fileio.$(O)):
590 ($(BLD)/filelock.$(O)):
591 ($(BLD)/keyboard.$(O)):
592 ($(BLD)/w32proc.$(O)):
593 ($(BLD)/process.$(O)):
594 ($(BLD)/sysdep.$(O)): Ditto.
595
c224f70b
GM
5962001-02-22 Gerd Moellmann <gerd@gnu.org>
597
51695746
GM
598 * xdisp.c (forward_to_next_line_start): When taking the shortcut
599 at the start of the function, check that the \n in it->c is
600 from the iterator's current position.
601
a61b7058
GM
602 * xdisp.c (handle_single_display_prop): Add parameter
603 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
604 properties which replace the display of text with something else.
605 (handle_display_prop): Call handle_single_display_prop with
606 additional argument saying if we already replaced text display
607 with something else. Use AREF.
608 (with_echo_area_buffer_unwind_data, display_menu_bar)
609 (decode_mode_spec_coding): Use AREF and ASIZE.
610
3473f362
GM
611 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
612 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
613 * vmstime.h: Files removed.
614
2bb58df3
GM
615 * unexencap.c, unexfx2800.c: Files removed.
616
c224f70b
GM
617 * dispnew.c (direct_output_for_insert): Give up if we are showing
618 a message or just cleared the message because we might need to
619 resize the echo area window or display an empty echo area.
620
ffc9ff0c
GM
6212001-02-21 Gerd Moellmann <gerd@gnu.org>
622
0528abe1
GM
623 * xdisp.c (redisplay_internal): Do the
624 mark_window_display_accurate after all windows have been
625 redisplayed because this call resets flags in buffers which are
626 needed for proper redisplay.
627
ffc9ff0c
GM
628 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
629 display_hourglass_p, start_hourglass, cancel_hourglass instead of
630 the old names.
631
632 * w32term.h (struct x_output): Rename busy_cursor to
633 hourglass_cursor, busy_window to hourglass_window, busy_p to
634 hourglass_p.
635
636 * msdos.h (struct x_output): Rename busy_window to
637 hourglass_window, busy_p to hourglass_p.
638
639 * xterm.h (struct x_output): Rename busy_cursor to
640 hourglass_cursor, busy_window to hourglass_window, busy_p to
641 hourglass_p.
642
643 * xfns.c: Rename everything containing *busy_cursor* and similar
644 to *hourglass*.
645 (syms_of_w32fns): Rename x-busy-pointer-shape to
646 x-hourglass-pointer-shape, display-busy-cursor to
647 display-hourglass, busy-cursor-delay to hourglass-delay.
648
649 * w32fns.c: Rename everything containing *busy_cursor* and similar
650 to *hourglass*.
651 (syms_of_w32fns): Rename x-busy-pointer-shape to
652 x-hourglass-pointer-shape, display-busy-cursor to
653 display-hourglass, busy-cursor-delay to hourglass-delay.
654
655 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
656 of its busy_p flag.
657
658 * dispextern.h (start_hourglass, cancel_hourglass)
659 (display_hourglass_p): Renamed from *busy_cursor*.
660
ab2c5f0a
GM
6612001-02-20 Gerd Moellmann <gerd@gnu.org>
662
d17e49a8
GM
663 * keyboard.c (read_char): When an event from unread-command-events
664 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
665
fa97adf6
GM
666 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
667 equal to the current buffer.
668
ab2c5f0a
GM
669 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
670 nil, otherwise we're left with truncate_lines t when a message
671 is printed with message-truncate-lines bound to t.
672
aeac019e
GM
6732001-02-19 Gerd Moellmann <gerd@gnu.org>
674
c8bc6f65
GM
675 * window.c (Fmove_to_window_line): Undo last change.
676 (displayed_window_lines): Call line_bottom_y to determine
677 the line's bottom position.
678
679 * dispextern.h (line_bottom_y): Add prototype.
680
681 * xdisp.c (line_bottom_y): New function extracted from
682 pos_visible_p.
683 (pos_visible_p): Use it.
684
980a2d69
GM
685 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
686 set redisplaying_p to 0 here instead of in Frecursive_edit.
687 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
688 set redisplaying_p.
689
184d2372
GM
690 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
691 New variables.
692 (syms_of_xdisp): Initialize new variables.
693 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
694 Specbind `inhibit-menubar-update' when updating the menu bar.
695
65048e97
GM
696 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
697 safe_run_hooks.
698
699 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
700 safe_run_hooks.
701
a57c4026
GM
702 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
703 is null.
704
aeac019e
GM
705 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
706 to the start of the file.
707
76846b31
GM
7082001-02-16 Gerd Moellmann <gerd@gnu.org>
709
f3f053f3 710 * window.c (set_window_buffer): Fix last change.
25237df5 711
f3f053f3
GM
712 * window.c (set_window_buffer): Set window's vscroll to 0.
713
dad75588
GM
714 * window.c (coordinates_in_window): Increase width of area
715 where the vertical line can be dragged.
716
c220b753
GM
717 * xterm.c (x_set_glyph_string_background_width): Extend the
718 background face to the end of the drawing area in the text
719 area, only.
720
c56b1c1b
GM
721 * xdisp.c (handle_single_display_prop): Set iterator's position
722 to where the `display' property starts, like for images.
723 (dump_glyph): New function.
724 (dump_glyph_row): Use it. Dump info about marginal areas.
725
726 * dispnew.c (direct_output_for_insert): Recognize more cases where
727 glyphs can be written instead of being inserted.
728
729 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
730 the left x-coordinate of the area to shift.
731
76846b31
GM
732 * dired.c (directory_files_internal): Set result list to nil
733 before retrying.
734
0fc71a77
KH
7352001-02-15 Kenichi Handa <handa@etl.go.jp>
736
737 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
738 invalid multibyte sequence, treat *SRC as a character of
739 eight-bit-graphic.
740
25078b54
EZ
7412001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
742
743 * textprop.c (Fset_text_properties): Doc fix.
744
8399f8a0
GM
7452001-02-15 Gerd Moellmann <gerd@gnu.org>
746
747 * dispnew.c (update_text_area): Undo change of 2001-01-12.
748
9a2a6f73
DL
7492001-02-14 Dave Love <fx@gnu.org>
750
751 * coding.c: Doc and message fixes.
752
bf853fee
AI
7532001-02-14 Andrew Innes <andrewi@gnu.org>
754
755 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
756 Emacs frame above the screen size.
757
78c663d8
GM
7582001-02-14 Gerd Moellmann <gerd@gnu.org>
759
760 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
761
7cc9f69f
GM
7622001-02-13 Gerd Moellmann <gerd@gnu.org>
763
0a411995
GM
764 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
765 case that TO ends up beyond ZV after running before-change-functions.
766
5ddc1b75
GM
767 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
768 the selected window if it is showing the buffer in question.
769
7cc9f69f
GM
770 * dired.c (directory_files_internal): Initialize errno.
771 (toplevel): Include errno.h.
772
2e6621ca
GM
7732001-02-13 Kenichi Handa <handa@etl.go.jp>
774
775 * xfaces.c (best_matching_font): New parameter width_ratio.
776 Multiply avgwidth by width_ratio.
777 (choose_face_font): Call best_matching_font with width_ratio
778 calculated from the column width of C.
779
60222d69
AI
7802001-02-12 Andrew Innes <andrewi@gnu.org>
781
782 The following changes are to draw box lines inside characters area
783 if line-width is negative.
784
785 * w32term.c (x_produce_image_glyph): Pay attention to the case that
786 face->box_line_width is negative.
787 (x_produce_stretch_glyph): Likewise.
788 (x_produce_glyphs): Likewise.
789 (x_estimate_mode_line_height): Likewise.
790 (x_draw_glyph_string_background): Likewise.
791 (x_draw_glyph_string_foreground): Likewise.
792 (x_draw_composite_glyph_string_foreground): Likewise.
793 (x_draw_glyph_string_box): Likewise.
794 (x_draw_image_foreground): Likewise.
795 (x_draw_image_relief): Likewise.
796 (x_draw_image_foreground_1): Likewise.
797 (x_draw_image_glyph_string): Likewise.
798
9804b846
KH
7992001-02-09 Kenichi Handa <handa@etl.go.jp>
800
801 The following changes are to draw box lines inside characters area
802 if line-width is negative.
803
804 * xterm.c (x_produce_image_glyph): Pay attention to the case that
805 face->box_line_width is negative.
806 (x_produce_stretch_glyph): Likewise.
807 (x_produce_glyphs): Likewise.
808 (x_estimate_mode_line_height): Likewise.
809 (x_draw_glyph_string_background): Likewise.
810 (x_draw_glyph_string_foreground): Likewise.
811 (x_draw_composite_glyph_string_foreground): Likewise.
812 (x_draw_glyph_string_box): Likewise.
813 (x_draw_image_foreground): Likewise.
814 (x_draw_image_relief): Likewise.
815 (x_draw_image_foreground_1): Likewise.
816 (x_draw_image_glyph_string): Likewise.
817
818 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
819 and :line-width can be negative.
820 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be
821 negative.
822
49be9f70
JR
8232001-02-09 Jason Rumney <jasonr@gnu.org>
824
825 * w32term.c (w32_encode_char): Treat eight bit graphic and control
826 characters the same as ASCII and latin-1.
827 (x_display_and_set_cursor): Check for the focus frame's selected
828 window instead of selected_window.
829 (x_after_update_window_line): Don't clear if frame's internal
830 border width is zero.
831 (x_new_font): Don't change a tooltip's size.
832 (w32_initialize): Set char_ins_del_ok to 1.
833
834 * w32fns.c (Fx_show_tip): Fix calls to make_number.
835 (x_set_font): If font hasn't changed, avoid recomputing
836 faces and other things.
837 (x_set_tool_bar_lines): Do nothing if frame is
838 minibuffer-only,
839 (Fx_create_frame): Add the tool bar height to the frame
840 height.
841 (x_create_tip_frame): Prevent changing the tooltip's
842 background color by specifying a color for the default font
843 in .Xdefaults.
844 (Qcancel_timer): New variable.
845 (syms_of_w32fns): Initialize and staticpro it.
846 (Fx_hide_tip, Fx_show_tip): Use it.
847 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
848 the timer.
849 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
850
851 * w32.c (init_environment): Duplicate local string before putenv.
852
555e35d2
SZ
8532001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
854
855 * charset.c (Fstring): A typo.
856
19c92c94
KH
8572001-02-09 Kenichi Handa <handa@etl.go.jp>
858
e47a1c33
KH
859 * charset.c (Fstring): If all arguments are less than 256, return
860 a unibyte string.
861
862 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
863 return a unibyte string.
864
19c92c94
KH
865 * coding.c (code_convert_region): After detecting a coding, if
866 nothing found, set coding->composing to COMPOSITION_NO.
867 (decode_coding_string): Likewise.
868
d8e675f5
SM
8692001-02-08 Stefan Monnier <monnier@cs.yale.edu>
870
871 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
872 to avoid overflow.
873
bd503487
KH
8742001-02-07 Kenichi Handa <handa@etl.go.jp>
875
876 * charset.c (parse_str_to_multibyte): New function.
877
878 * charset.h (parse_str_to_multibyte): Extern it.
879
880 * print.c (print_string): If we are going to print a unibyte
881 string into a multibyte buffer, convert the string to multibyte by
882 str_to_multibyte.
883
a8370d72
AI
8842001-02-06 Andrew Innes <andrewi@gnu.org>
885
886 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
887 been created. It seems we can get sent window messages such as
888 WM_ERASEBKGND before we properly update a frame.
889
c363a1d6
GM
8902001-02-06 Gerd Moellmann <gerd@gnu.org>
891
892 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
893 Avoid some unnecessary cursor positioning.
894
a08332c0
GM
8952001-02-05 Gerd Moellmann <gerd@gnu.org>
896
897 * xfaces.c (split_font_name): Compute numeric value of
898 XLFD_AVGWIDTH.
899 (LFACE_AVGWIDTH): New macro.
900 (LFACEP): Use AREF.
901 (check_lface_attrs): Check LFACE_AVGWIDTH.
902 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
903 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
904 (merge_face_vectors): Check LFACE_AVGWIDTH.
905 (Finternal_make_lisp_face): Use AREF.
906 (xm_set_menu_resources_from_menu_face)
907 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
908 (Finternal_lisp_face_empty_p): Use AREF.
909 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
910 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
911 Compare average widths..
912 (best_matching_font): Arrange for comparing average widths.
913
914 * dispextern.h (enum lface_attribute_index): Add
915 LFACE_AVGWIDTH_INDEX (invisible from Lisp).
916
5cb3c8d4
DL
9172001-02-05 Dave Love <fx@gnu.org>
918
919 * puresize.h: Revert last change following loadup.el change.
920
193fba87
AI
9212001-02-05 Andrew Innes <andrewi@gnu.org>
922
923 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
924 invocation of temacs, to work with Windows 2000.
925 (bootstrap-emacs): Ditto.
926
e16f52ce
GM
9272001-02-05 Gerd Moellmann <gerd@gnu.org>
928
7a58ab59
GM
929 * xterm.c (x_display_and_set_cursor): Check for the focus
930 frame's selected window instead of selected_window.
931
e89aaabd
GM
932 * xdisp.c (try_scrolling): If point is in the line below the
933 window, make sure to move the iterator at least a canonical
934 char height down.
935
e16f52ce
GM
936 * window.c (Fmove_to_window_line): Don't add 1 if window is
937 vscrolled.
938
789ce875
KH
9392001-02-05 Kenichi Handa <handa@etl.go.jp>
940
941 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If
942 invalid, execute CCL_INVALID_CMD.
943 (ccl_driver): If the CCL program is terminated because of
944 CCL_STAT_INVALID_CMD, copy the remaining source data to the
945 destination instead of throwing them away.
946
20b28f82
GM
9472001-02-02 Gerd Moellmann <gerd@gnu.org>
948
79fb38c0
GM
949 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
950 faces and other things.
951
20b28f82
GM
952 * xdisp.c (get_next_display_element): Fix case of empty
953 display table entry.
954
5a72551e
EZ
9552001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
956
eb24d0bf
EZ
957 * editfns.c (Fconstrain_to_field): Doc fix.
958
6a3f48c7
EZ
959 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
960 into `thoroughly', to make it consistent with the doc string.
961
5a72551e
EZ
962 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
963
01acdb05
GM
9642001-02-01 Gerd Moellmann <gerd@gnu.org>
965
0353b28f
GM
966 * search.c (search_buffer): Call set_search_regs with a byte
967 position, not a character position.
968
01acdb05
GM
969 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
970 minibuffer-only,
971
e86b5133
EZ
9722001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
973
974 * frame.c (Fmodify_frame_parameters): Doc fix.
975
7442878f
GM
9762001-01-31 Gerd Moellmann <gerd@gnu.org>
977
01acdb05
GM
978 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
979 identifier which is not reserved by Standard C.
980
7442878f
GM
981 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
982
983 * window.c (enum window_part): New enumeration.
984 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
985 Qright_bitmap_area.
986 (coordinates_in_window): Return an enumerator from enum
987 window_part. Fix handling of right scroll bar.
988 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
989 `right-fringe' instead of `left-bitmap-area' and
990 `right-bitmap-area'. Use enumerators from enum window_part
991 instead of hard-coded integers.
992 (check_window_containing, window_from_coordinates): Use
993 enumerators from enum window_part instead of hard-coded integers.
994 (syms_of_window): Replace Qleft_bitmap_area and
995 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
996
7c132cba
EZ
9972001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
998
999 * editfns.c (Fformat_time_string): Doc fix.
1000
c359dd9e
SM
10012001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1002
1003 * keymap.c (Fwhere_is_internal): Use the first valid binding
1004 if no ascii binding is found (when firstonly is t).
1005
ce070307
GM
10062001-01-31 Gerd Moellmann <gerd@gnu.org>
1007
b4f30ec5
GM
1008 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1009 instead of Finteractive_p.
1010
1011 * lisp.h (interactive_p): Add prototype.
1012
1013 * eval.c (interactive_p): New function.
1014 (Finteractive_p): Use it.
1015
ce070307
GM
1016 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1017
f57b6e64
DL
10182001-01-31 Dave Love <fx@gnu.org>
1019
d61c7afe
DL
1020 * .gdbinit (hook-run): Define to run xreload.
1021
f57b6e64
DL
1022 * textprop.c (Fset_text_properties): Fix newline in doc string.
1023
eef93f99
GM
10242001-01-30 Gerd Moellmann <gerd@gnu.org>
1025
1026 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use
1027 DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
1028
1029 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
1030 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
1031 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1032
1033 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1034 height.
1035
d9c1f6f9
DL
10362001-01-30 Dave Love <fx@gnu.org>
1037
1038 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1039 AFTER_POTENTIAL_GC.
1040
e8f044a0
GM
10412001-01-29 Gerd Moellmann <gerd@gnu.org>
1042
1043 * bytecode.c (Fbyte_code) <Bcurrent_column>: Add
1044 BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
1045
8e1db7b3
EZ
10462001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1047
1048 * textprop.c (Fset_text_properties): Doc fix.
1049
4eefd9d2
GM
10502001-01-29 Gerd Moellmann <gerd@gnu.org>
1051
1052 * xdisp.c (forward_to_next_line_start): Remove xassert.
1053
fccb8288
EZ
10542001-01-29 Jason Rumney <jasonr@gnu.org>
1055
4eefd9d2 1056 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1057 returning without releasing it.
1058
76581eab
KH
10592001-01-29 Kenichi Handa <handa@etl.go.jp>
1060
1061 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1062 for '^', '$', and '\0'.
1063
83a96b4d
AC
10642001-01-28 Andrew Choi <akochoi@i-cable.com>
1065
5604ec34
AC
1066 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1067 regex for '^', '$', and '\0'.
1068
83a96b4d
AC
1069 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1070 only if current_sblock has been initialized.
1071
1072 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1073 terminal frame even if it is the only visible frame.
1074
c09a6440
KH
10752001-01-28 Kenichi Handa <handa@etl.go.jp>
1076
1077 * fontset.c (font_family_registry): Even if FONTNAME conform to
1078 XLFD, if it specifies other fields than family and registry,
1079 return FONTANME. New argument FORCE if nonzero cancel that
1080 feature.
1081 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
1082 a signle byte character. Don't set FAMILY part to nil here. It
1083 is handled by the caller choose_face_font.
1084 (Fnew_fontset): Call font_family_registry with FORCE 0.
1085 (Fset_fontset_font): Likewise.
1086
4dcd74e6
GM
10872001-01-27 Gerd Moellmann <gerd@gnu.org>
1088
1089 * xdisp.c (display_line): Don't treat a newline as fitting
1090 on the line.
1091
d2906bf8
GM
10922001-01-26 Gerd Moellmann <gerd@gnu.org>
1093
0130fe1a
GM
1094 * window.c (size_window): Set the window's orig_top to nil when
1095 changing heights, so that a future shrink_mini_window won't
1096 restore a bogus height.
1097
550f0e6a
GM
1098 * frame.c (do_switch_frame): If selected frame has a mini-window,
1099 resize that to exact size.
1100
b7b20fbd
GM
1101 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1102
a47b7816
GM
1103 * xdisp.c (display_line): Simplify check for glyphs fitting
1104 entirely in the line.
1105
d2906bf8
GM
1106 * xfns.c (xic_style): New variable.
1107 (create_frame_xic): Move static variable to global scope for
550f0e6a 1108 the case that `static' gets defined away.
d2906bf8 1109
73df2b1e
KH
11102001-01-26 Kenichi Handa <handa@etl.go.jp>
1111
1112 * coding.c (decode_coding): Set a flag for inhibiting
1113 inconsistent eol.
1114 (code_convert_region): Always set saved_coding_symbol.
1115 (decode_coding_string): Likewise. Update coding->symbol when we
1116 encounter a inconsistent eol by the same way as
1117 code_convert_region.
1118
6613cfc4
GM
11192001-01-25 Gerd Moellmann <gerd@gnu.org>
1120
c5e6e06b
GM
1121 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1122 XClearArea.
1123
1124 * xterm.c (x_after_update_window_line): Don't clear if frame's
1125 internal border width is zero.
1126 (x_clear_area): New function.
1127 (x_after_update_window_line, x_clear_end_of_line)
1128 (x_scroll_bar_create, x_scroll_bar_set_handle)
1129 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1130 instead of XClearArea.
1131
1132 * xterm.h (x_clear_area): Add prototype.
1133
6613cfc4
GM
1134 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1135 which doesn't seem necessary anymore with Lesstif 0.92.
1136
650cc6cc
DL
11372001-01-25 Dave Love <fx@gnu.org>
1138
34ac3367
DL
1139 * puresize.h (BASE_PURESIZE): Up to 720000.
1140
650cc6cc
DL
1141 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1142
5e37dc22
GM
11432001-01-25 Gerd Moellmann <gerd@gnu.org>
1144
e1e441f9
GM
1145 * xdisp.c (echo_area_display): Don't call redisplay_internal
1146 when Emacs is shutting down. We can't run hooks etc. that
1147 would be necessary to do a redisplay.
1148
5e37dc22
GM
1149 * lread.c (read_integer): Use type EMACS_INT instead of int.
1150
0fb94c7f
EZ
11512001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1152
1153 * ccl.c (ccl_driver): Fix last change.
1154
e3778624
KH
11552001-01-25 Kenichi Handa <handa@etl.go.jp>
1156
1157 * ccl.h (sturct ccl_program): New member suppress_error.
1158
bb264518 1159 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1160 insert error message to the output.
1161 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1162
1163 * coding.h (struct coding_system): New member suppress_error.
1164
1165 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1166 (Fset_terminal_coding_system_internal): Set the member
1167 suppress_error to 1.
1168 (Fset_safe_terminal_coding_system_internal): Likewise.
1169
245ed2b1
SM
11702001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1171
1172 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1173 as if it was a `charset'.
1174
f9aaedb6
GM
11752001-01-24 Gerd Moellmann <gerd@gnu.org>
1176
1177 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1178 value in where_is_cache; the next lookup in the cache returns
1179 something bogus if we do.
1180
c3902c3e
EZ
11812001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1182
1183 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1184 if HAVE_WINDOW_SYSTEM isn't defined.
1185
3497f73e
GM
11862001-01-24 Gerd Moellmann <gerd@gnu.org>
1187
e7e41584
GM
1188 * fns.c (sweep_weak_table): Fix code taking items out of
1189 the hash collision chain. Some cleanup.
1190
3497f73e
GM
1191 * xterm.c (x_new_font): Don't change a tooltip's size.
1192
1193 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1194 background color by specifying a color for the default font
1195 in .Xdefaults.
1196
3d48e687
KH
11972001-01-24 Kenichi Handa <handa@etl.go.jp>
1198
96531b20
KH
1199 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1200 a workaround for SunOS 4's cc.
1201 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1202 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1203 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1204 statement.
3d48e687 1205
a30629d2
GM
12062001-01-23 Gerd Moellmann <gerd@gnu.org>
1207
1208 * xterm.c (x_set_window_size_1): New function extracted from
1209 x_set_window_size.
1210 (x_set_window_size): Use it.
1211 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1212 doesn't have a widget, like tooltips.
1213
5a43decf
EZ
12142001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1215
1216 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
1217 fix.
1218
b0e98867
KH
12192001-01-23 Kenichi Handa <handa@etl.go.jp>
1220
1221 * fns.c (Fset_char_table_default): Fix to make sub char-table
1222 correctly.
1223
50606b4c
GM
12242001-01-22 Gerd Moellmann <gerd@gnu.org>
1225
cb2ddc53 1226 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 1227 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
1228 items.
1229
57c28064
GM
1230 * xdisp.c (Ftool_bar_lines_needed): New function.
1231 (syms_of_xdisp): Defsubr it.
1232
50606b4c
GM
1233 * editfns.c (Fformat): Don't extend text properties from arguments
1234 to padding chars in the result.
1235
2f169c38
EZ
12362001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1237
1238 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1239
0f32f023
AI
12402001-01-20 Andrew Innes <andrewi@gnu.org>
1241
1242 * w32term.c (w32_ring_bell): Only support visible bell on w32
1243 frames.
1244 (w32_initialize): Don't set term hooks that aren't actually needed
1245 in windowed mode.
1246
1247 * xfaces.c (realize_default_face):
1248 (realize_face):
1249 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1250
1251 * xdisp.c (handle_single_display_prop): Remove references to
1252 FRAME_W32_CONSOLE_P.
1253
1254 * dispnew.c (Fredraw_frame): Remove reference to
1255 FRAME_W32_CONSOLE_P.
1256
1257 * frame.h (output_method): Remove output_w32_console method.
1258 (FRAME_W32_CONSOLE_P): Remove macro.
1259
1260 * frame.c (Qw32_console): Remove variable.
1261 (Fframep): Remove references to it.
1262 (syms_of_frame): Ditto.
1263 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1264
1265 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1266 redefinition.
1267
7173eada
KH
12682001-01-20 Kenichi Handa <handa@etl.go.jp>
1269
1270 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1271
755b45ce
AI
12722001-01-19 Andrew Innes <andrewi@gnu.org>
1273
1274 * w32.c (init_environment): Add a version-independent site-lisp
1275 directory to EMACSLOADPATH, after the version dependent one.
1276
0a949811
GM
12772001-01-19 Gerd Moellmann <gerd@gnu.org>
1278
8501998a
GM
1279 * editfns.c (Fbuffer_substring): Doc fix.
1280
0a949811
GM
1281 * xdisp.c (message_dolog, message2, message2_nolog): Rename
1282 parameter LEN to NBYTES.
1283
e6ebcbbe
KH
12842001-01-19 Kenichi Handa <handa@etl.go.jp>
1285
200ecca2
KH
1286 * charset.c (strwidth): Use c_string_width.
1287 (c_string_width): New function.
1288 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1289 Caller changed.
1290
1291 * charset.h (c_string_width, lisp_string_width): Extern them.
1292
1293 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
1294
e6ebcbbe
KH
1295 * indent.c (check_composition): Check validity of composition.
1296
200ecca2
KH
1297 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1298 characters by calling c_string_width.
1299 (x_consider_frame_title): Get byte length of frame tile string
1300 correctly.
1301 (display_mode_element): Pay attention to width of non-ASCII
1302 characters by calling strwidth.
1303
8692ca92
GM
13042001-01-18 Gerd Moellmann <gerd@gnu.org>
1305
8962e303
GM
1306 * xfns.c (Qcancel_timer): New variable.
1307 (syms_of_xfns): Initialize and staticpro it.
1308 (Fx_hide_tip, Fx_show_tip): Use it.
1309 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1310 the timer.
1311 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1312
91523be9
GM
1313 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1314
1315 * window.h (WINDOW_LIVE_P): New macro.
1316
b0b7ed0e
GM
1317 * window.c (window_size_fixed): New variable.
1318 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1319 the doc string.
1320
06bccf8e
GM
1321 * eval.c (specbind): If binding a per-buffer variable which
1322 doesn't have a buffer-local value in the current buffer, change
1323 the global value by changing the value of the symbol bound in all
1324 buffers not having their own value, to make it consistent with
1325 what happens with other buffer-local variables.
1326
8692ca92
GM
1327 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1328
1329 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1330 when searching for a newline.
1331
bb3a3b50
KH
13322001-01-18 Kenichi Handa <handa@etl.go.jp>
1333
1334 * xdisp.c (display_string): Fix previous change.
1335
c2cc16fa
JR
13362001-01-18 Jason Rumney <jasonr@gnu.org>
1337
1338 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1339 GLYPH_DEBUG is defined.
1340 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1341 true for images with `:ascent 100'.
1342 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1343 meantime, use face MOUSE_FACE_ID.
1344 If first glyph isn't a character glyph, use the ASCII NUL
1345 character to determine the face.
1346 (expose_area): Do not treat left margin specially.
1347 (note_mode_line_highlight): If no local_map, check global keymap.
1348 (note_mouse_highlight): Initialize overlay.
1349 (clear_mouse_face): Don't return if tip_frame is
1350 non-nil.
1351 (show_scroll_bars): Remove unused function.
1352 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1353 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1354 Clip to row.
1355 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
1356 nil.
1357 (x_free_frame_resources): Unload relief colors.
1358
9c11f79e
GM
13592001-01-17 Gerd Moellmann <gerd@gnu.org>
1360
3aec8722
GM
1361 * xdisp.c (forward_to_next_line_start): Avoid calling
1362 get_next_display_element when the newline is already found. This
1363 may change the iterator's position, when its current position is
1364 equal to the iterator's stop_charpos.
1365
f3ffc2c3
GM
1366 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1367 zero, use this method only at the end of a line.
1368
a86110a8
GM
1369 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
1370 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1371 if SCALABLE_FONTS_P is set.
1372
d26d6fd9
GM
1373 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1374 so that scalable fonts are included.
1375
9c11f79e
GM
1376 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1377 In the cache, use a key containing the information if scalable
1378 fonts are included.
1379 (x_load_font): Adapt to change of keys in the font cache.
1380
13812001-01-17 Kim F. Storm <storm@filanet.dk>
1382
d26d6fd9
GM
1383 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1384 XListFonts to take advantage of font caching.
1385
9c11f79e
GM
1386 * xterm.c (x_list_fonts): Ensure caching font information when
1387 called for a null frame, which is the case frequently when Emacs
1388 starts.
1389
51446987
GM
13902001-01-17 Gerd Moellmann <gerd@gnu.org>
1391
f864120f
GM
1392 * xfns.c (QCconversion): Replaces QCalgorithm.
1393
1394 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1395
1396 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1397 of :algorithm.
1398
e37d1417
GM
1399 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1400 not everything could be displayed.
1401
51446987
GM
1402 * line.h, x-list-font.c: Files removed because unused.
1403
9ad4f3e5
AI
14042001-01-17 Andrew Innes <andrewi@gnu.org>
1405
1406 * dired.c (directory_files_internal): Convert result from readdir
1407 to a unibyte string initially, to avoid possible misinterpretation
1408 of some bytes as the internal form of Emacs characters.
1409
2eda09b5
KH
14102001-01-17 Kenichi Handa <handa@etl.go.jp>
1411
1412 * fns.c (concat): Be sure to avoid putting the same `composition'
1413 property on the adjacent regions.
1414
826f3788
GM
14152001-01-16 Gerd Moellmann <gerd@gnu.org>
1416
f251459d
GM
1417 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
1418 here.
1419 (Fscroll_right, Fscroll_left): Set it here instead, if called
1420 interactively.
1421
d57b83b3
GM
1422 * buffer.c (Fset_buffer_modified_p): Set buffer's
1423 prevent_redisplay_optimizations_p flag.
1424
826f3788
GM
1425 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
1426 * sysdep.c, vmsproc.c, xselect.c: Call
1427 redisplay_preserve_echo_area with additional arg.
1428
1429 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
1430 prototype.
1431
1432 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1433 FROM_WHERE, for debugging.
1434
261d788b
KH
14352001-01-16 Kenichi Handa <handa@etl.go.jp>
1436
1437 * ccl.c (Fregister_ccl_program): Handle the return value of
1438 resolve_symbol_ccl_program correctly.
bda6b481
KH
1439 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
1440 changed.
261d788b 1441
bccee4f2
GM
14422001-01-15 Gerd Moellmann <gerd@gnu.org>
1443
e4ded23c
GM
1444 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1445 has gone in the meantime, use face MOUSE_FACE_ID.
1446
ae24cb3b
GM
1447 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
1448 x_display_info_for_display returns null, don't try to close
1449 the display; we didn't open it.
1450
bccee4f2
GM
1451 * dispnew.c (save_or_restore_current_matrices): Function removed.
1452 (save_current_matrix, restore_current_matrix): New functions.
1453 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1454 restore the frame's current matrix. Due to the glyph pointer
1455 setup done in adjust_glyph_matrix, there is no easy way to make
1456 saving the current matrix in the desired matrix generally correct,
1457 so don't try it.
1458
ebeccffa
KH
14592001-01-15 Kenichi Handa <handa@etl.go.jp>
1460
1461 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1462 truncation glyphs.
1463 (display_line): Optimize for wide characters.
e4ded23c 1464 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1465 partially. On ttys, produce more than one truncation glyph for
1466 multi-column characters that don't fit on the line.
1467
64388126
KH
14682001-01-13 Kenichi Handa <handa@etl.go.jp>
1469
1470 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
1471 it instead of WORDS_BIGENDIAN. Caller changed.
1472
8edb0a6f
JR
14732001-01-13 Jason Rumney <jasonr@gnu.org>
1474
1475 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1476 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
1477 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1478 (tiff_format, gif_format, gs_format): Adapt to change of image
1479 margins.
1480
1481 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1482 (x_draw_image_relief, x_draw_image_foreground_1)
1483 (x_draw_image_glyph_string): Adapt to change of image margins.
1484
1485 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1486 variables.
1487
1488 * w32bdf.c (search_file_line, get_cached_font_char)
1489 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1490
1491 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1492
1493 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1494 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1495 (Fw32_send_sys_command): Remove unused variables.
1496 (w32_msg_pump): Add parentheses.
1497
1498 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1499 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1500 Add parentheses.
1501
4956d1ef
GM
15022001-01-12 Gerd Moellmann <gerd@gnu.org>
1503
b30623be
GM
1504 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1505 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1506 being a pair of margins.
1507 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1508 to DEFVAR_LISP. Extend doc.
1509
1510 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1511 margins.
1512 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1513 pair of integers `(X . Y)', use X for the horizontal and Y for the
1514 vertical margin.
1515 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1516 (parse_image_spec): Check it.
1517 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1518 (tiff_format, gif_format, gs_format): Use
1519 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
1520
1521 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1522 (x_draw_image_relief, x_draw_image_foreground_1)
1523 (x_draw_image_glyph_string): Adapt to the change of image margins.
1524
1525 * dispextern.h (struct image): Replace member `margin' with
1526 `hmargin' and `vmargin'.
1527
4554cc79
GM
1528 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1529 and GLYPHS.
1530
1531 * dispnew.c (update_text_area): Put code which decrements the
1532 stop position when the row's face extends to the end of the
3bffc665 1533 line in #if 0.
4554cc79 1534
3cccce8d
GM
1535 * xfns.c (x_set_mouse_color): Fix color allocation.
1536
4956d1ef
GM
1537 * keyboard.c: Call get_local_map with new argument list.
1538
1539 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1540
1541 * intervals.h (enum map_property): Removed.
1542 (get_local_map): Change prototype.
1543
1544 * keymap.c: Call get_local_map with new argument list.
1545 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1546
2c2ff7f2
GM
15472001-01-11 Gerd Moellmann <gerd@gnu.org>
1548
a23887b9
GM
1549 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1550 of the size needed for the tool bar string. For the last image,
1551 use a `display' property that reaches to the end of the string.
1552
a7ee2d2e
GM
1553 * xselect.c (selection_request_dpyinfo): New variable.
1554 (x_handle_selection_request): Set it.
1555 (x_selection_request_lisp_error): Don't call
1556 x_decline_selection_request if selection request's display has
1557 been closed.
1558
2c2ff7f2
GM
1559 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
1560 the unregister_colors before calling XFreeColors.
1561
457b792c
GM
15622001-01-10 Dave Love <fx@gnu.org>
1563
1564 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1565 ${SOME_MACHINE_LISP}, not ${lisp}.
1566
c1efd260
GM
15672001-01-10 Gerd Moellmann <gerd@gnu.org>
1568
a98b5ed9 1569 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 1570 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
1571 line.
1572
ac95a621
GM
1573 * xselect.c (x_reply_selection_request): Add a comment.
1574
c1efd260
GM
1575 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1576 XkbGetNames instead of XkbGetKeyboard.
1577
1bfb1345
DL
15782001-01-10 Dave Love <fx@gnu.org>
1579
1580 * sysdep.c (random): Revert the declaration.
1581
38119822
GM
15822001-01-09 Gerd Moellmann <gerd@gnu.org>
1583
35f464a7
GM
1584 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
1585 function string_bytes.
1586 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1587
1588 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1589 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1590 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1591 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1592 the current sblock.
1593 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1594 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1595 after sweeping strings, and at the end.
1596 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1597
38119822
GM
1598 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1599 ensure that pop_message is called.
1600
1601 * keyboard.c (Fexecute_extended_command): Use a
1602 record_unwind_protect to ensure that pop_message is called.
1603
1604 * lisp.h (push_message_unwind): Add prototype.
1605
1606 * xdisp.c (push_message_unwind): New function.
1607
1608 * fileio.c (do_auto_save_unwind): Do the pop_message here
1609 instead of in Fdo_auto_save.
1610 (Fdo_auto_save): Don't call pop_message.
1611
f47a9ec4
KR
16122001-01-08 Ken Raeburn <raeburn@gnu.org>
1613
1614 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1615 in inner block.
1616
a758f97d
GM
16172001-01-08 Gerd Moellmann <gerd@gnu.org>
1618
6d0afc03
GM
1619 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1620 when increasing window's vscroll.
1621
a758f97d
GM
1622 * macros.c (Qkbd_macro_termination_hook): New variable.
1623 (syms_of_macros): Initialize and staticpro it.
1624 (pop_kbd_macro): Run kbd-macro-termination-hook.
1625
1626 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1627
1bfb1345 16282001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1629
1630 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1631 arglist, for documentation's sake.
1632
0dac6924
AI
16332001-01-06 Andrew Innes <andrewi@gnu.org>
1634
1635 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1636 of *.pdb.
1637
8182406a
AI
16382001-01-05 Andrew Innes <andrewi@gnu.org>
1639
1640 * term.c (update_end): Don't check updating_frame; for some reason
1641 this can be 0 sometimes, such as after dismissing a popup menu,
1642 and isn't necessary given the explicit frame argument.
1643
3828218c
GM
16442001-01-05 Gerd Moellmann <gerd@gnu.org>
1645
1646 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1647 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1648
2f5ded21
GM
16492001-01-04 Gerd Moellmann <gerd@gnu.org>
1650
1651 * xterm.c (clear_mouse_face): Don't return if tip_frame is
1652 non-nil.
1653
1654 * xfns.c (x_create_tip_frame): Preserve the value of
1655 face_change_count around the creation of the tip frame.
1656
1657 * xfns.c (last_show_tip_args): New variable.
1658 (compute_tip_xy): New function.
1659 (Fx_show_tip): Reuse an existing tip frame, if possible.
1660 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1661
dfad65fa
DL
16622001-01-04 Dave Love <fx@gnu.org>
1663
64d4ec0f
DL
1664 * editfns.c (Fformat): Doc fix.
1665
dfad65fa
DL
1666 * systime.h (set_file_times): Prototype.
1667
1668 * widget.h (EmacsFrameSetCharSize_): Prototype.
1669
1670 * sysdep.c (random, srandom): Declare explicitly.
1671
1672 * dispextern.h (move_it_vertically_backward): Declare.
1673
85fe3b5e
GM
16742001-01-04 Gerd Moellmann <gerd@gnu.org>
1675
0f2ac578
GM
1676 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1677 like in Fx_create_frame.
1678
482cca61
GM
1679 * xfaces.c (set_font_frame_param): Don't do anything for
1680 non-graphical frames.
1681
85fe3b5e
GM
1682 * window.c (Fdelete_other_windows): Set window's window_end_valid
1683 to nil when changing the window's start. Don't change the
1684 window's start when its top position hasn't changed. If we do,
1685 this will set the window's optional_new_start, which act's like a
1686 force_start during redisplay with C-x 1 M-> under particular
1687 circumstances (see report from Per Starback to emacs-pretest-bug
1688 from 2000-12-13.).
1689
3e99d3b4
GM
16902001-01-03 Gerd Moellmann <gerd@gnu.org>
1691
a77dc1ec
GM
1692 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1693 short cut at the start of the function. Add an assertion.
1694 (reseat_at_next_visible_line_start): Add an assertion.
1695
2f3cad6c
GM
1696 * window.c (Frecenter): When changing the window start, set the
1697 window's window_end_valid to nil.
1698 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1699
1700 * dispextern.h (move_it_past_eol): Add prototype.
1701
1702 * xdisp.c (move_it_past_eol): New function.
1703
3e99d3b4
GM
1704 * window.c (Fwindow_end): Doc fix.
1705
17062001-01-03 Dave Love <fx@gnu.org>
1707
1708 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
1709 kluge.
1710
bafb434c
GM
17112001-01-03 Gerd Moellmann <gerd@gnu.org>
1712
1713 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1714 the enabled_p flag of the glyph row at window_end_vpos to 0.
1715 (handle_single_display_prop): Fix last change.
1716
5297fb00
RS
17172001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1718
1719 * window.c (Frecenter): Doc fix.
1720
13d6a61c
AI
17212001-01-02 Andrew Innes <andrewi@gnu.org>
1722
1723 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1724
1725 * frame.h (output_method): Add output_w32_console method.
1726 (FRAME_W32_CONSOLE_P): New macro.
1727
1728 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1729 use output_w32_console method.
1730 (Qw32_console): New Lisp_Object.
1731 (Fframep): Return it.
1732 (syms_of_frame): Init it.
1733 (Fframe_parameters): Report w32console as font for w32_console
1734 frames.
1735
1736 * xfaces.c (realize_default_face): Set face foreground and
1737 background to unspecified for w32_console frames.
1738 (realize_face): Realize face cache for w32_console frames.
1739 (realize_tty_face): Accept w32_console frames.
1740
1741 * xdisp.c (handle_single_display_prop): Return if frame is
1742 w32_console.
1743 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1744 necessary, even if running interactively.
1745
1746 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1747 w32_console frames.
1748
1749 * w32term.c (x_update_begin):
1750 (x_update_end):
1751 (x_clear_frame):
1752 (x_ins_del_lines):
1753 (x_change_line_highlight):
1754 (x_delete_glyphs):
1755 (w32_ring_bell):
1756 (x_update_begin):
1757 (x_update_end):
1758 (w32_reassert_line_highlight):
1759 (w32_frame_rehighlight):
1760 (w32_frame_raise_lower): Do nothing if not w32 frame.
1761
1762 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1763
1764 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1765 system doesn't tell us directly.
1766 (Fx_display_visual_class): Implement properly.
1767
d6bb0c0d
GM
17682001-01-02 Gerd Moellmann <gerd@gnu.org>
1769
1770 * window.c (Frecenter): Handle centering in graphical frames
1771 specially. Centering on the basis of line counts doesn't work
1772 reliably with variable-height lines.
1773
315f5865
EZ
17742001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1775
1776 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1777 and al[].
1778
1779 * composite.c (run_composition_function): Remove unused variable
1780 `val'.
1781 (update_compositions): Remove unused variable `hook'.
1782
1783 * intervals.c (get_local_map): Remove unused variable `tem'.
1784
1785 * doprnt.c (doprnt1): Remove unused variable `size'.
1786
1787 * fns.c (Flength): Remove unused variable `tail'.
1788 (Fdelete): Remove unused variable `size'.
1789
1790 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1791 and `gcpro2'.
1792
1793 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
1794 `tem'.
1795
1796 * data.c (find_symbol_value): Remove extra 3rd argument in the
1797 call to swap_in_symval_forwarding.
1798
1799 * undo.c (Fprimitive_undo): Remove unused block-scope variable
1800 `end'.
1801
1802 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1803 (trivial_regexp_p): Remove unused variable `c'.
1804 (boyer_moore): Remove unused variable `k'.
1805
1806 * indent.c (current_column): Remove unused variable `stopchar'.
1807 (Fcompute_motion): Remove unused variable `contin'.
1808
1809 * casefiddle.c (casify_object): Remove unused variable `tolen'.
1810
1811 * dired.c (directory_files_internal): Fix a typo in a comment.
1812 Remove an unused variable `handler'.
1813 (file_name_completion): Remove unused function-scope variable
1814 `dp'.
1815 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
1816 on BSD4_2.
1817
1818 * fileio.c (e_write): Remove unused variable
1819 `require_encoding_p'.
1820
1821 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
1822 and `buf'.
1823 (Fmarker_insertion_type): Remove unused variable `buf'.
1824
1825 * insdel.c (make_gap): Remove unused variable `result'.
1826
1827 * keyboard.c (record_char): Remove unused function-scope variable
1828 `help'.
1829 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
1830 (menu_bar_items): Remove unused function-scope variable `tem'.
1831
1832 * fontset.c (fontset_ref): Remove unused variable `i'.
1833 (fontset_set): Remove unused variables `j' and `tmp'.
1834 (make_fontset): Remove unused variables `i', `j', `elt' and
1835 `base_elt'.
1836 (make_fontset_for_ascii_face): Remove unused variable `name'.
1837 (fs_load_font): Remove unused variable `font_idx'.
1838 (fs_query_fontset): Remove unused function-local variable
1839 `fontset'.
1840 (list_fontsets): Remove unused variable `tail'.
1841 (Fnew_fontset): Remove unused variables `family' and `registry'.
1842 (accumulate_font_info): Remove unused variable `tmp'.
1843 (Ffontset_font): Remove unused variable `id'.
1844 (syms_of_fontset): Remove unused variable `i'.
1845
1846 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
1847 to x_term_init.
1848 (lookup_image): Remove unused variable `file'.
1849 (xbm_load): Remove unused variables `bitmap_data', `height', and
1850 `width'. Remove function-local variable `i', leave the
1851 block-local one.
1852 (gif_load): Remove unused variable `inc'.
1853
1854 * xterm.c (XTread_socket): Remove unused variables `p' and
1855 `pend'.
1856 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
1857 leave only the one in the inner block.
1858
1859 * xfaces.c (face_fontset, realize_default_face): Remove unused
1860 variable `fontset'.
1861 (face_at_buffer_position): Remove unused variable `multibyte_p'.
1862
1863 * term.c (encode_terminal_code): Remove unused variable `c'.
1864
1865 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
1866 char *' instead of `char *'.
1867
1868 * category.c (Fcategory_docstring): Remove unused variable `doc'.
1869 (Fget_unused_category): Remove unused variable
1870 `docstring_vector'.
1871 (Fchar_category_set): Remove unused variables `val', `charset',
1872 `c1' and `c2'.
1873
1874 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
1875 unused variable `i'.
1876 (detect_coding_mask): Remove unused variable `idx'.
1877 (detect_coding): Remove unused variable `i'.
1878 (ccl_coding_driver): Remove unused variable `result'.
1879 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
1880 (decode_coding_string): Remove unused variables `to' and
1881 `gcpro1'.
1882 (encode_coding_string): Remove unused variables `gcpro1' and
1883 `saved_coding_symbol'.
1884 (Ffind_coding_systems_region_internal): Remove function-local
1885 variable args[], leave only the block-local one.
1886 (code_convert_region1): Remove unused variable `len'.
1887
1888 * charset.c (char_printable_p): Remove unused variable `chars'.
1889 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
1890 (str_to_multibyte): Remove unused variable `c'.
1891
1892 * window.c (size_window): Remove block-local variable `min_size'.
1893
1894 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
1895 `header_line_height'.
1896 (append_space, extend_face_to_end_of_line): Declare `saved_what'
1897 enum display_element_type.
1898
1a8a9daf
GM
18992001-01-02 Gerd Moellmann <gerd@gnu.org>
1900
6dde6abc
GM
1901 * xterm.c (x_connection_closed): Catch X errors around all
1902 statements that call X. Save away the error message in a local
1903 copy.
1904
1883b2c6
GM
1905 * xterm.c (x_connection_closed): Set handling_signal to 0 at
1906 the start.
1907
a13be207
GM
1908 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
1909 in or at the start of invisible text.
1910
1a8a9daf
GM
1911 * dispnew.c (update_window): Don't check_current_matrix_flags.
1912
3608c0f9
JR
19132001-01-01 Jason Rumney <jasonr@gnu.org>
1914
1915 * w32fns.c (x_figure_window_size): Do not allow new_height and
1916 new_width of frame to override specified values.
1917
abb1acc4
KH
19182000-12-30 Kenichi Handa <handa@etl.go.jp>
1919
d279f620
KH
1920 * composite.c (find_composition): Fix a code for searching
1921 backward.
abb1acc4 1922
762a68ec
GM
19232000-12-29 Gerd Moellmann <gerd@gnu.org>
1924
9c8b8382
GM
1925 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
1926 function.
1927 (update_window) [GLYPH_DEBUG]: Call it.
1928 (scrolling_window): Prevent including current rows which are below
1929 what's displayed in the window.
1930
1931 * xdisp.c (try_window_reusing_current_matrix)
1932 <new start <= old start>: Disable rows in the current matrix
1933 which are below the window after scrolling.
1934
762a68ec
GM
1935 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
1936 is zero. It's not worth the complexity.
1937 (invisible_text_between_p): Put in #if 0 because unused.
1938
2d5912c1
GM
19392000-12-28 Gerd Moellmann <gerd@gnu.org>
1940
46f6a258
GM
1941 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
1942 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
1943
89f93679
GM
1944 * keyboard.c (echo_char): If C is an integer, always call
1945 push_key_description. Former code could signal an invalid
1946 character error.
1947
1948 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
1949 If set, print multibyte text.
1950 (Fsingle_key_description): Call push_key_description with
1951 FORCE_MULTIBYTE set.
1952 (describe_buffer_bindings): Likewise.
1953
1954 * lisp.h (push_key_description): Add prototype.
1955
c06017fb
GM
1956 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
1957 around the call to redisplay_internal.
1958
f1d2ce7f
GM
1959 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1960
2d5912c1
GM
1961 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1962
9371f831
KH
19632000-12-28 Kenichi Handa <handa@etl.go.jp>
1964
1965 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
1966 (ccl_driver): New local variable `extra_bytes'.
1967
1968 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
1969
1970 * coding.c (setup_coding_system): Initialize
1971 coding->spec.ccl.eight_bit_carryover.
1972 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
1973
0c80628a
KH
19742000-12-28 Kenichi Handa <handa@etl.go.jp>
1975
1976 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
1977 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
1978 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
1979 (decode_composition_emacs_mule): New function.
1980 (decode_coding_emacs_mule): Decode composition sequence by calling
1981 decode_composition_emacs_mule.
1982 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
1983 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 1984 a text contains compositions, encode them correctly.
0c80628a
KH
1985 (setup_coding_system): Set coding->commong_flags for emacs-mule so
1986 that decoding and encoding are required.
1987
3e32cc27
GM
19882000-12-27 Gerd Moellmann <gerd@gnu.org>
1989
5e25feee
GM
1990 * xfaces.c (PT_PER_INCH): New macro.
1991 (xlfd_point_size): Compute real point size from font's pixel size.
1992 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
1993 instead of 72.
1994
892d8fcd
GM
1995 * .gdbinit: Comment out the line pointing to the Lesstif source
1996 directory.
1997
12c8b416
GM
1998 * window.c (Frecenter): Use displayed_window_lines instead
1999 of window_internal_height.
2000
6061fbf0
GM
2001 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2002 instead of x-toolkit-scroll-bars-p.
2003 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2004
2005 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2006 instead of x-toolkit-scroll-bars-p.
2007 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2008
3e32cc27
GM
2009 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2010 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
2011 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
2012 variables.
2013 (add_window_display_history, add_frame_display_history)
2014 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2015 (build_frame_matrix_from_leaf_window): Remove unused code.
2016 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2017 redisplay history.
2018 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2019 (update_window) [GLYPH_DEBUG]: Likewise.
2020 (syms_of_display): Defsubr dump-redisplay-history.
2021
31798cfe
GM
20222000-12-23 Gerd Moellmann <gerd@gnu.org>
2023
f717c2ba
GM
2024 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2025 the end of the prompt. Set echo_after_prompt to the offset
2026 of echoptr in echobuf.
2027
aeb2b8fc
GM
2028 * xdisp.c (init_from_display_pos): Pop until the iterator's
2029 stack is empty; there may be frames for stretch or images
2030 on the stack.
2031
31798cfe
GM
2032 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2033 (save_or_restore_current_matrix): New function for the same
2034 purpose, but more efficient.
2035 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2036
f8156156
EZ
20372000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2038
2039 * xdisp.c (syms_of_xdisp): Fix last change.
2040
bdd6d4e8
GM
20412000-12-23 Gerd Moellmann <gerd@gnu.org>
2042
2043 * xdisp.c (syms_of_xdisp): Doc fix.
2044
2045 * xdisp.c (redisplay_window): Remove label restore_buffers;
2046 use finish_scroll_bars instead to make sure that scroll bars
2047 are redeemed. If we don't do this, flickering can result from
2048 scroll bars being destroyed and recreated.
2049
9436cdf9
JR
20502000-12-22 Jason Rumney <jasonr@gnu.org>
2051
2052 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2053 in the wrong colors when the foreground is not black.
2054 (expose_window): Don't redraw the window that's currently being
2055 updated.
2056
951f9df5
GM
20572000-12-22 Gerd Moellmann <gerd@gnu.org>
2058
856ff7a7
GM
2059 * window.c (size_window): When setting the window's too_small_ok
2060 flag, compare old size with minimum size depending on WIDTH_P,
2061 don't compare with window_min_width.
2062
951f9df5
GM
2063 * window.c (delete_window): Simplify somewhat.
2064 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2065 freeing window matrices. The flag windows_or_buffers_changed is
2066 set, so the next redisplay will consider all windows; this should
2067 suffice.
2068
886bc933
KH
20692000-12-22 Kenichi Handa <handa@etl.go.jp>
2070
2071 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2072
2073 * ccl.h (struct ccl_program): New member cr_consumed.
2074
2075 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2076 (CCL_READ_CHAR): Handle EOL conversion here.
2077 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2078
177f4e88
GM
20792000-12-21 Gerd Moellmann <gerd@gnu.org>
2080
6ba384dc
GM
2081 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
2082 GLYPHS.
2083
2084 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2085 otherwise tabs of different size compare equal.
2086
2087 * callint.c (Fcall_interactively): Prevent a compiler warning.
2088
2089 * print.c (print_unwind): Return nil.
2090 (PRINTDECLARE): Initialize all local variables.
2091 (print_preprocess): Add a default case.
2092
8e15274f
GM
2093 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2094
2095 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2096
177f4e88
GM
2097 * window.c (delete_window, Fsplit_window)
2098 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2099
2100 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2101
2102 * dispnew.c (ensure_frame_matrix): Removed.
2103 (save_frame_matrix, restore_frame_matrix): New functions.
2104 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2105
2106 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2107 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2108
99012074
AI
21092000-12-21 Andrew Innes <andrewi@gnu.org>
2110
2111 * w32term.c (x_update_begin): Regenerate the palette here, rather
2112 than for each window.
2113
2114 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2115 palette is NULL, since this corrupts memory! Also get
2116 display_info reference from frame.
2117
29ef7d2d
JR
21182000-12-21 Jason Rumney <jasonr@gnu.org>
2119
2120 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2121
2122 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2123 to avoid returning without releasing it.
3e27fa1f 2124
3f9d67a6
KH
21252000-12-21 Kenichi Handa <handa@etl.go.jp>
2126
587fc3f9
KH
2127 * keymap.c (push_key_description): Don't convert eight-bit-control
2128 and eight-bit-graphic to multibyte character.
2129
3f9d67a6
KH
2130 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2131 generic character and CODE1 is nil, return the smallest character
2132 in CHARSET.
2133
774ba8c9
DL
21342000-12-20 Dave Love <fx@gnu.org>
2135
2136 * s/osf5-0.h (NSIG): Don't redefine.
2137
88416888
SM
21382000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2139
2140 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2141 excluding menu-bar and tool-bar.
2142 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2143 (menu_item_p): Remove.
2144 (where_is_internal_1): Don't ignore menu-items.
2145
a6426c6f
GM
21462000-12-20 Gerd Moellmann <gerd@gnu.org>
2147
03ff8aab
GM
2148 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2149 into account.
2150
2151 * window.c (make_window): Initialize window's min_hscroll.
2152 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2153 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2154 to zero.
2155 (struct saved_window): New member min_hscroll.
2156 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2157 (Fset_window_configuration): Set window's min_hscroll.
2158 (save_window_save): Save window's min_hscroll.
2159 (compare_window_configurations): Compare min_hscroll values.
2160
2161 * window.h (struct window): New member min_hscroll.
2162
2163 * keyboard.c (echo_prompt): Prevent a compiler warning.
2164
8de4aaf8
GM
2165 * xdisp.c (try_cursor_movement): Fix last change. The real
2166 condition is that PT is at the end of the row, and should
2167 be displayed at the start of the next row.
2168
3f7e3031
GM
2169 * xdisp.c (try_cursor_movement): If we end on a partially
2170 visible line, end we already decided to scroll, return -1.
2171
a6426c6f
GM
2172 * dispextern.h (ensure_frame_matrix): Add prototype.
2173
2174 * window.c (delete_window, Fsplit_window)
2175 (Fset_window_configuration): Call ensure_frame_matrix.
2176
2177 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
2178 functions.
2179 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2180 completed, call fake_current_matrices instead of marking frame
2181 garbaged.
2182
57fa2774
JR
21832000-12-20 Jason Rumney <jasonr@gnu.org>
2184
2185 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2186
d925df90
EZ
21872000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2188
2189 * fns.c (Frequire): Doc fix.
2190
7b93a85b
GM
21912000-12-19 Gerd Moellmann <gerd@gnu.org>
2192
71d4497a
GM
2193 * window.c (window_scroll_pixel_based): Don't use
2194 move_it_vertically.
2195
c74e645b
GM
2196 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2197 currently displaying a message.
2198
7b93a85b
GM
2199 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2200 xterm.h.
2201 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2202
90d97e64
AI
22032000-12-18 Andrew Innes <andrewi@gnu.org>
2204
2205 * w32.c (w32_strerror): New function.
2206
2207 * w32.h (w32_strerror): New extern.
2208
2209 * w32fns.c (Fw32_shell_execute): Use it.
2210
91c9e6ce
GM
22112000-12-18 Gerd Moellmann <gerd@gnu.org>
2212
2213 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2214
6f4745e2
EZ
22152000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2216
2217 * msdos.c (IT_set_face): Obey inverse_video.
2218
c9e088ce
KH
22192000-12-18 Kenichi Handa <handa@etl.go.jp>
2220
2221 * dired.c (directory_files_internal): Always return decoded filenames.
2222
c3695f5f
GM
22232000-12-18 Gerd Moellmann <gerd@gnu.org>
2224
52d8e4ff
GM
2225 * xterm.c (x_connection_closed): Prevent being called recursively
2226 because of an error condition in XtCloseDisplay.
2227
62be9979
GM
2228 * xdisp.c (init_iterator): If noninteractive, and the frame's
2229 face cache is null, make one.
2230
5f7a1890
GM
2231 * xfns.c (show_busy_cursor): Check for live frames more
2232 thoroughly.
2233
c3695f5f
GM
2234 * process.c (wait_reading_process_input): Check for pending
2235 input when running timers.
2236
78555fbe
EZ
22372000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2238
2239 * msdos.c (IT_write_glyphs): Compute the glyph face from
2240 str->face_id.
2241
b2b36264
KH
22422000-12-18 Kenichi Handa <handa@etl.go.jp>
2243
2244 * process.c (read_process_output): Don't run a filter if the code
2245 decoder produces nothing but carryover.
2246
9c543fbf
AI
22472000-12-17 Andrew Innes <andrewi@gnu.org>
2248
2249 * w32.c (sys_rename): Only check errno against EEXIST, and not
2250 EACCES, when determining whether rename failed because the target
2251 exists. This was resulting in indefinite looping on Windows 9x if
2252 the source file was locked by another process.
2253
2254 * w32fns.c (Ffile_system_info): New function.
2255 (syms_of_w32fns): Defsubr it.
2256
10c2b5a8
GM
22572000-12-17 Gerd Moellmann <gerd@gnu.org>
2258
b0228ace
GM
2259 * window.c (coordinates_in_window): Fix computation for
2260 position on vertical line between mode lines.
2261
10c2b5a8
GM
2262 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2263 Don't alter tip_frame or tip_window.
2264 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2265 was deleted.
2266
c844a81a
GM
2267 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2268 Don't alter tip_frame or tip_window.
2269 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2270 was deleted.
2271
6c825f8e
EZ
22722000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2273
2274 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2275 be consistent with the doc string. Reported by NAKAJIMA Mikio
2276 <minakaji@osaka.email.ne.jp>.
2277
af4bb4c8
KH
22782000-12-16 Kenichi Handa <handa@etl.go.jp>
2279
2280 * xfaces.c (Vface_ignored_fonts): New variable.
2281 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2282 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2283
8062e53a
GM
22842000-12-15 Gerd Moellmann <gerd@gnu.org>
2285
e87b8809
GM
2286 * dispnew.c (update_window): Detect pending input every nth line
2287 updated, i.e. do it depending on real work done, and not on the
2288 vpos of the line.
2289
2290 * xterm.c (expose_window): Don't redraw the window that's
2291 currently being updated.
2292
a6768cc5
GM
2293 * window.c (Fset_window_point): Remove test for
2294 cursor_in_non_selected_windows.
2295
4ea7fdca
GM
2296 * lread.c (read1): Recognize end of file after `\\'.
2297
8062e53a
GM
2298 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2299 not unwind_create_frame.
2300
bb7959c1
GM
23012000-12-15 Dave Love <fx@gnu.org>
2302
2303 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2304 bcopy & al.
2305
2306 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2307
ced04c42
KH
23082000-12-15 Kenichi Handa <handa@etl.go.jp>
2309
c5443913
KH
2310 * coding.c (setup_coding_system): Clear all members of the struct
2311 coding_system at first.
bc137305
KH
2312 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2313 argument.
2314 (code_convert_region): Don't override coding->src_multibyte and
2315 coding->dst_multibyte.
c5443913 2316
ced04c42
KH
2317 * fns.c (Fmd5): Docstring improved.
2318
c2d7f289
MB
23192000-12-15 Miles Bader <miles@gnu.org>
2320
2321 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2322 are actually marked as mode-lines; otherwise use
2323 estimate_mode_line_height.
2324
9d7d9263
GM
23252000-12-14 Gerd Moellmann <gerd@gnu.org>
2326
2327 * editfns.c (Fformat): Prevent a buffer overrun when the format
2328 specifies a precision.
2329
7cf0153a
EZ
23302000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2331
2332 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2333 argument is outside the range [2..3].
2334
1de0f662
AI
23352000-12-14 Andrew Innes <andrewi@gnu.org>
2336
2337 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2338 nothing to do. Bind inhibit-quit.
2339 (tip_frame): Make it a Lisp_Object.
2340 (x_create_tip_frame): Set tip_frame after it has been added to
2341 Vframe_list.
2342 (Fx_show_tip): Don't set tip_frame here.
2343 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
2344 variables.
2345 (unwind_create_frame, unwind_create_tip_frame): New functions.
2346 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2347 while a frame is only partially constructed.
2348
2349 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2350 (x_free_frame_resources): New function.
2351 (x_destroy_window): Use it.
2352
02387dcc
GM
23532000-12-14 Gerd Moellmann <gerd@gnu.org>
2354
2355 * xfns.c (Fx_backspace_delete_keys_p): New function.
2356 (syms_of_xfns): Defsubr it.
2357
2358 * config.in (HAVE_XKBGETKEYBOARD): Add.
2359
0544ef49
KH
23602000-12-14 Kenichi Handa <handa@etl.go.jp>
2361
98d62747
KH
2362 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2363 Always store string in multibyte representation in echobuf.
2364 (echo_char): Always store string in multibyte representation in
2365 echobuf.
2366 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2367 (read_key_sequence): Adjusted for the change of echo_prompt.
2368
a20193cd
KH
2369 * fns.c (Fmd5): Docstring improved.
2370
191b83b6
KH
2371 * lisp.h (detect_coding_system): Prototype adjusted.
2372
0544ef49
KH
2373 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2374 (detect_coding_emacs_mule, detect_coding_iso2022,)
2375 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
2376 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
2377 argument MULTIBYTEP. Callers changed.
2378 (detect_coding_mask, detect_coding_system): New argument
2379 MULTIBYTEP. Callers changed.
1da1bb05
KH
2380 (decode_coding_string): Set coding->src_multibyte and
2381 coding->dst_multibyte before calling detect_coding and detect_eol.
2382 Update them after some coding system is detected.
2383
d5b3eb1b
SM
23842000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2385
2386 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2387
2388 * keyboard.c (menu_bar_items, tool_bar_items):
2389 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2390
f7f8bb69
GM
23912000-12-13 Gerd Moellmann <gerd@gnu.org>
2392
19f71add
GM
2393 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
2394 New variables.
2395 (unwind_create_frame, unwind_create_tip_frame): New functions.
2396 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2397 while a frame is only partially constructed.
2398
2399 * xterm.h (x_free_frame_resources): Declare.
2400
2401 * xterm.c (x_free_frame_resources): New function.
2402 (x_destroy_window): Use it.
2403
e10da507
GM
2404 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2405 don't interrupt the update for pending input initially, i.e.
2406 update at least some lines.
2407
2408 * keyboard.c (do_mouse_tracking): Make externally visible.
2409
d5b3eb1b 2410 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2411
2412 * xfns.c (gray_bitmap_bits): Declare `char *'.
2413
90aa2856
GM
24142000-12-12 Gerd Moellmann <gerd@gnu.org>
2415
2416 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2417 lines start with a relief line.
2418
a308c9cd
DL
24192000-12-12 Dave Love <fx@gnu.org>
2420
2421 * window.c (Fdisplay_buffer): Doc fix.
2422 (Fwindow_list): Remove unused var.
2423
2424 * buffer.h (mmap_set_vars): Declare.
2425
2426 * window.h (Fset_window_point): Declare.
2427
d575011f
EZ
24282000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2429
bf6282d2 2430 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
2431 (IT_note_mouse_highlight): Initialize portion to -1. Remove
2432 unused variable `area'. When looking for a row under (X,Y), give
2433 up if some of the previous rows is not enabled.
2434
ecf4d726
GM
24352000-12-12 Gerd Moellmann <gerd@gnu.org>
2436
2ebf6139
GM
2437 * window.c (Fset_window_point): If displaying cursors in windows
2438 other than the selected window, make sure redisplay updates
2439 other windows to show the new value of point in the window.
2440
2441 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2442
bfdb75ee
GM
2443 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2444 the buffer is the sole visible buffer when in the mini-buffer.
2445
4fdbd809
GM
2446 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
2447 Bind `inhibit-read-only' to t.
2448 (unwind_with_echo_area_buffer): Use AREF.
2449
c0006262
GM
2450 * xfns.c (Fx_hide_tip): Simplified.
2451
e9a59cad
GM
2452 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
2453 GC_MAKE_GCPROS_NOOPS instead of `1'.
2454
ecf4d726
GM
2455 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2456
e5959a9a
GM
24572000-12-11 Gerd Moellmann <gerd@gnu.org>
2458
a3642e49
GM
2459 * xfns.c (Fx_hide_tip): Fix last change.
2460
44b5a125
GM
2461 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2462 nothing to do. Bind inhibit-quit.
2463 (tip_frame): Make it a Lisp_Object.
2464 (x_create_tip_frame): Set tip_frame after it has been added to
2465 Vframe_list.
2466 (Fx_show_tip): Don't set tip_frame here.
2467
2468 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2469
2470 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2471 Lisp_Object.
2472
2473 * dispextern.h: Change external declaration of tip_frame.
2474
d990421f
GM
2475 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2476 return an empty string.
2477
4db87380
GM
2478 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2479 of the window's update_mode_line flag, since the former is set by
2480 force-mode-line-update, not the latter. This makes
2481 column-number-mode slightly faster.
2482
e5959a9a
GM
2483 * xdisp.c (try_window_id) <all changes above window start>:
2484 Set the cursor.
2485
169fe44e
GM
24862000-12-11 Paul Eggert <eggert@twinsun.com>
2487
2488 * config.in (HAVE_FTELLO): Remove.
2489 (HAVE_FSEEKO): Add.
2490 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2491 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2492 HAVE_FTELLO.
2493 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2494 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
2495
59ec59ae
MB
24962000-12-11 Miles Bader <miles@gnu.org>
2497
2498 * window.c (displayed_window_lines): Don't round up when
2499 converting empty space at bottom to lines.
ff904dd6
MB
2500 Handle non-newline-terminated final lines properly.
2501 (Fwindow_text_height): New function (used to be in lisp).
2502 (syms_of_window): Initialize it.
59ec59ae 2503
42ebfa31
SM
25042000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2505
2506 * syntax.c (scan_lists): Check that the right quote char has the
2507 right Sstring syntax when jumping over strings.
2508 (init_syntax_once): Use Smax rather than 13.
2509
5cdb3cf3
MB
25102000-12-09 Miles Bader <miles@gnu.org>
2511
2512 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2513 with PARTIALLY, inverting the sense.
2514 (window_scroll_pixel_based): Scroll partially visible lines into
2515 place if we hit the beginning or end of the buffer.
a12167c5
MB
2516 (displayed_window_lines): Don't include partially visible lines.
2517 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2518
842b2a94
GM
25192000-12-08 Gerd Moellmann <gerd@gnu.org>
2520
2521 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2522
2523 * tparam.c (tparam1): Change the way buffers are reallocated to be
2524 portable and less obfuscated.
2525
2526 * termcap.c (tgetent): Change the way buffers are reallocated to
2527 be portable and less obfuscated.
2528
2529 * macros.c (store_kbd_macro_char): Change the way buffers are
2530 reallocated to be portable and less obfuscated.
2531
2532 * lread.c (read1): Change the way buffers are reallocated to be
2533 portable and less obfuscated.
2534
2535 * doc.c (Fsubstitute_command_keys): Change the way buffers
2536 are reallocated so that it is portable.
2537
137cad7c
EZ
25382000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2539
2540 * dosfns.c (Ffile_system_info): New function.
2541 (syms_of_dosfns): Defsubr it.
2542
5c7f629c
SM
25432000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2544
2545 * alloc.c (gc_sweep): Add comment.
2546
959e647d
GM
25472000-12-07 Gerd Moellmann <gerd@gnu.org>
2548
28fcb7dc
GM
2549 * sound.c (vox_configure): Change order of ioctls. Don't
2550 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
2551 Ignore errors when changing volume.
2552 (vox_close): Don't reset the device.
2553
926b7e5e
GM
2554 * process.c (read_process_output): Make sure the process marker's
2555 position is valid when the process buffer is changed in
2556 after-change functions. W3 does that.
2557
959e647d
GM
2558 * xfns.c (x_free_gcs): New function.
2559
2560 * xterm.h (x_free_gcs): Add prototype.
2561
2562 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2563 freeing GCs here.
2564
2565 * xterm.c (x_destroy_window): Call x_free_gcs so that
2566 resources of non-toolkit X windows will be freed.
2567
478ea067
AI
25682000-12-07 Andrew Innes <andrewi@gnu.org>
2569
2570 * w32fns.c (xlfd_charset_of_font): Fix last change.
2571
fbee3231
DL
25722000-12-06 Dave Love <fx@gnu.org>
2573
67292061
DL
2574 * md5.h (__P): Don't define -- it comes from config.h.
2575
fbee3231
DL
2576 * strftime.c: Change some #if foo to #ifdef foo.
2577
4ee87dbb
AI
25782000-12-06 Andrew Innes <andrewi@gnu.org>
2579
2580 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2581
2582 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
2583 argument.
2584 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
2585 (w32_list_fonts): Don't choke if pattern doesn't specify a
2586 codepage.
2587
9765b4a4
GM
25882000-12-06 Gerd Moellmann <gerd@gnu.org>
2589
d285b373
GM
2590 * alloc.c (gc_sweep): Prevent symbols read during loadup
2591 from being freed.
2592
384333ee
GM
2593 * xdisp.c (underlying_face_id): New function.
2594 (handle_face_prop, face_before_or_after_it_pos): Use it
2595 to determine the face ``under'' a string. Let strings inherit
2596 the face of the buffer under them.
2597
2598 * xfaces.c (face_at_string_position): Update function comment.
2599
d4b72d58
GM
2600 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2601 matrix if the window's left position has changed; we need to
2602 redraw it in this case.
2603
2604 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2605
e1d05387
GM
2606 * window.c (coordinates_in_window): Check mouse on mode-line or
2607 header-line first.
2608
eb1b0c74
GM
2609 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2610 advertized by the function documentation.
2611
d94d636f
GM
2612 * window.c (syms_of_window): Doc fix.
2613
3887b449
GM
2614 * sound.c (vox_configure): Set volume for left and right channel.
2615 (sound_cleanup): Return nil.
2616
efc8f57a
GM
2617 * xdisp.c (move_it_by_lines): Fix paren typo.
2618
9765b4a4
GM
2619 * xterm.c (x_load_font): Don't use the font's max_bounds for
2620 computing the height of the font. If max_bounds' ascent or
2621 descent are greater than the font's ascent or descent, this means
2622 glyphs overlap, which should be handled now by redisplay.
2623
6529ed87
GM
2624 * window.c (Veven_window_heights): New variable.
2625 (syms_of_window): DEFVAR_LISP it.
2626 (Fdisplay_buffer): Check Veven_window_heights before evening the
2627 window heights.
2628
0eb2ecde
MB
26292000-12-06 Miles Bader <miles@gnu.org>
2630
2631 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2632 update `default-frame-alist' instead of setting no frame parameters.
2633
03d7a167
KH
26342000-12-06 Kenichi Handa <handa@etl.go.jp>
2635
2636 * composite.c (update_compositions): Fix typo (use the correct
2637 variable).
2638
5f8803c2
JR
26392000-12-05 Jason Rumney <jasonr@gnu.org>
2640
2641 * md5.h: Remove underscores from function declarations.
2642 (__attribute__, __alignof__) [!__GNUC__]: Define.
2643
2644 * md5.c: Delay include of md5.h until after namespace cleaning.
2645
c28a075b
JR
2646 * makefile.w32-in (fns.o): Depend on md5.h
2647 (md5.o): New target.
2648 (sunfns.o): Remove.
2649
2650 * makefile.nt: Likewise.
2651
ff3c7056
JR
26522000-12-05 Jason Rumney <jasonr@altavista.net>
2653
2654 * w32term.c (expose_area): Complete last change.
2655
0c21eeeb
KR
26562000-12-05 Ken Raeburn <raeburn@gnu.org>
2657
2658 * minibuf.c: Include intervals.h.
2659
f201d732
JR
26602000-12-05 Jason Rumney <jasonr@gnu.org>
2661
2662 * w32term.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 (expose_area): Pass x-coordinate relative to the exposed
2666 area to x_draw_glyphs instead of a window-relative coordinate.
2667
21999ab9
GM
26682000-12-05 Gerd Moellmann <gerd@gnu.org>
2669
4d2036e4
GM
2670 * xdisp.c (next_element_from_ellipsis): Save face before selective
2671 display in saved_face_id, and set face_before_selective_p.
2672 (reseat_1): Reset face_before_selective_p.
2673 (append_space, extend_face_to_end_of_line): If iterator's
2674 face_before_selective_p is set, use the face from saved_face_id.
2675 (extend_face_to_end_of_line): For tty frames, make sure to
2676 use the right face id when producing spaces at the end of
2677 the line.
2678
2679 * dispextern.h (struct it): Add face_before_selective_p.
2680
52be17cc
GM
2681 * keyboard.c (record_char): Don't record identical help-echo
2682 events in recent_keys.
2683
8a4f36cc
GM
2684 * xterm.c [USE_X_TOOLKIT]: Close the display.
2685 (xim_close_dpy): Handle case that the display has been closed.
2686
57d6e381
GM
2687 * xterm.c (x_destroy_window): Reset the frame's X window after
2688 destroying it.
2689
21999ab9
GM
2690 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2691 variable window_width.
2692 (line_draw_cost): Fix code skipping over spaces at the end of the
2693 line when must_write_spaces is not set.
2694 (scrolling_window): Fix code inserting runs in list of all runs.
2695
91372bb7
KH
26962000-12-05 Kenichi Handa <handa@etl.go.jp>
2697
2698 * coding.c (setup_coding_system): Be sure to initialize
2699 coding->category_idx.
2700
6c083b4c
GM
27012000-12-04 Gerd Moellmann <gerd@gnu.org>
2702
0c68ce6f
GM
2703 * xterm.c (PER_CHAR_METRIC): Removed because not used.
2704
6452929e
GM
2705 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2706 area to x_draw_glyphs instead of a window-relative coordinate.
2707
d7f31e22
GM
2708 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2709 error in the message.
2710
ae18aa3b
GM
2711 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2712 timer after having read a key. It's not good for code reading
2713 several keys in a loop, like an input method.
2714
caa15ef7
GM
2715 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2716 record undo information for format-decode.
2717
2718 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2719 current buffer is read-only, not if it isn't.
2720
6c083b4c
GM
2721 * keyboard.c (record_char): Record `help-echo' input events
2722 in recent_keys only if they display some help. Don't record
2723 `help-echo' events as macro char.
2724
caa15ef7
GM
27252000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2726
2727 * editfns.c (save_excursion_restore): Don't move point
2728 in another window if it is showing the wrong buffer.
2729 Avoid the call to Fwindow_live_p, for speed.
2730
5a13529b
KH
27312000-12-04 Kenichi Handa <handa@etl.go.jp>
2732
e225faa7
KH
2733 * xfaces.c (struct font_name): New member registry_priority.
2734 (split_font_name): Initialize the above member to zero.
2735 (concat_font_list): New function.
2736 (font_list): Include fonts of all alternative registries.
2737 (FONT_POINT_SIZE_QUANTUM): New macro.
2738 (better_font_p): Ignore point size difference less than
2739 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2740
e89648b4
KH
2741 * xterm.c (x_produce_glyphs): If a font for a component of
2742 a composition is not found, use 1 pixel dot ascent and 0 dot
2743 descent value to avoid displaying terribly tall empty boxes.
2744
5a13529b
KH
2745 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2746
d7935eb6
KR
27472000-12-03 Ken Raeburn <raeburn@gnu.org>
2748
2749 * coding.h (code_convert_string1): Declare.
2750
2751 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2752
2753 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
2754 Declare.
2755
0dd5e255
JR
27562000-12-02 Jason Rumney <jasonr@gnu.org>
2757
2758 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2759 correctly for single byte character case.
2760 (w32_per_char_metric): Do not try to make any assumptions about
2761 the metrics of BDF fonts.
250cfece
JR
2762 (x_estimate_mode_line_height): If `mode-line' face
2763 hasn't a font, use that of the frame, as drawing glyphs
2764 does.
2765 (note_mouse_highlight): Change the cursor shape on the vertical
2766 border between windows [not enabled].
2767
2768 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2769
2770 * w32fns.c (Fx_create_frame): Reintroduce the call to
2771 face-set-after-frame-defaults.
2772 (Vx_window_horizontal_drag_shape): New variable.
2773 (syms_of_xfns): DEFVAR_LISP it.
2774 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2775 enabled].
0dd5e255 2776
b5d8d2ca
GM
27772000-12-02 Simon Josefsson <simon@josefsson.org>
2778
2779 * fns.c (Fmd5): Use a different logic to decide the coding system
2780 to use.
2781
2782 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2783
fbb87147
EZ
27842000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2785
2786 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
2787 NULL.
2788
447e9da0
GM
27892000-12-01 Gerd Moellmann <gerd@gnu.org>
2790
7708ced0
GM
2791 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2792 height for YNegative.
2793 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2794 height; also see comment there.
2795
447e9da0
GM
2796 * window.c (coordinates_in_window): Handle computations for
2797 positions on the vertical bar and fringes differently for
2798 window-system frames. Consider some pixels near the vertical bar
2799 as on the bar if the frame doesn't have vertical scroll bars.
2800 Associate positions between mode or header lines with the
2801 right window, the left one.
2802
86d1db20
JR
28032000-12-01 Jason Rumney <jasonr@gnu.org>
2804
2805 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2806
2807 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
2808 invalid frame.
2809
a1d58e5b
GM
28102000-12-01 Gerd Moellmann <gerd@gnu.org>
2811
2812 * window.c (struct saved_window): Add members orig_top and
2813 orig_height.
2814 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
2815 (save_window_save, Fset_window_configuration): Save/restore
2816 window's orig_top and orig_height.
2817
89c609af
JR
28182000-12-01 Jason Rumney <jasonr@gnu.org>
2819
4d177746 2820 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 2821
89c609af
JR
2822 * w32fns.c (x_set_cursor_color): Fix last change.
2823
eccc05db
GM
28242000-11-30 Gerd Moellmann <gerd@gnu.org>
2825
31b6671b
GM
2826 * xdisp.c (echo_area_display): If cursor is in the echo area, make
2827 sure that the next redisplay displays the minibuffer, so that
2828 the cursor will be replaced with what the minibuffer wants.
2829
eccc05db
GM
2830 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
2831 #ifndef instead of using #if.
2832 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
2833 USE_TOOLKIT_SCROLL_BARS is defined.
2834
162de750
JR
28352000-11-30 Jason Rumney <jasonr@gnu.org>
2836
2837 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
2838 x_display_cursor.
2839
693c4692
GM
28402000-11-30 Gerd Moellmann <gerd@gnu.org>
2841
2842 * fns.c (Fmd5): Doc fix.
2843
b5d8d2ca 28442000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
2845
2846 * fns.c (Fmd5): New function.
2847 (syms_of_fns): Defsubr md5.
2848
2849 * Makefile.in (obj): Add md5.o
2850
b02cd40b
GM
28512000-11-30 Gerd Moellmann <gerd@gnu.org>
2852
edfb795e
GM
2853 * md5.h, md5.c: New files, taken from glibc.
2854
df3aedcf
GM
2855 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
2856
b02cd40b
GM
2857 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
2858 hasn't a font, use that of the frame, as drawing glyphs
2859 does.
2860
8b5176cd
SM
28612000-11-29 Stefan Monnier <monnier@cs.yale.edu>
2862
2863 * eval.c (Frun_hooks): Allow 0 arguments.
2864
346598f1
GM
28652000-11-29 Gerd Moellmann <gerd@gnu.org>
2866
f9396e03
GM
2867 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
2868 is over the menu bar widget, say it's not on the frame.
2869
4a967a9b
GM
2870 * xfns.c (Fx_create_frame): Reintroduce the call to
2871 face-set-after-frame-defaults.
2872
346598f1
GM
2873 * eval.c (Fsignal): Reset handling_signal.
2874
222456a1
JR
28752000-11-28 Jason Rumney <jasonr@gnu.org>
2876
2877 * w32menu.c (add_menu_item): Reset menu item text when changing
2878 type to radio button.
2879
8049ddc0
GM
28802000-11-28 Gerd Moellmann <gerd@gnu.org>
2881
346598f1 2882 * xselect.c: Update copyright.
f4f4ee4d 2883
bebe4a2c
GM
2884 * window.c (coordinates_in_window): If on a mode or header line,
2885 but sufficiently close to its start, return ``on vertical
2886 border''. This gives us a way to drag windows horizontally when
2887 using toolkit scroll bars.
2888
2889 * xterm.c (note_mouse_highlight): Change the cursor shape
2890 on the vertical border between windows.
2891
2892 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
2893
2894 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
2895 (syms_of_xfns): DEFVAR_LISP it.
2896 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
2897
8d2c2642
GM
2898 * textprop.c (text_read_only): New function.
2899 (verify_interval_modification): Use it instead of signaling
2900 `text-read-only'. This makes it easier to catch this error
2901 with a breakpoint.:
2902
8049ddc0
GM
2903 * xdisp.c (forward_to_next_line_start): Check for newlines,
2904 not end of line, which includes CR.
2905
5a2bae6c
KH
29062000-11-28 Kenichi Handa <handa@etl.go.jp>
2907
2908 * coding.c (Ffind_coding_systems_region_internal): Be sure to
2909 include no-conversion.
2910
ae31f84d
JR
29112000-11-27 Jason Rumney <jasonr@gnu.org>
2912
2913 * w32fns.c (w32_load_system_font): Always mark font as double byte
2914 if codepage is unicode.
2915
67f1cf4c
GM
29162000-11-27 Gerd Moellmann <gerd@gnu.org>
2917
4a74d071
GM
2918 * xdisp.c (forward_to_next_line_start): If already on a newline,
2919 just consume it to avoid unintended skipping over invisible text
2920 below.
2921
902ae620
GM
2922 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
2923 `vertical-line', `mode-line' and `header-line' events.
2924
2925 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
2926 of a character, a TAB for instance. This is easier than to set
2927 up the iterator exactly, and it's not a frequent case, so the
2928 additional effort wouldn't really pay off.
2929
c1e279c2
AC
29302000-11-26 Andrew Choi <akochoi@i-cable.com>
2931
67f1cf4c 2932 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
2933 init_window_once.
2934
a609568a
JR
29352000-11-25 Jason Rumney <jasonr@gnu.org>
2936
48b21762
JR
2937 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
2938 to window_from_coordinates should be pixel coordinates.
2939
a609568a
JR
2940 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
2941 redisplay handles them properly.
2942
a658d039
MB
29432000-11-25 Miles Bader <miles@gnu.org>
2944
2945 * indent.c (compute_motion): Keep pos_byte in sync with pos.
2946
d3416cca
JR
29472000-11-24 Jason Rumney <jasonr@gnu.org>
2948
2949 * w32.c (init_environment): Set LANG environment variable based on
2950 locale settings, if not set.
2951
2952 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
2953 making tool bar smaller. When clearing the frame, also
2954 clear current matrices. Clear frame when tool bar disappears.
2955 Don't use more lines for the tool-bar than is available.
2956 (x_change_window_heights): New function.
2957
ba193890
GM
29582000-11-24 Gerd Moellmann <gerd@gnu.org>
2959
2be8f184
GM
2960 * xdisp.c (init_from_display_pos): If POS says we're already after
2961 an overlay string ending at POS, make sure to pop the iterator
2962 because it will be in front of that overlay string. When POS is
2963 ZV, we've thereby also ``processed'' overlay strings at ZV.
2964
ba193890
GM
2965 * xfaces.c (lface_from_face_name): Function comment fix.
2966
1862a24e
MB
29672000-11-24 Miles Bader <miles@gnu.org>
2968
2969 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
2970 apply `mode-line-inverse-video' -- zero means force display using
2971 the default face, non-zero means display using the specialized face.
2972 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
2973
f07fa1b8
KH
29742000-11-23 Kenichi Handa <handa@etl.go.jp>
2975
2976 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
2977 hard coded `4'.
2978
2bcdf662
EZ
29792000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
2980
2981 * coding.c (decode_coding_emacs_mule): Fix the case of
2982 CODING_EOL_LF, which used uninitialized value of c.
2983
ba8299ff
SM
29842000-11-23 Stefan Monnier <monnier@cs.yale.edu>
2985
2986 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
2987
f4117c4d
GM
29882000-11-22 Gerd Moellmann <gerd@gnu.org>
2989
03e757c1
GM
2990 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
2991 buffer object.
2992
f4117c4d
GM
2993 * frame.h (struct frame): Replace desired_tool_bar_items,
2994 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 2995 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
2996
2997 * frame.c (make_frame): Change initialization of tool bar
2998 items accordingly.
2999
3000 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3001 Change references to members deleted from struct frame to use the
f4117c4d
GM
3002 new ones.
3003
3004 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 3005 references to members deleted from struct frame to use the new
f4117c4d
GM
3006 ones.
3007
3008 * dispnew.c (update_frame): Do nothing with frame's tool bar
3009 items.
3010
3011 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3012
3013 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3014 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3015 from struct frame to use the new ones.
3016
f8e2f3f2
MB
30172000-11-23 Miles Bader <miles@gnu.org>
3018
3019 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3020 the face's inverse-video attribute, rather than overriding it.
3021
60e8e0a5
GM
30222000-11-22 Gerd Moellmann <gerd@gnu.org>
3023
3024 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3025 making tool bar smaller.
3026
92dd1b29
DL
30272000-11-22 Dave Love <fx@gnu.org>
3028
3029 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3030
e672fdce
MB
30312000-11-22 Miles Bader <miles@gnu.org>
3032
3a17d6cc
MB
3033 * keyboard.c (Vminibuffer_message_timeout): New variable.
3034 (command_loop_1): Use it to determine message timeout.
3035 (syms_of_keyboard): Initialize it.
3036
60e8e0a5 3037 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3038
e9655d81
KH
30392000-11-22 Kenichi Handa <handa@etl.go.jp>
3040
3041 * sysdep.c: Move the code for declaring h_errno after #include
3042 <netdb.h>.
3043
77270fac
GM
30442000-11-21 Gerd Moellmann <gerd@gnu.org>
3045
cd913aae
GM
3046 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3047 the menu bar when the tooltip is unmapped.
3048
77270fac
GM
3049 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3050 sole visible buffer when we're currently in the mini-buffer, and
3051 give up if so.
3052
556635d6
JR
30532000-11-21 Jason Rumney <jasonr@gnu.org>
3054
3055 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3056 put on the clipboard.
3057 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3058 copy of what Emacs last put there. If they are the same, do not
3059 use the clipboard copy to avoid losing data due to coding
3060 conversions.
3061
5b7bde64
MB
30622000-11-22 Miles Bader <miles@gnu.org>
3063
3064 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3065 (syms_of_minibuf): Initialize it.
3066 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3067 to prompt, don't make read-only.
3068
ff23e1dd
GM
30692000-11-21 Gerd Moellmann <gerd@gnu.org>
3070
3c64f287
GM
3071 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
3072 BEFORE/AFTER_POTENTIAL_GC.
3073
7aaf4388
GM
3074 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3075
f5f47add 3076 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3077
ff23e1dd
GM
3078 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3079
37c35586
KH
30802000-11-21 Kenichi Handa <handa@etl.go.jp>
3081
3082 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3083 ... #endif scope.
3084
ff9ab414
GM
30852000-11-20 Gerd Moellmann <gerd@gnu.org>
3086
c51d2b5e
GM
3087 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
3088 screen supports it.
3089
29a01b72
GM
3090 * s/gnu-linux.h: Don't use `#cpu'.
3091
09dfdf85
GM
3092 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3093 not defined in mman.h.
3094
ff9ab414
GM
3095 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
3096 variables.
3097 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3098 and store an index in the XClientMessageEvent. Storing a
3099 Lisp_Object or pointer can fail on a 64 bit system, since X only
3100 transfers 32 bits.
3101 (x_scroll_bar_to_input_event): Get the window from
3102 scroll_bar_windows.
3103
81459ac9
DL
31042000-11-20 Dave Love <fx@gnu.org>
3105
3106 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3107
56c13ae6
GM
31082000-11-20 Gerd Moellmann <gerd@gnu.org>
3109
3110 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3111
495a6df3
KH
31122000-11-20 Kenichi Handa <handa@etl.go.jp>
3113
2bcf3714
KH
3114 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3115 by WIDTH.
3116
495a6df3
KH
3117 * alloc.c (make_string): Fix previous change. Be sure to make
3118 unibyte string correctly.
3119
6d950f4c
GM
31202000-11-19 Gerd Moellmann <gerd@gnu.org>
3121
39b39373
GM
3122 * window.c (Fwindow_list): Change parameter list to be XEmacs
3123 compatible.
3124 (window_list_1): New function.
3125 (window_loop): Use it instead of Fwindow_list.
3126
b95b34e5
GM
3127 * sysdep.c (emacs_ospeed): New variable.
3128 (toplevel): Don't declare ospeed extern.
3129 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3130
3131 * termcap.c (ospeed): Remove.
3132 (tputs) [!emacs]: Remove unused code.
3133 (tgetent): Avoid a compiler warning.
3134
e83dc917
GM
3135 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3136 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3137 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3138
3139 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3140 removed.
3141 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3142 Take the X display as additional argument.
3143 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3144 `Widget' is a pointer type that's not easily stored in Lisp_Object
3145 form in a portable way.
3146
6d950f4c
GM
3147 * dispnew.c (update_text_area): Fix last change.
3148
e47306e6
GM
31492000-11-18 Gerd Moellmann <gerd@gnu.org>
3150
fb3cd89b
GM
3151 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3152
3153 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3154 clear current matrices.
3155
edaa9aed
GM
3156 * buffer.c (mmap_enlarge): Don't print a message on stderr
3157 if mapping new memory at the end of the existing region fails.
3158
e47306e6
GM
3159 * dispnew.c (update_text_area): Don't skip over equal glyphs
3160 when the last current glyph overlaps the glyph to its right.
3161
509633e3
MB
31622000-11-18 Miles Bader <miles@gnu.org>
3163
3164 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3165 lines that *end* with "..." too (that's the most common case!).
3166
d392e9c5
GM
31672000-11-18 Gerd Moellmann <gerd@gnu.org>
3168
67988445
GM
3169 * xdisp.c (resize_mini_window): Temporarily change to the
3170 mini-window's buffer if necessary.
1bfdbe43 3171
d392e9c5
GM
3172 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3173 the tooltip obscures less text under it.
3174
31752000-11-17 Gerd Moellmann <gerd@gnu.org>
3176
3177 * puresize.h (BASE_PURESIZE): Increase to 700000.
3178
92bb977f
JR
31792000-11-18 Jason Rumney <jasonr@gnu.org>
3180
3181 * w32term.c (w32_draw_bitmap): Use face to set colors.
3182
26fbf20b
DL
31832000-11-17 Dave Love <fx@gnu.org>
3184
3185 * lread.c (Fload): Fix #ifdef for pcc.
3186
100b593b
GM
31872000-11-17 Gerd Moellmann <gerd@gnu.org>
3188
3189 * xdisp.c (pos_visible_p): Compute the default character height
3190 differently.
3191
a288d0d1
GM
31922000-11-16 Gerd Moellmann <gerd@gnu.org>
3193
cac94de6
GM
3194 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
3195 knowing the line's height; use the default font's height in that
3196 case.
3197
a288d0d1
GM
3198 * xfaces.c (weight_table): Add `demi' with the same meaning as
3199 `demibold'.
3200
981fb6f6
KH
32012000-11-16 Kenichi Handa <handa@etl.go.jp>
3202
2cca872d 3203 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3204 (clear_glyph_row): Delete local static variable null_row.
3205
e5fa381b
JR
32062000-11-15 Jason Rumney <jasonr@gnu.org>
3207
3208 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3209 (w32_alloc_lighter_color): Use new brightness calculations from
3210 xterm.c. Scale delta to be in the range expected by W32.
3211 (w32_draw_relief_rect): Use frame relief colors.
3212
8e42f043
GM
32132000-11-15 Gerd Moellmann <gerd@gnu.org>
3214
6d133d1f
GM
3215 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3216 (Qinhibit_default_face_x_resources): New variable.
3217 (syms_of_frame): Initialize it.
3218 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3219
3220 * xdisp.c (pos_visible_p): Improve function comment.
3221
3222 * lisp.h (BINDING_STACK_SIZE): New macro.
3223
8e42f043
GM
3224 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3225 reading the directory if readdir returns null and errno is EAGAIN
3226 or EINTR.
3227
e8c87124
SM
32282000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3229
3230 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3231 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3232 Set amount_to_scroll to max of dx and scroll_step so that
3233 scroll-conservatively doesn't defeat scroll-step>1.
3234 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3235 scroll-conservatively for line-at-a-time scrolling.
3236
5f0c971d
GM
32372000-11-14 Gerd Moellmann <gerd@gnu.org>
3238
3239 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3240 extra argument.
3241
3242 * xdisp.c (current_mode_line_height, current_header_line_height):
3243 New variables.
3244 (init_xdisp): Initialize them.
3245 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3246 and use exact mode line heights if it is set.
3247
3248 * lisp.h (pos_visible_p): Change prototype.
3249
3250 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3251 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3252 and current_header_line_height first.
3253 (current_mode_line_height, current_header_line_height): Declare
3254 extern.
3255
d7361edf
MB
32562000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3257
3258 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3259 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3260 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3261
ee5e440a
MB
32622000-11-14 Miles Bader <miles@gnu.org>
3263
3264 * xterm.c (x_alloc_lighter_color): Include an additive component
3265 too for dark colors, because FACTOR isn't enough.
3266 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3267 New macros.
3268
5ca020fc
GM
32692000-11-13 Gerd Moellmann <gerd@gnu.org>
3270
3271 * keyboard.c (show_help_echo): Call message3_nolog with number of
3272 bytes in the help string as 2nd parameter, instead of the number
3273 of characters.
3274
9d348294
MB
32752000-11-13 Miles Bader <miles@gnu.org>
3276
3277 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3278 (Fload): Use new openp return protocol.
3279 Don't try to use Vload_source_file_function to load .elc files.
3280 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3281 openp return protocol.
3282 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3283
1729bb9a
KH
32842000-11-11 Kenichi Handa <handa@etl.go.jp>
3285
4e677396
KH
3286 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3287
3288 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3289 Defined these macros.
3290 (NLIST_STRUCT): Avoid re-defining it.
3291
1729bb9a
KH
3292 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3293 -I/usr/contrib/X11R6/include.
3294 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3295
a82fe213
JR
32962000-11-10 Jason Rumney <jasonr@gnu.org>
3297
3298 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3299
3300 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3301 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3302
3303 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3304 (Qw32_charset_vietnamese): New symbol.
3305 (xlfd_charset_of_font): New function.
3306 (w32_load_system_font): Use it.
3307 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3308 when Vw32_charset_info_alist is nil to ensure default face always
3309 has font. Use Fcar and Fcdr for safety.
3310 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3311 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3312 pseudo-codepages for special cases.
3313 (w32_to_x_font): New parameter to allow charset portion to be
3314 specified where there is many to one mapping. Callers changed.
3315 (w32_list_fonts): Avoid listing fonts that won't display.
3316
52d89894
GM
33172000-11-10 Gerd Moellmann <gerd@gnu.org>
3318
3319 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3320 (font_list_1): Renamed from font_list.
3321 (font_list): New function, trying alternative registries from
3322 Vface_alternative_font_registry_alist.
3323 (Finternal_set_alternative_font_registry_alist): New function.
3324 (syms_of_xfaces): Initialize and Staticpro
3325 Vface_alternative_font_registry_alist. Defsubr
3326 Finternal_set_alternative_font_registry_alist.
3327
651cd3da
KR
33282000-11-09 Ken Raeburn <raeburn@gnu.org>
3329
3330 * lisp.h (Flooking_at): Declare.
3331
388ac098
GM
33322000-11-09 Gerd Moellmann <gerd@gnu.org>
3333
778fbc46
GM
3334 * dired.c (directory_files_internal): Fix a braino.
3335
388ac098
GM
3336 * dired.c (directory_files_internal): Add missing GCPRO's.
3337 Some cleanup.
3338
ecaedde1
GM
33392000-11-08 Gerd Moellmann <gerd@gnu.org>
3340
f7eb32aa
GM
3341 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3342 (resize_mini_window): Return quickly if Vresize_mini_window is
3343 nil. Don't return if Vmax_mini_window_height is nil.
3344
3345 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3346 (syms_of_xdisp): Initialize them.
3347 (resize_mini_window): Act according to the setting of
3348 Vresize_mini_window.
3349 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3350
ecaedde1
GM
3351 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3352 scroll bar widget after configuring it, so that it will appear at
3353 the right position from the start.
3354 (XTredeem_scroll_bar): Cleaned up.
3355
3747ef2c
KH
33562000-11-08 Kenichi Handa <handa@etl.go.jp>
3357
3358 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3359 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3360 division by two.
3361
3362 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3363
03391420
DL
33642000-11-07 Dave Love <fx@gnu.org>
3365
7758f1c1 3366 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3367
3368 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3369
b5de343d
GM
33702000-11-07 Gerd Moellmann <gerd@gnu.org>
3371
acad3c0b
GM
3372 * window.c (Fset_window_configuration): Don't try to preserve
3373 point in the current buffer, if that buffer is displayed in more
3374 than one window.
3375
b5de343d
GM
3376 * xfaces.c (lookup_named_face): If default face isn't realized,
3377 try to realize it. Return -1 if not successful.
3378 (Fx_list_fonts): Handle case that face cannot be determined.
3379 (Fface_font): Likewise.
3380
cdb1fe49
GM
33812000-11-06 Gerd Moellmann <gerd@gnu.org>
3382
3383 * window.c (displayed_window_lines): Detect partially
3384 visible lines at the bottom correctly.
3385
d3a67486
SM
33862000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3387
3388 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3389 when ensuring we don't do visit in indirect buffer.
3390
ff8dd5d5
KH
33912000-11-06 Kenichi Handa <handa@etl.go.jp>
3392
3393 * composite.h (compose_chars_in_text): Add prototype.
3394
3395 * composite.c (Vcomposition_function_table): New variable.
3396 (Qcomposition_function_table): New variable.
3397 (run_composition_function): Call
3398 Vcompose_chars_after_function with three arguments.
3399 (compose_chars_in_text): New function.
3400 (syms_of_composite): Modified the doc-string of
3401 Vcompose_chars_after_function. Declare composition-function-table
3402 as a lisp variable, and initialize it.
3403
3404 * xfns.c (x_encode_text): Suppress producing escape sequences for
3405 composition.
3406
3407 * xselect.c: Include composite.h.
3408 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3409
d1145f85
AI
34102000-11-05 Andrew Innes <andrewi@gnu.org>
3411
3412 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3413
3414 * sysdep.c (read_input_waiting): Remove extraneous argument to
3415 read_socket_hook.
3416
3417 * w32fns.c (Fx_server_version): Include w32_build_number in the
3418 return list.
3419
3420 * w32heap.c (w32_build_number): New variable.
3421 (cache_system_info): Set it.
3422
3423 * w32heap.h (w32_build_number): Add extern.
3424
3425 * emacs.c (syms_of_emacs): Update docstring for
3426 system-configuration, to reflect the actual usage on MS-Windows.
3427
e85ee976
GM
34282000-10-31 Gerd Moellmann <gerd@gnu.org>
3429
26dcb81b
GM
3430 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3431 process idle timers while waiting for another event.
3432
0a894bad
GM
3433 * dispnew.c (update_frame_line): Handle case where spaces in
3434 the default face are colored.
3435
e85ee976
GM
3436 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3437 window height hasn't changed.
3438
01b220b6
JR
34392000-10-31 Jason Rumney <jasonr@gnu.org>
3440
3441 * w32term.c (x_produce_glyphs): Handle composite characters.
3442 (x_draw_glyph_string_foreground)
3443 (x_draw_composite_glyph_string_foreground): Restore old font.
3444
4e6b7204
MB
34452000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3446
3447 * minibuf.c (read_minibuf): Reset the undo history just before
3448 starting the recursive-edit.
3449
d4358b37
GM
34502000-10-30 Gerd Moellmann <gerd@gnu.org>
3451
563f68f1
GM
3452 * xfaces.c (menu_face_change_count): New variable.
3453 (Finternal_set_lisp_face_attribute): Increment it for changes
3454 of the `menu' face.
3455 (realize_basic_faces): Reflect changes in the `menu' faces
3456 in menu bars.
3457
82e274d1
GM
3458 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3459 dy obtained from the iterator's y-position after moving from
3460 scroll_margin_pos to PT; see comment there.
3461
0dbf9fd2
GM
3462 * xdisp.c (safe_eval_handler): Call add_to_log.
3463
906b3b14
GM
3464 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3465 is not a symbol or string.
3466
d4358b37
GM
3467 * xdisp.c (echo_area_display): Don't perform a display update from
3468 inside redisplay. The update will happen anyway at the end of
3469 redisplay, and it can confuse redisplay (GC messages while
3470 redisplaying, for instance.)
3471
70c825df
SM
34722000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3473
cf9b4b0b
SM
3474 * xrdb.c (x_load_resources): Use the class name in the defaults.
3475
70c825df
SM
3476 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3477 (regex_compile): Catch bogus \(\1\).
3478
a1d34b1e
GM
34792000-10-30 Gerd Moellmann <gerd@gnu.org>
3480
cae71efe
GM
3481 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3482 RGB values.
3483
35efe0a1
GM
3484 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3485 we have a color cache, check that the cached color equals the
3486 allocated color. If not, clear the color cache.
3487
1d3baf74
GM
3488 * window.c (displayed_window_lines): Change buffers if necessary.
3489 Fix computation of displayed lines.
3490
a1d34b1e
GM
3491 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3492 update_menu_bindings to DEFVAR_BOOL.
3493
70737ea9
KH
34942000-10-30 Kenichi Handa <handa@etl.go.jp>
3495
70c825df 3496 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3497
fa0cb51d
KH
3498 * puresize.h (BASE_PURESIZE): Increase to 680000.
3499
70737ea9
KH
3500 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3501
0e4c08e8
JR
35022000-10-29 Jason Rumney <jasonr@gnu.org>
3503
3504 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3505
3506 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3507 (w32_cache_char_metrics): Handle possibility that 'x' does not
3508 exist in a BDF font.
3509 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3510
3511 * w32bdf.h (bdffont): Add nchars.
3512
3513 * w32bdf.c (set_bdf_font_info): Set it.
3514 (w32_BDF_TextOut): Swap byte order of double byte characters.
3515 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3516
45b84006
EZ
35172000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3518
3519 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3520 don't override the colors in frame's param_alist, unless they are
3521 unspecified.
3522
3523 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3524 reverse the effect of the highlight flag.
3525
caf9deee
KR
35262000-10-27 Ken Raeburn <raeburn@gnu.org>
3527
3528 * window.h (Fwindow_live_p): Declare.
3529
ae0b9b46
KR
3530 * undo.c (record_delete): Check that last_undo_buffer is really a
3531 buffer before applying XBUFFER to it.
3532
3533 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3534 Faref.
3535
02067692
SM
35362000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3537
3538 * lisp.h (KEYMAPP): New macro.
3539 (get_keymap): Remove.
3540 (get_keymap_1): Rename get_keymap.
3541
3542 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3543
3544 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3545
3546 * xmenu.c (single_submenu): Use KEYMAPP.
3547 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3548 Use KEYMAPP rather than Fkeymapp.
3549
3550 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3551
3552 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3553 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3554 Use KEYMAPP rather than Fkeymapp.
3555 (single_submenu): Use KEYMAPP.
3556 (w32_menu_show, w32_dialog_show): Use TRUE.
3557
3558 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3559
3560 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3561 (Fkeymapp): Use KEYMAPP.
3562 (get_keymap): Rename from get_keymap_1. Remove old def.
3563 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3564 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3565 (Fminor_mode_key_binding): Don't raise an error if the binding
3566 is not a keymap.
3567 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3568 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3569
3570 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3571 Allow Vspecial_event_map to be autoloaded.
3572 (menu_bar_items): Fetch the keymap rather than using keymapp.
3573 (menu_bar_one_keymap): No need to follow func-indirect any more.
3574 (parse_menu_item): get_keymap_1 -> get_keymap.
3575 (tool_bar_items): Fetch the keymap rather than using keymapp.
3576 (read_key_sequence): Use KEYMAPP.
3577
3578 * intervals.c (get_local_map): Use get_keymap rather than following
3579 function-indirections explicitly.
3580
3581 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3582
f9d80af3
JR
35832000-10-27 Jason Rumney <jasonr@gnu.org>
3584
3585 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3586 point, as Windows has oversized fonts.
3587
3588 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3589
a3ba27da
GM
35902000-10-27 Gerd Moellmann <gerd@gnu.org>
3591
3592 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3593 (freehook, reallochook): Handle null pointer arguments.
3594 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3595
aa3b80cc
SM
35962000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3597
3598 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3599 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3600 Giving in to popular pressure to shut up the compiler with casts.
3601
e24e84cc
GM
36022000-10-27 Gerd Moellmann <gerd@gnu.org>
3603
3604 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3605 signed value, and use a default value computed from the font's
3606 maximum descent.
3607
05ea7ef2
MB
36082000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3609
3610 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3611 that specify a negative underline position can still use underlines.
3612
3613 * window.c (Fpos_visible_in_window_p): Make POS default to
3614 WINDOW's point, not the current buffer's point.
3615
0b95284b
DL
36162000-10-26 Dave Love <fx@gnu.org>
3617
3618 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3619 when it's necessary.
3620
6c5b90af
GM
36212000-10-26 Gerd Moellmann <gerd@gnu.org>
3622
8b6d9dc9
GM
3623 * window.c (size_window): Compute size difference from sum of old
3624 child window sizes instead of from parent's size.
3625
6bc92b2e
GM
3626 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3627 Handle obscured lines at the top of the window.
3628
3629 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3630 down after the last error condition check.
3631
6c5b90af
GM
3632 * frame.c (Fdelete_frame): Run delete-frame-hook.
3633
42f92d4d
KH
36342000-10-26 Kenichi Handa <handa@etl.go.jp>
3635
3636 * coding.c (decode_coding): Fix previous change (check also
3637 CODING_MODE_LAST_BLOCK).
3638
d97151cb
SM
36392000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3640
e7efc503
SM
3641 * regex.c: More `unsigned char' -> `re_char' changes.
3642 Also change several `int' into `re_wchar_t'.
3643 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3644 (PUSH_FAILURE_POINTER): Don't cast any more.
3645 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3646 We want GCC to complain, since this piece of code makes
3647 re_match non-reentrant, which *should* be fixed.
3648 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3649 (EXTEND_BUFFER): Use RETALLOC.
3650 (SET_LIST_BIT): Don't cast.
3651 (re_wchar_t): New type.
3652 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3653 that those two functions will always properly return.
3654 (IMMEDIATE_QUIT_CHECK): Cast to void.
3655 (analyse_first): Use recursion rather than an explicit stack.
3656 (re_compile_fastmap): Can't fail anymore.
3657 (re_search_2): Don't check re_compile_fastmap for failure.
3658 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3659 Now also sets the new value (passed in a new argument).
3660 (re_match_2_internal): Use it.
3661 Also, use a new var `reg' of type size_t when looping through regs
3662 rather than reuse the inappropriate `mcnt'.
3663
d97151cb
SM
3664 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3665 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3666 (where_is_internal): Renamed from Fwhere_is_internal.
3667 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3668 (Fwhere_is_internal): New function wrapping where_is_internal.
3669 (where_is_internal_1): Handle the case where we're filling the cache.
3670 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3671
d5789b65
MB
36722000-10-25 Miles Bader <miles@gnu.org>
3673
3674 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3675
4ecda532
GM
36762000-10-25 Gerd Moellmann <gerd@gnu.org>
3677
3678 * window.c (pos_fully_visible_p): Removed.
3679 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3680 if position is visible and/or fully visible.
3681
3682 * lisp.h (pos_visible_p): Add prototype.
3683
3684 * xdisp.c (pos_visible_p): New function.
3685
68c3a137
KH
36862000-10-25 Kenichi Handa <handa@etl.go.jp>
3687
3688 * process.c (send_process): If OBJECT is t, it means that the data
3689 is from C string, but we should encode it. Before calling
3690 setup_raw_text_coding_system, be sure to flush out data by the
3691 previous coding system.
3692
7ae1c032
MB
36932000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3694
ff4dcd4b
MB
3695 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3696 assignment of startpos to prev when startpos == pos.
3697
7ae1c032
MB
3698 * editfns.c (find_field): Set the field stickiness correctly from
3699 overlay fields. Use renamed `text_property_stickiness'.
3700 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3701 Only check text properties, not overlays.
7ae1c032
MB
3702 * textprop.c (get_char_property_and_overlay): New function.
3703 (Fget_char_property): Use it.
3704 * intervals.h (get_char_property_and_overlay): Add declaration.
3705
49801145
SM
37062000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3707
3708 * keymap.c: Use AREF, ASET and ASIZE macros.
3709 (Fmake_sparse_keymap): Docstring fix.
3710 (synkey): Remove.
3711 (shadow_lookup): Move up.
3712 Handle the case where lookup-key returns an integer.
3713 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3714 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3715 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3716 Simplify/rewrite the keymap-finding code.
3717 Add check for command shadowing, using shadow_lookup.
3718
39e776cd
SM
37192000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3720
3721 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3722 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3723 a symbol.
3724
2488aba5
AI
37252000-10-24 Andrew Innes <andrewi@gnu.org>
3726
3727 * dired.c (directory_files_internal_unwind): New function.
3728 (directory_files_internal): Use it to ensure closedir is called
3729 even if expand-file-name or file-attributes throw, eg. because of
3730 a user interrupt. Also enable immediate_quit while calling
3731 re_search, so that matching can be interrupted as well.
3732
b94fdf61
AI
37332000-10-24 Andrew Innes <andrewi@gnu.org>
3734
3735 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3736 NT-Emacs only.
3737 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3738 so that re_search functions only quit when callers expect them to.
3739
37402000-10-24 Kenichi Handa <handa@etl.go.jp>
3741
3742 * regex.c (regex_compile): Change the way of handling a range from
3743 a char less than 256 to a char not less than 256.
3744
1946f901
GM
37452000-10-24 Gerd Moellmann <gerd@gnu.org>
3746
7ae2f10f
GM
3747 * window.c (size_window): Prevent setting window's width or
3748 height to a negative value (esp. with XSETFASTINT).
3749
5dcab13e
GM
3750 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3751 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3752 (protect_malloc_state) [GC_MALLOC_CHECK &&
3753 GC_PROTECT_MALLOC_STATE]: New function.
3754 (PROTECT_MALLOC_STATE): New macro.
3755 (__malloc_initialize, morecore, _malloc_internal)
3756 (_free_internal) _realloc_internal): Use it to make _heapinfo
3757 read-only outside of gmalloc.
3758
63e1b552
GM
3759 * keymap.c: Update copyright.
3760
1946f901
GM
3761 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3762 a symbol.
3763
4fa09beb
GM
37642000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3765
3766 * filelock.c (unlock_all_files): Use unlock_file to expand each
3767 buffer's file_truename before trying remove its lock file.
3768
23afac01
EZ
37692000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3770
3771 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3772 or CRLF, decode EOLs.
3773
04448b95
KH
37742000-10-24 Kenichi Handa <handa@etl.go.jp>
3775
3776 * window.c (Fdisplay_buffer): Fix doc.
3777
3090a5a5
JR
37782000-10-23 Jason Rumney <jasonr@gnu.org>
3779
3780 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3781 ASCII font of default fontset on Windows.
3782
3783 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3784 xterm.c comment below).
3785
3786 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3787
a83fee2c
GM
37882000-10-23 Gerd Moellmann <gerd@gnu.org>
3789
3790 * xterm.c (x_connection_closed): Reset handling_signal.
3791
3792 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
3793 null.
3794
6ffdb539
MB
37952000-10-23 Miles Bader <miles@gnu.org>
3796
3797 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3798 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3799 maintain old behavior.
3800 * minibuf.c (Fminibuffer_complete): Likewise.
3801
7f1c969b
MB
38022000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3803
3804 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3805 that when a font can't be exactly centered, it errs up rather than
3806 down.
3807
23afac01 38082000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
3809
3810 * fns.c (Fbase64_decode_string): The decoded result should be
3811 unibyte.
3812
1a578e9b
AC
38132000-10-23 Andrew Choi <akochoi@i-cable.com>
3814
3815 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3816
3817 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 3818 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
3819
3820 * emacs.c (main) [macintosh]: Call syms_of_textprop,
3821 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
3822 syms_of_search, x_term_init, and init_keyboard before calling
3823 init_window_once. Also, call syms_of_xmenu.
3824
3825 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
3826 default fontset to Monaco.
3827
3828 * frame.c [macintosh]: Include macterm.h. Remove declarations of
3829 NewMacWindow and DisposeMacWindow.
3830 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
3831 instead of calling NewMacWindow and setting fields of
3832 f->output_data.mac directly. Call init_frame_faces.
3833 (Fdelete_frame) [macintosh]: Remove unused code.
3834 (Fmodify_frame_parameters) [macintosh]: Call
3835 x_set_frame_parameters instead of mac_set_frame_parameters.
3836
3837 * frame.h [macintosh]: Define menu_bar_lines field in struct
3838 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
3839
3840 * keyboard.c [macintosh]: Include macterm.h.
3841 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
3842 and menu_bar_activate_event type events as for X and NT.
3843 (make_lispy_event) [macintosh]: Construct lisp events of type
3844 MENU_BAR_EVENT as for X and NT.
3845
3846 * sysdep.c [macintosh]: Remove declaration for sys_signal.
3847 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
3848 (sys_subshell) [macintosh]: Remove definition entirely.
3849 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
3850 Vwindow_system_version here. Remove initialization of
3851 Vx_bitmap_file_path.
3852 (read_input_waiting): Correct the number of parameters passed to
3853 read_socket_hook.
3854 Move all Macintosh functions to mac/mac.c.
3855
3856 * term.c [macintosh]: Include macterm.h.
3857
3858 * window.c [macintosh]: Include macterm.h.
3859
3860 * xdisp.c [macintosh]: Include macterm.h. Declare
3861 set_frame_menubar and pending_menu_activation.
3862 (echo_area_display) [macintosh]: Do not return if terminal frame
3863 is the selected frame.
3864 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
3865 Allow only the selected frame to set menu bar.
3866 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
3867 calling FRAME_EXTERNAL_MENU_BAR (f).
3868 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
3869
3870 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
3871 and check_x. Declare XCreateGC. Define x_create_gc and
3872 x_free_gc. Initialize font_sort_order.
3873 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
3874 but call x_list_fonts instead of w32_list_fonts.
3875 (Finternal_face_x_get_resource) [macintosh]: Do not call
3876 display_x_get_resource.
3877 (prepare_face_for_display) [macintosh]: Set xgcv.font.
3878 (realize_x_face) [macintosh]: Load the font if it is specified in
3879 ATTRS.
3880 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
3881 to Qt.
3882
1ffbabe3
SM
38832000-10-22 Stefan Monnier <monnier@cs.yale.edu>
3884
3885 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
3886 is nil: since we go to the end of submap anyway, we'd end up
3887 setting nil to nil.
3888 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
3889 doesn't obey autoload.
3890
bed43f1d
EZ
38912000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3892
1ffbabe3 3893 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 3894
ea4233a7
JR
38952000-10-21 Jason Rumney <jasonr@gnu.org>
3896
3897 * w32term.c (w32_cache_char_metrics): Double check that font is
3898 really fixed pitch before trusting tmPitchAndFamily.
3899
f3d3c491
AI
39002000-10-21 Andrew Innes <andrewi@gnu.org>
3901
3902 * w32gui.h (w32_char_font_type): Move enum from w32term.c
3903
3904 * w32term.h: Extern decl for w32_cache_char_metrics.
3905
3906 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
3907
3908 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
3909 (w32_unload_font): Free per_char array if present.
3910
3911 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
3912 cached information in emulated XFontStruct to handle common cases
3913 quickly. Do not allocate XCharStruct for return.
3914 (w32_native_per_char_metric): New function.
3915 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
3916 allocating one.
3917 (x_produce_glyphs): Don't get an HDC. Change calls to
3918 w32_per_char_metric to match arg change above. Remove calls to
3919 free results.
3920 (w32_get_glyph_overhangs): Ditto.
3921 (w32_cache_char_metrics): New function.
3922
3923 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
3924 ($(BLD)/casefiddle.$(O)): Remove compile command.
3925 ($(BLD)/gmalloc.$(O)): Remove compile command.
3926 ($(BLD)/dispnew.obj):
3927 ($(BLD)/keyboard.obj):
3928 ($(BLD)/w32inevt.obj):
3929 ($(BLD)/w32bdf.obj):
3930 ($(BLD)/alloc.obj):
3931 ($(BLD)/buffer.obj):
3932 ($(BLD)/editfns.obj):
3933 ($(BLD)/emacs.obj):
3934 ($(BLD)/fileio.obj):
3935 ($(BLD)/fns.obj):
3936 ($(BLD)/indent.obj):
3937 ($(BLD)/insdel.obj):
3938 ($(BLD)/intervals.obj):
3939 ($(BLD)/minibuf.obj):
3940 ($(BLD)/print.obj):
3941 ($(BLD)/scroll.obj):
3942 ($(BLD)/sysdep.obj):
3943 ($(BLD)/textprop.obj):
3944 ($(BLD)/widget.obj):
3945 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
3946 ($(BLD)/term.obj): Add dependency on dispextern.h.
3947
3948 * makefile.nt ($(BLD)\dispnew.obj):
3949 ($(BLD)\keyboard.obj):
3950 ($(BLD)\w32inevt.obj):
3951 ($(BLD)\w32bdf.obj):
3952 ($(BLD)\alloc.obj):
3953 ($(BLD)\buffer.obj):
3954 ($(BLD)\editfns.obj):
3955 ($(BLD)\emacs.obj):
3956 ($(BLD)\fileio.obj):
3957 ($(BLD)\fns.obj):
3958 ($(BLD)\indent.obj):
3959 ($(BLD)\insdel.obj):
3960 ($(BLD)\intervals.obj):
3961 ($(BLD)\minibuf.obj):
3962 ($(BLD)\print.obj):
3963 ($(BLD)\scroll.obj):
3964 ($(BLD)\sysdep.obj):
3965 ($(BLD)\textprop.obj):
3966 ($(BLD)\widget.obj):
3967 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
3968 ($(BLD)\term.obj): Add dependency on dispextern.h
3969
18ad4821
EZ
39702000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3971
3972 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
3973 with an additional argument of Qt.
3974
de54681a
MB
39752000-10-21 Miles Bader <miles@gnu.org>
3976
3977 * window.c (pos_fully_visible_in_window_p): New function.
3978 (Fpos_visible_in_window_p): Add FULLY argument.
3979 Use pos_fully_visible_in_window_p.
3980 (window_scroll_pixel_based, window_scroll_line_based): Update
3981 calls to Fpos_visible_in_window_p.
3982 * lisp.h (Fpos_visible_in_window_p): Update prototype
3983
13c844fb
GM
39842000-10-20 Gerd Moellmann <gerd@gnu.org>
3985
3986 * alloc.c (toplevel): Conditionalize compilation of mem_*
3987 functions differently.
3988
d9506268
JR
39892000-10-20 Jason Rumney <jasonr@gnu.org>
3990
3991 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
3992 mem_init where it used to be. mem_z etc not defined otherwise.
3993
8094989b
GM
39942000-10-20 Gerd Moellmann <gerd@gnu.org>
3995
3996 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
3997 GC_MALLOC_CHECK.
3998 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
3999 structure definition and related variabled to the top of the file.
4000 Include this code when GC_MALLOC_CHECK is defined.
4001 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4002 register/unregister allocated region.
4003 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4004 which isn't allocated.
4005 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4006 something which is already in use.
4007 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4008 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4009 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4010 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4011
4012 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4013 _malloc_internal instead of malloc.
4014 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4015 of free.
4016
ea456eb4
AI
40172000-10-20 Andrew Innes <andrewi@gnu.org>
4018
4019 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4020 Windows.
4021 (my_strftime) <macro>: Don't use macro arg list when redefining as
4022 _strftime_copytm.
4023 (my_strftime) <function>: Supply 0 as ut argument.
4024
e64c3a75
JR
40252000-10-19 Jason Rumney <jasonr@altavista.net>
4026
4027 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4028 including dispextern.h, as it stops faces from working.
4029
4030 * w32fns.c (Fx_create_frame): Don't bother calling
4031 face-set-after-frame-default since the caller does it for us
4032 anyway. Clean up calls to x_get_arg to be consistent with X.
4033
4034 * w32term.c (x_produce_glyphs): Handle
4035 unibyte_display_via_language_environment correctly.
4036 (w32_draw_box_rect): Fix the calculation of width and height.
4037
4038 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4039 as it has stopped working.
4040 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4041 menu-bar.
4042
17401c97
GM
40432000-10-19 Gerd Moellmann <gerd@gnu.org>
4044
4045 * eval.c (skip_debugger): Prevent a compiler warning.
4046 (Fcondition_case): Likewise.
4047 (Fbacktrace_frame): Use a null interactive spec.
4048
773272d8
KH
40492000-10-19 Kenichi Handa <handa@etl.go.jp>
4050
4051 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4052
a42943e9
GM
40532000-10-18 Gerd Moellmann <gerd@gnu.org>
4054
e50517d9
GM
4055 * strftime.c: Sync with glibc, file version 1.78.
4056 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4057 should no longer be used according to ISO 8601.
4058
9035a35a
GM
4059 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4060 no map for meta_prefix_char, don't try to use it as a keymap.
4061 Instead, if T_OK is non-zero, look up a default binding, if any,
4062 otherwise, if T_OK is zero, return nil.
4063
a42943e9
GM
4064 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4065 (x_to_xcolors, png_load): Use x_query_color.
4066
4067 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
4068 functions.
4069 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4070 which can be slow.
4071 (x_copy_color, x_alloc_lighter_color): Likewise.
4072
4073 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4074 (x_query_color, x_query_colors): Add prototype.
4075
4076 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4077 check_string_bytes only if not noninteractive, increase count to 50.
4078
00de2987
MB
40792000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4080
4081 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4082 markers correctly.
4083
54918e2b
GM
40842000-10-17 Gerd Moellmann <gerd@gnu.org>
4085
1f0b3fd2
GM
4086 * alloc.c (pure_bytes_used): Renamed from pureptr.
4087 (ALIGN): New macro.
4088 (pure_alloc): New function.
4089 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4090 Use it.
4091 (Fpurecopy): Use PURE_POINTER_P.
4092
68c5d1db
GM
4093 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4094 PT has moved backward.
4095
9a038881
GM
4096 * xdisp.c (cursor_row_p): Take continued lines into account.
4097
361b097f
GM
4098 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4099 string's size_byte.
4100 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4101 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4102 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4103 string allocated.
4104
54918e2b
GM
4105 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4106 of selective display off while searching for the next line start.
4107
03ed0806
KH
41082000-10-17 Kenichi Handa <handa@etl.go.jp>
4109
4110 * Makefile.in (term.o): Depend on dispextern.h.
4111
7e05cdaf
SM
41122000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4113
4114 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4115
a6801fd1
GM
41162000-10-16 Gerd Moellmann <gerd@gnu.org>
4117
483de32b
GM
4118 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4119 the iterator at the beginning, so that they can be set later on,
4120 for instance in reseat_at_next_visible_line_start, without being
4121 overwritten.
4122
a6801fd1
GM
4123 * xfns.c (pbm_format): Add :foreground and :background keywords.
4124 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 4125 (xbm_load): Recognize foreground and background color
a6801fd1
GM
4126 specifications.
4127
dbf1fcc1
EZ
41282000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4129
4130 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4131
4132 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
4133 declaration.
4134
4135 * msdos.c (IT_set_face): Compare highlighted face with the default
4136 face, and invert colors if these faces' colors are identical.
4137 (Fmsdos_remember_default_colors): Don't swap foreground and
4138 background colors in initial_colors[].
4139 (IT_set_frame_parameters): Don't swap frame's foreground and
4140 background pixels. If ALIST includes "(reverse . t)", swap
4141 foreground-color and background-color properties in frame's
4142 param_alist. If the original frame's param_alist doesn't specify
4143 the colors, store unspecified-fg and unspecified-bg, reversed if
4144 required.
4145
4146 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4147 the colors are unspecified and reversed, reverse fore- and back-
4148 ground in the returned value.
4149 (Fframe_parameter): Ditto.
4150
b41fe2c3
GM
41512000-10-16 Gerd Moellmann <gerd@gnu.org>
4152
3a6b59d9
GM
4153 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4154 get_last_unchanged_at_beg_row.
4155 (find_first_unchanged_at_end_row): Renamed from
4156 get_first_unchanged_at_end_row.
4157 (find_first_unchanged_at_end_row): Convert assertions to
4158 unconditional tests which abort. When looking for a row in
4159 unchanged text, don't go further back than first_text_row.
4160
b41fe2c3
GM
4161 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4162 Don't add in the last line's height when deciding if the new
4163 position is below the scroll margin.
9d1af64f 4164
b41fe2c3 41652000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4166
4167 * editfns.c (Fconstrain_to_field): Check carefully for field
4168 boundaries if either OLD_POS or NEW_POS has a non-nil field
4169 property, even if they're the same.
4170
c412cb7b
KH
41712000-10-16 Kenichi Handa <handa@etl.go.jp>
4172
4173 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4174 height for XFillRectangle.
4175
5586f3eb
SM
41762000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4177
4178 * syntax.c (Fstring_to_syntax): New function extracted from
4179 Fmodify_syntax_entry.
4180 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4181 (skip_chars, Fforward_comment): Remove unused variables.
4182 (syms_of_syntax): Add defsubr for string-to-syntax.
4183 (describe_syntax): Add code for comment and string fences.
4184
db785038
SM
41852000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4186
4187 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4188 Do the meta->esc mapping. Call get_keyelt before returning.
4189 Start scanning from the second element (the first is always `keymap')
4190 to make it easier to detect when we reach a parent map.
4191 Handle the case of inheriting from a symbol whose function is a map.
4192 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4193 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4194 (get_keyelt, Flookup_key): Update call to access_keymap.
4195 Remove the meta->esc mappings.
4196 (define_as_prefix): Delete old disabled code.
4197 (menu_item_p): New function.
4198 (where_is_internal_1): Skip over the few remaining menu items.
4199 * lisp.h (access_keymap): Update prototype.
4200 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4201 Update call to access_keymap.
4202 (follow_key, read_key_sequence): Update calls to access_keymap.
4203 Remove the meta->esc mappings.
4204
cafafe0b
GM
42052000-10-13 Gerd Moellmann <gerd@gnu.org>
4206
a2e2a7f6
GM
4207 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4208 with additional argument.
4209
cafafe0b
GM
4210 * xdisp.c (cursor_row_p): New function.
4211 (try_cursor_movement, display_line): Use it.
4212
4213 * xdisp.c (append_space): Also save/restore iterator's current
4214 character and its length.
4215
4216 * xdisp.c (init_from_display_pos): Add an assertion.
4217 (handle_stop): Don't set iterator's add_overlay_start.
4218 (handle_invisible_prop): Likewise.
4219 (load_overlay_strings): If text under an overlay is invisible,
4220 take both before- and after-strings into account when the iterator
4221 is positioned either at the start or at the end of the overlay.
4222 (forward_to_next_line_start): Rewritten.
4223 (reseat_at_next_visible_line_start): Rewritten.
4224 (set_iterator_to_next): Add parameter RESEAT_P.
4225
4226 * dispextern.h (struct it): Remove member add_overlay_start.
4227 (set_iterator_to_next): Change prototype.
4228
c744452b
KH
42292000-10-13 Kenichi Handa <handa@etl.go.jp>
4230
4231 * coding.c (code_convert_region): Be sure to initialize
4232 coding->category_idx.
e4a3f4e1
KH
4233 (decode_coding_string): Set coding->src_multibyte and
4234 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4235 (encode_coding_string): Set coding->src_multibyte and
4236 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4237
321fd26f
SM
42382000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4239
4240 * xfns.c (Fx_create_frame): Don't bother calling
4241 face-set-after-frame-default since the caller does it for us anyway.
4242
76832439
EZ
42432000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4244
4245 * window.c (coordinates_in_window): Fix detection of vertical line
4246 on character terminals.
4247
2483cf58
GM
42482000-10-12 Gerd Moellmann <gerd@gnu.org>
4249
4250 * editfns.c (save_excursion_save): Additionally record the
4251 selected window.
4252 (save_excursion_restore): If buffer was visible in a window, and a
4253 different window was selected, and the old selected window is
4254 still live, restore point in that window.
4255
eb991b25
KH
42562000-10-12 Kenichi Handa <handa@etl.go.jp>
4257
8a0eba09
KH
4258 * xterm.c (x_produce_glyphs): Handle
4259 unibyte_display_via_language_environment correctly.
4260
20401fcc
KH
4261 * regex.c (regex_compile): Change the way of handling a range from
4262 unibyte char to multibyte char.
4263
4264 * syntax.c (skip_chars): Change the way of handling a range from
4265 unibyte char to multibyte char.
4266
eb991b25
KH
4267 * process.c (read_process_output): Cancel previous change.
4268
365dd325
EZ
42692000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4270
c1b096cb
EZ
4271 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4272
365dd325
EZ
4273 * charset.c (Ffind_charset_string): Doc fix.
4274 (Ffind_charset_region): Doc fix.
4275
eb483c2b
KH
42762000-10-11 Kenichi Handa <handa@mule.m17n.org>
4277
4278 * process.c (read_process_output): Fix previous change. Adjust
4279 multibyteness of text to insert in a buffer by
df3c11b9 4280 string_make_unibyte/multibyte instead of
eb483c2b
KH
4281 Fstring_as_unibyte/multibyte.
4282
b40bfb99
AS
42832000-10-10 Andreas Schwab <schwab@suse.de>
4284
4285 * alloc.c (mark_object): Remove all workarounds installed on
4286 1993-08-08.
4287
caff31d4
KH
42882000-10-10 Kenichi Handa <handa@etl.go.jp>
4289
4290 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
4291 returning.
4292 (base64_encode_1): Make it work for a text of multibyte form.
4293 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4294 case. Don't call str_to_multibyte because base64_decode_1
4295 produces correct multibyte form for eight-bit codes.
4296 (Fbase64_decode_string): Adjusted for the change of
4297 base64_decode_1.
4298 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4299 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4300 codes.
4301
4302 * charset.h (CHAR_STRING): Optimized for single byte characters.
4303
cba026ef
AS
43042000-10-09 Andreas Schwab <schwab@suse.de>
4305
4306 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4307 -1 after socket is closed, to fall through to error processing.
4308
1e21fe48
EZ
43092000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4310
4311 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4312 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4313 background-color, change also the colors of the default face for
4314 this frame.
4315
a640322e
EZ
43162000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4317
4318 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4319 them extern (they are defined on xfaces.c).
4320 (syms_of_msdos): Don't intern and don't staticpro
4321 Qbackground_color and Qforeground_color.
4322
a115794c
EZ
43232000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4324
4325 * frame.c (Fframe_parameter): For non-windowed frames, if
4326 f->param_alist says foreground or background color is unspecified,
4327 call tty_color_name to return the color name computed from the
4328 frame's current colors.
4329
f5533b63
DL
43302000-10-06 Dave Love <fx@gnu.org>
4331
4332 * terminfo.c (ospeed): Don't declare.
4333
4334 * sysdep.c: Don't include string.h.
4335 (h_errno): Declare conditional also on TRY_AGAIN.
4336
4337 * charset.c (Ffind_charset_string): Doc fix.
4338
4339 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
4340 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4341 error messages.
4342
2b06561a
DL
43432000-10-05 Dave Love <fx@gnu.org>
4344
4345 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4346 position like menu-bar.
4347
ca839c85
GM
43482000-10-05 Gerd Moellmann <gerd@gnu.org>
4349
4350 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4351
4352 * xdisp.c (handle_single_display_prop): Use safe_call1.
4353 (safe_call): Renamed from call_function.
4354 (safe_call1): New function.
4355 (handle_fontified_prop): Use safe_call1 instead of call1.
4356 (safe_eval): Renamed from eval_form.
4357 (safe_eval_handler): Renamed from eval_handler.
4358 (handle_single_display_prop, display_mode_element): Use safe_eval
4359 instead of eval_form.
4360
4361 * xfaces.c (merge_face_heights): Use safe_call instead of
4362 call_function.
4363
4364 * keyboard.c (show_help_echo): Use safe_call instead of
4365 call_function; use safe_eval instead of eval_form.
4366
4367 * lisp.h (safe_call): Renamed from call_function.
4368 (safe_eval): Renamed from eval_form.
4369 (safe_call1): Add prototype.
4370
a3489ece
MB
43712000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4372
4373 * xfns.c (image_ascent): Rearrange ascent calculation for the
4374 has-a-font case.
4375
35810b6f
SM
43762000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4377
4378 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4379 (where_is_internal_1): Don't bother ignoring menu-items any more.
4380
3dc78168
GM
43812000-10-04 Gerd Moellmann <gerd@gnu.org>
4382
4383 * keyboard.c (update_menu_bindings): New variable.
4384 (parse_menu_item): Use AREF. If update_menu_bindings
4385 is 0, don't update menu bindings.
4386 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4387
1efc2bb9
EZ
43882000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4389
4390 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4391 to `mark_object'.
4392
3f679f55
SM
43932000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4394
4395 * syntax.c (forw_comment): Match nestedness of ender/starter.
4396 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4397 (prev_char_comstart_first): Remove.
4398 (back_comment): Check two-char comment markers more carefully
4399 to better handle overlapping cases like *//* or /* */* */ ...
4400 Match nestedness of ender/starter.
4401
2021ab61
DL
44022000-10-02 Dave Love <fx@gnu.org>
4403
4404 * config.in (HAVE_GAI_STRERROR): Add undef.
4405
4406 * process.c (Fopen_network_stream): Use it.
4407
4408 * m/alpha.h (NO_REMAP): Don't define.
4409
64e6cc18
GM
44102000-10-02 Gerd Moellmann <gerd@gnu.org>
4411
4412 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4413 return with a string converted to an integer or vice versa when
4414 Vmocklisp_arguments is t.
4415 (Fsignal): Likewise. The function can return for `quit'.
4416 (struct gcpro): Declare member `var' to point to a volatile
4417 Lisp_Object.
4418
4419 * eval.c (error): Prevent compiler warning.
4420
b1904cd9
SM
44212000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4422
4423 * keymap.c (keymap_memberp): New function.
4424 (Fset_keymap_parent): Use it.
4425 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4426 Use keymap_memberp to avoid creating cycles.
4427 (access_keymap): Use KEYMAPP.
4428
71c9ec51
GM
44292000-09-30 Gerd Moellmann <gerd@gnu.org>
4430
4431 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4432 gai_strerror. Make sure xerrno is set if connect fails. Improve
4433 error recovery.
71c9ec51 4434
c70c6b58
JR
44352000-09-29 Jason Rumney <jasonr@gnu.org>
4436
4437 * w32term.c (w32_char_font_type, w32_encode_char)
4438 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4439 (w32_bdf_per_char_metric): New function.
4440 (w32_per_char_metric): Use it.
4441 (x_draw_glyph_string_background): Always draw background for BDF
4442 glyphs.
4443
4444 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4445 GDI object which is a scarce resource.
4446
4447 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4448 (get_quoted_string): Fix limit on memchr search.
4449 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4450 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4451 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4452 (get_cached_font_char, cache_char_offset): Use macro
4453 BDF_CODEPOINT_RANGE_COVER_P.
4454 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4455 (clear_cached_bitmap_slots): New function.
4456 (GET_HEX_VALUE): G-Z, g-z are not hex.
4457 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4458 (get_bitmap_with_cache): Use new cache implementation.
4459 (create_offscreen_bitmap): New function.
4460 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4461
4462 * w32term.c (x_produce_glyphs): If the distance from the current
4463 position to the next tab stop is less than a canonical character
4464 width, use the tab stop after that.
4465 (x_draw_glyphs): Handle case START and END are out of bounds more
4466 carefully.
4467 (x_clear_mouse_face): Block/unblock input.
4468 (x_display_and_set_cursor): Don't show a hollow box cursor for
4469 buffers whose cursor_type is nil.
4470
fe01239f
GM
44712000-09-29 Gerd Moellmann <gerd@gnu.org>
4472
4473 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
4474 disappears.
4475
4476 * dispextern.h (updating_frame): Declare extern.
4477
e7c52f1f
AS
44782000-09-29 Andreas Schwab <schwab@suse.de>
4479
4480 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4481
de6e1f7c
GM
44822000-09-29 Gerd Moellmann <gerd@gnu.org>
4483
25126faa
GM
4484 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4485 use its function definition.
4486 (tool_bar_items): Likewise.
4487
de6e1f7c
GM
4488 * lisp.h (fatal): Declare NO_RETURN.
4489
454ee39b
KH
44902000-09-29 Kenichi Handa <handa@etl.go.jp>
4491
4492 * keymap.c: Remove the line "#undef NULL".
4493
96301c5f
GM
44942000-09-28 Gerd Moellmann <gerd@gnu.org>
4495
4496 * xterm.c (x_make_frame_visible): Try harder to make the frame
4497 visible.
4498
efffeeb4
DL
44992000-09-28 Dave Love <fx@gnu.org>
4500
ecb8b666
DL
4501 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4502
dc3cd20f
DL
4503 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4504
4505 * .gdbinit (xreload): Note its need on GNU/Linux.
4506
efffeeb4
DL
4507 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4508 r_alloc, r_alloc_free.
4509
8610d903
KH
45102000-09-28 Kenichi Handa <handa@etl.go.jp>
4511
4512 * syntax.c (skip_chars): Handle negation correctly.
4513
8901d1ac
GM
45142000-09-27 Gerd Moellmann <gerd@gnu.org>
4515
6f22f1ad
GM
4516 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4517 with non-zero FORCE_P argument.
4518
8901d1ac
GM
4519 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
4520 Add assertions.
4521
4522 * xdisp.c (window_box_height): Add an assertion.
4523
4524 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4525 tool-bar than is available.
4526 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4527
36f1966f
DL
45282000-09-27 Dave Love <fx@gnu.org>
4529
efffeeb4 4530 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4531
31d929e5
GM
45322000-09-26 Gerd Moellmann <gerd@gnu.org>
4533
c98863bf
GM
4534 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4535 instead of BITS_PER_INT.
4536 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4537 EMACS_UINT, respectively.
4538 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4539
4540 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4541
4542 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4543
77072ab1
GM
4544 * window.c (freeze_window_starts): Construct last argument for
4545 foreach_window differently.
4546
4547 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4548
4549 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4550 EMACS_UINT instead of `int' and `unsigned int'.
4551 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4552
4553 * frame.h (struct frame): Make the `nothing' member of union
4554 output_data an EMACS_INT.
4555
31d929e5
GM
4556 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
4557 hunting.
4558 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4559 size in the sdata structure.
4560 (SDATA_NBYTES, SDATA_DATA): New macros.
4561 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4562 differently for the different layout of the sdata structure.
4563 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4564 in sdata.
4565 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4566 Check that size recorded in the string size and size recorded in
4567 the sdata structure agree.
4568
3e60b029
DL
45692000-09-25 Dave Love <fx@gnu.org>
4570
4571 * buffer.c: Include stdio.h.
4572
4573 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
4574
4575 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4576
4577 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
4578 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
4579 size_t.
4580 (__malloc_extra_blocks): Declare as __malloc_size_t.
4581
8ff16b4e
GM
45822000-09-25 Gerd Moellmann <gerd@gnu.org>
4583
755a2ccd
GM
4584 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4585
d8b4516f
GM
4586 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4587 (read_char): If help-echo is showing, preserve the echo area
4588 when redisplaying.
4589
4590 * xdisp.c (help_echo_showing_p): New variable.
4591 (set_message): Reset it to 0.
4592 (init_xdisp): Initialize help_echo_showing_p.
4593
4594 * dispextern.h (help_echo_showing_p): Declare extern.
4595
4596 * config.in: Fix typo in __GNUC_MINOR__.
4597
4598 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4599
b11af2dd
GM
4600 * s/freebsd.h (POSIX_SIGNALS): Define.
4601
8ff16b4e
GM
4602 * xterm.c (x_clear_mouse_face): Block/unblock input.
4603
844eb643
DL
46042000-09-24 Dave Love <fx@gnu.org>
4605
4606 * fns.c (base64_encode_1): Fix last change.
4607
b30ab1b3
GM
46082000-09-22 Gerd Moellmann <gerd@gnu.org>
4609
4610 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4611
4612 * xdisp.c (try_window_reusing_current_matrix): More fixes
4613 for the case window has a header-line.
4614
c6cbe5f0
DL
46152000-09-22 Dave Love <fx@gnu.org>
4616
4c7c1f3f
DL
4617 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4618 a doc string.
4619
4620 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4621
c6cbe5f0
DL
4622 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4623
550a625e
GM
46242000-09-21 Gerd Moellmann <gerd@gnu.org>
4625
4c7c1f3f 4626 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4627 for GCC >= 2.5.
4628
4629 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
4630 NO_RETURN.
4631
80d26f99
GM
4632 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4633 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4634 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4635 warnings.
4636
4637 * marker.c (byte_char_debug_check): Return void.
4638
623a0aae
GM
4639 * xfns.c (Fx_create_frame): Set default frame parameter value
4640 for tool-bar-lines to 1.
4641
4642 * dispnew.c (scrolling_window): Compare y-positions of rows
4643 equal at the start. Some simplification.
4644
4645 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4646 reused rows' y-position in the case window has a header-line, and
4647 new window start is greater than old window start.
4648
42ac0ae5
GM
4649 * process.c (process_sent_to): New variable.
4650 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4651 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4652 Declare more parameters volatile.
4653
550a625e
GM
4654 * lread.c (Vrecursive_load_depth_limit): New variable.
4655 (Fload): Check recursive loads whose recursion depth exceeds
4656 Vrecursive_load_depth_limit.
4657 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4658
8320414c
GM
46592000-09-20 Gerd Moellmann <gerd@gnu.org>
4660
f46c275e
GM
4661 * fileio.c (Fread_file_name): Doc fix.
4662
4663 * editfns.c (Fmessage_or_box): Doc fix.
4664
4665 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4666
b7e11c5b
GM
4667 * xfns.c (xbm_scan): Allow C-style comments.
4668
8320414c
GM
4669 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4670 symbols are specified, add color translations to the cache.
4671 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
4672 functions.
4673 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4674 xpm_cache_color.
4675 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4676 structures to xpm_init_color_cache.
4677
da1608d9
GM
46782000-09-19 Gerd Moellmann <gerd@gnu.org>
4679
4680 * dispnew.c (update_window_line): Make sure to always draw
4681 mode-lines.
4682
6badfa25
AI
46832000-09-19 Andrew Innes <andrewi@gnu.org>
4684
4685 * makefile.nt (bootstrap-emacs): Don't change directory.
4686
3a5f42bb
KH
46872000-09-19 Kenichi Handa <handa@etl.go.jp>
4688
1b7649bd
KH
4689 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4690
3a5f42bb
KH
4691 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4692 If output buffer is too small, signal an appropriated error.
4693
9f83cf0b
DL
46942000-09-18 Dave Love <fx@gnu.org>
4695
4696 * keyboard.c (menu_bar_items, tool_bar_items)
4697 (current_active_maps): Remove redundant get_local_map call.
4698
28c7826c
GM
46992000-09-18 Gerd Moellmann <gerd@gnu.org>
4700
5cefa566
GM
4701 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4702 cursor for buffers whose cursor_type is nil.
4703
6fed3546
GM
4704 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4705 a feature to implement that is already implemented.
4706 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4707 warnings.
4708
4709 * xfns.c (x_clear_image_1): New function.
4710 (x_clear_image): Use it.
4711 (x_from_xcolors): Use x_clear_image_1; don't free the image's
4712 mask.
4713
05b1f851
GM
4714 * dispnew.c (update_window): Move test for invisible lines
4715 at the top to update_window_line.
4716 (update_window_line): Handle invisible lines here.
4717
f4779de9
GM
4718 * xfns.c (clear_image_cache): Clear current matrices of all
4719 frames sharing an image cache. Block input while freeing
4720 images. Fix timestamp comparison.
4721 (x_clear_image): Also free the mask.
4722
28c7826c
GM
4723 * xfns.c (lookup_image): Block input while loading the image so
4724 that we won't get interrupted in a state where the image isn't yet
4725 set up completely.
4726 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4727 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4728 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
4729 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
4730 input.
4731
b7412313
GM
47322000-09-16 Gerd Moellmann <gerd@gnu.org>
4733
4734 * dispnew.c (update_window): Make sure to make desired rows
4735 current even if they are completely invisible at the top
4736 of a window.
4737
47e351a3
GM
47382000-09-15 Gerd Moellmann <gerd@gnu.org>
4739
7f8f1edc
GM
4740 * xfns.c (lookup_image): Build mask before applying an algorithm.
4741 Recognize algorithm `disabled'.
4742 (cross_disabled_images): New variable.
4743 (COLOR_INTENSITY): New macro.
4744 (x_detect_edges): Use COLOR_INTENSITY.
4745 (x_disable_image): New function.
4746 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4747
4748 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4749 disabled state, don't apply an image transformation algorithm if
4750 the user specified an image for the disabled state. Use
28c7826c 4751 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4752 user hasn't specified an image.
4753
ebb8f116
GM
4754 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4755 allocation functions with the XPM lib.
4756 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4757 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4758 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4759 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
4760 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
4761 functions.
4762 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4763 functions, if possible, because these handle color allocation
4764 failure more gracefully.
4765 (Fimage_mask_p): New function.
4766
47e351a3
GM
4767 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4768 (Qedge_detection, Qheuristic): New symbols.
4769 (syms_of_xfns): Initialize new symbols.
4770 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4771 `algorithm (edge-detection ...)'.
4772 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4773 (tiff_format, gif_format, gs_format): Add `:mask'.
4774 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4775 (GIF_MASK, GS_MASK): New enumerators.
4776 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4777 (emboss_matrix, laplace_matrix): New variables.
4778 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4779 (x_edge_detection): New functions.
4780 (x_laplace): Rewritten in terms of x_detect_edges.
4781 (x_build_heuristic_mask): If image has a mask, free it.
4782
fe83b953
AI
47832000-09-14 Andrew Innes <andrewi@gnu.org>
4784
4785 * makefile.w32-in: Revert to Unix line endings.
4786
3021e816
AI
47872000-09-14 Andrew Innes <andrewi@gnu.org>
4788
4789 * makefile.w32-in: Standardize indentation somewhat.
4790 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4791 cater for differences between shells.
4792
4793 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4794
2a32b5ea
GM
47952000-09-14 Gerd Moellmann <gerd@gnu.org>
4796
4797 * xterm.c (x_produce_glyphs): If the distance from the current
4798 position to the next tab stop is less than a canonical character
4799 width, use the tab stop after that.
4800
b4331e96
DL
48012000-09-14 Dave Love <fx@gnu.org>
4802
4803 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4804
ef9e4345
GM
48052000-09-14 Gerd Moellmann <gerd@gnu.org>
4806
085536c2
GM
4807 * xdisp.c (handle_fontified_prop): While running fontification
4808 functions, bind `fontification-functions' and
4809 `after-change-functions' to nil.
4810
ef9e4345
GM
4811 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4812 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4813
4814 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4815
4816 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4817 USE_MMAP_FOR_BUFFERS.
4818
4819 * insdel.c (make_gap): Use enlarge_buffer_text.
4820
4821 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4822 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4823 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4824 from former r_alloc_* functions in ralloc.c.
4825 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
4826 variables.
4827 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4828 (mmap_init) [REL_ALLOC_MMAP]: New function.
4829 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4830 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4831 BUFFER_FREE.
4832
4833 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
4834 (enlarge_buffer_text): Add prototype.
4835
4836 * ralloc.c: Remove everything having to do with the use of mmap.
4837
f8608968
GM
48382000-09-13 Gerd Moellmann <gerd@gnu.org>
4839
2a494b2d
GM
4840 * sound.c (Fplay_sound): Doc fix.
4841
8c907a56
GM
4842 * keyboard.c: Avoid some more compiler warnings.
4843 (parse_tool_bar_item): Ignore cached key bindings.
4844
f8608968
GM
4845 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
4846 and allocation of Lisp data.
4847
6ab70e9a
GM
48482000-09-12 Gerd Moellmann <gerd@gnu.org>
4849
d12d0a9b
GM
4850 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
4851 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
4852 defaults first.
4853
6ab70e9a
GM
4854 * lread.c (Fload): Put code checking for recursive loads in #if 0.
4855
63c36c3c
KH
48562000-09-12 Miyashita Hisashi <himi@meadowy.org>
4857
4858 * ccl.c: Comment fixed.
4859 (MAX_MAP_SET_LEVEL): Increased to 30.
4860 (PUSH_MAPPING_STACK): Enclose with do-while block.
4861 (POP_MAPPING_STACK): Likewise.
4862 (stack_idx_of_map_multiple): New variable.
4863 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
4864 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
4865 call the corresponding CCL program by
4866 CCL_CALL_FOR_MAP_INSTRUCTION.
4867 (ccl_driver) <CCL_MapSingle>: Likewise.
4868 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
4869 with the case where looking up process reaches to the end of
4870 map-set, and call CCL programs as the above change.
4871
7ee3bd7b
GM
48722000-09-11 Gerd Moellmann <gerd@gnu.org>
4873
8ec8a5ec
GM
4874 * xfns.c (png_load, jpeg_load): Declare some variables volatile
4875 that might be clobbered by longjmp.
4876 (check_x_display_info, x_decode_color, create_frame_xic)
4877 (Fx_display_backing_store, Fx_display_visual_class)
4878 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
4879 warnings.
4880
f74b0705
GM
4881 * lread.c (init_lread): Set Vloads_in_progress to nil.
4882 (Fload): Show list of recursively loaded files, when signaling an
4883 error.
4884
7ee3bd7b
GM
4885 * lread.c (Vloads_in_progress): New variable.
4886 (record_load_unwind): New function.
4887 (Fload): Check for recursive loads.
4888 (syms_of_lread): Initialize Vloads_in_progress.
4889 (read_integer, read1): Avoid some compiler warnings.
4890
4891 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
4892 compiler warnings.
4893
974e1e5b
MB
48942000-09-11 Miles Bader <miles@gnu.org>
4895
4896 * editfns.c (Fbuffer_string): Doc fix.
4897
9824c4e3
GM
48982000-09-10 Gerd Moellmann <gerd@gnu.org>
4899
4900 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
4901
6a72fdd1
KR
49022000-09-09 Ken Raeburn <raeburn@gnu.org>
4903
4904 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
4905 whether to include other header files.
4906
28e6fb66
GM
49072000-09-09 Gerd Moellmann <gerd@gnu.org>
4908
4909 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 4910 by Fmemq as a boolean.
28e6fb66 4911
7f8b6551
SM
49122000-09-08 Stefan Monnier <monnier@cs.yale.edu>
4913
4914 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
4915
a8710abf
GM
49162000-09-08 Gerd Moellmann <gerd@gnu.org>
4917
d1a02881
GM
4918 * ralloc.c (mmap_fd): Remove initializer which can make it
4919 read-only in a dumped Emacs.
4920 (mmap_fd_1): New variable.
4921 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
4922 restore it from there.
4923 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
4924 unconditionally so that mmap_fd can be initialized there.
4925 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
4926 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
4927 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
4928
c454aac1
GM
4929 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
4930
4931 * xdisp.c (dump_glyph_row): Fix printf format string.
4932 (display_line, move_it_in_display_line_to): Avoid compiler
4933 warnings.
4934
fc653ef2
GM
4935 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
4936
3015eec0
GM
4937 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
4938 inheritance.
4939
bfe0ee88
GM
4940 * xdisp.c (try_window_id): When trying to locate cursor in
4941 unchanged rows at the top, handle the case that we can't find it.
4942
a8710abf
GM
4943 * xterm.c (x_draw_glyphs): Handle case START and END are out
4944 of bounds more carefully.
4945
6b7d4ae4
DL
49462000-09-08 Dave Love <fx@gnu.org>
4947
423193c5
DL
4948 * s/sol2.h (REL_ALLOC_MMAP): Define.
4949 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
4950
4951 * ralloc.c: Don't include string.h (redundant).
4952 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
4953 [!MAP_ANON]: Include fcntl.h.
4954 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
4955 (r_alloc, r_re_alloc, r_alloc_free)
4956 (mmap_enlarge, mmap_set_vars): Use it.
4957 (r_alloc_init_fd): New function.
4958 (__morecore) [SYSTEM_MALLOC]: Don't declare.
4959 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
4960 malloc type.
4961
4962 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
4963 Remove vm-limit.o.
4964
6b7d4ae4
DL
4965 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
4966 change to __NetBSD__.
4967
44d31981
KH
49682000-09-08 Kenichi Handa <handa@etl.go.jp>
4969
4970 * search.c (compile_pattern): Check the multibyteness of cached
4971 string and PATTERN.
4972
aad40737
MB
49732000-09-08 Miles Bader <miles@gnu.org>
4974
4975 * xfaces.c (default_face_vector): Function removed.
4976 (Finternal_merge_in_global_face): Restore old global/local
4977 attribute override order. Use inline loop instead of calling
4978 default_face_vector.
4979
91a211b5
GM
49802000-09-07 Gerd Moellmann <gerd@gnu.org>
4981
4982 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
4983 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
4984 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
4985 where necessary, in case POINTER_TYPE is `void'.
4986
03419440
EZ
49872000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
4988
4989 * frame.c (make_terminal_frame): Initialize frame foreground and
4990 background colors to unspecified, for the initial instance of an
4991 MSDOS frame.
4992
f46f845b
GM
49932000-09-07 Gerd Moellmann <gerd@gnu.org>
4994
24f76fbf
GM
4995 * ralloc.c (mmap_find): Fix overlap computation.
4996 (mmap_enlarge): Compute nbytes before trying to find an
4997 overlapping region.
4998
f46f845b
GM
4999 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5000 instead of `!='.
5001
5002 * lread.c (syms_of_lread): Change value of regexp
5003 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5004
5005 * xmenu.c (xdialog_show): When looking up the selection in
5006 menu_items, take `quote' boundaries into account; this corresponds
5007 to a nil ITEM in x-popup-dialog.
5008
3c014385
KH
50092000-09-07 Kenichi Handa <handa@etl.go.jp>
5010
fd6f711b
KH
5011 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5012 not 0x81.
5013 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5014
3c014385 5015 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5016 encoding, not decoding. Fix the handling of latin-jisx0201.
5017 Check for the charset katakana-jisx0201 too.
3c014385 5018 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5019 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5020
0da3ecef
GM
50212000-09-07 Gerd Moellmann <gerd@gnu.org>
5022
ab0ee409
GM
5023 * xfaces.c (Vparam_value_alist): New variable.
5024 (syms_of_xfaces): Initialize it.
5025 (Finternal_set_lisp_face_attribute): Avoid more consing.
5026
5027 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5028 specially.
5029 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5030 (Qbackground_mode): New variable.
5031 (syms_of_frame_1): Initialize Qbackground_mode.
5032
5033 * lisp.h (Qdisplay): Declare extern.
1091dd67 5034
0da3ecef
GM
5035 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5036 change face on all frames, and change the default for new frames.
5037
b14654b9
DL
50382000-09-07 Dave Love <fx@gnu.org>
5039
5040 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5041
d24fd56f
KH
50422000-09-07 Kenichi Handa <handa@etl.go.jp>
5043
794f3670
KH
5044 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5045
0fddd0dc
KH
5046 * charset.c: Include composite.h
5047 (lisp_string_width): New function.
5048 (Fstring_width): Call lisp_string_width instead of strwidth.
5049
5050 * Makefile.in (charset.o): Depends on composite.h.
5051
d24fd56f
KH
5052 * process.c (read_process_output): Before inserting the decoded
5053 text in the buffer, adjust the multibyteness.
5054
fa0b693c
GM
50552000-09-06 Gerd Moellmann <gerd@gnu.org>
5056
73b77ee5
GM
5057 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
5058 buffer's text buffer is null, map new memory.
5059
0a58f946
GM
5060 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5061 POINTER_TYPE and size_t.
5062 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5063 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5064 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5065 [REL_ALLOC_MMAP]: New macros.
5066 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5067 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5068 [REL_ALLOC_MMAP]: New functions.
5069
5070 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5071 before and after unexec.
5072
5073 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5074 text buffers if necessary.
5075
5076 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5077 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5078 in prototypes.
5079
fa0b693c
GM
5080 * config.in (HAVE_MMAP): Add #undef.
5081
877055f6
GM
50822000-09-05 Gerd Moellmann <gerd@gnu.org>
5083
08ba3862
GM
5084 * frame.c (Qdisplay_type): New variable.
5085 (syms_of_frame_1): Initialize it.
5086 (Fframe_parameter): New function that avoids consing.
5087 (syms_of_frame): Defsubr it.
5088
66ffe51c
GM
5089 * buffer.c (Fother_buffer): Consider buffers as invisible when
5090 they are displayed in a window on an invisible frame.
5091
877055f6
GM
5092 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5093 get-largest-window always return nil.
5094
bb970e67
GM
50952000-09-04 Gerd Moellmann <gerd@gnu.org>
5096
5097 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5098 variable; recognize Emacs 19 elc files.
5099
7a3d0e0e
MB
51002000-09-04 Miles Bader <miles@gnu.org>
5101
5102 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5103 before initially popping up the menu, so the menu doesn't flash
5104 when the face settings are significantly different from the
5105 defaults.
5106
14473664
SM
51072000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5108
5109 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5110 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5111 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5112 (BIT_UNIBYTE): Remove.
5113 (re_match_2_internal): Delete corresponding code and streamline the
5114 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5115 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5116 (re_wctype_t): New type.
5117 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5118 (regex_compile): Use them and fix handling of overly long char classes.
5119
c1174479
AI
51202000-09-03 Andrew Innes <andrewi@gnu.org>
5121
f8803e97
AI
5122 * makefile.w32-in: Change to DOS line endings.
5123
c1174479
AI
5124 * s/ms-w32.h (ORDINARY_LINK): New define.
5125
5126 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5127 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5128
5129 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5130 (distclean): Delete them here instead.
5131
44ef7cf6
AI
5132 * w32proc.c (compare_env): Convert to uppercase for comparison,
5133 not lowercase, to match how the native Windows shell works.
5134
49b3bd82
JR
51352000-09-03 Jason Rumney <jasonr@gnu.org>
5136
5137 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5138 CVS changes the line-ends when checking in/out on DOS/Windows.
5139
5140 * makefile.nt (emacs): Do not change directory to run temacs, as
5141 the load-path is set relative to current directory.
5142
a3d35a39
MB
51432000-09-03 Miles Bader <miles@gnu.org>
5144
5145 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5146
d276b0cf
GM
51472000-09-02 Gerd Moellmann <gerd@gnu.org>
5148
715e84c9
GM
5149 * xdisp.c (redisplay_mode_lines): New function.
5150 (display_mode_lines): Return number of mode lines displayed.
5151 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5152 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5153
8892f40b
GM
5154 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5155 string.h and strings.h.
5156 (index) [HAVE_INDEX]: Add prototype.
5157
d276b0cf
GM
5158 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5159 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5160
5161 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5162 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5163
38404229
GM
51642000-09-01 Gerd Moellmann <gerd@gnu.org>
5165
5166 * lread.c (read1): Accept `?' as symbol constituent, for
5167 compatiblity with XEmacs.
5168
c0f9ea08
SM
51692000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5170
5171 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5172 (struct re_pattern_buffer): Remove newline_anchor.
5173 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5174 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5175 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5176 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5177 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5178 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5179 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5180 Get rid of references to newline_anchor.
5181 (regcomp): Allocate and precompute a fastmap.
5182
8c0f83fe
GM
51832000-08-31 Gerd Moellmann <gerd@gnu.org>
5184
5185 * lread.c (openp): GCPRO local variable `filename'.
5186
4bb91c68
SM
51872000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5188
5189 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5190
5191 * regex.c: Merge some changes from GNU libc. Add prototypes.
5192 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5193 Use memcmp and memcpy instead of bcopy and bcmp.
5194 (init_syntax_once): Use ISALNUM.
5195 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5196 (REG_UNSET_VALUE): Remove. Use NULL instead.
5197 (REG_UNSET, re_match_2_internal): Use NULL.
5198 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5199 New macros.
5200 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5201 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5202 (regex_compile): In handle_interval, return an error rather than try to
5203 unfetch the interval if we can't find the closing brace.
5204 Obey the RE_NO_GNU_OPS syntax bit.
5205 (TOLOWER): New macro.
5206 (regcomp): Use it.
5207 (regexec): Allocate regs.start and regs.end as one block.
5208
5226a931
GM
52092000-08-30 Gerd Moellmann <gerd@gnu.org>
5210
868dd24b
GM
5211 * xdisp.c (echo_area_display): Check display_completed instead
5212 of calling detect_input_pending.
5213
5214 * dispnew.c (update_frame): Only set display_completed here; move
5215 the update_begin and update_end calls here from update_frame_1.
5216 (update_frame_1): Don't set display_completed here, don't call
5217 update_begin/update_end.
5218
5226a931
GM
5219 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5220 instead of store_frame_param.
5221
2a8bd25f
GM
52222000-08-29 Gerd Moellmann <gerd@gnu.org>
5223
5224 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5225 desired window matrix hasn't been displayed, use the current row
5226 instead. Make sure that only those frame rows are updated for
5227 which there exists a corresponding enabled desired row.
5228
ba3478d9
MB
52292000-08-29 Miles Bader <miles@gnu.org>
5230
5231 * xfaces.c (default_face_vector): New function.
5232 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5233
87d0f685
GM
52342000-08-29 Gerd Moellmann <gerd@gnu.org>
5235
5236 * lread.c (openp): Prevent temporary string passed to
5237 Ffile_readable_p from being garbage collected.
5238
6fa86045
DL
52392000-08-28 Dave Love <fx@gnu.org>
5240
5241 * keymap.c (store_in_keymap): Add `static' to declaration.
5242
bb17930d
GM
52432000-08-28 Gerd Moellmann <gerd@gnu.org>
5244
5245 * emacs.c, callint.c, doc.c, editfns.c
5246 (toplevel) [HAVE_STRING_H]: Include string.h.
5247 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5248 (index): Remove prototypes which might conflict with non-standard
5249 definitions of index/strchr.
5250
5251 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5252 (rindex): Define only if !HAVE_RINDEX.
5253
5254 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5255
5256 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5257
87188200
MB
52582000-08-28 Miles Bader <miles@gnu.org>
5259
5260 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5261 made inconsistent by a font-related attribute in FROM.
5262 (merge_face_inheritance): Add function comment.
5263
41a68aef
KH
52642000-08-28 Kenichi Handa <handa@etl.go.jp>
5265
5266 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5267 the 4th arg (PREV_EVENT) Qt to suppress input method.
5268
f7c436c1
SM
52692000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5270
0b32bf0e
SM
5271 * regex.c: Indent cpp directives and remove parens after `defined'.
5272 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5273 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5274 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5275 (re_compile_pattern): Use size_t for length.
5276 (init_syntax_once): Move to a better place.
5277 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5278 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5279
f7c436c1
SM
5280 * syntax.c (back_comment): Detect cases where a comment-starter is
5281 actually inside another comment as in: /* a // b */ c // d \n.
5282 Make it clear that `comstart_pos' is unused for nested comments.
5283
5284 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5285 (KEYMAPP): New macro.
5286 (Fkeymap_parent, Fset_keymap_parent): Use it.
5287 (fix_submap_inheritance): Mark it static.
5288 (define_as_prefix, describe_buffer_bindings, describe_command)
5289 (describe_translation, describe_map): Complete prototypes.
5290
5291 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5292
5293 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5294 to better match the key-lookup behavior.
5295
6288c62f
GM
52962000-08-27 Gerd Moellmann <gerd@gnu.org>
5297
5298 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5299 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5300
e931344e
EZ
53012000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5302
5303 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5304 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5305 (xterm.o): Depend on coding.h
5306
d10dfeef
KH
53072000-08-26 Kenichi Handa <handa@etl.go.jp>
5308
5309 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5310 the corresponding '#endif'.
5311
2d73e8d3
MB
53122000-08-26 Miles Bader <miles@gnu.org>
5313
5314 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5315 * xfaces.c (QCinherit): New variable.
5316 (syms_of_xfaces): Initialize it.
5317 (LFACE_INHERIT): New macro.
5318 (Finternal_get_lisp_face_attribute)
5319 (merge_face_vector_with_property)
5320 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5321 (check_lface_attrs): Allow new types of face height. Check
5322 inherit attribute.
5323 (CYCLE_CHECK): New macro.
5324 (merge_face_inheritance): New function.
5325 (merge_face_vectors): Merge inherited faces too. Add F and
5326 CYCLE_CHECK arguments.
5327 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5328 (lookup_named_face, lookup_derived_face, realize_named_face)
5329 (face_at_string_position, face_at_buffer_position): Supply
5330 new F and CYCLE_CHECK arguments to merge_face_vectors.
5331 (merge_face_heights): New function.
5332 (merge_face_vectors, merge_face_vector_with_property)
5333 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5334 handle relative face heights.
5335 (lface_same_font_attributes_p): Compare heights using EQ.
5336
6ce974d4
KH
53372000-08-26 Kenichi Handa <handa@etl.go.jp>
5338
5339 * charset.c (char_to_string): Check the character validity.
5340 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
5341 0.
5342
dc1e502d
SM
53432000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5344
5345 * regex.c (PUSH_FAILURE_COUNT): New macro.
5346 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5347 Handle popping of a register's or a counter's data.
5348 (POP_FAILURE_POINT): Use the new name.
5349 (re_match_2_internal): Push counter data on the stack for succeed_n,
5350 jump_n and set_number_at and remove misleading dead code in succeed_n.
5351
bd9d0f3f
GM
53522000-08-25 Gerd Moellmann <gerd@gnu.org>
5353
5354 * xdisp.c (redisplay_internal): If considering all windows on all
5355 frames, update the display for each frame as soon as possible,
5356 instead of first building all desired matrices for all frames, and
5357 then updating them all.
5358 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5359
aa5b8e15
GM
53602000-08-24 Gerd Moellmann <gerd@gnu.org>
5361
17494071
GM
5362 * bytecode.c (mark_byte_stack): Add a comment.
5363
aa5b8e15
GM
5364 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5365 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
5366 a graphical frame.
5367
c543db81
KH
53682000-08-24 Kenichi Handa <handa@etl.go.jp>
5369
d246d5f5
KH
5370 * minibuf.c (do_completion): Always use compare-string, not
5371 string-equal because the latter doesn't pay attention to
5372 multibyteness of strings.
5373
c543db81
KH
5374 * process.c (create_process): Don't setup raw-text coding here.
5375 (Fopen_network_stream): Don't set coding->src_multibyte and
5376 coding->dst_multibyte here.
5377 (read_process_output): For process filter, return unibyte string
5378 if default-enable-multibyte-characters is nil.
5379 (send_process): If OBJECT is multibyte text, be sure to encoded it
5380 by the specified coding system for the process. Otherwise, setup
5381 raw-text coding.
5382 (init_process): Don't initialize default-process-coding-system
5383 here.
5384
9b47cfe0
EZ
53852000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5386
5387 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5388 <scroll-down-aggressively>: Likewise.
5389
f5a36960
KH
53902000-08-23 Kenichi Handa <handa@etl.go.jp>
5391
5392 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5393 zero. Set coding->produced_char correctly.
5394
69a7ffa7
AI
53952000-08-22 Andrew Innes <andrewi@gnu.org>
5396
5397 * makefile.w32-in: New file.
5398
5399 * unexw32.c (unexec): Ignore old_name, and use the actual location
5400 of the current executable instead. Base new_name on this.
5401
5402 * w32proc.c (create_child): Remove reference to security
5403 descriptor, which isn't needed and doesn't compile with mingw32.
5404
5405 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5406 up dllimport attributes.
5407 (x_update_window_end): Update prototype.
5408
5409 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5410 extern, which screws up dllimport attributes.
5411
5412 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5413 up dllimport attributes.
5414
5415 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5416 screws up dllimport attributes.
5417
5418 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5419 up dllimport attributes.
5420 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5421 screws up dllimport attributes.
5422
5423 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5424 up dllimport attributes.
5425
5426 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5427 screws up dllimport attributes.
5428
5429 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5430 screws up dllimport attributes.
5431
5432 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5433 up dllimport attributes.
5434
5435 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5436 unnecessary extern, which screws up dllimport attributes.
5437 (main): Ditto.
5438
5439 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5440 up dllimport attributes.
5441
5442 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5443 unnecessary extern, which screws up dllimport attributes.
5444
5445 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5446 screws up dllimport attributes.
5447
5448 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5449 up dllimport attributes.
5450
5451 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5452
5453 * w32bdf.c (search_file_line):
5454 (set_bdf_font_info):
5455 (seek_char):
5456 (w32_get_bdf_glyph):
5457 (w32_BDF_to_x_font): Fix compile warnings.
5458
5459 * w32menu.c: Include keyboard.h before frame.h. Fix compile
5460 warnings.
5461
5462 * w32select.c: Include keyboard.h before frame.h.
5463
5464 * w32fns.c (max): Define macro.
5465 (JOHAB_CHARSET): Define if not known.
5466 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5467 (Fx_show_tip): Synch with X version.
5468
5469 * w32xfns.c: Include keyboard.h before frame.h.
5470
5471 * w32fns.c: Include keyboard.h before frame.h.
5472
5473 * w32term.c: Include keyboard.h before frame.h.
5474
5475 * fontset.c: Include keyboard.h before frame.h.
5476
5477 * w32inevt.c: Include keyboard.h before frame.h.
5478 (MOUSE_MOVED): Define if not known.
5479
5480 * minibuf.c: Include keyboard.h before frame.h.
5481
5482 * keyboard.c: Include keyboard.h before frame.h.
5483
5484 * indent.c: Include keyboard.h before frame.h.
5485
5486 * dispnew.c: Include keyboard.h before frame.h.
5487
5488 * buffer.c: Include keyboard.h before frame.h.
5489
5490 * alloc.c: Include keyboard.h before frame.h.
5491
5492 * print.c: Include keyboard.h before frame.h.
5493
5494 * process.c: Include keyboard.h before frame.h.
5495
5496 * scroll.c: Include keyboard.h before frame.h.
5497
5498 * sysdep.c: Include keyboard.h before frame.h.
5499
5500 * term.c: Include keyboard.h before frame.h.
5501
5502 * window.c: Include keyboard.h before frame.h.
5503
5504 * xdisp.c: Include keyboard.h before frame.h.
5505 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5506
5507 * frame.c: Include keyboard.h before frame.h.
5508
5509 * w32heap.h: Undefine min, max.
5510
5511 * w32gui.h: Undefine min, max.
5512
5513 * unexw32.c: Change PUCHAR to PCHAR.
5514 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
5515 (relocate_offset):
5516 (get_section_info):
5517 (copy_executable_and_dump_data): Remove unnecessary static defs.
5518 (copy_executable_and_dump_data): Fix compile warnings.
5519
5520 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5521
5522 * w32console.c (min): Define macro.
5523 (clear_frame, write_glyphs): Fix compile warning.
5524
5525 * w32proc.c (compare_env):
5526 (find_child_console): Fix compile warning.
5527
5528 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5529 sys_errlist instead of _sys_errlist.
5530 (get_emacs_configuration_options): New function.
5531
5532 * s/ms-w32.h (sys_nerr): Provide default definition.
5533 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5534 name with _ prepended.
5535 (NSIG): Define if not known.
5536 (get_emacs_configuration): Provide extern declaration.
5537 (get_emacs_configuration_options): Provide extern declaration.
5538 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5539
5540 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
5541 (map_w32_filename):
5542 (read_unc_volume): Fix compile warning.
5543
5544 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5545 definitions from being used.
5546
5547 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5548
5549 * w32.c (unc_volume_file_attributes):
5550 (open_unc_volume): Make arg const.
5551
5552 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5553 (read_input_waiting): Remove excess parameter.
5554
5555 * w32.c (init_environment): Call _access.
5556 (check_windows_init_file): Call _close.
5557 (init_user_info): Call _putenv.
5558 (init_environment): Call _putenv and _strdup.
5559 (init_ntproc): Reset volume info cache on startup.
5560
5561 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5562 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5563 cannot override the CRT malloc.
5564
5565 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5566 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5567
5568 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5569 unless we are linking with a static CRT.
5570 (RVA_TO_PTR): Cast result to unsigned char*.
5571
5572 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5573 (add_volume_info): Use xstrdup.
5574
25060080
SM
55752000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5576
5577 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5578 (do_completion, Fminibuffer_complete_word): Use it.
5579 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5580 var so it can take non-boolean values.
5581
6917e6bb
GM
55822000-08-21 Gerd Moellmann <gerd@gnu.org>
5583
acb7cc89
GM
5584 * editfns.c (find_field): Formatting changes.
5585 (toplevel): Some old-style function forward declarations
5586 changed to prototypes, some new protypes added, some functions
5587 made static.
5588
5589 * lisp.h (set_time_zone_rule): Add prototype.
5590 (use_dialog_box): External declaration.
5591
0bbfdc25
GM
5592 * keyboard.c (gen_help_event): Add parameter SIZE.
5593 (kbd_buffer_events_waiting): Slightly rewritten.
5594 (clear_event): New function.
5595 (kbd_buffer_get_event): Use it, and clear the input_events of
5596 HELP_EVENTs.
5597 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5598 don't fill the newly created array with nils.
5599 (toplevel): Convert some old-style function forward declarations
5600 to prototypes.
5601
5602 * keyboard.h (gen_help_event): Change prototype.
5603
5604 * xterm.c (XTread_socket): Change calls to gen_help_event.
5605
5606 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5607
6917e6bb
GM
5608 * eval.c (Fmacroexpand): Doc fix.
5609
e5cd3d11
JR
56102000-08-20 Jason Rumney <jasonr@gnu.org>
5611
5612 * w32term.h (x_display_info_for_display): Remove as this function
5613 does not exist on W32.
5614
5615 * w32term.c (help_echo_window): New variable.
5616 (syms_of_w32term): staticpro it.
5617 (note_mode_line_highlight): Set it.
5618 (XTextExtents16): Removed as there is no equivalent on W32.
5619 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5620 the X way of doing this will not work for W32.
5621 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5622 (x_draw_image_foreground): Avoid drawing outside of the clip area
5623 when image doesn't have a mask.
5624 (note_mouse_highlight): Process overlays in the right order of
5625 priority. Set help_echo_window.
5626 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5627 because that's more visible for large images.
5628
5629 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5630 name to single_keymap_panes.
5631 (w32_menu_show): Set wv->title when dealing with titles.
5632 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5633
6e69ab8c
MB
56342000-08-21 Miles Bader <miles@gnu.org>
5635
5636 * minibuf.c (do_completion): Try again if we rewrite the input
5637 string, but no completion was done, so that any completion message
5638 will be correct.
5639
511bd4eb
GM
56402000-08-20 Gerd Moellmann <gerd@gnu.org>
5641
5642 * xfaces.c (lface_equal_p): Compare strings differently.
5643 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5644 (realize_tty_face): Use them.
5645 (syms_of_xfaces): Initialize new variables.
5646 (map_tty_color): New function, extracted from realize_tty_face.
5647 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5648 foreground or background color, store the new color name in the
5649 realized face; previous code trying to do this had no effect.
5650 (realize_tty_face): Use map_tty_color.
5651 (Fclear_face_cache): Set face_change_count and ensure thorough
5652 redisplay.
5653
1433385f
GM
56542000-08-19 Gerd Moellmann <gerd@gnu.org>
5655
511bd4eb
GM
5656 * undo.c (record_first_change, record_marker_adjustment): Don't
5657 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5658
419ac0a2
KH
56592000-08-18 Kenichi Handa <handa@etl.go.jp>
5660
5661 * coding.c (decode_coding_string): Set members consumed,
5662 consumed_char, produced, produced_char of *coding correctly. If
5663 decode_coding doesn't consume any byte, don't try anymore.
5664 (encode_coding_string): Likewise.
5665
7eb9e30d
GM
56662000-08-18 Gerd Moellmann <gerd@gnu.org>
5667
511bd4eb
GM
5668 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5669 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5670
5671 * xdisp.c (redisplay_internal): Compare windows for equality with
5672 EQ, instead of applying XWINDOW to something that might not
5673 be a window.
5674
dd34a735
KH
56752000-08-18 Kenichi Handa <handa@etl.go.jp>
5676
5677 * fontset.c (Finternal_char_font): Search only the selected frame
5678 for a window of the current buffer.
5679
385ff9e3
GM
56802000-08-18 Gerd Moellmann <gerd@gnu.org>
5681
511bd4eb 5682 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5683 Lisp_Objects.
5684
385ff9e3
GM
5685 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5686 second half of a HELP_EVENT is found at the start of kbd_buffer.
5687
d6abb4c7
MB
56882000-08-18 Miles Bader <miles@gnu.org>
5689
4618074a
MB
5690 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5691
d6abb4c7
MB
5692 * editfns.c (save_restriction_save): Rewrite to use markers.
5693 (save_restriction_restore): Rewrite to understand new form of data
5694 saved by save_restriction_save.
5695 (Fsave_restriction): Remove cautionary note in doc-string.
5696
a7b28523
GM
56972000-08-17 Gerd Moellmann <gerd@gnu.org>
5698
5699 * fileio.c (build_annotations): Add a comment explaining the
5700 return value of format-annotate-function. Replace a spurious call
5701 to Flength with a CONSP test. Call format-annotate-function with
5702 a fifth arg specifying how many times the function is been called
5703 in a row, to let it choose temporary buffers appropriately.
5704
03c9ed77
DL
57052000-08-17 Dave Love <fx@gnu.org>
5706
5707 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5708 declare make_temp_name twice.
5709
5710 * lread.c: Prototype readevalloop, load_unwind,
5711 load_descriptor_unwind.
5712 (unreadpure): Give it an arg.
5713
5714 * unexalpha.c: Prototype fatal_unexec, mark_x,
5715 update_dynamic_symbols. Declare unexec as void.
5716
5717 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5718 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5719
5720 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
5721 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
5722 DOUG_LEA_MALLOC.
5723
5724 * alloca.c: Use #error.
5725 [POINTER_TYPE]: Use it.
5726
5727 * eval.c (Fdefvar): Doc fix.
5728
5729 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5730 INITIALIZE_INTERVAL.
5731
5732 * buffer.h: Avoid DECLARE_INTERVALS.
5733
5734 * config.in: Add size_t.
5735
aae41d97
EZ
57362000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5737
5738 * w16select.c (set_clipboard_data): If there's not enough memory
5739 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5740 expects. In case of other failures, return 3.
5741 (system_error_msg): New error message.
5742 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5743 system_error_msg.
5744
65aa5e85
GM
57452000-08-16 Gerd Moellmann <gerd@gnu.org>
5746
5747 * term.c (write_glyphs): Also turn off inverse video after turning
5748 off other appearances in case TS_exit_attribute_mode is not equal
5749 to TS_end_standout_mode.
5750 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5751 with the same face.
5752 (turn_off_face): Reset standout_mode only if
5753 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5754 is equal to TS_end_standout_mode.
5755
ece23901
KH
57562000-08-16 Kenichi Handa <handa@etl.go.jp>
5757
9d7bcb2e
KH
5758 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5759 sequence at the end of the source block.
5760
ece23901
KH
5761 * ccl.c (Fccl_program_p): Docstring modified.
5762 (Fccl_execute): Likewise.
5763 (Fccl_execute_on_string): Likewise.
5764
5e30eaa2
EZ
57652000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5766
5767 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5768
290602fd
KH
57692000-08-16 Kenichi Handa <handa@etl.go.jp>
5770
5771 The following changes are mainly to fix bugs of
5772 encode/decode-coding-string failing if encoding/decoding return
5773 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5774 variable conversion_buffer.
5775
5776 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5777 decrement dst_end to avoid buffer overflow in the later call of
5778 string_as_multibyte
5779
5780 * coding.h (conversion_buffer_size, conversion_buffer)
5781 (get_conversion_buffer): Extern deleted.
5782
5783 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5784 (conversion_buffer, conversion_buffer_size): Variables deleted.
5785 (get_conversion_buffer): Function deleted.
5786 (struct conversion_buffer): New structure.
5787 (MAX_ALLOCA): New macro.
5788 (allocate_conversion_buffer): New macro.
5789 (extend_conversion_buffer, free_conversion_buffer): New functions.
5790 (ccl_coding_driver): Set coding->result.
5791 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5792 this is the last block of source.
5793 (encode_coding): Likewise. Handle the source block as the last
5794 one only when the whole source text is consumed.
5795 (decode_coding_string): Handle the case that the output buffer is
5796 too small to decode the whole source text. Use
5797 allocate_conversion_buffer, extend_conversion_buffer and
5798 free_conversion_buffer, not get_conversion_buffer.
5799 (encode_coding_string): Likewise.
5800 (init_coding): Function deleted.
5801 (init_coding_once): Delete code to initialize
5802 conversion_buffer_size.
5803
5804 * emacs.c (main): Don't call init_coding.
5805
5806 * msdos.c (IT_write_glyphs): Use a locally declared
5807 conversion_buffer.
5808
5809 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5810 (insert_glyphs): Likewise.
5811
5812 * w32console.c (write_glyphs): Use a locally declared
5813 conversion_buffer.
5814
b9f80d41
EZ
58152000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5816
5817 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5818 member of display_info is NULL.
5819
32dc52f7
GM
58202000-08-15 Gerd Moellmann <gerd@gnu.org>
5821
58ed0d3b
GM
5822 * alloc.c (compact_small_strings): Use safe_bcopy, add an
5823 assertion.
5824
32dc52f7 5825 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5826 appearances with capability `me'.
32dc52f7
GM
5827 (write_glyphs): Switch on inverse video before each face change.
5828
4eb22d33
DL
58292000-08-14 Dave Love <fx@gnu.org>
5830
5831 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5832 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5833 (lisp_free): Declare and make static.
5834
5835 * window.c: Fix embedded comment.
5836 (syms_of_window): Fix doc string.
5837
90cbf47e
GM
58382000-08-14 Gerd Moellmann <gerd@gnu.org>
5839
5840 * keymap.c (push_key_description): If C without modifiers is < 32,
5841 make sure to print `C-' before `M-', like in the manual.
5842
440fc135
GM
58432000-08-11 Gerd Moellmann <gerd@gnu.org>
5844
5845 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
5846 since they aren't relocated anymore.
5847 (sxhash_string): Make sure returned hash code fits in a Lisp
5848 integer.
5849
5850 * xdisp.c (try_cursor_movement): Fix handling of cursor in
5851 partially visible line which is smaller than the window's
5852 height.
5853
6e264fad
KH
58542000-08-11 Kenichi Handa <handa@etl.go.jp>
5855
5856 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
5857 the multibyte form of eight-bit-control characters.
5858 (Fccl_execute_on_string): Initialize ccl->multibyte.
5859
5860 * ccl.h (struct ccl_program): New member multibyte.
5861
5862 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
5863
c371f69a
KH
58642000-08-11 Kenichi Handa <handa@etl.go.jp>
5865
5866 * regex.c (regex_compile) <normal_char>: Pay attention to
5867 multibyteness.
5868 (analyse_first) <exactn>: Setup fastmap correctly for
5869 eight-bit-control characters.
5870
58712000-08-11 Kenichi Handa <handa@etl.go.jp>
5872
5873 * termhooks.h (enum event_kind): New member
5874 multibyte_char_keystroke.
5875
5876 * keyboard.c (make_lispy_event): Handle the new event type
5877 multibyte_char_keystroke.
5878
5879 * xterm.c: Include coding.h.
5880 (XTread_socket): Work around a bug of XmbLookupString. If the
5881 input is from XIM, decode it according to the current locale. In
5882 that case, generate multibyte_char_keystroke events.
5883
b8ddbe71
KH
58842000-08-11 Kenichi Handa <handa@etl.go.jp>
5885
5886 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
5887 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
5888
47589c8c
GM
58892000-08-10 Gerd Moellmann <gerd@gnu.org>
5890
5891 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
5892 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
5893 (move_it_in_display_line_to): Record iterator's ascent and descent
5894 before producing glyphs, and restore them when we know the glyph
5895 doesn't fit on the line.
5896 (move_it_to): Restructured so that it's easier to debug. If
5897 moving to a vpos, and not moving to an x or character position,
5898 stop as soon as the specified vpos is reached; don't move further
5899 into that line because that might change the computed line height.
5900 (try_cursor_movement): New function, extracted from the cursor
5901 movement branch of redisplay_window. If ending on a partially
5902 visible line, don't try to scroll if the cursor line is taller
5903 than the window.
5904 (redisplay_window): Use try_cursor_movement.
5905
5906 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
5907 because that function doesn't cope with variable-height lines.
5908
5909 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
5910 box cursor because that's better visible for large images.
5911
c51bacd6
MB
59122000-08-10 Miles Bader <miles@gnu.org>
5913
5914 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
5915
bea56df7
GM
59162000-08-10 Gerd Moellmann <gerd@gnu.org>
5917
5918 * xdisp.c (Vmessages_buffer_name): New variable.
5919 (message_dolog): Use it.
5920 (syms_of_xdisp): Initialize it.
5921
99cd7364
EZ
59222000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
5923
5924 * msdos.c (IT_note_mouse_highlight): Update the calls to
5925 overlays_at.
5926 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
5927 redundant now that keyboard.h is included.
5928
7d093d56
EZ
59292000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
5930
5931 * keyboard.c (kbd_buffer_events_waiting): New function.
5932
5933 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
5934
5935 * msdos.c: Include keyboard.h.
5936 (XMenuActivate): Empty no_event events from the event buffer. If
5937 no events are left after that, call clear_input_pending.
5938 (mouse_clear_clicks): New function, code moved from mouse_init.
5939 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
5940 mouse driver to ``forget'' any past clicks.
5941
5942 * Makefile.in (msdos.o): Depend on keyboard.h.
5943
41e757a6
GM
59442000-08-09 Gerd Moellmann <gerd@gnu.org>
5945
8e7bd231
GM
5946 * lisp.h (input_pending): External declaration.
5947
5948 * dispextern.h (Qredisplay_dont_pause): Declare extern.
5949
5950 * xdisp.c (echo_area_display): Display thoroughly if input is
5951 pending. Bind redisplay-dont-pause to t during the redisplay.
5952 in case input is pending.
5953
5954 * dispnew.c (Qredisplay_dont_pause): New variable.
5955 (syms_of_display): Initialize and staticpro it.
5956 (update_frame_1): Don't interrupt the display for pending input if
5957 redisplay_dont_pause is set.
5958
43028b7e
GM
5959 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
5960
41e757a6
GM
5961 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5962
2f2174fa
KH
59632000-08-09 Miles Bader <miles@lsi.nec.co.jp>
5964
5965 * callproc.c (Fcall_process): Terminate the unwind-protect around
5966 the post-read-conversion of coding system.
5967
0a6fd67e
MB
5968 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
5969 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
5970 * buffer.h (overlays_at): Update prototype.
5971 * xdisp.c (next_overlay_change): Update call to overlays_at.
5972 * xfaces.c (face_at_buffer_position): Likewise.
5973 * textprop.c (Fget_char_property): Likewise.
5974 * xterm.c (note_mouse_highlight): Likewise.
5975
0c80756e
MB
5976 * minibuf.c (do_completion): Don't consider a simple change of
5977 case as `completion'.
5978
975f250a
KR
59792000-08-08 Ken Raeburn <raeburn@gnu.org>
5980
b347b3fd
KR
5981 * keyboard.c (syms_of_keyboard): Initialize
5982 last_point_position_buffer.
5983 * undo.c (record_delete): Make sure last_point_position_buffer is
5984 a buffer before comparing pointers.
5985
5986 * coding.h (decode_coding_string): Declare.
5987
5988 * intervals.h (Fprevious_single_char_property_change): Declare.
5989
5990 * textprop.c (Fprevious_single_char_property_change): Don't do
5991 arithmetic directly on lisp objects.
5992
25ad1371 5993 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
5994 objects.
5995
5996 * keyboard.h (menu_item_eval_property): Declare.
5997
5998 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
5999 reuse as buffer name, instead of recreating (and discarding) every
6000 time a message is logged.
6001 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6002 (current_message_1, truncate_message_1, set_message_1)
6003 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6004 (current_message, truncate_echo_area, display_echo_area)
6005 (resize_echo_area_axactly): Changed calls.
b347b3fd 6006
975f250a 6007 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6008 Lisp object.
975f250a 6009 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6010 must be an integer, not a Lisp object.
975f250a 6011
46dc9912
KH
60122000-08-08 Kenichi Handa <handa@etl.go.jp>
6013
6014 * charset.c (Fchar_width): Doc fix.
6015
9f6d1a6c
GM
60162000-08-08 Gerd Moellmann <gerd@gnu.org>
6017
6018 * charset.c (Fstring_width): Doc fix.
6019
ff3d9573
GM
60202000-08-07 Gerd Moellmann <gerd@gnu.org>
6021
41e757a6 6022 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6023 line, clear ascent and descent members of the iterator structure;
6024 the height of the continued line does not affect the height of the
6025 continuation line.
6026 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6027 line taller than the window.
6028 (redisplay_window) <forced window start>: Handle case that the
6029 middle of the window is not found in any row.
6030 (dump_glyph_row): Show more information.
6031 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6032 first text line in a glyph matrix.
6033
6034 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6035 of the clip area when image doesn't have a mask.
6036
70fc58b3
GM
6037 * fns.c (sweep_weak_table): Fix survival conditions for
6038 key-or-value and key-and-value weakness.
6039
6040 * .gdbinit (xhashtable): New command.
6041
ac0e96ee
GM
6042 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6043 tables out of the list of all weak hash tables.
6044
ff3d9573
GM
6045 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6046 a new buffer is created, make sure echo_area_buffer[] references
6047 the new buffer.
6048
e0d8827b
EZ
60492000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6050
6051 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6052 the doc string.
6053
c6f35378
KH
60542000-08-07 Kenichi Handa <handa@etl.go.jp>
6055
6056 * syntax.c (skip_chars): Fix previous change. Make the handling
6057 of unibyte string consistent with that of regex search.
6058
1fd4c450
GM
60592000-08-05 Gerd Moellmann <gerd@gnu.org>
6060
e49aa397
GM
6061 * xmenu.c (popup_get_selection): Use xfree instead of free.
6062
6063 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6064
6065 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6066
6067 * callproc.c (child_setup): Use xfree instead of free.
6068
6069 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6070 instead of malloc.
6071 (run_mac_command, closedir): Use `xfree' instead of `free'.
6072
6073 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6074
6075 * eval.c (error): Use xfree instead of free.
6076
1fd4c450
GM
6077 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6078
6079 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6080 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6081
82d497fc
KH
60822000-08-05 Kenichi Handa <handa@etl.go.jp>
6083
6084 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6085 conversion.
6086
59f953a2
NF
60872000-08-04 Noah Friedman <friedman@splode.com>
6088
6089 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6090 docstring.
6091
688351f2
GM
60922000-08-04 Gerd Moellmann <gerd@gnu.org>
6093
6094 * syntax.c (skip_chars): Fix typo in error message.
6095
2dad51cc
AS
60962000-08-04 Andreas Schwab <schwab@suse.de>
6097
6098 * m/ia64.h: Moved from s/ia64.h.
6099
99bb2c60
KH
61002000-08-04 Kenichi Handa <handa@etl.go.jp>
6101
082a1df2
KH
6102 * process.c (read_process_output): Big simplification. Handle
6103 composition and post-read-conversion of coding system correctly.
6104 (send_process): Handle composition correctly.
6105
6106 * callproc.c (Fcall_process): Handle post-read-conversion of
6107 coding system if any.
6108
99bb2c60
KH
6109 * coding.c (decode_coding_iso2022): More strict check for handling
6110 single shifting.
082a1df2
KH
6111 (coding_restore_composition): Pay attention to the case that
6112 cmp_data is not set properly (because of invalid code in the
6113 source text).
6114 (run_pre_post_conversion_on_str): Include text properties in the
6115 resulting string.
6116 (decode_coding_string): Set members of coding correctly.
99bb2c60 6117
f4988be7
GM
61182000-08-03 Gerd Moellmann <gerd@gnu.org>
6119
6120 * s/ia64.h: New file.
6121
6122 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6123 Use NULL instead of 0 at the end of variable argument list of
6124 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6125 sizeof (int) < sizeof (void *).
6126
6127 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6128 of variable argument lists of XtVaGetValues and XtVaSetValues.
6129
6130 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6131 variable argument lists of XtVaGetValues and XtVaSetValues.
6132
ead53494
GM
61332000-08-02 Gerd Moellmann <gerd@gnu.org>
6134
6135 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6136 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6137
6138 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6139 prototype.
6140
6141 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6142 in call to Fsingle_key_description.
6143
6144 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6145 Callers changed.
6146
61472000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6148
6149 * window.c (display_buffer_reuse_frames): New variable.
6150 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6151 frames displaying BUFFER.
6152 (syms_of_window): Define Lisp variable
6153 display-buffer-reuse-frames.
6154
10b0f752
MB
61552000-08-01 Miles Bader <miles@gnu.org>
6156
6157 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6158 when to constrain NEW_POS (they were pretty screwed up before).
6159
16425c4a
EZ
61602000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6161
6162 * msdos.c (run_msdos_command): Save and restore the master
6163 environment, for the case that child_setup signals an error.
6164 When mirroring slashes in DOS shell commands, don't fail when
6165 argv[2] has embedded blanks.
da288c14
EZ
6166 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6167 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6168 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6169
6170 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6171 using alloca; free it after run_msdos_command returns.
6172
27f73852
DL
61732000-07-27 Dave Love <fx@gnu.org>
6174
6175 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
6176 define.
6177 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
6178 working.
6179
6180 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6181
c0261b5e
EZ
61822000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6183
6184 * editfns.c (lisp_time_argument): Fix last change.
6185
b548072f
GM
61862000-07-27 Gerd Moellmann <gerd@gnu.org>
6187
3ab82477
GM
6188 * fns.c (Fdelete): Make it work on vectors and strings in addition
6189 to lists.
6190
b548072f
GM
6191 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6192 (syms_of_fns): Initialize new variables.
6193 (sweep_weak_table): Handle weakness `key-or-value' and
6194 `key-and-value'.
6195 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6196 weakness, with t meaning the same as `key-and-value'.
6197
91ae8751
KH
61982000-07-27 Kenichi Handa <handa@etl.go.jp>
6199
6200 * coding.h (struct coding_system): Member safe_charset deleted.
6201
6202 * coding.c (Qsafe_charsets): This variable deleted.
6203 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
6204 variables.
6205 (coding_safe_chars): New function.
6206 (CODING_SAFE_CHAR_P): New macro.
6207 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
6208 checking safe_charsets member of the coding system. Caller
6209 changed.
6210 (detect_coding_iso2022): New local variable safe_chars.
6211 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6212 safe_charsets member of the coding system.
6213 (decode_coding_iso2022): New local variable safe_chars.
6214 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6215 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6216 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6217 (ENCODE_UNSAFE_CHARACTER): New macro.
6218 (encode_coding_iso2022): New local variable safe_chars. Check
6219 unsafe chars.
6220 (setup_coding_system): Delete the code to initialize
6221 coding->safe_charses
6222 (intersection, find_safe_codings): New functions.
6223 (Ffind_coding_systems_region_internal): New function.
6224 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6225 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6226 variable and initialize it.
6227
6228 * fns.c (char_table_ref_and_index): New function.
6229
6230 * lisp.h (char_table_ref_and_index): Add prototype.
6231
34a7a267
SS
62322000-07-26 Sam Steingold <sds@gnu.org>
6233
6234 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6235 (Ffloat_time): New built-in Lisp function.
34a7a267 6236
a95cb10a
GM
62372000-07-26 Gerd Moellmann <gerd@gnu.org>
6238
3353ef5a
GM
6239 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6240 for the character code.
6241
6242 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6243 GNU/Linux.
6244
a95cb10a
GM
6245 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6246 if called for a popup menu.
6247 (xmenu_show): Store help string in widget values.
6248
b4a12321
DL
62492000-07-26 Dave Love <fx@gnu.org>
6250
6251 * syswait.h: Move some definitions.
6252 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6253 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6254 perspicuous definitions.
6255 (WTERMSIG): Fix bit pattern used.
6256
13f5ad37
KH
62572000-07-26 Kenichi Handa <handa@etl.go.jp>
6258
6259 * print.c (print_object): If vector printing is truncated, print
6260 "..." to indicate it as well as the case of list printing.
6261
070fe99c
GM
62622000-07-25 Gerd Moellmann <gerd@gnu.org>
6263
969065c3
GM
6264 * xdisp.c (next_element_from_display_vector): Improve comments.
6265
6266 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6267 for the character code, and the rest for the face id as in 20.x.
6268 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6269
6270 * window.c (window_display_table): Cleaned up.
6271
070fe99c
GM
6272 * syntax.c (Fforward_word): Add last arg nil in call of
6273 Fconstrain_to_field.
6274
bad77ef7
EZ
62752000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6276
969065c3 6277 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
6278 identical but for the letter-case, don't call
6279 barf_or_query_if_file_exists.
6280
c28da489
MB
62812000-07-25 Miles Bader <miles@gnu.org>
6282
6283 * editfns.c (find_field): Honor special `boundary' fields.
6284 (Qboundary): New variables.
6285 (syms_of_editfns): Initialize Qboundary.
6286 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6287 Use scan_buffer instead of find_before_next_newline, because it
6288 allows us to detect the boundary case where there's a newline at
6289 the search limit.
6290 * lisp.h (Fconstrain_to_field): Update external declaration.
6291
e3c31fd5
GM
62922000-07-24 Gerd Moellmann <gerd@gnu.org>
6293
6294 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6295 if that is nil.
c28da489 6296
c66c29a2
DL
62972000-07-24 Dave Love <fx@gnu.org>
6298
6299 * s/sunos4-0.h, s/sol2.h:
6300 (LIBS_TERMCAP): Move from m/sparc.h.
6301
6302 * m/sparc.h (TERMINFO): Moved to system files (probably only
6303 relevant for sunos4 judging by its vintage).
6304 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6305 __arch64__.
6306
fbe0a958
EZ
63072000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6308
6309 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6310 name to single_keymap_panes.
6311
7d88e5c9
AS
63122000-07-24 Andreas Schwab <schwab@suse.de>
6313
6314 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6315
e024b101
GM
63162000-07-24 Gerd Moellmann <gerd@gnu.org>
6317
6318 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6319 parameters instead of using int parameters. Expect FN to accept
6320 EMACS_INT parameters.
6321 (display_echo_area, resize_echo_area_axactly, current_message)
6322 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6323 with new argument list.
6324 (resize_mini_window_1): New callback function.
6325 (current_message_1, truncate_message_1, set_message_1): Change
6326 parameter lists to the new format expected by
6327 with_echo_area_buffer.
6328
25c1a9ce
KH
63292000-07-24 Kenichi Handa <handa@etl.go.jp>
6330
6331 * fontset.c (fontset_ref): Remove INLINE declaration.
6332 (fontset_ref_via_base): Likewise.
6333 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6334 to downcase.
6335
7f987ac0
EZ
63362000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6337
6338 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6339 correct order of priority. If help echo was found in an overlay,
6340 use that overlay as the object in which the help echo was found.
6341
e2db3069
MB
63422000-07-22 Miles Bader <miles@gnu.org>
6343
6344 * textprop.c (Fprevious_single_char_property_change): The initial
6345 property value should be from the position preceding POSITION, not
6346 following it.
6347
5e3203e4
EZ
63482000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6349
6350 * coding.c (syms_of_coding): Doc fix for
6351 inhibit-iso-escape-detection.
6352
62145073
GM
63532000-07-21 Gerd Moellmann <gerd@gnu.org>
6354
c20aeb83
GM
6355 * xterm.c (note_mouse_highlight): Process overlays in the right
6356 order of priority.
34a7a267 6357
743934db
GM
6358 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6359
6360 * xterm.c (note_mouse_highlight): If help-echo was found in an
6361 overlay, use that overlay as the object in which the help was
6362 found.
6363
d1dc7e43 6364 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6365
62145073
GM
6366 * window.c (foreach_window): Instead of a fake variable argument
6367 list, take one USER_DATA argument.
6368 (foreach_window_1): Likewise, and call callback functions with two
6369 args, the window and USER_DATA.
6370 (struct check_window_data): New struct.
6371 (check_window_containing): Use it.
6372 (window_from_coordinates): Set up a struct check_window_data for
6373 foreach_window.
6374 (add_window_to_list, freeze_window_start): Change parameters
6375 according to new calling convention.
6376
6377 * window.h (foreach_window): Change prototype.
6378
6379 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6380
63812000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6382
6383 * xmenu.c (menu_help_callback): Call show_help_echo with
6384 additional arguments OBJECT and POS.
6385
11270583
KH
63862000-07-21 Kenichi Handa <handa@etl.go.jp>
6387
07b14857
KH
6388 * data.c (Faset): Allow storing any multibyte character in a
6389 string. Convert unibyte string to multibyte if necessary.
6390
11270583
KH
6391 * xfns.c (x_encode_text): New function.
6392 (x_set_name): Use x_encode_text.
6393 (x_set_title): Likewise.
6394
6395 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6396
6397 * xterm.h (x_encode_text): Add prototype.
6398
bc75b4fd
DL
63992000-07-20 Dave Love <fx@gnu.org>
6400
6401 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6402 xfree, not free.
6403
48c14970
EZ
64042000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6405
6406 * msdos.c (help_echo_window): New variable.
6407 (syms_of_msdos): Initialize and staticpro it.
6408 (IT_note_mode_line_highlight): Set help_echo_window.
6409 (IT_note_mouse_highlight): Ditto.
6410 (dos_rawgetc): Store help_echo_window in the second event produced
6411 for HELP_EVENTs.
6412
6413 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6414 Record the object that generated the help echo and the position of
6415 that object in help_echo_object and help_echo_pos. Record that
6416 some glyphs in a row are displayed in mouse-face.
6417 (IT_update_begin): Don't clear mouse highlight unless one of the
6418 enabled glyph rows is marked as being displayed in mouse-face.
6419 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6420 and position recorded in help_echo_object and help_echo_pos to the
6421 event queue.
6422 (IT_menu_display): Accept a new argument PN: the pane number of
6423 the current menu pane. Record the pane number and the item
6424 number of the item which has associated help string.
6425 (XMenuActivate): Update the prototype for help_callback in
6426 function declaration. Call IT_menu_display with the current menu
6427 pane number as an additional argument. Call help_callback with
6428 two additional arguments: the pane number and the item number of
6429 the menu item associated with the help text.
6430 (help_echo_object, help_echo_pos): New variables.
6431 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6432
6433 * msdos.h (XMenuActivate): Update prototype.
6434
4279296d
GM
64352000-07-19 Gerd Moellmann <gerd@gnu.org>
6436
47db06aa
GM
6437 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6438 Add some more prototypes.
6439
6440 * xterm.c, xterm.h: Add some more prototypes.
6441
6442 * lisp.h (Fnext_single_char_property_change): Add prototype.
6443
6444 * dispnew.c (direct_output_for_insert): Remove confusing
6445 outer local variable mouse_face_overwritten_p.
6446 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6447
4279296d
GM
6448 * alloc.c (allocate_string_data): Don't copy old string contents.
6449
670acd62
KH
64502000-07-19 Kenichi Handa <handa@etl.go.jp>
6451
6452 * coding.c (code_convert_region): Delete text properties before
6453 shrinking the conversion region.
6454
7cea38bc
GM
64552000-07-18 Gerd Moellmann <gerd@gnu.org>
6456
dc1cac59
GM
6457 * dispnew.c (update_text_area): Write the whole row if it
6458 has mouse-face in it.
6459
85a8aca9
GM
6460 * xfaces.c (face-alternative-font-family-alist): Remove
6461 DEFVAR_LISP; staticpro instead.
6462
34a7a267 6463 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6464 new arguments.
6465
6466 * keyboard.c (show_help_echo): Add parameter WINDOW.
6467 (read_char): Call show_help_echo with window extracted from Lisp
6468 help event.
6469 (gen_help_event): Add parameter WINDOW.
6470
6471 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6472
6473 * xterm.c (help_echo_window): New variable.
6474 (note_mouse_highlight, note_tool_bar_highlight): Set
6475 help_echo_window.
6476 (XTread_socket): Pass help_echo_window to gen_help_event.
6477 (syms_of_xterm): Initialize and staticpro help_echo_window.
6478
f8276b77
DL
64792000-07-18 Dave Love <fx@gnu.org>
6480
6481 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
6482 systime.h.
6483
088831a6
GM
64842000-07-18 Gerd Moellmann <gerd@gnu.org>
6485
3d6cd763
GM
6486 * alloc.c (allocate_string_data): If string had already data
6487 assigned, copy old contents to new string data.
6488
6489 * coding.c (syms_of_coding): Fix typo in spelling of variable
6490 `inhibit-iso-escape-detection'.
6491
088831a6
GM
6492 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6493
6494 * Makefile.in: Add dependencies on dispextern.h.
6495 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6496 `free'; both can conflict with system header files.
6497
bc8a8d55
KH
64982000-07-18 Kenichi Handa <handa@etl.go.jp>
6499
6500 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6501 undefined.
6502
069f5950
DL
65032000-07-18 Dave Love <fx@gnu.org>
6504
6505 * window.c (Fwindow_list): Declare arg `window'.
6506
aa96c820
KH
65072000-07-18 Kenichi Handa <handa@etl.go.jp>
6508
6509 * coding.c (setup_coding_system): Don't override the explicitly
6510 specified designations.
6511
06be8d32
MB
65122000-07-15 Miles Bader <miles@gnu.org>
6513
6514 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6515 from `text_property_eq' and `text_property_stickiness', respectively.
6516 (find_field, Fconstrain_to_field, char_property_eq)
6517 (char_property_stickiness): Changed to call char-property functions
6518 instead of text-property-only ones.
6519
6520 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6521 `next_single_char_property_change'). Do more error checking, and
6522 cleanup limit behavior.
6523 (Fprevious_single_char_property_change): New function.
6524 (syms_of_textprop): Initialize new subrs.
6525
6526 * xdisp.c (display_prop_end, invisible_text_between_p):
6527 Call Fnext_single_char_property_change instead of
6528 next_single_char_property_change.
6529
3fddcdc3
JR
65302000-07-15 Jason Rumney <jasonr@gnu.org>
6531
6532 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6533 after menu is finished with.
6534 (add_menu_item): Only consider wv->title as a menu title.
6535 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6536
6537 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6538 null title.
6539 (FONT_REGEXP): Remove unused macro, and its sub-components.
6540 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6541
6542 * w32term.c (help_echo_object, help_echo_pos): New variables.
6543 (note_mode_line_highlight): Store additional information about the
6544 help-echo in help_echo_object and help_echo_pos. Check both
6545 `local-map' and `keymap' properties for changing the cursor
6546 (note_mouse_highlight): Store additional information about the
6547 help-echo in help_echo_object and help_echo_pos.
6548 (note_tool_bar_highlight): Set help_echo_object to nil and
6549 help_echo_pos to -1.
6550 (w32_read_socket): Use gen_help_event instead of filling
6551 input_events manually.
6552 (syms_of_w32term): Staticpro help_echo_object.
6553 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
6554 set, arrange for a mouse-highlight redisplay in
6555 XTframe_up_to_date.
6556 (x_clear_mouse_face): New function.
6557 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6558 (x_update_window_begin): No need to turn off the mouse
6559 highlight here.
6560 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6561 depending on whether they contain glyphs highlighted in
6562 mouse-face.
6563 (x_fill_stretch_glyph_string): Consume runs of stretch
6564 glyphs instead of a single one.
6565 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6566 with new argument list.
6567 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6568 (x_append_glyph, x_append_composite_glyph)
6569 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6570 changes in struct glyph starting 1999-12-27. See comments for
6571 xterm.c on 2000-07-05.
6572
178c5d9c
SS
65732000-07-14 Sam Steingold <sds@gnu.org>
6574
6575 * xfaces.c (realize_x_face): Fix the last patch:
6576 check `default_face' before dereferencing.
6577
6fe533f6
DL
65782000-07-14 Dave Love <fx@gnu.org>
6579
069f5950 6580 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6581
dd7b81cf
KH
65822000-07-14 Kenichi Handa <handa@etl.go.jp>
6583
0693904a 6584 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6585 default_face's fontset, not using the default fontset.
0693904a 6586
dd7b81cf
KH
6587 * coding.c (inhibit_iso_escape_detection): New variable.
6588 (syms_of_coding): Make it a Lisp variable.
6589 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6590 nonzero, ignore ISO2022's escape sequence.
6591
d5aa31d8
GM
65922000-07-14 Gerd Moellmann <gerd@gnu.org>
6593
e5acf0ca
GM
6594 * alloca.c (malloc) [emacs]: Define as xmalloc.
6595
bd23a692
GM
6596 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6597 use that instead of the mouse position. Add parameters DX and DY.
6598
6599 * dispextern.h (Fx_show_tip): Adjust number of parameters
6600 in prototype.
6601
9662da0b
GM
6602 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6603 if HELP is a function, call it with OBJECT and POS as parameters
6604 to get the help to display.
6605 (gen_help_event, kbd_buffer_store_help_event): New functions.
6606 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6607 (read_char): Call show_help_echo with new parameters.
6608
178c5d9c 6609 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6610 Add prototypes.
6611
6612 * xterm.c (help_echo_object, help_echo_pos): New variables.
6613 (note_mode_line_highlight): Store additional information about the
6614 help-echo in help_echo_object and help_echo_pos. Check both
6615 `local-map' and `keymap' properties for changing the cursor
6616 (note_mouse_highlight): Store additional information about the
6617 help-echo in help_echo_object and help_echo_pos.
6618 (note_tool_bar_highlight): Set help_echo_object to nil and
6619 help_echo_pos to -1.
6620 (XTread_socket): Use gen_help_event instead of filling
6621 input_events manually.
6622 (syms_of_xterm): Staticpro help_echo_object.
6623
6624 * xmenu.c (menu_highlight_callback): Use
6625 kbd_buffer_store_help_event instead of setting up and input_event
6626 structure manually.
6627
6628 * xdisp.c (eval_form): GCPRO argument sexpr.
6629 (call_function): New function.
6630 (handle_single_display_prop): Use call_function and FUNCTIONP
6631 instead of checking whether if font_height is a symbol and
6632 using eval_form.
6633
6634 * eval.c (internal_condition_case_2): New function.
6635
6636 * lisp.h (FUNCTIONP): New macro.
6637 (internal_condition_case_2, call_function): Add prototypes.
6638
d5aa31d8
GM
6639 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6640 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6641 Always set `arg' member of input_events.
6642 (construct_menu_click): Unused function removed.
6643
6644 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6645
6646 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6647 (construct_drag_n_drop, x_scroll_bar_handle_click)
6648 (w32_read_socket): Always set `arg' member of input_events.
6649
6650 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6651
6652 * lisp.h (eval_form): Add prototype.
6653
6654 * xdisp.c (eval_form): Make it externally visible.
6655
0f1a9b23
GM
66562000-07-13 Gerd Moellmann <gerd@gnu.org>
6657
6658 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6659 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6660 consing. For prefix events, store the frame in the `arg' slot of
6661 the event, otherwise store the key there.
6662 (XTread_socket): Instead of consing, use the frame_or_window slot
6663 of HELP_EVENTs for the frame, and the `arg' slot for the help
6664 string.
6665
6666 * xmenu.c (menu_highlight_callback): Store help string in the
6667 `arg' member of the input event; don't cons.
6668 (menubar_selection_callback): Use the `arg' slot of input events
6669 to queue additional information, instead of consing.
6670
6671 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6672
6673 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6674 TOOL_BAR_EVENTs.
6675 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6676
6677 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6678 input events to queue additional information, instead of consing.
6679
6680 * keyboard.c (kbd_buffer_gcpro): Renamed from
6681 kbd_buffer_frame_or_window. Now used for all Lisp objects
6682 referenced from the input queue.
6683 (kbd_buffer_store_event): Always use structure assignment for
6684 copying input events. Record all Lisp objects referenced from
6685 events in kbd_buffer_gcpro.
6686 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6687 differently from input events. Test for prefix menu_bar_events
6688 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6689 event in kbd_buffer_gcpro to nil.
6690 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6691 frame_or_window is equal to its arg member as prefix events.
6692 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6693 used by an input event to nil.
6694 (init_keyboard): Use two times the size of the input queue
6695 for kbd_buffer_gcpro.
6696 (syms_of_keyboard): Likewise.
6697
6698 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
6699 USER_SIGNAL_EVENT.
6700
6701 * termhooks.h (struct input_event): Add member `arg'.
6702 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6703 (USER_SIGNAL_EVENT): Renamed from user_signal.
6704
6705 * xfaces.c (ASET): Remove definition.
6706
6707 * lisp.h (AREF, ASET, ASIZE): New macros.
6708
6709 * fontset.c (AREF, ASIZE): Remove definitions.
6710
6711 * fns.c (AREF): Remove definition.
178c5d9c 6712
0f1a9b23
GM
6713 * composite.c (AREF): Remove definition.
6714
712eaef2
GM
67152000-07-12 Gerd Moellmann <gerd@gnu.org>
6716
d8ee7803
GM
6717 * dispnew.c (redraw_overlapped_rows): Add missing local.
6718 (scrolling_window): Remove debug code.
6719
712eaef2
GM
6720 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6721 Before scrolling, turn off a mouse-highlight in the window
6722 being scrolled.
6723
6724 * xterm.c (x_update_window_end): Add parameter
6725 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6726 redisplay in XTframe_up_to_date.
6727 (x_clear_mouse_face): New function.
6728 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6729
6730 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6731 current glyph row.
6732 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6733 it when any row is written to that contains glyphs highlighted in
6734 mouse-face.
6735 (update_window): Call the window update end hook with new
6736 parameter MOUSE_FACE_OVERWRITTEN_P.
6737 (direct_output_for_insert): Give up if row contains mouse-face.
6738
6739 * dispextern.h (struct redisplay_interface): Add parameter
6740 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6741 (clear_mouse_face): New function pointer member.
6742
02010917
SM
67432000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6744
6745 * syntax.c (back_comment): Use one switch rather than a few `if's.
6746 Obey open_paren_in_column_0_is_defun_start.
6747 When reverting to the `slow' method, try to nicely handle the case
6748 of nested comments by checking that the comment-starter we found
6749 does indeed match the comment-ender.
6750 (scan_sexps_forward, scan_sexps_forward):
6751 Ignore excessive opening parenthesis rather than throwing an error.
6752
d76c03ea
GM
67532000-07-11 Gerd Moellmann <gerd@gnu.org>
6754
6755 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6756 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6757
6758 * dispnew.c (direct_output_forward_char): Give up if currently
6759 displaying a message instead of the minibuffer contents.
6760
6761 * xterm.c (x_update_window_begin): No need to turn off the mouse
6762 highlight here.
6763 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6764 depending on whether they contain glyphs highlighted in
6765 mouse-face.
6766
6767 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6768 compare the mouse_face_p flags of both rows.
6769
6770 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6771
d55ead18
EZ
67722000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6773
6774 * keyboard.c (show_help_echo): Accept additional parameter
6775 ok_to_overwrite_keystroke_echo.
6776 (read_char): Call show_help_echo with a zero
6777 ok_to_overwrite_keystroke_echo argument.
6778 * keyboard.h (show_help_echo): Update prototype of
6779 show_help_echo.
6780 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6781 ok_to_overwrite_keystroke_echo argument.
6782 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6783 non-zero ok_to_overwrite_keystroke_echo argument.
6784
df75b1a3
GM
67852000-07-10 Gerd Moellmann <gerd@gnu.org>
6786
4b92c49a
GM
6787 * xdisp.c (try_window_id): If changes are all below what is
6788 displayed in the window, and point is in the window, we still
6789 might have to find point on the display.
6790
6791 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6792 glyphs instead of a single one.
6793 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6794 with new argument list.
6795 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6796
df75b1a3
GM
6797 * keymap.c (get_keymap_1): Add comment that this function can GC.
6798 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6799 comment that functions can GC.
6800 (Fset_keymap_parent): GCPRO arg KEYMAP.
6801
4314cf3e
EZ
68022000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6803
6804 * msdos.c (XMenuActivate): After exiting the menu, restore the
6805 echo area message and erase it.
6806
ab49ce15
KH
68072000-07-10 Kenichi Handa <handa@etl.go.jp>
6808
6809 * fontset.c (Ffontset_info): Make the return value more compatible
6810 with that of Emacs 20.
6811
090a072f
GM
68122000-07-07 Gerd Moellmann <gerd@gnu.org>
6813
6814 * eval.c (Fsignal): Handle case that backtrace_list is null.
6815
f92de4a6
KH
68162000-07-07 Kenichi Handa <handa@etl.go.jp>
6817
6818 * ccl.c (Fccl_execute): Typo fixed.
6819
dd8888a1
GM
68202000-07-06 Gerd Moellmann <gerd@gnu.org>
6821
e5c81191 6822 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6823
dd8888a1
GM
6824 * window.c (Fwindow_list): Reverse list at the end.
6825 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6826 means allow windows on OWINDOW's frame, only.
6827 (window_loop): Simplified; use Fwindow_list.
6828
6829 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6830
485266d0
GM
68312000-07-05 Gerd Moellmann <gerd@gnu.org>
6832
6833 * xterm.c (XTread_socket): Increment handling_signal at the start,
6834 decrement it at the end.
6835
6836 * eval.c (handling_signal): New variable.
6837 (Fsignal): Abort if handling_signal is non-zero.
6838
6839 * lisp.h (handling_signal): External declaration.
178c5d9c 6840
485266d0
GM
6841 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6842
80fcd514
KR
68432000-07-05 Ken Raeburn <raeburn@gnu.org>
6844
6845 Sound support for NetBSD through "Linux emulation" support:
6846 * config.in (HAVE_SOUNDCARD_H): Undef.
6847 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6848 * Makefile.in (LIBSOUND): New variable.
6849 (LIBES): Include it.
6850 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
6851 <soundcard.h>.
6852 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
6853 elsewhere.
6854 (vox_open): Use DEFAULT_SOUND_DEVICE.
6855 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6856
d5c5cddd
GM
68572000-07-05 Gerd Moellmann <gerd@gnu.org>
6858
6859 * print.c (print_error_message): If Vsignaling_function is set,
6860 show it in *Messages*.
6861
6862 * lisp.h (Vsignaling_function): External declaration.
6863
6864 * eval.c (Vsignaling_function): New variable.
6865 (Fsignal): Compute it.
6866 (syms_of_eval): Staticpro it.
6867
65171e3a
DL
68682000-07-05 Dave Love <fx@gnu.org>
6869
6870 * syswait.h: Use the autoconf recommended approach. Old code
6871 #if'd out in case we need to revert.
6872
178c5d9c 6873 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 6874
e2c46326
AI
68752000-07-05 Andrew Innes <andrewi@gnu.org>
6876
6877 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
6878 when non-NULL instead of __morecore, to take account of buffer
6879 memory. This also solves a problem with spurious memory warnings
6880 on Windows.
6881
6882 * ralloc.c: Make real_morecore non-static.
6883
6884 * eval.c (internal_condition_case): Comment out abort if
6885 interrupt_input_blocked is not zero.
6886
6887 * makefile.nt: Add support for `bootstrap' and related targets.
6888 Include minimal debug info in emacs.exe in release build.
6889 Remove all dependencies on lisp.h, and fixup some others.
6890
6891 * w32.c (init_environment): Install code from 20.7 for providing
6892 default values for environment variables, based on the
6893 executable's own location.
6894 (map_w32_filename): Handle filenames that are longer than
6895 MAX_PATH.
6896 (sys_socket): Install socket inheritance bug fix from 20.7.
6897
6898 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
6899 here via blockinput.h).
6900
a027a91b
SM
69012000-07-05 Stefan Monnier <monnier@cs.yale.edu>
6902
e4b31601
SM
6903 * w32menu.c (w32_menu_display_help):
6904 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
6905
6906 * keyboard.h (show_help_echo): Declare.
6907
6908 * keyboard.c (show_help_echo): New function, extracted from read_char.
6909 Feval its `msg' argument if it's a cons cell.
6910 (read_char): Use it.
4cf8d9d5 6911 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 6912
178c5d9c 6913 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 6914 (note_tool_bar_highlight, XTread_socket):
178c5d9c 6915 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
6916 (dos_rawgetc):
6917 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
6918 (note_tool_bar_highlight, w32_read_socket):
6919 Do not gratuitously ignore non-string `help-echo' properties.
6920
88d75730
GM
69212000-07-05 Gerd Moellmann <gerd@gnu.org>
6922
969f7e79
GM
6923 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
6924
71201b00
GM
6925 * window.c (delete_all_subwindows): Reset Vwindow_list.
6926
88d75730
GM
6927 * xterm.c (x_append_glyph, x_append_composite_glyph)
6928 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6929 changes in struct glyph starting 1999-12-27. Some bit-fields of
6930 struct glyph were not set, which made glyphs unequal when compared
6931 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
6932 effects were the result. This also depended on the contents of
6933 memory returned by xmalloc. If flickering happens again, activate
6934 the code in clear_glyph_row that's in #if 0. If the flickering is
6935 gone with that, chances are that it is caused by something
6936 similar.
6937
6938 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 6939
88d75730
GM
6940 * dispextern.h: Add some comments.
6941
6942 * window.c (add_window_to_list): Add parameter LIST.
6943 (window_list): Order list so that, for each frame, windows are
6944 in canonical order, and so that frames appear in the list in
6945 the order given by Vframe_list.
6946 (next_window): Reverse the handling of NEXT_P.
6947
53654733
GM
69482000-07-04 Gerd Moellmann <gerd@gnu.org>
6949
87efd256
GM
6950 * window.c (Vwindow_list): New variable.
6951 (make_window, delete_window): Set Vwindow_list to nil.
6952 (check_window_containing): New function.
6953 (window_from_coordinates): Rewritten.
6954 (add_window_to_list, window_list, candidate_window_p)
6955 (decode_next_window_args, next_window): New functions.
6956 (Fnext_window, Fprevious_window): Rewritten in terms of
6957 next_window.
6958 (Fwindow_list): New function.
6959 (Fother_window): Cleaned up.
6960 (foreach_window): Add a longer "variable argument list". Let
6961 callback function return 0 to indicate that cycling over windows
6962 should stop.
6963 (foreach_window_1): Likewise.
6964 (freeze_window_start): Return int.
6965 (init_window): New function.
6966 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
6967
6968 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
6969 input_event with bzero.
6970 (main): Call init_window.
6971
53654733
GM
6972 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
6973 a menu filter.
6974
4a8c194f
KH
69752000-07-04 Kenichi Handa <handa@etl.go.jp>
6976
6977 * composite.h (make_composition_value_copy): Extern it.
6978
6979 * composite.c (make_composition_value_copy): New function.
6980
6981 * editfns.c (Fformat): While copying text properties, make each
6982 composition property value a copy.
6983
6984 * fns.c (concat): While copying text properties, make each
6985 composition property value a copy.
6986
831a6cb0
GM
69872000-07-03 Gerd Moellmann <gerd@gnu.org>
6988
2f516940
GM
6989 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
6990
178c5d9c 6991 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
6992 marked already.
6993
831a6cb0
GM
6994 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
6995 include those frames as candidates which have their focus
6996 redirected to the minibuffer frame.
6997
d9c4f922
SM
69982000-07-03 Stefan Monnier <monnier@cs.yale.edu>
6999
7000 * fns.c (Fputhash): Return `value' rather than nil.
7001
3780bc22
GM
70022000-06-30 Gerd Moellmann <gerd@gnu.org>
7003
97d176db
GM
7004 * frame.c (next_frame): Don't check focus redirection in case
7005 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7006 unless their focus is redirected, which contradicts the
7007 specification of next-frame, and leads to infinite loops in
7008 certain situations when cycling through windows with next-window.
7009
dca9961d
KH
70102000-06-30 Kenichi Handa <handa@etl.go.jp>
7011
7012 * coding.c (code_convert_region): Even if the length of text is
7013 zero, try to convert it if coding->type is coding_type_ccl.
7014 (decode_coding_string, encode_coding_string): Likewise.
7015
d5483ab1
GM
70162000-06-28 Gerd Moellmann <gerd@gnu.org>
7017
af5c25e1 7018 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7019 the display if windows_or_buffers_changed.
af5c25e1
GM
7020
7021 * dispnew.c (struct row_entry): New structure.
7022 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7023 (row_table_size, old_lines, new_lines, old_lines_size)
7024 (new_lines_size, run_pool, runs_size, runs): New variables.
7025 (add_row_entry): New function.
7026 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7027 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7028 holding them in local variables. Use a larger hash table whose
7029 size depends on glyph matrix sizes. Don't use bzero to clear the
7030 hash table; instead, clear used slots only.
7031
7032 * fns.c (next_almost_prime): Make it externally visible.
7033
7034 * lisp.h (next_almost_prime): Add prototype.
7035
d5483ab1
GM
7036 * s/isc4-0.h (sigunblock): Define.
7037
7038 * s/sco5.h (sigunblock): Define.
7039
93e40f40
DL
70402000-06-27 Dave Love <fx@gnu.org>
7041
7042 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7043 (moved to osf5-0.h).
7044 [!NOT_C_CODE]: Protect string.h stuff.
7045
7046 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7047 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7048
3c4b7685
GM
70492000-06-27 Gerd Moellmann <gerd@gnu.org>
7050
97d176db 7051 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7052 below the last line from the needed window height.
7053
32cad0aa
SM
70542000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7055
7056 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7057 (Fwidget_get): Use it.
7058 (syms_of_fns): Defsubr it.
7059
2c69ced2
GM
70602000-06-26 Gerd Moellmann <gerd@gnu.org>
7061
178c5d9c 7062 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7063 display info for XIM.
7064 (xim_open_dpy): Likewise.
7065 (xim_close_dpy): Don't free the display info's XIM.
7066
7067 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7068
7069 * config.in (USE_XIM): New define.
7070
3fc720e4
GM
7071 * keymap.c (get_keyelt): For menu-items containing a `:filter
7072 FILTER', apply FILTER to the menu-item's definition to get the
7073 real definition to use.
7074
7075 * lisp.h (QCfilter): External declaration.
7076
2c69ced2
GM
7077 * xfns.c (Fimage_size): New function.
7078 (syms_of_xfns): Defsubr it.
7079
f978b2a2
AS
70802000-06-26 Andreas Schwab <schwab@suse.de>
7081
7082 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7083 Fstring_as_unibyte.
7084
94cc7892
DL
70852000-06-25 Dave Love <fx@gnu.org>
7086
7087 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
7088 tgetnum.
7089
7090 * Makefile.in (blockinput.h): Depend on atimer.h.
7091 (atimer.h): Depend on systime.h.
7092
7093 * blockinput.h: Protect against multiple inclusion. Include
7094 atimer.h.
7095
7096 * atimer.h: Protect against multiple inclusion. Include
7097 systime.h.
7098
7099 * lisp.h (swap_in_global_binding): Declare.
7100
b8c24556
KR
71012000-06-24 Ken Raeburn <raeburn@gnu.org>
7102
7103 * process.c (Fopen_network_stream): Turn off atimers for duration
7104 of call to connect. (Patch from Gerd.)
7105
8cf8560b
DL
71062000-06-23 Dave Love <fx@gnu.org>
7107
511c7541
DL
7108 * ralloc.c: Maybe include unistd.h
7109
8cf8560b
DL
7110 * emacs.c (setgrp): Undefine before defining.
7111 (malloc_warning, set_time_zone_rule, index): Prototype.
7112
7113 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7114 HAVE_STRUCT_TIMEZONE.
7115
7116 * s/osf1.h: Move string.h hack here from alpha.h and make it
7117 conditional.
7118 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7119 _XOPEN_SOURCE.
7120 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7121 (SOCKLEN_TYPE): Don't define.
7122
7123 * m/alpha.h: Remove string.h hack.
7124
7125 * s/osf5-0.h: New file.
7126
7127 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7128 include time.h, done by systime.h.
7129 [__FreeBSD__]: Remove redundant includes.
7130
3fc720e4 7131 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7132 (delete_temp_file): Return Qnil to avoid warning.
7133
7134 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7135
7136 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7137 HAVE_X_WINDOWS.
7138
7139 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7140
7141 * composite.h (compose_text): Declare.
7142
7143 * xterm.c: Don't include sys/types.h unconditionally. Don't
7144 protect its inclusion with !USG (following xmenu.c).
7145
ea055732
GM
71462000-06-23 Gerd Moellmann <gerd@gnu.org>
7147
7148 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7149 in x_create_frame.
7150
74b01b80
EZ
71512000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7152
7153 * coding.c (decode_eol_post_ccl): Special handling for undecided
7154 and inconsistent EOL types.
7155
64f3a166
GM
71562000-06-22 Gerd Moellmann <gerd@gnu.org>
7157
16cf31f7
GM
7158 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7159 trough color and main window's background color.
7160
178c5d9c 7161 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
7162 differently.
7163
7164 * xterm.h (Xt_app_con): External declaration.
7165
7166 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7167
486a103d
GM
7168 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7169
64f3a166
GM
7170 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7171 (handle_invisible_prop): Record the start of invisible text in
7172 it->add_overlay_start.
7173 (struct overlay_entry): Add member `overlay'.
7174 (handle_overlay_change): Simplify.
7175 (next_overlay_string): After having processed overlay strings at the
7176 end of the buffer, record that fact in
7177 it->overlay_strings_at_end_processed_p.
7178 (compare_overlay_entries): If before- and after-strings come
7179 from the same overlay, let before-strings come first.
7180 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7181 (load_overlay_strings): Take it->add_overlay_start into account
7182 when adding overlay strings.
7183
7184 * dispextern.h (struct it): Add member add_overlay_start.
7185
bb746ea6
DL
71862000-06-22 Dave Love <fx@gnu.org>
7187
7188 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7189
7190 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7191
a8f573f3
KH
71922000-06-22 Kenichi Handa <handa@etl.go.jp>
7193
7194 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7195 is greater than 0.
7196
9f2bbc92
DL
71972000-06-21 Dave Love <fx@gnu.org>
7198
178c5d9c 7199 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7200
3ee5041c
SM
72012000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7202
7203 * syntax.c (back_comment): Simplify string-parity counting (with
7204 the added benefit of handling multiple string-styles as long as
7205 they are not intertwined).
7206 Jump to the slow code as soon as a comment starter is found in
7207 a "string_lossage" position. Fixes the case: " /* " /* " */.
7208
4c343001
DL
72092000-06-21 Dave Love <fx@gnu.org>
7210
7211 * Makefile.in: Use GETLOADAVG_LIBS.
7212
7213 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7214 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7215
e6365855
SM
72162000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7217
7218 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7219 (Fforward_comment, scan_lists):
7220 Check the comstyle of single-char comment-starters.
7221 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7222 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7223 Check the comstyle of single-char comment-starters.
7224 Clarify control-flow around the Scomment case.
e6365855 7225
5700d2cc
DL
72262000-06-20 Dave Love <fx@gnu.org>
7227
d355bd8a
SM
7228 * fns.c (make_hash_table, maybe_resize_hash_table):
7229 Cast arg of next_almost_prime.
5700d2cc 7230
178c5d9c 7231 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7232
7233 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7234 and unistd.h.
7235
4a27bdfb
GM
72362000-06-20 Gerd Moellmann <gerd@gnu.org>
7237
a61d762c
GM
7238 * keyboard.c (adjust_point_for_property): Check if display
7239 property should be treated as intangible by looking at its
7240 value.
7241
178c5d9c 7242 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7243 (display_prop_intangible_p): New functions.
7244
7245 * dispextern.h (display_prop_intangible_p): Add prototype.
7246
7247 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7248
4a27bdfb
GM
7249 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7250 argument to sigprocmask.
7251
7252 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7253 argument to sigprocmask.
7254
7255 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7256 sigprocmask_set, and pass a pointer to it to sigprocmask.
7257
7258 * sysdep.c (sigprocmask_set): New variable.
7259
7260 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7261 report_file_error.
7262
427ec082
SS
72632000-06-20 Sam Steingold <sds@gnu.org>
7264
7265 * xrdb.c: Don't declare xmalloc, xrealloc.
7266
8972fe79 72672000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7268
7269 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7270 (re_comp): Cast gettext return value to avoid complaints when
7271 !HAVE_LIBINTL.
7272
074b6efe
DL
72732000-06-20 Dave Love <fx@gnu.org>
7274
f85c008a
DL
7275 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
7276 HAVE_GETTIMEOFDAY.
7277
5700d2cc 7278 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7279
d355bd8a 7280 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7281
7282 * m/alpha.h: Don't declare xmalloc, xrealloc.
7283
0af4f205
DL
7284 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7285
7286 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7287
7288 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7289
7290 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7291 HAVE_GETWD.
7292
074b6efe
DL
7293 * keyboard.h (poll_for_input_1): Declare.
7294
7295 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7296
7297 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7298
7299 * doprnt.c: Don't declare xmalloc, xrealloc.
7300
7301 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7302 (getenv, ctime, getwd): Removed.
7303 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7304
7305 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7306 x_set_tool_bar_lines.
7307
7308 * config.in: Add HAVE_GETWD. Move some definitions above
7309 machine/system includes.
7310
68a5e97b
KH
73112000-06-20 Kenichi Handa <handa@etl.go.jp>
7312
95417e1e
KH
7313 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7314
68a5e97b
KH
7315 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7316 contain information about ENCODING.
7317
7318 * fontset.c (FONTSET_ASCII): Use the first element of char table
7319 for an ASCII font, not defalt slot.
7320 (fontset_ref_via_base): If FONTSET doesn't contain information for
7321 C, try the default fontset.
7322 (make_fontset): Don't copy the default fontset.
7323 (fontset_font_pattern): Likewise.
7324 (accumulate_font_info): If ELT is nil, use the corresponding
7325 element in the default fontset.
7326
3b4fa1b2
DL
73272000-06-19 Dave Love <fx@gnu.org>
7328
943e731c
DL
7329 * syntax.c (Fparse_partial_sexp): Doc fix.
7330
7331 * regex.h: Test PROTOTYPES as well as __STDC__.
7332
3b4fa1b2
DL
7333 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7334 errno, strerror. Put text after #endif in comment.
7335
7336 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
7337 pcc).
7338
7339 * xterm.c (x_frame_of_widget): Likewise.
7340
cdf0357b
GM
73412000-06-19 Gerd Moellmann <gerd@gnu.org>
7342
7343 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7344 to Vfundamental_mode_abbrev_table.
7345
7346 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7347 bogus objects are marked. This slows down GC by ~80 percent, but
7348 it might be worth trying when debugging GC-related problems.
7349 This feature requires conservative stack marking to be enabled.
7350
7351 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7352 returns XLookupChars, reset `modifiers' to zero.
7353
998e9f8c
DL
73542000-06-19 Dave Love <fx@gnu.org>
7355
7356 * mktime.c: Unprotoized.
7357
18e21ce8 73582000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7359
7360 * data.c (set_internal): If variable is frame-local,
7361 store the new value immediately into the frame parameter alist.
7362
140c4ac6
KR
73632000-06-19 Ken Raeburn <raeburn@gnu.org>
7364
14358466
KR
7365 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7366 in the custom handler pointer.
7367
140c4ac6
KR
7368 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7369 value, or checks for CHAR_META can fail when Lisp_Object is a
7370 union type.
7371 * keymap.c (get_keyelt): Likewise.
7372
10d7bf84
KH
73732000-06-19 Kenichi Handa <handa@etl.go.jp>
7374
7375 * ccl.h (struct ccl_program): New member eol_type.
7376 (struct ccl_spec): New member cr_carryover.
7377
7378 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7379 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7380
7381 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7382 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7383 (decode_eol_post_ccl): New function.
7384 (decode_coding): Don't detect EOL format here for CCL based coding
7385 systems.
7386 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7387 decode_eol_post_ccl after running the CCL program.
7388 (code_convert_region): Don't detect EOL format here for CCL based
7389 coding systems.
7390 (decode_coding_string): Likewise.
7391
52e386c2
KR
73922000-06-18 Ken Raeburn <raeburn@gnu.org>
7393
7394 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7395 when treating it as an integer.
7396
7397 * coding.h (encode_coding_string): Declare.
7398
7399 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7400 it as an integer.
7401
7402 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7403 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7404 to be passed to get_local_map.
7405
7406 * sound.c (Fplay_sound): Don't call make_number on
7407 Frun_hook_with_args count argument.
7408
7409 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7410 for lisp objects in X event structure data field, when lisp
7411 objects are represented with unions.
7412 (x_scroll_bar_to_input_event): Ditto.
7413
b357b9d4
KR
74142000-06-16 Ken Raeburn <raeburn@gnu.org>
7415
7416 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7417 termination of string. Fix sense of test whether
7418 Vline_number_display_limit is an integer.
b357b9d4 7419
a871441d
GM
74202000-06-16 Gerd Moellmann <gerd@gnu.org>
7421
a9021acd
GM
7422 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7423 only if HAVE_X_WINDOWS.
7424
6344985d
GM
7425 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7426 of titles.
7427
427ec082 7428 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7429 out of bounds.
7430
228b083e
EZ
74312000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7432
7433 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7434 of its headers.
7435
c25b53a2
KH
74362000-06-15 Kenichi Handa <handa@etl.go.jp>
7437
7438 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7439 start of the while loop.
7440
a6981b11
GM
74412000-06-15 Gerd Moellmann <gerd@gnu.org>
7442
e9924e52
GM
7443 * atimer.c (alarm_signal_handler): Add forward declaration.
7444
a6981b11
GM
7445 * data.c (set_internal): Remove debug code.
7446
25fa6deb
GM
74472000-06-14 Gerd Moellmann <gerd@gnu.org>
7448
dce6b995
GM
7449 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7450
9f817ea4
GM
7451 * unexec.c (toplevel) [COFF]: Include coff.h.
7452
7453 * s/lynxos.h: New file.
7454
7455 * keymap.c (Fsingle_key_description): Enclose function key and
7456 event symbol names in angle brackets.
7457
8a4e3c0c
GM
7458 * xdisp.c (setup_echo_area_for_printing): Call
7459 message_log_maybe_newline if message_buf_print is not set.
7460
7461 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7462 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7463 function does something useful even when message_buf_print is
7464 already set.
7465
25fa6deb
GM
7466 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
7467 variables.
7468 (ensure_echo_area_buffers): Initialize echo buffer's
7469 truncate lines setting to nil.
7470 (with_echo_area_buffer): Don't set the echo buffer's truncate
7471 lines setting here.
8a4e3c0c 7472 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7473 of message_truncate_lines.
7474 (resize_mini_window): Handle case that lines are truncated.
7475 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
7476 message-truncate-lines.
7477
7478 * keyboard.c (read_char): Bind message-truncate-lines to t
7479 while displaying a help-echo.
7480
7481 * lisp.h (Qmessage_truncate_lines): External declaration.
7482
163dcff3
GM
74832000-06-13 Gerd Moellmann <gerd@gnu.org>
7484
1681ead6
GM
7485 * xdisp.c (Vline_number_display_limit): Renamed from
7486 line_number_display_limit.
7487 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7488 Extend documentation string. Initialize
7489 Vline_number_display_limit to nil meaning no limit.
7490 (decode_mode_spec): Use Vline_number_display_limit with its new
7491 meaning.
7492
163dcff3
GM
7493 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7494
18e21ce8 74952000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7496
7497 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7498
163dcff3
GM
7499 * xfns.c (x_set_frame_parameters): Comment fix.
7500
7501 * frame.c (store_frame_param): Call swap_in_global_binding if the
7502 variable's current binding was chosen based on this frame.
7503
7504 * data.c (swap_in_global_binding): New function.
7505
a704139d
EZ
75062000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7507
7508 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7509 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7510
9b6610db
EZ
75112000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7512
7513 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7514
c68833d2
JR
75152000-06-12 Jason Rumney <jasonr@gnu.org>
7516
7517 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7518
7519 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7520
7521 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7522
7523 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7524
ed1056b3
GM
75252000-06-12 Gerd Moellmann <gerd@gnu.org>
7526
7527 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7528 (syms_of_xfaces): Defsubr Sdump_colors.
7529 (x_free_colors): Don't treat b&w specially on default visual.
7530 (x_free_dpy_colors): New function.
7531 (free_face_colors): Don't check visual class; it's done
7532 in x_free_colors.
7533
7534 * xterm.c (x_frame_of_widget): New function.
7535 (x_alloc_nearest_color_for_widget): Use it.
7536 (x_copy_dpy_color): New function.
7537 (x_destroy_window): Free various colors.
7538
5050a2ef
KH
75392000-06-12 Kenichi Handa <handa@etl.go.jp>
7540
7541 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7542
7543 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7544
7545 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7546
7547 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7548
7549 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7550
fb1b041d
DL
75512000-06-11 Dave Love <fx@gnu.org>
7552
7553 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7554
ff96b5f4
EZ
75552000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7556
7557 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7558
db8eeecd
GM
75592000-06-11 Gerd Moellmann <gerd@gnu.org>
7560
ed1056b3 7561 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7562 to `XEvent *'.
7563
49b71c5f
KH
75642000-06-10 Kenichi Handa <handa@etl.go.jp>
7565
c479bd55
KH
7566 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7567 (regex_compile): Fix the code for handling the case of single byte
7568 char and multibyte char being mixed in a range within [...].
7569
ff6a65c2
KH
7570 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7571 and dst_multibyte members of coding.
7572
49b71c5f
KH
7573 * charset.c (update_charset_table): Update the table
7574 bytes_by_char_head.
7575 (init_charset_once): Initialize elements of bytes_by_char_head to
7576 1 except for leading codes for private charases.
7577
7578 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
7579 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
7580 sequence.
7581
9e80b57d
KR
75822000-06-09 Ken Raeburn <raeburn@gnu.org>
7583
7584 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7585 access the data it doesn't point to.
7586
f83fe4b4
GM
75872000-06-08 Gerd Moellmann <gerd@gnu.org>
7588
7589 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7590 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7591 event queue. This is necessary because Emacs otherwise won't
7592 perform a switch-frame to a new frame until some other event, for
7593 example a keystroke event, forces it to do so. This has various
7594 effects, one visible being that the cursor of a frame created with
7595 C-x 5 2 or switched to with a window manager key binding like
7596 A-TAB stays hollow because selected_window isn't on the newly
7597 focused frame until the switch-frame is performed.
7598
7599 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7600 generating a switch-frame event if necessary.
7601
7602 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7603
7604 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7605 it's an integer.
7606
0890801b
KH
76072000-06-08 Kenichi Handa <handa@etl.go.jp>
7608
7609 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
7610 charset.
7611
173cbca8
GM
76122000-06-07 Gerd Moellmann <gerd@gnu.org>
7613
3091c2a6
GM
7614 * window.c (displayed_window_lines): Take empty lines at
7615 the bottom of a window into account.
427ec082 7616
f38952fe
GM
7617 * window.c (displayed_window_lines): New function.
7618 (Fmove_to_window_line): Use displayed_window_lines to determine
7619 the number of lines to move, instead of using the window's height.
7620
7621 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7622 to stop reading, even if the form read sets point to a different
7623 value when evaluated.
7624
427ec082 7625 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7626 put the cursor.
7627
6ba6c818
KH
76282000-06-07 Kenichi Handa <handa@etl.go.jp>
7629
7630 * fileio.c (e_write): Free composition data if stored in
7631 coding->cmp_data.
7632
5f1aea9a
GM
76332000-06-06 Gerd Moellmann <gerd@gnu.org>
7634
666852af
GM
7635 * xdisp.c (display_line): Set row's and iterator's
7636 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7637 Set cursor even if row ends in the middle of a character.
7638 (dump_glyph_row): Print values of new flags.
7639 (redisplay_window) <cursor movement in unchanged window>: When
7640 point has been moved forward, and PT is at the end of the cursor
7641 row, don't place the cursor in the next row if the cursor row ends
7642 in the middle of a character or at ZV.
7643
7644 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7645 (struct glyph_row): Add starts_in_middle_of_char_p and
7646 ends_in_middle_of_char_p.
7647 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7648 ends_in_middle_of_char_p flag.
7649 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7650
d13f3e2e
GM
7651 * term.c (append_glyph): Revert change of 2000-06-06.
7652
7653 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7654 padding glyph not fitting on line as whole character not
7655 fitting on line.
7656
5f1aea9a
GM
7657 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7658 this isn't true for images with `:ascent 100'.
7659
10cda9b0
KH
76602000-06-06 Kenichi Handa <handa@etl.go.jp>
7661
ed00559d
KH
7662 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7663 as modified if it is originally unmodified.
7664
10cda9b0
KH
7665 * term.c (encode_terminal_code): Change the way to check if
7666 terminal coding does any conversion.
7667 (append_glyph): Set glyph->pixel_width correctly.
7668
7669 * xdisp.c (display_line): While checking line continuation, pay
7670 attention to a padding glyph.
7671
1969fae2
GM
76722000-06-05 Gerd Moellmann <gerd@gnu.org>
7673
7674 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7675
162ccef4
DL
76762000-06-05 Dave Love <fx@gnu.org>
7677
f19f32dd
DL
7678 * xdisp.c: Include fontset.h.
7679
7680 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7681
7682 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7683
7684 * dispnew.c: Conditionally include term.h.
7685
7686 * coding.h: Declare code_convert_string_norecord.
7687
7688 * frame.h (struct frame): Use volatile unconditionally.
7689
7690 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7691
7692 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7693
7694 * systime.h: Protect against multiple inclusion.
7695 (timezone) [USG5_4]: Define as time_t.
7696
7697 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7698 (Foptimize_char_table, make_temp_name): Declare.
7699
7700 * Makefile.in (xdisp.o): Depend on fontset.h.
7701
7702 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7703
7704 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7705 (Foptimize_char_table, make_temp_name): Declare.
7706
427ec082 7707 * s/irix4-0.h:
162ccef4
DL
7708 * s/irix5-0.h:
7709 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7710
2082fe81
DL
77112000-06-02 Dave Love <fx@gnu.org>
7712
7713 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7714
dcf671d2
GM
77152000-06-02 Gerd Moellmann <gerd@gnu.org>
7716
7717 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7718 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7719 be freed.
7720
7721 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7722 glyph, use the ASCII NUL character to determine the face.
7723
d42122a3
DL
77242000-06-02 Dave Love <fx@gnu.org>
7725
7726 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7727 (VFORK_RETURN_TYPE): Remove.
427ec082 7728
d42122a3
DL
7729 * config.in: Add NO_MATHERR.
7730
dd432f16
DL
77312000-06-01 Dave Love <fx@gnu.org>
7732
90aa4ea8
DL
7733 * cmds.c (internal_self_insert): Don't check
7734 Vbefore_change_function, Vafter_change_function.
7735
7736 * insdel.c (signal_before_change, signal_after_change): Likewise.
7737
7738 * buffer.c (Vbefore_change_function, Vafter_change_function):
7739 Variables and their initializations deleted.
7740
2330c9d4
DL
7741 * callint.c (Fcall_interactively): Doc fix.
7742
dd432f16
DL
7743 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7744
bf9e8804
DL
77452000-05-31 Dave Love <fx@gnu.org>
7746
7747 * textprop.c: Revert last change -- duplicated.
7748
3694b4ab
GM
77492000-05-31 Gerd Moellmann <gerd@gnu.org>
7750
7751 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7752 in #if 0.
7753
7754 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7755
f14156cd
JR
77562000-05-31 Jason Rumney <jasonr@gnu.org>
7757
8119aab8
JR
7758 * search.c (Fre_search_forward, Fre_search_backward)
7759 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7760
f14156cd
JR
7761 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7762
4aab9be3
JR
77632000-05-30 Jason Rumney <jasonr@gnu.org>
7764
7765 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7766 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7767
7768 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
7769 member.
7770
7771 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7772 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7773 expand a nil default_filename.
7774
7775 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7776 pointer to glyph_to_pixel_coords, not a frame.
7777
7778 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7779 coding.h to dependencies.
7780
7781 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7782
7783 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7784 window pointer to be consistent with w32term.c and xterm.c.
7785
7786 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7787 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7788 (Qline_spacing, Qcenter): New variables.
7789 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7790 (x_set_line_spacing): New function.
7791 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
7792 macros.
7793 (x_specified_cursor_type): New function.
7794 (x_set_cursor_type): Use it.
7795 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7796 and icon strings.
7797 (validate_x_resource_name, x_get_resource_string): Measure lengths
7798 of external strings in bytes.
7799 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7800 GetTextExtentPoint32 with NULL title.
7801 (Fx_create_frame): Initialize Qline_spacing.
7802 (w32_load_system_font): Initialize font->double_byte_p.
7803 (x_to_w32_charset): Use Vw32_charset_info_alist.
7804 (Image, busy cursor, tooltip functions): Merged changes from
7805 xfns.c. Not yet functional on Windows.
7806
7807 * w32gui.h (W32FontStruct): Add double_byte_p member.
7808
7809 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7810 (emacs_button_translation): Use it.
7811 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7812 in `mask' to be set.
7813
7814 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7815 menu strings.
7816
7817 * w32term.c: Format and doc changes to bring closer to xterm.c.
7818 (w32_char_font_type): New enum.
7819 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7820 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7821 (w32_encode_char): New function.
7822 (x_encode_char): Removed.
7823 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7824 x_encode_char and w32_font_is_double_byte.
7825 (x_produce_image_glyph): Use image_ascent.
7826 (x_produce_glyphs): Use new version of w32_per_char_metric and
7827 handle NULL return value. Allow extra line spacing.
7828 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7829 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7830 w32_font_type member of glyph instead.
7831 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7832 (fast_find_position): Make sure not to consider rows not visible
7833 in the window.
7834 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7835 w32_menu_display_help with input blocked, as it can abort.
7836 (x_display_and_set_cursor): Choose cursor depending
7837 on buffer-local value of cursor_type.
7838 (x_draw_bar_cursor): Add parameter WIDTH.
7839
7840 * w32term.h (CP_DEFAULT): Define.
7841 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7842
10fc3187
GM
78432000-05-30 Gerd Moellmann <gerd@gnu.org>
7844
7845 * search.c (Fre_search_forward, Fre_search_backward)
7846 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7847
d0555360
KH
78482000-05-30 Kenichi Handa <handa@etl.go.jp>
7849
7850 * coding.c (detect_coding_iso2022): Fix code for checking
7851 CODING_CATEGORY_MASK_ISO_8_2.
7852
f1ad044f
SM
78532000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7854
7855 * regex.c (PREFETCH_NOLIMIT): New function.
7856 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7857
84ec3b4b
GM
78582000-05-29 Gerd Moellmann <gerd@gnu.org>
7859
66254a13
GM
7860 * syntax.c (find_defun_start): Move test for
7861 open_paren_in_column_0_is_defun_start outside of the loop.
7862
49e70dec
GM
7863 * xdisp.c (redisplay_window): Really switch buffers when
7864 displaying mode lines, and temporarily set selected_frame to the
7865 frame of the window that's redisplayed.
7866
84ec3b4b
GM
7867 * xfaces.c (free_realized_faces): Block/unblock input.
7868 (free_realized_multibyte_face): Ditto.
7869
869a3a14
DL
78702000-05-29 Dave Love <fx@gnu.org>
7871
7872 * textprop.c (Qkeymap): New variable.
7873 (syms_of_textprop): Intern it.
7874
7875 * keymap.c: Include intervals.h.
7876 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7877
7878 * Makefile.in (keymap.o): Depend on intervals.h.
7879
7880 * keyboard.c (menu_bar_items, tool_bar_items)
7881 (Fexecute_extended_command): Deal with `keymap' property.
7882 (read_key_sequence): Track map from `keymap' property as well as
7883 `local_map'.
7884
7885 * intervals.c (get_local_map): Extra arg to allow looking for
7886 `keymap' too.
7887
7888 * intervals.h (map_property): New enum.
7889 (get_local_map): Extra arg using it.
7890 (Qkeymap): Declare.
7891
84ec3b4b 7892 * lisp.h (get_local_map): Don't declare here.
869a3a14 7893
89d0c844
KH
78942000-05-29 Kenichi Handa <handa@etl.go.jp>
7895
7896 * Makefile.in (callproc.o): Depend on composite.h.
7897
7898 * callproc.c: Include composite.h.
7899 (Fcall_process): Handle composition correctly.
7900
7901 * coding.h (coding_allocate_composition_data): Extern it.
7902 (coding_restore_composition): Likewise.
7903
7904 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
7905 yet allocated, finish decoding with result
7906 CODING_FINISH_INSUFFICIENT_CMP.
7907 (coding_allocate_composition_data): Make it non-static.
7908 (coding_restore_composition): Likewise.
7909
797a084a
EZ
79102000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
7911
7912 * charset.c (syms_of_charset): Revert last change.
7913
cf872af5
EZ
79142000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7915
7916 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
7917 charsets as unibyte, with 1-column screen width. Sent by Kenichi
7918 Handa.
cf872af5 7919
5b1ae051
EZ
79202000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7921
7922 * charset.c (syms_of_charset): Set width of character sets
7923 eight-bit-control and eight-bit-graphic to 1 column.
7924
34ec9ebe
GM
79252000-05-26 Gerd Moellmann <gerd@gnu.org>
7926
7927 * config.in (HAVE_SPEED_T): New define.
7928
7929 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
7930 `extern speed_t'.
7931
dd854dc2
DL
79322000-05-26 Dave Love <fx@gnu.org>
7933
7934 * coding.c (shrink_decoding_region): Initialize eol_conversion.
7935
7936 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
7937 (Fsubr_arity): New function.
7938 (syms_of_data): Install them.
7939
ba9f8f95
KH
79402000-05-26 Kenichi Handa <handa@etl.go.jp>
7941
0f3e0672
KH
7942 * charset.c (init_charset_once): Set the table bytes_by_char_head
7943 correctly.
7944
cebefb44
KH
7945 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
7946 the default fontset to what Emacs uses by default.
0f3e0672
KH
7947 (check_registry_encoding): This function deleted.
7948 (Fset_fontset_font): Remove the adhoc condition for the default
7949 fontset. Allow cons in FONTNAME.
cebefb44 7950
0f3e0672
KH
7951 * fns.c (map_char_table): Ignore char-table entries for
7952 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 7953
7a18af49
KR
79542000-05-25 Ken Raeburn <raeburn@gnu.org>
7955
7956 * emacs.c (main): Initialize keyboard syms before initializing
7957 window code, so face names are available.
7958
d2af47df
SM
79592000-05-25 Stefan Monnier <monnier@cs.yale.edu>
7960
7961 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
7962 of an anchor at the beginning of a shy-group.
7963
fc6a6a4e
GM
79642000-05-25 Gerd Moellmann <gerd@gnu.org>
7965
7966 * xdisp.c (handle_invisible_prop): Don't try to skip over
7967 invisible text if end of text is already reached.
7968
005f0d35
DL
79692000-05-25 Dave Love <fx@gnu.org>
7970
02513cdd
DL
7971 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
7972
005f0d35
DL
7973 * coding.c (encode_eol): Add null statement after label.
7974
89f6ca4e
EZ
79752000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
7976
7977 * w16select.c (Fw16_set_clipboard_data): Fix the change from
7978 2000-05-20.
7979
a4e1759e
KH
79802000-05-25 Kenichi Handa <handa@etl.go.jp>
7981
7982 * ccl.c (ccl_driver): Fix previous change.
7983
eacfd7fe
KH
79842000-05-25 Kenichi Handa <handa@etl.go.jp>
7985
46ab33a9
KH
7986 * coding.c (run_pre_post_conversion_on_str): Set point to the
7987 beginning of buffer before calling coding->post_read_conversion.
7988 (decode_coding_string): Give correct args to
7989 run_pre_post_conversion_on_str.
7990 (encode_coding_string): Likewise.
7991
eacfd7fe
KH
7992 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
7993 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
7994 eight-bit-graphic correctly.
7995
f8569325
DL
79962000-05-24 Kenichi HANDA <handa@etl.go.jp>
7997
7998 * fileio.c (Finsert_file_contents): Even if a file is not found,
7999 execute codes for setting up coding system. Call
8000 after-insert-file-functions unconditionally.
8001
04545643
GM
80022000-05-24 Gerd Moellmann <gerd@gnu.org>
8003
8004 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8005 BSD_PGRPS are not defined.
8006
747d90ea
KH
80072000-05-24 Kenichi Handa <handa@etl.go.jp>
8008
8009 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8010 DESCRIPTION.
8011 (syms_of_charset): Avoid building same strings.
8012
716e3b88
GM
80132000-05-23 Gerd Moellmann <gerd@gnu.org>
8014
8015 * lread.c (Fload): Add a comment about the meaning of
8016 Vuser_init_file being t.
8017
8018 * puresize.h (BASE_PURESIZE): Increase to 675000.
8019
8020 * s/gnu-linux.h (setpgrp): Don't define it here because this
8021 prevents compilation on GNU/Linux systems with glib 2.2.
8022
8023 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8024 as setpgid.
427ec082 8025
9aeb39fa
EZ
80262000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8027
8028 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8029 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8030 version.
8031 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8032
29ced61b
KH
80332000-05-23 Kenichi Handa <handa@etl.go.jp>
8034
0574a2ed
KH
8035 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
8036 unconditionally.
8037
3d80f24d
KH
8038 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8039
8040 * term.c (encode_terminal_code): Set coding->src_multibyte
8041 properly.
8042
29ced61b
KH
8043 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8044
d7e00792
KH
80452000-05-22 Kenichi Handa <handa@etl.go.jp>
8046
c9d80d38
KH
8047 * keyboard.c (read_char): Allow character codes 128..255 to be
8048 handled by input-method-function.
8049
d7e00792
KH
8050 * insdel.c (adjust_markers_for_replace): Fix previous change.
8051 (adjust_after_replace): If PREV_TEXT is nil, call
8052 adjust_markers_for_insert, not adjust_markers_for_replace.
8053
087121cc 80542000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8055
087121cc
GM
8056 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8057 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8058 [HAVE_GRANDPT]: Define.
8059 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8060
8061 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8062 like SYSV_PTYS.
8063
8064 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8065
8066 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8067
c9671f81
KH
80682000-05-20 Kenichi Handa <handa@etl.go.jp>
8069
8070 The following changes are to handle 8-bit characters in a
8071 multibyte buffer/string without facing with byte combining
8072 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8073 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8074
8075 * Makefile.in (fns.o): Depend on charset.h.
8076
8077 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8078 convert it to unibyte.
8079 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8080
8081 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8082 apparent char boundary.
8083 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8084 0x80..0x9F to/from multibyte form.
8085
8086 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8087 to unibyte.
8088
8089 * callproc.c (Fcall_process): Always encode an argument string if
8090 it is multibyte. Setup src_multibyte and dst_multibyte members of
8091 process_coding properly.
ce75fd23 8092
c9671f81
KH
8093 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8094 SPLIT_NON_ASCII_CHAR.
8095
8096 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8097 as is.
8098 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8099
8100 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
8101 variables.
8102 (SPLIT_CHARACTER_SEQ): This macro deleted.
8103 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
8104 valid.
8105 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8106 and eight-bit-graphic.
8107 (char_to_string): Likewise. Signal an error for too large
8108 character code.
8109 (char_printable_p): Return 0 for 8-bit characters.
8110 (update_charset_table): Update iso_charset_table only when a final
8111 character is non-negative.
8112 (find_charset_in_text): Renamed from find_charset_in_str.
8113 Arguments and return value changed. Callers changed.
8114 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8115 be -1 if CHARSET is used only internally.
8116 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8117 eight-bit-graphic.
8118 (Fcharset_after): Simplified.
8119 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8120 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8121 (multibyte_chars_in_text): Simplified by assuming there's no
8122 invalid multibyte sequence.
8123 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8124 str_as_unibyte): New functions.
8125 (Fstring): Simpified by assuming that byte combining never
8126 happens.
8127 (init_charset_once): Initialization for
8128 LEADING_CODE_8_BIT_CONTROL.
8129 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8130 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8131 eight-bit-control and eight-bit-graphic.
8132
8133 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
8134 CHARSET_8_BIT_GRAPHIC): New macros.
8135 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8136 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8137 (CHARSET_REVERSE_CHARSET): Likewise.
8138 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8139 eight-bit-graphic.
8140 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8141 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8142 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8143 encounter an invalid multibyte sequence.
8144 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8145 sequence is always valid.
8146 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
8147 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
8148 macros.
8149 (CHAR_STRING): For 8-bit characters, call char_to_string.
8150 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8151 multibyte sequence is always valid.
8152 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
8153 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8154 str_as_unibyte): Extern them.
8155 (BCOPY_SHORT): Fix a bug.
8156 (CHAR_LEN): This macro deleted. Callers changed to use
8157 CHAR_BYTES.
8158 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8159 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8160 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8161
bd4bde7f 8162 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
8163 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
8164 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
8165 EMIT_BYTES): New macros.
8166 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
8167 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
8168 macros deleted.
8169 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8170 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8171 check the validity of multibyte sequence.
8172 (decode_coding_emacs_mule): New function.
8173 (encode_coding_emacs_mule): New macro.
8174 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8175 the source.
8176 (DECODE_ISO_CHARACTER): Just return a character code.
8177 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8178 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8179 EMIT_CHAR to produced decoded characters. Exit the loop only by
8180 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8181 block here.
8182 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8183 only position codes for an invalid character.
8184 (encode_designation_at_bol): Return new destination pointer. 5th
8185 arg DSTP is changed to DST.
8186 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8187 from the source by ONE_MORE_CHAR. Don't handle the case of last
8188 block here.
8189 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8190 macros deleted.
8191 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
8192 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
8193 TWO_MORE_BYTES to fetch a byte from the source.
8194 (encode_eol): Pay attention to coding->src_multibyte.
8195 (detect_coding, detect_eol): Preserve members src_multibyte and
8196 dst_multibyte.
8197 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8198 (encoding_buffer_size): Set magnification to 3 for all coding
8199 systems that require encoding.
8200 (ccl_coding_driver): For decoding, be sure that the result is
8201 valid multibyte sequence.
8202 (decode_coding): Initialize coding->errors and coding->result.
8203 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8204 and raw-text, always call decode_eol. Handle the case of last
8205 block here. If not coding->dst_multibyte, convert the resulting
8206 sequence to unibyte.
8207 (encode_coding): Initialize coding->errors and coding->result.
8208 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8209 and raw-text, always call encode_eol. Handle the case of last
8210 block here.
8211 (shrink_decoding_region, shrink_encoding_region): Detect cases
8212 that we can't skip data more rigidly.
8213 (code_convert_region): Setup src_multibyte and dst_multibyte
8214 members of coding. For decoding, if the buffer is multibyte,
8215 convert the source sequence to unibyte in advance. For encoding,
8216 if the buffer is multibyte, convert the resulting sequence to
8217 multibyte afterward.
8218 (run_pre_post_conversion_on_str): New function.
8219 (code_convert_string): Deleted and divided into the following two.
8220 (decode_coding_string, encode_coding_string): New functions.
8221 (code_convert_string1, code_convert_string_norecord): Call one of
8222 above.
8223 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8224 MAKE_NON_ASCII_CHAR.
8225 (Fset_terminal_coding_system_internal,
8226 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
8227 and dst_multibyte members.
8228 (init_coding_once): Initialize iso_code_class with new enum
8229 ISO_control_0 and ISO_control_1.
8230
8231 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8232 devided into ISO_control_0 and ISO_control_1.
8233 (struct coding_system): New members src_multibyte, dst_multibyte,
8234 errors, and result. Delete member fake_multibyte.
8235 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8236 nonzero.
8237 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8238 nonzero.
8239
8240 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8241 (Faset): Likewise.
8242
8243 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8244 multibyte form.
8245 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8246 combining occurs.
8247 (Ftranspose_region): Delete codes for handling byte combining.
8248
8249 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8250 dst_multibyte members of coding. On handling REPLACE on unibyte
8251 buffer, convert the result of decode_coding to unibyte. On
8252 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8253 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8254 multibyteness of the source (buffer or string).
8255
8256 * fns.c (concat): Handle 8-bit characters correctly.
8257 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8258 unibyte in the result.
8259 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8260 valid multibyte form in the result.
8261 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8262 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8263 return -1, signal an error.
8264 (base64_encode_1): New arg MULTIBYTE. Get each character by
8265 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8266 character is found, return -1.
8267 (Fbase64_decode_region): Delete codes for handling byte-combining.
8268 Treat each decoded byte as a unibyte character.
8269 (Fbase64_decode_string): Return unibyte string.
8270 (Fcompare_strings, concat, string_byte_to_char): Use
8271 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8272 FETCH_STRING_CHAR_ADVANCE.
8273 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8274 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8275
8276 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8277 SPLIT_NON_ASCII_CHAR.
8278 (fontset_ref_via_base, fontset_set): Likewise
8279
8280 * insdel.c (adjust_markers_for_record_delete): Deleted.
8281 (adjust_markers_for_insert): Argument changed. Caller changed.
8282 (adjust_markers_for_replace): Likewise.
8283 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
8284 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
8285 (copy_text): Delete unused local varialbe c_save. For converting
8286 to multibyte, be sure to make all 8-bit characters in valid
8287 multibyte form.
8288 (count_size_as_multibyte): Handle 8-bit characters correctly.
8289 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8290 adjust_after_replace, replace_range, del_range_2)
8291 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
8292 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8293 adjust_after_replace, replace_range, del_range_2) Delete codes for
8294 handling byte combining.
8295 (adjust_before_replace): Deleted.
427ec082 8296
c9671f81
KH
8297 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8298 SPLIT_NON_ASCII_CHAR.
8299 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8300 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
8301 unconditionally.
8302 (Fkey_description): Likewise.
8303
8304 * lread.c (read1): On reading multibyte string, be sure to make
8305 all 8-bit chararacters in valid multibyte form.
8306 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8307
8308 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8309 unconditionally.
8310
8311 * process.c (Fstart_process): GCPRO current_dir before calling
8312 Ffind_operation_coding_system. Encode arguments here.
8313 (create_process): Don't encode arguments here. Setup
8314 src_multibyte and dst_multibyte members of struct coding.
8315 (read_process_output): Setup src_multibyte and dst_multibyte
8316 members of struct coding. If the output is to multibyte buffer,
8317 always decode the output of the process. Adjust the
8318 representation of 8-bit characters to the multibyteness of the
8319 output.
8320 (send_process): Setup coding->src_multibyte according to the
8321 multibyteness of the source.
8322
8323 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
8324 unconditionally.
8325 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8326 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8327
8328 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
8329 CHAR_LEN.
8330
8331 * w16select.c (Fw16_set_clipboard_data): Setup members
8332 src_multibyte and dst_multibyte of coding. Adjusted for the
8333 change for find_charset_in_str.
8334 (Fw16_get_clipboard_data): Likewise.
8335
8336 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8337 dst_multibyte of coding.
8338 (x_to_w32_font): Likewise.
8339
8340 * w32select.c (Fw32_set_clipboard_data): Setup members
8341 src_multibyte and dst_multibyte of coding. Adjusted for the
8342 change for find_charset_in_str.
8343 (Fw32_get_clipboard_data): Likewise.
8344
8345 * xdisp.c (get_next_display_element): Handle 8-bit characters
8346 correctly.
8347 (next_element_from_display_vector): Use CHAR_BYTES instead of
8348 CHAR_LEN.
8349 (disp_char_vector): Use SPLIT_CHAR instead of
8350 SPLIT_NON_ASCII_CHAR.
8351
8352 * xselect.c (selection_data_to_lisp_data): Setup members
8353 src_multibyte and dst_multibyte of coding. Adjusted for the
8354 change for find_charset_in_str.
8355 (lisp_data_to_selection_data): Likewise.
8356
5f64c9e0
GM
83572000-05-19 Gerd Moellmann <gerd@gnu.org>
8358
2b63d473
GM
8359 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
8360 buffer.
8361
5f64c9e0
GM
8362 * dispextern.h (Vimage_types): Add extern declaration.
8363
8364 * xdisp.c (Vimage_types): Moved here from xfns.c.
8365 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8366
8367 * xfns.c (Vimages_types): Moved to xdisp.c.
8368 (syms_of_xfns): Move `image-types' to xdisp.c.
8369
8370 * w32fns.c (Vimage_types): Removed.
8371 (syms_of_w32fns): Remove `image-types'.
8372
813086ea
KH
83732000-05-18 Kenichi Handa <handa@etl.go.jp>
8374
8375 * fns.c (map_char_table): Pay attention to character number of
8376 charset. Check the validity of charset at the first level. For
8377 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8378 the default value.
8379
8380 * fontset.c: Include "buffer.h".
8381 (fs_load_font): If the face has fontset, record the face ID in
8382 that fontset.
8383 (Finternal_char_font): New function.
8384 (accumulate_font_info): New function.
8385 (Ffontset_info): Rewritten for the new fontset implementation.
8386 (syms_of_fontset): Register Vdefault_fontset in the first element
8387 of Vfontset_table. Include Vdefault_fontset in
8388 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8389 function.
8390
bdaebbf0
DL
83912000-05-16 Dave Love <fx@gnu.org>
8392
8393 * m/iris5d.h: Deleted -- unused.
8394
cb613bb8
GM
83952000-05-16 Gerd Moellmann <gerd@gnu.org>
8396
b15f3b77
GM
8397 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8398 `invalid' instead of `illegal'.
8399
8400 * indent.c (Fmove_to_column): When ending within a tab, insert
8401 spaces first so that markers at the end of the tab get adjusted.
8402
835c1b36
GM
8403 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8404 buffer list that wasn't selected in that frame.
8405
cb613bb8
GM
8406 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8407 is needed on mescaline, use a 2 char prefix, and call
8408 make_temp_name with second arg non-zero.
8409
8410 * fileio.c (make_temp_name): New function, extracted from
8411 Fmake_temp_name.
8412 (Fmake_temp_name): Use it.
8413
f685bea9
EZ
84142000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8415
8416 * window.c (coordinates_in_window): Subtract 1 when computing
8417 right_x.
8418
a1b8d58b
GM
84192000-05-15 Gerd Moellmann <gerd@gnu.org>
8420
8421 * Makefile.in (lisp): Add env.elc.
8422
8423 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8424
a265079f
GM
84252000-05-12 Gerd Moellmann <gerd@gnu.org>
8426
8427 * search.c (Freplace_match): Handle case of `\N' in the
8428 replacement when there's no group N.
8429
da4496b6
GM
84302000-05-11 Gerd Moellmann <gerd@gnu.org>
8431
0ace421a
GM
8432 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8433 of the message to message_dolog.
8434
1172eb8d
GM
8435 * keyboard.c (read_char): Don't clear current message for help
8436 events; let the code handling help events handle this. Change
8437 code detecting help events that should be ignored.
8438
da4496b6
GM
8439 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8440 we're interating over a string.
8441
0623e40f
DL
84422000-05-09 Dave Love <fx@gnu.org>
8443
8444 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8445 that offset before writing. Move gcpro region past call of
8446 Ffile_regular_p.
8447
bae2503b
DL
84482000-05-04 Dave Love <fx@gnu.org>
8449
8450 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8451
ec82fb2f
GM
84522000-05-04 Gerd Moellmann <gerd@gnu.org>
8453
8454 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8455 of inserted characters when BUF equals the current buffer, and PT
8456 is in front of or equal to FROM.
8457
cbf18892
GM
84582000-05-03 Gerd Moellmann <gerd@gnu.org>
8459
4ff40dd0
GM
8460 * xdisp.c (handle_single_display_prop): If display property value
8461 is invalid, or something not supported on the frame, restore
8462 iterator's position to what it was initially. Make sure to return
8463 0 for invalid and unsupported property values.
8464
cbf18892
GM
8465 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8466 that x_per_char_metric returns null.
8467
1b0672c3
GM
84682000-05-02 Gerd Moellmann <gerd@gnu.org>
8469
576da55d
GM
8470 * xterm.h (struct face): Add forward declaration.
8471 (struct image): Ditto.
8472 (image_ascent): Add prototype.
8473
8474 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8475 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8476 image_ascent instead of using IMAGE_ASCENT.
8477
8478 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8479 (IMAGE_ASCENT): Removed.
8480
8481 * xfns.c (Qcenter): New variable.
8482 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8483 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8484 (image_ascent): New function.
8485 (lookup_image): Recognize `:ascent center'.
8486 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8487 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8488 (xbm_load): Don't set image's ascent here.
8489 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8490 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8491 check ascent values here.
8492 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8493 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8494 (syms_of_xfns): Initialize Qcenter.
8495
1b0672c3
GM
8496 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8497 to the limits, increase the limits.
8498
0d7811ed
KH
84992000-05-01 Kenichi Handa <handa@etl.go.jp>
8500
8501 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
8502 Check Vfont_encoding_alist against the full name of the opened
8503 font.
8504
a943a5ca
GM
85052000-04-28 Gerd Moellmann <gerd@gnu.org>
8506
8507 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8508 taller than the window.
8509
5dba1e29
KH
85102000-04-28 Kenichi Handa <handa@etl.go.jp>
8511
8512 * xfaces.c (realize_x_face): Fix the argument of the second
8513 xassert. BASE_FACE may not be a face for ASCII.
8514
353964e3
GM
85152000-04-27 Gerd Moellmann <gerd@gnu.org>
8516
c76e04a8
GM
8517 * print.c (print_object): Treat print-length < 0 as nil.
8518
8519 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8520
8521 * s/freebsd.h (TERMCAP_OBJ): Removed.
8522 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8523
8524 * lread.c (read1): Don't treat period followed by certain
8525 characters as symbol start.
8526
8527 * xfns.c (slurp_file): New function.
8528 (xbm_image_p): Handle case of in-memory XBM files.
8529 (xbm_scan): Rewritten to work on memory buffers instead of files.
8530 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8531 Work on memory buffers instead of files. If DATA is null test
8532 if buffer looks like an in-memory XBM file.
8533 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8534 memory buffers instead of files.
8535 (xbm_file_p): New function.
8536 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8537
353964e3
GM
8538 * lread.c (end_of_file_error): New function.
8539 (read1): Call it instead of signaling `end-of-file' directly.
8540
427ec082 8541 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8542 with Fprinc instead of Fprin1.
8543
24d744ac
KR
85442000-04-26 Ken Raeburn <raeburn@gnu.org>
8545
8546 * window.c (freeze_window_start): Check that minibuffer scroll
8547 window isn't nil before extracting the window structure pointer
8548 from it.
8549
8550 * undo.c (record_delete): If we hit the end of the undo list, stop
8551 picking elements apart.
8552
7464346d
GM
85532000-04-26 Gerd Moellmann <gerd@gnu.org>
8554
8555 * xdisp.c (display_line): If lines are continued, restore
8556 iterator's ascent/descent information to the values before the
8557 first glyph not fitting on the line.
8558
612839b6
GM
85592000-04-25 Gerd Moellmann <gerd@gnu.org>
8560
8561 * xdisp.c (try_window_id) <all changes above window start>: Adjust
8562 positions in glyph matrix. Don't compute new window end
8563 positions.
8564
8565 * dispnew.c (increment_matrix_positions): Renamed from
8566 increment_glyph_matrix_buffer_positions.
8567 (increment_row_positions): Renamed from
8568 increment_glyph_row_buffer_positions.
8569
8570 * dispextern.h: Change names of renamed functions from dispnew.c
8571 in prototypes.
8572
cc181e95
GM
85732000-04-24 Gerd Moellmann <gerd@gnu.org>
8574
abfcc168
GM
8575 * fileio.c (Fdo_auto_save): Create directories for auto-save
8576 list file if necessary.
8577
cc181e95
GM
8578 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8579 from buffer or frame.
8580 (automatic_hscrolling_p): New variable.
8581 (hscroll_windows): Scroll windows horizontally only if automatic
8582 hscrolling is allowed.
8583 (syms_of_xdisp): New variable `automatic-hscrolling'.
8584
8585 * frame.h (struct frame): Add member extra_line_spacing.
8586
8587 * xfns.c (x_set_line_spacing): New function.
8588 (Fx_create_frame): Set line spacing from resources.
8589 (Qline_spacing): New variable.
8590 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8591
cc181e95
GM
8592 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8593
8594 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8595 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8596 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8597 extra_line_spacing from default value.
8598 (init_buffer_once): Initialize default value of extra_line_spacing.
8599
8600 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8601 and extra3.
8602
8603 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8604 prompt_width. Add extra line spacing.
8605
8606 * term.c (produce_glyphs): Remove reference to struct it's
8607 prompt_width.
8608
8609 * dispextern.h (struct it): Remove member prompt_width, add
8610 extra_line_spacing.
8611
58827478
GM
86122000-04-22 Gerd Moellmann <gerd@gnu.org>
8613
8614 * dispnew.c (update_frame_line): When writing a whole line, make
8615 sure cursor is in the right row afterwards, otherwise a use of
8616 capability `ch' in cmgoto might leave the cursor in the row below.
8617
25a87f42
GM
86182000-04-21 Gerd Moellmann <gerd@gnu.org>
8619
8620 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8621
8622 * keyboard.c (timer_check): Fix typo in comment.
8623
54edf5c2
KH
86242000-04-21 Kenichi Handa <handa@etl.go.jp>
8625
8626 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8627 name change: ch -> character.
8628
3a64eef5
GM
86292000-04-20 Gerd Moellmann <gerd@gnu.org>
8630
8631 * keyboard.c (echo_message_buffer): New variable.
8632 (echo_now): Set echo_message_buffer to the echo area buffer used
8633 to display the echo.
8634 (cancel_echoing): Reset echo_message_buffer to nil.
8635 (read_char): Code rewritten that handles canceling an echo or
8636 echoing a dash, respectively.
8637
8638 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8639 directory doesn't exist.
8640
6142fdcb
DL
86412000-04-19 Dave Love <fx@gnu.org>
8642
8643 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8644 (concat): Don't allow numeric args.
8645 (Fconcat): Doc change.
6142fdcb 8646
ac6b5352
SM
86472000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8648
8649 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8650 instead define end_match(1|2) more carefully.
8651 Use GET_CHAR_BEFORE_2 for `begline'.
8652
cb9215e4
GM
86532000-04-19 Gerd Moellmann <gerd@gnu.org>
8654
5e3dac3f
GM
8655 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8656 on 64-bit systems where NULL is defined as `0'.
8657
8658 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8659 the `variable argument list' to make it work on Alpha.
8660
cb9215e4
GM
8661 * m/alpha.h (_LP64) [!_LP64]: Define.
8662 (ORDINARY_LINK): Define for NetBSD.
8663
8664 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8665
f532dca0
DL
86662000-04-19 Dave Love <fx@gnu.org>
8667
c750667e
DL
8668 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8669 change.
8670
8671 * Makefile.in (LIBS): Don't use.
8672 (GETLOADAVG_OBJ): Define again.
8673 (otherobj): Add GETLOADAVG_OBJ.
8674
f532dca0
DL
8675 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8676
1c7e22fd
GM
86772000-04-18 Gerd Moellmann <gerd@gnu.org>
8678
f6d3257b
GM
8679 * lread.c (read_filtered_event): Cancel and start busy cursor.
8680
427ec082 8681 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8682 that the per-character metrics may be null.
8683
e10f64e7
GM
86842000-04-17 Gerd Moellmann <gerd@gnu.org>
8685
0daee095
GM
8686 * buffer.c (clone_per_buffer_values): New function.
8687 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8688 clone_per_buffer_values if CLONE is not nil.
8689
e10f64e7
GM
8690 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8691
38687d43
DL
86922000-04-16 Dave Love <fx@gnu.org>
8693
8694 * Makefile.in: Remove obsolete localcpp stuff.
8695 (GETLOADAVG_OBJ): Don't define.
8696 (obj): Move LIBOBJS...
8697 (otherobj): ... to here.
8698 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8699 whitespace-only lines after the continuation (Irix).
8700
c21c7262
GM
87012000-04-14 Gerd Moellmann <gerd@gnu.org>
8702
8703 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8704
8705 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8706
314767c0
DL
87072000-04-14 Dave Love <fx@gnu.org>
8708
8709 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8710 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8711 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8712 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8713 NLIST_STRUCT.
8714
8715 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8716 autoconfiscated HAVE_GETLOADAVG.
8717
8718 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8719 BROKEN_MKTIME.
8720
a2522dca
GM
87212000-04-14 Gerd Moellmann <gerd@gnu.org>
8722
8723 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
8724 (fill_in_lock_file_name): Avoid existing files that aren't
8725 links.
8726
33744b5d
DL
87272000-04-14 Dave Love <fx@gnu.org>
8728
c21c7262 8729 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8730 (INTERVAL_SRC): Convert to make variable.
8731 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8732 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8733 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8734 add LIBOBJS.
8735 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8736 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8737 (shortlisp): Add facemenu, float-sup, frame.
8738 (SOME_MACHINE_LISP): Remove them from here.
8739 (LIBES): Change unused LDLIBS to autoconf LIBS.
8740
8741 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8742
9d3d5916
KH
87432000-04-14 Kenichi Handa <handa@etl.go.jp>
8744
8745 * composite.c (update_compositions): If FROM and TO are not in a
8746 valid range, do nothing.
8747
198e3c7a
GM
87482000-04-13 Gerd Moellmann <gerd@gnu.org>
8749
8750 * tparam.c (tparam1): Abort when encountering an unknown
8751 `%'-specifier.
8752
8753 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
8754 terminfo.o.
8755
8756 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8757 as TERMCAP_OBJ.
8758
055a28c9
EZ
87592000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8760
8761 * fileio.c (a_write): Remove redundant semi-colons.
8762 (e_write): Return -1 if failed to write all the data.
8763 This fixes the changes made at 1999-12-15.
8764
f5c75033
DL
87652000-04-12 Dave Love <fx@gnu.org>
8766
8767 * fns.c (mapcar1): Test for null vals to support mapc.
8768 (Fmapc): New function.
8769
0c3cfc51
EZ
87702000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8771
8772 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8773 (IT_frame_up_to_date): Support the buffer local value of
8774 cursor-type, if defined.
8775
33465a31
DL
87762000-04-10 Dave Love <fx@gnu.org>
8777
8778 * editfns.c (preceding-char, following-char): Doc fix.
8779
6ed56568
KR
87802000-04-10 Ken Raeburn <raeburn@gnu.org>
8781
8782 * Makefile.in (temacs): Revert 2000-03-12 change.
8783
7cf80d4e
JR
87842000-04-10 Jason Rumney <jasonr@gnu.org>
8785
8786 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8787
34f3f342
GM
87882000-04-10 Gerd Moellmann <gerd@gnu.org>
8789
1a1b1895
GM
8790 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8791 area buffer, if it's not set up yet.
8792
34f3f342
GM
8793 * indent.c (compute_motion): Set immediate_quit.
8794
be0dbdab
GM
87952000-04-09 Gerd Moellmann <gerd@gnu.org>
8796
c45be9ac
GM
8797 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
8798 variable.
8799 (realize_tty_face): Suppress boldness if colors are the inverse of
8800 the default colors, and tty_suppress_bold_inverse_default_colors_p
8801 is set.
8802 (Ftty_suppress_bold_inverse_default_colors): New function.
8803 (syms_of_xfaces): Defsubr it.
8804
be0dbdab
GM
8805 * buffer.c (Frestore_buffer_modified_p): New function.
8806 (syms_of_buffer): Defsubr it.
8807
e8413c3b
KR
88082000-04-08 Ken Raeburn <raeburn@gnu.org>
8809
87f67317
KR
8810 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8811 charset id (int) argument, not a charset (Lisp_Object).
8812
e8413c3b
KR
8813 * coding.h (code_convert_string): Declare.
8814 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8815 object, as the fourth argument to code_convert_string.
8816
8817 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
8818 value.
8819 (Fset_fontset_font): Use EQ to compare lisp objects.
8820
7c752c80
KR
88212000-04-05 Ken Raeburn <raeburn@gnu.org>
8822
c0333abc
KR
8823 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8824 a pointer that looks like a lisp object.
8825 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8826 zero, instead see whether it's an integer object, since they can't
8827 have intervals.
8828 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8829
7c752c80
KR
8830 * dispnew.c (allocate_matrices_for_frame_redisplay,
8831 direct_output_forward_char): Use X(U)INT and make_number as needed
8832 to convert between (unsigned) int values and lisp integers.
8833 * keyboard.c (read_key_sequence): Likewise.
8834 * lread.c (substitute_object_recurse): Likewise.
8835 * fns.c (concat, hash_lookup, hash_remove): Likewise.
8836 * minibuf.c (do_completion, Fminibuffer_complete_word,
8837 Fminibuffer_completion_help): Likewise.
8838 * term.c (produce_special_glyphs): Likewise.
8839
8840 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8841 * print.c (print_preprocess, print_object): Likewise.
8842
8843 * search.c (compile_pattern): Use NILP when checking for nil.
8844
74e49b38
KR
8845 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8846 __OPTIMIZE__]: Provide a GNU C macro version that handles
8847 lisp-object unions.
8848 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8849 field, to better cope with ENABLE_CHECKING and calls that modify a
8850 Lisp_Object using its old value.
8851
685e5ed2
GM
88522000-04-04 Gerd Moellmann <gerd@gnu.org>
8853
c407c570
GM
8854 * window.c (compare_window_configurations): Signal an error
8855 if parameters C1 or C2 aren't window configurations.
8856
685e5ed2
GM
8857 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8858 AFTER_POTENTIAL_GC calls around calls to functions that can
8859 signal an error and thus invoke the debugger.
8860
587a49ab
GM
88612000-04-03 Gerd Moellmann <gerd@gnu.org>
8862
62f20204
GM
8863 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8864 an error if decoding fails.
8865
587a49ab
GM
8866 * keyboard.c (lispy_mouse_names): Variable removed.
8867 (Vlispy_mouse_stem): New variable.
8868 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8869 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8870 for any mouse button number. Increase size of mouse_syms and
8871 button_down_location as needed. Call modify_event_symbol with
8872 different arguments.
8873 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8874 Call modify_event_symbol with different arguments.
8875 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8876 for any button number. Call modify_event_symbol with different
8877 arguments.
8878 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8879 Accept a string for NAME_ALIST_OR_STEM.
8880
8881 * lisp.h (larger_vector): Add prototype.
8882
8883 * fns.c (larger_vector): Make externally visible.
8884
8885 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8886
2d1675e4
SM
88872000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8888
8889 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8890 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8891 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8892 we are between str1 and str2.
8893 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8894 (PATFETCH): Use `TRANSLATE'.
8895 (PATFETCH_RAW): Fetch multibyte char if applicable.
8896 (PATUNFETCH): Remove.
8897 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8898 When writing a char, write it directly into the pattern buffer rather
8899 than going needlessly through a temp char-array.
8900 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8901 multibyte magic and remove the useless `#ifdef emacs'.
8902 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8903 buffer.
8904
8905 * regex.h (struct re_pattern_buffer): Make field `multibyte'
8906 conditional on `emacs'.
8907
8908 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
8909
cc2d8c6b
KR
89102000-04-01 Ken Raeburn <raeburn@gnu.org>
8911
8912 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
8913 non-union-type versions of XMARK and friends here, because XMARK
8914 and friends won't work on an integer field if NO_UNION_TYPE is not
8915 defined.
8916 (make_number): Define as a function if it's not defined as a
8917 macro.
8918
09654086
KR
8919 * composite.c (run_composite_function): Use NILP when checking for
8920 nil.
8921 (syms_of_composite): Delete local var NARGS, pass an int as first
8922 argument to Fmake_hash_table.
8923
2387b382
KR
8924 * editfns.c (text_property_stickiness): Use NILP to test
8925 Lisp_Object boolean value.
8926 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
8927 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
8928 problems reading from and changing the same lisp value in an
8929 XSETSTRING call.
8930
27660e89
GM
89312000-04-01 Gerd Moellmann <gerd@gnu.org>
8932
8933 * term.c (TN_no_color_video): New variable.
8934 (term_init): Intitialize TN_no_color_video.
8935 (enum no_color_bit): New enumeration.
8936 (MAY_USE_WITH_COLORS_P): New macro.
8937 (turn_on_face): Use it to determine if attributes may be used
8938 combined with colors.
8939
3578db3c
KR
89402000-04-01 Ken Raeburn <raeburn@gnu.org>
8941
8942 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
8943 with int lvalues via casts; instead, just yield lisp object
8944 lvalues.
8945 (enlarge_window): Variable sizep now points to Lisp_Object. Use
8946 proper accessor macros.
8947 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
8948 (grow_mini_window): Fix typo getting int value of root->height.
8949
6fc556fd
KR
8950 * xdisp.c (compute_string_pos): Fix order of arguments to
8951 string_pos_nchars_ahead.
8952 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
8953 count arg to variable-arg routines like Frun_hook_with_args and
8954 Fformat.
587a49ab
GM
8955 (back_to_previous_visible_line_start)
8956 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
8957 fixed-arg routines like Fget_char_property and Fmake_string.
8958 (reconsider_clip_changes): Use XINT when comparing integer lisp
8959 objects, or passing them as int arguments.
587a49ab
GM
8960 (mark_window_display_accurate, insert_left_trunc_glyphs)
8961 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
8962 storing or passing integer values as lisp objects.
8963 (set_cursor_from_row, highlight_trailing_whitespace): Use
8964 INTEGERP, not implicit test against zero, for glyph object.
8965 (try_window_id): Don't use make_number when we want an int value.
8966
8967 * xfaces.c (xlfd_symbolic_value): Make last argument a
8968 Lisp_Object, to be consistent with callers.
8969 (Fbitmap_spec_p): Use XINT to get numeric value of height.
8970 (lface_hash): Apply XFASTINT to lisp values before folding in.
8971
8972 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
8973 fill in window width and height. Pass an int, not a lisp object,
8974 as first arg to Finsert.
8975
6e7b2457
GM
89762000-04-01 Gerd Moellmann <gerd@gnu.org>
8977
610d841e
GM
8978 * xfaces.c (realize_basic_faces): Block input while realizing
8979 the faces.
8980
6e7b2457
GM
8981 * keyboard.c (lispy_mouse_names): Add additional mouse names.
8982
8983 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
8984
aa110c0c
GM
89852000-03-31 Gerd Moellmann <gerd@gnu.org>
8986
8987 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 8988 or ASCII, handle case that per-char metric is null.
aa110c0c 8989
8801a864
KR
89902000-03-30 Ken Raeburn <raeburn@gnu.org>
8991
c6129d7e
KR
8992 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
8993
8801a864
KR
8994 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
8995 XSUBR, XBUFFER): Verify correct object type before returning
8996 pointer, using eassert.
8997 * frame.h (XFRAME): Likewise.
8998
8999 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
9000 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9001 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
9002 type.
9003 * data.c (set_internal): Likewise.
9004 * dispextern.h (WINDOW_WANTS_MODELINE_P,
9005 WINDOW_WANTS_HEADER_LINE_P): Likewise.
9006 * fileio.c (auto_save_1): Likewise.
9007 * insdel.c (check_markers): Likewise.
9008 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9009 * undo.c (record_insert): Likewise.
9010 * vmsproc.c (child_sig): Likewise.
9011 * window.c (unshow_buffer, window_loop): Likewise.
9012 * xterm.c (x_erase_phys_cursor): Likewise.
9013
8e7af858
GM
90142000-03-30 Gerd Moellmann <gerd@gnu.org>
9015
9016 * xfns.c (free_image_cache): Free the cache structure itself
9017 last, after all its members have been freed.
9018
9019 * lisp.h (xstrdup): Add prototype.
9020
9021 * alloc.c (xstrdup): Moved here from xfaces.c.
9022 (allocating_for_lisp): Variable removed.
9023 (lisp_malloc): Block input around the calls to malloc and
9024 mem_insert.
9025
9026 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9027 of Fsymbol_value.
9028 (xstrdup): Moved to alloc.c.
9029
e0b8c689
KR
90302000-03-29 Ken Raeburn <raeburn@gnu.org>
9031
b96f9fb7
KR
9032 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9033
9034 * emacs.c (main): Fix sense of no-loadup test.
9035
e0b8c689
KR
9036 * config.in (ENABLE_CHECKING): Undef.
9037
9038 * lisp.h (struct interval): Replace "parent" field with a union of
9039 interval pointer and Lisp_Object; add new bitfield to use as
9040 discriminant. Change other flag fields to bitfields.
9041 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
9042 is defined and the supplied test fails, print a message and
9043 abort.
9044 (eassert): New macro. Use CHECK to provide an assert-like
9045 facility.
9046
9047 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9048 pointers; abort if the value looks like a lisp object.
9049 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
9050 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
9051 Modify for new interval parent definition.
9052
9053 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
9054 UNMARK_BALANCE_INTERVALS): Update references that need an
9055 addressable lisp object in the interval structure.
9056 (die): New function.
9057 (suppress_checking): New variable.
9058
9059 * intervals.c (interval_start_pos): Just return 0 if there's no
9060 parent object.
9061
f83c5440
GM
90622000-03-29 Gerd Moellmann <gerd@gnu.org>
9063
9064 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9065 and earlier Emacs versions.
9066
9067 * keyboard.c (Ftop_level): Cancel busy-cursor.
9068
9069 * eval.c (call_debugger): Cancel busy-cursor.
9070
fdce64ff
KH
90712000-03-29 Kenichi Handa <handa@etl.go.jp>
9072
9073 * search.c (Freplace_match): Adjust multibyteness of the current
9074 buffer and NEWTEXT. Free allocated memory before signaling an
9075 error.
9076
f6a3f532
SM
90772000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9078
9079 * regex.c (analyse_first): New function obtained by ripping out most
9080 of re_compile_fastmap and generalizing it a little bit so that it
9081 can also just return whether a given (sub)pattern can match the empty
9082 string or not.
9083 (regex_compile): Use `analyse_first' to decide whether the loop-check
9084 needs to be done or not for *, +, *? and +? (the loop check is costly
9085 for non-greedy repetition).
9086 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9087
e9b309ac
DL
90882000-03-28 Dave Love <fx@gnu.org>
9089
bb15bd9a
DL
9090 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
9091 alpha.
9092
e9b309ac
DL
9093 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9094
ed0767d8
SM
90952000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9096
9097 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9098 an expression.
9099 (enum re_opcode_t): Update description of succeed_n.
9100 (PATFETCH): Always define.
9101 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9102 operators, char classes, shy-groups and intervals).
9103 Optimize special cases of intervals so as to only use succeed_n and
9104 jump_n when really needed.
9105 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9106 that we don't have to handle the special cases any more.
9107 Simplify on_failure_jump handling as well.
9108
e11e7e46
JR
91092000-03-28 Jason Rumney <jasonr@gnu.org>
9110
9111 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9112
88faab89
GM
91132000-03-27 Gerd Moellmann <gerd@gnu.org>
9114
182ff242
GM
9115 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9116
9117 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9118
182ff242
GM
9119 * alloc.c (mark_maybe_object): New function.
9120 (mark_memory): Use it.
9121 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9122 (setjmp_tested_p, longjmp_done): New variables.
9123 (test_setjmp): New function.
9124 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9125 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9126
c1005d06
GM
9127 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9128 to DEC_TEXT_POS and INC_TEXT_POS.
9129
9130 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9131 with parameter MULTIBYTE_P.
9132
427ec082 9133 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
9134 MULTIBYTE_P.
9135
7439e5b9 9136 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9137 buffers because it looks for multibyte character byte sequences
9138 which don't exist in unibyte text.
7439e5b9 9139
d9c545da
GM
9140 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9141
11fd416e 9142 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9143 [DEBUG_X_COLORS]: New functions.
9144 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9145
9146 * xfns.c (x_set_cursor_color): Get color reference counts right.
9147
9148 * xterm.c (x_copy_color): New function.
9149 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9150
9151 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9152 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9153 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9154 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9155 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9156 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9157 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9158 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9159 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9160 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9161
11fd416e
GM
9162 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9163 names for handling per-buffer variables.
d9c545da
GM
9164
9165 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9166 instead of MAX_BUFFER_LOCAL_VARS.
9167 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9168
9169 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9170
88faab89
GM
9171 * xfns.c (x_specified_cursor_type): New function.
9172 (x_set_cursor_type): Use it.
9173
9174 * buffer.h (struct buffer): Add cursor_type.
9175
d80f42b7
SM
91762000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9177
9178 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 9179 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 9180 opcode.
d80f42b7
SM
9181 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9182 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9183 executing it as well as when popping it off the stack to find infinite
9184 loops in non-greedy repetition operators.
9185
89e80928
GM
91862000-03-26 Gerd Moellmann <gerd@gnu.org>
9187
3d4ff2dd
GM
9188 * doc.c (Qfunction_documentation): New variable.
9189 (syms_of_doc): Initialize Qfunction_documentation.
9190 (Fdocumentation): If FUNCTION is a symbol with non-nil
9191 `function-documentation' property, return a documentation derived
9192 from that.
9193
bd96bd79
GM
9194 * buffer.c (syms_of_buffer): Add default-cursor-type.
9195 (init_buffer_once): Don't let cursor_type have a local value
9196 in every buffer.
9197
19d1bc27
GM
9198 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9199 on buffer-local value of cursor_type.
9200 (x_draw_bar_cursor): Add parameter WIDTH.
9201
9202 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9203 (init_buffer_once): Set default cursor_type value to t.
9204 Mark cursor_type as local everywhere.
9205 (syms_of_buffer): New per-buffer variable cursor-type.
9206
89e80928
GM
9207 * buffer.h (struct buffer): Remove member local_var_flags,
9208 add local_flags.
9209 (MAX_BUFFER_LOCAL_VARS): New macro.
9210 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9211 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9212 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9213 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9214
9215 * print.c (print_object): Use new macros for per-buffer
9216 variables.
9217
9218 * category.c (Fset_category_table): Use new macros for per-buffer
9219 variables.
9220
9221 * buffer.c (buffer_permanent_local_flags): Make a char array.
9222 (max_buffer_local_idx): New variable.
9223 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9224 for new handling of per-buffer variables.
9225 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9226 (init_buffer_once): Initialize per-buffer vars differently.
9227 Set max_buffer_local_idx.
9228
9229 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9230 variables.
9231
9232 * lread.c (defvar_per_buffer): Use new macros for per-buffer
9233 variables.
9234
9235 * data.c (do_symval_forwarding, store_symval_forwarding)
9236 (find_symbol_value, set_internal, default_value, Fset_default)
9237 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9238 per-buffer variables.
9239
9240 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9241
9a0dd3dc
GM
92422000-03-24 Gerd Moellmann <gerd@gnu.org>
9243
b68c375f
GM
9244 * xterm.c (x_term_init): Unblock input around call1 of
9245 Qvendor_specific_keysyms.
9246
9a0dd3dc
GM
9247 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9248 (find_defun_start): Consider an open parenthesis in column 0
9249 a defun start only if open_paren_in_column_0_is_defun_start is set.
9250 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9251
7973e637
SM
92522000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9253
9254 * eval.c (Fautoload): Add entry in load-history (if after dump).
9255 * lread.c (load-history): Update docstring.
9256
39210e90
GM
92572000-03-24 Gerd Moellmann <gerd@gnu.org>
9258
9259 * indent.c (Fvertical_motion): Always use the current buffer.
9260 Temporarily change the window's buffer, if necessary.
9261
72db3ab5
GM
92622000-03-23 Gerd Moellmann <gerd@gnu.org>
9263
9264 * xterm.c (fast_find_position): Make sure not to consider rows
9265 not visible in the window.
9266
990b2375
SM
92672000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9268
9269 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9270 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9271
ff4df011
JR
92722000-03-22 Jason Rumney <jasonr@gnu.org>
9273
9274 * w32menu.c (single_submenu): Set help string to NULL if none.
9275 (w32_menu_show): Set help string correctly.
9276 (add-menu-item): Set help string in MIIM_DATA for menu item.
9277 Load SetMenuItemInfoA explicitly.
9278 (w32_menu_display_help): New function.
427ec082 9279
ff4df011
JR
9280 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9281 (QCdata): Moved to xdisp.c.
9282
9283 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9284 (Vw32_charset_to_codepage_alist): Removed.
9285 (Vw32_charset_info_alist): New variable.
9286 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
9287 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
9288 greek, hebrew, thai, johab, mac, unicode]): New symbols.
9289 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9290 with TODO comment.
9291 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9292 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9293 Define Vw32_charset_info_alist and w32_charset symbols.
9294
92952000-03-22 Jason Rumney <jasonr@gnu.org>
9296
9297 * makefile.nt (w32bdf.obj): Update dependencies.
9298
9299 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9300
9301 * w32fns.c: Include fontset.h after dispextern.h.
9302 (Fx_create_frame): Do not create fontset.
9303 (w32_load_system_font): Doc fix.
9304 (Fx_close_connection): Free full_name if it is not shared.
9305
9306 * w32term.c: Include fontset.h after dispextern.h.
9307 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
9308 updated.
9309 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9310 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9311 (w32_font_is_double_byte): New function, needs body.
9312 (x_append_glyph): Set glyph->glyph_not_available_p.
9313 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9314 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9315 character, convert it to a unibyte character.
9316 (struct glyph_string): Delete member `charset'.
9317 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9318 calculating it is found.
9319 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9320 the case that per char metric is not available correctly.
9321 (x_fill_glyph_string): Handle the case that the specific glyph is
9322 not available correctly.
9323 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9324 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9325 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9326 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9327 fontset. Don't call FS_LOAD_FONT.
9328
439d5cb4
KR
93292000-03-22 Ken Raeburn <raeburn@gnu.org>
9330
9331 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9332 (INT_LISPLIKE): New macro.
9333 (NULL_INTERVAL_P): Use it.
9334 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
9335 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
9336 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
9337
9338 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9339 explicit references to "parent" field of struct interval and
9340 associated unclean type conversions.
9341 * intervals.c (create_root_interval, root_interval, rotate_right,
9342 rotate_left, balance_possible_root_interval, split_interval_right,
9343 split_interval_left, interval_start_pos, find_interval,
9344 next_interval, previous_interval, update_interval,
9345 adjust_intervals_for_insertion, delete_node, delete_interval,
9346 adjust_intervals_for_deletion, merge_interval_right,
9347 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
9348 copy_intervals_to_string): Likewise.
9349 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9350 Likewise.
9351 * syntax.c (update_syntax_table): Likewise.
9352
9353 * intervals.c (reproduce_tree_obj): New function, like
9354 reproduce_tree but takes a Lisp_Object for the parent. Declare
9355 with prototype.
9356 (graft_intervals_into_buffer): Use it when appropriate.
9357 (reproduce_tree): Declare with prototype.
9358 (balance_possible_root_interval): Check that the parent is a lisp
9359 object before trying to examine its type.
9360
ee1c5b21
GM
93612000-03-22 Gerd Moellmann <gerd@gnu.org>
9362
9363 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9364 as strings only if both are known to be strings.
9365
9366 * s/openbsd.h (LIBS_TERMCAP): Undef.
9367
1fb352e0
SM
93682000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9369
9370 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9371 definitions for non-Emacs compilation.
9372 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9373 outside of `#ifdef emacs'.
9374 (print_partial_compiled_pattern): Update.
9375 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9376 (re_compile_fastmap): Merge handling of charset and charset_not (for
9377 emacs and non-emacs compilation as well).
9378 Similarly for (not)categoryspec and (not)syntaxspec.
9379 Don't use the fastmap when reaching `anychar' since the added
9380 complexity is not justified.
9381 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9382 and (not)syntaxspec. Merge (not)categoryspec.
9383
fdaa1f77
KH
93842000-03-22 Kenichi Handa <handa@etl.go.jp>
9385
ff1a0d8e
KH
9386 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
9387 FACE_FOR_CHAR): Define them differently for the configuration of
9388 --without-x.
fdaa1f77 9389
d152fb46
DL
93902000-03-21 Dave Love <fx@gnu.org>
9391
9392 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9393 doc string.
9394
d2cafc8c
GM
93952000-03-21 Gerd Moellmann <gerd@gnu.org>
9396
9397 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9398 (lface_fully_specified_p): Don't check contents of
9399 LFACE_FONT_INDEX because that attribute is optional.
9400 (realize_x_face): Remove now unwarranted xassert.
9401
9111d4b5
KH
94022000-03-21 Kenichi HANDA <handa@etl.go.jp>
9403
9404 The following changes are to make font selection based on
9405 characters, not charset. In addition, they recover fontset
9406 facilities while utilizing the new font selection mechanism.
9407
6c4bfdc0
KH
9408 * Makefile.in (fontset.o): Depend on dispextern.h.
9409
9410 * alloc.c (mark_face_cache): Don't mark face->registry.
9411
9111d4b5
KH
9412 * dispextern.h (struct glyph): New member glyph_not_available_p.
9413 Use 22 bits for face_id.
9414 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9415 (struct face): Delete member registry, new member ascii_face.
9416 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9417 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9418 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
9419 (struct it): Delete member charset, new member
9420 glyph_not_available_p.
9421
9422 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9423 (struct fontset_info, struct fontset_data): Structs removed.
9424 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
9425 Vglobale_fontset_alist, font_idx_temp): Externs removed.
9426 (fs_load_font, fs_query_fontset): Adjusted for new argument.
9427 (fs_free_face_fontset, fontset_font_pattern,
9428 face_suitable_for_char_p, face_for_char,
9429 make_fontset_for_ascii_face): Extern them.
9430 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9431 (FS_LOAD_FACE_FONT): New macro.
9432
9433 * fontset.c: All codes rewritten or adjusted for the change of
9434 fontset implementation. Now fontset is represented by char table.
9435 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
9436 removed.
9437 (my_strcasecmp): Function removed.
9438 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
9439 variables.
9440 (AREF, ASIZE): New macros.
9441 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
9442 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
9443 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9444 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
9445 fontset_id_valid_p, font_family_registry, fontset_name,
9446 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
9447 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9448 New functions.
9449 (fs_load_font): New arg FACE. Caller changed.
9450 (fs_query_fontset): Argument changed. Caller changed.
9451 (Fquery_fontset): call fs_query_fontset.
9452 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9453 Functions removed.
9454 (clear_fontset_elements, check_registry_encoding,
9455 check_fontset_name): New functions.
9456 (syms_of_fontset): Set char-table-extra-slots property of fontset
9457 to 3. Staticpro and initialize Vfontset_table and
9458 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9459
9460 * frame.h (struct frame): Member `fontset_data' removed.
9461 (FRAME_FONTSET_DATA): Macro removed.
9462
9463 * frame.c (make_frame): Don't allocate f->fontset_data.
9464 (Fdelete_frame): Don't free f->fontset_data.
9465
6c4bfdc0
KH
9466 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9467
9111d4b5
KH
9468 * xdisp.c (charset_at_position): Function removed.
9469 (init_iterator): Don't set member charset of struct `it'.
9470 (handle_face_prop, reseat_to_string, set_iterator_to_next,
9471 next_element_from_display_vector, insert_left_trunc_glyphs):
9472 Likewise.
9473 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9474 FACE_FOR_CHARSET.
9475 (get_next_display_element, append_space,
9476 extend_face_to_end_of_line): Likewise.
9477
9478 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9479 Variables removed.
9480 (clear_font_table, frame_update_line_height, load_face_font):
9481 Adjusted for the change of fontset implementation.
9482 (load_face_fontset_font): Function removed.
9483 (pixel_point_size): New function.
9484 (font_list): Argument type changed. Caller changed.
9485 (LFACE_FONT): New macro.
9486 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9487 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9488 Lisp_Object. Determine the font name by actually loading a font
9489 by the specified pattern. Set LFACE_FONT (lface) to the specified
9490 pattern. Even if a font is not found, don't try alternatives.
9491 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9492 (set_font_frame_param): If `font' is specified in lface, use it.
9493 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9494 (lface_same_font_attributes_p): Likewise.
9495 (make_realized_face): Arguent changed. Caller changed. Set
9496 face->ascii_face to face itself.
9497 (free_realized_face): Free face->fontset if face is for ASCII.
9498 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
9499 deduce_unibyte_registry, x_charset_registry): Functions removed.
9500 (free_realized_multibyte_face): New function.
9501 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9502 changed. Caller changed.
9503 (try_font_list): Argument type changed.
9504 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9505 (choose_face_font): Argument changed. Handle fontset properly.
9506 (choose_face_fontset_font): Function removed.
9507 (realize_default_face, realize_named_face): Don't remove the
9508 former face here.
9509 (realize_face): Argument changed. Caller changed. Remove face
9510 with the arg former_face_id in advance. Load font for the new
9511 face.
9512 (realize_x_face): Argument changed. Caller changed. For a
9513 multibyte character, share fontset with base_face. For a single
9514 byte character, make a new realized fontset. Don't load a font
9515 here.
9516 (realize_tty_face): Argument changed. Caller changed.
9517 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9518 (face_at_buffer_position): Don't check multibyte_p for returning
9519 DEFAULT_FACE_ID.
9520 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9521 FACE_SUITABLE_FOR_CHARSET_P.
9522 (syms_of_xfaces): Remove code for Qx_charset_registry and
9523 Vface_default_registry.
9524
6c4bfdc0
KH
9525 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9526 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9527 (x_per_char_metric): Don't try FONT->default_char. Even if
9528 pcm->width is zero, glyph bits may exist.
9529 (x_encode_char): Always initialize char2b->byte1.
9530 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
9531 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
9532 changed.
9533 (x_append_glyph): Set glyph->glyph_not_available_p.
9534 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9535 it->charset. Handle the case that per char metric is not
9536 available. If it->multibyte_p is zero and it->c is a multibyte
9537 character, convert it to a unibyte character.
9538 (struct glyph_string): Delete member `charset'.
9539 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9540 the case that per char metric is not available correctly.
9541 (x_fill_glyph_string): Handle the case that the specific glyph is
9542 not available correctly.
9543 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9544 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9545 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9546 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9547 fontset. Don't call FS_LOAD_FONT.
9548
9549 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9550 (x_create_tip_frame): Likewise.
9551 (Fx_close_connection): Free full_name of font_info.
9552
9553 * fns.c (optimize_sub_char_table): New function.
9554 (Foptimize_char_table): New function.
9555 (syms_of_fns): Defsubr Soptimize_char_table.
9556
b33dd3b0
GM
95572000-03-20 Gerd Moellmann <gerd@gnu.org>
9558
9559 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9560 only if buffer is displayed in some window.
9561
9562 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9563 (try_window_reusing_current_matrix): Don't call scroll run
9564 function if run's current and desired position are the same;
9565 this prevents cursor flickering.
9566
4e8a9132
SM
95672000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9568
9569 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9570
9571 * regex.c (RE_STRING_CHAR): New macro.
9572 (GET_CHAR_AFER_2): Remove.
9573 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9574 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9575 (print_partial_compiled_pattern, re_compile_fastmap)
9576 (re_match_2_internal): Remove on_failure_jump_exclusive.
9577 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9578 optimization only need to work for * (ie. can use of_keep_string_jump).
9579 Remove the special case for .*\n since it is now covered by the general
9580 optimization.
9581 (re_search_2): Don't bother with `room'.
9582 (skip_one_char): New function.
9583 (skip_noops): Simplify since `memory' is not needed any more.
9584 (mutually_exclusive_p): Restructure slightly to use `switch' and
9585 add handling for "all" remaining cases.
9586 (re_match_2_internal): Change on_failure_jump_smart to use
9587 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9588 rather than on_failure_jump_exclusive.
9589
2136fdd4
GM
95902000-03-19 Gerd Moellmann <gerd@gnu.org>
9591
9592 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9593 number of bits per RGB because it's everywhere used as the depth
9594 of the visual.
9595
9596 * term.c (calculate_costs): Remove code dealing with X frames.
9597
18e21ce8 95982000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9599
9600 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9601
d7b511c4
GM
96022000-03-18 Gerd Moellmann <gerd@gnu.org>
9603
9604 * lread.c (read_integer): Unread the last char not consumed.
9605
16b5d424
GM
96062000-03-17 Gerd Moellmann <gerd@gnu.org>
9607
9608 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9609 which are in the process of being deleted.
16b5d424 9610
1fa28578
GM
96112000-03-16 Gerd Moellmann <gerd@gnu.org>
9612
83488cce
GM
9613 * Makefile.in (mostlyclean): Add `*.core'.
9614 (clean): Add `bootstrap-emacs'.
9615
1fa28578
GM
9616 * lread.c (read_integer): New function.
9617 (read1): Support read syntax #o, #x, #b, #r.
9618
99633e97
SM
96192000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9620
1fa28578
GM
9621 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9622 make sure POINTER_TO_OFFSET gives the same value before and after
9623 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9624 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9625 (debug): Now only active if > 0 rather than if != 0.
9626 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9627 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9628 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9629 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9630 (store_op1, store_op2, insert_op1, insert_op2)
9631 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9632 (group_in_compile_stack): Move to after its arg's types are
9633 declared and add a prototype.
99633e97 9634 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
9635 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
9636 wrapper.
99633e97 9637 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9638 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9639 indentation of the greedy-op and shy-group code.
99633e97
SM
9640 (at_(beg|end)line_loc_p): Fix argument's types.
9641 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9642 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9643 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9644 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9645 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9646 QUIT unconditionally.
99633e97 9647
699238d9
GM
96482000-03-15 Gerd Moellmann <gerd@gnu.org>
9649
9650 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9651 a sole completion.
9652
9653 * process.c (send_process): Add a hint that the function
9654 can call Lisp code to its comment.
9655
9656 * lread.c (load_dangerous_libraries): New variable.
9657 (Vbytecomp_version_regexp): New variable.
9658 (safe_to_load_p): New function.
9659 (Fload): Handle files not compiled with Emacs specially.
9660 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9661
34e23e5a
GM
96622000-03-14 Gerd Moellmann <gerd@gnu.org>
9663
9c763cca
GM
9664 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9665
9666 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9667 support functions only if HAVE_X11R6_XIM is defined.
9668 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9669
9670 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9671
9672 * xfns.c (X_I18N_INHIBITED): Don't define.
9673 (create_frame_xic): Remove conditional compilation on
9674 X_I18N_INHIBITED.
9675 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9676
9677 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9678 (HAVE_X11R6_XIM): Define.
9679
9680 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9681
34e23e5a
GM
9682 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9683 If set, call XSynchronize.
9684
66f0296e
SM
96852000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9686
34e23e5a
GM
9687 * regex.c: Declare a new type `re_char' used throughout the code
9688 for the string char type. It's `const unsigned char' to match the
9689 rest of Emacs. Consistently make sure all pointers to strings use
9690 it and make sure all pointers into the pattern use `unsigned
9691 char'.
66f0296e 9692 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9693 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9694 code duplication.
66f0296e
SM
9695
9696 * charset.h (GET_CHAR_AFTER_2): Remove.
9697 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9698
854a025c
KR
96992000-03-12 Ken Raeburn <raeburn@gnu.org>
9700
9701 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9702 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9703 of them try to use backquotes.
9704
b9d2c7e2
DL
97052000-03-12 Dave Love <fx@gnu.org>
9706
9707 * unexelf.c: Restore changes of 1999-10-19.
9708 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9709 fix its type and alignment; copy it from current process.
9710
5e5dff44
GM
97112000-03-12 Gerd Moellmann <gerd@gnu.org>
9712
9b2f3c38
GM
9713 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9714 has been found. Fix bug not computing timer's predecessor.
9715
427ec082 9716 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9717 file name.
9718
e1cff360
GM
9719 * window.c (Fsave_window_excursion): Doc fix.
9720
5e5dff44
GM
9721 * xfns.c (x_defined_color): Rewritten to use
9722 x_allocate_nearest_color.
9723
e411ce4b
EZ
97242000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9725
9726 * msdos.c (vga_installed): New function, code moved from
9727 dos_set_window_size.
9728 (Qbar, Qcursor_type, outside_cursor): New variables.
9729 (syms_of_msdos): Intern and staticpro them.
9730 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9731 shape used outside Emacs when called for the first time.
9732 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9733 cursor shape used outside Emacs.
9734 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9735 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9736 type has changed.
9737 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9738 parameters specify the cursor. Make qreverse a global
9739 variable (renamed to Qreverse).
9740
80460654
GM
97412000-03-09 Gerd Moellmann <gerd@gnu.org>
9742
9743 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9744
95cd4c40
SM
97452000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9746
9747 This is a big redesign of failure-stack and register handling, prompted
9748 by bugs revealed when trying to add shy-groups. Overall, what happened
9749 is that loops are now structured a little differently, groups can be
9750 shy and the code is a little simpler.
9751
9752 * regex.h: Update the copyright.
9753 (RE_SHY_GROUPS): New value.
9754 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9755 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9756
80460654
GM
9757 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9758 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9759 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9760 for (start|stop)_memory since they now only take one argument (the
9761 second has becomes unnecessary).
9762 (print_partial_compiled_pattern): Adjust for changes in
9763 re_opcode_t.
9764 (print_compiled_pattern): Use %ld to printf long ints and flush to
9765 make debugging a little easier.
95cd4c40
SM
9766 (union fail_stack_elt): Make the integer unsigned.
9767 (struct fail_stack_type): Add a `frame' element.
9768 (INIT_FAIL_STACK): Init `frame' as well.
9769 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9770 (DEBUG_PUSH, DEBUG_POP): Remove.
9771 (NUM_REG_ITEMS): Remove.
9772 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9773 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9774 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9775 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
9776 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
9777 macros.
9778 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9779 address pushed is not the destination of the jump but the source
9780 of it instead.
95cd4c40
SM
9781 (NUM_FAILURE_ITEMS): Remove.
9782 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9783 registers before the actual failure point). Don't hardcode any
9784 meaning for str==NULL anymore.
95cd4c40 9785 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9786 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9787 Remove.
95cd4c40
SM
9788 (REG_UNSET_VALUE): Use NULL (why not?).
9789 (compile_range): Remove declaration since it doesn't exist.
9790 (struct compile_stack_elt_t): Remove inner_group_offset.
9791 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9792 (regex_grow_registers): Remove dead code.
9793 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9794 (regex_compile): Add shy-groups Change loops to use
9795 on_failure_jump_smart&jump instead of
9796 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9797 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9798 variable to me). Use `jump' instead of `jump_past_alt' and don't
9799 bother with push_dummy_failure in alternatives since it is now
9800 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9801 emacs' for (re)allocating the stack.
9802 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9803 from loop when bufp->can_be_null rather than jumping to `done'.
9804 Avoid jumping backwards so as to ensure termination. Use
9805 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9806 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9807 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9808 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9809 improve mutually_exclusive_p to handle ".+\n".
9810 (lowest_active_reg, highest_active_reg,
9811 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
9812 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9813 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9814 variables. Push register (in `start_memory') on the stack rather
9815 than storing it in old_reg(start|end). Remove the cycle detection
9816 from `stop_memory', replaced by the use of on_failure_jump_loop
9817 for greedy loops. Add code for the new on_failure_jump_<foo>.
9818 Remove ad-hoc code in `on_failure_jump' to push more registers in
9819 the case of a loop. Take out code from `maybe_pop_jump' into
9820 separate functions and adapt it to the semantics of
9821 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9822 and push_dummy_failure. Remove dummy_failure handling and
9823 handling of `failures to jump to on_failure_jump' (this last one
9824 was already dead code, it seems).
9825 (group_match_null_string_p, alt_match_null_string_p)
9826 (common_op_match_null_string_p): Remove.
95cd4c40 9827
7397acc4
DL
98282000-03-08 Dave Love <fx@gnu.org>
9829
9830 * config.in: Don't depend on __STDC__ for volatile.
9831 Add POINTER_TYPE, PTR, PROTOTYPES.
9832
9833 * hftctl.c, strftime.c: Use PROTOTYPES.
9834 * eval.c (find_handler_clause): Likewise.
9835
9836 * mem-limits.h: Use POINTER_TYPE.
9837
9838 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9839 (memory_warnings): Declare using POINTER_TYPE.
9840
5e91ff9e
GM
98412000-03-08 Gerd Moellmann <gerd@gnu.org>
9842
feab4fba
GM
9843 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9844
25edb08f
GM
9845 * xdisp.c (display_echo_area): Temporarily inhibit garbage
9846 collection.
9847
5e91ff9e
GM
9848 * xfns.c: Remove obsolete code in #if 0.
9849 (Fx_focus_frame): New function.
9850
a735b7e1
KH
98512000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9852
9853 * coding.c (coding_category_name): Add coding-category-utf-8,
9854 coding-category-utf-16-be, coding-category-utf-16-le.
9855 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9856 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9857 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9858 (detect_coding_utf_8): New function.
9859 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9860 UTF_16_LOW_SURROGATE_P): New macros.
9861 (detect_coding_utf_16): New function
9862 (detect_coding_mask): When priorities are specified, skip any
9863 categories that have `nil' coding-system. Fix bug of returning
9864 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9865 returns a mask not set in PRIORITIES.
9866 (detect_eol_type_in_2_octet_form): New function.
9867 (detect_eol): selects detect_eol_type_XXX to call according to
9868 cooding->category_idx.
9869 (detect_coding_system): Remove `nil' coding-system in the result.
9870 (Fupdate_coding_systems_internal): Update all coding-categories.
9871
9872 * coding.h (CODING_CATEGORY_IDX_UTF_8,
9873 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
9874 macros.
9875 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
9876 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9877 CODING_CATEGORY_IDX_UTF_16_LE.
9878 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
9879 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
9880 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9881 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9882
9994cc69
GM
98832000-03-07 Gerd Moellmann <gerd@gnu.org>
9884
e9b4e5ff
GM
9885 * doc.c (Fdocumentation_property): If value is not a string,
9886 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9887
f7daf1e1
GM
9888 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9889 close the display with XtCloseDisplay. This caused a bus error
9890 on OpenWindows.
9891
9994cc69
GM
9892 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9893 complete but not unique.
9894
4336c705
GM
98952000-03-06 Gerd Moellmann <gerd@gnu.org>
9896
18bb0684
GM
9897 * process.c (send_process): Remove local variable `procname' that
9898 might become invalid when a GC happens. Instead, access the
9899 process name slot directly.
9900
4336c705
GM
9901 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9902 orig_height if set.
9903
9904 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9905 orig_height if set.
9906
515d0d0e
EZ
99072000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9908
9909 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9910 glyph matrices have been freed.
9911
100b3cbb
GM
99122000-03-05 Gerd Moellmann <gerd@gnu.org>
9913
50df5e5a 9914 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9915 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9916
9917 * xfns.c (QCdata): Moved to xdisp.c.
9918
9919 * xdisp.c (QCdata): Moved here from xfns.c.
9920 (syms_of_xdisp): Initialize QCdata.
9921
9922 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9923
9924 * window.c (coordinates_in_window): Use
9925 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9926 FRAME_INTERNAL_BORDER_WIDTH.
9927
100b3cbb 9928 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 9929 it is obviously invalid.
100b3cbb
GM
9930
9931 * xterm.c (x_term_init): Create a colormap if not using the
9932 default visual.
9933
9934 * xterm.h (select_visual): Change prototype.
9935
9936 * xfns.c (select_visual): Rewritten. Recognize user-specified
9937 visual classes.
9938 (visual_classes): New variable.
9939
64d739c4
GM
99402000-03-04 Gerd Moellmann <gerd@gnu.org>
9941
9942 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
9943 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
9944 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
9945 (x_decode_color): Don't handle allocation of white and black
9946 specially.
9947 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
9948 XtNcolormap resources.
9949 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
9950 (Fx_create_frame): Initialize color members of x_output structure.
9951 (xpm_load): Pass colormap to XPM lib.
9952
9953 * xfaces.c (x_free_colors): Access colormap of frame using
9954 FRAME_X_COLORMAP. Be paranoid about freeing black and white
9955 when default colormap is used.
9956
9957 * xterm.c (x_term_init): Set Colormap member of x_display_info
9958 structure. Copy colormap if resource `privateColormap' is
9959 specified (PseudoColor only).
9960 (x_setup_relief_color): Access colormap of frame using
9961 FRAME_X_COLORMAP.
9962
9963 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
9964 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
9965
c3cee013
JR
99662000-03-04 Jason Rumney <jasonr@gnu.org>
9967
9968 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
9969 other non-platform-specific equivalents.
64d739c4 9970 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
9971 specific functions and macros as their w32 equivalents where
9972 non-platform-specifics are not available.
9973 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
9974 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
9975 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
9976 (frame_update_line_height): Use macros to access f->output_data.
9977 (defined_color): Remove FIXME comments; fixed.
9978 (x_face_list_fonts, prepare_face_for_display): Put X specifics
9979 into #ifdef blocks. Add WINDOWSNT blocks.
9980 (Fx_list_fonts): Use macros for accessing font data.
9981 (set_lface_from_font_name): Different default fonts for X and
9982 WINDOWSNT.
9983 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
9984 scalable for backward compatibility.
64d739c4 9985 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
9986 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
9987
64d739c4 9988 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
9989 syms_of_w32faces.
9990
9991 * makefile.nt (w32faces.obj): Remove.
9992 (xfaces.obj): Add.
9993
807cc41c
JR
99942000-03-03 Jason Rumney <jasonr@gnu.org>
9995
9996 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
9997 correct parameters.
9998
0007072a
KR
99992000-03-03 Ken Raeburn <raeburn@gnu.org>
10000
10001 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10002 standard ELF definitions here if the system header does not.
10003
71a6ba55
GM
100042000-03-03 Gerd Moellmann <gerd@gnu.org>
10005
10006 * xterm.c (PER_CHAR_METRIC): Removed.
10007 (x_per_char_metric_1, x_default_char): New functions.
10008 (x_per_char_metric): If font's default char is invalid, return
10009 metrics of a suitably chosen usable default char.
10010 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10011 char, replace occurrences of unprintable chars with a suitably
10012 chosen usable default char.
71a6ba55 10013
900fa1f1
GM
100142000-03-02 Gerd Moellmann <gerd@gnu.org>
10015
42f55fe0
GM
10016 * xterm.c (note_mouse_highlight): Return quickly if frame's
10017 glyph matrices have been freed.
10018
10019 * dispnew.c (free_glyphs): Block input while freeing matrices.
10020
900fa1f1
GM
10021 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10022
10023 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
10024 x_free_colors.
10025
10026 * dispextern.h (x_free_colors): Add prototype.
10027
10028 * xfaces.c (x_free_colors): New function.
10029 (unload_color, free_face_colors): Use it.
10030
2f950292
EZ
100312000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10032
10033 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10034
10035 * window.c [MSDOS]: Include msdos.h.
10036
54d04320
DL
100372000-03-02 Dave Love <fx@gnu.org>
10038
10039 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10040
10041 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10042 set C_OPTIMIZE_SWITCH for gcc.
10043
0ba93ac4
KH
100442000-03-02 Kenichi Handa <handa@etl.go.jp>
10045
10046 * coding.c (coding_save_composition): Be sure to allocate
10047 composition data area in coding even if there's no composition in
10048 the current run.
10049
a2bc11d4
JR
100502000-03-01 Jason Rumney <jasonr@gnu.org>
10051
10052 * w32term.c: Equivalent changes to those made to xterm.c on
10053 2000-02-25 and 2000-02-24.
10054
10055 * w32fns.c: Equivalent changes to those made to xfns.c on
10056 2000-02-25 and 2000-02-21.
10057
10058 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10059 correct line-end convention is followed.
10060
10061 * w32menu.c [HAVE_BOXES]: Remove #undef.
10062 (single_keymap_panes): Remove code for simulating checkmarks.
10063 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10064 Remove code for drawing simulated checkmarks.
10065 (w32_menu_show): make unibyte help string correctly.
10066 (add_menu_item): draw standard Windows checkmarks. Draw radio
10067 buttons as radio buttons if possible.
10068
72d19d75
GM
100692000-03-01 Gerd Moellmann <gerd@gnu.org>
10070
2df636f4
GM
10071 * sysdep.c (start_of_text): Don't define this function for NetBSD
10072 with ELF.
10073
427ec082 10074 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10075 Don't define.
10076 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10077 (LINKER): Don't undef if __NetBSD__ is defined.
10078
10079 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10080
10081 * fileio.c [__NetBSD__]: Define `unix'.
10082
72d19d75
GM
10083 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10084
ed4d0512
GM
100852000-02-29 Gerd Moellmann <gerd@gnu.org>
10086
50b1039f
GM
10087 * atimer.c (start_atimer): Don't abort when timers are stopped.
10088 (append_atimer_lists): New function.
10089 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10090 arbitrary lists of stopped and running atimers.
10091
ed4d0512
GM
10092 * atimer.c (cancel_atimer): Handle canceling an atimer when
10093 some timers are stopped.
10094
10095 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10096 after canceling it.
10097
10098 * fns.c (maybe_resize_hash_table): Handle case of new size
10099 coming out as being the same as old size.
10100
387023ee
JR
101012000-02-27 Jason Rumney <jasonr@gnu.org>
10102
10103 * makefile.nt: Add atimer.h to dependencies.
10104 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10105 * w32console.c: Only disable window system features for dispextern.h
10106 (initialize_w32_display): Build a display info for the console.
10107 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10108 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10109 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10110 as 2 button mice.
10111 * w32gui.h (struct W32FontStruct): Revert last change after change
10112 to xdisp.c.
10113 * w32menu.c (single_submenu): Set up help string.
10114 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10115 (w32_dialog_show): Set up help string.
10116 * w32term.c (w32_display_info_for_display): Remove unused function.
10117 (w32_draw_bitmap): Use pre-built bitmaps.
10118 (w32_initialize_display_info): New function to initialize parts of
10119 display info that are common to both GUI and console frames.
10120 (w32_term_init): Use w32_initialize_display_info. Do not set
10121 Vw32_num_mouse_buttons here, as it is not called for console
10122 frames. Build bitmaps for indicating truncated lines etc.
10123 (x_delete_display): Destroy pre-built bitmaps.
10124 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10125 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10126
4516715a
DL
101272000-02-27 Dave Love <fx@gnu.org>
10128
10129 * lisp.h: Add a bunch of prototypes.
10130
171ca836
KH
101312000-02-26 Kenichi Handa <handa@etl.go.jp>
10132
10133 * keyboard.c (read_char): Set `usec' correctly.
10134
4013921d
KH
101352000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10136
10137 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10138 `lambda', set reg[RRR] to the map index.
10139 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10140 reg[RRR] to 0. Otherwise, set it to -1.
10141
9244a058
GM
101422000-02-25 Gerd Moellmann <gerd@gnu.org>
10143
2df636f4 10144 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10145
18e21ce8 101462000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10147
f43d79c1
GM
10148 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10149 and contains a `:', prepend `/:'.
10150
10151 * window.c (select_window_1): If selected_window is nil,
10152 don't "swap out" the buffer's point.
10153 (Fset_window_configuration): Set selected_window to nil
10154 before calling Fselect_window.
10155 (unshow_buffer): Don't set point in buffer from window's point
10156 if another more recently selected window also shows the buffer.
10157
bed0c171
GM
101582000-02-25 Gerd Moellmann <gerd@gnu.org>
10159
449c3c52
GM
10160 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10161
f5b58615
GM
10162 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10163 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
10164 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
10165 variables.
10166 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10167 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10168 (hide_busy_cursor): New functions.
10169 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10170
10171 * minibuf.c (read_minibuf): Cancel busy-cursor.
10172
10173 * keyboard.c (command_loop_1): Call start_busy_cursor before
10174 Fcommand_execute and cancel_busy_cursor after it.
10175 (timer_check): Remove busy-cursor code.
10176 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10177 cursor timer.
10178
10179 * process.c (wait_reading_process_input): Remove busy-cursor code.
10180
10181 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10182 Fx_hide_busy_cursor.
10183
10184 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10185 Remove prototyoes.
10186 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10187
10188 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10189
10190 * xterm.c (XTread_socket): Remove busy-cursor code.
10191
4eb8436f
GM
10192 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10193 (build_frame_matrix_from_leaf_window): Put code handling
10194 glyph row's not being a slice of a frame row in #if 0.
10195 (sync_window_with_frame_matrix_rows): New function.
10196 (frame_row_to_window): New function.
10197 (mirror_line_dance): Handle copies between windows.
10198
3cb65b0e
GM
10199 * lread.c (Fload): Use `xfree' instead of `free'.
10200 (init_obarray): Use `xmalloc' instead of `malloc'.
10201
bed0c171
GM
10202 * window.c (Fset_window_buffer): Set WINDOW to the window
10203 after decoding.
2add4349
GM
10204 (coordinates_in_window): Take frame's internal border width
10205 into account.
bed0c171 10206
42088c12
GM
102072000-02-24 Gerd Moellmann <gerd@gnu.org>
10208
10209 * xterm.c (x_display_and_set_cursor): Display cursor of
10210 non-selected windows depending on the setting of
10211 cursor_in_non_selected_windows.
10212
10213 * xdisp.c (cursor_in_non_selected_windows): New variable.
10214 (syms_of_xdisp): DEFVAR_BOOL it.
10215
d1e103b2
GM
102162000-02-23 Gerd Moellmann <gerd@gnu.org>
10217
723e779c
GM
10218 * data.c (Fstring_to_number): If number is greater than what
10219 fits into an integer, return a float.
10220
d1e103b2
GM
10221 * eval.c (specbind): Remove references to
10222 keyword_symbols_constant_flag.
10223
10224 * data.c (keyword_symbols_constant_flag): Removed.
10225 (Fmakunbound, set_internal, syms_of_data): Remove references to
10226 keyword_symbols_constant_flag.
10227
10228 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10229
214f877f
KH
102302000-02-23 Kenichi Handa <handa@etl.go.jp>
10231
10232 * syntax.c (multibyte_syntax_as_symbol): New variable.
10233 (syms_of_syntax): Declare it as a Lisp variable.
10234 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10235 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10236 nonzero, treat all multibyte characters as symbol.
42088c12 10237 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
10238 characters.
10239
130adcb7
EZ
102402000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10241
3cb65b0e 10242 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10243 a deleted frame.
130adcb7 10244
17cbbf95
GM
102452000-02-21 Gerd Moellmann <gerd@gnu.org>
10246
10247 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10248
10249 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10250 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10251
beb0bc36
DL
102522000-02-21 Dave Love <fx@gnu.org>
10253
10254 * frame.c (Vmouse_position_function): New variable.
10255 (Fmouse_position): Use it.
10256 (syms_of_frame): Install it.
10257
10258 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10259
1d92afcd
GM
102602000-02-20 Gerd Moellmann <gerd@gnu.org>
10261
10262 * fileio.c (Finsert_file_contents): Unbind the binding of
10263 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10264
10265 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10266 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10267 (specbind, unbind_to): Handle most common case of non-constant
10268 symbol with trivial value specially.
10269
10270 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10271
18e21ce8 102722000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10273
10274 * data.c (Fmake_variable_buffer_local): Doc fix.
10275 Init found_for_buffer to 0.
10276 (Fmake_variable_frame_local): If the variable has already
10277 been buffer-local, set the check_frame field.
10278
1d4311c3
EZ
102792000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10280
10281 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10282 produced for CODING_MODE_LAST_BLOCK requires.
10283
2dc95ddd
DL
102842000-02-18 Dave Love <fx@gnu.org>
10285
10286 * keyboard.c (echo_keystrokes): Remove declaration.
10287 (Vecho_keystrokes) New variable.
10288 (read_char, record_menu_key, read_key_sequence): Use it to allow
10289 use of float value.
10290 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10291
10292 * lread.c: Undef feature selection macros before defining.
10293
f0930f35
GM
102942000-02-18 Gerd Moellmann <gerd@gnu.org>
10295
10296 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10297 for symbols other than the symbol in question.
10298
e3d4de90
DL
102992000-02-17 Dave Love <fx@gnu.org>
10300
10301 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10302
0b378936
GM
103032000-02-17 Gerd Moellmann <gerd@gnu.org>
10304
d621caf7
GM
10305 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10306
0b378936
GM
10307 * alloc.c (enum mem_type): Compile unconditionally.
10308
3b451f74
EZ
103092000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10310
10311 * xfaces.c (tty_defined_color): Don't return faulire indication
10312 for unspecified-fg and unspecified-bg pseudo-colors.
10313
10689a01
GM
103142000-02-17 Gerd Moellmann <gerd@gnu.org>
10315
1216f5e4
GM
10316 * alloc.c (mark_object): Don't mark symbol names in pure space.
10317 (gc_sweep): Don't unmark symbol names in pure space.
10318
10319 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10320 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10321 [GC_MARK_STACK]: New defines.
427ec082 10322 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10323 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10324
10325 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10326
10327 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10328 allocate_buffer instead of xmalloc.
10329
10330 * alloc.c (toplevel): Include setjmp.h.
10331 (PURE_POINTER_P): New define.
10332 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10333 (Vdead) [GC_MARK_STACK]: New variable.
10334 (lisp_malloc): Add parameter TYPE, call mem_insert if
10335 GC_MARK_STACK is defined.
10336 (allocate_buffer): New function.
427ec082 10337 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10338 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10339 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10340 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10341 (MEM_NIL) [GC_MARK_STACK]: New define.
10342 (struct mem_node) [GC_MARK_STACK]: New structure.
10343 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10344 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10345 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10346 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10347 (mark_stack) [GC_MARK_STACK]: New functions.
10348 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10349 (clear_marks): Removed.
10350 (gc_sweep): Set free conses' car, free floats' type, free
10351 symbols' function to Vdead. Use lisp_free to free buffers.
10352 (init_alloc_once): Initialize Vdead.
10353 (survives_gc_p): Return non-zero for pure objects.
10354
10355 * alloc.c: Add comments throughout the file.
10356
2503c8b1
GM
10357 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10358 that unblocks alarms.
10359
8389e1e2
GM
10360 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10361 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10362 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10363
10689a01 10364 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10365
bfc17d18
KH
103662000-02-17 Kenichi Handa <handa@etl.go.jp>
10367
4a09dee0
KH
10368 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10369 avoid infinite error signaling. Allocate sufficient memory for
10370 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10371
2b927d02
SM
103722000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10373
10374 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10375 depends on the previous behavior.
10376
b49cb764
GM
103772000-02-16 Gerd Moellmann <gerd@gnu.org>
10378
10379 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10380
99e95407
GM
103812000-02-15 Gerd Moellmann <gerd@gnu.org>
10382
10383 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10384
10385 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10386 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10387 write(2).
10388
6ffd3cf7
RS
103892000-02-15 Richard M. Stallman <rms@gnu.org>
10390
10391 * data.c (set_internal): Don't make variable buffer-local
10392 if within a let-binding for the same buffer.
10393 (let_shadows_buffer_binding_p): New function.
10394
10395 * eval.c (specbind): For buffer-local value,
10396 record the current buffer also.
10397 (unbind_to): Cope with that change.
10398
cad53475
GM
103992000-02-15 Gerd Moellmann <gerd@gnu.org>
10400
10401 * window.c (Fsave_window_excursion): Doc fix.
10402
1aa963c8
SM
104032000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10404
10405 * syntax.c (back_comment): Make sure we only consider comment-starters
10406 of the relevant style and return -1 in case of a failure to find the
10407 beginning of the comment.
10408 (Fforward_comment): If back_comment fails, go back to the position just
10409 after the comment-end.
10410 (scan_lists): Add comment describing a very minor bug.
10411
b9b84fd3
SM
104122000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10413
10414 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10415 `completion-regexp-list' in the docstring.
10416
3a28db80
DL
104172000-02-14 Dave Love <fx@gnu.org>
10418
10419 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10420
fb4a568d
SM
104212000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10422
10423 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10424 to Emacs' syntax. Also fix the comment about set/not-set meanings
10425 since Emacs syntax is not the value 0 any more.
10426 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10427 since it's now part of RE_SYNTAX_EMACS.
10428
1063ebb5
DL
104292000-02-12 Dave Love <fx@gnu.org>
10430
10431 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
10432 Alpha.
10433
fb07a302
GM
104342000-02-12 Gerd Moellmann <gerd@gnu.org>
10435
10436 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10437
aaf2320c
DL
104382000-02-12 Dave Love <fx@gnu.org>
10439
10440 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10441
10442 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10443 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10444 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10445
10446 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10447
10448 * s/nextstep.h: Don't define HAVE_ALLOCA.
10449
10450 * config.in: Add vfork bits.
10451
eedf8bde
GM
104522000-02-12 Gerd Moellmann <gerd@gnu.org>
10453
10454 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10455 unwind function to undo the effect of stopping atimers.
10456
10457 * keyboard.c (bind_polling_period): Stop all timers except
10458 poll_timer.
10459
10460 * atimer.c (stopped_atimers): New variable.
10461 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10462 New functions.
10463
10464 * atimer.h (stop_other_atimers, run_all_atimers)
10465 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10466
eedf8bde
GM
10467 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10468
8476c2f8
KR
104692000-02-11 Ken Raeburn <raeburn@gnu.org>
10470
10471 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10472 library may depend on jpeg.
10473 (atimer.o): Depends on atimer.c.
10474
0e85e4a3
KH
104752000-02-11 Kenichi Handa <handa@etl.go.jp>
10476
10477 * insdel.c (del_range_1): Call update_compositions.
10478 (del_range_both): Call update_compositions just once..
10479
97fa0cc8
DL
104802000-02-10 Dave Love <fx@gnu.org>
10481
10482 * xfns.c (create_frame_xic): Fix initialization of automatic
10483 aggregates for pcc.
10484
25566a3c
KH
104852000-02-09 Kenichi Handa <handa@etl.go.jp>
10486
10487 * ccl.c (CCL_MAKE_CHAR): New macro.
10488 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10489 registers by CCL_MAKE_CHAR before calling translate_char.
10490 <CCL_TranslateCharacterConstTbl> Likewise.
10491
69da54ba
DL
104922000-02-08 Dave Love <fx@gnu.org>
10493
10494 * lread.c (__EXTENSIONS__): Define.
10495
f7136ee8
GM
104962000-02-08 Gerd Moellmann <gerd@gnu.org>
10497
10498 * puresize.h (BASE_PURESIZE): Increase to 650000.
10499
7768790b
EZ
105002000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10501
10502 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10503 the help message.
10504
38fd211b
EZ
105052000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10506
10507 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10508 md, mh, mb, mr, and me to the fake termcap entry.
10509
66e4690f
KR
105102000-02-06 Ken Raeburn <raeburn@gnu.org>
10511
10512 * sound.c (sound_cleanup): Don't call device close routine if the
10513 function pointer is null.
10514
a75dfea0
AI
105152000-02-06 Andrew Innes <andrewi@gnu.org>
10516
10517 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10518 around image definitions and prototypes.
10519 (gamma_correct) [WINDOWSNT]: New prototype.
10520
10521 * w32term.c (x_make_frame_visible): Replace call to
10522 input_poll_signal with poll_for_input.
10523
10524 * window.c [WINDOWSNT]: Include w32term.h.
10525
10526 * xdisp.c [WINDOWSNT]: Include w32term.h.
10527
10528 * makefile.nt: Add dependencies on w32gui.h.
10529 (OBJ1): Include atimer.obj.
10530 ($(BLD)\atimer.obj): New dependency rule.
10531
10532 * w32.c (sigmask): New function (does nothing).
10533 (sigunblock): Ditto.
10534
10535 * frame.c [WINDOWSNT]: Include w32term.h.
10536
10537 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10538
10539 * lread.c (syms_of_lread): Fix literal newlines.
10540
10541 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10542 the string constant limit (2048 bytes) in MSVC.
10543 (main): Ditto.
10544
59ddecde
GM
105452000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10546
10547 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
10548 area.
10549 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10550 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10551 dispatch the event.
10552
07590973
DL
105532000-02-04 Dave Love <fx@gnu.org>
10554
10555 * fileio.c: Remove some unused vars.
10556 (_GNU_SOURCE): Define (for euidaccess).
10557
10558 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10559
10560 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10561 gcpro1, gcpro2.
10562 (read_minibuf): Deal with allow_props correctly.
10563
649351f9
EZ
105642000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10565
10566 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10567
66e4690f 105682000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10569
10570 * search.c (compile_pattern): If a cache entry has a nil regexp,
10571 fill in that entry instead of clobbering a previously cached
10572 string regexp.
10573
66e4690f 105742000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10575
10576 * puresize.h (BASE_PURESIZE): Increase to 610000.
10577
d240a249
GM
105782000-02-02 Gerd Moellmann <gerd@gnu.org>
10579
10580 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10581 can GC.
10582
ca91fb26
KH
105832000-02-02 Kenichi Handa <handa@etl.go.jp>
10584
25660570
KH
10585 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10586 instead of incrementing ic directly.
10587 <CCL_WriteExprConst> Likewise.
10588 <ccl_set_expr>: Set ic to jump_address.
10589
ca91fb26
KH
10590 * fileio.c (e_write): Fix the handling of
10591 CODING_FINISH_INSUFFICIENT_SRC.
10592
2ede9689
DL
105932000-02-01 Dave Love <fx@gnu.org>
10594
10595 * editfns.c (Fpropertize): Doc fix.
10596
10597 * process.c (Fstart_process): Doc fix.
10598
10599 * eval.c: Fix various doc strings not to duplicate information
10600 from help-manyarg-func-alist.
10601
10602 * window.c (Fset_window_margins): Don't make interactive. Doc
10603 fix.
10604
10605 * doc.c (Vhelp_manyarg_func_alist): New variable.
10606 (Fdocumentation): Use it.
10607 (syms_of_doc): Define it.
10608
b6680a0e
GM
106092000-01-31 Gerd Moellmann <gerd@gnu.org>
10610
2cb750ba
GM
10611 * xterm.c (xim_open_dpy): Remove unused local variable.
10612
74e9213b
GM
10613 * emacs.c (USAGE): Use term `display options' instead of `X
10614 options'.
10615
10616 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10617 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10618
b6680a0e
GM
10619 * fns.c (sweep_weak_table): New function.
10620 (sweep_weak_hash_tables): Use it. Keep on marking until there
10621 is no more change.
10622
994c5afe
GM
106232000-01-30 Gerd Moellmann <gerd@gnu.org>
10624
10625 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10626 that XTread_socket does not crash by trying to call XNoOp on a
10627 closed display.
427ec082 10628
f00276e3
JR
106292000-01-30 Jason Rumney <jasonr@gnu.org>
10630
10631 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10632 Change selected_frame to SELECTED_FRAME ().
10633 (w32_console_mouse_position): Remove #ifndef MULE from around
10634 `insist' parameter.
10635
10636 * makefile.nt: Remove dosfns.obj.
10637
10638 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10639
10640 * w32fns.c (w32_defined_color): Check for valid frame before
10641 applying gamma correction. Eliminate dependency on frame elsewhere.
10642 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10643 (w32_to_x_font): Use resx and resy not height_in and width_in.
10644 (x_to_w32_font): Doc fix.
10645 (xlfd_strip_height): New function to strip and return font height.
10646 (w32_font_match): Compare height separately from rest of xlfd
10647 spec, using xlfd_strip_height.
10648
10649 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10650 width_in. Use w32_defined_color in place of defined_color.
10651
10652 * w32faces.c: Merge more of DOS and X specifics in preparation for
10653 merge with xfaces.c.
10654 (defined_color): Remove FIXME comment.
10655 (tty_color_name): Provide w32-specific function.
10656 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10657
10658 * w32console.c (turn_on_face, turn_off_face): Removed.
10659 (w32_face_attributes): New function.
10660 (Global_variables): Reduce scope where possible.
10661 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10662 fill attribute.
10663 (hl_mode): Don't modify text attributes.
10664 (write_glyphs): Don't do anything if len <= 0. Use
10665 w32_face_attributes to get attributes for drawing. Write
10666 terminating codes using char_attr_normal.
10667 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10668 (update_begin, update_end): Likewise.
10669 (vga_stdcolor_name): New function.
10670 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10671 (Fset_screen_color): Remove char_attr_reverse.
10672
b08e8bb2
GM
106732000-01-29 Gerd Moellmann <gerd@gnu.org>
10674
10675 * xfns.c (xic_set_preeditarea): Take window parameter and
10676 window-relative pixel-positions.
10677
10678 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10679 is its frame's selected window.
10680 (xim_instantiate_callback): Likewise.
10681
10682 * xfns.c (x_create_im): Removed.
10683 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10684 (supported_xim_styles): Renamed from supported_styles.
10685 (best_xim_style): Renamed from best_style.
10686 (create_frame_xic): Renamed from xic_create_frame.
10687 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10688
b08e8bb2
GM
106892000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10690
10691 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10692 our frames, call XFilterEvent with 2nd parameter `None'.
10693 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10694 returning XBufferOverflow.
10695 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
10696 area.
10697 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10698 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10699 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10700 (xim_initialize, xim_close)
10701 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10702 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10703 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10704 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10705
10706 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10707 and `xim_styles'.
10708 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10709 `xic_style' and `xic_xfs'.
10710 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10711 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10712 (FRAME_XIM): Removed.
10713
10714 * xfns.c (supported_styles): New variable.
10715 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10716 (xic_create_xfontset, best_style, xic_create_frame)
10717 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10718 (xic_set_xfontset): New functions.
10719
142e109c
DL
107202000-01-28 Dave Love <fx@gnu.org>
10721
10722 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10723
10724 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10725
b02786f9
GM
107262000-01-28 Gerd Moellmann <gerd@gnu.org>
10727
d060bc9f
GM
10728 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10729 for *scratch* if it already existed.
10730
b02786f9
GM
10731 * emacs.c (USAGE): New macro.
10732 (main): Use it to display usage information.
10733
2c52d7e4
EZ
107342000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10735
10736 Support for the menu-help feature:
10737
10738 * msdos.h: Change prototypes of XMenuAddSelection and
10739 XMenuActivate.
10740
10741 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10742 part of the line to the termscript file.
10743 (IT_clear_to_end): Clear the entire line, not just its beginning.
10744 (menu_help_message, prev_menu_help_message): New variables.
10745 (IT_menu_make_room): Make room for the help_text member.
10746 (IT_menu_display): New argument disp_help; all callers changed.
10747 If disp_help is non-zero, store the help text of the active menu
10748 item in menu_help_message.
10749 (XMenuAddPane): Initialize the help_text member to NULL.
10750 (XMenuAddSelection): New argument help_text. Store it in the
10751 XMenu structure.
10752 (XMenuActivate): New argument help_callback. If the value of
10753 menu_help_message has changed since the last time, display the
10754 menu help message text while waiting for the mouse to move. Clear
10755 the echo area before exiting.
10756 (XMenuDestroy): Free the help_text member.
10757
ffe0bcd1
GM
107582000-01-27 Gerd Moellmann <gerd@gnu.org>
10759
10760 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10761 XMenuAddSelection. Pass help callback to XMenuActivate.
10762 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10763
50dbd23f
EZ
107642000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10765
10766 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10767 and EMACS_SET_USECS.
10768
f5941bf8
GM
107692000-01-26 Dave Love <fx@gnu.org>
10770
6c67ddee
DL
10771 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10772
f5941bf8
GM
10773 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10774 an error may be signalled.
10775
9e49c990
GM
107762000-01-26 Gerd Moellmann <gerd@gnu.org>
10777
fc3cb460
GM
10778 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10779 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10780
9e49c990
GM
10781 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10782
d0c037d8
GM
107832000-01-25 Gerd Moellmann <gerd@gnu.org>
10784
10785 * charset.c (Fstring): If there is a multibyte char among
10786 the args, always return a multibyte string.
10787
e12489f9
GM
107882000-01-25 Gerd Moellmann <gerd@gnu.org>
10789
10790 * sysdep.c (sys_select): Turn atimers off and on instead of
10791 recording and restoring old alarm handler
10792
10793 * process.c (toplevel): Include atimer.h.
10794 (create_process_1): Rewritten.
10795 (create_process): Use atimers instead of alarm.
10796 (wait_reading_process_input) [hpux]: Turn atimers off instead
10797 of turning off SIGALRM.
10798 (wait_reading_process_input): Turn off atimers instead off
10799 calling stop_polling.
10800
10801 * emacs.c (main): Call init_atimer.
10802
10803 * keyboard.c (toplevel): Include systime.h and atimer.h.
10804 (polling_for_input): Removed because unused.
10805 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10806 (poll_timer): New variable.
10807 (poll_for_input, poll_for_input_1): New functions.
10808 (start_polling, stop_polling): Rewritten.
10809
10810 * keyboard.h (polling_for_input): Removed.
427ec082 10811
e12489f9
GM
10812 * atimer.h, atimer.c: New files.
10813
10814 * Makefile.in (obj): Add atimer.o.
10815 (atimer.o): New target.
10816
10817 * blockinput.h (pending_atimers): Add extern declaration.
10818 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10819
10820 * lisp.h (popup_activated_flag): Add extern declaration.
10821
10822 * xmenu.c (popup_activated_flag): Make externally visible.
10823 (popup_activate_callback) [USE_MOTIF]: Increment
10824 popup_activated_flag.
10825 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10826
10827 * xterm.c (toplevel): Include atimer.h.
10828 (toolkit_scroll_bar_interaction): New variable.
10829 (Fxt_process_timeouts): Removed.
10830 (x_process_timeouts): New function.
10831 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10832 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10833 (x_make_frame_visible): Call poll_for_input_1 instead of
10834 input_poll_signal. Don't call alarm.
10835 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10836
1e5279b9
DL
108372000-01-24 Dave Love <fx@gnu.org>
10838
6c67ddee 10839 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10840 Don't use -cckr -- apparently not now necessary.
10841
edf6aeb8
EZ
108422000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10843
10844 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10845 screen boundary.
10846
9badad41
JR
108472000-01-23 Jason Rumney <jasonr@gnu.org>
10848
10849 * w32fns.c (w32_defined_color): Apply gamma correction before
10850 trying to map to the palette.
10851 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10852 to w32_clear_rect.
10853
10854 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10855 here. Callers changed to always pass real device context.
10856 (w32_draw_bitmap): Likewise.
10857 (w32_get_glyph_overhangs): Likewise.
10858 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
10859 one.
10860 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10861 pfnSetScrollInfo and SetScrollRange.
10862 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10863 back into MULE characters after decoding them.
10864 (x_get_glyph_face_and_encoding): Likewise.
10865 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10866 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10867 (x_produce_glyphs): Calculate per char metrics for a character
10868 that we know exists in default font when font_not_found_p is true.
10869
63bd786b
JR
108702000-01-22 Jason Rumney <jasonr@gnu.org>
10871
10872 * makefile.nt (intervals.obj, composite.obj): New modules.
10873 (composite.h): Added as dependency where appropriate.
10874
10875 * w32gui.h (XGCValue): New struct for emulating X GCs.
10876
10877 * w32term.h (XCharStruct): New struct for emulating X.
10878
10879 * w32console.c (turn_on_face, turn_off_face): New functions.
10880 (change_line_highlight): New prototype for new redisplay.
10881 (write_glyphs): Support multibyte text. Support faces.
10882
10883 * w32faces.c: Complete rewrite for new redisplay based on new
10884 xfaces.c.
10885
10886 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10887 throughout. struct frame * in place of FRAME_PTR.
10888 Skeleton support for images, toolbars, tooltips from xfns.c.
10889 (Fx_create_frame): Use system default for default scroll bar
10890 width.
10891 (w32_get_arg): Renamed from x_get_arg.
10892 (Fx_file_dialog): New function.
10893 (w32_list_fonts): Check cache before asking system.
10894 (Vw32_enable_synthesized_fonts): New variable.
10895 (Vw32_enable_italics): Obsolete, removed.
10896
10897 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10898 Use SELECTED_FRAME macro.
10899
10900 * w32menu.c: Add skeleton support for help strings on menus.
10901 (add_menu_item): Native checkbox and radio support added, but not
10902 yet enabled due to bugs.
10903 (push_menu_item): Add parameters type, selection and help.
10904 Callers updated.
10905 Formatting changes to reduce unnecessary diffs with xmenu.c.
10906
10907 * w32select.c (Fw32_set_clipboard_data): Update call to
10908 find_charset_in_str.
10909
10910 * w32term.c: Complete rewrite for new redisplay based on new
10911 xterm.c with necessary sections merged back in from old w32term.c.
10912
6ffd3cf7 109132000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10914
10915 * data.c (set_internal): Further fix in same criterion.
10916
6ffd3cf7 109172000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10918
10919 * data.c (set_internal): Fix the criteria for whether
10920 to swap out the old cached binding.
10921
60af03f1
DL
109222000-01-19 Dave Love <fx@gnu.org>
10923
10924 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10925
f9be074f
KH
109262000-01-18 Kenichi Handa <handa@etl.go.jp>
10927
10928 * regex.c (re_compile_fastmap): While checking a range table for
10929 `charset', skip flag bits for a character class correctly.
10930
52b8dbf9
GM
109312000-01-17 Gerd Moellmann <gerd@gnu.org>
10932
d36100c9
GM
10933 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10934
52b8dbf9
GM
10935 * xfns.c (x_window): Call lw_create_widget with new parameter
10936 list.
10937
10938 * widget.c (EmacsFrameSetCharSize): Change size of children first
10939 because of problems with main window geometry management under
10940 Lesstif.
10941
10942 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
10943 MENU_ITEMS_ITEM_.*.
10944 (MENU_ITEMS_ITEM_HELP): New enumerator.
10945 (push_menu_item): Add parameter HELP. Record help in menu_items.
10946 (single_menu_item, single_submenu, list_of_items): Call
10947 push_menu_item with new parameter.
10948 (single_submenu): Set help string in widget value.
10949 (menu_highlight_callback): New function.
10950 (set_frame_menubar): Call lw_create_widget with new
10951 parameter list.
10952 (xmenu_show, xdialog_show): Ditto.
10953
3139018f
GM
109542000-01-13 Gerd Moellmann <gerd@gnu.org>
10955
10956 * sound.c (Fplay_sound): Improve doc string.
10957
83c8f461
RS
109582000-01-11 Richard M. Stallman <rms@gnu.org>
10959
10960 * lisp.h (set_internal): Enter the new arg.
10961
10962 * eval.c (specbind): Record buffer-local variables specially,
10963 indicating which buffer's binding was saved.
10964 (unbind_to): Restore buffer-local variables specially
10965 in the proper buffer.
10966
10967 * data.c (set_internal): New arg BUF.
427ec082 10968
83c8f461
RS
10969 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
10970 * data.c (Fset): Pass new arg to set_internal.
10971 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 10972
1fab1775
GM
109732000-01-11 Gerd Moellmann <gerd@gnu.org>
10974
10975 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
10976 xprintsym.
10977
83c8f461 109782000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
10979
10980 * minibuf.c (Ftry_completion): Doc fix.
10981
7a85e4df
GM
109822000-01-11 Gerd Moellmann <gerd@gnu.org>
10983
10984 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
10985 vector, too.
10986
a970dae4
AS
109872000-01-11 Andreas Schwab <schwab@suse.de>
10988
10989 * coding.c (code_convert_region): Initialize total_skip.
10990
c65d14ee
DL
109912000-01-08 Dave Love <fx@gnu.org>
10992
10993 * eval.c (Fuser_variable_p): Check customizability too.
10994
834938d2
GM
109952000-01-07 Gerd Moellmann <gerd@gnu.org>
10996
10997 * minibuf.c (Fcompleting_read): Doc fix.
10998
e0303cd6
GM
109992000-01-05 Gerd Moellmann <gerd@gnu.org>
11000
8a26744b
GM
11001 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11002 -L /usr/local/lib.
11003
e0303cd6
GM
11004 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11005 Check that input style is supported before trying to create an
11006 IC for it.
11007 (x_window): Call x_create_im.
427ec082 11008
2e471eb5
GM
110092000-01-04 Gerd Moellmann <gerd@gnu.org>
11010
560a7bd2
GM
11011 * xfns.c (current_gif_memory_src): New variable.
11012 (gif_load): Record the address of the current memory source
11013 in current_gif_memory_src.
11014 (gif_read_from_memory): Use current_gif_memory_src.
11015
f9ee84a3
GM
11016 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11017 macros statement form.
11018
d1299cde
GM
11019 * sound.c (struct sound): Renamed from struct sound_file.
11020 (struct sound): Add members `data' and `header_size'.
11021 (enum sound_attr): Add SOUND_DATA.
11022 (current_sound, current_sound_device): Variables renamed from
11023 sound_file and sound_device.
11024 (parse_sound): Parse :data.
11025 (parse_sound): Handle sound data in strings.
11026 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11027 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11028 needed header size.
11029 (wav_play, au_play): Play sounds from string data.
11030
2e471eb5
GM
11031 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11032
11033 * lisp.h: Add prototype for allocate_string_data.
11034
11035 * alloc.c (Fgarbage_collect): Return number of live and free
11036 strings.
11037
11038 * alloc.c (mark_buffer): Remove code in #if 0.
11039 (gc_sweep): Ditto.
11040 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11041 (strings_consed): New variable.
11042 (allocate_string): Set it.
11043 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11044 (Fmemory_use_counts): Return strings_consed. Use Flist.
11045
11046 * alloc.c: General cleanup in comments etc. Remove conditional
11047 compilation for `standalone'.
11048
11049 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11050
11051 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11052 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11053 (DONT_COPY_FLAG): Removed.
11054 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11055 (struct sdata, struct sblock): New
11056 (struct string_block): Rewritten.
11057 (STRINGS_IN_STRING_BLOCK): New macro.
11058 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11059 (large_sblocks, string_blocks, string_free_list): New variables.
11060 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11061 (init_strings): Rewritten.
11062 (allocate_string, allocate_string_data, compact_small_strings)
11063 (free_large_strings, sweep_strings): New functions.
11064 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11065 (struct string_block_head, current_string_block)
11066 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11067 (STRING_PAD): Removed.
11068 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11069 (Fgarbage_collect): Don't set mark bit in large strings.
11070 (mark_object): Mark strings differently. Mark symbol names
11071 differently.
11072 (survives_gc_p): Test marked strings differently.
427ec082 11073 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11074 symbol names.
11075 (compact_strings): Removed.
11076
42608ba8
EZ
110772000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11078
11079 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11080 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11081
e0a09e1a
KH
110822000-01-04 Kenichi Handa <handa@etl.go.jp>
11083
dd9f0750 11084 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11085 in a non-empty buffer.
dd9f0750 11086
3c0f3b15 11087 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11088
44cd3ae5
GM
110892000-01-03 Gerd Moellmann <gerd@gnu.org>
11090
11091 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11092 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11093
11094 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11095
c182a70f
EZ
110962000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11097
11098 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11099 need to test for MSDOS frames.
11100
24480d5b
EZ
111012000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11102
11103 * dosfns.c (unspecified_colors): Remove.
11104 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11105 unspecified_bg.
11106 (msdos_stdcolor_name): Return strings for unspecified fore- and
11107 back-ground colors.
11108
11109 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11110 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11111 (tty_color_name): Return Lisp strings for unspecified fore- and
11112 back-ground colors.
11113 (Finternal_set_lisp_face_attribute): Remove the special treatment
11114 for Qunspecified_{f,b}g.
11115 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
11116 string.
11117
047f434a
GM
111182000-01-03 Gerd Moellmann <gerd@gnu.org>
11119
11120 * xdisp.c (reseat_at_next_visible_line_start): Position before
11121 newline only if ending up on a newline.
11122 (next_element_from_ellipsis): Return success. Handle case of
11123 displaying no ellipsis. Fix case of ellipsis defined in display
11124 table.
11125 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11126 returns 0.
11127
d684c676
EZ
111282000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11129
11130 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11131 (Fcolor_supported_p): Renamed from face-color-supported-p.
11132
5fe1d139
EZ
111332000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11134
11135 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11136 list of colors renamed to tty-defined-color-alist.
11137 (tty_color_name): Pass the frame to tty-color-by-index.
11138 (realize_tty_face): tty-color-alist is now a function which
11139 accepts the frame as argument.
11140
11141 * term.c (Ftty_display_color_p): Accept an optional argument
11142 FRAME.
11143
816be8b8
EZ
111442000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11145
11146 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11147 encode_terminal_code.
11148
b635321e
EZ
111492000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11150
11151 * dispnew.c (mode_line_string): Support termcap frames as well.
11152
9b784e96
GM
111532000-01-01 Gerd Moellmann <gerd@gnu.org>
11154
27189709
GM
11155 * syntax.c (Fforward_word): Undo previous change.
11156
11157 * editfns.c (Fconstrain_to_field): Don't constrain if
11158 inhibit-field-text-motion is non-nil.
11159 (Fline_beginning_position): Undo previous change.
11160 (Fline_end_position): Ditto.
11161
11162 * syntax.c (Fforward_word): Notice field boundaries only if
11163 inhibit-field-text-motion is nil.
11164
11165 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11166
11167 * editfns.c (Vinhibit_field_text_motion): New variable.
11168 (inhibit-field-text-motion): New DEFVAR_LISP.
11169 (Fline_beginning_position, Fline_end_position): Notice field
11170 boundaries only if inhibit-field-text-motion is nil.
11171
45158a91
GM
11172 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11173 All calls adjusted.
11174 (x_build_heuristic_mask): Likewise.
11175 (xbm_load_image_from_file): Change error output.
11176 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11177 (gif_load, gs_load, x_kill_gs_process): Ditto.
11178
9b784e96
GM
11179 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11180 color indices when accessing raster pixels.
63cec32f
GM
11181 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11182 one of :file or :data.
11183 (enum pbm_keyword_index): Add PBM_DATA.
11184 (pbm_format): Add :data.
11185 (pbm_image_p): Allow either :file or :data.
11186 (pbm_read_file): New function.
11187 (pbm_scan_number): Rewritten to read from string.
11188 (pbm_load): Support :data.
9b784e96 11189
2cb085db 11190See ChangeLog.8 for earlier changes.
6922b018
KH
11191
11192;; Local Variables:
49b3bd82 11193;; coding: iso-2022-7bit
6922b018 11194;; End: