(Finding Files): Fix an example.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
f827b862
GM
12001-03-28 Gerd Moellmann <gerd@gnu.org>
2
deb2613a
GM
3 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4 instead of setting it to zero; it's incremented for each frame
5 where the menu face is changed.
6
44655e77
GM
7 * xterm.c (x_draw_relief_rect): Extend left shadow to the
8 bottom; change bottom shadow accordingly.
9
a02f1be0
GM
10 * xterm.c (expose_window_tree, expose_frame): Don't compute
11 intersections here.
12 (expose_window): Do it here instead.
13 (x_draw_glyph_string): Fix a computation of the underline
14 position.
15
f827b862
GM
16 * bytecode.c (BYTE_CODE_QUIT): New macro.
17 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
18
4bde0ebb
GM
192001-03-27 Gerd Moellmann <gerd@gnu.org>
20
607ec83c
GM
21 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
22 Give up if matrix starts in an ellipsis.
23 (init_from_display_pos): Do nothing if POS doesn't specify
24 a dpvec_index but the iterator has such a position.
25
0245398f
GM
26 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
27
aba25348
GM
28 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
29 x/y position is (0, 0) after destroying the menu bar, restore
30 its original position.
31
4bde0ebb
GM
32 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
33 (init_from_display_pos): Use it.
34 (try_window_reusing_current_matrix): Don't use cursor_row_p.
35
8cdb267e
GM
362001-03-26 Gerd Moellmann <gerd@gnu.org>
37
38 * xdisp.c (try_window_id): Undo last change.
39
9948db79
EZ
402001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
41
42 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
43
44 * buffer.c (syms_of_buffer): Doc fix.
45
2eddf899
GM
462001-03-26 Gerd Moellmann <gerd@gnu.org>
47
48 * xfaces.c (x_update_menu_appearance): Use local variable
49 popup_path for setting font resources.
50
6c145d35
EZ
512001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
52
6a65b1b5
EZ
53 * frame.c (Fframe_list): Don't reference tip_frame if
54 HAVE_WINDOW_SYSTEM is not defined.
55
6c145d35
EZ
56 * emacs.c (main): Update the copyright year. From Werner LEMBERG
57 <wl@gnu.org>.
58
d74c1900
GM
592001-03-25 Gerd Moellmann <gerd@gnu.org>
60
20fbd925
GM
61 * xdisp.c (init_from_display_pos): Test invisible property
62 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
63
927c5b3b
GM
64 * xdisp.c (redisplay_internal) <update one window>: Make sure
65 last_arrow_position and last_arrow_string are set.
66
d74c1900
GM
67 * frame.c (Fframe_list): Don't return a tooltip frame.
68
091f8878
GM
692001-03-23 Gerd Moellmann <gerd@gnu.org>
70
43c09969
GM
71 * xdisp.c (mark_window_display_accurate_1): New function,
72 extracted from mark_window_display_accurate. Compute
73 BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
74 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
75 (mark_window_display_accurate): Use it.
76 (redisplay_internal): Use it for the selected window.
77 (redisplay_internal): Avoid duplicate mark_window_display_accurate
78 for the selected frame.
79
ac90c44f
GM
80 * xdisp.c Use make_number, for readability.
81 (try_window_id): Disable rows below the window end.
82 (try_window_reusing_current_matrix): Use cursor_row_p.
83 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
84 of rows.
85 (init_from_display_pos): If POS specifies a position in a display
86 vector, maybe get the iterator set up for that ellipsis.
43c09969 87
091f8878
GM
88 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
89
991786dd
EZ
902001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
91
92 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
93
6c29b43c
GM
942001-03-23 Gerd Moellmann <gerd@gnu.org>
95
96 * xfaces.c (x_update_menu_appearance): Use a different path
97 for Lucid popup menus.
98
d8731202
SM
992001-03-22 Stefan Monnier <monnier@cs.yale.edu>
100
101 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
102
103 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
104 (string_buffer_position): Use `make_number'.
105
f61a541b
GM
1062001-03-22 Gerd Moellmann <gerd@gnu.org>
107
3c9e997b
GM
108 * xfaces.c (x_update_menu_appearance): Renamed from
109 x_set_menu_face_resources. Use different resources for popups.
110
111 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
112 (GC_CHECK_STRING_BYTES): Don't define.
113
364cd450
GM
114 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
115 Removed, together with subroutines.
116 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 117 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 118
d8731202
SM
119 * dispextern.h (x_set_menu_resources_from_menu_face):
120 Remove prototype.
364cd450 121
d8731202 122 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
123 Remove calls to x_set_menu_resources_from_menu_face.
124
d8731202
SM
125 * xfaces.c (xm_set_menu_resources_from_menu_face):
126 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
127
128 * xmenu.c: Include widget.h.
129 (single_submenu): Return int. Some cleanup.
130 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
131
140330de
GM
1322001-03-21 Gerd Moellmann <gerd@gnu.org>
133
134 * xterm.c (x_update_window_end): Handle overwritten mouse face
135 also for tool bar windows.
136 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
137 DRAW is DRAW_IMAGE_RAISED.
138
1741905c
GM
1392001-03-20 Gerd Moellmann <gerd@gnu.org>
140
fa88947e
GM
141 * print.c (syms_of_print): Doc fixes.
142
1741905c
GM
143 * fns.c (Fmd5): Doc fix.
144
ade0bee1
GM
1452001-03-19 Gerd Moellmann <gerd@gnu.org>
146
357e7376
GM
147 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
148 Clear area of the frame not occupied by the scroll bar.
149
c2c097cc
GM
150 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
151 tip frame's root window buffer to *tip* right after creating
152 the frame.
153
ade0bee1
GM
154 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
155 is an integer don't have to be for space characters.
156
88c6e37e
GM
1572001-03-16 Gerd Moellmann <gerd@gnu.org>
158
159 * indent.c (current_column, current_column_1, Fmove_to_column)
160 (compute_motion): Handle characters from display vectors
161 differently.
162
c62eed76
KH
1632001-03-15 Kenichi Handa <handa@etl.go.jp>
164
165 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
166 drawing glyph string.
167
c899e7e6
GM
1682001-03-15 Gerd Moellmann <gerd@gnu.org>
169
d0bbfc99
GM
170 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
171 (command_loop_1): Undo last change.
172
03d1a189
GM
173 * xterm.c (fast_find_position): Return the correct vpos.
174
c899e7e6
GM
175 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
176 non-null, set a per-buffer value in BUF instead of the current
177 buffer.
178 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
179 Call store_symval_forwarding with BUF null.
180 (set_internal): Call store_symval_forwarding with the BUF
181 parameter passed to set_internal. Formerly, the value was always
182 set in the current buffer; the buffer recorded in specbind for
183 this case wasn't used.
184 (arith_driver): Reindent.
185
186 * buffer.c (swap_out_buffer_local_variables): Call
187 store_symval_forwarding with BUF null.
188
189 * lisp.h (store_symval_forwarding): Change prototype.
190
191 * eval.c (specbind): Call store_symval_forwarding with BUF null.
192
57ac7c81
GM
1932001-03-14 Gerd Moellmann <gerd@gnu.org>
194
697617d9
GM
195 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
196 FOR_DELETION. Avoid resizing the mini-window of the selected
197 frame if FOR_DELETION is set.
198 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
199 (Fmake_frame_invisible): Change calls to do_switch_frame for new
200 signature.
201
202 * window.c (Fset_window_configuration): Change call to
203 do_switch_frame to new format.
204
205 * keyboard.c (quit_throw_to_read_char): Change call to
206 do_switch_frame to new format.
207
208 * lisp.h (do_switch_frame): Change prototype.
209
819dce0f
GM
210 * frame.c (Fframe_parameters): In the `buffer-list' frame
211 parameter, store the buffer list of FRAME, not the list of the
212 selected frame.
213
57ac7c81
GM
214 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
215 box just because the glyph row's full_width_p flag is set.
216
65008712
GM
2172001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
218
219 * xdisp.c (highlight_trailing_whitespace): On character terminals,
220 skip the padding blanks inserted in extend_face_to_end_of_line,
221 before checking for trailing whitespace.
222
159cf431
GM
2232001-03-13 Gerd Moellmann <gerd@gnu.org>
224
19b2bb80
GM
225 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
226 Remove special handling for LessTif/Motif.
227 (toplevel): Don't include Xm/Xm.h.
228
afcdc0a1
GM
229 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>: Remove
230 workaround code for LessTif; it doesn't work anymore.
231
2564ea1b 232 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 233 Xm/ScrollBarP.h.
afcdc0a1 234
23442ae4
GM
235 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Don't
236 access private scroll bar data; it's no longer necessary with
237 contemporary LessTif.
238
9faaaa52
GM
239 * xfaces.c (xm_set_menu_resources_from_menu_face): Change
240 #if 0 to #ifndef LESSTIF_VERSION.
241
159cf431
GM
242 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
243 removing button grabs.
244
c6f7429a
KH
2452001-03-13 Kenichi Handa <handa@etl.go.jp>
246
cb82d767
KH
247 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
248 and clip-large-size-font as obsolete.
249
c6f7429a
KH
250 * lread.c (read_multibyte): Check the validity of multibyte
251 sequence. If invalid, return the first byte.
252
760cefb5
GM
2532001-03-12 Gerd Moellmann <gerd@gnu.org>
254
255 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
256 before running the command; timer functions or process
257 filters may have set it.
258
5141f9d0
EZ
2592001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
260
261 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
262 Doc fix.
263
b6a15240
GM
2642001-03-12 Gerd Moellmann <gerd@gnu.org>
265
266 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
267 to sprintf.
268
95522746
GM
2692001-03-09 Gerd Moellmann <gerd@gnu.org>
270
db14cfc5
GM
271 * dispextern.h (string_buffer_position): Add prototype.
272
273 * xdisp.c (string_buffer_position, display_prop_string_p)
274 (single_display_prop_string_p): New functions.
275
276 * xterm.c (note_mouse_highlight): If there's no help-echo on
277 a string, look at the buffer text ``under'' it.
278
279 * keyboard.c (make_lispy_event): Add string info to the event,
280 analogous to what's done on mode lines.
281 (read_key_sequence): For a click on a string, consider `local-map'
282 and `keymap' of that string.
283
3cfd8357
GM
284 * keyboard.c (make_lispy_event, make_lispy_movement): Adjust
285 calls to buffer_posn_from_coords to new format.
286
287 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
288
289 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
290 POS; return void.
291
95522746
GM
292 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
293 flags argument to emacs_open; it seems to conflict with O_EXCL.
294
898a399d
KH
2952001-03-09 Kenichi Handa <handa@etl.go.jp>
296
28cd4910
KH
297 * composite.h (struct composition): Change types of members;
298 glyph_len to unsigned, width to unsigned short.
898a399d 299
4cdf6a6c
AI
3002001-03-08 Andrew Innes <andrewi@gnu.org>
301
302 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
303 menu titles.
304
129004d3
GM
3052001-03-08 Gerd Moellmann <gerd@gnu.org>
306
221dd3e7
GM
307 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
308 instead of nil.
309
5de7c6f2
GM
310 * xterm.c (note_mouse_highlight): Handle mouse-face and
311 help-echo in strings.
312 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
313 (fast_find_string_pos): New function.
314
315 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
316 (display_string): Call face_at_string_position with new
317 parameter.
318
319 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
320 Handle `mouse-face'.
321
322 * dispextern.h (face_at_string_position): Change prototype.
323
e1fbabaf
GM
324 * dired.c (directory_files_internal): Handle EAGAIN more
325 efficiently.
326
129004d3
GM
327 * keyboard.c (make_lispy_event): Avoid generating drag events
328 if the mouse hasn't actually moved to another buffer position.
329
80c8ab8c
DL
3302001-03-08 Dave Love <fx@gnu.org>
331
129004d3 332 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 333
989521fd
GM
3342001-03-08 Gerd Moellmann <gerd@gnu.org>
335
336 * process.c (Fset_process_window_size): Fix a typo.
337
bb5c338d
KH
3382001-03-08 Kenichi Handa <handa@etl.go.jp>
339
340 * coding.c (detect_coding_sjis): Do more rigid check.
341 (detect_coding_big5): Likewise.
342 (decode_coding_sjis_big5): Likewise.
343 (Fdetect_coding_region): Call detect_coding_system with tailing
344 anchor byte `\0' for more rigid detection.
a1b12fe9
KH
345 (detect_coding_mask): Fix the incorrect handling of arg
346 MULTIBYTEP.
bb5c338d
KH
347 (Fdetect_coding_string): Likewise.
348
8b8f9197
SM
3492001-03-07 Stefan Monnier <monnier@cs.yale.edu>
350
351 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
352 a string before extracting its data.
353
3bdf2660
GM
3542001-03-07 Gerd Moellmann <gerd@gnu.org>
355
356 * window.c (Frecenter): Rewrite code handling negative values
357 of ARG on graphical frames.
358
3592001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
360
361 * window.c (displayed_window_lines): If W->start is outside the
362 accessible portion of the buffer, call start_display with BEGV or
363 ZV instead of W->start.
364
471f86b9
GM
3652001-03-07 Gerd Moellmann <gerd@gnu.org>
366
2ab62c6c
GM
367 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
368
471f86b9
GM
369 * process.c (Fset_process_filter): Don't crash if the input
370 file descriptor of PROCESS is closed.
371 (Fset_process_window_size): Likewise.
372
101922c3
GM
3732001-03-06 Kenichi Handa <handa@etl.go.jp>
374
375 * xterm.c (XTflash): Make the timeout of select shorter, and call
376 select repeatedly until the desired time expires.
377
45d051a7
GM
3782001-03-06 Gerd Moellmann <gerd@gnu.org>
379
380 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
381
382 * xfns.c (Fx_create_frame): Clear Vwindow_list.
383
384 * lisp.h (Vwindow_list): Declare extern.
385
8f372c46
EZ
3862001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
387
388 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
389
f16a7aa5
GM
3902001-03-06 Gerd Moellmann <gerd@gnu.org>
391
157ae273
GM
392 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
393 to detect a case where we have to highlight a different region
394 despite not having left the currently highlighted region.
395 Set mouse_face_overlay in the x_display_info.
45d051a7 396 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
397
398 * xterm.h (struct x_display_info): Add mouse_face_overlay.
399
400 * buffer.c (mouse_face_overlay_overlaps): New function.
401
402 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
403 (Qmouse_face): Declare extern.
404
f16a7aa5
GM
405 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
406 if face_change_count is non-zero.
407
827afcac
KH
4082001-03-06 Kenichi Handa <handa@etl.go.jp>
409
410 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
411 that the source is unibyte.
412
14c7242e
DL
4132001-03-05 Dave Love <fx@gnu.org>
414
827afcac 415 * xterm.c (XTmouse_position): Fix typo.
14c7242e 416
c28b847b
GM
4172001-03-05 Gerd Moellmann <gerd@gnu.org>
418
419 * minibuf.c (read_minibuf): Clean up the binding stack if
420 called noninteractively.
421
b86644f2
KH
4222001-03-05 Kenichi Handa <handa@etl.go.jp>
423
424 * coding.c (syms_of_coding): Docstring modified.
425
203682cc 4262001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
427
428 * charset.c (char_to_string): If a single byte char has modifier
429 bits that can't be reflected to the character code, ignore them
45d051a7 430 instead of signaling an error.
b86644f2 431
e30bd7b7
EZ
4322001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
433
434 * s/msdos.h: Update copyright notice.
435
436 * dosfns.h: Update copyright notice.
437
438 * dosfns.c: Update copyright notice.
439
440 * msdos.c: Update copyright notice.
441
b52b65bd
GM
4422001-03-02 Gerd Moellmann <gerd@gnu.org>
443
444 * xterm.c (glyph_rect): New function.
445 (XTmouse_position): Use it to raise the threshold for mouse
446 movement event generation.
447
53c4b1e6
EZ
4482001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
449
450 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
451 specifies (reverse . t), reverse the initial screen colors.
452 (IT_set_frame_parameters): If the property is foreground-color,
453 but we are reversing the colors, set bg_set, not fg_set. Likewise
454 for setting background-color and reversing: set fg_set. Set
455 unspecified-fg and unspecified-bg correctly when (reverse . t) is
456 in effect.
457
458 * xfaces.c (Finternal_set_lisp_face_attribute)
459 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
460 parameters alist.
461
f964b4d7
GM
4622001-03-02 Gerd Moellmann <gerd@gnu.org>
463
ef53d75e
GM
464 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
465 to a single slash in the middle of file names.
466
cda0f4da
GM
467 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
468 Accept only alphanumeric time zone names.
469
f964b4d7
GM
470 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
471 or width area.
472 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
473 a widget to zero height.
474
c3c45f65
GM
4752001-03-01 Gerd Moellmann <gerd@gnu.org>
476
477 * window.c (Fwindow_end): Call move_it_past_eol only if
478 ending up on a partially visible line.
479
028d739a
DL
4802001-03-01 Dave Love <fx@gnu.org>
481
482 * ccl.c (Fccl_execute): Doc fix.
483
57c5889c
GM
4842001-03-01 Gerd Moellmann <gerd@gnu.org>
485
35f59f6b
GM
486 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
487 of the tool bar before calling x_figure_window_size.
488
f84ff02c
GM
489 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
490 NULL after destroying it, otherwise XTread_socket can access a
491 destroyed widget when input is unblocked.
492
8b8f9197 493 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
420f628c 494
57c5889c
GM
495 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
496 same name as before, although there was a change in fontsets.
497
224227d1
KR
4982001-02-28 Ken Raeburn <raeburn@gnu.org>
499
4560730a
KR
500 * lisp.h (Fframe_parameter): Declare.
501
224227d1 502 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 503 Lisp_Object.
224227d1 504
ece93c02
GM
5052001-02-28 Gerd Moellmann <gerd@gnu.org>
506
11ef99b9
GM
507 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
508 NULL instead.
509
510 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
511 NULL instead.
512
ece93c02
GM
513 * alloc.c (toplevel): Include process.h.
514 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
515 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
516 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
517 (allocate_vector, allocate_hash_table, allocate_window)
518 (allocate_frame, allocate_process, allocate_other_vector): New
519 functions.
520 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
521 (mark_maybe_pointer): New function.
522 (mark_memory): Also mark Lisp data to which only pointers
523 remain and not Lisp_Objects.
524 (min_heap_address, max_heap_address): New variables.
525 (mem_find): Return MEM_NIL if START is below min_heap_address or
526 above max_heap_address.
527 (mem_insert): Compute min_heap_address and max_heap_address.
528
529 * process.c (make_process): Use allocate_process.
530
531 * frame.c (make_frame): Use allocate_frame.
532
533 * window.c (make_window, make_dummy_parent): Use allocate_window.
534 (Fcurrent_window_configuration): Use allocate_other_vector.
535
536 * lisp.h (allocate_vectorlike): Remove prototype.
537 (allocate_vector, allocate_other_vector, allocate_frame)
538 (allocate_window, allocate_process, allocate_hash_table):
539 Add prototypes.
540
541 * fns.c (Fdelete, larger_vector): Use allocate_vector.
542 (make_hash_table, copy_hash_table): Use allocate_hash_table.
543
063af457
KH
5442001-02-27 Kenichi Handa <handa@etl.go.jp>
545
546 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
547 treat the produced bytes as a valid multibyte sequence.
548
549 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
550 (ccl_driver) <CCL_WriteMultibyteChar2>: Use
551 CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
552 <ccl_finish>: Set ccl->eight_bit_control properly.
553
554 * ccl.h (struct ccl_program): New member eight_bit_control.
555
f58c6494
SM
5562001-02-26 Stefan Monnier <monnier@cs.yale.edu>
557
558 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
559 accessible_keymaps_char_table.
560 (accessible_keymaps_char_table): Obey `is_metized'.
561 (where_is_internal, Fwhere_is_internal): Don't confuse int and
562 Lisp_Object.
563
c596c392
GM
5642001-02-26 Gerd Moellmann <gerd@gnu.org>
565
566 * dispnew.c: Check HAVE_TERM_H before including term.h.
567
425de386
AI
5682001-02-24 Andrew Innes <andrewi@gnu.org>
569
570 * makefile.w32-in: Update copyright notice.
571
2ba11bbd
SM
5722001-02-24 Stefan Monnier <monnier@cs.yale.edu>
573
574 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
575
66c56ed1
KH
5762001-02-24 Kenichi Handa <handa@etl.go.jp>
577
4c1593ce
KH
578 * Makefile.in (lisp): Add international/utf-8.elc.
579
66c56ed1
KH
580 * fontset.c (Fnew_fontset): Fix handling of the case that an
581 element of FONTLIST is a cons of family and registry.
582
796ead7e
JR
5832001-02-23 Jason Rumney <jasonr@gnu.org>
584
585 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
586 to height unconditionally.
587
588 * w32term.c (x_set_glyph_string_background_width): Extend the
589 background face to the end of the drawing area in the text area,
590 only.
591 (x_insert_glyphs): Call window_box_left to obtain the left
592 x-coordinate of the area to shift.
593
594 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
595 safe_run_hooks.
596
f6839838
AI
5972001-02-22 Andrew Innes <andrewi@gnu.org>
598
599 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header
600 files.
601 ($(BLD)\dispnew.obj):
602 ($(BLD)\editfns.obj):
603 ($(BLD)\fileio.obj):
604 ($(BLD)\filelock.obj):
605 ($(BLD)\keyboard.obj):
606 ($(BLD)\w32proc.obj):
607 ($(BLD)\process.obj):
608 ($(BLD)\sysdep.obj): Ditto.
609
610 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
611 header files.
612 ($(BLD)/dispnew.$(O)):
613 ($(BLD)/editfns.$(O)):
614 ($(BLD)/fileio.$(O)):
615 ($(BLD)/filelock.$(O)):
616 ($(BLD)/keyboard.$(O)):
617 ($(BLD)/w32proc.$(O)):
618 ($(BLD)/process.$(O)):
619 ($(BLD)/sysdep.$(O)): Ditto.
620
c224f70b
GM
6212001-02-22 Gerd Moellmann <gerd@gnu.org>
622
51695746
GM
623 * xdisp.c (forward_to_next_line_start): When taking the shortcut
624 at the start of the function, check that the \n in it->c is
625 from the iterator's current position.
626
a61b7058
GM
627 * xdisp.c (handle_single_display_prop): Add parameter
628 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
629 properties which replace the display of text with something else.
630 (handle_display_prop): Call handle_single_display_prop with
631 additional argument saying if we already replaced text display
632 with something else. Use AREF.
633 (with_echo_area_buffer_unwind_data, display_menu_bar)
634 (decode_mode_spec_coding): Use AREF and ASIZE.
635
3473f362
GM
636 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
637 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
638 * vmstime.h: Files removed.
639
2bb58df3
GM
640 * unexencap.c, unexfx2800.c: Files removed.
641
c224f70b
GM
642 * dispnew.c (direct_output_for_insert): Give up if we are showing
643 a message or just cleared the message because we might need to
644 resize the echo area window or display an empty echo area.
645
ffc9ff0c
GM
6462001-02-21 Gerd Moellmann <gerd@gnu.org>
647
0528abe1
GM
648 * xdisp.c (redisplay_internal): Do the
649 mark_window_display_accurate after all windows have been
650 redisplayed because this call resets flags in buffers which are
651 needed for proper redisplay.
652
ffc9ff0c
GM
653 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
654 display_hourglass_p, start_hourglass, cancel_hourglass instead of
655 the old names.
656
657 * w32term.h (struct x_output): Rename busy_cursor to
658 hourglass_cursor, busy_window to hourglass_window, busy_p to
659 hourglass_p.
660
661 * msdos.h (struct x_output): Rename busy_window to
662 hourglass_window, busy_p to hourglass_p.
663
664 * xterm.h (struct x_output): Rename busy_cursor to
665 hourglass_cursor, busy_window to hourglass_window, busy_p to
666 hourglass_p.
667
668 * xfns.c: Rename everything containing *busy_cursor* and similar
669 to *hourglass*.
670 (syms_of_w32fns): Rename x-busy-pointer-shape to
671 x-hourglass-pointer-shape, display-busy-cursor to
672 display-hourglass, busy-cursor-delay to hourglass-delay.
673
674 * w32fns.c: Rename everything containing *busy_cursor* and similar
675 to *hourglass*.
676 (syms_of_w32fns): Rename x-busy-pointer-shape to
677 x-hourglass-pointer-shape, display-busy-cursor to
678 display-hourglass, busy-cursor-delay to hourglass-delay.
679
680 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
681 of its busy_p flag.
682
683 * dispextern.h (start_hourglass, cancel_hourglass)
684 (display_hourglass_p): Renamed from *busy_cursor*.
685
ab2c5f0a
GM
6862001-02-20 Gerd Moellmann <gerd@gnu.org>
687
d17e49a8
GM
688 * keyboard.c (read_char): When an event from unread-command-events
689 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
690
fa97adf6
GM
691 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
692 equal to the current buffer.
693
ab2c5f0a
GM
694 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
695 nil, otherwise we're left with truncate_lines t when a message
696 is printed with message-truncate-lines bound to t.
697
aeac019e
GM
6982001-02-19 Gerd Moellmann <gerd@gnu.org>
699
c8bc6f65
GM
700 * window.c (Fmove_to_window_line): Undo last change.
701 (displayed_window_lines): Call line_bottom_y to determine
702 the line's bottom position.
703
704 * dispextern.h (line_bottom_y): Add prototype.
705
706 * xdisp.c (line_bottom_y): New function extracted from
707 pos_visible_p.
708 (pos_visible_p): Use it.
709
980a2d69
GM
710 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
711 set redisplaying_p to 0 here instead of in Frecursive_edit.
712 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
713 set redisplaying_p.
714
184d2372
GM
715 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
716 New variables.
717 (syms_of_xdisp): Initialize new variables.
718 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
719 Specbind `inhibit-menubar-update' when updating the menu bar.
720
65048e97
GM
721 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
722 safe_run_hooks.
723
724 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
725 safe_run_hooks.
726
a57c4026
GM
727 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
728 is null.
729
aeac019e
GM
730 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
731 to the start of the file.
732
76846b31
GM
7332001-02-16 Gerd Moellmann <gerd@gnu.org>
734
f3f053f3 735 * window.c (set_window_buffer): Fix last change.
25237df5 736
f3f053f3
GM
737 * window.c (set_window_buffer): Set window's vscroll to 0.
738
dad75588
GM
739 * window.c (coordinates_in_window): Increase width of area
740 where the vertical line can be dragged.
741
c220b753
GM
742 * xterm.c (x_set_glyph_string_background_width): Extend the
743 background face to the end of the drawing area in the text
744 area, only.
745
c56b1c1b
GM
746 * xdisp.c (handle_single_display_prop): Set iterator's position
747 to where the `display' property starts, like for images.
748 (dump_glyph): New function.
749 (dump_glyph_row): Use it. Dump info about marginal areas.
750
751 * dispnew.c (direct_output_for_insert): Recognize more cases where
752 glyphs can be written instead of being inserted.
753
754 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
755 the left x-coordinate of the area to shift.
756
76846b31
GM
757 * dired.c (directory_files_internal): Set result list to nil
758 before retrying.
759
0fc71a77
KH
7602001-02-15 Kenichi Handa <handa@etl.go.jp>
761
762 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
763 invalid multibyte sequence, treat *SRC as a character of
764 eight-bit-graphic.
765
25078b54
EZ
7662001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
767
768 * textprop.c (Fset_text_properties): Doc fix.
769
8399f8a0
GM
7702001-02-15 Gerd Moellmann <gerd@gnu.org>
771
772 * dispnew.c (update_text_area): Undo change of 2001-01-12.
773
9a2a6f73
DL
7742001-02-14 Dave Love <fx@gnu.org>
775
776 * coding.c: Doc and message fixes.
777
bf853fee
AI
7782001-02-14 Andrew Innes <andrewi@gnu.org>
779
780 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
781 Emacs frame above the screen size.
782
78c663d8
GM
7832001-02-14 Gerd Moellmann <gerd@gnu.org>
784
785 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
786
7cc9f69f
GM
7872001-02-13 Gerd Moellmann <gerd@gnu.org>
788
0a411995
GM
789 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
790 case that TO ends up beyond ZV after running before-change-functions.
791
5ddc1b75
GM
792 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
793 the selected window if it is showing the buffer in question.
794
7cc9f69f
GM
795 * dired.c (directory_files_internal): Initialize errno.
796 (toplevel): Include errno.h.
797
2e6621ca
GM
7982001-02-13 Kenichi Handa <handa@etl.go.jp>
799
800 * xfaces.c (best_matching_font): New parameter width_ratio.
801 Multiply avgwidth by width_ratio.
802 (choose_face_font): Call best_matching_font with width_ratio
803 calculated from the column width of C.
804
60222d69
AI
8052001-02-12 Andrew Innes <andrewi@gnu.org>
806
807 The following changes are to draw box lines inside characters area
808 if line-width is negative.
809
810 * w32term.c (x_produce_image_glyph): Pay attention to the case that
811 face->box_line_width is negative.
812 (x_produce_stretch_glyph): Likewise.
813 (x_produce_glyphs): Likewise.
814 (x_estimate_mode_line_height): Likewise.
815 (x_draw_glyph_string_background): Likewise.
816 (x_draw_glyph_string_foreground): Likewise.
817 (x_draw_composite_glyph_string_foreground): Likewise.
818 (x_draw_glyph_string_box): Likewise.
819 (x_draw_image_foreground): Likewise.
820 (x_draw_image_relief): Likewise.
821 (x_draw_image_foreground_1): Likewise.
822 (x_draw_image_glyph_string): Likewise.
823
9804b846
KH
8242001-02-09 Kenichi Handa <handa@etl.go.jp>
825
826 The following changes are to draw box lines inside characters area
827 if line-width is negative.
828
829 * xterm.c (x_produce_image_glyph): Pay attention to the case that
830 face->box_line_width is negative.
831 (x_produce_stretch_glyph): Likewise.
832 (x_produce_glyphs): Likewise.
833 (x_estimate_mode_line_height): Likewise.
834 (x_draw_glyph_string_background): Likewise.
835 (x_draw_glyph_string_foreground): Likewise.
836 (x_draw_composite_glyph_string_foreground): Likewise.
837 (x_draw_glyph_string_box): Likewise.
838 (x_draw_image_foreground): Likewise.
839 (x_draw_image_relief): Likewise.
840 (x_draw_image_foreground_1): Likewise.
841 (x_draw_image_glyph_string): Likewise.
842
843 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
844 and :line-width can be negative.
845 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be
846 negative.
847
49be9f70
JR
8482001-02-09 Jason Rumney <jasonr@gnu.org>
849
850 * w32term.c (w32_encode_char): Treat eight bit graphic and control
851 characters the same as ASCII and latin-1.
852 (x_display_and_set_cursor): Check for the focus frame's selected
853 window instead of selected_window.
854 (x_after_update_window_line): Don't clear if frame's internal
855 border width is zero.
856 (x_new_font): Don't change a tooltip's size.
857 (w32_initialize): Set char_ins_del_ok to 1.
858
859 * w32fns.c (Fx_show_tip): Fix calls to make_number.
860 (x_set_font): If font hasn't changed, avoid recomputing
861 faces and other things.
862 (x_set_tool_bar_lines): Do nothing if frame is
863 minibuffer-only,
864 (Fx_create_frame): Add the tool bar height to the frame
865 height.
866 (x_create_tip_frame): Prevent changing the tooltip's
867 background color by specifying a color for the default font
868 in .Xdefaults.
869 (Qcancel_timer): New variable.
870 (syms_of_w32fns): Initialize and staticpro it.
871 (Fx_hide_tip, Fx_show_tip): Use it.
872 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
873 the timer.
874 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
875
876 * w32.c (init_environment): Duplicate local string before putenv.
877
555e35d2
SZ
8782001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
879
880 * charset.c (Fstring): A typo.
881
19c92c94
KH
8822001-02-09 Kenichi Handa <handa@etl.go.jp>
883
e47a1c33
KH
884 * charset.c (Fstring): If all arguments are less than 256, return
885 a unibyte string.
886
887 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
888 return a unibyte string.
889
19c92c94
KH
890 * coding.c (code_convert_region): After detecting a coding, if
891 nothing found, set coding->composing to COMPOSITION_NO.
892 (decode_coding_string): Likewise.
893
d8e675f5
SM
8942001-02-08 Stefan Monnier <monnier@cs.yale.edu>
895
896 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
897 to avoid overflow.
898
bd503487
KH
8992001-02-07 Kenichi Handa <handa@etl.go.jp>
900
901 * charset.c (parse_str_to_multibyte): New function.
902
903 * charset.h (parse_str_to_multibyte): Extern it.
904
905 * print.c (print_string): If we are going to print a unibyte
906 string into a multibyte buffer, convert the string to multibyte by
907 str_to_multibyte.
908
a8370d72
AI
9092001-02-06 Andrew Innes <andrewi@gnu.org>
910
911 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
912 been created. It seems we can get sent window messages such as
913 WM_ERASEBKGND before we properly update a frame.
914
c363a1d6
GM
9152001-02-06 Gerd Moellmann <gerd@gnu.org>
916
917 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
918 Avoid some unnecessary cursor positioning.
919
a08332c0
GM
9202001-02-05 Gerd Moellmann <gerd@gnu.org>
921
922 * xfaces.c (split_font_name): Compute numeric value of
923 XLFD_AVGWIDTH.
924 (LFACE_AVGWIDTH): New macro.
925 (LFACEP): Use AREF.
926 (check_lface_attrs): Check LFACE_AVGWIDTH.
927 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
928 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
929 (merge_face_vectors): Check LFACE_AVGWIDTH.
930 (Finternal_make_lisp_face): Use AREF.
931 (xm_set_menu_resources_from_menu_face)
932 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
933 (Finternal_lisp_face_empty_p): Use AREF.
934 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
935 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
936 Compare average widths..
937 (best_matching_font): Arrange for comparing average widths.
938
939 * dispextern.h (enum lface_attribute_index): Add
940 LFACE_AVGWIDTH_INDEX (invisible from Lisp).
941
5cb3c8d4
DL
9422001-02-05 Dave Love <fx@gnu.org>
943
944 * puresize.h: Revert last change following loadup.el change.
945
193fba87
AI
9462001-02-05 Andrew Innes <andrewi@gnu.org>
947
948 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
949 invocation of temacs, to work with Windows 2000.
950 (bootstrap-emacs): Ditto.
951
e16f52ce
GM
9522001-02-05 Gerd Moellmann <gerd@gnu.org>
953
7a58ab59
GM
954 * xterm.c (x_display_and_set_cursor): Check for the focus
955 frame's selected window instead of selected_window.
956
e89aaabd
GM
957 * xdisp.c (try_scrolling): If point is in the line below the
958 window, make sure to move the iterator at least a canonical
959 char height down.
960
e16f52ce
GM
961 * window.c (Fmove_to_window_line): Don't add 1 if window is
962 vscrolled.
963
789ce875
KH
9642001-02-05 Kenichi Handa <handa@etl.go.jp>
965
966 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If
967 invalid, execute CCL_INVALID_CMD.
968 (ccl_driver): If the CCL program is terminated because of
969 CCL_STAT_INVALID_CMD, copy the remaining source data to the
970 destination instead of throwing them away.
971
20b28f82
GM
9722001-02-02 Gerd Moellmann <gerd@gnu.org>
973
79fb38c0
GM
974 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
975 faces and other things.
976
20b28f82
GM
977 * xdisp.c (get_next_display_element): Fix case of empty
978 display table entry.
979
5a72551e
EZ
9802001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
981
eb24d0bf
EZ
982 * editfns.c (Fconstrain_to_field): Doc fix.
983
6a3f48c7
EZ
984 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
985 into `thoroughly', to make it consistent with the doc string.
986
5a72551e
EZ
987 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
988
01acdb05
GM
9892001-02-01 Gerd Moellmann <gerd@gnu.org>
990
0353b28f
GM
991 * search.c (search_buffer): Call set_search_regs with a byte
992 position, not a character position.
993
01acdb05
GM
994 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
995 minibuffer-only,
996
e86b5133
EZ
9972001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
998
999 * frame.c (Fmodify_frame_parameters): Doc fix.
1000
7442878f
GM
10012001-01-31 Gerd Moellmann <gerd@gnu.org>
1002
01acdb05
GM
1003 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1004 identifier which is not reserved by Standard C.
1005
7442878f
GM
1006 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1007
1008 * window.c (enum window_part): New enumeration.
1009 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1010 Qright_bitmap_area.
1011 (coordinates_in_window): Return an enumerator from enum
1012 window_part. Fix handling of right scroll bar.
1013 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1014 `right-fringe' instead of `left-bitmap-area' and
1015 `right-bitmap-area'. Use enumerators from enum window_part
1016 instead of hard-coded integers.
1017 (check_window_containing, window_from_coordinates): Use
1018 enumerators from enum window_part instead of hard-coded integers.
1019 (syms_of_window): Replace Qleft_bitmap_area and
1020 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1021
7c132cba
EZ
10222001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1023
1024 * editfns.c (Fformat_time_string): Doc fix.
1025
c359dd9e
SM
10262001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1027
1028 * keymap.c (Fwhere_is_internal): Use the first valid binding
1029 if no ascii binding is found (when firstonly is t).
1030
ce070307
GM
10312001-01-31 Gerd Moellmann <gerd@gnu.org>
1032
b4f30ec5
GM
1033 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1034 instead of Finteractive_p.
1035
1036 * lisp.h (interactive_p): Add prototype.
1037
1038 * eval.c (interactive_p): New function.
1039 (Finteractive_p): Use it.
1040
ce070307
GM
1041 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1042
f57b6e64
DL
10432001-01-31 Dave Love <fx@gnu.org>
1044
d61c7afe
DL
1045 * .gdbinit (hook-run): Define to run xreload.
1046
f57b6e64
DL
1047 * textprop.c (Fset_text_properties): Fix newline in doc string.
1048
eef93f99
GM
10492001-01-30 Gerd Moellmann <gerd@gnu.org>
1050
1051 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use
1052 DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
1053
1054 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
1055 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
1056 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1057
1058 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1059 height.
1060
d9c1f6f9
DL
10612001-01-30 Dave Love <fx@gnu.org>
1062
1063 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1064 AFTER_POTENTIAL_GC.
1065
e8f044a0
GM
10662001-01-29 Gerd Moellmann <gerd@gnu.org>
1067
1068 * bytecode.c (Fbyte_code) <Bcurrent_column>: Add
1069 BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
1070
8e1db7b3
EZ
10712001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1072
1073 * textprop.c (Fset_text_properties): Doc fix.
1074
4eefd9d2
GM
10752001-01-29 Gerd Moellmann <gerd@gnu.org>
1076
1077 * xdisp.c (forward_to_next_line_start): Remove xassert.
1078
fccb8288
EZ
10792001-01-29 Jason Rumney <jasonr@gnu.org>
1080
4eefd9d2 1081 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1082 returning without releasing it.
1083
76581eab
KH
10842001-01-29 Kenichi Handa <handa@etl.go.jp>
1085
1086 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1087 for '^', '$', and '\0'.
1088
83a96b4d
AC
10892001-01-28 Andrew Choi <akochoi@i-cable.com>
1090
5604ec34
AC
1091 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1092 regex for '^', '$', and '\0'.
1093
83a96b4d
AC
1094 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1095 only if current_sblock has been initialized.
1096
1097 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1098 terminal frame even if it is the only visible frame.
1099
c09a6440
KH
11002001-01-28 Kenichi Handa <handa@etl.go.jp>
1101
1102 * fontset.c (font_family_registry): Even if FONTNAME conform to
1103 XLFD, if it specifies other fields than family and registry,
1104 return FONTANME. New argument FORCE if nonzero cancel that
1105 feature.
1106 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
1107 a signle byte character. Don't set FAMILY part to nil here. It
1108 is handled by the caller choose_face_font.
1109 (Fnew_fontset): Call font_family_registry with FORCE 0.
1110 (Fset_fontset_font): Likewise.
1111
4dcd74e6
GM
11122001-01-27 Gerd Moellmann <gerd@gnu.org>
1113
1114 * xdisp.c (display_line): Don't treat a newline as fitting
1115 on the line.
1116
d2906bf8
GM
11172001-01-26 Gerd Moellmann <gerd@gnu.org>
1118
0130fe1a
GM
1119 * window.c (size_window): Set the window's orig_top to nil when
1120 changing heights, so that a future shrink_mini_window won't
1121 restore a bogus height.
1122
550f0e6a
GM
1123 * frame.c (do_switch_frame): If selected frame has a mini-window,
1124 resize that to exact size.
1125
b7b20fbd
GM
1126 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1127
a47b7816
GM
1128 * xdisp.c (display_line): Simplify check for glyphs fitting
1129 entirely in the line.
1130
d2906bf8
GM
1131 * xfns.c (xic_style): New variable.
1132 (create_frame_xic): Move static variable to global scope for
550f0e6a 1133 the case that `static' gets defined away.
d2906bf8 1134
73df2b1e
KH
11352001-01-26 Kenichi Handa <handa@etl.go.jp>
1136
1137 * coding.c (decode_coding): Set a flag for inhibiting
1138 inconsistent eol.
1139 (code_convert_region): Always set saved_coding_symbol.
1140 (decode_coding_string): Likewise. Update coding->symbol when we
1141 encounter a inconsistent eol by the same way as
1142 code_convert_region.
1143
6613cfc4
GM
11442001-01-25 Gerd Moellmann <gerd@gnu.org>
1145
c5e6e06b
GM
1146 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1147 XClearArea.
1148
1149 * xterm.c (x_after_update_window_line): Don't clear if frame's
1150 internal border width is zero.
1151 (x_clear_area): New function.
1152 (x_after_update_window_line, x_clear_end_of_line)
1153 (x_scroll_bar_create, x_scroll_bar_set_handle)
1154 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1155 instead of XClearArea.
1156
1157 * xterm.h (x_clear_area): Add prototype.
1158
6613cfc4
GM
1159 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1160 which doesn't seem necessary anymore with Lesstif 0.92.
1161
650cc6cc
DL
11622001-01-25 Dave Love <fx@gnu.org>
1163
34ac3367
DL
1164 * puresize.h (BASE_PURESIZE): Up to 720000.
1165
650cc6cc
DL
1166 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1167
5e37dc22
GM
11682001-01-25 Gerd Moellmann <gerd@gnu.org>
1169
e1e441f9
GM
1170 * xdisp.c (echo_area_display): Don't call redisplay_internal
1171 when Emacs is shutting down. We can't run hooks etc. that
1172 would be necessary to do a redisplay.
1173
5e37dc22
GM
1174 * lread.c (read_integer): Use type EMACS_INT instead of int.
1175
0fb94c7f
EZ
11762001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1177
1178 * ccl.c (ccl_driver): Fix last change.
1179
e3778624
KH
11802001-01-25 Kenichi Handa <handa@etl.go.jp>
1181
1182 * ccl.h (sturct ccl_program): New member suppress_error.
1183
bb264518 1184 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1185 insert error message to the output.
1186 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1187
1188 * coding.h (struct coding_system): New member suppress_error.
1189
1190 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1191 (Fset_terminal_coding_system_internal): Set the member
1192 suppress_error to 1.
1193 (Fset_safe_terminal_coding_system_internal): Likewise.
1194
245ed2b1
SM
11952001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1196
1197 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1198 as if it was a `charset'.
1199
f9aaedb6
GM
12002001-01-24 Gerd Moellmann <gerd@gnu.org>
1201
1202 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1203 value in where_is_cache; the next lookup in the cache returns
1204 something bogus if we do.
1205
c3902c3e
EZ
12062001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1207
1208 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1209 if HAVE_WINDOW_SYSTEM isn't defined.
1210
3497f73e
GM
12112001-01-24 Gerd Moellmann <gerd@gnu.org>
1212
e7e41584
GM
1213 * fns.c (sweep_weak_table): Fix code taking items out of
1214 the hash collision chain. Some cleanup.
1215
3497f73e
GM
1216 * xterm.c (x_new_font): Don't change a tooltip's size.
1217
1218 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1219 background color by specifying a color for the default font
1220 in .Xdefaults.
1221
3d48e687
KH
12222001-01-24 Kenichi Handa <handa@etl.go.jp>
1223
96531b20
KH
1224 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1225 a workaround for SunOS 4's cc.
1226 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1227 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1228 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1229 statement.
3d48e687 1230
a30629d2
GM
12312001-01-23 Gerd Moellmann <gerd@gnu.org>
1232
1233 * xterm.c (x_set_window_size_1): New function extracted from
1234 x_set_window_size.
1235 (x_set_window_size): Use it.
1236 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1237 doesn't have a widget, like tooltips.
1238
5a43decf
EZ
12392001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1240
1241 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
1242 fix.
1243
b0e98867
KH
12442001-01-23 Kenichi Handa <handa@etl.go.jp>
1245
1246 * fns.c (Fset_char_table_default): Fix to make sub char-table
1247 correctly.
1248
50606b4c
GM
12492001-01-22 Gerd Moellmann <gerd@gnu.org>
1250
cb2ddc53 1251 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 1252 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
1253 items.
1254
57c28064
GM
1255 * xdisp.c (Ftool_bar_lines_needed): New function.
1256 (syms_of_xdisp): Defsubr it.
1257
50606b4c
GM
1258 * editfns.c (Fformat): Don't extend text properties from arguments
1259 to padding chars in the result.
1260
2f169c38
EZ
12612001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1262
1263 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1264
0f32f023
AI
12652001-01-20 Andrew Innes <andrewi@gnu.org>
1266
1267 * w32term.c (w32_ring_bell): Only support visible bell on w32
1268 frames.
1269 (w32_initialize): Don't set term hooks that aren't actually needed
1270 in windowed mode.
1271
1272 * xfaces.c (realize_default_face):
1273 (realize_face):
1274 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1275
1276 * xdisp.c (handle_single_display_prop): Remove references to
1277 FRAME_W32_CONSOLE_P.
1278
1279 * dispnew.c (Fredraw_frame): Remove reference to
1280 FRAME_W32_CONSOLE_P.
1281
1282 * frame.h (output_method): Remove output_w32_console method.
1283 (FRAME_W32_CONSOLE_P): Remove macro.
1284
1285 * frame.c (Qw32_console): Remove variable.
1286 (Fframep): Remove references to it.
1287 (syms_of_frame): Ditto.
1288 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1289
1290 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1291 redefinition.
1292
7173eada
KH
12932001-01-20 Kenichi Handa <handa@etl.go.jp>
1294
1295 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1296
755b45ce
AI
12972001-01-19 Andrew Innes <andrewi@gnu.org>
1298
1299 * w32.c (init_environment): Add a version-independent site-lisp
1300 directory to EMACSLOADPATH, after the version dependent one.
1301
0a949811
GM
13022001-01-19 Gerd Moellmann <gerd@gnu.org>
1303
8501998a
GM
1304 * editfns.c (Fbuffer_substring): Doc fix.
1305
0a949811
GM
1306 * xdisp.c (message_dolog, message2, message2_nolog): Rename
1307 parameter LEN to NBYTES.
1308
e6ebcbbe
KH
13092001-01-19 Kenichi Handa <handa@etl.go.jp>
1310
200ecca2
KH
1311 * charset.c (strwidth): Use c_string_width.
1312 (c_string_width): New function.
1313 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1314 Caller changed.
1315
1316 * charset.h (c_string_width, lisp_string_width): Extern them.
1317
1318 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
1319
e6ebcbbe
KH
1320 * indent.c (check_composition): Check validity of composition.
1321
200ecca2
KH
1322 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1323 characters by calling c_string_width.
1324 (x_consider_frame_title): Get byte length of frame tile string
1325 correctly.
1326 (display_mode_element): Pay attention to width of non-ASCII
1327 characters by calling strwidth.
1328
8692ca92
GM
13292001-01-18 Gerd Moellmann <gerd@gnu.org>
1330
8962e303
GM
1331 * xfns.c (Qcancel_timer): New variable.
1332 (syms_of_xfns): Initialize and staticpro it.
1333 (Fx_hide_tip, Fx_show_tip): Use it.
1334 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1335 the timer.
1336 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1337
91523be9
GM
1338 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1339
1340 * window.h (WINDOW_LIVE_P): New macro.
1341
b0b7ed0e
GM
1342 * window.c (window_size_fixed): New variable.
1343 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1344 the doc string.
1345
06bccf8e
GM
1346 * eval.c (specbind): If binding a per-buffer variable which
1347 doesn't have a buffer-local value in the current buffer, change
1348 the global value by changing the value of the symbol bound in all
1349 buffers not having their own value, to make it consistent with
1350 what happens with other buffer-local variables.
1351
8692ca92
GM
1352 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1353
1354 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1355 when searching for a newline.
1356
bb3a3b50
KH
13572001-01-18 Kenichi Handa <handa@etl.go.jp>
1358
1359 * xdisp.c (display_string): Fix previous change.
1360
c2cc16fa
JR
13612001-01-18 Jason Rumney <jasonr@gnu.org>
1362
1363 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1364 GLYPH_DEBUG is defined.
1365 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1366 true for images with `:ascent 100'.
1367 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1368 meantime, use face MOUSE_FACE_ID.
1369 If first glyph isn't a character glyph, use the ASCII NUL
1370 character to determine the face.
1371 (expose_area): Do not treat left margin specially.
1372 (note_mode_line_highlight): If no local_map, check global keymap.
1373 (note_mouse_highlight): Initialize overlay.
1374 (clear_mouse_face): Don't return if tip_frame is
1375 non-nil.
1376 (show_scroll_bars): Remove unused function.
1377 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1378 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1379 Clip to row.
1380 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
1381 nil.
1382 (x_free_frame_resources): Unload relief colors.
1383
9c11f79e
GM
13842001-01-17 Gerd Moellmann <gerd@gnu.org>
1385
3aec8722
GM
1386 * xdisp.c (forward_to_next_line_start): Avoid calling
1387 get_next_display_element when the newline is already found. This
1388 may change the iterator's position, when its current position is
1389 equal to the iterator's stop_charpos.
1390
f3ffc2c3
GM
1391 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1392 zero, use this method only at the end of a line.
1393
a86110a8
GM
1394 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
1395 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1396 if SCALABLE_FONTS_P is set.
1397
d26d6fd9
GM
1398 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1399 so that scalable fonts are included.
1400
9c11f79e
GM
1401 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1402 In the cache, use a key containing the information if scalable
1403 fonts are included.
1404 (x_load_font): Adapt to change of keys in the font cache.
1405
14062001-01-17 Kim F. Storm <storm@filanet.dk>
1407
d26d6fd9
GM
1408 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1409 XListFonts to take advantage of font caching.
1410
9c11f79e
GM
1411 * xterm.c (x_list_fonts): Ensure caching font information when
1412 called for a null frame, which is the case frequently when Emacs
1413 starts.
1414
51446987
GM
14152001-01-17 Gerd Moellmann <gerd@gnu.org>
1416
f864120f
GM
1417 * xfns.c (QCconversion): Replaces QCalgorithm.
1418
1419 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1420
1421 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1422 of :algorithm.
1423
e37d1417
GM
1424 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1425 not everything could be displayed.
1426
51446987
GM
1427 * line.h, x-list-font.c: Files removed because unused.
1428
9ad4f3e5
AI
14292001-01-17 Andrew Innes <andrewi@gnu.org>
1430
1431 * dired.c (directory_files_internal): Convert result from readdir
1432 to a unibyte string initially, to avoid possible misinterpretation
1433 of some bytes as the internal form of Emacs characters.
1434
2eda09b5
KH
14352001-01-17 Kenichi Handa <handa@etl.go.jp>
1436
1437 * fns.c (concat): Be sure to avoid putting the same `composition'
1438 property on the adjacent regions.
1439
826f3788
GM
14402001-01-16 Gerd Moellmann <gerd@gnu.org>
1441
f251459d
GM
1442 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
1443 here.
1444 (Fscroll_right, Fscroll_left): Set it here instead, if called
1445 interactively.
1446
d57b83b3
GM
1447 * buffer.c (Fset_buffer_modified_p): Set buffer's
1448 prevent_redisplay_optimizations_p flag.
1449
826f3788
GM
1450 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
1451 * sysdep.c, vmsproc.c, xselect.c: Call
1452 redisplay_preserve_echo_area with additional arg.
1453
1454 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
1455 prototype.
1456
1457 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1458 FROM_WHERE, for debugging.
1459
261d788b
KH
14602001-01-16 Kenichi Handa <handa@etl.go.jp>
1461
1462 * ccl.c (Fregister_ccl_program): Handle the return value of
1463 resolve_symbol_ccl_program correctly.
bda6b481
KH
1464 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
1465 changed.
261d788b 1466
bccee4f2
GM
14672001-01-15 Gerd Moellmann <gerd@gnu.org>
1468
e4ded23c
GM
1469 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1470 has gone in the meantime, use face MOUSE_FACE_ID.
1471
ae24cb3b
GM
1472 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
1473 x_display_info_for_display returns null, don't try to close
1474 the display; we didn't open it.
1475
bccee4f2
GM
1476 * dispnew.c (save_or_restore_current_matrices): Function removed.
1477 (save_current_matrix, restore_current_matrix): New functions.
1478 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1479 restore the frame's current matrix. Due to the glyph pointer
1480 setup done in adjust_glyph_matrix, there is no easy way to make
1481 saving the current matrix in the desired matrix generally correct,
1482 so don't try it.
1483
ebeccffa
KH
14842001-01-15 Kenichi Handa <handa@etl.go.jp>
1485
1486 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1487 truncation glyphs.
1488 (display_line): Optimize for wide characters.
e4ded23c 1489 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1490 partially. On ttys, produce more than one truncation glyph for
1491 multi-column characters that don't fit on the line.
1492
64388126
KH
14932001-01-13 Kenichi Handa <handa@etl.go.jp>
1494
1495 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
1496 it instead of WORDS_BIGENDIAN. Caller changed.
1497
8edb0a6f
JR
14982001-01-13 Jason Rumney <jasonr@gnu.org>
1499
1500 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1501 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
1502 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1503 (tiff_format, gif_format, gs_format): Adapt to change of image
1504 margins.
1505
1506 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1507 (x_draw_image_relief, x_draw_image_foreground_1)
1508 (x_draw_image_glyph_string): Adapt to change of image margins.
1509
1510 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1511 variables.
1512
1513 * w32bdf.c (search_file_line, get_cached_font_char)
1514 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1515
1516 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1517
1518 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1519 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1520 (Fw32_send_sys_command): Remove unused variables.
1521 (w32_msg_pump): Add parentheses.
1522
1523 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1524 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1525 Add parentheses.
1526
4956d1ef
GM
15272001-01-12 Gerd Moellmann <gerd@gnu.org>
1528
b30623be
GM
1529 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1530 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1531 being a pair of margins.
1532 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1533 to DEFVAR_LISP. Extend doc.
1534
1535 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1536 margins.
1537 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1538 pair of integers `(X . Y)', use X for the horizontal and Y for the
1539 vertical margin.
1540 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1541 (parse_image_spec): Check it.
1542 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1543 (tiff_format, gif_format, gs_format): Use
1544 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
1545
1546 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1547 (x_draw_image_relief, x_draw_image_foreground_1)
1548 (x_draw_image_glyph_string): Adapt to the change of image margins.
1549
1550 * dispextern.h (struct image): Replace member `margin' with
1551 `hmargin' and `vmargin'.
1552
4554cc79
GM
1553 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1554 and GLYPHS.
1555
1556 * dispnew.c (update_text_area): Put code which decrements the
1557 stop position when the row's face extends to the end of the
3bffc665 1558 line in #if 0.
4554cc79 1559
3cccce8d
GM
1560 * xfns.c (x_set_mouse_color): Fix color allocation.
1561
4956d1ef
GM
1562 * keyboard.c: Call get_local_map with new argument list.
1563
1564 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1565
1566 * intervals.h (enum map_property): Removed.
1567 (get_local_map): Change prototype.
1568
1569 * keymap.c: Call get_local_map with new argument list.
1570 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1571
2c2ff7f2
GM
15722001-01-11 Gerd Moellmann <gerd@gnu.org>
1573
a23887b9
GM
1574 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1575 of the size needed for the tool bar string. For the last image,
1576 use a `display' property that reaches to the end of the string.
1577
a7ee2d2e
GM
1578 * xselect.c (selection_request_dpyinfo): New variable.
1579 (x_handle_selection_request): Set it.
1580 (x_selection_request_lisp_error): Don't call
1581 x_decline_selection_request if selection request's display has
1582 been closed.
1583
2c2ff7f2
GM
1584 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
1585 the unregister_colors before calling XFreeColors.
1586
457b792c
GM
15872001-01-10 Dave Love <fx@gnu.org>
1588
1589 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1590 ${SOME_MACHINE_LISP}, not ${lisp}.
1591
c1efd260
GM
15922001-01-10 Gerd Moellmann <gerd@gnu.org>
1593
a98b5ed9 1594 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 1595 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
1596 line.
1597
ac95a621
GM
1598 * xselect.c (x_reply_selection_request): Add a comment.
1599
c1efd260
GM
1600 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1601 XkbGetNames instead of XkbGetKeyboard.
1602
1bfb1345
DL
16032001-01-10 Dave Love <fx@gnu.org>
1604
1605 * sysdep.c (random): Revert the declaration.
1606
38119822
GM
16072001-01-09 Gerd Moellmann <gerd@gnu.org>
1608
35f464a7
GM
1609 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
1610 function string_bytes.
1611 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1612
1613 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1614 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1615 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1616 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1617 the current sblock.
1618 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1619 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1620 after sweeping strings, and at the end.
1621 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1622
38119822
GM
1623 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1624 ensure that pop_message is called.
1625
1626 * keyboard.c (Fexecute_extended_command): Use a
1627 record_unwind_protect to ensure that pop_message is called.
1628
1629 * lisp.h (push_message_unwind): Add prototype.
1630
1631 * xdisp.c (push_message_unwind): New function.
1632
1633 * fileio.c (do_auto_save_unwind): Do the pop_message here
1634 instead of in Fdo_auto_save.
1635 (Fdo_auto_save): Don't call pop_message.
1636
f47a9ec4
KR
16372001-01-08 Ken Raeburn <raeburn@gnu.org>
1638
1639 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1640 in inner block.
1641
a758f97d
GM
16422001-01-08 Gerd Moellmann <gerd@gnu.org>
1643
6d0afc03
GM
1644 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1645 when increasing window's vscroll.
1646
a758f97d
GM
1647 * macros.c (Qkbd_macro_termination_hook): New variable.
1648 (syms_of_macros): Initialize and staticpro it.
1649 (pop_kbd_macro): Run kbd-macro-termination-hook.
1650
1651 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1652
1bfb1345 16532001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1654
1655 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1656 arglist, for documentation's sake.
1657
0dac6924
AI
16582001-01-06 Andrew Innes <andrewi@gnu.org>
1659
1660 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1661 of *.pdb.
1662
8182406a
AI
16632001-01-05 Andrew Innes <andrewi@gnu.org>
1664
1665 * term.c (update_end): Don't check updating_frame; for some reason
1666 this can be 0 sometimes, such as after dismissing a popup menu,
1667 and isn't necessary given the explicit frame argument.
1668
3828218c
GM
16692001-01-05 Gerd Moellmann <gerd@gnu.org>
1670
1671 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1672 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1673
2f5ded21
GM
16742001-01-04 Gerd Moellmann <gerd@gnu.org>
1675
1676 * xterm.c (clear_mouse_face): Don't return if tip_frame is
1677 non-nil.
1678
1679 * xfns.c (x_create_tip_frame): Preserve the value of
1680 face_change_count around the creation of the tip frame.
1681
1682 * xfns.c (last_show_tip_args): New variable.
1683 (compute_tip_xy): New function.
1684 (Fx_show_tip): Reuse an existing tip frame, if possible.
1685 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1686
dfad65fa
DL
16872001-01-04 Dave Love <fx@gnu.org>
1688
64d4ec0f
DL
1689 * editfns.c (Fformat): Doc fix.
1690
dfad65fa
DL
1691 * systime.h (set_file_times): Prototype.
1692
1693 * widget.h (EmacsFrameSetCharSize_): Prototype.
1694
1695 * sysdep.c (random, srandom): Declare explicitly.
1696
1697 * dispextern.h (move_it_vertically_backward): Declare.
1698
85fe3b5e
GM
16992001-01-04 Gerd Moellmann <gerd@gnu.org>
1700
0f2ac578
GM
1701 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1702 like in Fx_create_frame.
1703
482cca61
GM
1704 * xfaces.c (set_font_frame_param): Don't do anything for
1705 non-graphical frames.
1706
85fe3b5e
GM
1707 * window.c (Fdelete_other_windows): Set window's window_end_valid
1708 to nil when changing the window's start. Don't change the
1709 window's start when its top position hasn't changed. If we do,
1710 this will set the window's optional_new_start, which act's like a
1711 force_start during redisplay with C-x 1 M-> under particular
1712 circumstances (see report from Per Starback to emacs-pretest-bug
1713 from 2000-12-13.).
1714
3e99d3b4
GM
17152001-01-03 Gerd Moellmann <gerd@gnu.org>
1716
a77dc1ec
GM
1717 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1718 short cut at the start of the function. Add an assertion.
1719 (reseat_at_next_visible_line_start): Add an assertion.
1720
2f3cad6c
GM
1721 * window.c (Frecenter): When changing the window start, set the
1722 window's window_end_valid to nil.
1723 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1724
1725 * dispextern.h (move_it_past_eol): Add prototype.
1726
1727 * xdisp.c (move_it_past_eol): New function.
1728
3e99d3b4
GM
1729 * window.c (Fwindow_end): Doc fix.
1730
17312001-01-03 Dave Love <fx@gnu.org>
1732
1733 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
1734 kluge.
1735
bafb434c
GM
17362001-01-03 Gerd Moellmann <gerd@gnu.org>
1737
1738 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1739 the enabled_p flag of the glyph row at window_end_vpos to 0.
1740 (handle_single_display_prop): Fix last change.
1741
5297fb00
RS
17422001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1743
1744 * window.c (Frecenter): Doc fix.
1745
13d6a61c
AI
17462001-01-02 Andrew Innes <andrewi@gnu.org>
1747
1748 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1749
1750 * frame.h (output_method): Add output_w32_console method.
1751 (FRAME_W32_CONSOLE_P): New macro.
1752
1753 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1754 use output_w32_console method.
1755 (Qw32_console): New Lisp_Object.
1756 (Fframep): Return it.
1757 (syms_of_frame): Init it.
1758 (Fframe_parameters): Report w32console as font for w32_console
1759 frames.
1760
1761 * xfaces.c (realize_default_face): Set face foreground and
1762 background to unspecified for w32_console frames.
1763 (realize_face): Realize face cache for w32_console frames.
1764 (realize_tty_face): Accept w32_console frames.
1765
1766 * xdisp.c (handle_single_display_prop): Return if frame is
1767 w32_console.
1768 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1769 necessary, even if running interactively.
1770
1771 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1772 w32_console frames.
1773
1774 * w32term.c (x_update_begin):
1775 (x_update_end):
1776 (x_clear_frame):
1777 (x_ins_del_lines):
1778 (x_change_line_highlight):
1779 (x_delete_glyphs):
1780 (w32_ring_bell):
1781 (x_update_begin):
1782 (x_update_end):
1783 (w32_reassert_line_highlight):
1784 (w32_frame_rehighlight):
1785 (w32_frame_raise_lower): Do nothing if not w32 frame.
1786
1787 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1788
1789 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1790 system doesn't tell us directly.
1791 (Fx_display_visual_class): Implement properly.
1792
d6bb0c0d
GM
17932001-01-02 Gerd Moellmann <gerd@gnu.org>
1794
1795 * window.c (Frecenter): Handle centering in graphical frames
1796 specially. Centering on the basis of line counts doesn't work
1797 reliably with variable-height lines.
1798
315f5865
EZ
17992001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1800
1801 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1802 and al[].
1803
1804 * composite.c (run_composition_function): Remove unused variable
1805 `val'.
1806 (update_compositions): Remove unused variable `hook'.
1807
1808 * intervals.c (get_local_map): Remove unused variable `tem'.
1809
1810 * doprnt.c (doprnt1): Remove unused variable `size'.
1811
1812 * fns.c (Flength): Remove unused variable `tail'.
1813 (Fdelete): Remove unused variable `size'.
1814
1815 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1816 and `gcpro2'.
1817
1818 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
1819 `tem'.
1820
1821 * data.c (find_symbol_value): Remove extra 3rd argument in the
1822 call to swap_in_symval_forwarding.
1823
1824 * undo.c (Fprimitive_undo): Remove unused block-scope variable
1825 `end'.
1826
1827 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1828 (trivial_regexp_p): Remove unused variable `c'.
1829 (boyer_moore): Remove unused variable `k'.
1830
1831 * indent.c (current_column): Remove unused variable `stopchar'.
1832 (Fcompute_motion): Remove unused variable `contin'.
1833
1834 * casefiddle.c (casify_object): Remove unused variable `tolen'.
1835
1836 * dired.c (directory_files_internal): Fix a typo in a comment.
1837 Remove an unused variable `handler'.
1838 (file_name_completion): Remove unused function-scope variable
1839 `dp'.
1840 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
1841 on BSD4_2.
1842
1843 * fileio.c (e_write): Remove unused variable
1844 `require_encoding_p'.
1845
1846 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
1847 and `buf'.
1848 (Fmarker_insertion_type): Remove unused variable `buf'.
1849
1850 * insdel.c (make_gap): Remove unused variable `result'.
1851
1852 * keyboard.c (record_char): Remove unused function-scope variable
1853 `help'.
1854 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
1855 (menu_bar_items): Remove unused function-scope variable `tem'.
1856
1857 * fontset.c (fontset_ref): Remove unused variable `i'.
1858 (fontset_set): Remove unused variables `j' and `tmp'.
1859 (make_fontset): Remove unused variables `i', `j', `elt' and
1860 `base_elt'.
1861 (make_fontset_for_ascii_face): Remove unused variable `name'.
1862 (fs_load_font): Remove unused variable `font_idx'.
1863 (fs_query_fontset): Remove unused function-local variable
1864 `fontset'.
1865 (list_fontsets): Remove unused variable `tail'.
1866 (Fnew_fontset): Remove unused variables `family' and `registry'.
1867 (accumulate_font_info): Remove unused variable `tmp'.
1868 (Ffontset_font): Remove unused variable `id'.
1869 (syms_of_fontset): Remove unused variable `i'.
1870
1871 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
1872 to x_term_init.
1873 (lookup_image): Remove unused variable `file'.
1874 (xbm_load): Remove unused variables `bitmap_data', `height', and
1875 `width'. Remove function-local variable `i', leave the
1876 block-local one.
1877 (gif_load): Remove unused variable `inc'.
1878
1879 * xterm.c (XTread_socket): Remove unused variables `p' and
1880 `pend'.
1881 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
1882 leave only the one in the inner block.
1883
1884 * xfaces.c (face_fontset, realize_default_face): Remove unused
1885 variable `fontset'.
1886 (face_at_buffer_position): Remove unused variable `multibyte_p'.
1887
1888 * term.c (encode_terminal_code): Remove unused variable `c'.
1889
1890 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
1891 char *' instead of `char *'.
1892
1893 * category.c (Fcategory_docstring): Remove unused variable `doc'.
1894 (Fget_unused_category): Remove unused variable
1895 `docstring_vector'.
1896 (Fchar_category_set): Remove unused variables `val', `charset',
1897 `c1' and `c2'.
1898
1899 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
1900 unused variable `i'.
1901 (detect_coding_mask): Remove unused variable `idx'.
1902 (detect_coding): Remove unused variable `i'.
1903 (ccl_coding_driver): Remove unused variable `result'.
1904 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
1905 (decode_coding_string): Remove unused variables `to' and
1906 `gcpro1'.
1907 (encode_coding_string): Remove unused variables `gcpro1' and
1908 `saved_coding_symbol'.
1909 (Ffind_coding_systems_region_internal): Remove function-local
1910 variable args[], leave only the block-local one.
1911 (code_convert_region1): Remove unused variable `len'.
1912
1913 * charset.c (char_printable_p): Remove unused variable `chars'.
1914 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
1915 (str_to_multibyte): Remove unused variable `c'.
1916
1917 * window.c (size_window): Remove block-local variable `min_size'.
1918
1919 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
1920 `header_line_height'.
1921 (append_space, extend_face_to_end_of_line): Declare `saved_what'
1922 enum display_element_type.
1923
1a8a9daf
GM
19242001-01-02 Gerd Moellmann <gerd@gnu.org>
1925
6dde6abc
GM
1926 * xterm.c (x_connection_closed): Catch X errors around all
1927 statements that call X. Save away the error message in a local
1928 copy.
1929
1883b2c6
GM
1930 * xterm.c (x_connection_closed): Set handling_signal to 0 at
1931 the start.
1932
a13be207
GM
1933 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
1934 in or at the start of invisible text.
1935
1a8a9daf
GM
1936 * dispnew.c (update_window): Don't check_current_matrix_flags.
1937
3608c0f9
JR
19382001-01-01 Jason Rumney <jasonr@gnu.org>
1939
1940 * w32fns.c (x_figure_window_size): Do not allow new_height and
1941 new_width of frame to override specified values.
1942
abb1acc4
KH
19432000-12-30 Kenichi Handa <handa@etl.go.jp>
1944
d279f620
KH
1945 * composite.c (find_composition): Fix a code for searching
1946 backward.
abb1acc4 1947
762a68ec
GM
19482000-12-29 Gerd Moellmann <gerd@gnu.org>
1949
9c8b8382
GM
1950 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
1951 function.
1952 (update_window) [GLYPH_DEBUG]: Call it.
1953 (scrolling_window): Prevent including current rows which are below
1954 what's displayed in the window.
1955
1956 * xdisp.c (try_window_reusing_current_matrix)
1957 <new start <= old start>: Disable rows in the current matrix
1958 which are below the window after scrolling.
1959
762a68ec
GM
1960 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
1961 is zero. It's not worth the complexity.
1962 (invisible_text_between_p): Put in #if 0 because unused.
1963
2d5912c1
GM
19642000-12-28 Gerd Moellmann <gerd@gnu.org>
1965
46f6a258
GM
1966 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
1967 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
1968
89f93679
GM
1969 * keyboard.c (echo_char): If C is an integer, always call
1970 push_key_description. Former code could signal an invalid
1971 character error.
1972
1973 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
1974 If set, print multibyte text.
1975 (Fsingle_key_description): Call push_key_description with
1976 FORCE_MULTIBYTE set.
1977 (describe_buffer_bindings): Likewise.
1978
1979 * lisp.h (push_key_description): Add prototype.
1980
c06017fb
GM
1981 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
1982 around the call to redisplay_internal.
1983
f1d2ce7f
GM
1984 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1985
2d5912c1
GM
1986 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1987
9371f831
KH
19882000-12-28 Kenichi Handa <handa@etl.go.jp>
1989
1990 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
1991 (ccl_driver): New local variable `extra_bytes'.
1992
1993 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
1994
1995 * coding.c (setup_coding_system): Initialize
1996 coding->spec.ccl.eight_bit_carryover.
1997 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
1998
0c80628a
KH
19992000-12-28 Kenichi Handa <handa@etl.go.jp>
2000
2001 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2002 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2003 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2004 (decode_composition_emacs_mule): New function.
2005 (decode_coding_emacs_mule): Decode composition sequence by calling
2006 decode_composition_emacs_mule.
2007 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
2008 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 2009 a text contains compositions, encode them correctly.
0c80628a
KH
2010 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2011 that decoding and encoding are required.
2012
3e32cc27
GM
20132000-12-27 Gerd Moellmann <gerd@gnu.org>
2014
5e25feee
GM
2015 * xfaces.c (PT_PER_INCH): New macro.
2016 (xlfd_point_size): Compute real point size from font's pixel size.
2017 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2018 instead of 72.
2019
892d8fcd
GM
2020 * .gdbinit: Comment out the line pointing to the Lesstif source
2021 directory.
2022
12c8b416
GM
2023 * window.c (Frecenter): Use displayed_window_lines instead
2024 of window_internal_height.
2025
6061fbf0
GM
2026 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2027 instead of x-toolkit-scroll-bars-p.
2028 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2029
2030 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2031 instead of x-toolkit-scroll-bars-p.
2032 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2033
3e32cc27
GM
2034 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2035 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
2036 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
2037 variables.
2038 (add_window_display_history, add_frame_display_history)
2039 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2040 (build_frame_matrix_from_leaf_window): Remove unused code.
2041 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2042 redisplay history.
2043 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2044 (update_window) [GLYPH_DEBUG]: Likewise.
2045 (syms_of_display): Defsubr dump-redisplay-history.
2046
31798cfe
GM
20472000-12-23 Gerd Moellmann <gerd@gnu.org>
2048
f717c2ba
GM
2049 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2050 the end of the prompt. Set echo_after_prompt to the offset
2051 of echoptr in echobuf.
2052
aeb2b8fc
GM
2053 * xdisp.c (init_from_display_pos): Pop until the iterator's
2054 stack is empty; there may be frames for stretch or images
2055 on the stack.
2056
31798cfe
GM
2057 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2058 (save_or_restore_current_matrix): New function for the same
2059 purpose, but more efficient.
2060 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2061
f8156156
EZ
20622000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2063
2064 * xdisp.c (syms_of_xdisp): Fix last change.
2065
bdd6d4e8
GM
20662000-12-23 Gerd Moellmann <gerd@gnu.org>
2067
2068 * xdisp.c (syms_of_xdisp): Doc fix.
2069
2070 * xdisp.c (redisplay_window): Remove label restore_buffers;
2071 use finish_scroll_bars instead to make sure that scroll bars
2072 are redeemed. If we don't do this, flickering can result from
2073 scroll bars being destroyed and recreated.
2074
9436cdf9
JR
20752000-12-22 Jason Rumney <jasonr@gnu.org>
2076
2077 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2078 in the wrong colors when the foreground is not black.
2079 (expose_window): Don't redraw the window that's currently being
2080 updated.
2081
951f9df5
GM
20822000-12-22 Gerd Moellmann <gerd@gnu.org>
2083
856ff7a7
GM
2084 * window.c (size_window): When setting the window's too_small_ok
2085 flag, compare old size with minimum size depending on WIDTH_P,
2086 don't compare with window_min_width.
2087
951f9df5
GM
2088 * window.c (delete_window): Simplify somewhat.
2089 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2090 freeing window matrices. The flag windows_or_buffers_changed is
2091 set, so the next redisplay will consider all windows; this should
2092 suffice.
2093
886bc933
KH
20942000-12-22 Kenichi Handa <handa@etl.go.jp>
2095
2096 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2097
2098 * ccl.h (struct ccl_program): New member cr_consumed.
2099
2100 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2101 (CCL_READ_CHAR): Handle EOL conversion here.
2102 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2103
177f4e88
GM
21042000-12-21 Gerd Moellmann <gerd@gnu.org>
2105
6ba384dc
GM
2106 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
2107 GLYPHS.
2108
2109 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2110 otherwise tabs of different size compare equal.
2111
2112 * callint.c (Fcall_interactively): Prevent a compiler warning.
2113
2114 * print.c (print_unwind): Return nil.
2115 (PRINTDECLARE): Initialize all local variables.
2116 (print_preprocess): Add a default case.
2117
8e15274f
GM
2118 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2119
2120 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2121
177f4e88
GM
2122 * window.c (delete_window, Fsplit_window)
2123 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2124
2125 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2126
2127 * dispnew.c (ensure_frame_matrix): Removed.
2128 (save_frame_matrix, restore_frame_matrix): New functions.
2129 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2130
2131 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2132 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2133
99012074
AI
21342000-12-21 Andrew Innes <andrewi@gnu.org>
2135
2136 * w32term.c (x_update_begin): Regenerate the palette here, rather
2137 than for each window.
2138
2139 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2140 palette is NULL, since this corrupts memory! Also get
2141 display_info reference from frame.
2142
29ef7d2d
JR
21432000-12-21 Jason Rumney <jasonr@gnu.org>
2144
2145 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2146
2147 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2148 to avoid returning without releasing it.
3e27fa1f 2149
3f9d67a6
KH
21502000-12-21 Kenichi Handa <handa@etl.go.jp>
2151
587fc3f9
KH
2152 * keymap.c (push_key_description): Don't convert eight-bit-control
2153 and eight-bit-graphic to multibyte character.
2154
3f9d67a6
KH
2155 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2156 generic character and CODE1 is nil, return the smallest character
2157 in CHARSET.
2158
774ba8c9
DL
21592000-12-20 Dave Love <fx@gnu.org>
2160
2161 * s/osf5-0.h (NSIG): Don't redefine.
2162
88416888
SM
21632000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2164
2165 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2166 excluding menu-bar and tool-bar.
2167 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2168 (menu_item_p): Remove.
2169 (where_is_internal_1): Don't ignore menu-items.
2170
a6426c6f
GM
21712000-12-20 Gerd Moellmann <gerd@gnu.org>
2172
03ff8aab
GM
2173 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2174 into account.
2175
2176 * window.c (make_window): Initialize window's min_hscroll.
2177 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2178 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2179 to zero.
2180 (struct saved_window): New member min_hscroll.
2181 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2182 (Fset_window_configuration): Set window's min_hscroll.
2183 (save_window_save): Save window's min_hscroll.
2184 (compare_window_configurations): Compare min_hscroll values.
2185
2186 * window.h (struct window): New member min_hscroll.
2187
2188 * keyboard.c (echo_prompt): Prevent a compiler warning.
2189
8de4aaf8
GM
2190 * xdisp.c (try_cursor_movement): Fix last change. The real
2191 condition is that PT is at the end of the row, and should
2192 be displayed at the start of the next row.
2193
3f7e3031
GM
2194 * xdisp.c (try_cursor_movement): If we end on a partially
2195 visible line, end we already decided to scroll, return -1.
2196
a6426c6f
GM
2197 * dispextern.h (ensure_frame_matrix): Add prototype.
2198
2199 * window.c (delete_window, Fsplit_window)
2200 (Fset_window_configuration): Call ensure_frame_matrix.
2201
2202 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
2203 functions.
2204 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2205 completed, call fake_current_matrices instead of marking frame
2206 garbaged.
2207
57fa2774
JR
22082000-12-20 Jason Rumney <jasonr@gnu.org>
2209
2210 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2211
d925df90
EZ
22122000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2213
2214 * fns.c (Frequire): Doc fix.
2215
7b93a85b
GM
22162000-12-19 Gerd Moellmann <gerd@gnu.org>
2217
71d4497a
GM
2218 * window.c (window_scroll_pixel_based): Don't use
2219 move_it_vertically.
2220
c74e645b
GM
2221 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2222 currently displaying a message.
2223
7b93a85b
GM
2224 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2225 xterm.h.
2226 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2227
90d97e64
AI
22282000-12-18 Andrew Innes <andrewi@gnu.org>
2229
2230 * w32.c (w32_strerror): New function.
2231
2232 * w32.h (w32_strerror): New extern.
2233
2234 * w32fns.c (Fw32_shell_execute): Use it.
2235
91c9e6ce
GM
22362000-12-18 Gerd Moellmann <gerd@gnu.org>
2237
2238 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2239
6f4745e2
EZ
22402000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2241
2242 * msdos.c (IT_set_face): Obey inverse_video.
2243
c9e088ce
KH
22442000-12-18 Kenichi Handa <handa@etl.go.jp>
2245
2246 * dired.c (directory_files_internal): Always return decoded filenames.
2247
c3695f5f
GM
22482000-12-18 Gerd Moellmann <gerd@gnu.org>
2249
52d8e4ff
GM
2250 * xterm.c (x_connection_closed): Prevent being called recursively
2251 because of an error condition in XtCloseDisplay.
2252
62be9979
GM
2253 * xdisp.c (init_iterator): If noninteractive, and the frame's
2254 face cache is null, make one.
2255
5f7a1890
GM
2256 * xfns.c (show_busy_cursor): Check for live frames more
2257 thoroughly.
2258
c3695f5f
GM
2259 * process.c (wait_reading_process_input): Check for pending
2260 input when running timers.
2261
78555fbe
EZ
22622000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2263
2264 * msdos.c (IT_write_glyphs): Compute the glyph face from
2265 str->face_id.
2266
b2b36264
KH
22672000-12-18 Kenichi Handa <handa@etl.go.jp>
2268
2269 * process.c (read_process_output): Don't run a filter if the code
2270 decoder produces nothing but carryover.
2271
9c543fbf
AI
22722000-12-17 Andrew Innes <andrewi@gnu.org>
2273
2274 * w32.c (sys_rename): Only check errno against EEXIST, and not
2275 EACCES, when determining whether rename failed because the target
2276 exists. This was resulting in indefinite looping on Windows 9x if
2277 the source file was locked by another process.
2278
2279 * w32fns.c (Ffile_system_info): New function.
2280 (syms_of_w32fns): Defsubr it.
2281
10c2b5a8
GM
22822000-12-17 Gerd Moellmann <gerd@gnu.org>
2283
b0228ace
GM
2284 * window.c (coordinates_in_window): Fix computation for
2285 position on vertical line between mode lines.
2286
10c2b5a8
GM
2287 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2288 Don't alter tip_frame or tip_window.
2289 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2290 was deleted.
2291
c844a81a
GM
2292 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2293 Don't alter tip_frame or tip_window.
2294 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2295 was deleted.
2296
6c825f8e
EZ
22972000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2298
2299 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2300 be consistent with the doc string. Reported by NAKAJIMA Mikio
2301 <minakaji@osaka.email.ne.jp>.
2302
af4bb4c8
KH
23032000-12-16 Kenichi Handa <handa@etl.go.jp>
2304
2305 * xfaces.c (Vface_ignored_fonts): New variable.
2306 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2307 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2308
8062e53a
GM
23092000-12-15 Gerd Moellmann <gerd@gnu.org>
2310
e87b8809
GM
2311 * dispnew.c (update_window): Detect pending input every nth line
2312 updated, i.e. do it depending on real work done, and not on the
2313 vpos of the line.
2314
2315 * xterm.c (expose_window): Don't redraw the window that's
2316 currently being updated.
2317
a6768cc5
GM
2318 * window.c (Fset_window_point): Remove test for
2319 cursor_in_non_selected_windows.
2320
4ea7fdca
GM
2321 * lread.c (read1): Recognize end of file after `\\'.
2322
8062e53a
GM
2323 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2324 not unwind_create_frame.
2325
bb7959c1
GM
23262000-12-15 Dave Love <fx@gnu.org>
2327
2328 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2329 bcopy & al.
2330
2331 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2332
ced04c42
KH
23332000-12-15 Kenichi Handa <handa@etl.go.jp>
2334
c5443913
KH
2335 * coding.c (setup_coding_system): Clear all members of the struct
2336 coding_system at first.
bc137305
KH
2337 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2338 argument.
2339 (code_convert_region): Don't override coding->src_multibyte and
2340 coding->dst_multibyte.
c5443913 2341
ced04c42
KH
2342 * fns.c (Fmd5): Docstring improved.
2343
c2d7f289
MB
23442000-12-15 Miles Bader <miles@gnu.org>
2345
2346 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2347 are actually marked as mode-lines; otherwise use
2348 estimate_mode_line_height.
2349
9d7d9263
GM
23502000-12-14 Gerd Moellmann <gerd@gnu.org>
2351
2352 * editfns.c (Fformat): Prevent a buffer overrun when the format
2353 specifies a precision.
2354
7cf0153a
EZ
23552000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2356
2357 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2358 argument is outside the range [2..3].
2359
1de0f662
AI
23602000-12-14 Andrew Innes <andrewi@gnu.org>
2361
2362 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2363 nothing to do. Bind inhibit-quit.
2364 (tip_frame): Make it a Lisp_Object.
2365 (x_create_tip_frame): Set tip_frame after it has been added to
2366 Vframe_list.
2367 (Fx_show_tip): Don't set tip_frame here.
2368 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
2369 variables.
2370 (unwind_create_frame, unwind_create_tip_frame): New functions.
2371 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2372 while a frame is only partially constructed.
2373
2374 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2375 (x_free_frame_resources): New function.
2376 (x_destroy_window): Use it.
2377
02387dcc
GM
23782000-12-14 Gerd Moellmann <gerd@gnu.org>
2379
2380 * xfns.c (Fx_backspace_delete_keys_p): New function.
2381 (syms_of_xfns): Defsubr it.
2382
2383 * config.in (HAVE_XKBGETKEYBOARD): Add.
2384
0544ef49
KH
23852000-12-14 Kenichi Handa <handa@etl.go.jp>
2386
98d62747
KH
2387 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2388 Always store string in multibyte representation in echobuf.
2389 (echo_char): Always store string in multibyte representation in
2390 echobuf.
2391 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2392 (read_key_sequence): Adjusted for the change of echo_prompt.
2393
a20193cd
KH
2394 * fns.c (Fmd5): Docstring improved.
2395
191b83b6
KH
2396 * lisp.h (detect_coding_system): Prototype adjusted.
2397
0544ef49
KH
2398 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2399 (detect_coding_emacs_mule, detect_coding_iso2022,)
2400 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
2401 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
2402 argument MULTIBYTEP. Callers changed.
2403 (detect_coding_mask, detect_coding_system): New argument
2404 MULTIBYTEP. Callers changed.
1da1bb05
KH
2405 (decode_coding_string): Set coding->src_multibyte and
2406 coding->dst_multibyte before calling detect_coding and detect_eol.
2407 Update them after some coding system is detected.
2408
d5b3eb1b
SM
24092000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2410
2411 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2412
2413 * keyboard.c (menu_bar_items, tool_bar_items):
2414 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2415
f7f8bb69
GM
24162000-12-13 Gerd Moellmann <gerd@gnu.org>
2417
19f71add
GM
2418 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
2419 New variables.
2420 (unwind_create_frame, unwind_create_tip_frame): New functions.
2421 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2422 while a frame is only partially constructed.
2423
2424 * xterm.h (x_free_frame_resources): Declare.
2425
2426 * xterm.c (x_free_frame_resources): New function.
2427 (x_destroy_window): Use it.
2428
e10da507
GM
2429 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2430 don't interrupt the update for pending input initially, i.e.
2431 update at least some lines.
2432
2433 * keyboard.c (do_mouse_tracking): Make externally visible.
2434
d5b3eb1b 2435 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2436
2437 * xfns.c (gray_bitmap_bits): Declare `char *'.
2438
90aa2856
GM
24392000-12-12 Gerd Moellmann <gerd@gnu.org>
2440
2441 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2442 lines start with a relief line.
2443
a308c9cd
DL
24442000-12-12 Dave Love <fx@gnu.org>
2445
2446 * window.c (Fdisplay_buffer): Doc fix.
2447 (Fwindow_list): Remove unused var.
2448
2449 * buffer.h (mmap_set_vars): Declare.
2450
2451 * window.h (Fset_window_point): Declare.
2452
d575011f
EZ
24532000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2454
bf6282d2 2455 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
2456 (IT_note_mouse_highlight): Initialize portion to -1. Remove
2457 unused variable `area'. When looking for a row under (X,Y), give
2458 up if some of the previous rows is not enabled.
2459
ecf4d726
GM
24602000-12-12 Gerd Moellmann <gerd@gnu.org>
2461
2ebf6139
GM
2462 * window.c (Fset_window_point): If displaying cursors in windows
2463 other than the selected window, make sure redisplay updates
2464 other windows to show the new value of point in the window.
2465
2466 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2467
bfdb75ee
GM
2468 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2469 the buffer is the sole visible buffer when in the mini-buffer.
2470
4fdbd809
GM
2471 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
2472 Bind `inhibit-read-only' to t.
2473 (unwind_with_echo_area_buffer): Use AREF.
2474
c0006262
GM
2475 * xfns.c (Fx_hide_tip): Simplified.
2476
e9a59cad
GM
2477 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
2478 GC_MAKE_GCPROS_NOOPS instead of `1'.
2479
ecf4d726
GM
2480 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2481
e5959a9a
GM
24822000-12-11 Gerd Moellmann <gerd@gnu.org>
2483
a3642e49
GM
2484 * xfns.c (Fx_hide_tip): Fix last change.
2485
44b5a125
GM
2486 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2487 nothing to do. Bind inhibit-quit.
2488 (tip_frame): Make it a Lisp_Object.
2489 (x_create_tip_frame): Set tip_frame after it has been added to
2490 Vframe_list.
2491 (Fx_show_tip): Don't set tip_frame here.
2492
2493 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2494
2495 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2496 Lisp_Object.
2497
2498 * dispextern.h: Change external declaration of tip_frame.
2499
d990421f
GM
2500 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2501 return an empty string.
2502
4db87380
GM
2503 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2504 of the window's update_mode_line flag, since the former is set by
2505 force-mode-line-update, not the latter. This makes
2506 column-number-mode slightly faster.
2507
e5959a9a
GM
2508 * xdisp.c (try_window_id) <all changes above window start>:
2509 Set the cursor.
2510
169fe44e
GM
25112000-12-11 Paul Eggert <eggert@twinsun.com>
2512
2513 * config.in (HAVE_FTELLO): Remove.
2514 (HAVE_FSEEKO): Add.
2515 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2516 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2517 HAVE_FTELLO.
2518 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2519 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
2520
59ec59ae
MB
25212000-12-11 Miles Bader <miles@gnu.org>
2522
2523 * window.c (displayed_window_lines): Don't round up when
2524 converting empty space at bottom to lines.
ff904dd6
MB
2525 Handle non-newline-terminated final lines properly.
2526 (Fwindow_text_height): New function (used to be in lisp).
2527 (syms_of_window): Initialize it.
59ec59ae 2528
42ebfa31
SM
25292000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2530
2531 * syntax.c (scan_lists): Check that the right quote char has the
2532 right Sstring syntax when jumping over strings.
2533 (init_syntax_once): Use Smax rather than 13.
2534
5cdb3cf3
MB
25352000-12-09 Miles Bader <miles@gnu.org>
2536
2537 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2538 with PARTIALLY, inverting the sense.
2539 (window_scroll_pixel_based): Scroll partially visible lines into
2540 place if we hit the beginning or end of the buffer.
a12167c5
MB
2541 (displayed_window_lines): Don't include partially visible lines.
2542 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2543
842b2a94
GM
25442000-12-08 Gerd Moellmann <gerd@gnu.org>
2545
2546 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2547
2548 * tparam.c (tparam1): Change the way buffers are reallocated to be
2549 portable and less obfuscated.
2550
2551 * termcap.c (tgetent): Change the way buffers are reallocated to
2552 be portable and less obfuscated.
2553
2554 * macros.c (store_kbd_macro_char): Change the way buffers are
2555 reallocated to be portable and less obfuscated.
2556
2557 * lread.c (read1): Change the way buffers are reallocated to be
2558 portable and less obfuscated.
2559
2560 * doc.c (Fsubstitute_command_keys): Change the way buffers
2561 are reallocated so that it is portable.
2562
137cad7c
EZ
25632000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2564
2565 * dosfns.c (Ffile_system_info): New function.
2566 (syms_of_dosfns): Defsubr it.
2567
5c7f629c
SM
25682000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2569
2570 * alloc.c (gc_sweep): Add comment.
2571
959e647d
GM
25722000-12-07 Gerd Moellmann <gerd@gnu.org>
2573
28fcb7dc
GM
2574 * sound.c (vox_configure): Change order of ioctls. Don't
2575 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
2576 Ignore errors when changing volume.
2577 (vox_close): Don't reset the device.
2578
926b7e5e
GM
2579 * process.c (read_process_output): Make sure the process marker's
2580 position is valid when the process buffer is changed in
2581 after-change functions. W3 does that.
2582
959e647d
GM
2583 * xfns.c (x_free_gcs): New function.
2584
2585 * xterm.h (x_free_gcs): Add prototype.
2586
2587 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2588 freeing GCs here.
2589
2590 * xterm.c (x_destroy_window): Call x_free_gcs so that
2591 resources of non-toolkit X windows will be freed.
2592
478ea067
AI
25932000-12-07 Andrew Innes <andrewi@gnu.org>
2594
2595 * w32fns.c (xlfd_charset_of_font): Fix last change.
2596
fbee3231
DL
25972000-12-06 Dave Love <fx@gnu.org>
2598
67292061
DL
2599 * md5.h (__P): Don't define -- it comes from config.h.
2600
fbee3231
DL
2601 * strftime.c: Change some #if foo to #ifdef foo.
2602
4ee87dbb
AI
26032000-12-06 Andrew Innes <andrewi@gnu.org>
2604
2605 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2606
2607 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
2608 argument.
2609 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
2610 (w32_list_fonts): Don't choke if pattern doesn't specify a
2611 codepage.
2612
9765b4a4
GM
26132000-12-06 Gerd Moellmann <gerd@gnu.org>
2614
d285b373
GM
2615 * alloc.c (gc_sweep): Prevent symbols read during loadup
2616 from being freed.
2617
384333ee
GM
2618 * xdisp.c (underlying_face_id): New function.
2619 (handle_face_prop, face_before_or_after_it_pos): Use it
2620 to determine the face ``under'' a string. Let strings inherit
2621 the face of the buffer under them.
2622
2623 * xfaces.c (face_at_string_position): Update function comment.
2624
d4b72d58
GM
2625 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2626 matrix if the window's left position has changed; we need to
2627 redraw it in this case.
2628
2629 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2630
e1d05387
GM
2631 * window.c (coordinates_in_window): Check mouse on mode-line or
2632 header-line first.
2633
eb1b0c74
GM
2634 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2635 advertized by the function documentation.
2636
d94d636f
GM
2637 * window.c (syms_of_window): Doc fix.
2638
3887b449
GM
2639 * sound.c (vox_configure): Set volume for left and right channel.
2640 (sound_cleanup): Return nil.
2641
efc8f57a
GM
2642 * xdisp.c (move_it_by_lines): Fix paren typo.
2643
9765b4a4
GM
2644 * xterm.c (x_load_font): Don't use the font's max_bounds for
2645 computing the height of the font. If max_bounds' ascent or
2646 descent are greater than the font's ascent or descent, this means
2647 glyphs overlap, which should be handled now by redisplay.
2648
6529ed87
GM
2649 * window.c (Veven_window_heights): New variable.
2650 (syms_of_window): DEFVAR_LISP it.
2651 (Fdisplay_buffer): Check Veven_window_heights before evening the
2652 window heights.
2653
0eb2ecde
MB
26542000-12-06 Miles Bader <miles@gnu.org>
2655
2656 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2657 update `default-frame-alist' instead of setting no frame parameters.
2658
03d7a167
KH
26592000-12-06 Kenichi Handa <handa@etl.go.jp>
2660
2661 * composite.c (update_compositions): Fix typo (use the correct
2662 variable).
2663
5f8803c2
JR
26642000-12-05 Jason Rumney <jasonr@gnu.org>
2665
2666 * md5.h: Remove underscores from function declarations.
2667 (__attribute__, __alignof__) [!__GNUC__]: Define.
2668
2669 * md5.c: Delay include of md5.h until after namespace cleaning.
2670
c28a075b
JR
2671 * makefile.w32-in (fns.o): Depend on md5.h
2672 (md5.o): New target.
2673 (sunfns.o): Remove.
2674
2675 * makefile.nt: Likewise.
2676
ff3c7056
JR
26772000-12-05 Jason Rumney <jasonr@altavista.net>
2678
2679 * w32term.c (expose_area): Complete last change.
2680
0c21eeeb
KR
26812000-12-05 Ken Raeburn <raeburn@gnu.org>
2682
2683 * minibuf.c: Include intervals.h.
2684
f201d732
JR
26852000-12-05 Jason Rumney <jasonr@gnu.org>
2686
2687 * w32term.c (x_produce_glyphs): If a font for a component of
2688 a composition is not found, use 1 pixel dot ascent and 0 dot
2689 descent value to avoid displaying terribly tall empty boxes.
2690 (expose_area): Pass x-coordinate relative to the exposed
2691 area to x_draw_glyphs instead of a window-relative coordinate.
2692
21999ab9
GM
26932000-12-05 Gerd Moellmann <gerd@gnu.org>
2694
4d2036e4
GM
2695 * xdisp.c (next_element_from_ellipsis): Save face before selective
2696 display in saved_face_id, and set face_before_selective_p.
2697 (reseat_1): Reset face_before_selective_p.
2698 (append_space, extend_face_to_end_of_line): If iterator's
2699 face_before_selective_p is set, use the face from saved_face_id.
2700 (extend_face_to_end_of_line): For tty frames, make sure to
2701 use the right face id when producing spaces at the end of
2702 the line.
2703
2704 * dispextern.h (struct it): Add face_before_selective_p.
2705
52be17cc
GM
2706 * keyboard.c (record_char): Don't record identical help-echo
2707 events in recent_keys.
2708
8a4f36cc
GM
2709 * xterm.c [USE_X_TOOLKIT]: Close the display.
2710 (xim_close_dpy): Handle case that the display has been closed.
2711
57d6e381
GM
2712 * xterm.c (x_destroy_window): Reset the frame's X window after
2713 destroying it.
2714
21999ab9
GM
2715 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2716 variable window_width.
2717 (line_draw_cost): Fix code skipping over spaces at the end of the
2718 line when must_write_spaces is not set.
2719 (scrolling_window): Fix code inserting runs in list of all runs.
2720
91372bb7
KH
27212000-12-05 Kenichi Handa <handa@etl.go.jp>
2722
2723 * coding.c (setup_coding_system): Be sure to initialize
2724 coding->category_idx.
2725
6c083b4c
GM
27262000-12-04 Gerd Moellmann <gerd@gnu.org>
2727
0c68ce6f
GM
2728 * xterm.c (PER_CHAR_METRIC): Removed because not used.
2729
6452929e
GM
2730 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2731 area to x_draw_glyphs instead of a window-relative coordinate.
2732
d7f31e22
GM
2733 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2734 error in the message.
2735
ae18aa3b
GM
2736 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2737 timer after having read a key. It's not good for code reading
2738 several keys in a loop, like an input method.
2739
caa15ef7
GM
2740 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2741 record undo information for format-decode.
2742
2743 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2744 current buffer is read-only, not if it isn't.
2745
6c083b4c
GM
2746 * keyboard.c (record_char): Record `help-echo' input events
2747 in recent_keys only if they display some help. Don't record
2748 `help-echo' events as macro char.
2749
caa15ef7
GM
27502000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2751
2752 * editfns.c (save_excursion_restore): Don't move point
2753 in another window if it is showing the wrong buffer.
2754 Avoid the call to Fwindow_live_p, for speed.
2755
5a13529b
KH
27562000-12-04 Kenichi Handa <handa@etl.go.jp>
2757
e225faa7
KH
2758 * xfaces.c (struct font_name): New member registry_priority.
2759 (split_font_name): Initialize the above member to zero.
2760 (concat_font_list): New function.
2761 (font_list): Include fonts of all alternative registries.
2762 (FONT_POINT_SIZE_QUANTUM): New macro.
2763 (better_font_p): Ignore point size difference less than
2764 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2765
e89648b4
KH
2766 * xterm.c (x_produce_glyphs): If a font for a component of
2767 a composition is not found, use 1 pixel dot ascent and 0 dot
2768 descent value to avoid displaying terribly tall empty boxes.
2769
5a13529b
KH
2770 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2771
d7935eb6
KR
27722000-12-03 Ken Raeburn <raeburn@gnu.org>
2773
2774 * coding.h (code_convert_string1): Declare.
2775
2776 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2777
2778 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
2779 Declare.
2780
0dd5e255
JR
27812000-12-02 Jason Rumney <jasonr@gnu.org>
2782
2783 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2784 correctly for single byte character case.
2785 (w32_per_char_metric): Do not try to make any assumptions about
2786 the metrics of BDF fonts.
250cfece
JR
2787 (x_estimate_mode_line_height): If `mode-line' face
2788 hasn't a font, use that of the frame, as drawing glyphs
2789 does.
2790 (note_mouse_highlight): Change the cursor shape on the vertical
2791 border between windows [not enabled].
2792
2793 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2794
2795 * w32fns.c (Fx_create_frame): Reintroduce the call to
2796 face-set-after-frame-defaults.
2797 (Vx_window_horizontal_drag_shape): New variable.
2798 (syms_of_xfns): DEFVAR_LISP it.
2799 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2800 enabled].
0dd5e255 2801
b5d8d2ca
GM
28022000-12-02 Simon Josefsson <simon@josefsson.org>
2803
2804 * fns.c (Fmd5): Use a different logic to decide the coding system
2805 to use.
2806
2807 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2808
fbb87147
EZ
28092000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2810
2811 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
2812 NULL.
2813
447e9da0
GM
28142000-12-01 Gerd Moellmann <gerd@gnu.org>
2815
7708ced0
GM
2816 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2817 height for YNegative.
2818 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2819 height; also see comment there.
2820
447e9da0
GM
2821 * window.c (coordinates_in_window): Handle computations for
2822 positions on the vertical bar and fringes differently for
2823 window-system frames. Consider some pixels near the vertical bar
2824 as on the bar if the frame doesn't have vertical scroll bars.
2825 Associate positions between mode or header lines with the
2826 right window, the left one.
2827
86d1db20
JR
28282000-12-01 Jason Rumney <jasonr@gnu.org>
2829
2830 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2831
2832 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
2833 invalid frame.
2834
a1d58e5b
GM
28352000-12-01 Gerd Moellmann <gerd@gnu.org>
2836
2837 * window.c (struct saved_window): Add members orig_top and
2838 orig_height.
2839 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
2840 (save_window_save, Fset_window_configuration): Save/restore
2841 window's orig_top and orig_height.
2842
89c609af
JR
28432000-12-01 Jason Rumney <jasonr@gnu.org>
2844
4d177746 2845 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 2846
89c609af
JR
2847 * w32fns.c (x_set_cursor_color): Fix last change.
2848
eccc05db
GM
28492000-11-30 Gerd Moellmann <gerd@gnu.org>
2850
31b6671b
GM
2851 * xdisp.c (echo_area_display): If cursor is in the echo area, make
2852 sure that the next redisplay displays the minibuffer, so that
2853 the cursor will be replaced with what the minibuffer wants.
2854
eccc05db
GM
2855 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
2856 #ifndef instead of using #if.
2857 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
2858 USE_TOOLKIT_SCROLL_BARS is defined.
2859
162de750
JR
28602000-11-30 Jason Rumney <jasonr@gnu.org>
2861
2862 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
2863 x_display_cursor.
2864
693c4692
GM
28652000-11-30 Gerd Moellmann <gerd@gnu.org>
2866
2867 * fns.c (Fmd5): Doc fix.
2868
b5d8d2ca 28692000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
2870
2871 * fns.c (Fmd5): New function.
2872 (syms_of_fns): Defsubr md5.
2873
2874 * Makefile.in (obj): Add md5.o
2875
b02cd40b
GM
28762000-11-30 Gerd Moellmann <gerd@gnu.org>
2877
edfb795e
GM
2878 * md5.h, md5.c: New files, taken from glibc.
2879
df3aedcf
GM
2880 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
2881
b02cd40b
GM
2882 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
2883 hasn't a font, use that of the frame, as drawing glyphs
2884 does.
2885
8b5176cd
SM
28862000-11-29 Stefan Monnier <monnier@cs.yale.edu>
2887
2888 * eval.c (Frun_hooks): Allow 0 arguments.
2889
346598f1
GM
28902000-11-29 Gerd Moellmann <gerd@gnu.org>
2891
f9396e03
GM
2892 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
2893 is over the menu bar widget, say it's not on the frame.
2894
4a967a9b
GM
2895 * xfns.c (Fx_create_frame): Reintroduce the call to
2896 face-set-after-frame-defaults.
2897
346598f1
GM
2898 * eval.c (Fsignal): Reset handling_signal.
2899
222456a1
JR
29002000-11-28 Jason Rumney <jasonr@gnu.org>
2901
2902 * w32menu.c (add_menu_item): Reset menu item text when changing
2903 type to radio button.
2904
8049ddc0
GM
29052000-11-28 Gerd Moellmann <gerd@gnu.org>
2906
346598f1 2907 * xselect.c: Update copyright.
f4f4ee4d 2908
bebe4a2c
GM
2909 * window.c (coordinates_in_window): If on a mode or header line,
2910 but sufficiently close to its start, return ``on vertical
2911 border''. This gives us a way to drag windows horizontally when
2912 using toolkit scroll bars.
2913
2914 * xterm.c (note_mouse_highlight): Change the cursor shape
2915 on the vertical border between windows.
2916
2917 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
2918
2919 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
2920 (syms_of_xfns): DEFVAR_LISP it.
2921 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
2922
8d2c2642
GM
2923 * textprop.c (text_read_only): New function.
2924 (verify_interval_modification): Use it instead of signaling
2925 `text-read-only'. This makes it easier to catch this error
2926 with a breakpoint.:
2927
8049ddc0
GM
2928 * xdisp.c (forward_to_next_line_start): Check for newlines,
2929 not end of line, which includes CR.
2930
5a2bae6c
KH
29312000-11-28 Kenichi Handa <handa@etl.go.jp>
2932
2933 * coding.c (Ffind_coding_systems_region_internal): Be sure to
2934 include no-conversion.
2935
ae31f84d
JR
29362000-11-27 Jason Rumney <jasonr@gnu.org>
2937
2938 * w32fns.c (w32_load_system_font): Always mark font as double byte
2939 if codepage is unicode.
2940
67f1cf4c
GM
29412000-11-27 Gerd Moellmann <gerd@gnu.org>
2942
4a74d071
GM
2943 * xdisp.c (forward_to_next_line_start): If already on a newline,
2944 just consume it to avoid unintended skipping over invisible text
2945 below.
2946
902ae620
GM
2947 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
2948 `vertical-line', `mode-line' and `header-line' events.
2949
2950 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
2951 of a character, a TAB for instance. This is easier than to set
2952 up the iterator exactly, and it's not a frequent case, so the
2953 additional effort wouldn't really pay off.
2954
c1e279c2
AC
29552000-11-26 Andrew Choi <akochoi@i-cable.com>
2956
67f1cf4c 2957 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
2958 init_window_once.
2959
a609568a
JR
29602000-11-25 Jason Rumney <jasonr@gnu.org>
2961
48b21762
JR
2962 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
2963 to window_from_coordinates should be pixel coordinates.
2964
a609568a
JR
2965 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
2966 redisplay handles them properly.
2967
a658d039
MB
29682000-11-25 Miles Bader <miles@gnu.org>
2969
2970 * indent.c (compute_motion): Keep pos_byte in sync with pos.
2971
d3416cca
JR
29722000-11-24 Jason Rumney <jasonr@gnu.org>
2973
2974 * w32.c (init_environment): Set LANG environment variable based on
2975 locale settings, if not set.
2976
2977 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
2978 making tool bar smaller. When clearing the frame, also
2979 clear current matrices. Clear frame when tool bar disappears.
2980 Don't use more lines for the tool-bar than is available.
2981 (x_change_window_heights): New function.
2982
ba193890
GM
29832000-11-24 Gerd Moellmann <gerd@gnu.org>
2984
2be8f184
GM
2985 * xdisp.c (init_from_display_pos): If POS says we're already after
2986 an overlay string ending at POS, make sure to pop the iterator
2987 because it will be in front of that overlay string. When POS is
2988 ZV, we've thereby also ``processed'' overlay strings at ZV.
2989
ba193890
GM
2990 * xfaces.c (lface_from_face_name): Function comment fix.
2991
1862a24e
MB
29922000-11-24 Miles Bader <miles@gnu.org>
2993
2994 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
2995 apply `mode-line-inverse-video' -- zero means force display using
2996 the default face, non-zero means display using the specialized face.
2997 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
2998
f07fa1b8
KH
29992000-11-23 Kenichi Handa <handa@etl.go.jp>
3000
3001 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3002 hard coded `4'.
3003
2bcdf662
EZ
30042000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3005
3006 * coding.c (decode_coding_emacs_mule): Fix the case of
3007 CODING_EOL_LF, which used uninitialized value of c.
3008
ba8299ff
SM
30092000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3010
3011 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3012
f4117c4d
GM
30132000-11-22 Gerd Moellmann <gerd@gnu.org>
3014
03e757c1
GM
3015 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3016 buffer object.
3017
f4117c4d
GM
3018 * frame.h (struct frame): Replace desired_tool_bar_items,
3019 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3020 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3021
3022 * frame.c (make_frame): Change initialization of tool bar
3023 items accordingly.
3024
3025 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3026 Change references to members deleted from struct frame to use the
f4117c4d
GM
3027 new ones.
3028
3029 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 3030 references to members deleted from struct frame to use the new
f4117c4d
GM
3031 ones.
3032
3033 * dispnew.c (update_frame): Do nothing with frame's tool bar
3034 items.
3035
3036 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3037
3038 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3039 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3040 from struct frame to use the new ones.
3041
f8e2f3f2
MB
30422000-11-23 Miles Bader <miles@gnu.org>
3043
3044 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3045 the face's inverse-video attribute, rather than overriding it.
3046
60e8e0a5
GM
30472000-11-22 Gerd Moellmann <gerd@gnu.org>
3048
3049 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3050 making tool bar smaller.
3051
92dd1b29
DL
30522000-11-22 Dave Love <fx@gnu.org>
3053
3054 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3055
e672fdce
MB
30562000-11-22 Miles Bader <miles@gnu.org>
3057
3a17d6cc
MB
3058 * keyboard.c (Vminibuffer_message_timeout): New variable.
3059 (command_loop_1): Use it to determine message timeout.
3060 (syms_of_keyboard): Initialize it.
3061
60e8e0a5 3062 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3063
e9655d81
KH
30642000-11-22 Kenichi Handa <handa@etl.go.jp>
3065
3066 * sysdep.c: Move the code for declaring h_errno after #include
3067 <netdb.h>.
3068
77270fac
GM
30692000-11-21 Gerd Moellmann <gerd@gnu.org>
3070
cd913aae
GM
3071 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3072 the menu bar when the tooltip is unmapped.
3073
77270fac
GM
3074 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3075 sole visible buffer when we're currently in the mini-buffer, and
3076 give up if so.
3077
556635d6
JR
30782000-11-21 Jason Rumney <jasonr@gnu.org>
3079
3080 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3081 put on the clipboard.
3082 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3083 copy of what Emacs last put there. If they are the same, do not
3084 use the clipboard copy to avoid losing data due to coding
3085 conversions.
3086
5b7bde64
MB
30872000-11-22 Miles Bader <miles@gnu.org>
3088
3089 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3090 (syms_of_minibuf): Initialize it.
3091 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3092 to prompt, don't make read-only.
3093
ff23e1dd
GM
30942000-11-21 Gerd Moellmann <gerd@gnu.org>
3095
3c64f287
GM
3096 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
3097 BEFORE/AFTER_POTENTIAL_GC.
3098
7aaf4388
GM
3099 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3100
f5f47add 3101 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3102
ff23e1dd
GM
3103 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3104
37c35586
KH
31052000-11-21 Kenichi Handa <handa@etl.go.jp>
3106
3107 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3108 ... #endif scope.
3109
ff9ab414
GM
31102000-11-20 Gerd Moellmann <gerd@gnu.org>
3111
c51d2b5e
GM
3112 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
3113 screen supports it.
3114
29a01b72
GM
3115 * s/gnu-linux.h: Don't use `#cpu'.
3116
09dfdf85
GM
3117 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3118 not defined in mman.h.
3119
ff9ab414
GM
3120 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
3121 variables.
3122 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3123 and store an index in the XClientMessageEvent. Storing a
3124 Lisp_Object or pointer can fail on a 64 bit system, since X only
3125 transfers 32 bits.
3126 (x_scroll_bar_to_input_event): Get the window from
3127 scroll_bar_windows.
3128
81459ac9
DL
31292000-11-20 Dave Love <fx@gnu.org>
3130
3131 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3132
56c13ae6
GM
31332000-11-20 Gerd Moellmann <gerd@gnu.org>
3134
3135 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3136
495a6df3
KH
31372000-11-20 Kenichi Handa <handa@etl.go.jp>
3138
2bcf3714
KH
3139 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3140 by WIDTH.
3141
495a6df3
KH
3142 * alloc.c (make_string): Fix previous change. Be sure to make
3143 unibyte string correctly.
3144
6d950f4c
GM
31452000-11-19 Gerd Moellmann <gerd@gnu.org>
3146
39b39373
GM
3147 * window.c (Fwindow_list): Change parameter list to be XEmacs
3148 compatible.
3149 (window_list_1): New function.
3150 (window_loop): Use it instead of Fwindow_list.
3151
b95b34e5
GM
3152 * sysdep.c (emacs_ospeed): New variable.
3153 (toplevel): Don't declare ospeed extern.
3154 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3155
3156 * termcap.c (ospeed): Remove.
3157 (tputs) [!emacs]: Remove unused code.
3158 (tgetent): Avoid a compiler warning.
3159
e83dc917
GM
3160 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3161 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3162 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3163
3164 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3165 removed.
3166 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3167 Take the X display as additional argument.
3168 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3169 `Widget' is a pointer type that's not easily stored in Lisp_Object
3170 form in a portable way.
3171
6d950f4c
GM
3172 * dispnew.c (update_text_area): Fix last change.
3173
e47306e6
GM
31742000-11-18 Gerd Moellmann <gerd@gnu.org>
3175
fb3cd89b
GM
3176 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3177
3178 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3179 clear current matrices.
3180
edaa9aed
GM
3181 * buffer.c (mmap_enlarge): Don't print a message on stderr
3182 if mapping new memory at the end of the existing region fails.
3183
e47306e6
GM
3184 * dispnew.c (update_text_area): Don't skip over equal glyphs
3185 when the last current glyph overlaps the glyph to its right.
3186
509633e3
MB
31872000-11-18 Miles Bader <miles@gnu.org>
3188
3189 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3190 lines that *end* with "..." too (that's the most common case!).
3191
d392e9c5
GM
31922000-11-18 Gerd Moellmann <gerd@gnu.org>
3193
67988445
GM
3194 * xdisp.c (resize_mini_window): Temporarily change to the
3195 mini-window's buffer if necessary.
1bfdbe43 3196
d392e9c5
GM
3197 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3198 the tooltip obscures less text under it.
3199
32002000-11-17 Gerd Moellmann <gerd@gnu.org>
3201
3202 * puresize.h (BASE_PURESIZE): Increase to 700000.
3203
92bb977f
JR
32042000-11-18 Jason Rumney <jasonr@gnu.org>
3205
3206 * w32term.c (w32_draw_bitmap): Use face to set colors.
3207
26fbf20b
DL
32082000-11-17 Dave Love <fx@gnu.org>
3209
3210 * lread.c (Fload): Fix #ifdef for pcc.
3211
100b593b
GM
32122000-11-17 Gerd Moellmann <gerd@gnu.org>
3213
3214 * xdisp.c (pos_visible_p): Compute the default character height
3215 differently.
3216
a288d0d1
GM
32172000-11-16 Gerd Moellmann <gerd@gnu.org>
3218
cac94de6
GM
3219 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
3220 knowing the line's height; use the default font's height in that
3221 case.
3222
a288d0d1
GM
3223 * xfaces.c (weight_table): Add `demi' with the same meaning as
3224 `demibold'.
3225
981fb6f6
KH
32262000-11-16 Kenichi Handa <handa@etl.go.jp>
3227
2cca872d 3228 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3229 (clear_glyph_row): Delete local static variable null_row.
3230
e5fa381b
JR
32312000-11-15 Jason Rumney <jasonr@gnu.org>
3232
3233 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3234 (w32_alloc_lighter_color): Use new brightness calculations from
3235 xterm.c. Scale delta to be in the range expected by W32.
3236 (w32_draw_relief_rect): Use frame relief colors.
3237
8e42f043
GM
32382000-11-15 Gerd Moellmann <gerd@gnu.org>
3239
6d133d1f
GM
3240 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3241 (Qinhibit_default_face_x_resources): New variable.
3242 (syms_of_frame): Initialize it.
3243 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3244
3245 * xdisp.c (pos_visible_p): Improve function comment.
3246
3247 * lisp.h (BINDING_STACK_SIZE): New macro.
3248
8e42f043
GM
3249 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3250 reading the directory if readdir returns null and errno is EAGAIN
3251 or EINTR.
3252
e8c87124
SM
32532000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3254
3255 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3256 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3257 Set amount_to_scroll to max of dx and scroll_step so that
3258 scroll-conservatively doesn't defeat scroll-step>1.
3259 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3260 scroll-conservatively for line-at-a-time scrolling.
3261
5f0c971d
GM
32622000-11-14 Gerd Moellmann <gerd@gnu.org>
3263
3264 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3265 extra argument.
3266
3267 * xdisp.c (current_mode_line_height, current_header_line_height):
3268 New variables.
3269 (init_xdisp): Initialize them.
3270 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3271 and use exact mode line heights if it is set.
3272
3273 * lisp.h (pos_visible_p): Change prototype.
3274
3275 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3276 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3277 and current_header_line_height first.
3278 (current_mode_line_height, current_header_line_height): Declare
3279 extern.
3280
d7361edf
MB
32812000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3282
3283 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3284 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3285 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3286
ee5e440a
MB
32872000-11-14 Miles Bader <miles@gnu.org>
3288
3289 * xterm.c (x_alloc_lighter_color): Include an additive component
3290 too for dark colors, because FACTOR isn't enough.
3291 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3292 New macros.
3293
5ca020fc
GM
32942000-11-13 Gerd Moellmann <gerd@gnu.org>
3295
3296 * keyboard.c (show_help_echo): Call message3_nolog with number of
3297 bytes in the help string as 2nd parameter, instead of the number
3298 of characters.
3299
9d348294
MB
33002000-11-13 Miles Bader <miles@gnu.org>
3301
3302 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3303 (Fload): Use new openp return protocol.
3304 Don't try to use Vload_source_file_function to load .elc files.
3305 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3306 openp return protocol.
3307 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3308
1729bb9a
KH
33092000-11-11 Kenichi Handa <handa@etl.go.jp>
3310
4e677396
KH
3311 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3312
3313 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3314 Defined these macros.
3315 (NLIST_STRUCT): Avoid re-defining it.
3316
1729bb9a
KH
3317 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3318 -I/usr/contrib/X11R6/include.
3319 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3320
a82fe213
JR
33212000-11-10 Jason Rumney <jasonr@gnu.org>
3322
3323 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3324
3325 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3326 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3327
3328 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3329 (Qw32_charset_vietnamese): New symbol.
3330 (xlfd_charset_of_font): New function.
3331 (w32_load_system_font): Use it.
3332 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3333 when Vw32_charset_info_alist is nil to ensure default face always
3334 has font. Use Fcar and Fcdr for safety.
3335 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3336 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3337 pseudo-codepages for special cases.
3338 (w32_to_x_font): New parameter to allow charset portion to be
3339 specified where there is many to one mapping. Callers changed.
3340 (w32_list_fonts): Avoid listing fonts that won't display.
3341
52d89894
GM
33422000-11-10 Gerd Moellmann <gerd@gnu.org>
3343
3344 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3345 (font_list_1): Renamed from font_list.
3346 (font_list): New function, trying alternative registries from
3347 Vface_alternative_font_registry_alist.
3348 (Finternal_set_alternative_font_registry_alist): New function.
3349 (syms_of_xfaces): Initialize and Staticpro
3350 Vface_alternative_font_registry_alist. Defsubr
3351 Finternal_set_alternative_font_registry_alist.
3352
651cd3da
KR
33532000-11-09 Ken Raeburn <raeburn@gnu.org>
3354
3355 * lisp.h (Flooking_at): Declare.
3356
388ac098
GM
33572000-11-09 Gerd Moellmann <gerd@gnu.org>
3358
778fbc46
GM
3359 * dired.c (directory_files_internal): Fix a braino.
3360
388ac098
GM
3361 * dired.c (directory_files_internal): Add missing GCPRO's.
3362 Some cleanup.
3363
ecaedde1
GM
33642000-11-08 Gerd Moellmann <gerd@gnu.org>
3365
f7eb32aa
GM
3366 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3367 (resize_mini_window): Return quickly if Vresize_mini_window is
3368 nil. Don't return if Vmax_mini_window_height is nil.
3369
3370 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3371 (syms_of_xdisp): Initialize them.
3372 (resize_mini_window): Act according to the setting of
3373 Vresize_mini_window.
3374 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3375
ecaedde1
GM
3376 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3377 scroll bar widget after configuring it, so that it will appear at
3378 the right position from the start.
3379 (XTredeem_scroll_bar): Cleaned up.
3380
3747ef2c
KH
33812000-11-08 Kenichi Handa <handa@etl.go.jp>
3382
3383 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3384 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3385 division by two.
3386
3387 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3388
03391420
DL
33892000-11-07 Dave Love <fx@gnu.org>
3390
7758f1c1 3391 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3392
3393 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3394
b5de343d
GM
33952000-11-07 Gerd Moellmann <gerd@gnu.org>
3396
acad3c0b
GM
3397 * window.c (Fset_window_configuration): Don't try to preserve
3398 point in the current buffer, if that buffer is displayed in more
3399 than one window.
3400
b5de343d
GM
3401 * xfaces.c (lookup_named_face): If default face isn't realized,
3402 try to realize it. Return -1 if not successful.
3403 (Fx_list_fonts): Handle case that face cannot be determined.
3404 (Fface_font): Likewise.
3405
cdb1fe49
GM
34062000-11-06 Gerd Moellmann <gerd@gnu.org>
3407
3408 * window.c (displayed_window_lines): Detect partially
3409 visible lines at the bottom correctly.
3410
d3a67486
SM
34112000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3412
3413 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3414 when ensuring we don't do visit in indirect buffer.
3415
ff8dd5d5
KH
34162000-11-06 Kenichi Handa <handa@etl.go.jp>
3417
3418 * composite.h (compose_chars_in_text): Add prototype.
3419
3420 * composite.c (Vcomposition_function_table): New variable.
3421 (Qcomposition_function_table): New variable.
3422 (run_composition_function): Call
3423 Vcompose_chars_after_function with three arguments.
3424 (compose_chars_in_text): New function.
3425 (syms_of_composite): Modified the doc-string of
3426 Vcompose_chars_after_function. Declare composition-function-table
3427 as a lisp variable, and initialize it.
3428
3429 * xfns.c (x_encode_text): Suppress producing escape sequences for
3430 composition.
3431
3432 * xselect.c: Include composite.h.
3433 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3434
d1145f85
AI
34352000-11-05 Andrew Innes <andrewi@gnu.org>
3436
3437 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3438
3439 * sysdep.c (read_input_waiting): Remove extraneous argument to
3440 read_socket_hook.
3441
3442 * w32fns.c (Fx_server_version): Include w32_build_number in the
3443 return list.
3444
3445 * w32heap.c (w32_build_number): New variable.
3446 (cache_system_info): Set it.
3447
3448 * w32heap.h (w32_build_number): Add extern.
3449
3450 * emacs.c (syms_of_emacs): Update docstring for
3451 system-configuration, to reflect the actual usage on MS-Windows.
3452
e85ee976
GM
34532000-10-31 Gerd Moellmann <gerd@gnu.org>
3454
26dcb81b
GM
3455 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3456 process idle timers while waiting for another event.
3457
0a894bad
GM
3458 * dispnew.c (update_frame_line): Handle case where spaces in
3459 the default face are colored.
3460
e85ee976
GM
3461 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3462 window height hasn't changed.
3463
01b220b6
JR
34642000-10-31 Jason Rumney <jasonr@gnu.org>
3465
3466 * w32term.c (x_produce_glyphs): Handle composite characters.
3467 (x_draw_glyph_string_foreground)
3468 (x_draw_composite_glyph_string_foreground): Restore old font.
3469
4e6b7204
MB
34702000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3471
3472 * minibuf.c (read_minibuf): Reset the undo history just before
3473 starting the recursive-edit.
3474
d4358b37
GM
34752000-10-30 Gerd Moellmann <gerd@gnu.org>
3476
563f68f1
GM
3477 * xfaces.c (menu_face_change_count): New variable.
3478 (Finternal_set_lisp_face_attribute): Increment it for changes
3479 of the `menu' face.
3480 (realize_basic_faces): Reflect changes in the `menu' faces
3481 in menu bars.
3482
82e274d1
GM
3483 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3484 dy obtained from the iterator's y-position after moving from
3485 scroll_margin_pos to PT; see comment there.
3486
0dbf9fd2
GM
3487 * xdisp.c (safe_eval_handler): Call add_to_log.
3488
906b3b14
GM
3489 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3490 is not a symbol or string.
3491
d4358b37
GM
3492 * xdisp.c (echo_area_display): Don't perform a display update from
3493 inside redisplay. The update will happen anyway at the end of
3494 redisplay, and it can confuse redisplay (GC messages while
3495 redisplaying, for instance.)
3496
70c825df
SM
34972000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3498
cf9b4b0b
SM
3499 * xrdb.c (x_load_resources): Use the class name in the defaults.
3500
70c825df
SM
3501 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3502 (regex_compile): Catch bogus \(\1\).
3503
a1d34b1e
GM
35042000-10-30 Gerd Moellmann <gerd@gnu.org>
3505
cae71efe
GM
3506 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3507 RGB values.
3508
35efe0a1
GM
3509 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3510 we have a color cache, check that the cached color equals the
3511 allocated color. If not, clear the color cache.
3512
1d3baf74
GM
3513 * window.c (displayed_window_lines): Change buffers if necessary.
3514 Fix computation of displayed lines.
3515
a1d34b1e
GM
3516 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3517 update_menu_bindings to DEFVAR_BOOL.
3518
70737ea9
KH
35192000-10-30 Kenichi Handa <handa@etl.go.jp>
3520
70c825df 3521 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3522
fa0cb51d
KH
3523 * puresize.h (BASE_PURESIZE): Increase to 680000.
3524
70737ea9
KH
3525 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3526
0e4c08e8
JR
35272000-10-29 Jason Rumney <jasonr@gnu.org>
3528
3529 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3530
3531 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3532 (w32_cache_char_metrics): Handle possibility that 'x' does not
3533 exist in a BDF font.
3534 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3535
3536 * w32bdf.h (bdffont): Add nchars.
3537
3538 * w32bdf.c (set_bdf_font_info): Set it.
3539 (w32_BDF_TextOut): Swap byte order of double byte characters.
3540 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3541
45b84006
EZ
35422000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3543
3544 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3545 don't override the colors in frame's param_alist, unless they are
3546 unspecified.
3547
3548 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3549 reverse the effect of the highlight flag.
3550
caf9deee
KR
35512000-10-27 Ken Raeburn <raeburn@gnu.org>
3552
3553 * window.h (Fwindow_live_p): Declare.
3554
ae0b9b46
KR
3555 * undo.c (record_delete): Check that last_undo_buffer is really a
3556 buffer before applying XBUFFER to it.
3557
3558 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3559 Faref.
3560
02067692
SM
35612000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3562
3563 * lisp.h (KEYMAPP): New macro.
3564 (get_keymap): Remove.
3565 (get_keymap_1): Rename get_keymap.
3566
3567 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3568
3569 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3570
3571 * xmenu.c (single_submenu): Use KEYMAPP.
3572 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3573 Use KEYMAPP rather than Fkeymapp.
3574
3575 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3576
3577 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3578 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3579 Use KEYMAPP rather than Fkeymapp.
3580 (single_submenu): Use KEYMAPP.
3581 (w32_menu_show, w32_dialog_show): Use TRUE.
3582
3583 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3584
3585 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3586 (Fkeymapp): Use KEYMAPP.
3587 (get_keymap): Rename from get_keymap_1. Remove old def.
3588 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3589 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3590 (Fminor_mode_key_binding): Don't raise an error if the binding
3591 is not a keymap.
3592 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3593 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3594
3595 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3596 Allow Vspecial_event_map to be autoloaded.
3597 (menu_bar_items): Fetch the keymap rather than using keymapp.
3598 (menu_bar_one_keymap): No need to follow func-indirect any more.
3599 (parse_menu_item): get_keymap_1 -> get_keymap.
3600 (tool_bar_items): Fetch the keymap rather than using keymapp.
3601 (read_key_sequence): Use KEYMAPP.
3602
3603 * intervals.c (get_local_map): Use get_keymap rather than following
3604 function-indirections explicitly.
3605
3606 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3607
f9d80af3
JR
36082000-10-27 Jason Rumney <jasonr@gnu.org>
3609
3610 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3611 point, as Windows has oversized fonts.
3612
3613 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3614
a3ba27da
GM
36152000-10-27 Gerd Moellmann <gerd@gnu.org>
3616
3617 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3618 (freehook, reallochook): Handle null pointer arguments.
3619 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3620
aa3b80cc
SM
36212000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3622
3623 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3624 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3625 Giving in to popular pressure to shut up the compiler with casts.
3626
e24e84cc
GM
36272000-10-27 Gerd Moellmann <gerd@gnu.org>
3628
3629 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3630 signed value, and use a default value computed from the font's
3631 maximum descent.
3632
05ea7ef2
MB
36332000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3634
3635 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3636 that specify a negative underline position can still use underlines.
3637
3638 * window.c (Fpos_visible_in_window_p): Make POS default to
3639 WINDOW's point, not the current buffer's point.
3640
0b95284b
DL
36412000-10-26 Dave Love <fx@gnu.org>
3642
3643 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3644 when it's necessary.
3645
6c5b90af
GM
36462000-10-26 Gerd Moellmann <gerd@gnu.org>
3647
8b6d9dc9
GM
3648 * window.c (size_window): Compute size difference from sum of old
3649 child window sizes instead of from parent's size.
3650
6bc92b2e
GM
3651 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3652 Handle obscured lines at the top of the window.
3653
3654 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3655 down after the last error condition check.
3656
6c5b90af
GM
3657 * frame.c (Fdelete_frame): Run delete-frame-hook.
3658
42f92d4d
KH
36592000-10-26 Kenichi Handa <handa@etl.go.jp>
3660
3661 * coding.c (decode_coding): Fix previous change (check also
3662 CODING_MODE_LAST_BLOCK).
3663
d97151cb
SM
36642000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3665
e7efc503
SM
3666 * regex.c: More `unsigned char' -> `re_char' changes.
3667 Also change several `int' into `re_wchar_t'.
3668 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3669 (PUSH_FAILURE_POINTER): Don't cast any more.
3670 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3671 We want GCC to complain, since this piece of code makes
3672 re_match non-reentrant, which *should* be fixed.
3673 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3674 (EXTEND_BUFFER): Use RETALLOC.
3675 (SET_LIST_BIT): Don't cast.
3676 (re_wchar_t): New type.
3677 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3678 that those two functions will always properly return.
3679 (IMMEDIATE_QUIT_CHECK): Cast to void.
3680 (analyse_first): Use recursion rather than an explicit stack.
3681 (re_compile_fastmap): Can't fail anymore.
3682 (re_search_2): Don't check re_compile_fastmap for failure.
3683 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3684 Now also sets the new value (passed in a new argument).
3685 (re_match_2_internal): Use it.
3686 Also, use a new var `reg' of type size_t when looping through regs
3687 rather than reuse the inappropriate `mcnt'.
3688
d97151cb
SM
3689 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3690 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3691 (where_is_internal): Renamed from Fwhere_is_internal.
3692 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3693 (Fwhere_is_internal): New function wrapping where_is_internal.
3694 (where_is_internal_1): Handle the case where we're filling the cache.
3695 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3696
d5789b65
MB
36972000-10-25 Miles Bader <miles@gnu.org>
3698
3699 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3700
4ecda532
GM
37012000-10-25 Gerd Moellmann <gerd@gnu.org>
3702
3703 * window.c (pos_fully_visible_p): Removed.
3704 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3705 if position is visible and/or fully visible.
3706
3707 * lisp.h (pos_visible_p): Add prototype.
3708
3709 * xdisp.c (pos_visible_p): New function.
3710
68c3a137
KH
37112000-10-25 Kenichi Handa <handa@etl.go.jp>
3712
3713 * process.c (send_process): If OBJECT is t, it means that the data
3714 is from C string, but we should encode it. Before calling
3715 setup_raw_text_coding_system, be sure to flush out data by the
3716 previous coding system.
3717
7ae1c032
MB
37182000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3719
ff4dcd4b
MB
3720 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3721 assignment of startpos to prev when startpos == pos.
3722
7ae1c032
MB
3723 * editfns.c (find_field): Set the field stickiness correctly from
3724 overlay fields. Use renamed `text_property_stickiness'.
3725 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3726 Only check text properties, not overlays.
7ae1c032
MB
3727 * textprop.c (get_char_property_and_overlay): New function.
3728 (Fget_char_property): Use it.
3729 * intervals.h (get_char_property_and_overlay): Add declaration.
3730
49801145
SM
37312000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3732
3733 * keymap.c: Use AREF, ASET and ASIZE macros.
3734 (Fmake_sparse_keymap): Docstring fix.
3735 (synkey): Remove.
3736 (shadow_lookup): Move up.
3737 Handle the case where lookup-key returns an integer.
3738 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3739 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3740 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3741 Simplify/rewrite the keymap-finding code.
3742 Add check for command shadowing, using shadow_lookup.
3743
39e776cd
SM
37442000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3745
3746 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3747 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3748 a symbol.
3749
2488aba5
AI
37502000-10-24 Andrew Innes <andrewi@gnu.org>
3751
3752 * dired.c (directory_files_internal_unwind): New function.
3753 (directory_files_internal): Use it to ensure closedir is called
3754 even if expand-file-name or file-attributes throw, eg. because of
3755 a user interrupt. Also enable immediate_quit while calling
3756 re_search, so that matching can be interrupted as well.
3757
b94fdf61
AI
37582000-10-24 Andrew Innes <andrewi@gnu.org>
3759
3760 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3761 NT-Emacs only.
3762 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3763 so that re_search functions only quit when callers expect them to.
3764
37652000-10-24 Kenichi Handa <handa@etl.go.jp>
3766
3767 * regex.c (regex_compile): Change the way of handling a range from
3768 a char less than 256 to a char not less than 256.
3769
1946f901
GM
37702000-10-24 Gerd Moellmann <gerd@gnu.org>
3771
7ae2f10f
GM
3772 * window.c (size_window): Prevent setting window's width or
3773 height to a negative value (esp. with XSETFASTINT).
3774
5dcab13e
GM
3775 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3776 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3777 (protect_malloc_state) [GC_MALLOC_CHECK &&
3778 GC_PROTECT_MALLOC_STATE]: New function.
3779 (PROTECT_MALLOC_STATE): New macro.
3780 (__malloc_initialize, morecore, _malloc_internal)
3781 (_free_internal) _realloc_internal): Use it to make _heapinfo
3782 read-only outside of gmalloc.
3783
63e1b552
GM
3784 * keymap.c: Update copyright.
3785
1946f901
GM
3786 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3787 a symbol.
3788
4fa09beb
GM
37892000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3790
3791 * filelock.c (unlock_all_files): Use unlock_file to expand each
3792 buffer's file_truename before trying remove its lock file.
3793
23afac01
EZ
37942000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3795
3796 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3797 or CRLF, decode EOLs.
3798
04448b95
KH
37992000-10-24 Kenichi Handa <handa@etl.go.jp>
3800
3801 * window.c (Fdisplay_buffer): Fix doc.
3802
3090a5a5
JR
38032000-10-23 Jason Rumney <jasonr@gnu.org>
3804
3805 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3806 ASCII font of default fontset on Windows.
3807
3808 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3809 xterm.c comment below).
3810
3811 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3812
a83fee2c
GM
38132000-10-23 Gerd Moellmann <gerd@gnu.org>
3814
3815 * xterm.c (x_connection_closed): Reset handling_signal.
3816
3817 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
3818 null.
3819
6ffdb539
MB
38202000-10-23 Miles Bader <miles@gnu.org>
3821
3822 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3823 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3824 maintain old behavior.
3825 * minibuf.c (Fminibuffer_complete): Likewise.
3826
7f1c969b
MB
38272000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3828
3829 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3830 that when a font can't be exactly centered, it errs up rather than
3831 down.
3832
23afac01 38332000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
3834
3835 * fns.c (Fbase64_decode_string): The decoded result should be
3836 unibyte.
3837
1a578e9b
AC
38382000-10-23 Andrew Choi <akochoi@i-cable.com>
3839
3840 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3841
3842 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 3843 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
3844
3845 * emacs.c (main) [macintosh]: Call syms_of_textprop,
3846 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
3847 syms_of_search, x_term_init, and init_keyboard before calling
3848 init_window_once. Also, call syms_of_xmenu.
3849
3850 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
3851 default fontset to Monaco.
3852
3853 * frame.c [macintosh]: Include macterm.h. Remove declarations of
3854 NewMacWindow and DisposeMacWindow.
3855 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
3856 instead of calling NewMacWindow and setting fields of
3857 f->output_data.mac directly. Call init_frame_faces.
3858 (Fdelete_frame) [macintosh]: Remove unused code.
3859 (Fmodify_frame_parameters) [macintosh]: Call
3860 x_set_frame_parameters instead of mac_set_frame_parameters.
3861
3862 * frame.h [macintosh]: Define menu_bar_lines field in struct
3863 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
3864
3865 * keyboard.c [macintosh]: Include macterm.h.
3866 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
3867 and menu_bar_activate_event type events as for X and NT.
3868 (make_lispy_event) [macintosh]: Construct lisp events of type
3869 MENU_BAR_EVENT as for X and NT.
3870
3871 * sysdep.c [macintosh]: Remove declaration for sys_signal.
3872 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
3873 (sys_subshell) [macintosh]: Remove definition entirely.
3874 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
3875 Vwindow_system_version here. Remove initialization of
3876 Vx_bitmap_file_path.
3877 (read_input_waiting): Correct the number of parameters passed to
3878 read_socket_hook.
3879 Move all Macintosh functions to mac/mac.c.
3880
3881 * term.c [macintosh]: Include macterm.h.
3882
3883 * window.c [macintosh]: Include macterm.h.
3884
3885 * xdisp.c [macintosh]: Include macterm.h. Declare
3886 set_frame_menubar and pending_menu_activation.
3887 (echo_area_display) [macintosh]: Do not return if terminal frame
3888 is the selected frame.
3889 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
3890 Allow only the selected frame to set menu bar.
3891 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
3892 calling FRAME_EXTERNAL_MENU_BAR (f).
3893 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
3894
3895 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
3896 and check_x. Declare XCreateGC. Define x_create_gc and
3897 x_free_gc. Initialize font_sort_order.
3898 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
3899 but call x_list_fonts instead of w32_list_fonts.
3900 (Finternal_face_x_get_resource) [macintosh]: Do not call
3901 display_x_get_resource.
3902 (prepare_face_for_display) [macintosh]: Set xgcv.font.
3903 (realize_x_face) [macintosh]: Load the font if it is specified in
3904 ATTRS.
3905 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
3906 to Qt.
3907
1ffbabe3
SM
39082000-10-22 Stefan Monnier <monnier@cs.yale.edu>
3909
3910 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
3911 is nil: since we go to the end of submap anyway, we'd end up
3912 setting nil to nil.
3913 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
3914 doesn't obey autoload.
3915
bed43f1d
EZ
39162000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3917
1ffbabe3 3918 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 3919
ea4233a7
JR
39202000-10-21 Jason Rumney <jasonr@gnu.org>
3921
3922 * w32term.c (w32_cache_char_metrics): Double check that font is
3923 really fixed pitch before trusting tmPitchAndFamily.
3924
f3d3c491
AI
39252000-10-21 Andrew Innes <andrewi@gnu.org>
3926
3927 * w32gui.h (w32_char_font_type): Move enum from w32term.c
3928
3929 * w32term.h: Extern decl for w32_cache_char_metrics.
3930
3931 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
3932
3933 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
3934 (w32_unload_font): Free per_char array if present.
3935
3936 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
3937 cached information in emulated XFontStruct to handle common cases
3938 quickly. Do not allocate XCharStruct for return.
3939 (w32_native_per_char_metric): New function.
3940 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
3941 allocating one.
3942 (x_produce_glyphs): Don't get an HDC. Change calls to
3943 w32_per_char_metric to match arg change above. Remove calls to
3944 free results.
3945 (w32_get_glyph_overhangs): Ditto.
3946 (w32_cache_char_metrics): New function.
3947
3948 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
3949 ($(BLD)/casefiddle.$(O)): Remove compile command.
3950 ($(BLD)/gmalloc.$(O)): Remove compile command.
3951 ($(BLD)/dispnew.obj):
3952 ($(BLD)/keyboard.obj):
3953 ($(BLD)/w32inevt.obj):
3954 ($(BLD)/w32bdf.obj):
3955 ($(BLD)/alloc.obj):
3956 ($(BLD)/buffer.obj):
3957 ($(BLD)/editfns.obj):
3958 ($(BLD)/emacs.obj):
3959 ($(BLD)/fileio.obj):
3960 ($(BLD)/fns.obj):
3961 ($(BLD)/indent.obj):
3962 ($(BLD)/insdel.obj):
3963 ($(BLD)/intervals.obj):
3964 ($(BLD)/minibuf.obj):
3965 ($(BLD)/print.obj):
3966 ($(BLD)/scroll.obj):
3967 ($(BLD)/sysdep.obj):
3968 ($(BLD)/textprop.obj):
3969 ($(BLD)/widget.obj):
3970 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
3971 ($(BLD)/term.obj): Add dependency on dispextern.h.
3972
3973 * makefile.nt ($(BLD)\dispnew.obj):
3974 ($(BLD)\keyboard.obj):
3975 ($(BLD)\w32inevt.obj):
3976 ($(BLD)\w32bdf.obj):
3977 ($(BLD)\alloc.obj):
3978 ($(BLD)\buffer.obj):
3979 ($(BLD)\editfns.obj):
3980 ($(BLD)\emacs.obj):
3981 ($(BLD)\fileio.obj):
3982 ($(BLD)\fns.obj):
3983 ($(BLD)\indent.obj):
3984 ($(BLD)\insdel.obj):
3985 ($(BLD)\intervals.obj):
3986 ($(BLD)\minibuf.obj):
3987 ($(BLD)\print.obj):
3988 ($(BLD)\scroll.obj):
3989 ($(BLD)\sysdep.obj):
3990 ($(BLD)\textprop.obj):
3991 ($(BLD)\widget.obj):
3992 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
3993 ($(BLD)\term.obj): Add dependency on dispextern.h
3994
18ad4821
EZ
39952000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3996
3997 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
3998 with an additional argument of Qt.
3999
de54681a
MB
40002000-10-21 Miles Bader <miles@gnu.org>
4001
4002 * window.c (pos_fully_visible_in_window_p): New function.
4003 (Fpos_visible_in_window_p): Add FULLY argument.
4004 Use pos_fully_visible_in_window_p.
4005 (window_scroll_pixel_based, window_scroll_line_based): Update
4006 calls to Fpos_visible_in_window_p.
4007 * lisp.h (Fpos_visible_in_window_p): Update prototype
4008
13c844fb
GM
40092000-10-20 Gerd Moellmann <gerd@gnu.org>
4010
4011 * alloc.c (toplevel): Conditionalize compilation of mem_*
4012 functions differently.
4013
d9506268
JR
40142000-10-20 Jason Rumney <jasonr@gnu.org>
4015
4016 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4017 mem_init where it used to be. mem_z etc not defined otherwise.
4018
8094989b
GM
40192000-10-20 Gerd Moellmann <gerd@gnu.org>
4020
4021 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4022 GC_MALLOC_CHECK.
4023 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4024 structure definition and related variabled to the top of the file.
4025 Include this code when GC_MALLOC_CHECK is defined.
4026 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4027 register/unregister allocated region.
4028 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4029 which isn't allocated.
4030 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4031 something which is already in use.
4032 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4033 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4034 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4035 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4036
4037 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4038 _malloc_internal instead of malloc.
4039 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4040 of free.
4041
ea456eb4
AI
40422000-10-20 Andrew Innes <andrewi@gnu.org>
4043
4044 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4045 Windows.
4046 (my_strftime) <macro>: Don't use macro arg list when redefining as
4047 _strftime_copytm.
4048 (my_strftime) <function>: Supply 0 as ut argument.
4049
e64c3a75
JR
40502000-10-19 Jason Rumney <jasonr@altavista.net>
4051
4052 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4053 including dispextern.h, as it stops faces from working.
4054
4055 * w32fns.c (Fx_create_frame): Don't bother calling
4056 face-set-after-frame-default since the caller does it for us
4057 anyway. Clean up calls to x_get_arg to be consistent with X.
4058
4059 * w32term.c (x_produce_glyphs): Handle
4060 unibyte_display_via_language_environment correctly.
4061 (w32_draw_box_rect): Fix the calculation of width and height.
4062
4063 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4064 as it has stopped working.
4065 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4066 menu-bar.
4067
17401c97
GM
40682000-10-19 Gerd Moellmann <gerd@gnu.org>
4069
4070 * eval.c (skip_debugger): Prevent a compiler warning.
4071 (Fcondition_case): Likewise.
4072 (Fbacktrace_frame): Use a null interactive spec.
4073
773272d8
KH
40742000-10-19 Kenichi Handa <handa@etl.go.jp>
4075
4076 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4077
a42943e9
GM
40782000-10-18 Gerd Moellmann <gerd@gnu.org>
4079
e50517d9
GM
4080 * strftime.c: Sync with glibc, file version 1.78.
4081 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4082 should no longer be used according to ISO 8601.
4083
9035a35a
GM
4084 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4085 no map for meta_prefix_char, don't try to use it as a keymap.
4086 Instead, if T_OK is non-zero, look up a default binding, if any,
4087 otherwise, if T_OK is zero, return nil.
4088
a42943e9
GM
4089 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4090 (x_to_xcolors, png_load): Use x_query_color.
4091
4092 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
4093 functions.
4094 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4095 which can be slow.
4096 (x_copy_color, x_alloc_lighter_color): Likewise.
4097
4098 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4099 (x_query_color, x_query_colors): Add prototype.
4100
4101 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4102 check_string_bytes only if not noninteractive, increase count to 50.
4103
00de2987
MB
41042000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4105
4106 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4107 markers correctly.
4108
54918e2b
GM
41092000-10-17 Gerd Moellmann <gerd@gnu.org>
4110
1f0b3fd2
GM
4111 * alloc.c (pure_bytes_used): Renamed from pureptr.
4112 (ALIGN): New macro.
4113 (pure_alloc): New function.
4114 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4115 Use it.
4116 (Fpurecopy): Use PURE_POINTER_P.
4117
68c5d1db
GM
4118 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4119 PT has moved backward.
4120
9a038881
GM
4121 * xdisp.c (cursor_row_p): Take continued lines into account.
4122
361b097f
GM
4123 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4124 string's size_byte.
4125 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4126 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4127 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4128 string allocated.
4129
54918e2b
GM
4130 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4131 of selective display off while searching for the next line start.
4132
03ed0806
KH
41332000-10-17 Kenichi Handa <handa@etl.go.jp>
4134
4135 * Makefile.in (term.o): Depend on dispextern.h.
4136
7e05cdaf
SM
41372000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4138
4139 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4140
a6801fd1
GM
41412000-10-16 Gerd Moellmann <gerd@gnu.org>
4142
483de32b
GM
4143 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4144 the iterator at the beginning, so that they can be set later on,
4145 for instance in reseat_at_next_visible_line_start, without being
4146 overwritten.
4147
a6801fd1
GM
4148 * xfns.c (pbm_format): Add :foreground and :background keywords.
4149 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 4150 (xbm_load): Recognize foreground and background color
a6801fd1
GM
4151 specifications.
4152
dbf1fcc1
EZ
41532000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4154
4155 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4156
4157 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
4158 declaration.
4159
4160 * msdos.c (IT_set_face): Compare highlighted face with the default
4161 face, and invert colors if these faces' colors are identical.
4162 (Fmsdos_remember_default_colors): Don't swap foreground and
4163 background colors in initial_colors[].
4164 (IT_set_frame_parameters): Don't swap frame's foreground and
4165 background pixels. If ALIST includes "(reverse . t)", swap
4166 foreground-color and background-color properties in frame's
4167 param_alist. If the original frame's param_alist doesn't specify
4168 the colors, store unspecified-fg and unspecified-bg, reversed if
4169 required.
4170
4171 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4172 the colors are unspecified and reversed, reverse fore- and back-
4173 ground in the returned value.
4174 (Fframe_parameter): Ditto.
4175
b41fe2c3
GM
41762000-10-16 Gerd Moellmann <gerd@gnu.org>
4177
3a6b59d9
GM
4178 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4179 get_last_unchanged_at_beg_row.
4180 (find_first_unchanged_at_end_row): Renamed from
4181 get_first_unchanged_at_end_row.
4182 (find_first_unchanged_at_end_row): Convert assertions to
4183 unconditional tests which abort. When looking for a row in
4184 unchanged text, don't go further back than first_text_row.
4185
b41fe2c3
GM
4186 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4187 Don't add in the last line's height when deciding if the new
4188 position is below the scroll margin.
9d1af64f 4189
b41fe2c3 41902000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4191
4192 * editfns.c (Fconstrain_to_field): Check carefully for field
4193 boundaries if either OLD_POS or NEW_POS has a non-nil field
4194 property, even if they're the same.
4195
c412cb7b
KH
41962000-10-16 Kenichi Handa <handa@etl.go.jp>
4197
4198 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4199 height for XFillRectangle.
4200
5586f3eb
SM
42012000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4202
4203 * syntax.c (Fstring_to_syntax): New function extracted from
4204 Fmodify_syntax_entry.
4205 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4206 (skip_chars, Fforward_comment): Remove unused variables.
4207 (syms_of_syntax): Add defsubr for string-to-syntax.
4208 (describe_syntax): Add code for comment and string fences.
4209
db785038
SM
42102000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4211
4212 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4213 Do the meta->esc mapping. Call get_keyelt before returning.
4214 Start scanning from the second element (the first is always `keymap')
4215 to make it easier to detect when we reach a parent map.
4216 Handle the case of inheriting from a symbol whose function is a map.
4217 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4218 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4219 (get_keyelt, Flookup_key): Update call to access_keymap.
4220 Remove the meta->esc mappings.
4221 (define_as_prefix): Delete old disabled code.
4222 (menu_item_p): New function.
4223 (where_is_internal_1): Skip over the few remaining menu items.
4224 * lisp.h (access_keymap): Update prototype.
4225 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4226 Update call to access_keymap.
4227 (follow_key, read_key_sequence): Update calls to access_keymap.
4228 Remove the meta->esc mappings.
4229
cafafe0b
GM
42302000-10-13 Gerd Moellmann <gerd@gnu.org>
4231
a2e2a7f6
GM
4232 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4233 with additional argument.
4234
cafafe0b
GM
4235 * xdisp.c (cursor_row_p): New function.
4236 (try_cursor_movement, display_line): Use it.
4237
4238 * xdisp.c (append_space): Also save/restore iterator's current
4239 character and its length.
4240
4241 * xdisp.c (init_from_display_pos): Add an assertion.
4242 (handle_stop): Don't set iterator's add_overlay_start.
4243 (handle_invisible_prop): Likewise.
4244 (load_overlay_strings): If text under an overlay is invisible,
4245 take both before- and after-strings into account when the iterator
4246 is positioned either at the start or at the end of the overlay.
4247 (forward_to_next_line_start): Rewritten.
4248 (reseat_at_next_visible_line_start): Rewritten.
4249 (set_iterator_to_next): Add parameter RESEAT_P.
4250
4251 * dispextern.h (struct it): Remove member add_overlay_start.
4252 (set_iterator_to_next): Change prototype.
4253
c744452b
KH
42542000-10-13 Kenichi Handa <handa@etl.go.jp>
4255
4256 * coding.c (code_convert_region): Be sure to initialize
4257 coding->category_idx.
e4a3f4e1
KH
4258 (decode_coding_string): Set coding->src_multibyte and
4259 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4260 (encode_coding_string): Set coding->src_multibyte and
4261 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4262
321fd26f
SM
42632000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4264
4265 * xfns.c (Fx_create_frame): Don't bother calling
4266 face-set-after-frame-default since the caller does it for us anyway.
4267
76832439
EZ
42682000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4269
4270 * window.c (coordinates_in_window): Fix detection of vertical line
4271 on character terminals.
4272
2483cf58
GM
42732000-10-12 Gerd Moellmann <gerd@gnu.org>
4274
4275 * editfns.c (save_excursion_save): Additionally record the
4276 selected window.
4277 (save_excursion_restore): If buffer was visible in a window, and a
4278 different window was selected, and the old selected window is
4279 still live, restore point in that window.
4280
eb991b25
KH
42812000-10-12 Kenichi Handa <handa@etl.go.jp>
4282
8a0eba09
KH
4283 * xterm.c (x_produce_glyphs): Handle
4284 unibyte_display_via_language_environment correctly.
4285
20401fcc
KH
4286 * regex.c (regex_compile): Change the way of handling a range from
4287 unibyte char to multibyte char.
4288
4289 * syntax.c (skip_chars): Change the way of handling a range from
4290 unibyte char to multibyte char.
4291
eb991b25
KH
4292 * process.c (read_process_output): Cancel previous change.
4293
365dd325
EZ
42942000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4295
c1b096cb
EZ
4296 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4297
365dd325
EZ
4298 * charset.c (Ffind_charset_string): Doc fix.
4299 (Ffind_charset_region): Doc fix.
4300
eb483c2b
KH
43012000-10-11 Kenichi Handa <handa@mule.m17n.org>
4302
4303 * process.c (read_process_output): Fix previous change. Adjust
4304 multibyteness of text to insert in a buffer by
df3c11b9 4305 string_make_unibyte/multibyte instead of
eb483c2b
KH
4306 Fstring_as_unibyte/multibyte.
4307
b40bfb99
AS
43082000-10-10 Andreas Schwab <schwab@suse.de>
4309
4310 * alloc.c (mark_object): Remove all workarounds installed on
4311 1993-08-08.
4312
caff31d4
KH
43132000-10-10 Kenichi Handa <handa@etl.go.jp>
4314
4315 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
4316 returning.
4317 (base64_encode_1): Make it work for a text of multibyte form.
4318 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4319 case. Don't call str_to_multibyte because base64_decode_1
4320 produces correct multibyte form for eight-bit codes.
4321 (Fbase64_decode_string): Adjusted for the change of
4322 base64_decode_1.
4323 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4324 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4325 codes.
4326
4327 * charset.h (CHAR_STRING): Optimized for single byte characters.
4328
cba026ef
AS
43292000-10-09 Andreas Schwab <schwab@suse.de>
4330
4331 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4332 -1 after socket is closed, to fall through to error processing.
4333
1e21fe48
EZ
43342000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4335
4336 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4337 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4338 background-color, change also the colors of the default face for
4339 this frame.
4340
a640322e
EZ
43412000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4342
4343 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4344 them extern (they are defined on xfaces.c).
4345 (syms_of_msdos): Don't intern and don't staticpro
4346 Qbackground_color and Qforeground_color.
4347
a115794c
EZ
43482000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4349
4350 * frame.c (Fframe_parameter): For non-windowed frames, if
4351 f->param_alist says foreground or background color is unspecified,
4352 call tty_color_name to return the color name computed from the
4353 frame's current colors.
4354
f5533b63
DL
43552000-10-06 Dave Love <fx@gnu.org>
4356
4357 * terminfo.c (ospeed): Don't declare.
4358
4359 * sysdep.c: Don't include string.h.
4360 (h_errno): Declare conditional also on TRY_AGAIN.
4361
4362 * charset.c (Ffind_charset_string): Doc fix.
4363
4364 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
4365 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4366 error messages.
4367
2b06561a
DL
43682000-10-05 Dave Love <fx@gnu.org>
4369
4370 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4371 position like menu-bar.
4372
ca839c85
GM
43732000-10-05 Gerd Moellmann <gerd@gnu.org>
4374
4375 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4376
4377 * xdisp.c (handle_single_display_prop): Use safe_call1.
4378 (safe_call): Renamed from call_function.
4379 (safe_call1): New function.
4380 (handle_fontified_prop): Use safe_call1 instead of call1.
4381 (safe_eval): Renamed from eval_form.
4382 (safe_eval_handler): Renamed from eval_handler.
4383 (handle_single_display_prop, display_mode_element): Use safe_eval
4384 instead of eval_form.
4385
4386 * xfaces.c (merge_face_heights): Use safe_call instead of
4387 call_function.
4388
4389 * keyboard.c (show_help_echo): Use safe_call instead of
4390 call_function; use safe_eval instead of eval_form.
4391
4392 * lisp.h (safe_call): Renamed from call_function.
4393 (safe_eval): Renamed from eval_form.
4394 (safe_call1): Add prototype.
4395
a3489ece
MB
43962000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4397
4398 * xfns.c (image_ascent): Rearrange ascent calculation for the
4399 has-a-font case.
4400
35810b6f
SM
44012000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4402
4403 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4404 (where_is_internal_1): Don't bother ignoring menu-items any more.
4405
3dc78168
GM
44062000-10-04 Gerd Moellmann <gerd@gnu.org>
4407
4408 * keyboard.c (update_menu_bindings): New variable.
4409 (parse_menu_item): Use AREF. If update_menu_bindings
4410 is 0, don't update menu bindings.
4411 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4412
1efc2bb9
EZ
44132000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4414
4415 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4416 to `mark_object'.
4417
3f679f55
SM
44182000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4419
4420 * syntax.c (forw_comment): Match nestedness of ender/starter.
4421 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4422 (prev_char_comstart_first): Remove.
4423 (back_comment): Check two-char comment markers more carefully
4424 to better handle overlapping cases like *//* or /* */* */ ...
4425 Match nestedness of ender/starter.
4426
2021ab61
DL
44272000-10-02 Dave Love <fx@gnu.org>
4428
4429 * config.in (HAVE_GAI_STRERROR): Add undef.
4430
4431 * process.c (Fopen_network_stream): Use it.
4432
4433 * m/alpha.h (NO_REMAP): Don't define.
4434
64e6cc18
GM
44352000-10-02 Gerd Moellmann <gerd@gnu.org>
4436
4437 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4438 return with a string converted to an integer or vice versa when
4439 Vmocklisp_arguments is t.
4440 (Fsignal): Likewise. The function can return for `quit'.
4441 (struct gcpro): Declare member `var' to point to a volatile
4442 Lisp_Object.
4443
4444 * eval.c (error): Prevent compiler warning.
4445
b1904cd9
SM
44462000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4447
4448 * keymap.c (keymap_memberp): New function.
4449 (Fset_keymap_parent): Use it.
4450 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4451 Use keymap_memberp to avoid creating cycles.
4452 (access_keymap): Use KEYMAPP.
4453
71c9ec51
GM
44542000-09-30 Gerd Moellmann <gerd@gnu.org>
4455
4456 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4457 gai_strerror. Make sure xerrno is set if connect fails. Improve
4458 error recovery.
71c9ec51 4459
c70c6b58
JR
44602000-09-29 Jason Rumney <jasonr@gnu.org>
4461
4462 * w32term.c (w32_char_font_type, w32_encode_char)
4463 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4464 (w32_bdf_per_char_metric): New function.
4465 (w32_per_char_metric): Use it.
4466 (x_draw_glyph_string_background): Always draw background for BDF
4467 glyphs.
4468
4469 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4470 GDI object which is a scarce resource.
4471
4472 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4473 (get_quoted_string): Fix limit on memchr search.
4474 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4475 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4476 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4477 (get_cached_font_char, cache_char_offset): Use macro
4478 BDF_CODEPOINT_RANGE_COVER_P.
4479 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4480 (clear_cached_bitmap_slots): New function.
4481 (GET_HEX_VALUE): G-Z, g-z are not hex.
4482 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4483 (get_bitmap_with_cache): Use new cache implementation.
4484 (create_offscreen_bitmap): New function.
4485 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4486
4487 * w32term.c (x_produce_glyphs): If the distance from the current
4488 position to the next tab stop is less than a canonical character
4489 width, use the tab stop after that.
4490 (x_draw_glyphs): Handle case START and END are out of bounds more
4491 carefully.
4492 (x_clear_mouse_face): Block/unblock input.
4493 (x_display_and_set_cursor): Don't show a hollow box cursor for
4494 buffers whose cursor_type is nil.
4495
fe01239f
GM
44962000-09-29 Gerd Moellmann <gerd@gnu.org>
4497
4498 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
4499 disappears.
4500
4501 * dispextern.h (updating_frame): Declare extern.
4502
e7c52f1f
AS
45032000-09-29 Andreas Schwab <schwab@suse.de>
4504
4505 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4506
de6e1f7c
GM
45072000-09-29 Gerd Moellmann <gerd@gnu.org>
4508
25126faa
GM
4509 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4510 use its function definition.
4511 (tool_bar_items): Likewise.
4512
de6e1f7c
GM
4513 * lisp.h (fatal): Declare NO_RETURN.
4514
454ee39b
KH
45152000-09-29 Kenichi Handa <handa@etl.go.jp>
4516
4517 * keymap.c: Remove the line "#undef NULL".
4518
96301c5f
GM
45192000-09-28 Gerd Moellmann <gerd@gnu.org>
4520
4521 * xterm.c (x_make_frame_visible): Try harder to make the frame
4522 visible.
4523
efffeeb4
DL
45242000-09-28 Dave Love <fx@gnu.org>
4525
ecb8b666
DL
4526 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4527
dc3cd20f
DL
4528 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4529
4530 * .gdbinit (xreload): Note its need on GNU/Linux.
4531
efffeeb4
DL
4532 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4533 r_alloc, r_alloc_free.
4534
8610d903
KH
45352000-09-28 Kenichi Handa <handa@etl.go.jp>
4536
4537 * syntax.c (skip_chars): Handle negation correctly.
4538
8901d1ac
GM
45392000-09-27 Gerd Moellmann <gerd@gnu.org>
4540
6f22f1ad
GM
4541 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4542 with non-zero FORCE_P argument.
4543
8901d1ac
GM
4544 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
4545 Add assertions.
4546
4547 * xdisp.c (window_box_height): Add an assertion.
4548
4549 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4550 tool-bar than is available.
4551 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4552
36f1966f
DL
45532000-09-27 Dave Love <fx@gnu.org>
4554
efffeeb4 4555 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4556
31d929e5
GM
45572000-09-26 Gerd Moellmann <gerd@gnu.org>
4558
c98863bf
GM
4559 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4560 instead of BITS_PER_INT.
4561 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4562 EMACS_UINT, respectively.
4563 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4564
4565 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4566
4567 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4568
77072ab1
GM
4569 * window.c (freeze_window_starts): Construct last argument for
4570 foreach_window differently.
4571
4572 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4573
4574 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4575 EMACS_UINT instead of `int' and `unsigned int'.
4576 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4577
4578 * frame.h (struct frame): Make the `nothing' member of union
4579 output_data an EMACS_INT.
4580
31d929e5
GM
4581 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
4582 hunting.
4583 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4584 size in the sdata structure.
4585 (SDATA_NBYTES, SDATA_DATA): New macros.
4586 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4587 differently for the different layout of the sdata structure.
4588 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4589 in sdata.
4590 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4591 Check that size recorded in the string size and size recorded in
4592 the sdata structure agree.
4593
3e60b029
DL
45942000-09-25 Dave Love <fx@gnu.org>
4595
4596 * buffer.c: Include stdio.h.
4597
4598 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
4599
4600 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4601
4602 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
4603 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
4604 size_t.
4605 (__malloc_extra_blocks): Declare as __malloc_size_t.
4606
8ff16b4e
GM
46072000-09-25 Gerd Moellmann <gerd@gnu.org>
4608
755a2ccd
GM
4609 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4610
d8b4516f
GM
4611 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4612 (read_char): If help-echo is showing, preserve the echo area
4613 when redisplaying.
4614
4615 * xdisp.c (help_echo_showing_p): New variable.
4616 (set_message): Reset it to 0.
4617 (init_xdisp): Initialize help_echo_showing_p.
4618
4619 * dispextern.h (help_echo_showing_p): Declare extern.
4620
4621 * config.in: Fix typo in __GNUC_MINOR__.
4622
4623 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4624
b11af2dd
GM
4625 * s/freebsd.h (POSIX_SIGNALS): Define.
4626
8ff16b4e
GM
4627 * xterm.c (x_clear_mouse_face): Block/unblock input.
4628
844eb643
DL
46292000-09-24 Dave Love <fx@gnu.org>
4630
4631 * fns.c (base64_encode_1): Fix last change.
4632
b30ab1b3
GM
46332000-09-22 Gerd Moellmann <gerd@gnu.org>
4634
4635 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4636
4637 * xdisp.c (try_window_reusing_current_matrix): More fixes
4638 for the case window has a header-line.
4639
c6cbe5f0
DL
46402000-09-22 Dave Love <fx@gnu.org>
4641
4c7c1f3f
DL
4642 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4643 a doc string.
4644
4645 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4646
c6cbe5f0
DL
4647 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4648
550a625e
GM
46492000-09-21 Gerd Moellmann <gerd@gnu.org>
4650
4c7c1f3f 4651 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4652 for GCC >= 2.5.
4653
4654 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
4655 NO_RETURN.
4656
80d26f99
GM
4657 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4658 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4659 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4660 warnings.
4661
4662 * marker.c (byte_char_debug_check): Return void.
4663
623a0aae
GM
4664 * xfns.c (Fx_create_frame): Set default frame parameter value
4665 for tool-bar-lines to 1.
4666
4667 * dispnew.c (scrolling_window): Compare y-positions of rows
4668 equal at the start. Some simplification.
4669
4670 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4671 reused rows' y-position in the case window has a header-line, and
4672 new window start is greater than old window start.
4673
42ac0ae5
GM
4674 * process.c (process_sent_to): New variable.
4675 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4676 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4677 Declare more parameters volatile.
4678
550a625e
GM
4679 * lread.c (Vrecursive_load_depth_limit): New variable.
4680 (Fload): Check recursive loads whose recursion depth exceeds
4681 Vrecursive_load_depth_limit.
4682 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4683
8320414c
GM
46842000-09-20 Gerd Moellmann <gerd@gnu.org>
4685
f46c275e
GM
4686 * fileio.c (Fread_file_name): Doc fix.
4687
4688 * editfns.c (Fmessage_or_box): Doc fix.
4689
4690 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4691
b7e11c5b
GM
4692 * xfns.c (xbm_scan): Allow C-style comments.
4693
8320414c
GM
4694 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4695 symbols are specified, add color translations to the cache.
4696 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
4697 functions.
4698 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4699 xpm_cache_color.
4700 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4701 structures to xpm_init_color_cache.
4702
da1608d9
GM
47032000-09-19 Gerd Moellmann <gerd@gnu.org>
4704
4705 * dispnew.c (update_window_line): Make sure to always draw
4706 mode-lines.
4707
6badfa25
AI
47082000-09-19 Andrew Innes <andrewi@gnu.org>
4709
4710 * makefile.nt (bootstrap-emacs): Don't change directory.
4711
3a5f42bb
KH
47122000-09-19 Kenichi Handa <handa@etl.go.jp>
4713
1b7649bd
KH
4714 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4715
3a5f42bb
KH
4716 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4717 If output buffer is too small, signal an appropriated error.
4718
9f83cf0b
DL
47192000-09-18 Dave Love <fx@gnu.org>
4720
4721 * keyboard.c (menu_bar_items, tool_bar_items)
4722 (current_active_maps): Remove redundant get_local_map call.
4723
28c7826c
GM
47242000-09-18 Gerd Moellmann <gerd@gnu.org>
4725
5cefa566
GM
4726 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4727 cursor for buffers whose cursor_type is nil.
4728
6fed3546
GM
4729 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4730 a feature to implement that is already implemented.
4731 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4732 warnings.
4733
4734 * xfns.c (x_clear_image_1): New function.
4735 (x_clear_image): Use it.
4736 (x_from_xcolors): Use x_clear_image_1; don't free the image's
4737 mask.
4738
05b1f851
GM
4739 * dispnew.c (update_window): Move test for invisible lines
4740 at the top to update_window_line.
4741 (update_window_line): Handle invisible lines here.
4742
f4779de9
GM
4743 * xfns.c (clear_image_cache): Clear current matrices of all
4744 frames sharing an image cache. Block input while freeing
4745 images. Fix timestamp comparison.
4746 (x_clear_image): Also free the mask.
4747
28c7826c
GM
4748 * xfns.c (lookup_image): Block input while loading the image so
4749 that we won't get interrupted in a state where the image isn't yet
4750 set up completely.
4751 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4752 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4753 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
4754 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
4755 input.
4756
b7412313
GM
47572000-09-16 Gerd Moellmann <gerd@gnu.org>
4758
4759 * dispnew.c (update_window): Make sure to make desired rows
4760 current even if they are completely invisible at the top
4761 of a window.
4762
47e351a3
GM
47632000-09-15 Gerd Moellmann <gerd@gnu.org>
4764
7f8f1edc
GM
4765 * xfns.c (lookup_image): Build mask before applying an algorithm.
4766 Recognize algorithm `disabled'.
4767 (cross_disabled_images): New variable.
4768 (COLOR_INTENSITY): New macro.
4769 (x_detect_edges): Use COLOR_INTENSITY.
4770 (x_disable_image): New function.
4771 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4772
4773 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4774 disabled state, don't apply an image transformation algorithm if
4775 the user specified an image for the disabled state. Use
28c7826c 4776 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4777 user hasn't specified an image.
4778
ebb8f116
GM
4779 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4780 allocation functions with the XPM lib.
4781 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4782 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4783 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4784 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
4785 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
4786 functions.
4787 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4788 functions, if possible, because these handle color allocation
4789 failure more gracefully.
4790 (Fimage_mask_p): New function.
4791
47e351a3
GM
4792 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4793 (Qedge_detection, Qheuristic): New symbols.
4794 (syms_of_xfns): Initialize new symbols.
4795 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4796 `algorithm (edge-detection ...)'.
4797 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4798 (tiff_format, gif_format, gs_format): Add `:mask'.
4799 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4800 (GIF_MASK, GS_MASK): New enumerators.
4801 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4802 (emboss_matrix, laplace_matrix): New variables.
4803 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4804 (x_edge_detection): New functions.
4805 (x_laplace): Rewritten in terms of x_detect_edges.
4806 (x_build_heuristic_mask): If image has a mask, free it.
4807
fe83b953
AI
48082000-09-14 Andrew Innes <andrewi@gnu.org>
4809
4810 * makefile.w32-in: Revert to Unix line endings.
4811
3021e816
AI
48122000-09-14 Andrew Innes <andrewi@gnu.org>
4813
4814 * makefile.w32-in: Standardize indentation somewhat.
4815 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4816 cater for differences between shells.
4817
4818 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4819
2a32b5ea
GM
48202000-09-14 Gerd Moellmann <gerd@gnu.org>
4821
4822 * xterm.c (x_produce_glyphs): If the distance from the current
4823 position to the next tab stop is less than a canonical character
4824 width, use the tab stop after that.
4825
b4331e96
DL
48262000-09-14 Dave Love <fx@gnu.org>
4827
4828 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4829
ef9e4345
GM
48302000-09-14 Gerd Moellmann <gerd@gnu.org>
4831
085536c2
GM
4832 * xdisp.c (handle_fontified_prop): While running fontification
4833 functions, bind `fontification-functions' and
4834 `after-change-functions' to nil.
4835
ef9e4345
GM
4836 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4837 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4838
4839 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4840
4841 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4842 USE_MMAP_FOR_BUFFERS.
4843
4844 * insdel.c (make_gap): Use enlarge_buffer_text.
4845
4846 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4847 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4848 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4849 from former r_alloc_* functions in ralloc.c.
4850 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
4851 variables.
4852 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4853 (mmap_init) [REL_ALLOC_MMAP]: New function.
4854 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4855 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4856 BUFFER_FREE.
4857
4858 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
4859 (enlarge_buffer_text): Add prototype.
4860
4861 * ralloc.c: Remove everything having to do with the use of mmap.
4862
f8608968
GM
48632000-09-13 Gerd Moellmann <gerd@gnu.org>
4864
2a494b2d
GM
4865 * sound.c (Fplay_sound): Doc fix.
4866
8c907a56
GM
4867 * keyboard.c: Avoid some more compiler warnings.
4868 (parse_tool_bar_item): Ignore cached key bindings.
4869
f8608968
GM
4870 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
4871 and allocation of Lisp data.
4872
6ab70e9a
GM
48732000-09-12 Gerd Moellmann <gerd@gnu.org>
4874
d12d0a9b
GM
4875 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
4876 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
4877 defaults first.
4878
6ab70e9a
GM
4879 * lread.c (Fload): Put code checking for recursive loads in #if 0.
4880
63c36c3c
KH
48812000-09-12 Miyashita Hisashi <himi@meadowy.org>
4882
4883 * ccl.c: Comment fixed.
4884 (MAX_MAP_SET_LEVEL): Increased to 30.
4885 (PUSH_MAPPING_STACK): Enclose with do-while block.
4886 (POP_MAPPING_STACK): Likewise.
4887 (stack_idx_of_map_multiple): New variable.
4888 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
4889 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
4890 call the corresponding CCL program by
4891 CCL_CALL_FOR_MAP_INSTRUCTION.
4892 (ccl_driver) <CCL_MapSingle>: Likewise.
4893 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
4894 with the case where looking up process reaches to the end of
4895 map-set, and call CCL programs as the above change.
4896
7ee3bd7b
GM
48972000-09-11 Gerd Moellmann <gerd@gnu.org>
4898
8ec8a5ec
GM
4899 * xfns.c (png_load, jpeg_load): Declare some variables volatile
4900 that might be clobbered by longjmp.
4901 (check_x_display_info, x_decode_color, create_frame_xic)
4902 (Fx_display_backing_store, Fx_display_visual_class)
4903 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
4904 warnings.
4905
f74b0705
GM
4906 * lread.c (init_lread): Set Vloads_in_progress to nil.
4907 (Fload): Show list of recursively loaded files, when signaling an
4908 error.
4909
7ee3bd7b
GM
4910 * lread.c (Vloads_in_progress): New variable.
4911 (record_load_unwind): New function.
4912 (Fload): Check for recursive loads.
4913 (syms_of_lread): Initialize Vloads_in_progress.
4914 (read_integer, read1): Avoid some compiler warnings.
4915
4916 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
4917 compiler warnings.
4918
974e1e5b
MB
49192000-09-11 Miles Bader <miles@gnu.org>
4920
4921 * editfns.c (Fbuffer_string): Doc fix.
4922
9824c4e3
GM
49232000-09-10 Gerd Moellmann <gerd@gnu.org>
4924
4925 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
4926
6a72fdd1
KR
49272000-09-09 Ken Raeburn <raeburn@gnu.org>
4928
4929 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
4930 whether to include other header files.
4931
28e6fb66
GM
49322000-09-09 Gerd Moellmann <gerd@gnu.org>
4933
4934 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 4935 by Fmemq as a boolean.
28e6fb66 4936
7f8b6551
SM
49372000-09-08 Stefan Monnier <monnier@cs.yale.edu>
4938
4939 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
4940
a8710abf
GM
49412000-09-08 Gerd Moellmann <gerd@gnu.org>
4942
d1a02881
GM
4943 * ralloc.c (mmap_fd): Remove initializer which can make it
4944 read-only in a dumped Emacs.
4945 (mmap_fd_1): New variable.
4946 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
4947 restore it from there.
4948 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
4949 unconditionally so that mmap_fd can be initialized there.
4950 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
4951 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
4952 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
4953
c454aac1
GM
4954 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
4955
4956 * xdisp.c (dump_glyph_row): Fix printf format string.
4957 (display_line, move_it_in_display_line_to): Avoid compiler
4958 warnings.
4959
fc653ef2
GM
4960 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
4961
3015eec0
GM
4962 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
4963 inheritance.
4964
bfe0ee88
GM
4965 * xdisp.c (try_window_id): When trying to locate cursor in
4966 unchanged rows at the top, handle the case that we can't find it.
4967
a8710abf
GM
4968 * xterm.c (x_draw_glyphs): Handle case START and END are out
4969 of bounds more carefully.
4970
6b7d4ae4
DL
49712000-09-08 Dave Love <fx@gnu.org>
4972
423193c5
DL
4973 * s/sol2.h (REL_ALLOC_MMAP): Define.
4974 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
4975
4976 * ralloc.c: Don't include string.h (redundant).
4977 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
4978 [!MAP_ANON]: Include fcntl.h.
4979 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
4980 (r_alloc, r_re_alloc, r_alloc_free)
4981 (mmap_enlarge, mmap_set_vars): Use it.
4982 (r_alloc_init_fd): New function.
4983 (__morecore) [SYSTEM_MALLOC]: Don't declare.
4984 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
4985 malloc type.
4986
4987 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
4988 Remove vm-limit.o.
4989
6b7d4ae4
DL
4990 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
4991 change to __NetBSD__.
4992
44d31981
KH
49932000-09-08 Kenichi Handa <handa@etl.go.jp>
4994
4995 * search.c (compile_pattern): Check the multibyteness of cached
4996 string and PATTERN.
4997
aad40737
MB
49982000-09-08 Miles Bader <miles@gnu.org>
4999
5000 * xfaces.c (default_face_vector): Function removed.
5001 (Finternal_merge_in_global_face): Restore old global/local
5002 attribute override order. Use inline loop instead of calling
5003 default_face_vector.
5004
91a211b5
GM
50052000-09-07 Gerd Moellmann <gerd@gnu.org>
5006
5007 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5008 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5009 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5010 where necessary, in case POINTER_TYPE is `void'.
5011
03419440
EZ
50122000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5013
5014 * frame.c (make_terminal_frame): Initialize frame foreground and
5015 background colors to unspecified, for the initial instance of an
5016 MSDOS frame.
5017
f46f845b
GM
50182000-09-07 Gerd Moellmann <gerd@gnu.org>
5019
24f76fbf
GM
5020 * ralloc.c (mmap_find): Fix overlap computation.
5021 (mmap_enlarge): Compute nbytes before trying to find an
5022 overlapping region.
5023
f46f845b
GM
5024 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5025 instead of `!='.
5026
5027 * lread.c (syms_of_lread): Change value of regexp
5028 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5029
5030 * xmenu.c (xdialog_show): When looking up the selection in
5031 menu_items, take `quote' boundaries into account; this corresponds
5032 to a nil ITEM in x-popup-dialog.
5033
3c014385
KH
50342000-09-07 Kenichi Handa <handa@etl.go.jp>
5035
fd6f711b
KH
5036 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5037 not 0x81.
5038 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5039
3c014385 5040 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5041 encoding, not decoding. Fix the handling of latin-jisx0201.
5042 Check for the charset katakana-jisx0201 too.
3c014385 5043 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5044 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5045
0da3ecef
GM
50462000-09-07 Gerd Moellmann <gerd@gnu.org>
5047
ab0ee409
GM
5048 * xfaces.c (Vparam_value_alist): New variable.
5049 (syms_of_xfaces): Initialize it.
5050 (Finternal_set_lisp_face_attribute): Avoid more consing.
5051
5052 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5053 specially.
5054 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5055 (Qbackground_mode): New variable.
5056 (syms_of_frame_1): Initialize Qbackground_mode.
5057
5058 * lisp.h (Qdisplay): Declare extern.
1091dd67 5059
0da3ecef
GM
5060 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5061 change face on all frames, and change the default for new frames.
5062
b14654b9
DL
50632000-09-07 Dave Love <fx@gnu.org>
5064
5065 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5066
d24fd56f
KH
50672000-09-07 Kenichi Handa <handa@etl.go.jp>
5068
794f3670
KH
5069 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5070
0fddd0dc
KH
5071 * charset.c: Include composite.h
5072 (lisp_string_width): New function.
5073 (Fstring_width): Call lisp_string_width instead of strwidth.
5074
5075 * Makefile.in (charset.o): Depends on composite.h.
5076
d24fd56f
KH
5077 * process.c (read_process_output): Before inserting the decoded
5078 text in the buffer, adjust the multibyteness.
5079
fa0b693c
GM
50802000-09-06 Gerd Moellmann <gerd@gnu.org>
5081
73b77ee5
GM
5082 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
5083 buffer's text buffer is null, map new memory.
5084
0a58f946
GM
5085 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5086 POINTER_TYPE and size_t.
5087 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5088 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5089 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5090 [REL_ALLOC_MMAP]: New macros.
5091 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5092 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5093 [REL_ALLOC_MMAP]: New functions.
5094
5095 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5096 before and after unexec.
5097
5098 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5099 text buffers if necessary.
5100
5101 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5102 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5103 in prototypes.
5104
fa0b693c
GM
5105 * config.in (HAVE_MMAP): Add #undef.
5106
877055f6
GM
51072000-09-05 Gerd Moellmann <gerd@gnu.org>
5108
08ba3862
GM
5109 * frame.c (Qdisplay_type): New variable.
5110 (syms_of_frame_1): Initialize it.
5111 (Fframe_parameter): New function that avoids consing.
5112 (syms_of_frame): Defsubr it.
5113
66ffe51c
GM
5114 * buffer.c (Fother_buffer): Consider buffers as invisible when
5115 they are displayed in a window on an invisible frame.
5116
877055f6
GM
5117 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5118 get-largest-window always return nil.
5119
bb970e67
GM
51202000-09-04 Gerd Moellmann <gerd@gnu.org>
5121
5122 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5123 variable; recognize Emacs 19 elc files.
5124
7a3d0e0e
MB
51252000-09-04 Miles Bader <miles@gnu.org>
5126
5127 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5128 before initially popping up the menu, so the menu doesn't flash
5129 when the face settings are significantly different from the
5130 defaults.
5131
14473664
SM
51322000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5133
5134 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5135 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5136 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5137 (BIT_UNIBYTE): Remove.
5138 (re_match_2_internal): Delete corresponding code and streamline the
5139 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5140 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5141 (re_wctype_t): New type.
5142 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5143 (regex_compile): Use them and fix handling of overly long char classes.
5144
c1174479
AI
51452000-09-03 Andrew Innes <andrewi@gnu.org>
5146
f8803e97
AI
5147 * makefile.w32-in: Change to DOS line endings.
5148
c1174479
AI
5149 * s/ms-w32.h (ORDINARY_LINK): New define.
5150
5151 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5152 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5153
5154 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5155 (distclean): Delete them here instead.
5156
44ef7cf6
AI
5157 * w32proc.c (compare_env): Convert to uppercase for comparison,
5158 not lowercase, to match how the native Windows shell works.
5159
49b3bd82
JR
51602000-09-03 Jason Rumney <jasonr@gnu.org>
5161
5162 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5163 CVS changes the line-ends when checking in/out on DOS/Windows.
5164
5165 * makefile.nt (emacs): Do not change directory to run temacs, as
5166 the load-path is set relative to current directory.
5167
a3d35a39
MB
51682000-09-03 Miles Bader <miles@gnu.org>
5169
5170 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5171
d276b0cf
GM
51722000-09-02 Gerd Moellmann <gerd@gnu.org>
5173
715e84c9
GM
5174 * xdisp.c (redisplay_mode_lines): New function.
5175 (display_mode_lines): Return number of mode lines displayed.
5176 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5177 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5178
8892f40b
GM
5179 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5180 string.h and strings.h.
5181 (index) [HAVE_INDEX]: Add prototype.
5182
d276b0cf
GM
5183 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5184 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5185
5186 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5187 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5188
38404229
GM
51892000-09-01 Gerd Moellmann <gerd@gnu.org>
5190
5191 * lread.c (read1): Accept `?' as symbol constituent, for
5192 compatiblity with XEmacs.
5193
c0f9ea08
SM
51942000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5195
5196 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5197 (struct re_pattern_buffer): Remove newline_anchor.
5198 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5199 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5200 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5201 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5202 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5203 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5204 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5205 Get rid of references to newline_anchor.
5206 (regcomp): Allocate and precompute a fastmap.
5207
8c0f83fe
GM
52082000-08-31 Gerd Moellmann <gerd@gnu.org>
5209
5210 * lread.c (openp): GCPRO local variable `filename'.
5211
4bb91c68
SM
52122000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5213
5214 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5215
5216 * regex.c: Merge some changes from GNU libc. Add prototypes.
5217 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5218 Use memcmp and memcpy instead of bcopy and bcmp.
5219 (init_syntax_once): Use ISALNUM.
5220 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5221 (REG_UNSET_VALUE): Remove. Use NULL instead.
5222 (REG_UNSET, re_match_2_internal): Use NULL.
5223 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5224 New macros.
5225 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5226 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5227 (regex_compile): In handle_interval, return an error rather than try to
5228 unfetch the interval if we can't find the closing brace.
5229 Obey the RE_NO_GNU_OPS syntax bit.
5230 (TOLOWER): New macro.
5231 (regcomp): Use it.
5232 (regexec): Allocate regs.start and regs.end as one block.
5233
5226a931
GM
52342000-08-30 Gerd Moellmann <gerd@gnu.org>
5235
868dd24b
GM
5236 * xdisp.c (echo_area_display): Check display_completed instead
5237 of calling detect_input_pending.
5238
5239 * dispnew.c (update_frame): Only set display_completed here; move
5240 the update_begin and update_end calls here from update_frame_1.
5241 (update_frame_1): Don't set display_completed here, don't call
5242 update_begin/update_end.
5243
5226a931
GM
5244 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5245 instead of store_frame_param.
5246
2a8bd25f
GM
52472000-08-29 Gerd Moellmann <gerd@gnu.org>
5248
5249 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5250 desired window matrix hasn't been displayed, use the current row
5251 instead. Make sure that only those frame rows are updated for
5252 which there exists a corresponding enabled desired row.
5253
ba3478d9
MB
52542000-08-29 Miles Bader <miles@gnu.org>
5255
5256 * xfaces.c (default_face_vector): New function.
5257 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5258
87d0f685
GM
52592000-08-29 Gerd Moellmann <gerd@gnu.org>
5260
5261 * lread.c (openp): Prevent temporary string passed to
5262 Ffile_readable_p from being garbage collected.
5263
6fa86045
DL
52642000-08-28 Dave Love <fx@gnu.org>
5265
5266 * keymap.c (store_in_keymap): Add `static' to declaration.
5267
bb17930d
GM
52682000-08-28 Gerd Moellmann <gerd@gnu.org>
5269
5270 * emacs.c, callint.c, doc.c, editfns.c
5271 (toplevel) [HAVE_STRING_H]: Include string.h.
5272 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5273 (index): Remove prototypes which might conflict with non-standard
5274 definitions of index/strchr.
5275
5276 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5277 (rindex): Define only if !HAVE_RINDEX.
5278
5279 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5280
5281 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5282
87188200
MB
52832000-08-28 Miles Bader <miles@gnu.org>
5284
5285 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5286 made inconsistent by a font-related attribute in FROM.
5287 (merge_face_inheritance): Add function comment.
5288
41a68aef
KH
52892000-08-28 Kenichi Handa <handa@etl.go.jp>
5290
5291 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5292 the 4th arg (PREV_EVENT) Qt to suppress input method.
5293
f7c436c1
SM
52942000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5295
0b32bf0e
SM
5296 * regex.c: Indent cpp directives and remove parens after `defined'.
5297 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5298 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5299 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5300 (re_compile_pattern): Use size_t for length.
5301 (init_syntax_once): Move to a better place.
5302 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5303 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5304
f7c436c1
SM
5305 * syntax.c (back_comment): Detect cases where a comment-starter is
5306 actually inside another comment as in: /* a // b */ c // d \n.
5307 Make it clear that `comstart_pos' is unused for nested comments.
5308
5309 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5310 (KEYMAPP): New macro.
5311 (Fkeymap_parent, Fset_keymap_parent): Use it.
5312 (fix_submap_inheritance): Mark it static.
5313 (define_as_prefix, describe_buffer_bindings, describe_command)
5314 (describe_translation, describe_map): Complete prototypes.
5315
5316 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5317
5318 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5319 to better match the key-lookup behavior.
5320
6288c62f
GM
53212000-08-27 Gerd Moellmann <gerd@gnu.org>
5322
5323 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5324 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5325
e931344e
EZ
53262000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5327
5328 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5329 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5330 (xterm.o): Depend on coding.h
5331
d10dfeef
KH
53322000-08-26 Kenichi Handa <handa@etl.go.jp>
5333
5334 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5335 the corresponding '#endif'.
5336
2d73e8d3
MB
53372000-08-26 Miles Bader <miles@gnu.org>
5338
5339 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5340 * xfaces.c (QCinherit): New variable.
5341 (syms_of_xfaces): Initialize it.
5342 (LFACE_INHERIT): New macro.
5343 (Finternal_get_lisp_face_attribute)
5344 (merge_face_vector_with_property)
5345 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5346 (check_lface_attrs): Allow new types of face height. Check
5347 inherit attribute.
5348 (CYCLE_CHECK): New macro.
5349 (merge_face_inheritance): New function.
5350 (merge_face_vectors): Merge inherited faces too. Add F and
5351 CYCLE_CHECK arguments.
5352 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5353 (lookup_named_face, lookup_derived_face, realize_named_face)
5354 (face_at_string_position, face_at_buffer_position): Supply
5355 new F and CYCLE_CHECK arguments to merge_face_vectors.
5356 (merge_face_heights): New function.
5357 (merge_face_vectors, merge_face_vector_with_property)
5358 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5359 handle relative face heights.
5360 (lface_same_font_attributes_p): Compare heights using EQ.
5361
6ce974d4
KH
53622000-08-26 Kenichi Handa <handa@etl.go.jp>
5363
5364 * charset.c (char_to_string): Check the character validity.
5365 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
5366 0.
5367
dc1e502d
SM
53682000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5369
5370 * regex.c (PUSH_FAILURE_COUNT): New macro.
5371 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5372 Handle popping of a register's or a counter's data.
5373 (POP_FAILURE_POINT): Use the new name.
5374 (re_match_2_internal): Push counter data on the stack for succeed_n,
5375 jump_n and set_number_at and remove misleading dead code in succeed_n.
5376
bd9d0f3f
GM
53772000-08-25 Gerd Moellmann <gerd@gnu.org>
5378
5379 * xdisp.c (redisplay_internal): If considering all windows on all
5380 frames, update the display for each frame as soon as possible,
5381 instead of first building all desired matrices for all frames, and
5382 then updating them all.
5383 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5384
aa5b8e15
GM
53852000-08-24 Gerd Moellmann <gerd@gnu.org>
5386
17494071
GM
5387 * bytecode.c (mark_byte_stack): Add a comment.
5388
aa5b8e15
GM
5389 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5390 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
5391 a graphical frame.
5392
c543db81
KH
53932000-08-24 Kenichi Handa <handa@etl.go.jp>
5394
d246d5f5
KH
5395 * minibuf.c (do_completion): Always use compare-string, not
5396 string-equal because the latter doesn't pay attention to
5397 multibyteness of strings.
5398
c543db81
KH
5399 * process.c (create_process): Don't setup raw-text coding here.
5400 (Fopen_network_stream): Don't set coding->src_multibyte and
5401 coding->dst_multibyte here.
5402 (read_process_output): For process filter, return unibyte string
5403 if default-enable-multibyte-characters is nil.
5404 (send_process): If OBJECT is multibyte text, be sure to encoded it
5405 by the specified coding system for the process. Otherwise, setup
5406 raw-text coding.
5407 (init_process): Don't initialize default-process-coding-system
5408 here.
5409
9b47cfe0
EZ
54102000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5411
5412 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5413 <scroll-down-aggressively>: Likewise.
5414
f5a36960
KH
54152000-08-23 Kenichi Handa <handa@etl.go.jp>
5416
5417 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5418 zero. Set coding->produced_char correctly.
5419
69a7ffa7
AI
54202000-08-22 Andrew Innes <andrewi@gnu.org>
5421
5422 * makefile.w32-in: New file.
5423
5424 * unexw32.c (unexec): Ignore old_name, and use the actual location
5425 of the current executable instead. Base new_name on this.
5426
5427 * w32proc.c (create_child): Remove reference to security
5428 descriptor, which isn't needed and doesn't compile with mingw32.
5429
5430 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5431 up dllimport attributes.
5432 (x_update_window_end): Update prototype.
5433
5434 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5435 extern, which screws up dllimport attributes.
5436
5437 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5438 up dllimport attributes.
5439
5440 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5441 screws up dllimport attributes.
5442
5443 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5444 up dllimport attributes.
5445 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5446 screws up dllimport attributes.
5447
5448 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5449 up dllimport attributes.
5450
5451 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5452 screws up dllimport attributes.
5453
5454 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5455 screws up dllimport attributes.
5456
5457 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5458 up dllimport attributes.
5459
5460 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5461 unnecessary extern, which screws up dllimport attributes.
5462 (main): Ditto.
5463
5464 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5465 up dllimport attributes.
5466
5467 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5468 unnecessary extern, which screws up dllimport attributes.
5469
5470 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5471 screws up dllimport attributes.
5472
5473 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5474 up dllimport attributes.
5475
5476 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5477
5478 * w32bdf.c (search_file_line):
5479 (set_bdf_font_info):
5480 (seek_char):
5481 (w32_get_bdf_glyph):
5482 (w32_BDF_to_x_font): Fix compile warnings.
5483
5484 * w32menu.c: Include keyboard.h before frame.h. Fix compile
5485 warnings.
5486
5487 * w32select.c: Include keyboard.h before frame.h.
5488
5489 * w32fns.c (max): Define macro.
5490 (JOHAB_CHARSET): Define if not known.
5491 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5492 (Fx_show_tip): Synch with X version.
5493
5494 * w32xfns.c: Include keyboard.h before frame.h.
5495
5496 * w32fns.c: Include keyboard.h before frame.h.
5497
5498 * w32term.c: Include keyboard.h before frame.h.
5499
5500 * fontset.c: Include keyboard.h before frame.h.
5501
5502 * w32inevt.c: Include keyboard.h before frame.h.
5503 (MOUSE_MOVED): Define if not known.
5504
5505 * minibuf.c: Include keyboard.h before frame.h.
5506
5507 * keyboard.c: Include keyboard.h before frame.h.
5508
5509 * indent.c: Include keyboard.h before frame.h.
5510
5511 * dispnew.c: Include keyboard.h before frame.h.
5512
5513 * buffer.c: Include keyboard.h before frame.h.
5514
5515 * alloc.c: Include keyboard.h before frame.h.
5516
5517 * print.c: Include keyboard.h before frame.h.
5518
5519 * process.c: Include keyboard.h before frame.h.
5520
5521 * scroll.c: Include keyboard.h before frame.h.
5522
5523 * sysdep.c: Include keyboard.h before frame.h.
5524
5525 * term.c: Include keyboard.h before frame.h.
5526
5527 * window.c: Include keyboard.h before frame.h.
5528
5529 * xdisp.c: Include keyboard.h before frame.h.
5530 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5531
5532 * frame.c: Include keyboard.h before frame.h.
5533
5534 * w32heap.h: Undefine min, max.
5535
5536 * w32gui.h: Undefine min, max.
5537
5538 * unexw32.c: Change PUCHAR to PCHAR.
5539 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
5540 (relocate_offset):
5541 (get_section_info):
5542 (copy_executable_and_dump_data): Remove unnecessary static defs.
5543 (copy_executable_and_dump_data): Fix compile warnings.
5544
5545 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5546
5547 * w32console.c (min): Define macro.
5548 (clear_frame, write_glyphs): Fix compile warning.
5549
5550 * w32proc.c (compare_env):
5551 (find_child_console): Fix compile warning.
5552
5553 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5554 sys_errlist instead of _sys_errlist.
5555 (get_emacs_configuration_options): New function.
5556
5557 * s/ms-w32.h (sys_nerr): Provide default definition.
5558 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5559 name with _ prepended.
5560 (NSIG): Define if not known.
5561 (get_emacs_configuration): Provide extern declaration.
5562 (get_emacs_configuration_options): Provide extern declaration.
5563 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5564
5565 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
5566 (map_w32_filename):
5567 (read_unc_volume): Fix compile warning.
5568
5569 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5570 definitions from being used.
5571
5572 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5573
5574 * w32.c (unc_volume_file_attributes):
5575 (open_unc_volume): Make arg const.
5576
5577 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5578 (read_input_waiting): Remove excess parameter.
5579
5580 * w32.c (init_environment): Call _access.
5581 (check_windows_init_file): Call _close.
5582 (init_user_info): Call _putenv.
5583 (init_environment): Call _putenv and _strdup.
5584 (init_ntproc): Reset volume info cache on startup.
5585
5586 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5587 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5588 cannot override the CRT malloc.
5589
5590 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5591 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5592
5593 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5594 unless we are linking with a static CRT.
5595 (RVA_TO_PTR): Cast result to unsigned char*.
5596
5597 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5598 (add_volume_info): Use xstrdup.
5599
25060080
SM
56002000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5601
5602 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5603 (do_completion, Fminibuffer_complete_word): Use it.
5604 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5605 var so it can take non-boolean values.
5606
6917e6bb
GM
56072000-08-21 Gerd Moellmann <gerd@gnu.org>
5608
acb7cc89
GM
5609 * editfns.c (find_field): Formatting changes.
5610 (toplevel): Some old-style function forward declarations
5611 changed to prototypes, some new protypes added, some functions
5612 made static.
5613
5614 * lisp.h (set_time_zone_rule): Add prototype.
5615 (use_dialog_box): External declaration.
5616
0bbfdc25
GM
5617 * keyboard.c (gen_help_event): Add parameter SIZE.
5618 (kbd_buffer_events_waiting): Slightly rewritten.
5619 (clear_event): New function.
5620 (kbd_buffer_get_event): Use it, and clear the input_events of
5621 HELP_EVENTs.
5622 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5623 don't fill the newly created array with nils.
5624 (toplevel): Convert some old-style function forward declarations
5625 to prototypes.
5626
5627 * keyboard.h (gen_help_event): Change prototype.
5628
5629 * xterm.c (XTread_socket): Change calls to gen_help_event.
5630
5631 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5632
6917e6bb
GM
5633 * eval.c (Fmacroexpand): Doc fix.
5634
e5cd3d11
JR
56352000-08-20 Jason Rumney <jasonr@gnu.org>
5636
5637 * w32term.h (x_display_info_for_display): Remove as this function
5638 does not exist on W32.
5639
5640 * w32term.c (help_echo_window): New variable.
5641 (syms_of_w32term): staticpro it.
5642 (note_mode_line_highlight): Set it.
5643 (XTextExtents16): Removed as there is no equivalent on W32.
5644 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5645 the X way of doing this will not work for W32.
5646 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5647 (x_draw_image_foreground): Avoid drawing outside of the clip area
5648 when image doesn't have a mask.
5649 (note_mouse_highlight): Process overlays in the right order of
5650 priority. Set help_echo_window.
5651 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5652 because that's more visible for large images.
5653
5654 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5655 name to single_keymap_panes.
5656 (w32_menu_show): Set wv->title when dealing with titles.
5657 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5658
6e69ab8c
MB
56592000-08-21 Miles Bader <miles@gnu.org>
5660
5661 * minibuf.c (do_completion): Try again if we rewrite the input
5662 string, but no completion was done, so that any completion message
5663 will be correct.
5664
511bd4eb
GM
56652000-08-20 Gerd Moellmann <gerd@gnu.org>
5666
5667 * xfaces.c (lface_equal_p): Compare strings differently.
5668 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5669 (realize_tty_face): Use them.
5670 (syms_of_xfaces): Initialize new variables.
5671 (map_tty_color): New function, extracted from realize_tty_face.
5672 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5673 foreground or background color, store the new color name in the
5674 realized face; previous code trying to do this had no effect.
5675 (realize_tty_face): Use map_tty_color.
5676 (Fclear_face_cache): Set face_change_count and ensure thorough
5677 redisplay.
5678
1433385f
GM
56792000-08-19 Gerd Moellmann <gerd@gnu.org>
5680
511bd4eb
GM
5681 * undo.c (record_first_change, record_marker_adjustment): Don't
5682 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5683
419ac0a2
KH
56842000-08-18 Kenichi Handa <handa@etl.go.jp>
5685
5686 * coding.c (decode_coding_string): Set members consumed,
5687 consumed_char, produced, produced_char of *coding correctly. If
5688 decode_coding doesn't consume any byte, don't try anymore.
5689 (encode_coding_string): Likewise.
5690
7eb9e30d
GM
56912000-08-18 Gerd Moellmann <gerd@gnu.org>
5692
511bd4eb
GM
5693 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5694 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5695
5696 * xdisp.c (redisplay_internal): Compare windows for equality with
5697 EQ, instead of applying XWINDOW to something that might not
5698 be a window.
5699
dd34a735
KH
57002000-08-18 Kenichi Handa <handa@etl.go.jp>
5701
5702 * fontset.c (Finternal_char_font): Search only the selected frame
5703 for a window of the current buffer.
5704
385ff9e3
GM
57052000-08-18 Gerd Moellmann <gerd@gnu.org>
5706
511bd4eb 5707 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5708 Lisp_Objects.
5709
385ff9e3
GM
5710 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5711 second half of a HELP_EVENT is found at the start of kbd_buffer.
5712
d6abb4c7
MB
57132000-08-18 Miles Bader <miles@gnu.org>
5714
4618074a
MB
5715 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5716
d6abb4c7
MB
5717 * editfns.c (save_restriction_save): Rewrite to use markers.
5718 (save_restriction_restore): Rewrite to understand new form of data
5719 saved by save_restriction_save.
5720 (Fsave_restriction): Remove cautionary note in doc-string.
5721
a7b28523
GM
57222000-08-17 Gerd Moellmann <gerd@gnu.org>
5723
5724 * fileio.c (build_annotations): Add a comment explaining the
5725 return value of format-annotate-function. Replace a spurious call
5726 to Flength with a CONSP test. Call format-annotate-function with
5727 a fifth arg specifying how many times the function is been called
5728 in a row, to let it choose temporary buffers appropriately.
5729
03c9ed77
DL
57302000-08-17 Dave Love <fx@gnu.org>
5731
5732 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5733 declare make_temp_name twice.
5734
5735 * lread.c: Prototype readevalloop, load_unwind,
5736 load_descriptor_unwind.
5737 (unreadpure): Give it an arg.
5738
5739 * unexalpha.c: Prototype fatal_unexec, mark_x,
5740 update_dynamic_symbols. Declare unexec as void.
5741
5742 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5743 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5744
5745 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
5746 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
5747 DOUG_LEA_MALLOC.
5748
5749 * alloca.c: Use #error.
5750 [POINTER_TYPE]: Use it.
5751
5752 * eval.c (Fdefvar): Doc fix.
5753
5754 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5755 INITIALIZE_INTERVAL.
5756
5757 * buffer.h: Avoid DECLARE_INTERVALS.
5758
5759 * config.in: Add size_t.
5760
aae41d97
EZ
57612000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5762
5763 * w16select.c (set_clipboard_data): If there's not enough memory
5764 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5765 expects. In case of other failures, return 3.
5766 (system_error_msg): New error message.
5767 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5768 system_error_msg.
5769
65aa5e85
GM
57702000-08-16 Gerd Moellmann <gerd@gnu.org>
5771
5772 * term.c (write_glyphs): Also turn off inverse video after turning
5773 off other appearances in case TS_exit_attribute_mode is not equal
5774 to TS_end_standout_mode.
5775 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5776 with the same face.
5777 (turn_off_face): Reset standout_mode only if
5778 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5779 is equal to TS_end_standout_mode.
5780
ece23901
KH
57812000-08-16 Kenichi Handa <handa@etl.go.jp>
5782
9d7bcb2e
KH
5783 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5784 sequence at the end of the source block.
5785
ece23901
KH
5786 * ccl.c (Fccl_program_p): Docstring modified.
5787 (Fccl_execute): Likewise.
5788 (Fccl_execute_on_string): Likewise.
5789
5e30eaa2
EZ
57902000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5791
5792 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5793
290602fd
KH
57942000-08-16 Kenichi Handa <handa@etl.go.jp>
5795
5796 The following changes are mainly to fix bugs of
5797 encode/decode-coding-string failing if encoding/decoding return
5798 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5799 variable conversion_buffer.
5800
5801 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5802 decrement dst_end to avoid buffer overflow in the later call of
5803 string_as_multibyte
5804
5805 * coding.h (conversion_buffer_size, conversion_buffer)
5806 (get_conversion_buffer): Extern deleted.
5807
5808 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5809 (conversion_buffer, conversion_buffer_size): Variables deleted.
5810 (get_conversion_buffer): Function deleted.
5811 (struct conversion_buffer): New structure.
5812 (MAX_ALLOCA): New macro.
5813 (allocate_conversion_buffer): New macro.
5814 (extend_conversion_buffer, free_conversion_buffer): New functions.
5815 (ccl_coding_driver): Set coding->result.
5816 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5817 this is the last block of source.
5818 (encode_coding): Likewise. Handle the source block as the last
5819 one only when the whole source text is consumed.
5820 (decode_coding_string): Handle the case that the output buffer is
5821 too small to decode the whole source text. Use
5822 allocate_conversion_buffer, extend_conversion_buffer and
5823 free_conversion_buffer, not get_conversion_buffer.
5824 (encode_coding_string): Likewise.
5825 (init_coding): Function deleted.
5826 (init_coding_once): Delete code to initialize
5827 conversion_buffer_size.
5828
5829 * emacs.c (main): Don't call init_coding.
5830
5831 * msdos.c (IT_write_glyphs): Use a locally declared
5832 conversion_buffer.
5833
5834 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5835 (insert_glyphs): Likewise.
5836
5837 * w32console.c (write_glyphs): Use a locally declared
5838 conversion_buffer.
5839
b9f80d41
EZ
58402000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5841
5842 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5843 member of display_info is NULL.
5844
32dc52f7
GM
58452000-08-15 Gerd Moellmann <gerd@gnu.org>
5846
58ed0d3b
GM
5847 * alloc.c (compact_small_strings): Use safe_bcopy, add an
5848 assertion.
5849
32dc52f7 5850 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5851 appearances with capability `me'.
32dc52f7
GM
5852 (write_glyphs): Switch on inverse video before each face change.
5853
4eb22d33
DL
58542000-08-14 Dave Love <fx@gnu.org>
5855
5856 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5857 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5858 (lisp_free): Declare and make static.
5859
5860 * window.c: Fix embedded comment.
5861 (syms_of_window): Fix doc string.
5862
90cbf47e
GM
58632000-08-14 Gerd Moellmann <gerd@gnu.org>
5864
5865 * keymap.c (push_key_description): If C without modifiers is < 32,
5866 make sure to print `C-' before `M-', like in the manual.
5867
440fc135
GM
58682000-08-11 Gerd Moellmann <gerd@gnu.org>
5869
5870 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
5871 since they aren't relocated anymore.
5872 (sxhash_string): Make sure returned hash code fits in a Lisp
5873 integer.
5874
5875 * xdisp.c (try_cursor_movement): Fix handling of cursor in
5876 partially visible line which is smaller than the window's
5877 height.
5878
6e264fad
KH
58792000-08-11 Kenichi Handa <handa@etl.go.jp>
5880
5881 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
5882 the multibyte form of eight-bit-control characters.
5883 (Fccl_execute_on_string): Initialize ccl->multibyte.
5884
5885 * ccl.h (struct ccl_program): New member multibyte.
5886
5887 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
5888
c371f69a
KH
58892000-08-11 Kenichi Handa <handa@etl.go.jp>
5890
5891 * regex.c (regex_compile) <normal_char>: Pay attention to
5892 multibyteness.
5893 (analyse_first) <exactn>: Setup fastmap correctly for
5894 eight-bit-control characters.
5895
58962000-08-11 Kenichi Handa <handa@etl.go.jp>
5897
5898 * termhooks.h (enum event_kind): New member
5899 multibyte_char_keystroke.
5900
5901 * keyboard.c (make_lispy_event): Handle the new event type
5902 multibyte_char_keystroke.
5903
5904 * xterm.c: Include coding.h.
5905 (XTread_socket): Work around a bug of XmbLookupString. If the
5906 input is from XIM, decode it according to the current locale. In
5907 that case, generate multibyte_char_keystroke events.
5908
b8ddbe71
KH
59092000-08-11 Kenichi Handa <handa@etl.go.jp>
5910
5911 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
5912 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
5913
47589c8c
GM
59142000-08-10 Gerd Moellmann <gerd@gnu.org>
5915
5916 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
5917 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
5918 (move_it_in_display_line_to): Record iterator's ascent and descent
5919 before producing glyphs, and restore them when we know the glyph
5920 doesn't fit on the line.
5921 (move_it_to): Restructured so that it's easier to debug. If
5922 moving to a vpos, and not moving to an x or character position,
5923 stop as soon as the specified vpos is reached; don't move further
5924 into that line because that might change the computed line height.
5925 (try_cursor_movement): New function, extracted from the cursor
5926 movement branch of redisplay_window. If ending on a partially
5927 visible line, don't try to scroll if the cursor line is taller
5928 than the window.
5929 (redisplay_window): Use try_cursor_movement.
5930
5931 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
5932 because that function doesn't cope with variable-height lines.
5933
5934 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
5935 box cursor because that's better visible for large images.
5936
c51bacd6
MB
59372000-08-10 Miles Bader <miles@gnu.org>
5938
5939 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
5940
bea56df7
GM
59412000-08-10 Gerd Moellmann <gerd@gnu.org>
5942
5943 * xdisp.c (Vmessages_buffer_name): New variable.
5944 (message_dolog): Use it.
5945 (syms_of_xdisp): Initialize it.
5946
99cd7364
EZ
59472000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
5948
5949 * msdos.c (IT_note_mouse_highlight): Update the calls to
5950 overlays_at.
5951 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
5952 redundant now that keyboard.h is included.
5953
7d093d56
EZ
59542000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
5955
5956 * keyboard.c (kbd_buffer_events_waiting): New function.
5957
5958 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
5959
5960 * msdos.c: Include keyboard.h.
5961 (XMenuActivate): Empty no_event events from the event buffer. If
5962 no events are left after that, call clear_input_pending.
5963 (mouse_clear_clicks): New function, code moved from mouse_init.
5964 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
5965 mouse driver to ``forget'' any past clicks.
5966
5967 * Makefile.in (msdos.o): Depend on keyboard.h.
5968
41e757a6
GM
59692000-08-09 Gerd Moellmann <gerd@gnu.org>
5970
8e7bd231
GM
5971 * lisp.h (input_pending): External declaration.
5972
5973 * dispextern.h (Qredisplay_dont_pause): Declare extern.
5974
5975 * xdisp.c (echo_area_display): Display thoroughly if input is
5976 pending. Bind redisplay-dont-pause to t during the redisplay.
5977 in case input is pending.
5978
5979 * dispnew.c (Qredisplay_dont_pause): New variable.
5980 (syms_of_display): Initialize and staticpro it.
5981 (update_frame_1): Don't interrupt the display for pending input if
5982 redisplay_dont_pause is set.
5983
43028b7e
GM
5984 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
5985
41e757a6
GM
5986 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5987
2f2174fa
KH
59882000-08-09 Miles Bader <miles@lsi.nec.co.jp>
5989
5990 * callproc.c (Fcall_process): Terminate the unwind-protect around
5991 the post-read-conversion of coding system.
5992
0a6fd67e
MB
5993 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
5994 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
5995 * buffer.h (overlays_at): Update prototype.
5996 * xdisp.c (next_overlay_change): Update call to overlays_at.
5997 * xfaces.c (face_at_buffer_position): Likewise.
5998 * textprop.c (Fget_char_property): Likewise.
5999 * xterm.c (note_mouse_highlight): Likewise.
6000
0c80756e
MB
6001 * minibuf.c (do_completion): Don't consider a simple change of
6002 case as `completion'.
6003
975f250a
KR
60042000-08-08 Ken Raeburn <raeburn@gnu.org>
6005
b347b3fd
KR
6006 * keyboard.c (syms_of_keyboard): Initialize
6007 last_point_position_buffer.
6008 * undo.c (record_delete): Make sure last_point_position_buffer is
6009 a buffer before comparing pointers.
6010
6011 * coding.h (decode_coding_string): Declare.
6012
6013 * intervals.h (Fprevious_single_char_property_change): Declare.
6014
6015 * textprop.c (Fprevious_single_char_property_change): Don't do
6016 arithmetic directly on lisp objects.
6017
25ad1371 6018 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
6019 objects.
6020
6021 * keyboard.h (menu_item_eval_property): Declare.
6022
6023 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6024 reuse as buffer name, instead of recreating (and discarding) every
6025 time a message is logged.
6026 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6027 (current_message_1, truncate_message_1, set_message_1)
6028 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6029 (current_message, truncate_echo_area, display_echo_area)
6030 (resize_echo_area_axactly): Changed calls.
b347b3fd 6031
975f250a 6032 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6033 Lisp object.
975f250a 6034 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6035 must be an integer, not a Lisp object.
975f250a 6036
46dc9912
KH
60372000-08-08 Kenichi Handa <handa@etl.go.jp>
6038
6039 * charset.c (Fchar_width): Doc fix.
6040
9f6d1a6c
GM
60412000-08-08 Gerd Moellmann <gerd@gnu.org>
6042
6043 * charset.c (Fstring_width): Doc fix.
6044
ff3d9573
GM
60452000-08-07 Gerd Moellmann <gerd@gnu.org>
6046
41e757a6 6047 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6048 line, clear ascent and descent members of the iterator structure;
6049 the height of the continued line does not affect the height of the
6050 continuation line.
6051 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6052 line taller than the window.
6053 (redisplay_window) <forced window start>: Handle case that the
6054 middle of the window is not found in any row.
6055 (dump_glyph_row): Show more information.
6056 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6057 first text line in a glyph matrix.
6058
6059 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6060 of the clip area when image doesn't have a mask.
6061
70fc58b3
GM
6062 * fns.c (sweep_weak_table): Fix survival conditions for
6063 key-or-value and key-and-value weakness.
6064
6065 * .gdbinit (xhashtable): New command.
6066
ac0e96ee
GM
6067 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6068 tables out of the list of all weak hash tables.
6069
ff3d9573
GM
6070 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6071 a new buffer is created, make sure echo_area_buffer[] references
6072 the new buffer.
6073
e0d8827b
EZ
60742000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6075
6076 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6077 the doc string.
6078
c6f35378
KH
60792000-08-07 Kenichi Handa <handa@etl.go.jp>
6080
6081 * syntax.c (skip_chars): Fix previous change. Make the handling
6082 of unibyte string consistent with that of regex search.
6083
1fd4c450
GM
60842000-08-05 Gerd Moellmann <gerd@gnu.org>
6085
e49aa397
GM
6086 * xmenu.c (popup_get_selection): Use xfree instead of free.
6087
6088 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6089
6090 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6091
6092 * callproc.c (child_setup): Use xfree instead of free.
6093
6094 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6095 instead of malloc.
6096 (run_mac_command, closedir): Use `xfree' instead of `free'.
6097
6098 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6099
6100 * eval.c (error): Use xfree instead of free.
6101
1fd4c450
GM
6102 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6103
6104 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6105 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6106
82d497fc
KH
61072000-08-05 Kenichi Handa <handa@etl.go.jp>
6108
6109 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6110 conversion.
6111
59f953a2
NF
61122000-08-04 Noah Friedman <friedman@splode.com>
6113
6114 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6115 docstring.
6116
688351f2
GM
61172000-08-04 Gerd Moellmann <gerd@gnu.org>
6118
6119 * syntax.c (skip_chars): Fix typo in error message.
6120
2dad51cc
AS
61212000-08-04 Andreas Schwab <schwab@suse.de>
6122
6123 * m/ia64.h: Moved from s/ia64.h.
6124
99bb2c60
KH
61252000-08-04 Kenichi Handa <handa@etl.go.jp>
6126
082a1df2
KH
6127 * process.c (read_process_output): Big simplification. Handle
6128 composition and post-read-conversion of coding system correctly.
6129 (send_process): Handle composition correctly.
6130
6131 * callproc.c (Fcall_process): Handle post-read-conversion of
6132 coding system if any.
6133
99bb2c60
KH
6134 * coding.c (decode_coding_iso2022): More strict check for handling
6135 single shifting.
082a1df2
KH
6136 (coding_restore_composition): Pay attention to the case that
6137 cmp_data is not set properly (because of invalid code in the
6138 source text).
6139 (run_pre_post_conversion_on_str): Include text properties in the
6140 resulting string.
6141 (decode_coding_string): Set members of coding correctly.
99bb2c60 6142
f4988be7
GM
61432000-08-03 Gerd Moellmann <gerd@gnu.org>
6144
6145 * s/ia64.h: New file.
6146
6147 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6148 Use NULL instead of 0 at the end of variable argument list of
6149 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6150 sizeof (int) < sizeof (void *).
6151
6152 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6153 of variable argument lists of XtVaGetValues and XtVaSetValues.
6154
6155 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6156 variable argument lists of XtVaGetValues and XtVaSetValues.
6157
ead53494
GM
61582000-08-02 Gerd Moellmann <gerd@gnu.org>
6159
6160 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6161 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6162
6163 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6164 prototype.
6165
6166 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6167 in call to Fsingle_key_description.
6168
6169 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6170 Callers changed.
6171
61722000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6173
6174 * window.c (display_buffer_reuse_frames): New variable.
6175 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6176 frames displaying BUFFER.
6177 (syms_of_window): Define Lisp variable
6178 display-buffer-reuse-frames.
6179
10b0f752
MB
61802000-08-01 Miles Bader <miles@gnu.org>
6181
6182 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6183 when to constrain NEW_POS (they were pretty screwed up before).
6184
16425c4a
EZ
61852000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6186
6187 * msdos.c (run_msdos_command): Save and restore the master
6188 environment, for the case that child_setup signals an error.
6189 When mirroring slashes in DOS shell commands, don't fail when
6190 argv[2] has embedded blanks.
da288c14
EZ
6191 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6192 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6193 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6194
6195 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6196 using alloca; free it after run_msdos_command returns.
6197
27f73852
DL
61982000-07-27 Dave Love <fx@gnu.org>
6199
6200 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
6201 define.
6202 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
6203 working.
6204
6205 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6206
c0261b5e
EZ
62072000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6208
6209 * editfns.c (lisp_time_argument): Fix last change.
6210
b548072f
GM
62112000-07-27 Gerd Moellmann <gerd@gnu.org>
6212
3ab82477
GM
6213 * fns.c (Fdelete): Make it work on vectors and strings in addition
6214 to lists.
6215
b548072f
GM
6216 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6217 (syms_of_fns): Initialize new variables.
6218 (sweep_weak_table): Handle weakness `key-or-value' and
6219 `key-and-value'.
6220 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6221 weakness, with t meaning the same as `key-and-value'.
6222
91ae8751
KH
62232000-07-27 Kenichi Handa <handa@etl.go.jp>
6224
6225 * coding.h (struct coding_system): Member safe_charset deleted.
6226
6227 * coding.c (Qsafe_charsets): This variable deleted.
6228 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
6229 variables.
6230 (coding_safe_chars): New function.
6231 (CODING_SAFE_CHAR_P): New macro.
6232 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
6233 checking safe_charsets member of the coding system. Caller
6234 changed.
6235 (detect_coding_iso2022): New local variable safe_chars.
6236 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6237 safe_charsets member of the coding system.
6238 (decode_coding_iso2022): New local variable safe_chars.
6239 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6240 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6241 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6242 (ENCODE_UNSAFE_CHARACTER): New macro.
6243 (encode_coding_iso2022): New local variable safe_chars. Check
6244 unsafe chars.
6245 (setup_coding_system): Delete the code to initialize
6246 coding->safe_charses
6247 (intersection, find_safe_codings): New functions.
6248 (Ffind_coding_systems_region_internal): New function.
6249 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6250 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6251 variable and initialize it.
6252
6253 * fns.c (char_table_ref_and_index): New function.
6254
6255 * lisp.h (char_table_ref_and_index): Add prototype.
6256
34a7a267
SS
62572000-07-26 Sam Steingold <sds@gnu.org>
6258
6259 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6260 (Ffloat_time): New built-in Lisp function.
34a7a267 6261
a95cb10a
GM
62622000-07-26 Gerd Moellmann <gerd@gnu.org>
6263
3353ef5a
GM
6264 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6265 for the character code.
6266
6267 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6268 GNU/Linux.
6269
a95cb10a
GM
6270 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6271 if called for a popup menu.
6272 (xmenu_show): Store help string in widget values.
6273
b4a12321
DL
62742000-07-26 Dave Love <fx@gnu.org>
6275
6276 * syswait.h: Move some definitions.
6277 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6278 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6279 perspicuous definitions.
6280 (WTERMSIG): Fix bit pattern used.
6281
13f5ad37
KH
62822000-07-26 Kenichi Handa <handa@etl.go.jp>
6283
6284 * print.c (print_object): If vector printing is truncated, print
6285 "..." to indicate it as well as the case of list printing.
6286
070fe99c
GM
62872000-07-25 Gerd Moellmann <gerd@gnu.org>
6288
969065c3
GM
6289 * xdisp.c (next_element_from_display_vector): Improve comments.
6290
6291 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6292 for the character code, and the rest for the face id as in 20.x.
6293 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6294
6295 * window.c (window_display_table): Cleaned up.
6296
070fe99c
GM
6297 * syntax.c (Fforward_word): Add last arg nil in call of
6298 Fconstrain_to_field.
6299
bad77ef7
EZ
63002000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6301
969065c3 6302 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
6303 identical but for the letter-case, don't call
6304 barf_or_query_if_file_exists.
6305
c28da489
MB
63062000-07-25 Miles Bader <miles@gnu.org>
6307
6308 * editfns.c (find_field): Honor special `boundary' fields.
6309 (Qboundary): New variables.
6310 (syms_of_editfns): Initialize Qboundary.
6311 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6312 Use scan_buffer instead of find_before_next_newline, because it
6313 allows us to detect the boundary case where there's a newline at
6314 the search limit.
6315 * lisp.h (Fconstrain_to_field): Update external declaration.
6316
e3c31fd5
GM
63172000-07-24 Gerd Moellmann <gerd@gnu.org>
6318
6319 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6320 if that is nil.
c28da489 6321
c66c29a2
DL
63222000-07-24 Dave Love <fx@gnu.org>
6323
6324 * s/sunos4-0.h, s/sol2.h:
6325 (LIBS_TERMCAP): Move from m/sparc.h.
6326
6327 * m/sparc.h (TERMINFO): Moved to system files (probably only
6328 relevant for sunos4 judging by its vintage).
6329 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6330 __arch64__.
6331
fbe0a958
EZ
63322000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6333
6334 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6335 name to single_keymap_panes.
6336
7d88e5c9
AS
63372000-07-24 Andreas Schwab <schwab@suse.de>
6338
6339 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6340
e024b101
GM
63412000-07-24 Gerd Moellmann <gerd@gnu.org>
6342
6343 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6344 parameters instead of using int parameters. Expect FN to accept
6345 EMACS_INT parameters.
6346 (display_echo_area, resize_echo_area_axactly, current_message)
6347 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6348 with new argument list.
6349 (resize_mini_window_1): New callback function.
6350 (current_message_1, truncate_message_1, set_message_1): Change
6351 parameter lists to the new format expected by
6352 with_echo_area_buffer.
6353
25c1a9ce
KH
63542000-07-24 Kenichi Handa <handa@etl.go.jp>
6355
6356 * fontset.c (fontset_ref): Remove INLINE declaration.
6357 (fontset_ref_via_base): Likewise.
6358 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6359 to downcase.
6360
7f987ac0
EZ
63612000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6362
6363 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6364 correct order of priority. If help echo was found in an overlay,
6365 use that overlay as the object in which the help echo was found.
6366
e2db3069
MB
63672000-07-22 Miles Bader <miles@gnu.org>
6368
6369 * textprop.c (Fprevious_single_char_property_change): The initial
6370 property value should be from the position preceding POSITION, not
6371 following it.
6372
5e3203e4
EZ
63732000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6374
6375 * coding.c (syms_of_coding): Doc fix for
6376 inhibit-iso-escape-detection.
6377
62145073
GM
63782000-07-21 Gerd Moellmann <gerd@gnu.org>
6379
c20aeb83
GM
6380 * xterm.c (note_mouse_highlight): Process overlays in the right
6381 order of priority.
34a7a267 6382
743934db
GM
6383 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6384
6385 * xterm.c (note_mouse_highlight): If help-echo was found in an
6386 overlay, use that overlay as the object in which the help was
6387 found.
6388
d1dc7e43 6389 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6390
62145073
GM
6391 * window.c (foreach_window): Instead of a fake variable argument
6392 list, take one USER_DATA argument.
6393 (foreach_window_1): Likewise, and call callback functions with two
6394 args, the window and USER_DATA.
6395 (struct check_window_data): New struct.
6396 (check_window_containing): Use it.
6397 (window_from_coordinates): Set up a struct check_window_data for
6398 foreach_window.
6399 (add_window_to_list, freeze_window_start): Change parameters
6400 according to new calling convention.
6401
6402 * window.h (foreach_window): Change prototype.
6403
6404 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6405
64062000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6407
6408 * xmenu.c (menu_help_callback): Call show_help_echo with
6409 additional arguments OBJECT and POS.
6410
11270583
KH
64112000-07-21 Kenichi Handa <handa@etl.go.jp>
6412
07b14857
KH
6413 * data.c (Faset): Allow storing any multibyte character in a
6414 string. Convert unibyte string to multibyte if necessary.
6415
11270583
KH
6416 * xfns.c (x_encode_text): New function.
6417 (x_set_name): Use x_encode_text.
6418 (x_set_title): Likewise.
6419
6420 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6421
6422 * xterm.h (x_encode_text): Add prototype.
6423
bc75b4fd
DL
64242000-07-20 Dave Love <fx@gnu.org>
6425
6426 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6427 xfree, not free.
6428
48c14970
EZ
64292000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6430
6431 * msdos.c (help_echo_window): New variable.
6432 (syms_of_msdos): Initialize and staticpro it.
6433 (IT_note_mode_line_highlight): Set help_echo_window.
6434 (IT_note_mouse_highlight): Ditto.
6435 (dos_rawgetc): Store help_echo_window in the second event produced
6436 for HELP_EVENTs.
6437
6438 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6439 Record the object that generated the help echo and the position of
6440 that object in help_echo_object and help_echo_pos. Record that
6441 some glyphs in a row are displayed in mouse-face.
6442 (IT_update_begin): Don't clear mouse highlight unless one of the
6443 enabled glyph rows is marked as being displayed in mouse-face.
6444 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6445 and position recorded in help_echo_object and help_echo_pos to the
6446 event queue.
6447 (IT_menu_display): Accept a new argument PN: the pane number of
6448 the current menu pane. Record the pane number and the item
6449 number of the item which has associated help string.
6450 (XMenuActivate): Update the prototype for help_callback in
6451 function declaration. Call IT_menu_display with the current menu
6452 pane number as an additional argument. Call help_callback with
6453 two additional arguments: the pane number and the item number of
6454 the menu item associated with the help text.
6455 (help_echo_object, help_echo_pos): New variables.
6456 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6457
6458 * msdos.h (XMenuActivate): Update prototype.
6459
4279296d
GM
64602000-07-19 Gerd Moellmann <gerd@gnu.org>
6461
47db06aa
GM
6462 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6463 Add some more prototypes.
6464
6465 * xterm.c, xterm.h: Add some more prototypes.
6466
6467 * lisp.h (Fnext_single_char_property_change): Add prototype.
6468
6469 * dispnew.c (direct_output_for_insert): Remove confusing
6470 outer local variable mouse_face_overwritten_p.
6471 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6472
4279296d
GM
6473 * alloc.c (allocate_string_data): Don't copy old string contents.
6474
670acd62
KH
64752000-07-19 Kenichi Handa <handa@etl.go.jp>
6476
6477 * coding.c (code_convert_region): Delete text properties before
6478 shrinking the conversion region.
6479
7cea38bc
GM
64802000-07-18 Gerd Moellmann <gerd@gnu.org>
6481
dc1cac59
GM
6482 * dispnew.c (update_text_area): Write the whole row if it
6483 has mouse-face in it.
6484
85a8aca9
GM
6485 * xfaces.c (face-alternative-font-family-alist): Remove
6486 DEFVAR_LISP; staticpro instead.
6487
34a7a267 6488 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6489 new arguments.
6490
6491 * keyboard.c (show_help_echo): Add parameter WINDOW.
6492 (read_char): Call show_help_echo with window extracted from Lisp
6493 help event.
6494 (gen_help_event): Add parameter WINDOW.
6495
6496 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6497
6498 * xterm.c (help_echo_window): New variable.
6499 (note_mouse_highlight, note_tool_bar_highlight): Set
6500 help_echo_window.
6501 (XTread_socket): Pass help_echo_window to gen_help_event.
6502 (syms_of_xterm): Initialize and staticpro help_echo_window.
6503
f8276b77
DL
65042000-07-18 Dave Love <fx@gnu.org>
6505
6506 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
6507 systime.h.
6508
088831a6
GM
65092000-07-18 Gerd Moellmann <gerd@gnu.org>
6510
3d6cd763
GM
6511 * alloc.c (allocate_string_data): If string had already data
6512 assigned, copy old contents to new string data.
6513
6514 * coding.c (syms_of_coding): Fix typo in spelling of variable
6515 `inhibit-iso-escape-detection'.
6516
088831a6
GM
6517 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6518
6519 * Makefile.in: Add dependencies on dispextern.h.
6520 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6521 `free'; both can conflict with system header files.
6522
bc8a8d55
KH
65232000-07-18 Kenichi Handa <handa@etl.go.jp>
6524
6525 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6526 undefined.
6527
069f5950
DL
65282000-07-18 Dave Love <fx@gnu.org>
6529
6530 * window.c (Fwindow_list): Declare arg `window'.
6531
aa96c820
KH
65322000-07-18 Kenichi Handa <handa@etl.go.jp>
6533
6534 * coding.c (setup_coding_system): Don't override the explicitly
6535 specified designations.
6536
06be8d32
MB
65372000-07-15 Miles Bader <miles@gnu.org>
6538
6539 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6540 from `text_property_eq' and `text_property_stickiness', respectively.
6541 (find_field, Fconstrain_to_field, char_property_eq)
6542 (char_property_stickiness): Changed to call char-property functions
6543 instead of text-property-only ones.
6544
6545 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6546 `next_single_char_property_change'). Do more error checking, and
6547 cleanup limit behavior.
6548 (Fprevious_single_char_property_change): New function.
6549 (syms_of_textprop): Initialize new subrs.
6550
6551 * xdisp.c (display_prop_end, invisible_text_between_p):
6552 Call Fnext_single_char_property_change instead of
6553 next_single_char_property_change.
6554
3fddcdc3
JR
65552000-07-15 Jason Rumney <jasonr@gnu.org>
6556
6557 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6558 after menu is finished with.
6559 (add_menu_item): Only consider wv->title as a menu title.
6560 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6561
6562 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6563 null title.
6564 (FONT_REGEXP): Remove unused macro, and its sub-components.
6565 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6566
6567 * w32term.c (help_echo_object, help_echo_pos): New variables.
6568 (note_mode_line_highlight): Store additional information about the
6569 help-echo in help_echo_object and help_echo_pos. Check both
6570 `local-map' and `keymap' properties for changing the cursor
6571 (note_mouse_highlight): Store additional information about the
6572 help-echo in help_echo_object and help_echo_pos.
6573 (note_tool_bar_highlight): Set help_echo_object to nil and
6574 help_echo_pos to -1.
6575 (w32_read_socket): Use gen_help_event instead of filling
6576 input_events manually.
6577 (syms_of_w32term): Staticpro help_echo_object.
6578 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
6579 set, arrange for a mouse-highlight redisplay in
6580 XTframe_up_to_date.
6581 (x_clear_mouse_face): New function.
6582 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6583 (x_update_window_begin): No need to turn off the mouse
6584 highlight here.
6585 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6586 depending on whether they contain glyphs highlighted in
6587 mouse-face.
6588 (x_fill_stretch_glyph_string): Consume runs of stretch
6589 glyphs instead of a single one.
6590 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6591 with new argument list.
6592 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6593 (x_append_glyph, x_append_composite_glyph)
6594 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6595 changes in struct glyph starting 1999-12-27. See comments for
6596 xterm.c on 2000-07-05.
6597
178c5d9c
SS
65982000-07-14 Sam Steingold <sds@gnu.org>
6599
6600 * xfaces.c (realize_x_face): Fix the last patch:
6601 check `default_face' before dereferencing.
6602
6fe533f6
DL
66032000-07-14 Dave Love <fx@gnu.org>
6604
069f5950 6605 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6606
dd7b81cf
KH
66072000-07-14 Kenichi Handa <handa@etl.go.jp>
6608
0693904a 6609 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6610 default_face's fontset, not using the default fontset.
0693904a 6611
dd7b81cf
KH
6612 * coding.c (inhibit_iso_escape_detection): New variable.
6613 (syms_of_coding): Make it a Lisp variable.
6614 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6615 nonzero, ignore ISO2022's escape sequence.
6616
d5aa31d8
GM
66172000-07-14 Gerd Moellmann <gerd@gnu.org>
6618
e5acf0ca
GM
6619 * alloca.c (malloc) [emacs]: Define as xmalloc.
6620
bd23a692
GM
6621 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6622 use that instead of the mouse position. Add parameters DX and DY.
6623
6624 * dispextern.h (Fx_show_tip): Adjust number of parameters
6625 in prototype.
6626
9662da0b
GM
6627 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6628 if HELP is a function, call it with OBJECT and POS as parameters
6629 to get the help to display.
6630 (gen_help_event, kbd_buffer_store_help_event): New functions.
6631 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6632 (read_char): Call show_help_echo with new parameters.
6633
178c5d9c 6634 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6635 Add prototypes.
6636
6637 * xterm.c (help_echo_object, help_echo_pos): New variables.
6638 (note_mode_line_highlight): Store additional information about the
6639 help-echo in help_echo_object and help_echo_pos. Check both
6640 `local-map' and `keymap' properties for changing the cursor
6641 (note_mouse_highlight): Store additional information about the
6642 help-echo in help_echo_object and help_echo_pos.
6643 (note_tool_bar_highlight): Set help_echo_object to nil and
6644 help_echo_pos to -1.
6645 (XTread_socket): Use gen_help_event instead of filling
6646 input_events manually.
6647 (syms_of_xterm): Staticpro help_echo_object.
6648
6649 * xmenu.c (menu_highlight_callback): Use
6650 kbd_buffer_store_help_event instead of setting up and input_event
6651 structure manually.
6652
6653 * xdisp.c (eval_form): GCPRO argument sexpr.
6654 (call_function): New function.
6655 (handle_single_display_prop): Use call_function and FUNCTIONP
6656 instead of checking whether if font_height is a symbol and
6657 using eval_form.
6658
6659 * eval.c (internal_condition_case_2): New function.
6660
6661 * lisp.h (FUNCTIONP): New macro.
6662 (internal_condition_case_2, call_function): Add prototypes.
6663
d5aa31d8
GM
6664 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6665 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6666 Always set `arg' member of input_events.
6667 (construct_menu_click): Unused function removed.
6668
6669 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6670
6671 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6672 (construct_drag_n_drop, x_scroll_bar_handle_click)
6673 (w32_read_socket): Always set `arg' member of input_events.
6674
6675 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6676
6677 * lisp.h (eval_form): Add prototype.
6678
6679 * xdisp.c (eval_form): Make it externally visible.
6680
0f1a9b23
GM
66812000-07-13 Gerd Moellmann <gerd@gnu.org>
6682
6683 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6684 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6685 consing. For prefix events, store the frame in the `arg' slot of
6686 the event, otherwise store the key there.
6687 (XTread_socket): Instead of consing, use the frame_or_window slot
6688 of HELP_EVENTs for the frame, and the `arg' slot for the help
6689 string.
6690
6691 * xmenu.c (menu_highlight_callback): Store help string in the
6692 `arg' member of the input event; don't cons.
6693 (menubar_selection_callback): Use the `arg' slot of input events
6694 to queue additional information, instead of consing.
6695
6696 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6697
6698 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6699 TOOL_BAR_EVENTs.
6700 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6701
6702 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6703 input events to queue additional information, instead of consing.
6704
6705 * keyboard.c (kbd_buffer_gcpro): Renamed from
6706 kbd_buffer_frame_or_window. Now used for all Lisp objects
6707 referenced from the input queue.
6708 (kbd_buffer_store_event): Always use structure assignment for
6709 copying input events. Record all Lisp objects referenced from
6710 events in kbd_buffer_gcpro.
6711 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6712 differently from input events. Test for prefix menu_bar_events
6713 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6714 event in kbd_buffer_gcpro to nil.
6715 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6716 frame_or_window is equal to its arg member as prefix events.
6717 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6718 used by an input event to nil.
6719 (init_keyboard): Use two times the size of the input queue
6720 for kbd_buffer_gcpro.
6721 (syms_of_keyboard): Likewise.
6722
6723 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
6724 USER_SIGNAL_EVENT.
6725
6726 * termhooks.h (struct input_event): Add member `arg'.
6727 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6728 (USER_SIGNAL_EVENT): Renamed from user_signal.
6729
6730 * xfaces.c (ASET): Remove definition.
6731
6732 * lisp.h (AREF, ASET, ASIZE): New macros.
6733
6734 * fontset.c (AREF, ASIZE): Remove definitions.
6735
6736 * fns.c (AREF): Remove definition.
178c5d9c 6737
0f1a9b23
GM
6738 * composite.c (AREF): Remove definition.
6739
712eaef2
GM
67402000-07-12 Gerd Moellmann <gerd@gnu.org>
6741
d8ee7803
GM
6742 * dispnew.c (redraw_overlapped_rows): Add missing local.
6743 (scrolling_window): Remove debug code.
6744
712eaef2
GM
6745 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6746 Before scrolling, turn off a mouse-highlight in the window
6747 being scrolled.
6748
6749 * xterm.c (x_update_window_end): Add parameter
6750 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6751 redisplay in XTframe_up_to_date.
6752 (x_clear_mouse_face): New function.
6753 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6754
6755 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6756 current glyph row.
6757 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6758 it when any row is written to that contains glyphs highlighted in
6759 mouse-face.
6760 (update_window): Call the window update end hook with new
6761 parameter MOUSE_FACE_OVERWRITTEN_P.
6762 (direct_output_for_insert): Give up if row contains mouse-face.
6763
6764 * dispextern.h (struct redisplay_interface): Add parameter
6765 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6766 (clear_mouse_face): New function pointer member.
6767
02010917
SM
67682000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6769
6770 * syntax.c (back_comment): Use one switch rather than a few `if's.
6771 Obey open_paren_in_column_0_is_defun_start.
6772 When reverting to the `slow' method, try to nicely handle the case
6773 of nested comments by checking that the comment-starter we found
6774 does indeed match the comment-ender.
6775 (scan_sexps_forward, scan_sexps_forward):
6776 Ignore excessive opening parenthesis rather than throwing an error.
6777
d76c03ea
GM
67782000-07-11 Gerd Moellmann <gerd@gnu.org>
6779
6780 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6781 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6782
6783 * dispnew.c (direct_output_forward_char): Give up if currently
6784 displaying a message instead of the minibuffer contents.
6785
6786 * xterm.c (x_update_window_begin): No need to turn off the mouse
6787 highlight here.
6788 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6789 depending on whether they contain glyphs highlighted in
6790 mouse-face.
6791
6792 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6793 compare the mouse_face_p flags of both rows.
6794
6795 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6796
d55ead18
EZ
67972000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6798
6799 * keyboard.c (show_help_echo): Accept additional parameter
6800 ok_to_overwrite_keystroke_echo.
6801 (read_char): Call show_help_echo with a zero
6802 ok_to_overwrite_keystroke_echo argument.
6803 * keyboard.h (show_help_echo): Update prototype of
6804 show_help_echo.
6805 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6806 ok_to_overwrite_keystroke_echo argument.
6807 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6808 non-zero ok_to_overwrite_keystroke_echo argument.
6809
df75b1a3
GM
68102000-07-10 Gerd Moellmann <gerd@gnu.org>
6811
4b92c49a
GM
6812 * xdisp.c (try_window_id): If changes are all below what is
6813 displayed in the window, and point is in the window, we still
6814 might have to find point on the display.
6815
6816 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6817 glyphs instead of a single one.
6818 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6819 with new argument list.
6820 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6821
df75b1a3
GM
6822 * keymap.c (get_keymap_1): Add comment that this function can GC.
6823 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6824 comment that functions can GC.
6825 (Fset_keymap_parent): GCPRO arg KEYMAP.
6826
4314cf3e
EZ
68272000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6828
6829 * msdos.c (XMenuActivate): After exiting the menu, restore the
6830 echo area message and erase it.
6831
ab49ce15
KH
68322000-07-10 Kenichi Handa <handa@etl.go.jp>
6833
6834 * fontset.c (Ffontset_info): Make the return value more compatible
6835 with that of Emacs 20.
6836
090a072f
GM
68372000-07-07 Gerd Moellmann <gerd@gnu.org>
6838
6839 * eval.c (Fsignal): Handle case that backtrace_list is null.
6840
f92de4a6
KH
68412000-07-07 Kenichi Handa <handa@etl.go.jp>
6842
6843 * ccl.c (Fccl_execute): Typo fixed.
6844
dd8888a1
GM
68452000-07-06 Gerd Moellmann <gerd@gnu.org>
6846
e5c81191 6847 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6848
dd8888a1
GM
6849 * window.c (Fwindow_list): Reverse list at the end.
6850 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6851 means allow windows on OWINDOW's frame, only.
6852 (window_loop): Simplified; use Fwindow_list.
6853
6854 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6855
485266d0
GM
68562000-07-05 Gerd Moellmann <gerd@gnu.org>
6857
6858 * xterm.c (XTread_socket): Increment handling_signal at the start,
6859 decrement it at the end.
6860
6861 * eval.c (handling_signal): New variable.
6862 (Fsignal): Abort if handling_signal is non-zero.
6863
6864 * lisp.h (handling_signal): External declaration.
178c5d9c 6865
485266d0
GM
6866 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6867
80fcd514
KR
68682000-07-05 Ken Raeburn <raeburn@gnu.org>
6869
6870 Sound support for NetBSD through "Linux emulation" support:
6871 * config.in (HAVE_SOUNDCARD_H): Undef.
6872 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6873 * Makefile.in (LIBSOUND): New variable.
6874 (LIBES): Include it.
6875 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
6876 <soundcard.h>.
6877 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
6878 elsewhere.
6879 (vox_open): Use DEFAULT_SOUND_DEVICE.
6880 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6881
d5c5cddd
GM
68822000-07-05 Gerd Moellmann <gerd@gnu.org>
6883
6884 * print.c (print_error_message): If Vsignaling_function is set,
6885 show it in *Messages*.
6886
6887 * lisp.h (Vsignaling_function): External declaration.
6888
6889 * eval.c (Vsignaling_function): New variable.
6890 (Fsignal): Compute it.
6891 (syms_of_eval): Staticpro it.
6892
65171e3a
DL
68932000-07-05 Dave Love <fx@gnu.org>
6894
6895 * syswait.h: Use the autoconf recommended approach. Old code
6896 #if'd out in case we need to revert.
6897
178c5d9c 6898 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 6899
e2c46326
AI
69002000-07-05 Andrew Innes <andrewi@gnu.org>
6901
6902 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
6903 when non-NULL instead of __morecore, to take account of buffer
6904 memory. This also solves a problem with spurious memory warnings
6905 on Windows.
6906
6907 * ralloc.c: Make real_morecore non-static.
6908
6909 * eval.c (internal_condition_case): Comment out abort if
6910 interrupt_input_blocked is not zero.
6911
6912 * makefile.nt: Add support for `bootstrap' and related targets.
6913 Include minimal debug info in emacs.exe in release build.
6914 Remove all dependencies on lisp.h, and fixup some others.
6915
6916 * w32.c (init_environment): Install code from 20.7 for providing
6917 default values for environment variables, based on the
6918 executable's own location.
6919 (map_w32_filename): Handle filenames that are longer than
6920 MAX_PATH.
6921 (sys_socket): Install socket inheritance bug fix from 20.7.
6922
6923 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
6924 here via blockinput.h).
6925
a027a91b
SM
69262000-07-05 Stefan Monnier <monnier@cs.yale.edu>
6927
e4b31601
SM
6928 * w32menu.c (w32_menu_display_help):
6929 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
6930
6931 * keyboard.h (show_help_echo): Declare.
6932
6933 * keyboard.c (show_help_echo): New function, extracted from read_char.
6934 Feval its `msg' argument if it's a cons cell.
6935 (read_char): Use it.
4cf8d9d5 6936 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 6937
178c5d9c 6938 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 6939 (note_tool_bar_highlight, XTread_socket):
178c5d9c 6940 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
6941 (dos_rawgetc):
6942 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
6943 (note_tool_bar_highlight, w32_read_socket):
6944 Do not gratuitously ignore non-string `help-echo' properties.
6945
88d75730
GM
69462000-07-05 Gerd Moellmann <gerd@gnu.org>
6947
969f7e79
GM
6948 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
6949
71201b00
GM
6950 * window.c (delete_all_subwindows): Reset Vwindow_list.
6951
88d75730
GM
6952 * xterm.c (x_append_glyph, x_append_composite_glyph)
6953 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6954 changes in struct glyph starting 1999-12-27. Some bit-fields of
6955 struct glyph were not set, which made glyphs unequal when compared
6956 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
6957 effects were the result. This also depended on the contents of
6958 memory returned by xmalloc. If flickering happens again, activate
6959 the code in clear_glyph_row that's in #if 0. If the flickering is
6960 gone with that, chances are that it is caused by something
6961 similar.
6962
6963 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 6964
88d75730
GM
6965 * dispextern.h: Add some comments.
6966
6967 * window.c (add_window_to_list): Add parameter LIST.
6968 (window_list): Order list so that, for each frame, windows are
6969 in canonical order, and so that frames appear in the list in
6970 the order given by Vframe_list.
6971 (next_window): Reverse the handling of NEXT_P.
6972
53654733
GM
69732000-07-04 Gerd Moellmann <gerd@gnu.org>
6974
87efd256
GM
6975 * window.c (Vwindow_list): New variable.
6976 (make_window, delete_window): Set Vwindow_list to nil.
6977 (check_window_containing): New function.
6978 (window_from_coordinates): Rewritten.
6979 (add_window_to_list, window_list, candidate_window_p)
6980 (decode_next_window_args, next_window): New functions.
6981 (Fnext_window, Fprevious_window): Rewritten in terms of
6982 next_window.
6983 (Fwindow_list): New function.
6984 (Fother_window): Cleaned up.
6985 (foreach_window): Add a longer "variable argument list". Let
6986 callback function return 0 to indicate that cycling over windows
6987 should stop.
6988 (foreach_window_1): Likewise.
6989 (freeze_window_start): Return int.
6990 (init_window): New function.
6991 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
6992
6993 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
6994 input_event with bzero.
6995 (main): Call init_window.
6996
53654733
GM
6997 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
6998 a menu filter.
6999
4a8c194f
KH
70002000-07-04 Kenichi Handa <handa@etl.go.jp>
7001
7002 * composite.h (make_composition_value_copy): Extern it.
7003
7004 * composite.c (make_composition_value_copy): New function.
7005
7006 * editfns.c (Fformat): While copying text properties, make each
7007 composition property value a copy.
7008
7009 * fns.c (concat): While copying text properties, make each
7010 composition property value a copy.
7011
831a6cb0
GM
70122000-07-03 Gerd Moellmann <gerd@gnu.org>
7013
2f516940
GM
7014 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7015
178c5d9c 7016 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7017 marked already.
7018
831a6cb0
GM
7019 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7020 include those frames as candidates which have their focus
7021 redirected to the minibuffer frame.
7022
d9c4f922
SM
70232000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7024
7025 * fns.c (Fputhash): Return `value' rather than nil.
7026
3780bc22
GM
70272000-06-30 Gerd Moellmann <gerd@gnu.org>
7028
97d176db
GM
7029 * frame.c (next_frame): Don't check focus redirection in case
7030 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7031 unless their focus is redirected, which contradicts the
7032 specification of next-frame, and leads to infinite loops in
7033 certain situations when cycling through windows with next-window.
7034
dca9961d
KH
70352000-06-30 Kenichi Handa <handa@etl.go.jp>
7036
7037 * coding.c (code_convert_region): Even if the length of text is
7038 zero, try to convert it if coding->type is coding_type_ccl.
7039 (decode_coding_string, encode_coding_string): Likewise.
7040
d5483ab1
GM
70412000-06-28 Gerd Moellmann <gerd@gnu.org>
7042
af5c25e1 7043 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7044 the display if windows_or_buffers_changed.
af5c25e1
GM
7045
7046 * dispnew.c (struct row_entry): New structure.
7047 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7048 (row_table_size, old_lines, new_lines, old_lines_size)
7049 (new_lines_size, run_pool, runs_size, runs): New variables.
7050 (add_row_entry): New function.
7051 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7052 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7053 holding them in local variables. Use a larger hash table whose
7054 size depends on glyph matrix sizes. Don't use bzero to clear the
7055 hash table; instead, clear used slots only.
7056
7057 * fns.c (next_almost_prime): Make it externally visible.
7058
7059 * lisp.h (next_almost_prime): Add prototype.
7060
d5483ab1
GM
7061 * s/isc4-0.h (sigunblock): Define.
7062
7063 * s/sco5.h (sigunblock): Define.
7064
93e40f40
DL
70652000-06-27 Dave Love <fx@gnu.org>
7066
7067 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7068 (moved to osf5-0.h).
7069 [!NOT_C_CODE]: Protect string.h stuff.
7070
7071 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7072 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7073
3c4b7685
GM
70742000-06-27 Gerd Moellmann <gerd@gnu.org>
7075
97d176db 7076 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7077 below the last line from the needed window height.
7078
32cad0aa
SM
70792000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7080
7081 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7082 (Fwidget_get): Use it.
7083 (syms_of_fns): Defsubr it.
7084
2c69ced2
GM
70852000-06-26 Gerd Moellmann <gerd@gnu.org>
7086
178c5d9c 7087 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7088 display info for XIM.
7089 (xim_open_dpy): Likewise.
7090 (xim_close_dpy): Don't free the display info's XIM.
7091
7092 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7093
7094 * config.in (USE_XIM): New define.
7095
3fc720e4
GM
7096 * keymap.c (get_keyelt): For menu-items containing a `:filter
7097 FILTER', apply FILTER to the menu-item's definition to get the
7098 real definition to use.
7099
7100 * lisp.h (QCfilter): External declaration.
7101
2c69ced2
GM
7102 * xfns.c (Fimage_size): New function.
7103 (syms_of_xfns): Defsubr it.
7104
f978b2a2
AS
71052000-06-26 Andreas Schwab <schwab@suse.de>
7106
7107 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7108 Fstring_as_unibyte.
7109
94cc7892
DL
71102000-06-25 Dave Love <fx@gnu.org>
7111
7112 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
7113 tgetnum.
7114
7115 * Makefile.in (blockinput.h): Depend on atimer.h.
7116 (atimer.h): Depend on systime.h.
7117
7118 * blockinput.h: Protect against multiple inclusion. Include
7119 atimer.h.
7120
7121 * atimer.h: Protect against multiple inclusion. Include
7122 systime.h.
7123
7124 * lisp.h (swap_in_global_binding): Declare.
7125
b8c24556
KR
71262000-06-24 Ken Raeburn <raeburn@gnu.org>
7127
7128 * process.c (Fopen_network_stream): Turn off atimers for duration
7129 of call to connect. (Patch from Gerd.)
7130
8cf8560b
DL
71312000-06-23 Dave Love <fx@gnu.org>
7132
511c7541
DL
7133 * ralloc.c: Maybe include unistd.h
7134
8cf8560b
DL
7135 * emacs.c (setgrp): Undefine before defining.
7136 (malloc_warning, set_time_zone_rule, index): Prototype.
7137
7138 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7139 HAVE_STRUCT_TIMEZONE.
7140
7141 * s/osf1.h: Move string.h hack here from alpha.h and make it
7142 conditional.
7143 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7144 _XOPEN_SOURCE.
7145 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7146 (SOCKLEN_TYPE): Don't define.
7147
7148 * m/alpha.h: Remove string.h hack.
7149
7150 * s/osf5-0.h: New file.
7151
7152 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7153 include time.h, done by systime.h.
7154 [__FreeBSD__]: Remove redundant includes.
7155
3fc720e4 7156 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7157 (delete_temp_file): Return Qnil to avoid warning.
7158
7159 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7160
7161 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7162 HAVE_X_WINDOWS.
7163
7164 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7165
7166 * composite.h (compose_text): Declare.
7167
7168 * xterm.c: Don't include sys/types.h unconditionally. Don't
7169 protect its inclusion with !USG (following xmenu.c).
7170
ea055732
GM
71712000-06-23 Gerd Moellmann <gerd@gnu.org>
7172
7173 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7174 in x_create_frame.
7175
74b01b80
EZ
71762000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7177
7178 * coding.c (decode_eol_post_ccl): Special handling for undecided
7179 and inconsistent EOL types.
7180
64f3a166
GM
71812000-06-22 Gerd Moellmann <gerd@gnu.org>
7182
16cf31f7
GM
7183 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7184 trough color and main window's background color.
7185
178c5d9c 7186 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
7187 differently.
7188
7189 * xterm.h (Xt_app_con): External declaration.
7190
7191 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7192
486a103d
GM
7193 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7194
64f3a166
GM
7195 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7196 (handle_invisible_prop): Record the start of invisible text in
7197 it->add_overlay_start.
7198 (struct overlay_entry): Add member `overlay'.
7199 (handle_overlay_change): Simplify.
7200 (next_overlay_string): After having processed overlay strings at the
7201 end of the buffer, record that fact in
7202 it->overlay_strings_at_end_processed_p.
7203 (compare_overlay_entries): If before- and after-strings come
7204 from the same overlay, let before-strings come first.
7205 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7206 (load_overlay_strings): Take it->add_overlay_start into account
7207 when adding overlay strings.
7208
7209 * dispextern.h (struct it): Add member add_overlay_start.
7210
bb746ea6
DL
72112000-06-22 Dave Love <fx@gnu.org>
7212
7213 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7214
7215 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7216
a8f573f3
KH
72172000-06-22 Kenichi Handa <handa@etl.go.jp>
7218
7219 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7220 is greater than 0.
7221
9f2bbc92
DL
72222000-06-21 Dave Love <fx@gnu.org>
7223
178c5d9c 7224 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7225
3ee5041c
SM
72262000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7227
7228 * syntax.c (back_comment): Simplify string-parity counting (with
7229 the added benefit of handling multiple string-styles as long as
7230 they are not intertwined).
7231 Jump to the slow code as soon as a comment starter is found in
7232 a "string_lossage" position. Fixes the case: " /* " /* " */.
7233
4c343001
DL
72342000-06-21 Dave Love <fx@gnu.org>
7235
7236 * Makefile.in: Use GETLOADAVG_LIBS.
7237
7238 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7239 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7240
e6365855
SM
72412000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7242
7243 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7244 (Fforward_comment, scan_lists):
7245 Check the comstyle of single-char comment-starters.
7246 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7247 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7248 Check the comstyle of single-char comment-starters.
7249 Clarify control-flow around the Scomment case.
e6365855 7250
5700d2cc
DL
72512000-06-20 Dave Love <fx@gnu.org>
7252
d355bd8a
SM
7253 * fns.c (make_hash_table, maybe_resize_hash_table):
7254 Cast arg of next_almost_prime.
5700d2cc 7255
178c5d9c 7256 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7257
7258 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7259 and unistd.h.
7260
4a27bdfb
GM
72612000-06-20 Gerd Moellmann <gerd@gnu.org>
7262
a61d762c
GM
7263 * keyboard.c (adjust_point_for_property): Check if display
7264 property should be treated as intangible by looking at its
7265 value.
7266
178c5d9c 7267 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7268 (display_prop_intangible_p): New functions.
7269
7270 * dispextern.h (display_prop_intangible_p): Add prototype.
7271
7272 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7273
4a27bdfb
GM
7274 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7275 argument to sigprocmask.
7276
7277 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7278 argument to sigprocmask.
7279
7280 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7281 sigprocmask_set, and pass a pointer to it to sigprocmask.
7282
7283 * sysdep.c (sigprocmask_set): New variable.
7284
7285 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7286 report_file_error.
7287
427ec082
SS
72882000-06-20 Sam Steingold <sds@gnu.org>
7289
7290 * xrdb.c: Don't declare xmalloc, xrealloc.
7291
8972fe79 72922000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7293
7294 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7295 (re_comp): Cast gettext return value to avoid complaints when
7296 !HAVE_LIBINTL.
7297
074b6efe
DL
72982000-06-20 Dave Love <fx@gnu.org>
7299
f85c008a
DL
7300 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
7301 HAVE_GETTIMEOFDAY.
7302
5700d2cc 7303 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7304
d355bd8a 7305 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7306
7307 * m/alpha.h: Don't declare xmalloc, xrealloc.
7308
0af4f205
DL
7309 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7310
7311 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7312
7313 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7314
7315 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7316 HAVE_GETWD.
7317
074b6efe
DL
7318 * keyboard.h (poll_for_input_1): Declare.
7319
7320 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7321
7322 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7323
7324 * doprnt.c: Don't declare xmalloc, xrealloc.
7325
7326 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7327 (getenv, ctime, getwd): Removed.
7328 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7329
7330 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7331 x_set_tool_bar_lines.
7332
7333 * config.in: Add HAVE_GETWD. Move some definitions above
7334 machine/system includes.
7335
68a5e97b
KH
73362000-06-20 Kenichi Handa <handa@etl.go.jp>
7337
95417e1e
KH
7338 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7339
68a5e97b
KH
7340 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7341 contain information about ENCODING.
7342
7343 * fontset.c (FONTSET_ASCII): Use the first element of char table
7344 for an ASCII font, not defalt slot.
7345 (fontset_ref_via_base): If FONTSET doesn't contain information for
7346 C, try the default fontset.
7347 (make_fontset): Don't copy the default fontset.
7348 (fontset_font_pattern): Likewise.
7349 (accumulate_font_info): If ELT is nil, use the corresponding
7350 element in the default fontset.
7351
3b4fa1b2
DL
73522000-06-19 Dave Love <fx@gnu.org>
7353
943e731c
DL
7354 * syntax.c (Fparse_partial_sexp): Doc fix.
7355
7356 * regex.h: Test PROTOTYPES as well as __STDC__.
7357
3b4fa1b2
DL
7358 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7359 errno, strerror. Put text after #endif in comment.
7360
7361 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
7362 pcc).
7363
7364 * xterm.c (x_frame_of_widget): Likewise.
7365
cdf0357b
GM
73662000-06-19 Gerd Moellmann <gerd@gnu.org>
7367
7368 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7369 to Vfundamental_mode_abbrev_table.
7370
7371 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7372 bogus objects are marked. This slows down GC by ~80 percent, but
7373 it might be worth trying when debugging GC-related problems.
7374 This feature requires conservative stack marking to be enabled.
7375
7376 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7377 returns XLookupChars, reset `modifiers' to zero.
7378
998e9f8c
DL
73792000-06-19 Dave Love <fx@gnu.org>
7380
7381 * mktime.c: Unprotoized.
7382
18e21ce8 73832000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7384
7385 * data.c (set_internal): If variable is frame-local,
7386 store the new value immediately into the frame parameter alist.
7387
140c4ac6
KR
73882000-06-19 Ken Raeburn <raeburn@gnu.org>
7389
14358466
KR
7390 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7391 in the custom handler pointer.
7392
140c4ac6
KR
7393 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7394 value, or checks for CHAR_META can fail when Lisp_Object is a
7395 union type.
7396 * keymap.c (get_keyelt): Likewise.
7397
10d7bf84
KH
73982000-06-19 Kenichi Handa <handa@etl.go.jp>
7399
7400 * ccl.h (struct ccl_program): New member eol_type.
7401 (struct ccl_spec): New member cr_carryover.
7402
7403 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7404 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7405
7406 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7407 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7408 (decode_eol_post_ccl): New function.
7409 (decode_coding): Don't detect EOL format here for CCL based coding
7410 systems.
7411 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7412 decode_eol_post_ccl after running the CCL program.
7413 (code_convert_region): Don't detect EOL format here for CCL based
7414 coding systems.
7415 (decode_coding_string): Likewise.
7416
52e386c2
KR
74172000-06-18 Ken Raeburn <raeburn@gnu.org>
7418
7419 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7420 when treating it as an integer.
7421
7422 * coding.h (encode_coding_string): Declare.
7423
7424 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7425 it as an integer.
7426
7427 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7428 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7429 to be passed to get_local_map.
7430
7431 * sound.c (Fplay_sound): Don't call make_number on
7432 Frun_hook_with_args count argument.
7433
7434 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7435 for lisp objects in X event structure data field, when lisp
7436 objects are represented with unions.
7437 (x_scroll_bar_to_input_event): Ditto.
7438
b357b9d4
KR
74392000-06-16 Ken Raeburn <raeburn@gnu.org>
7440
7441 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7442 termination of string. Fix sense of test whether
7443 Vline_number_display_limit is an integer.
b357b9d4 7444
a871441d
GM
74452000-06-16 Gerd Moellmann <gerd@gnu.org>
7446
a9021acd
GM
7447 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7448 only if HAVE_X_WINDOWS.
7449
6344985d
GM
7450 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7451 of titles.
7452
427ec082 7453 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7454 out of bounds.
7455
228b083e
EZ
74562000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7457
7458 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7459 of its headers.
7460
c25b53a2
KH
74612000-06-15 Kenichi Handa <handa@etl.go.jp>
7462
7463 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7464 start of the while loop.
7465
a6981b11
GM
74662000-06-15 Gerd Moellmann <gerd@gnu.org>
7467
e9924e52
GM
7468 * atimer.c (alarm_signal_handler): Add forward declaration.
7469
a6981b11
GM
7470 * data.c (set_internal): Remove debug code.
7471
25fa6deb
GM
74722000-06-14 Gerd Moellmann <gerd@gnu.org>
7473
dce6b995
GM
7474 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7475
9f817ea4
GM
7476 * unexec.c (toplevel) [COFF]: Include coff.h.
7477
7478 * s/lynxos.h: New file.
7479
7480 * keymap.c (Fsingle_key_description): Enclose function key and
7481 event symbol names in angle brackets.
7482
8a4e3c0c
GM
7483 * xdisp.c (setup_echo_area_for_printing): Call
7484 message_log_maybe_newline if message_buf_print is not set.
7485
7486 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7487 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7488 function does something useful even when message_buf_print is
7489 already set.
7490
25fa6deb
GM
7491 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
7492 variables.
7493 (ensure_echo_area_buffers): Initialize echo buffer's
7494 truncate lines setting to nil.
7495 (with_echo_area_buffer): Don't set the echo buffer's truncate
7496 lines setting here.
8a4e3c0c 7497 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7498 of message_truncate_lines.
7499 (resize_mini_window): Handle case that lines are truncated.
7500 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
7501 message-truncate-lines.
7502
7503 * keyboard.c (read_char): Bind message-truncate-lines to t
7504 while displaying a help-echo.
7505
7506 * lisp.h (Qmessage_truncate_lines): External declaration.
7507
163dcff3
GM
75082000-06-13 Gerd Moellmann <gerd@gnu.org>
7509
1681ead6
GM
7510 * xdisp.c (Vline_number_display_limit): Renamed from
7511 line_number_display_limit.
7512 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7513 Extend documentation string. Initialize
7514 Vline_number_display_limit to nil meaning no limit.
7515 (decode_mode_spec): Use Vline_number_display_limit with its new
7516 meaning.
7517
163dcff3
GM
7518 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7519
18e21ce8 75202000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7521
7522 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7523
163dcff3
GM
7524 * xfns.c (x_set_frame_parameters): Comment fix.
7525
7526 * frame.c (store_frame_param): Call swap_in_global_binding if the
7527 variable's current binding was chosen based on this frame.
7528
7529 * data.c (swap_in_global_binding): New function.
7530
a704139d
EZ
75312000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7532
7533 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7534 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7535
9b6610db
EZ
75362000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7537
7538 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7539
c68833d2
JR
75402000-06-12 Jason Rumney <jasonr@gnu.org>
7541
7542 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7543
7544 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7545
7546 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7547
7548 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7549
ed1056b3
GM
75502000-06-12 Gerd Moellmann <gerd@gnu.org>
7551
7552 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7553 (syms_of_xfaces): Defsubr Sdump_colors.
7554 (x_free_colors): Don't treat b&w specially on default visual.
7555 (x_free_dpy_colors): New function.
7556 (free_face_colors): Don't check visual class; it's done
7557 in x_free_colors.
7558
7559 * xterm.c (x_frame_of_widget): New function.
7560 (x_alloc_nearest_color_for_widget): Use it.
7561 (x_copy_dpy_color): New function.
7562 (x_destroy_window): Free various colors.
7563
5050a2ef
KH
75642000-06-12 Kenichi Handa <handa@etl.go.jp>
7565
7566 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7567
7568 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7569
7570 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7571
7572 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7573
7574 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7575
fb1b041d
DL
75762000-06-11 Dave Love <fx@gnu.org>
7577
7578 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7579
ff96b5f4
EZ
75802000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7581
7582 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7583
db8eeecd
GM
75842000-06-11 Gerd Moellmann <gerd@gnu.org>
7585
ed1056b3 7586 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7587 to `XEvent *'.
7588
49b71c5f
KH
75892000-06-10 Kenichi Handa <handa@etl.go.jp>
7590
c479bd55
KH
7591 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7592 (regex_compile): Fix the code for handling the case of single byte
7593 char and multibyte char being mixed in a range within [...].
7594
ff6a65c2
KH
7595 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7596 and dst_multibyte members of coding.
7597
49b71c5f
KH
7598 * charset.c (update_charset_table): Update the table
7599 bytes_by_char_head.
7600 (init_charset_once): Initialize elements of bytes_by_char_head to
7601 1 except for leading codes for private charases.
7602
7603 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
7604 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
7605 sequence.
7606
9e80b57d
KR
76072000-06-09 Ken Raeburn <raeburn@gnu.org>
7608
7609 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7610 access the data it doesn't point to.
7611
f83fe4b4
GM
76122000-06-08 Gerd Moellmann <gerd@gnu.org>
7613
7614 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7615 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7616 event queue. This is necessary because Emacs otherwise won't
7617 perform a switch-frame to a new frame until some other event, for
7618 example a keystroke event, forces it to do so. This has various
7619 effects, one visible being that the cursor of a frame created with
7620 C-x 5 2 or switched to with a window manager key binding like
7621 A-TAB stays hollow because selected_window isn't on the newly
7622 focused frame until the switch-frame is performed.
7623
7624 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7625 generating a switch-frame event if necessary.
7626
7627 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7628
7629 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7630 it's an integer.
7631
0890801b
KH
76322000-06-08 Kenichi Handa <handa@etl.go.jp>
7633
7634 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
7635 charset.
7636
173cbca8
GM
76372000-06-07 Gerd Moellmann <gerd@gnu.org>
7638
3091c2a6
GM
7639 * window.c (displayed_window_lines): Take empty lines at
7640 the bottom of a window into account.
427ec082 7641
f38952fe
GM
7642 * window.c (displayed_window_lines): New function.
7643 (Fmove_to_window_line): Use displayed_window_lines to determine
7644 the number of lines to move, instead of using the window's height.
7645
7646 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7647 to stop reading, even if the form read sets point to a different
7648 value when evaluated.
7649
427ec082 7650 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7651 put the cursor.
7652
6ba6c818
KH
76532000-06-07 Kenichi Handa <handa@etl.go.jp>
7654
7655 * fileio.c (e_write): Free composition data if stored in
7656 coding->cmp_data.
7657
5f1aea9a
GM
76582000-06-06 Gerd Moellmann <gerd@gnu.org>
7659
666852af
GM
7660 * xdisp.c (display_line): Set row's and iterator's
7661 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7662 Set cursor even if row ends in the middle of a character.
7663 (dump_glyph_row): Print values of new flags.
7664 (redisplay_window) <cursor movement in unchanged window>: When
7665 point has been moved forward, and PT is at the end of the cursor
7666 row, don't place the cursor in the next row if the cursor row ends
7667 in the middle of a character or at ZV.
7668
7669 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7670 (struct glyph_row): Add starts_in_middle_of_char_p and
7671 ends_in_middle_of_char_p.
7672 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7673 ends_in_middle_of_char_p flag.
7674 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7675
d13f3e2e
GM
7676 * term.c (append_glyph): Revert change of 2000-06-06.
7677
7678 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7679 padding glyph not fitting on line as whole character not
7680 fitting on line.
7681
5f1aea9a
GM
7682 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7683 this isn't true for images with `:ascent 100'.
7684
10cda9b0
KH
76852000-06-06 Kenichi Handa <handa@etl.go.jp>
7686
ed00559d
KH
7687 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7688 as modified if it is originally unmodified.
7689
10cda9b0
KH
7690 * term.c (encode_terminal_code): Change the way to check if
7691 terminal coding does any conversion.
7692 (append_glyph): Set glyph->pixel_width correctly.
7693
7694 * xdisp.c (display_line): While checking line continuation, pay
7695 attention to a padding glyph.
7696
1969fae2
GM
76972000-06-05 Gerd Moellmann <gerd@gnu.org>
7698
7699 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7700
162ccef4
DL
77012000-06-05 Dave Love <fx@gnu.org>
7702
f19f32dd
DL
7703 * xdisp.c: Include fontset.h.
7704
7705 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7706
7707 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7708
7709 * dispnew.c: Conditionally include term.h.
7710
7711 * coding.h: Declare code_convert_string_norecord.
7712
7713 * frame.h (struct frame): Use volatile unconditionally.
7714
7715 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7716
7717 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7718
7719 * systime.h: Protect against multiple inclusion.
7720 (timezone) [USG5_4]: Define as time_t.
7721
7722 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7723 (Foptimize_char_table, make_temp_name): Declare.
7724
7725 * Makefile.in (xdisp.o): Depend on fontset.h.
7726
7727 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7728
7729 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7730 (Foptimize_char_table, make_temp_name): Declare.
7731
427ec082 7732 * s/irix4-0.h:
162ccef4
DL
7733 * s/irix5-0.h:
7734 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7735
2082fe81
DL
77362000-06-02 Dave Love <fx@gnu.org>
7737
7738 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7739
dcf671d2
GM
77402000-06-02 Gerd Moellmann <gerd@gnu.org>
7741
7742 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7743 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7744 be freed.
7745
7746 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7747 glyph, use the ASCII NUL character to determine the face.
7748
d42122a3
DL
77492000-06-02 Dave Love <fx@gnu.org>
7750
7751 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7752 (VFORK_RETURN_TYPE): Remove.
427ec082 7753
d42122a3
DL
7754 * config.in: Add NO_MATHERR.
7755
dd432f16
DL
77562000-06-01 Dave Love <fx@gnu.org>
7757
90aa4ea8
DL
7758 * cmds.c (internal_self_insert): Don't check
7759 Vbefore_change_function, Vafter_change_function.
7760
7761 * insdel.c (signal_before_change, signal_after_change): Likewise.
7762
7763 * buffer.c (Vbefore_change_function, Vafter_change_function):
7764 Variables and their initializations deleted.
7765
2330c9d4
DL
7766 * callint.c (Fcall_interactively): Doc fix.
7767
dd432f16
DL
7768 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7769
bf9e8804
DL
77702000-05-31 Dave Love <fx@gnu.org>
7771
7772 * textprop.c: Revert last change -- duplicated.
7773
3694b4ab
GM
77742000-05-31 Gerd Moellmann <gerd@gnu.org>
7775
7776 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7777 in #if 0.
7778
7779 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7780
f14156cd
JR
77812000-05-31 Jason Rumney <jasonr@gnu.org>
7782
8119aab8
JR
7783 * search.c (Fre_search_forward, Fre_search_backward)
7784 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7785
f14156cd
JR
7786 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7787
4aab9be3
JR
77882000-05-30 Jason Rumney <jasonr@gnu.org>
7789
7790 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7791 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7792
7793 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
7794 member.
7795
7796 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7797 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7798 expand a nil default_filename.
7799
7800 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7801 pointer to glyph_to_pixel_coords, not a frame.
7802
7803 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7804 coding.h to dependencies.
7805
7806 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7807
7808 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7809 window pointer to be consistent with w32term.c and xterm.c.
7810
7811 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7812 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7813 (Qline_spacing, Qcenter): New variables.
7814 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7815 (x_set_line_spacing): New function.
7816 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
7817 macros.
7818 (x_specified_cursor_type): New function.
7819 (x_set_cursor_type): Use it.
7820 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7821 and icon strings.
7822 (validate_x_resource_name, x_get_resource_string): Measure lengths
7823 of external strings in bytes.
7824 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7825 GetTextExtentPoint32 with NULL title.
7826 (Fx_create_frame): Initialize Qline_spacing.
7827 (w32_load_system_font): Initialize font->double_byte_p.
7828 (x_to_w32_charset): Use Vw32_charset_info_alist.
7829 (Image, busy cursor, tooltip functions): Merged changes from
7830 xfns.c. Not yet functional on Windows.
7831
7832 * w32gui.h (W32FontStruct): Add double_byte_p member.
7833
7834 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7835 (emacs_button_translation): Use it.
7836 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7837 in `mask' to be set.
7838
7839 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7840 menu strings.
7841
7842 * w32term.c: Format and doc changes to bring closer to xterm.c.
7843 (w32_char_font_type): New enum.
7844 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7845 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7846 (w32_encode_char): New function.
7847 (x_encode_char): Removed.
7848 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7849 x_encode_char and w32_font_is_double_byte.
7850 (x_produce_image_glyph): Use image_ascent.
7851 (x_produce_glyphs): Use new version of w32_per_char_metric and
7852 handle NULL return value. Allow extra line spacing.
7853 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7854 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7855 w32_font_type member of glyph instead.
7856 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7857 (fast_find_position): Make sure not to consider rows not visible
7858 in the window.
7859 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7860 w32_menu_display_help with input blocked, as it can abort.
7861 (x_display_and_set_cursor): Choose cursor depending
7862 on buffer-local value of cursor_type.
7863 (x_draw_bar_cursor): Add parameter WIDTH.
7864
7865 * w32term.h (CP_DEFAULT): Define.
7866 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7867
10fc3187
GM
78682000-05-30 Gerd Moellmann <gerd@gnu.org>
7869
7870 * search.c (Fre_search_forward, Fre_search_backward)
7871 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7872
d0555360
KH
78732000-05-30 Kenichi Handa <handa@etl.go.jp>
7874
7875 * coding.c (detect_coding_iso2022): Fix code for checking
7876 CODING_CATEGORY_MASK_ISO_8_2.
7877
f1ad044f
SM
78782000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7879
7880 * regex.c (PREFETCH_NOLIMIT): New function.
7881 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7882
84ec3b4b
GM
78832000-05-29 Gerd Moellmann <gerd@gnu.org>
7884
66254a13
GM
7885 * syntax.c (find_defun_start): Move test for
7886 open_paren_in_column_0_is_defun_start outside of the loop.
7887
49e70dec
GM
7888 * xdisp.c (redisplay_window): Really switch buffers when
7889 displaying mode lines, and temporarily set selected_frame to the
7890 frame of the window that's redisplayed.
7891
84ec3b4b
GM
7892 * xfaces.c (free_realized_faces): Block/unblock input.
7893 (free_realized_multibyte_face): Ditto.
7894
869a3a14
DL
78952000-05-29 Dave Love <fx@gnu.org>
7896
7897 * textprop.c (Qkeymap): New variable.
7898 (syms_of_textprop): Intern it.
7899
7900 * keymap.c: Include intervals.h.
7901 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7902
7903 * Makefile.in (keymap.o): Depend on intervals.h.
7904
7905 * keyboard.c (menu_bar_items, tool_bar_items)
7906 (Fexecute_extended_command): Deal with `keymap' property.
7907 (read_key_sequence): Track map from `keymap' property as well as
7908 `local_map'.
7909
7910 * intervals.c (get_local_map): Extra arg to allow looking for
7911 `keymap' too.
7912
7913 * intervals.h (map_property): New enum.
7914 (get_local_map): Extra arg using it.
7915 (Qkeymap): Declare.
7916
84ec3b4b 7917 * lisp.h (get_local_map): Don't declare here.
869a3a14 7918
89d0c844
KH
79192000-05-29 Kenichi Handa <handa@etl.go.jp>
7920
7921 * Makefile.in (callproc.o): Depend on composite.h.
7922
7923 * callproc.c: Include composite.h.
7924 (Fcall_process): Handle composition correctly.
7925
7926 * coding.h (coding_allocate_composition_data): Extern it.
7927 (coding_restore_composition): Likewise.
7928
7929 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
7930 yet allocated, finish decoding with result
7931 CODING_FINISH_INSUFFICIENT_CMP.
7932 (coding_allocate_composition_data): Make it non-static.
7933 (coding_restore_composition): Likewise.
7934
797a084a
EZ
79352000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
7936
7937 * charset.c (syms_of_charset): Revert last change.
7938
cf872af5
EZ
79392000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7940
7941 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
7942 charsets as unibyte, with 1-column screen width. Sent by Kenichi
7943 Handa.
cf872af5 7944
5b1ae051
EZ
79452000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7946
7947 * charset.c (syms_of_charset): Set width of character sets
7948 eight-bit-control and eight-bit-graphic to 1 column.
7949
34ec9ebe
GM
79502000-05-26 Gerd Moellmann <gerd@gnu.org>
7951
7952 * config.in (HAVE_SPEED_T): New define.
7953
7954 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
7955 `extern speed_t'.
7956
dd854dc2
DL
79572000-05-26 Dave Love <fx@gnu.org>
7958
7959 * coding.c (shrink_decoding_region): Initialize eol_conversion.
7960
7961 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
7962 (Fsubr_arity): New function.
7963 (syms_of_data): Install them.
7964
ba9f8f95
KH
79652000-05-26 Kenichi Handa <handa@etl.go.jp>
7966
0f3e0672
KH
7967 * charset.c (init_charset_once): Set the table bytes_by_char_head
7968 correctly.
7969
cebefb44
KH
7970 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
7971 the default fontset to what Emacs uses by default.
0f3e0672
KH
7972 (check_registry_encoding): This function deleted.
7973 (Fset_fontset_font): Remove the adhoc condition for the default
7974 fontset. Allow cons in FONTNAME.
cebefb44 7975
0f3e0672
KH
7976 * fns.c (map_char_table): Ignore char-table entries for
7977 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 7978
7a18af49
KR
79792000-05-25 Ken Raeburn <raeburn@gnu.org>
7980
7981 * emacs.c (main): Initialize keyboard syms before initializing
7982 window code, so face names are available.
7983
d2af47df
SM
79842000-05-25 Stefan Monnier <monnier@cs.yale.edu>
7985
7986 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
7987 of an anchor at the beginning of a shy-group.
7988
fc6a6a4e
GM
79892000-05-25 Gerd Moellmann <gerd@gnu.org>
7990
7991 * xdisp.c (handle_invisible_prop): Don't try to skip over
7992 invisible text if end of text is already reached.
7993
005f0d35
DL
79942000-05-25 Dave Love <fx@gnu.org>
7995
02513cdd
DL
7996 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
7997
005f0d35
DL
7998 * coding.c (encode_eol): Add null statement after label.
7999
89f6ca4e
EZ
80002000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8001
8002 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8003 2000-05-20.
8004
a4e1759e
KH
80052000-05-25 Kenichi Handa <handa@etl.go.jp>
8006
8007 * ccl.c (ccl_driver): Fix previous change.
8008
eacfd7fe
KH
80092000-05-25 Kenichi Handa <handa@etl.go.jp>
8010
46ab33a9
KH
8011 * coding.c (run_pre_post_conversion_on_str): Set point to the
8012 beginning of buffer before calling coding->post_read_conversion.
8013 (decode_coding_string): Give correct args to
8014 run_pre_post_conversion_on_str.
8015 (encode_coding_string): Likewise.
8016
eacfd7fe
KH
8017 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8018 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8019 eight-bit-graphic correctly.
8020
f8569325
DL
80212000-05-24 Kenichi HANDA <handa@etl.go.jp>
8022
8023 * fileio.c (Finsert_file_contents): Even if a file is not found,
8024 execute codes for setting up coding system. Call
8025 after-insert-file-functions unconditionally.
8026
04545643
GM
80272000-05-24 Gerd Moellmann <gerd@gnu.org>
8028
8029 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8030 BSD_PGRPS are not defined.
8031
747d90ea
KH
80322000-05-24 Kenichi Handa <handa@etl.go.jp>
8033
8034 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8035 DESCRIPTION.
8036 (syms_of_charset): Avoid building same strings.
8037
716e3b88
GM
80382000-05-23 Gerd Moellmann <gerd@gnu.org>
8039
8040 * lread.c (Fload): Add a comment about the meaning of
8041 Vuser_init_file being t.
8042
8043 * puresize.h (BASE_PURESIZE): Increase to 675000.
8044
8045 * s/gnu-linux.h (setpgrp): Don't define it here because this
8046 prevents compilation on GNU/Linux systems with glib 2.2.
8047
8048 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8049 as setpgid.
427ec082 8050
9aeb39fa
EZ
80512000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8052
8053 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8054 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8055 version.
8056 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8057
29ced61b
KH
80582000-05-23 Kenichi Handa <handa@etl.go.jp>
8059
0574a2ed
KH
8060 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
8061 unconditionally.
8062
3d80f24d
KH
8063 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8064
8065 * term.c (encode_terminal_code): Set coding->src_multibyte
8066 properly.
8067
29ced61b
KH
8068 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8069
d7e00792
KH
80702000-05-22 Kenichi Handa <handa@etl.go.jp>
8071
c9d80d38
KH
8072 * keyboard.c (read_char): Allow character codes 128..255 to be
8073 handled by input-method-function.
8074
d7e00792
KH
8075 * insdel.c (adjust_markers_for_replace): Fix previous change.
8076 (adjust_after_replace): If PREV_TEXT is nil, call
8077 adjust_markers_for_insert, not adjust_markers_for_replace.
8078
087121cc 80792000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8080
087121cc
GM
8081 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8082 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8083 [HAVE_GRANDPT]: Define.
8084 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8085
8086 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8087 like SYSV_PTYS.
8088
8089 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8090
8091 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8092
c9671f81
KH
80932000-05-20 Kenichi Handa <handa@etl.go.jp>
8094
8095 The following changes are to handle 8-bit characters in a
8096 multibyte buffer/string without facing with byte combining
8097 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8098 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8099
8100 * Makefile.in (fns.o): Depend on charset.h.
8101
8102 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8103 convert it to unibyte.
8104 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8105
8106 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8107 apparent char boundary.
8108 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8109 0x80..0x9F to/from multibyte form.
8110
8111 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8112 to unibyte.
8113
8114 * callproc.c (Fcall_process): Always encode an argument string if
8115 it is multibyte. Setup src_multibyte and dst_multibyte members of
8116 process_coding properly.
ce75fd23 8117
c9671f81
KH
8118 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8119 SPLIT_NON_ASCII_CHAR.
8120
8121 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8122 as is.
8123 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8124
8125 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
8126 variables.
8127 (SPLIT_CHARACTER_SEQ): This macro deleted.
8128 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
8129 valid.
8130 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8131 and eight-bit-graphic.
8132 (char_to_string): Likewise. Signal an error for too large
8133 character code.
8134 (char_printable_p): Return 0 for 8-bit characters.
8135 (update_charset_table): Update iso_charset_table only when a final
8136 character is non-negative.
8137 (find_charset_in_text): Renamed from find_charset_in_str.
8138 Arguments and return value changed. Callers changed.
8139 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8140 be -1 if CHARSET is used only internally.
8141 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8142 eight-bit-graphic.
8143 (Fcharset_after): Simplified.
8144 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8145 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8146 (multibyte_chars_in_text): Simplified by assuming there's no
8147 invalid multibyte sequence.
8148 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8149 str_as_unibyte): New functions.
8150 (Fstring): Simpified by assuming that byte combining never
8151 happens.
8152 (init_charset_once): Initialization for
8153 LEADING_CODE_8_BIT_CONTROL.
8154 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8155 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8156 eight-bit-control and eight-bit-graphic.
8157
8158 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
8159 CHARSET_8_BIT_GRAPHIC): New macros.
8160 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8161 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8162 (CHARSET_REVERSE_CHARSET): Likewise.
8163 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8164 eight-bit-graphic.
8165 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8166 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8167 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8168 encounter an invalid multibyte sequence.
8169 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8170 sequence is always valid.
8171 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
8172 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
8173 macros.
8174 (CHAR_STRING): For 8-bit characters, call char_to_string.
8175 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8176 multibyte sequence is always valid.
8177 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
8178 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8179 str_as_unibyte): Extern them.
8180 (BCOPY_SHORT): Fix a bug.
8181 (CHAR_LEN): This macro deleted. Callers changed to use
8182 CHAR_BYTES.
8183 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8184 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8185 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8186
bd4bde7f 8187 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
8188 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
8189 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
8190 EMIT_BYTES): New macros.
8191 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
8192 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
8193 macros deleted.
8194 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8195 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8196 check the validity of multibyte sequence.
8197 (decode_coding_emacs_mule): New function.
8198 (encode_coding_emacs_mule): New macro.
8199 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8200 the source.
8201 (DECODE_ISO_CHARACTER): Just return a character code.
8202 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8203 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8204 EMIT_CHAR to produced decoded characters. Exit the loop only by
8205 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8206 block here.
8207 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8208 only position codes for an invalid character.
8209 (encode_designation_at_bol): Return new destination pointer. 5th
8210 arg DSTP is changed to DST.
8211 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8212 from the source by ONE_MORE_CHAR. Don't handle the case of last
8213 block here.
8214 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8215 macros deleted.
8216 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
8217 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
8218 TWO_MORE_BYTES to fetch a byte from the source.
8219 (encode_eol): Pay attention to coding->src_multibyte.
8220 (detect_coding, detect_eol): Preserve members src_multibyte and
8221 dst_multibyte.
8222 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8223 (encoding_buffer_size): Set magnification to 3 for all coding
8224 systems that require encoding.
8225 (ccl_coding_driver): For decoding, be sure that the result is
8226 valid multibyte sequence.
8227 (decode_coding): Initialize coding->errors and coding->result.
8228 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8229 and raw-text, always call decode_eol. Handle the case of last
8230 block here. If not coding->dst_multibyte, convert the resulting
8231 sequence to unibyte.
8232 (encode_coding): Initialize coding->errors and coding->result.
8233 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8234 and raw-text, always call encode_eol. Handle the case of last
8235 block here.
8236 (shrink_decoding_region, shrink_encoding_region): Detect cases
8237 that we can't skip data more rigidly.
8238 (code_convert_region): Setup src_multibyte and dst_multibyte
8239 members of coding. For decoding, if the buffer is multibyte,
8240 convert the source sequence to unibyte in advance. For encoding,
8241 if the buffer is multibyte, convert the resulting sequence to
8242 multibyte afterward.
8243 (run_pre_post_conversion_on_str): New function.
8244 (code_convert_string): Deleted and divided into the following two.
8245 (decode_coding_string, encode_coding_string): New functions.
8246 (code_convert_string1, code_convert_string_norecord): Call one of
8247 above.
8248 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8249 MAKE_NON_ASCII_CHAR.
8250 (Fset_terminal_coding_system_internal,
8251 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
8252 and dst_multibyte members.
8253 (init_coding_once): Initialize iso_code_class with new enum
8254 ISO_control_0 and ISO_control_1.
8255
8256 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8257 devided into ISO_control_0 and ISO_control_1.
8258 (struct coding_system): New members src_multibyte, dst_multibyte,
8259 errors, and result. Delete member fake_multibyte.
8260 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8261 nonzero.
8262 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8263 nonzero.
8264
8265 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8266 (Faset): Likewise.
8267
8268 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8269 multibyte form.
8270 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8271 combining occurs.
8272 (Ftranspose_region): Delete codes for handling byte combining.
8273
8274 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8275 dst_multibyte members of coding. On handling REPLACE on unibyte
8276 buffer, convert the result of decode_coding to unibyte. On
8277 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8278 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8279 multibyteness of the source (buffer or string).
8280
8281 * fns.c (concat): Handle 8-bit characters correctly.
8282 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8283 unibyte in the result.
8284 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8285 valid multibyte form in the result.
8286 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8287 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8288 return -1, signal an error.
8289 (base64_encode_1): New arg MULTIBYTE. Get each character by
8290 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8291 character is found, return -1.
8292 (Fbase64_decode_region): Delete codes for handling byte-combining.
8293 Treat each decoded byte as a unibyte character.
8294 (Fbase64_decode_string): Return unibyte string.
8295 (Fcompare_strings, concat, string_byte_to_char): Use
8296 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8297 FETCH_STRING_CHAR_ADVANCE.
8298 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8299 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8300
8301 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8302 SPLIT_NON_ASCII_CHAR.
8303 (fontset_ref_via_base, fontset_set): Likewise
8304
8305 * insdel.c (adjust_markers_for_record_delete): Deleted.
8306 (adjust_markers_for_insert): Argument changed. Caller changed.
8307 (adjust_markers_for_replace): Likewise.
8308 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
8309 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
8310 (copy_text): Delete unused local varialbe c_save. For converting
8311 to multibyte, be sure to make all 8-bit characters in valid
8312 multibyte form.
8313 (count_size_as_multibyte): Handle 8-bit characters correctly.
8314 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8315 adjust_after_replace, replace_range, del_range_2)
8316 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
8317 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8318 adjust_after_replace, replace_range, del_range_2) Delete codes for
8319 handling byte combining.
8320 (adjust_before_replace): Deleted.
427ec082 8321
c9671f81
KH
8322 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8323 SPLIT_NON_ASCII_CHAR.
8324 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8325 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
8326 unconditionally.
8327 (Fkey_description): Likewise.
8328
8329 * lread.c (read1): On reading multibyte string, be sure to make
8330 all 8-bit chararacters in valid multibyte form.
8331 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8332
8333 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8334 unconditionally.
8335
8336 * process.c (Fstart_process): GCPRO current_dir before calling
8337 Ffind_operation_coding_system. Encode arguments here.
8338 (create_process): Don't encode arguments here. Setup
8339 src_multibyte and dst_multibyte members of struct coding.
8340 (read_process_output): Setup src_multibyte and dst_multibyte
8341 members of struct coding. If the output is to multibyte buffer,
8342 always decode the output of the process. Adjust the
8343 representation of 8-bit characters to the multibyteness of the
8344 output.
8345 (send_process): Setup coding->src_multibyte according to the
8346 multibyteness of the source.
8347
8348 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
8349 unconditionally.
8350 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8351 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8352
8353 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
8354 CHAR_LEN.
8355
8356 * w16select.c (Fw16_set_clipboard_data): Setup members
8357 src_multibyte and dst_multibyte of coding. Adjusted for the
8358 change for find_charset_in_str.
8359 (Fw16_get_clipboard_data): Likewise.
8360
8361 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8362 dst_multibyte of coding.
8363 (x_to_w32_font): Likewise.
8364
8365 * w32select.c (Fw32_set_clipboard_data): Setup members
8366 src_multibyte and dst_multibyte of coding. Adjusted for the
8367 change for find_charset_in_str.
8368 (Fw32_get_clipboard_data): Likewise.
8369
8370 * xdisp.c (get_next_display_element): Handle 8-bit characters
8371 correctly.
8372 (next_element_from_display_vector): Use CHAR_BYTES instead of
8373 CHAR_LEN.
8374 (disp_char_vector): Use SPLIT_CHAR instead of
8375 SPLIT_NON_ASCII_CHAR.
8376
8377 * xselect.c (selection_data_to_lisp_data): Setup members
8378 src_multibyte and dst_multibyte of coding. Adjusted for the
8379 change for find_charset_in_str.
8380 (lisp_data_to_selection_data): Likewise.
8381
5f64c9e0
GM
83822000-05-19 Gerd Moellmann <gerd@gnu.org>
8383
2b63d473
GM
8384 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
8385 buffer.
8386
5f64c9e0
GM
8387 * dispextern.h (Vimage_types): Add extern declaration.
8388
8389 * xdisp.c (Vimage_types): Moved here from xfns.c.
8390 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8391
8392 * xfns.c (Vimages_types): Moved to xdisp.c.
8393 (syms_of_xfns): Move `image-types' to xdisp.c.
8394
8395 * w32fns.c (Vimage_types): Removed.
8396 (syms_of_w32fns): Remove `image-types'.
8397
813086ea
KH
83982000-05-18 Kenichi Handa <handa@etl.go.jp>
8399
8400 * fns.c (map_char_table): Pay attention to character number of
8401 charset. Check the validity of charset at the first level. For
8402 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8403 the default value.
8404
8405 * fontset.c: Include "buffer.h".
8406 (fs_load_font): If the face has fontset, record the face ID in
8407 that fontset.
8408 (Finternal_char_font): New function.
8409 (accumulate_font_info): New function.
8410 (Ffontset_info): Rewritten for the new fontset implementation.
8411 (syms_of_fontset): Register Vdefault_fontset in the first element
8412 of Vfontset_table. Include Vdefault_fontset in
8413 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8414 function.
8415
bdaebbf0
DL
84162000-05-16 Dave Love <fx@gnu.org>
8417
8418 * m/iris5d.h: Deleted -- unused.
8419
cb613bb8
GM
84202000-05-16 Gerd Moellmann <gerd@gnu.org>
8421
b15f3b77
GM
8422 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8423 `invalid' instead of `illegal'.
8424
8425 * indent.c (Fmove_to_column): When ending within a tab, insert
8426 spaces first so that markers at the end of the tab get adjusted.
8427
835c1b36
GM
8428 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8429 buffer list that wasn't selected in that frame.
8430
cb613bb8
GM
8431 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8432 is needed on mescaline, use a 2 char prefix, and call
8433 make_temp_name with second arg non-zero.
8434
8435 * fileio.c (make_temp_name): New function, extracted from
8436 Fmake_temp_name.
8437 (Fmake_temp_name): Use it.
8438
f685bea9
EZ
84392000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8440
8441 * window.c (coordinates_in_window): Subtract 1 when computing
8442 right_x.
8443
a1b8d58b
GM
84442000-05-15 Gerd Moellmann <gerd@gnu.org>
8445
8446 * Makefile.in (lisp): Add env.elc.
8447
8448 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8449
a265079f
GM
84502000-05-12 Gerd Moellmann <gerd@gnu.org>
8451
8452 * search.c (Freplace_match): Handle case of `\N' in the
8453 replacement when there's no group N.
8454
da4496b6
GM
84552000-05-11 Gerd Moellmann <gerd@gnu.org>
8456
0ace421a
GM
8457 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8458 of the message to message_dolog.
8459
1172eb8d
GM
8460 * keyboard.c (read_char): Don't clear current message for help
8461 events; let the code handling help events handle this. Change
8462 code detecting help events that should be ignored.
8463
da4496b6
GM
8464 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8465 we're interating over a string.
8466
0623e40f
DL
84672000-05-09 Dave Love <fx@gnu.org>
8468
8469 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8470 that offset before writing. Move gcpro region past call of
8471 Ffile_regular_p.
8472
bae2503b
DL
84732000-05-04 Dave Love <fx@gnu.org>
8474
8475 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8476
ec82fb2f
GM
84772000-05-04 Gerd Moellmann <gerd@gnu.org>
8478
8479 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8480 of inserted characters when BUF equals the current buffer, and PT
8481 is in front of or equal to FROM.
8482
cbf18892
GM
84832000-05-03 Gerd Moellmann <gerd@gnu.org>
8484
4ff40dd0
GM
8485 * xdisp.c (handle_single_display_prop): If display property value
8486 is invalid, or something not supported on the frame, restore
8487 iterator's position to what it was initially. Make sure to return
8488 0 for invalid and unsupported property values.
8489
cbf18892
GM
8490 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8491 that x_per_char_metric returns null.
8492
1b0672c3
GM
84932000-05-02 Gerd Moellmann <gerd@gnu.org>
8494
576da55d
GM
8495 * xterm.h (struct face): Add forward declaration.
8496 (struct image): Ditto.
8497 (image_ascent): Add prototype.
8498
8499 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8500 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8501 image_ascent instead of using IMAGE_ASCENT.
8502
8503 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8504 (IMAGE_ASCENT): Removed.
8505
8506 * xfns.c (Qcenter): New variable.
8507 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8508 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8509 (image_ascent): New function.
8510 (lookup_image): Recognize `:ascent center'.
8511 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8512 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8513 (xbm_load): Don't set image's ascent here.
8514 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8515 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8516 check ascent values here.
8517 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8518 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8519 (syms_of_xfns): Initialize Qcenter.
8520
1b0672c3
GM
8521 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8522 to the limits, increase the limits.
8523
0d7811ed
KH
85242000-05-01 Kenichi Handa <handa@etl.go.jp>
8525
8526 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
8527 Check Vfont_encoding_alist against the full name of the opened
8528 font.
8529
a943a5ca
GM
85302000-04-28 Gerd Moellmann <gerd@gnu.org>
8531
8532 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8533 taller than the window.
8534
5dba1e29
KH
85352000-04-28 Kenichi Handa <handa@etl.go.jp>
8536
8537 * xfaces.c (realize_x_face): Fix the argument of the second
8538 xassert. BASE_FACE may not be a face for ASCII.
8539
353964e3
GM
85402000-04-27 Gerd Moellmann <gerd@gnu.org>
8541
c76e04a8
GM
8542 * print.c (print_object): Treat print-length < 0 as nil.
8543
8544 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8545
8546 * s/freebsd.h (TERMCAP_OBJ): Removed.
8547 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8548
8549 * lread.c (read1): Don't treat period followed by certain
8550 characters as symbol start.
8551
8552 * xfns.c (slurp_file): New function.
8553 (xbm_image_p): Handle case of in-memory XBM files.
8554 (xbm_scan): Rewritten to work on memory buffers instead of files.
8555 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8556 Work on memory buffers instead of files. If DATA is null test
8557 if buffer looks like an in-memory XBM file.
8558 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8559 memory buffers instead of files.
8560 (xbm_file_p): New function.
8561 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8562
353964e3
GM
8563 * lread.c (end_of_file_error): New function.
8564 (read1): Call it instead of signaling `end-of-file' directly.
8565
427ec082 8566 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8567 with Fprinc instead of Fprin1.
8568
24d744ac
KR
85692000-04-26 Ken Raeburn <raeburn@gnu.org>
8570
8571 * window.c (freeze_window_start): Check that minibuffer scroll
8572 window isn't nil before extracting the window structure pointer
8573 from it.
8574
8575 * undo.c (record_delete): If we hit the end of the undo list, stop
8576 picking elements apart.
8577
7464346d
GM
85782000-04-26 Gerd Moellmann <gerd@gnu.org>
8579
8580 * xdisp.c (display_line): If lines are continued, restore
8581 iterator's ascent/descent information to the values before the
8582 first glyph not fitting on the line.
8583
612839b6
GM
85842000-04-25 Gerd Moellmann <gerd@gnu.org>
8585
8586 * xdisp.c (try_window_id) <all changes above window start>: Adjust
8587 positions in glyph matrix. Don't compute new window end
8588 positions.
8589
8590 * dispnew.c (increment_matrix_positions): Renamed from
8591 increment_glyph_matrix_buffer_positions.
8592 (increment_row_positions): Renamed from
8593 increment_glyph_row_buffer_positions.
8594
8595 * dispextern.h: Change names of renamed functions from dispnew.c
8596 in prototypes.
8597
cc181e95
GM
85982000-04-24 Gerd Moellmann <gerd@gnu.org>
8599
abfcc168
GM
8600 * fileio.c (Fdo_auto_save): Create directories for auto-save
8601 list file if necessary.
8602
cc181e95
GM
8603 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8604 from buffer or frame.
8605 (automatic_hscrolling_p): New variable.
8606 (hscroll_windows): Scroll windows horizontally only if automatic
8607 hscrolling is allowed.
8608 (syms_of_xdisp): New variable `automatic-hscrolling'.
8609
8610 * frame.h (struct frame): Add member extra_line_spacing.
8611
8612 * xfns.c (x_set_line_spacing): New function.
8613 (Fx_create_frame): Set line spacing from resources.
8614 (Qline_spacing): New variable.
8615 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8616
cc181e95
GM
8617 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8618
8619 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8620 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8621 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8622 extra_line_spacing from default value.
8623 (init_buffer_once): Initialize default value of extra_line_spacing.
8624
8625 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8626 and extra3.
8627
8628 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8629 prompt_width. Add extra line spacing.
8630
8631 * term.c (produce_glyphs): Remove reference to struct it's
8632 prompt_width.
8633
8634 * dispextern.h (struct it): Remove member prompt_width, add
8635 extra_line_spacing.
8636
58827478
GM
86372000-04-22 Gerd Moellmann <gerd@gnu.org>
8638
8639 * dispnew.c (update_frame_line): When writing a whole line, make
8640 sure cursor is in the right row afterwards, otherwise a use of
8641 capability `ch' in cmgoto might leave the cursor in the row below.
8642
25a87f42
GM
86432000-04-21 Gerd Moellmann <gerd@gnu.org>
8644
8645 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8646
8647 * keyboard.c (timer_check): Fix typo in comment.
8648
54edf5c2
KH
86492000-04-21 Kenichi Handa <handa@etl.go.jp>
8650
8651 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8652 name change: ch -> character.
8653
3a64eef5
GM
86542000-04-20 Gerd Moellmann <gerd@gnu.org>
8655
8656 * keyboard.c (echo_message_buffer): New variable.
8657 (echo_now): Set echo_message_buffer to the echo area buffer used
8658 to display the echo.
8659 (cancel_echoing): Reset echo_message_buffer to nil.
8660 (read_char): Code rewritten that handles canceling an echo or
8661 echoing a dash, respectively.
8662
8663 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8664 directory doesn't exist.
8665
6142fdcb
DL
86662000-04-19 Dave Love <fx@gnu.org>
8667
8668 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8669 (concat): Don't allow numeric args.
8670 (Fconcat): Doc change.
6142fdcb 8671
ac6b5352
SM
86722000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8673
8674 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8675 instead define end_match(1|2) more carefully.
8676 Use GET_CHAR_BEFORE_2 for `begline'.
8677
cb9215e4
GM
86782000-04-19 Gerd Moellmann <gerd@gnu.org>
8679
5e3dac3f
GM
8680 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8681 on 64-bit systems where NULL is defined as `0'.
8682
8683 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8684 the `variable argument list' to make it work on Alpha.
8685
cb9215e4
GM
8686 * m/alpha.h (_LP64) [!_LP64]: Define.
8687 (ORDINARY_LINK): Define for NetBSD.
8688
8689 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8690
f532dca0
DL
86912000-04-19 Dave Love <fx@gnu.org>
8692
c750667e
DL
8693 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8694 change.
8695
8696 * Makefile.in (LIBS): Don't use.
8697 (GETLOADAVG_OBJ): Define again.
8698 (otherobj): Add GETLOADAVG_OBJ.
8699
f532dca0
DL
8700 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8701
1c7e22fd
GM
87022000-04-18 Gerd Moellmann <gerd@gnu.org>
8703
f6d3257b
GM
8704 * lread.c (read_filtered_event): Cancel and start busy cursor.
8705
427ec082 8706 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8707 that the per-character metrics may be null.
8708
e10f64e7
GM
87092000-04-17 Gerd Moellmann <gerd@gnu.org>
8710
0daee095
GM
8711 * buffer.c (clone_per_buffer_values): New function.
8712 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8713 clone_per_buffer_values if CLONE is not nil.
8714
e10f64e7
GM
8715 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8716
38687d43
DL
87172000-04-16 Dave Love <fx@gnu.org>
8718
8719 * Makefile.in: Remove obsolete localcpp stuff.
8720 (GETLOADAVG_OBJ): Don't define.
8721 (obj): Move LIBOBJS...
8722 (otherobj): ... to here.
8723 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8724 whitespace-only lines after the continuation (Irix).
8725
c21c7262
GM
87262000-04-14 Gerd Moellmann <gerd@gnu.org>
8727
8728 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8729
8730 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8731
314767c0
DL
87322000-04-14 Dave Love <fx@gnu.org>
8733
8734 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8735 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8736 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8737 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8738 NLIST_STRUCT.
8739
8740 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8741 autoconfiscated HAVE_GETLOADAVG.
8742
8743 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8744 BROKEN_MKTIME.
8745
a2522dca
GM
87462000-04-14 Gerd Moellmann <gerd@gnu.org>
8747
8748 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
8749 (fill_in_lock_file_name): Avoid existing files that aren't
8750 links.
8751
33744b5d
DL
87522000-04-14 Dave Love <fx@gnu.org>
8753
c21c7262 8754 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8755 (INTERVAL_SRC): Convert to make variable.
8756 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8757 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8758 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8759 add LIBOBJS.
8760 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8761 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8762 (shortlisp): Add facemenu, float-sup, frame.
8763 (SOME_MACHINE_LISP): Remove them from here.
8764 (LIBES): Change unused LDLIBS to autoconf LIBS.
8765
8766 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8767
9d3d5916
KH
87682000-04-14 Kenichi Handa <handa@etl.go.jp>
8769
8770 * composite.c (update_compositions): If FROM and TO are not in a
8771 valid range, do nothing.
8772
198e3c7a
GM
87732000-04-13 Gerd Moellmann <gerd@gnu.org>
8774
8775 * tparam.c (tparam1): Abort when encountering an unknown
8776 `%'-specifier.
8777
8778 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
8779 terminfo.o.
8780
8781 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8782 as TERMCAP_OBJ.
8783
055a28c9
EZ
87842000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8785
8786 * fileio.c (a_write): Remove redundant semi-colons.
8787 (e_write): Return -1 if failed to write all the data.
8788 This fixes the changes made at 1999-12-15.
8789
f5c75033
DL
87902000-04-12 Dave Love <fx@gnu.org>
8791
8792 * fns.c (mapcar1): Test for null vals to support mapc.
8793 (Fmapc): New function.
8794
0c3cfc51
EZ
87952000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8796
8797 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8798 (IT_frame_up_to_date): Support the buffer local value of
8799 cursor-type, if defined.
8800
33465a31
DL
88012000-04-10 Dave Love <fx@gnu.org>
8802
8803 * editfns.c (preceding-char, following-char): Doc fix.
8804
6ed56568
KR
88052000-04-10 Ken Raeburn <raeburn@gnu.org>
8806
8807 * Makefile.in (temacs): Revert 2000-03-12 change.
8808
7cf80d4e
JR
88092000-04-10 Jason Rumney <jasonr@gnu.org>
8810
8811 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8812
34f3f342
GM
88132000-04-10 Gerd Moellmann <gerd@gnu.org>
8814
1a1b1895
GM
8815 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8816 area buffer, if it's not set up yet.
8817
34f3f342
GM
8818 * indent.c (compute_motion): Set immediate_quit.
8819
be0dbdab
GM
88202000-04-09 Gerd Moellmann <gerd@gnu.org>
8821
c45be9ac
GM
8822 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
8823 variable.
8824 (realize_tty_face): Suppress boldness if colors are the inverse of
8825 the default colors, and tty_suppress_bold_inverse_default_colors_p
8826 is set.
8827 (Ftty_suppress_bold_inverse_default_colors): New function.
8828 (syms_of_xfaces): Defsubr it.
8829
be0dbdab
GM
8830 * buffer.c (Frestore_buffer_modified_p): New function.
8831 (syms_of_buffer): Defsubr it.
8832
e8413c3b
KR
88332000-04-08 Ken Raeburn <raeburn@gnu.org>
8834
87f67317
KR
8835 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8836 charset id (int) argument, not a charset (Lisp_Object).
8837
e8413c3b
KR
8838 * coding.h (code_convert_string): Declare.
8839 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8840 object, as the fourth argument to code_convert_string.
8841
8842 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
8843 value.
8844 (Fset_fontset_font): Use EQ to compare lisp objects.
8845
7c752c80
KR
88462000-04-05 Ken Raeburn <raeburn@gnu.org>
8847
c0333abc
KR
8848 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8849 a pointer that looks like a lisp object.
8850 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8851 zero, instead see whether it's an integer object, since they can't
8852 have intervals.
8853 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8854
7c752c80
KR
8855 * dispnew.c (allocate_matrices_for_frame_redisplay,
8856 direct_output_forward_char): Use X(U)INT and make_number as needed
8857 to convert between (unsigned) int values and lisp integers.
8858 * keyboard.c (read_key_sequence): Likewise.
8859 * lread.c (substitute_object_recurse): Likewise.
8860 * fns.c (concat, hash_lookup, hash_remove): Likewise.
8861 * minibuf.c (do_completion, Fminibuffer_complete_word,
8862 Fminibuffer_completion_help): Likewise.
8863 * term.c (produce_special_glyphs): Likewise.
8864
8865 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8866 * print.c (print_preprocess, print_object): Likewise.
8867
8868 * search.c (compile_pattern): Use NILP when checking for nil.
8869
74e49b38
KR
8870 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8871 __OPTIMIZE__]: Provide a GNU C macro version that handles
8872 lisp-object unions.
8873 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8874 field, to better cope with ENABLE_CHECKING and calls that modify a
8875 Lisp_Object using its old value.
8876
685e5ed2
GM
88772000-04-04 Gerd Moellmann <gerd@gnu.org>
8878
c407c570
GM
8879 * window.c (compare_window_configurations): Signal an error
8880 if parameters C1 or C2 aren't window configurations.
8881
685e5ed2
GM
8882 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8883 AFTER_POTENTIAL_GC calls around calls to functions that can
8884 signal an error and thus invoke the debugger.
8885
587a49ab
GM
88862000-04-03 Gerd Moellmann <gerd@gnu.org>
8887
62f20204
GM
8888 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8889 an error if decoding fails.
8890
587a49ab
GM
8891 * keyboard.c (lispy_mouse_names): Variable removed.
8892 (Vlispy_mouse_stem): New variable.
8893 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8894 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8895 for any mouse button number. Increase size of mouse_syms and
8896 button_down_location as needed. Call modify_event_symbol with
8897 different arguments.
8898 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8899 Call modify_event_symbol with different arguments.
8900 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8901 for any button number. Call modify_event_symbol with different
8902 arguments.
8903 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8904 Accept a string for NAME_ALIST_OR_STEM.
8905
8906 * lisp.h (larger_vector): Add prototype.
8907
8908 * fns.c (larger_vector): Make externally visible.
8909
8910 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8911
2d1675e4
SM
89122000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8913
8914 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8915 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8916 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8917 we are between str1 and str2.
8918 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8919 (PATFETCH): Use `TRANSLATE'.
8920 (PATFETCH_RAW): Fetch multibyte char if applicable.
8921 (PATUNFETCH): Remove.
8922 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8923 When writing a char, write it directly into the pattern buffer rather
8924 than going needlessly through a temp char-array.
8925 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8926 multibyte magic and remove the useless `#ifdef emacs'.
8927 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8928 buffer.
8929
8930 * regex.h (struct re_pattern_buffer): Make field `multibyte'
8931 conditional on `emacs'.
8932
8933 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
8934
cc2d8c6b
KR
89352000-04-01 Ken Raeburn <raeburn@gnu.org>
8936
8937 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
8938 non-union-type versions of XMARK and friends here, because XMARK
8939 and friends won't work on an integer field if NO_UNION_TYPE is not
8940 defined.
8941 (make_number): Define as a function if it's not defined as a
8942 macro.
8943
09654086
KR
8944 * composite.c (run_composite_function): Use NILP when checking for
8945 nil.
8946 (syms_of_composite): Delete local var NARGS, pass an int as first
8947 argument to Fmake_hash_table.
8948
2387b382
KR
8949 * editfns.c (text_property_stickiness): Use NILP to test
8950 Lisp_Object boolean value.
8951 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
8952 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
8953 problems reading from and changing the same lisp value in an
8954 XSETSTRING call.
8955
27660e89
GM
89562000-04-01 Gerd Moellmann <gerd@gnu.org>
8957
8958 * term.c (TN_no_color_video): New variable.
8959 (term_init): Intitialize TN_no_color_video.
8960 (enum no_color_bit): New enumeration.
8961 (MAY_USE_WITH_COLORS_P): New macro.
8962 (turn_on_face): Use it to determine if attributes may be used
8963 combined with colors.
8964
3578db3c
KR
89652000-04-01 Ken Raeburn <raeburn@gnu.org>
8966
8967 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
8968 with int lvalues via casts; instead, just yield lisp object
8969 lvalues.
8970 (enlarge_window): Variable sizep now points to Lisp_Object. Use
8971 proper accessor macros.
8972 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
8973 (grow_mini_window): Fix typo getting int value of root->height.
8974
6fc556fd
KR
8975 * xdisp.c (compute_string_pos): Fix order of arguments to
8976 string_pos_nchars_ahead.
8977 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
8978 count arg to variable-arg routines like Frun_hook_with_args and
8979 Fformat.
587a49ab
GM
8980 (back_to_previous_visible_line_start)
8981 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
8982 fixed-arg routines like Fget_char_property and Fmake_string.
8983 (reconsider_clip_changes): Use XINT when comparing integer lisp
8984 objects, or passing them as int arguments.
587a49ab
GM
8985 (mark_window_display_accurate, insert_left_trunc_glyphs)
8986 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
8987 storing or passing integer values as lisp objects.
8988 (set_cursor_from_row, highlight_trailing_whitespace): Use
8989 INTEGERP, not implicit test against zero, for glyph object.
8990 (try_window_id): Don't use make_number when we want an int value.
8991
8992 * xfaces.c (xlfd_symbolic_value): Make last argument a
8993 Lisp_Object, to be consistent with callers.
8994 (Fbitmap_spec_p): Use XINT to get numeric value of height.
8995 (lface_hash): Apply XFASTINT to lisp values before folding in.
8996
8997 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
8998 fill in window width and height. Pass an int, not a lisp object,
8999 as first arg to Finsert.
9000
6e7b2457
GM
90012000-04-01 Gerd Moellmann <gerd@gnu.org>
9002
610d841e
GM
9003 * xfaces.c (realize_basic_faces): Block input while realizing
9004 the faces.
9005
6e7b2457
GM
9006 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9007
9008 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9009
aa110c0c
GM
90102000-03-31 Gerd Moellmann <gerd@gnu.org>
9011
9012 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9013 or ASCII, handle case that per-char metric is null.
aa110c0c 9014
8801a864
KR
90152000-03-30 Ken Raeburn <raeburn@gnu.org>
9016
c6129d7e
KR
9017 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9018
8801a864
KR
9019 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
9020 XSUBR, XBUFFER): Verify correct object type before returning
9021 pointer, using eassert.
9022 * frame.h (XFRAME): Likewise.
9023
9024 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
9025 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9026 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
9027 type.
9028 * data.c (set_internal): Likewise.
9029 * dispextern.h (WINDOW_WANTS_MODELINE_P,
9030 WINDOW_WANTS_HEADER_LINE_P): Likewise.
9031 * fileio.c (auto_save_1): Likewise.
9032 * insdel.c (check_markers): Likewise.
9033 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9034 * undo.c (record_insert): Likewise.
9035 * vmsproc.c (child_sig): Likewise.
9036 * window.c (unshow_buffer, window_loop): Likewise.
9037 * xterm.c (x_erase_phys_cursor): Likewise.
9038
8e7af858
GM
90392000-03-30 Gerd Moellmann <gerd@gnu.org>
9040
9041 * xfns.c (free_image_cache): Free the cache structure itself
9042 last, after all its members have been freed.
9043
9044 * lisp.h (xstrdup): Add prototype.
9045
9046 * alloc.c (xstrdup): Moved here from xfaces.c.
9047 (allocating_for_lisp): Variable removed.
9048 (lisp_malloc): Block input around the calls to malloc and
9049 mem_insert.
9050
9051 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9052 of Fsymbol_value.
9053 (xstrdup): Moved to alloc.c.
9054
e0b8c689
KR
90552000-03-29 Ken Raeburn <raeburn@gnu.org>
9056
b96f9fb7
KR
9057 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9058
9059 * emacs.c (main): Fix sense of no-loadup test.
9060
e0b8c689
KR
9061 * config.in (ENABLE_CHECKING): Undef.
9062
9063 * lisp.h (struct interval): Replace "parent" field with a union of
9064 interval pointer and Lisp_Object; add new bitfield to use as
9065 discriminant. Change other flag fields to bitfields.
9066 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
9067 is defined and the supplied test fails, print a message and
9068 abort.
9069 (eassert): New macro. Use CHECK to provide an assert-like
9070 facility.
9071
9072 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9073 pointers; abort if the value looks like a lisp object.
9074 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
9075 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
9076 Modify for new interval parent definition.
9077
9078 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
9079 UNMARK_BALANCE_INTERVALS): Update references that need an
9080 addressable lisp object in the interval structure.
9081 (die): New function.
9082 (suppress_checking): New variable.
9083
9084 * intervals.c (interval_start_pos): Just return 0 if there's no
9085 parent object.
9086
f83c5440
GM
90872000-03-29 Gerd Moellmann <gerd@gnu.org>
9088
9089 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9090 and earlier Emacs versions.
9091
9092 * keyboard.c (Ftop_level): Cancel busy-cursor.
9093
9094 * eval.c (call_debugger): Cancel busy-cursor.
9095
fdce64ff
KH
90962000-03-29 Kenichi Handa <handa@etl.go.jp>
9097
9098 * search.c (Freplace_match): Adjust multibyteness of the current
9099 buffer and NEWTEXT. Free allocated memory before signaling an
9100 error.
9101
f6a3f532
SM
91022000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9103
9104 * regex.c (analyse_first): New function obtained by ripping out most
9105 of re_compile_fastmap and generalizing it a little bit so that it
9106 can also just return whether a given (sub)pattern can match the empty
9107 string or not.
9108 (regex_compile): Use `analyse_first' to decide whether the loop-check
9109 needs to be done or not for *, +, *? and +? (the loop check is costly
9110 for non-greedy repetition).
9111 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9112
e9b309ac
DL
91132000-03-28 Dave Love <fx@gnu.org>
9114
bb15bd9a
DL
9115 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
9116 alpha.
9117
e9b309ac
DL
9118 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9119
ed0767d8
SM
91202000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9121
9122 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9123 an expression.
9124 (enum re_opcode_t): Update description of succeed_n.
9125 (PATFETCH): Always define.
9126 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9127 operators, char classes, shy-groups and intervals).
9128 Optimize special cases of intervals so as to only use succeed_n and
9129 jump_n when really needed.
9130 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9131 that we don't have to handle the special cases any more.
9132 Simplify on_failure_jump handling as well.
9133
e11e7e46
JR
91342000-03-28 Jason Rumney <jasonr@gnu.org>
9135
9136 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9137
88faab89
GM
91382000-03-27 Gerd Moellmann <gerd@gnu.org>
9139
182ff242
GM
9140 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9141
9142 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9143
182ff242
GM
9144 * alloc.c (mark_maybe_object): New function.
9145 (mark_memory): Use it.
9146 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9147 (setjmp_tested_p, longjmp_done): New variables.
9148 (test_setjmp): New function.
9149 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9150 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9151
c1005d06
GM
9152 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9153 to DEC_TEXT_POS and INC_TEXT_POS.
9154
9155 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9156 with parameter MULTIBYTE_P.
9157
427ec082 9158 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
9159 MULTIBYTE_P.
9160
7439e5b9 9161 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9162 buffers because it looks for multibyte character byte sequences
9163 which don't exist in unibyte text.
7439e5b9 9164
d9c545da
GM
9165 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9166
11fd416e 9167 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9168 [DEBUG_X_COLORS]: New functions.
9169 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9170
9171 * xfns.c (x_set_cursor_color): Get color reference counts right.
9172
9173 * xterm.c (x_copy_color): New function.
9174 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9175
9176 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9177 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9178 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9179 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9180 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9181 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9182 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9183 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9184 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9185 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9186
11fd416e
GM
9187 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9188 names for handling per-buffer variables.
d9c545da
GM
9189
9190 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9191 instead of MAX_BUFFER_LOCAL_VARS.
9192 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9193
9194 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9195
88faab89
GM
9196 * xfns.c (x_specified_cursor_type): New function.
9197 (x_set_cursor_type): Use it.
9198
9199 * buffer.h (struct buffer): Add cursor_type.
9200
d80f42b7
SM
92012000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9202
9203 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 9204 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 9205 opcode.
d80f42b7
SM
9206 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9207 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9208 executing it as well as when popping it off the stack to find infinite
9209 loops in non-greedy repetition operators.
9210
89e80928
GM
92112000-03-26 Gerd Moellmann <gerd@gnu.org>
9212
3d4ff2dd
GM
9213 * doc.c (Qfunction_documentation): New variable.
9214 (syms_of_doc): Initialize Qfunction_documentation.
9215 (Fdocumentation): If FUNCTION is a symbol with non-nil
9216 `function-documentation' property, return a documentation derived
9217 from that.
9218
bd96bd79
GM
9219 * buffer.c (syms_of_buffer): Add default-cursor-type.
9220 (init_buffer_once): Don't let cursor_type have a local value
9221 in every buffer.
9222
19d1bc27
GM
9223 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9224 on buffer-local value of cursor_type.
9225 (x_draw_bar_cursor): Add parameter WIDTH.
9226
9227 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9228 (init_buffer_once): Set default cursor_type value to t.
9229 Mark cursor_type as local everywhere.
9230 (syms_of_buffer): New per-buffer variable cursor-type.
9231
89e80928
GM
9232 * buffer.h (struct buffer): Remove member local_var_flags,
9233 add local_flags.
9234 (MAX_BUFFER_LOCAL_VARS): New macro.
9235 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9236 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9237 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9238 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9239
9240 * print.c (print_object): Use new macros for per-buffer
9241 variables.
9242
9243 * category.c (Fset_category_table): Use new macros for per-buffer
9244 variables.
9245
9246 * buffer.c (buffer_permanent_local_flags): Make a char array.
9247 (max_buffer_local_idx): New variable.
9248 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9249 for new handling of per-buffer variables.
9250 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9251 (init_buffer_once): Initialize per-buffer vars differently.
9252 Set max_buffer_local_idx.
9253
9254 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9255 variables.
9256
9257 * lread.c (defvar_per_buffer): Use new macros for per-buffer
9258 variables.
9259
9260 * data.c (do_symval_forwarding, store_symval_forwarding)
9261 (find_symbol_value, set_internal, default_value, Fset_default)
9262 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9263 per-buffer variables.
9264
9265 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9266
9a0dd3dc
GM
92672000-03-24 Gerd Moellmann <gerd@gnu.org>
9268
b68c375f
GM
9269 * xterm.c (x_term_init): Unblock input around call1 of
9270 Qvendor_specific_keysyms.
9271
9a0dd3dc
GM
9272 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9273 (find_defun_start): Consider an open parenthesis in column 0
9274 a defun start only if open_paren_in_column_0_is_defun_start is set.
9275 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9276
7973e637
SM
92772000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9278
9279 * eval.c (Fautoload): Add entry in load-history (if after dump).
9280 * lread.c (load-history): Update docstring.
9281
39210e90
GM
92822000-03-24 Gerd Moellmann <gerd@gnu.org>
9283
9284 * indent.c (Fvertical_motion): Always use the current buffer.
9285 Temporarily change the window's buffer, if necessary.
9286
72db3ab5
GM
92872000-03-23 Gerd Moellmann <gerd@gnu.org>
9288
9289 * xterm.c (fast_find_position): Make sure not to consider rows
9290 not visible in the window.
9291
990b2375
SM
92922000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9293
9294 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9295 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9296
ff4df011
JR
92972000-03-22 Jason Rumney <jasonr@gnu.org>
9298
9299 * w32menu.c (single_submenu): Set help string to NULL if none.
9300 (w32_menu_show): Set help string correctly.
9301 (add-menu-item): Set help string in MIIM_DATA for menu item.
9302 Load SetMenuItemInfoA explicitly.
9303 (w32_menu_display_help): New function.
427ec082 9304
ff4df011
JR
9305 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9306 (QCdata): Moved to xdisp.c.
9307
9308 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9309 (Vw32_charset_to_codepage_alist): Removed.
9310 (Vw32_charset_info_alist): New variable.
9311 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
9312 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
9313 greek, hebrew, thai, johab, mac, unicode]): New symbols.
9314 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9315 with TODO comment.
9316 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9317 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9318 Define Vw32_charset_info_alist and w32_charset symbols.
9319
93202000-03-22 Jason Rumney <jasonr@gnu.org>
9321
9322 * makefile.nt (w32bdf.obj): Update dependencies.
9323
9324 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9325
9326 * w32fns.c: Include fontset.h after dispextern.h.
9327 (Fx_create_frame): Do not create fontset.
9328 (w32_load_system_font): Doc fix.
9329 (Fx_close_connection): Free full_name if it is not shared.
9330
9331 * w32term.c: Include fontset.h after dispextern.h.
9332 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
9333 updated.
9334 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9335 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9336 (w32_font_is_double_byte): New function, needs body.
9337 (x_append_glyph): Set glyph->glyph_not_available_p.
9338 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9339 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9340 character, convert it to a unibyte character.
9341 (struct glyph_string): Delete member `charset'.
9342 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9343 calculating it is found.
9344 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9345 the case that per char metric is not available correctly.
9346 (x_fill_glyph_string): Handle the case that the specific glyph is
9347 not available correctly.
9348 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9349 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9350 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9351 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9352 fontset. Don't call FS_LOAD_FONT.
9353
439d5cb4
KR
93542000-03-22 Ken Raeburn <raeburn@gnu.org>
9355
9356 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9357 (INT_LISPLIKE): New macro.
9358 (NULL_INTERVAL_P): Use it.
9359 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
9360 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
9361 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
9362
9363 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9364 explicit references to "parent" field of struct interval and
9365 associated unclean type conversions.
9366 * intervals.c (create_root_interval, root_interval, rotate_right,
9367 rotate_left, balance_possible_root_interval, split_interval_right,
9368 split_interval_left, interval_start_pos, find_interval,
9369 next_interval, previous_interval, update_interval,
9370 adjust_intervals_for_insertion, delete_node, delete_interval,
9371 adjust_intervals_for_deletion, merge_interval_right,
9372 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
9373 copy_intervals_to_string): Likewise.
9374 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9375 Likewise.
9376 * syntax.c (update_syntax_table): Likewise.
9377
9378 * intervals.c (reproduce_tree_obj): New function, like
9379 reproduce_tree but takes a Lisp_Object for the parent. Declare
9380 with prototype.
9381 (graft_intervals_into_buffer): Use it when appropriate.
9382 (reproduce_tree): Declare with prototype.
9383 (balance_possible_root_interval): Check that the parent is a lisp
9384 object before trying to examine its type.
9385
ee1c5b21
GM
93862000-03-22 Gerd Moellmann <gerd@gnu.org>
9387
9388 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9389 as strings only if both are known to be strings.
9390
9391 * s/openbsd.h (LIBS_TERMCAP): Undef.
9392
1fb352e0
SM
93932000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9394
9395 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9396 definitions for non-Emacs compilation.
9397 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9398 outside of `#ifdef emacs'.
9399 (print_partial_compiled_pattern): Update.
9400 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9401 (re_compile_fastmap): Merge handling of charset and charset_not (for
9402 emacs and non-emacs compilation as well).
9403 Similarly for (not)categoryspec and (not)syntaxspec.
9404 Don't use the fastmap when reaching `anychar' since the added
9405 complexity is not justified.
9406 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9407 and (not)syntaxspec. Merge (not)categoryspec.
9408
fdaa1f77
KH
94092000-03-22 Kenichi Handa <handa@etl.go.jp>
9410
ff1a0d8e
KH
9411 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
9412 FACE_FOR_CHAR): Define them differently for the configuration of
9413 --without-x.
fdaa1f77 9414
d152fb46
DL
94152000-03-21 Dave Love <fx@gnu.org>
9416
9417 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9418 doc string.
9419
d2cafc8c
GM
94202000-03-21 Gerd Moellmann <gerd@gnu.org>
9421
9422 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9423 (lface_fully_specified_p): Don't check contents of
9424 LFACE_FONT_INDEX because that attribute is optional.
9425 (realize_x_face): Remove now unwarranted xassert.
9426
9111d4b5
KH
94272000-03-21 Kenichi HANDA <handa@etl.go.jp>
9428
9429 The following changes are to make font selection based on
9430 characters, not charset. In addition, they recover fontset
9431 facilities while utilizing the new font selection mechanism.
9432
6c4bfdc0
KH
9433 * Makefile.in (fontset.o): Depend on dispextern.h.
9434
9435 * alloc.c (mark_face_cache): Don't mark face->registry.
9436
9111d4b5
KH
9437 * dispextern.h (struct glyph): New member glyph_not_available_p.
9438 Use 22 bits for face_id.
9439 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9440 (struct face): Delete member registry, new member ascii_face.
9441 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9442 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9443 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
9444 (struct it): Delete member charset, new member
9445 glyph_not_available_p.
9446
9447 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9448 (struct fontset_info, struct fontset_data): Structs removed.
9449 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
9450 Vglobale_fontset_alist, font_idx_temp): Externs removed.
9451 (fs_load_font, fs_query_fontset): Adjusted for new argument.
9452 (fs_free_face_fontset, fontset_font_pattern,
9453 face_suitable_for_char_p, face_for_char,
9454 make_fontset_for_ascii_face): Extern them.
9455 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9456 (FS_LOAD_FACE_FONT): New macro.
9457
9458 * fontset.c: All codes rewritten or adjusted for the change of
9459 fontset implementation. Now fontset is represented by char table.
9460 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
9461 removed.
9462 (my_strcasecmp): Function removed.
9463 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
9464 variables.
9465 (AREF, ASIZE): New macros.
9466 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
9467 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
9468 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9469 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
9470 fontset_id_valid_p, font_family_registry, fontset_name,
9471 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
9472 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9473 New functions.
9474 (fs_load_font): New arg FACE. Caller changed.
9475 (fs_query_fontset): Argument changed. Caller changed.
9476 (Fquery_fontset): call fs_query_fontset.
9477 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9478 Functions removed.
9479 (clear_fontset_elements, check_registry_encoding,
9480 check_fontset_name): New functions.
9481 (syms_of_fontset): Set char-table-extra-slots property of fontset
9482 to 3. Staticpro and initialize Vfontset_table and
9483 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9484
9485 * frame.h (struct frame): Member `fontset_data' removed.
9486 (FRAME_FONTSET_DATA): Macro removed.
9487
9488 * frame.c (make_frame): Don't allocate f->fontset_data.
9489 (Fdelete_frame): Don't free f->fontset_data.
9490
6c4bfdc0
KH
9491 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9492
9111d4b5
KH
9493 * xdisp.c (charset_at_position): Function removed.
9494 (init_iterator): Don't set member charset of struct `it'.
9495 (handle_face_prop, reseat_to_string, set_iterator_to_next,
9496 next_element_from_display_vector, insert_left_trunc_glyphs):
9497 Likewise.
9498 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9499 FACE_FOR_CHARSET.
9500 (get_next_display_element, append_space,
9501 extend_face_to_end_of_line): Likewise.
9502
9503 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9504 Variables removed.
9505 (clear_font_table, frame_update_line_height, load_face_font):
9506 Adjusted for the change of fontset implementation.
9507 (load_face_fontset_font): Function removed.
9508 (pixel_point_size): New function.
9509 (font_list): Argument type changed. Caller changed.
9510 (LFACE_FONT): New macro.
9511 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9512 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9513 Lisp_Object. Determine the font name by actually loading a font
9514 by the specified pattern. Set LFACE_FONT (lface) to the specified
9515 pattern. Even if a font is not found, don't try alternatives.
9516 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9517 (set_font_frame_param): If `font' is specified in lface, use it.
9518 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9519 (lface_same_font_attributes_p): Likewise.
9520 (make_realized_face): Arguent changed. Caller changed. Set
9521 face->ascii_face to face itself.
9522 (free_realized_face): Free face->fontset if face is for ASCII.
9523 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
9524 deduce_unibyte_registry, x_charset_registry): Functions removed.
9525 (free_realized_multibyte_face): New function.
9526 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9527 changed. Caller changed.
9528 (try_font_list): Argument type changed.
9529 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9530 (choose_face_font): Argument changed. Handle fontset properly.
9531 (choose_face_fontset_font): Function removed.
9532 (realize_default_face, realize_named_face): Don't remove the
9533 former face here.
9534 (realize_face): Argument changed. Caller changed. Remove face
9535 with the arg former_face_id in advance. Load font for the new
9536 face.
9537 (realize_x_face): Argument changed. Caller changed. For a
9538 multibyte character, share fontset with base_face. For a single
9539 byte character, make a new realized fontset. Don't load a font
9540 here.
9541 (realize_tty_face): Argument changed. Caller changed.
9542 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9543 (face_at_buffer_position): Don't check multibyte_p for returning
9544 DEFAULT_FACE_ID.
9545 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9546 FACE_SUITABLE_FOR_CHARSET_P.
9547 (syms_of_xfaces): Remove code for Qx_charset_registry and
9548 Vface_default_registry.
9549
6c4bfdc0
KH
9550 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9551 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9552 (x_per_char_metric): Don't try FONT->default_char. Even if
9553 pcm->width is zero, glyph bits may exist.
9554 (x_encode_char): Always initialize char2b->byte1.
9555 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
9556 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
9557 changed.
9558 (x_append_glyph): Set glyph->glyph_not_available_p.
9559 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9560 it->charset. Handle the case that per char metric is not
9561 available. If it->multibyte_p is zero and it->c is a multibyte
9562 character, convert it to a unibyte character.
9563 (struct glyph_string): Delete member `charset'.
9564 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9565 the case that per char metric is not available correctly.
9566 (x_fill_glyph_string): Handle the case that the specific glyph is
9567 not available correctly.
9568 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9569 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9570 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9571 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9572 fontset. Don't call FS_LOAD_FONT.
9573
9574 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9575 (x_create_tip_frame): Likewise.
9576 (Fx_close_connection): Free full_name of font_info.
9577
9578 * fns.c (optimize_sub_char_table): New function.
9579 (Foptimize_char_table): New function.
9580 (syms_of_fns): Defsubr Soptimize_char_table.
9581
b33dd3b0
GM
95822000-03-20 Gerd Moellmann <gerd@gnu.org>
9583
9584 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9585 only if buffer is displayed in some window.
9586
9587 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9588 (try_window_reusing_current_matrix): Don't call scroll run
9589 function if run's current and desired position are the same;
9590 this prevents cursor flickering.
9591
4e8a9132
SM
95922000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9593
9594 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9595
9596 * regex.c (RE_STRING_CHAR): New macro.
9597 (GET_CHAR_AFER_2): Remove.
9598 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9599 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9600 (print_partial_compiled_pattern, re_compile_fastmap)
9601 (re_match_2_internal): Remove on_failure_jump_exclusive.
9602 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9603 optimization only need to work for * (ie. can use of_keep_string_jump).
9604 Remove the special case for .*\n since it is now covered by the general
9605 optimization.
9606 (re_search_2): Don't bother with `room'.
9607 (skip_one_char): New function.
9608 (skip_noops): Simplify since `memory' is not needed any more.
9609 (mutually_exclusive_p): Restructure slightly to use `switch' and
9610 add handling for "all" remaining cases.
9611 (re_match_2_internal): Change on_failure_jump_smart to use
9612 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9613 rather than on_failure_jump_exclusive.
9614
2136fdd4
GM
96152000-03-19 Gerd Moellmann <gerd@gnu.org>
9616
9617 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9618 number of bits per RGB because it's everywhere used as the depth
9619 of the visual.
9620
9621 * term.c (calculate_costs): Remove code dealing with X frames.
9622
18e21ce8 96232000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9624
9625 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9626
d7b511c4
GM
96272000-03-18 Gerd Moellmann <gerd@gnu.org>
9628
9629 * lread.c (read_integer): Unread the last char not consumed.
9630
16b5d424
GM
96312000-03-17 Gerd Moellmann <gerd@gnu.org>
9632
9633 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9634 which are in the process of being deleted.
16b5d424 9635
1fa28578
GM
96362000-03-16 Gerd Moellmann <gerd@gnu.org>
9637
83488cce
GM
9638 * Makefile.in (mostlyclean): Add `*.core'.
9639 (clean): Add `bootstrap-emacs'.
9640
1fa28578
GM
9641 * lread.c (read_integer): New function.
9642 (read1): Support read syntax #o, #x, #b, #r.
9643
99633e97
SM
96442000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9645
1fa28578
GM
9646 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9647 make sure POINTER_TO_OFFSET gives the same value before and after
9648 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9649 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9650 (debug): Now only active if > 0 rather than if != 0.
9651 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9652 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9653 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9654 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9655 (store_op1, store_op2, insert_op1, insert_op2)
9656 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9657 (group_in_compile_stack): Move to after its arg's types are
9658 declared and add a prototype.
99633e97 9659 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
9660 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
9661 wrapper.
99633e97 9662 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9663 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9664 indentation of the greedy-op and shy-group code.
99633e97
SM
9665 (at_(beg|end)line_loc_p): Fix argument's types.
9666 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9667 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9668 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9669 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9670 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9671 QUIT unconditionally.
99633e97 9672
699238d9
GM
96732000-03-15 Gerd Moellmann <gerd@gnu.org>
9674
9675 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9676 a sole completion.
9677
9678 * process.c (send_process): Add a hint that the function
9679 can call Lisp code to its comment.
9680
9681 * lread.c (load_dangerous_libraries): New variable.
9682 (Vbytecomp_version_regexp): New variable.
9683 (safe_to_load_p): New function.
9684 (Fload): Handle files not compiled with Emacs specially.
9685 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9686
34e23e5a
GM
96872000-03-14 Gerd Moellmann <gerd@gnu.org>
9688
9c763cca
GM
9689 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9690
9691 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9692 support functions only if HAVE_X11R6_XIM is defined.
9693 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9694
9695 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9696
9697 * xfns.c (X_I18N_INHIBITED): Don't define.
9698 (create_frame_xic): Remove conditional compilation on
9699 X_I18N_INHIBITED.
9700 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9701
9702 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9703 (HAVE_X11R6_XIM): Define.
9704
9705 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9706
34e23e5a
GM
9707 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9708 If set, call XSynchronize.
9709
66f0296e
SM
97102000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9711
34e23e5a
GM
9712 * regex.c: Declare a new type `re_char' used throughout the code
9713 for the string char type. It's `const unsigned char' to match the
9714 rest of Emacs. Consistently make sure all pointers to strings use
9715 it and make sure all pointers into the pattern use `unsigned
9716 char'.
66f0296e 9717 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9718 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9719 code duplication.
66f0296e
SM
9720
9721 * charset.h (GET_CHAR_AFTER_2): Remove.
9722 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9723
854a025c
KR
97242000-03-12 Ken Raeburn <raeburn@gnu.org>
9725
9726 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9727 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9728 of them try to use backquotes.
9729
b9d2c7e2
DL
97302000-03-12 Dave Love <fx@gnu.org>
9731
9732 * unexelf.c: Restore changes of 1999-10-19.
9733 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9734 fix its type and alignment; copy it from current process.
9735
5e5dff44
GM
97362000-03-12 Gerd Moellmann <gerd@gnu.org>
9737
9b2f3c38
GM
9738 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9739 has been found. Fix bug not computing timer's predecessor.
9740
427ec082 9741 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9742 file name.
9743
e1cff360
GM
9744 * window.c (Fsave_window_excursion): Doc fix.
9745
5e5dff44
GM
9746 * xfns.c (x_defined_color): Rewritten to use
9747 x_allocate_nearest_color.
9748
e411ce4b
EZ
97492000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9750
9751 * msdos.c (vga_installed): New function, code moved from
9752 dos_set_window_size.
9753 (Qbar, Qcursor_type, outside_cursor): New variables.
9754 (syms_of_msdos): Intern and staticpro them.
9755 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9756 shape used outside Emacs when called for the first time.
9757 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9758 cursor shape used outside Emacs.
9759 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9760 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9761 type has changed.
9762 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9763 parameters specify the cursor. Make qreverse a global
9764 variable (renamed to Qreverse).
9765
80460654
GM
97662000-03-09 Gerd Moellmann <gerd@gnu.org>
9767
9768 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9769
95cd4c40
SM
97702000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9771
9772 This is a big redesign of failure-stack and register handling, prompted
9773 by bugs revealed when trying to add shy-groups. Overall, what happened
9774 is that loops are now structured a little differently, groups can be
9775 shy and the code is a little simpler.
9776
9777 * regex.h: Update the copyright.
9778 (RE_SHY_GROUPS): New value.
9779 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9780 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9781
80460654
GM
9782 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9783 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9784 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9785 for (start|stop)_memory since they now only take one argument (the
9786 second has becomes unnecessary).
9787 (print_partial_compiled_pattern): Adjust for changes in
9788 re_opcode_t.
9789 (print_compiled_pattern): Use %ld to printf long ints and flush to
9790 make debugging a little easier.
95cd4c40
SM
9791 (union fail_stack_elt): Make the integer unsigned.
9792 (struct fail_stack_type): Add a `frame' element.
9793 (INIT_FAIL_STACK): Init `frame' as well.
9794 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9795 (DEBUG_PUSH, DEBUG_POP): Remove.
9796 (NUM_REG_ITEMS): Remove.
9797 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9798 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9799 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9800 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
9801 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
9802 macros.
9803 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9804 address pushed is not the destination of the jump but the source
9805 of it instead.
95cd4c40
SM
9806 (NUM_FAILURE_ITEMS): Remove.
9807 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9808 registers before the actual failure point). Don't hardcode any
9809 meaning for str==NULL anymore.
95cd4c40 9810 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9811 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9812 Remove.
95cd4c40
SM
9813 (REG_UNSET_VALUE): Use NULL (why not?).
9814 (compile_range): Remove declaration since it doesn't exist.
9815 (struct compile_stack_elt_t): Remove inner_group_offset.
9816 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9817 (regex_grow_registers): Remove dead code.
9818 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9819 (regex_compile): Add shy-groups Change loops to use
9820 on_failure_jump_smart&jump instead of
9821 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9822 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9823 variable to me). Use `jump' instead of `jump_past_alt' and don't
9824 bother with push_dummy_failure in alternatives since it is now
9825 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9826 emacs' for (re)allocating the stack.
9827 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9828 from loop when bufp->can_be_null rather than jumping to `done'.
9829 Avoid jumping backwards so as to ensure termination. Use
9830 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9831 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9832 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9833 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9834 improve mutually_exclusive_p to handle ".+\n".
9835 (lowest_active_reg, highest_active_reg,
9836 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
9837 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9838 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9839 variables. Push register (in `start_memory') on the stack rather
9840 than storing it in old_reg(start|end). Remove the cycle detection
9841 from `stop_memory', replaced by the use of on_failure_jump_loop
9842 for greedy loops. Add code for the new on_failure_jump_<foo>.
9843 Remove ad-hoc code in `on_failure_jump' to push more registers in
9844 the case of a loop. Take out code from `maybe_pop_jump' into
9845 separate functions and adapt it to the semantics of
9846 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9847 and push_dummy_failure. Remove dummy_failure handling and
9848 handling of `failures to jump to on_failure_jump' (this last one
9849 was already dead code, it seems).
9850 (group_match_null_string_p, alt_match_null_string_p)
9851 (common_op_match_null_string_p): Remove.
95cd4c40 9852
7397acc4
DL
98532000-03-08 Dave Love <fx@gnu.org>
9854
9855 * config.in: Don't depend on __STDC__ for volatile.
9856 Add POINTER_TYPE, PTR, PROTOTYPES.
9857
9858 * hftctl.c, strftime.c: Use PROTOTYPES.
9859 * eval.c (find_handler_clause): Likewise.
9860
9861 * mem-limits.h: Use POINTER_TYPE.
9862
9863 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9864 (memory_warnings): Declare using POINTER_TYPE.
9865
5e91ff9e
GM
98662000-03-08 Gerd Moellmann <gerd@gnu.org>
9867
feab4fba
GM
9868 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9869
25edb08f
GM
9870 * xdisp.c (display_echo_area): Temporarily inhibit garbage
9871 collection.
9872
5e91ff9e
GM
9873 * xfns.c: Remove obsolete code in #if 0.
9874 (Fx_focus_frame): New function.
9875
a735b7e1
KH
98762000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9877
9878 * coding.c (coding_category_name): Add coding-category-utf-8,
9879 coding-category-utf-16-be, coding-category-utf-16-le.
9880 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9881 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9882 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9883 (detect_coding_utf_8): New function.
9884 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9885 UTF_16_LOW_SURROGATE_P): New macros.
9886 (detect_coding_utf_16): New function
9887 (detect_coding_mask): When priorities are specified, skip any
9888 categories that have `nil' coding-system. Fix bug of returning
9889 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9890 returns a mask not set in PRIORITIES.
9891 (detect_eol_type_in_2_octet_form): New function.
9892 (detect_eol): selects detect_eol_type_XXX to call according to
9893 cooding->category_idx.
9894 (detect_coding_system): Remove `nil' coding-system in the result.
9895 (Fupdate_coding_systems_internal): Update all coding-categories.
9896
9897 * coding.h (CODING_CATEGORY_IDX_UTF_8,
9898 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
9899 macros.
9900 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
9901 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9902 CODING_CATEGORY_IDX_UTF_16_LE.
9903 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
9904 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
9905 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9906 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9907
9994cc69
GM
99082000-03-07 Gerd Moellmann <gerd@gnu.org>
9909
e9b4e5ff
GM
9910 * doc.c (Fdocumentation_property): If value is not a string,
9911 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9912
f7daf1e1
GM
9913 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9914 close the display with XtCloseDisplay. This caused a bus error
9915 on OpenWindows.
9916
9994cc69
GM
9917 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9918 complete but not unique.
9919
4336c705
GM
99202000-03-06 Gerd Moellmann <gerd@gnu.org>
9921
18bb0684
GM
9922 * process.c (send_process): Remove local variable `procname' that
9923 might become invalid when a GC happens. Instead, access the
9924 process name slot directly.
9925
4336c705
GM
9926 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9927 orig_height if set.
9928
9929 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9930 orig_height if set.
9931
515d0d0e
EZ
99322000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9933
9934 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9935 glyph matrices have been freed.
9936
100b3cbb
GM
99372000-03-05 Gerd Moellmann <gerd@gnu.org>
9938
50df5e5a 9939 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9940 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9941
9942 * xfns.c (QCdata): Moved to xdisp.c.
9943
9944 * xdisp.c (QCdata): Moved here from xfns.c.
9945 (syms_of_xdisp): Initialize QCdata.
9946
9947 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9948
9949 * window.c (coordinates_in_window): Use
9950 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9951 FRAME_INTERNAL_BORDER_WIDTH.
9952
100b3cbb 9953 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 9954 it is obviously invalid.
100b3cbb
GM
9955
9956 * xterm.c (x_term_init): Create a colormap if not using the
9957 default visual.
9958
9959 * xterm.h (select_visual): Change prototype.
9960
9961 * xfns.c (select_visual): Rewritten. Recognize user-specified
9962 visual classes.
9963 (visual_classes): New variable.
9964
64d739c4
GM
99652000-03-04 Gerd Moellmann <gerd@gnu.org>
9966
9967 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
9968 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
9969 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
9970 (x_decode_color): Don't handle allocation of white and black
9971 specially.
9972 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
9973 XtNcolormap resources.
9974 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
9975 (Fx_create_frame): Initialize color members of x_output structure.
9976 (xpm_load): Pass colormap to XPM lib.
9977
9978 * xfaces.c (x_free_colors): Access colormap of frame using
9979 FRAME_X_COLORMAP. Be paranoid about freeing black and white
9980 when default colormap is used.
9981
9982 * xterm.c (x_term_init): Set Colormap member of x_display_info
9983 structure. Copy colormap if resource `privateColormap' is
9984 specified (PseudoColor only).
9985 (x_setup_relief_color): Access colormap of frame using
9986 FRAME_X_COLORMAP.
9987
9988 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
9989 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
9990
c3cee013
JR
99912000-03-04 Jason Rumney <jasonr@gnu.org>
9992
9993 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
9994 other non-platform-specific equivalents.
64d739c4 9995 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
9996 specific functions and macros as their w32 equivalents where
9997 non-platform-specifics are not available.
9998 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
9999 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10000 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10001 (frame_update_line_height): Use macros to access f->output_data.
10002 (defined_color): Remove FIXME comments; fixed.
10003 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10004 into #ifdef blocks. Add WINDOWSNT blocks.
10005 (Fx_list_fonts): Use macros for accessing font data.
10006 (set_lface_from_font_name): Different default fonts for X and
10007 WINDOWSNT.
10008 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10009 scalable for backward compatibility.
64d739c4 10010 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10011 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10012
64d739c4 10013 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10014 syms_of_w32faces.
10015
10016 * makefile.nt (w32faces.obj): Remove.
10017 (xfaces.obj): Add.
10018
807cc41c
JR
100192000-03-03 Jason Rumney <jasonr@gnu.org>
10020
10021 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10022 correct parameters.
10023
0007072a
KR
100242000-03-03 Ken Raeburn <raeburn@gnu.org>
10025
10026 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10027 standard ELF definitions here if the system header does not.
10028
71a6ba55
GM
100292000-03-03 Gerd Moellmann <gerd@gnu.org>
10030
10031 * xterm.c (PER_CHAR_METRIC): Removed.
10032 (x_per_char_metric_1, x_default_char): New functions.
10033 (x_per_char_metric): If font's default char is invalid, return
10034 metrics of a suitably chosen usable default char.
10035 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10036 char, replace occurrences of unprintable chars with a suitably
10037 chosen usable default char.
71a6ba55 10038
900fa1f1
GM
100392000-03-02 Gerd Moellmann <gerd@gnu.org>
10040
42f55fe0
GM
10041 * xterm.c (note_mouse_highlight): Return quickly if frame's
10042 glyph matrices have been freed.
10043
10044 * dispnew.c (free_glyphs): Block input while freeing matrices.
10045
900fa1f1
GM
10046 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10047
10048 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
10049 x_free_colors.
10050
10051 * dispextern.h (x_free_colors): Add prototype.
10052
10053 * xfaces.c (x_free_colors): New function.
10054 (unload_color, free_face_colors): Use it.
10055
2f950292
EZ
100562000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10057
10058 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10059
10060 * window.c [MSDOS]: Include msdos.h.
10061
54d04320
DL
100622000-03-02 Dave Love <fx@gnu.org>
10063
10064 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10065
10066 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10067 set C_OPTIMIZE_SWITCH for gcc.
10068
0ba93ac4
KH
100692000-03-02 Kenichi Handa <handa@etl.go.jp>
10070
10071 * coding.c (coding_save_composition): Be sure to allocate
10072 composition data area in coding even if there's no composition in
10073 the current run.
10074
a2bc11d4
JR
100752000-03-01 Jason Rumney <jasonr@gnu.org>
10076
10077 * w32term.c: Equivalent changes to those made to xterm.c on
10078 2000-02-25 and 2000-02-24.
10079
10080 * w32fns.c: Equivalent changes to those made to xfns.c on
10081 2000-02-25 and 2000-02-21.
10082
10083 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10084 correct line-end convention is followed.
10085
10086 * w32menu.c [HAVE_BOXES]: Remove #undef.
10087 (single_keymap_panes): Remove code for simulating checkmarks.
10088 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10089 Remove code for drawing simulated checkmarks.
10090 (w32_menu_show): make unibyte help string correctly.
10091 (add_menu_item): draw standard Windows checkmarks. Draw radio
10092 buttons as radio buttons if possible.
10093
72d19d75
GM
100942000-03-01 Gerd Moellmann <gerd@gnu.org>
10095
2df636f4
GM
10096 * sysdep.c (start_of_text): Don't define this function for NetBSD
10097 with ELF.
10098
427ec082 10099 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10100 Don't define.
10101 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10102 (LINKER): Don't undef if __NetBSD__ is defined.
10103
10104 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10105
10106 * fileio.c [__NetBSD__]: Define `unix'.
10107
72d19d75
GM
10108 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10109
ed4d0512
GM
101102000-02-29 Gerd Moellmann <gerd@gnu.org>
10111
50b1039f
GM
10112 * atimer.c (start_atimer): Don't abort when timers are stopped.
10113 (append_atimer_lists): New function.
10114 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10115 arbitrary lists of stopped and running atimers.
10116
ed4d0512
GM
10117 * atimer.c (cancel_atimer): Handle canceling an atimer when
10118 some timers are stopped.
10119
10120 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10121 after canceling it.
10122
10123 * fns.c (maybe_resize_hash_table): Handle case of new size
10124 coming out as being the same as old size.
10125
387023ee
JR
101262000-02-27 Jason Rumney <jasonr@gnu.org>
10127
10128 * makefile.nt: Add atimer.h to dependencies.
10129 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10130 * w32console.c: Only disable window system features for dispextern.h
10131 (initialize_w32_display): Build a display info for the console.
10132 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10133 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10134 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10135 as 2 button mice.
10136 * w32gui.h (struct W32FontStruct): Revert last change after change
10137 to xdisp.c.
10138 * w32menu.c (single_submenu): Set up help string.
10139 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10140 (w32_dialog_show): Set up help string.
10141 * w32term.c (w32_display_info_for_display): Remove unused function.
10142 (w32_draw_bitmap): Use pre-built bitmaps.
10143 (w32_initialize_display_info): New function to initialize parts of
10144 display info that are common to both GUI and console frames.
10145 (w32_term_init): Use w32_initialize_display_info. Do not set
10146 Vw32_num_mouse_buttons here, as it is not called for console
10147 frames. Build bitmaps for indicating truncated lines etc.
10148 (x_delete_display): Destroy pre-built bitmaps.
10149 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10150 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10151
4516715a
DL
101522000-02-27 Dave Love <fx@gnu.org>
10153
10154 * lisp.h: Add a bunch of prototypes.
10155
171ca836
KH
101562000-02-26 Kenichi Handa <handa@etl.go.jp>
10157
10158 * keyboard.c (read_char): Set `usec' correctly.
10159
4013921d
KH
101602000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10161
10162 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10163 `lambda', set reg[RRR] to the map index.
10164 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10165 reg[RRR] to 0. Otherwise, set it to -1.
10166
9244a058
GM
101672000-02-25 Gerd Moellmann <gerd@gnu.org>
10168
2df636f4 10169 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10170
18e21ce8 101712000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10172
f43d79c1
GM
10173 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10174 and contains a `:', prepend `/:'.
10175
10176 * window.c (select_window_1): If selected_window is nil,
10177 don't "swap out" the buffer's point.
10178 (Fset_window_configuration): Set selected_window to nil
10179 before calling Fselect_window.
10180 (unshow_buffer): Don't set point in buffer from window's point
10181 if another more recently selected window also shows the buffer.
10182
bed0c171
GM
101832000-02-25 Gerd Moellmann <gerd@gnu.org>
10184
449c3c52
GM
10185 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10186
f5b58615
GM
10187 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10188 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
10189 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
10190 variables.
10191 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10192 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10193 (hide_busy_cursor): New functions.
10194 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10195
10196 * minibuf.c (read_minibuf): Cancel busy-cursor.
10197
10198 * keyboard.c (command_loop_1): Call start_busy_cursor before
10199 Fcommand_execute and cancel_busy_cursor after it.
10200 (timer_check): Remove busy-cursor code.
10201 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10202 cursor timer.
10203
10204 * process.c (wait_reading_process_input): Remove busy-cursor code.
10205
10206 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10207 Fx_hide_busy_cursor.
10208
10209 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10210 Remove prototyoes.
10211 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10212
10213 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10214
10215 * xterm.c (XTread_socket): Remove busy-cursor code.
10216
4eb8436f
GM
10217 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10218 (build_frame_matrix_from_leaf_window): Put code handling
10219 glyph row's not being a slice of a frame row in #if 0.
10220 (sync_window_with_frame_matrix_rows): New function.
10221 (frame_row_to_window): New function.
10222 (mirror_line_dance): Handle copies between windows.
10223
3cb65b0e
GM
10224 * lread.c (Fload): Use `xfree' instead of `free'.
10225 (init_obarray): Use `xmalloc' instead of `malloc'.
10226
bed0c171
GM
10227 * window.c (Fset_window_buffer): Set WINDOW to the window
10228 after decoding.
2add4349
GM
10229 (coordinates_in_window): Take frame's internal border width
10230 into account.
bed0c171 10231
42088c12
GM
102322000-02-24 Gerd Moellmann <gerd@gnu.org>
10233
10234 * xterm.c (x_display_and_set_cursor): Display cursor of
10235 non-selected windows depending on the setting of
10236 cursor_in_non_selected_windows.
10237
10238 * xdisp.c (cursor_in_non_selected_windows): New variable.
10239 (syms_of_xdisp): DEFVAR_BOOL it.
10240
d1e103b2
GM
102412000-02-23 Gerd Moellmann <gerd@gnu.org>
10242
723e779c
GM
10243 * data.c (Fstring_to_number): If number is greater than what
10244 fits into an integer, return a float.
10245
d1e103b2
GM
10246 * eval.c (specbind): Remove references to
10247 keyword_symbols_constant_flag.
10248
10249 * data.c (keyword_symbols_constant_flag): Removed.
10250 (Fmakunbound, set_internal, syms_of_data): Remove references to
10251 keyword_symbols_constant_flag.
10252
10253 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10254
214f877f
KH
102552000-02-23 Kenichi Handa <handa@etl.go.jp>
10256
10257 * syntax.c (multibyte_syntax_as_symbol): New variable.
10258 (syms_of_syntax): Declare it as a Lisp variable.
10259 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10260 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10261 nonzero, treat all multibyte characters as symbol.
42088c12 10262 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
10263 characters.
10264
130adcb7
EZ
102652000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10266
3cb65b0e 10267 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10268 a deleted frame.
130adcb7 10269
17cbbf95
GM
102702000-02-21 Gerd Moellmann <gerd@gnu.org>
10271
10272 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10273
10274 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10275 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10276
beb0bc36
DL
102772000-02-21 Dave Love <fx@gnu.org>
10278
10279 * frame.c (Vmouse_position_function): New variable.
10280 (Fmouse_position): Use it.
10281 (syms_of_frame): Install it.
10282
10283 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10284
1d92afcd
GM
102852000-02-20 Gerd Moellmann <gerd@gnu.org>
10286
10287 * fileio.c (Finsert_file_contents): Unbind the binding of
10288 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10289
10290 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10291 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10292 (specbind, unbind_to): Handle most common case of non-constant
10293 symbol with trivial value specially.
10294
10295 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10296
18e21ce8 102972000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10298
10299 * data.c (Fmake_variable_buffer_local): Doc fix.
10300 Init found_for_buffer to 0.
10301 (Fmake_variable_frame_local): If the variable has already
10302 been buffer-local, set the check_frame field.
10303
1d4311c3
EZ
103042000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10305
10306 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10307 produced for CODING_MODE_LAST_BLOCK requires.
10308
2dc95ddd
DL
103092000-02-18 Dave Love <fx@gnu.org>
10310
10311 * keyboard.c (echo_keystrokes): Remove declaration.
10312 (Vecho_keystrokes) New variable.
10313 (read_char, record_menu_key, read_key_sequence): Use it to allow
10314 use of float value.
10315 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10316
10317 * lread.c: Undef feature selection macros before defining.
10318
f0930f35
GM
103192000-02-18 Gerd Moellmann <gerd@gnu.org>
10320
10321 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10322 for symbols other than the symbol in question.
10323
e3d4de90
DL
103242000-02-17 Dave Love <fx@gnu.org>
10325
10326 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10327
0b378936
GM
103282000-02-17 Gerd Moellmann <gerd@gnu.org>
10329
d621caf7
GM
10330 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10331
0b378936
GM
10332 * alloc.c (enum mem_type): Compile unconditionally.
10333
3b451f74
EZ
103342000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10335
10336 * xfaces.c (tty_defined_color): Don't return faulire indication
10337 for unspecified-fg and unspecified-bg pseudo-colors.
10338
10689a01
GM
103392000-02-17 Gerd Moellmann <gerd@gnu.org>
10340
1216f5e4
GM
10341 * alloc.c (mark_object): Don't mark symbol names in pure space.
10342 (gc_sweep): Don't unmark symbol names in pure space.
10343
10344 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10345 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10346 [GC_MARK_STACK]: New defines.
427ec082 10347 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10348 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10349
10350 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10351
10352 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10353 allocate_buffer instead of xmalloc.
10354
10355 * alloc.c (toplevel): Include setjmp.h.
10356 (PURE_POINTER_P): New define.
10357 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10358 (Vdead) [GC_MARK_STACK]: New variable.
10359 (lisp_malloc): Add parameter TYPE, call mem_insert if
10360 GC_MARK_STACK is defined.
10361 (allocate_buffer): New function.
427ec082 10362 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10363 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10364 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10365 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10366 (MEM_NIL) [GC_MARK_STACK]: New define.
10367 (struct mem_node) [GC_MARK_STACK]: New structure.
10368 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10369 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10370 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10371 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10372 (mark_stack) [GC_MARK_STACK]: New functions.
10373 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10374 (clear_marks): Removed.
10375 (gc_sweep): Set free conses' car, free floats' type, free
10376 symbols' function to Vdead. Use lisp_free to free buffers.
10377 (init_alloc_once): Initialize Vdead.
10378 (survives_gc_p): Return non-zero for pure objects.
10379
10380 * alloc.c: Add comments throughout the file.
10381
2503c8b1
GM
10382 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10383 that unblocks alarms.
10384
8389e1e2
GM
10385 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10386 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10387 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10388
10689a01 10389 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10390
bfc17d18
KH
103912000-02-17 Kenichi Handa <handa@etl.go.jp>
10392
4a09dee0
KH
10393 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10394 avoid infinite error signaling. Allocate sufficient memory for
10395 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10396
2b927d02
SM
103972000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10398
10399 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10400 depends on the previous behavior.
10401
b49cb764
GM
104022000-02-16 Gerd Moellmann <gerd@gnu.org>
10403
10404 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10405
99e95407
GM
104062000-02-15 Gerd Moellmann <gerd@gnu.org>
10407
10408 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10409
10410 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10411 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10412 write(2).
10413
6ffd3cf7
RS
104142000-02-15 Richard M. Stallman <rms@gnu.org>
10415
10416 * data.c (set_internal): Don't make variable buffer-local
10417 if within a let-binding for the same buffer.
10418 (let_shadows_buffer_binding_p): New function.
10419
10420 * eval.c (specbind): For buffer-local value,
10421 record the current buffer also.
10422 (unbind_to): Cope with that change.
10423
cad53475
GM
104242000-02-15 Gerd Moellmann <gerd@gnu.org>
10425
10426 * window.c (Fsave_window_excursion): Doc fix.
10427
1aa963c8
SM
104282000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10429
10430 * syntax.c (back_comment): Make sure we only consider comment-starters
10431 of the relevant style and return -1 in case of a failure to find the
10432 beginning of the comment.
10433 (Fforward_comment): If back_comment fails, go back to the position just
10434 after the comment-end.
10435 (scan_lists): Add comment describing a very minor bug.
10436
b9b84fd3
SM
104372000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10438
10439 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10440 `completion-regexp-list' in the docstring.
10441
3a28db80
DL
104422000-02-14 Dave Love <fx@gnu.org>
10443
10444 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10445
fb4a568d
SM
104462000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10447
10448 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10449 to Emacs' syntax. Also fix the comment about set/not-set meanings
10450 since Emacs syntax is not the value 0 any more.
10451 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10452 since it's now part of RE_SYNTAX_EMACS.
10453
1063ebb5
DL
104542000-02-12 Dave Love <fx@gnu.org>
10455
10456 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
10457 Alpha.
10458
fb07a302
GM
104592000-02-12 Gerd Moellmann <gerd@gnu.org>
10460
10461 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10462
aaf2320c
DL
104632000-02-12 Dave Love <fx@gnu.org>
10464
10465 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10466
10467 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10468 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10469 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10470
10471 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10472
10473 * s/nextstep.h: Don't define HAVE_ALLOCA.
10474
10475 * config.in: Add vfork bits.
10476
eedf8bde
GM
104772000-02-12 Gerd Moellmann <gerd@gnu.org>
10478
10479 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10480 unwind function to undo the effect of stopping atimers.
10481
10482 * keyboard.c (bind_polling_period): Stop all timers except
10483 poll_timer.
10484
10485 * atimer.c (stopped_atimers): New variable.
10486 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10487 New functions.
10488
10489 * atimer.h (stop_other_atimers, run_all_atimers)
10490 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10491
eedf8bde
GM
10492 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10493
8476c2f8
KR
104942000-02-11 Ken Raeburn <raeburn@gnu.org>
10495
10496 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10497 library may depend on jpeg.
10498 (atimer.o): Depends on atimer.c.
10499
0e85e4a3
KH
105002000-02-11 Kenichi Handa <handa@etl.go.jp>
10501
10502 * insdel.c (del_range_1): Call update_compositions.
10503 (del_range_both): Call update_compositions just once..
10504
97fa0cc8
DL
105052000-02-10 Dave Love <fx@gnu.org>
10506
10507 * xfns.c (create_frame_xic): Fix initialization of automatic
10508 aggregates for pcc.
10509
25566a3c
KH
105102000-02-09 Kenichi Handa <handa@etl.go.jp>
10511
10512 * ccl.c (CCL_MAKE_CHAR): New macro.
10513 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10514 registers by CCL_MAKE_CHAR before calling translate_char.
10515 <CCL_TranslateCharacterConstTbl> Likewise.
10516
69da54ba
DL
105172000-02-08 Dave Love <fx@gnu.org>
10518
10519 * lread.c (__EXTENSIONS__): Define.
10520
f7136ee8
GM
105212000-02-08 Gerd Moellmann <gerd@gnu.org>
10522
10523 * puresize.h (BASE_PURESIZE): Increase to 650000.
10524
7768790b
EZ
105252000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10526
10527 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10528 the help message.
10529
38fd211b
EZ
105302000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10531
10532 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10533 md, mh, mb, mr, and me to the fake termcap entry.
10534
66e4690f
KR
105352000-02-06 Ken Raeburn <raeburn@gnu.org>
10536
10537 * sound.c (sound_cleanup): Don't call device close routine if the
10538 function pointer is null.
10539
a75dfea0
AI
105402000-02-06 Andrew Innes <andrewi@gnu.org>
10541
10542 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10543 around image definitions and prototypes.
10544 (gamma_correct) [WINDOWSNT]: New prototype.
10545
10546 * w32term.c (x_make_frame_visible): Replace call to
10547 input_poll_signal with poll_for_input.
10548
10549 * window.c [WINDOWSNT]: Include w32term.h.
10550
10551 * xdisp.c [WINDOWSNT]: Include w32term.h.
10552
10553 * makefile.nt: Add dependencies on w32gui.h.
10554 (OBJ1): Include atimer.obj.
10555 ($(BLD)\atimer.obj): New dependency rule.
10556
10557 * w32.c (sigmask): New function (does nothing).
10558 (sigunblock): Ditto.
10559
10560 * frame.c [WINDOWSNT]: Include w32term.h.
10561
10562 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10563
10564 * lread.c (syms_of_lread): Fix literal newlines.
10565
10566 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10567 the string constant limit (2048 bytes) in MSVC.
10568 (main): Ditto.
10569
59ddecde
GM
105702000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10571
10572 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
10573 area.
10574 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10575 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10576 dispatch the event.
10577
07590973
DL
105782000-02-04 Dave Love <fx@gnu.org>
10579
10580 * fileio.c: Remove some unused vars.
10581 (_GNU_SOURCE): Define (for euidaccess).
10582
10583 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10584
10585 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10586 gcpro1, gcpro2.
10587 (read_minibuf): Deal with allow_props correctly.
10588
649351f9
EZ
105892000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10590
10591 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10592
66e4690f 105932000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10594
10595 * search.c (compile_pattern): If a cache entry has a nil regexp,
10596 fill in that entry instead of clobbering a previously cached
10597 string regexp.
10598
66e4690f 105992000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10600
10601 * puresize.h (BASE_PURESIZE): Increase to 610000.
10602
d240a249
GM
106032000-02-02 Gerd Moellmann <gerd@gnu.org>
10604
10605 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10606 can GC.
10607
ca91fb26
KH
106082000-02-02 Kenichi Handa <handa@etl.go.jp>
10609
25660570
KH
10610 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10611 instead of incrementing ic directly.
10612 <CCL_WriteExprConst> Likewise.
10613 <ccl_set_expr>: Set ic to jump_address.
10614
ca91fb26
KH
10615 * fileio.c (e_write): Fix the handling of
10616 CODING_FINISH_INSUFFICIENT_SRC.
10617
2ede9689
DL
106182000-02-01 Dave Love <fx@gnu.org>
10619
10620 * editfns.c (Fpropertize): Doc fix.
10621
10622 * process.c (Fstart_process): Doc fix.
10623
10624 * eval.c: Fix various doc strings not to duplicate information
10625 from help-manyarg-func-alist.
10626
10627 * window.c (Fset_window_margins): Don't make interactive. Doc
10628 fix.
10629
10630 * doc.c (Vhelp_manyarg_func_alist): New variable.
10631 (Fdocumentation): Use it.
10632 (syms_of_doc): Define it.
10633
b6680a0e
GM
106342000-01-31 Gerd Moellmann <gerd@gnu.org>
10635
2cb750ba
GM
10636 * xterm.c (xim_open_dpy): Remove unused local variable.
10637
74e9213b
GM
10638 * emacs.c (USAGE): Use term `display options' instead of `X
10639 options'.
10640
10641 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10642 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10643
b6680a0e
GM
10644 * fns.c (sweep_weak_table): New function.
10645 (sweep_weak_hash_tables): Use it. Keep on marking until there
10646 is no more change.
10647
994c5afe
GM
106482000-01-30 Gerd Moellmann <gerd@gnu.org>
10649
10650 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10651 that XTread_socket does not crash by trying to call XNoOp on a
10652 closed display.
427ec082 10653
f00276e3
JR
106542000-01-30 Jason Rumney <jasonr@gnu.org>
10655
10656 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10657 Change selected_frame to SELECTED_FRAME ().
10658 (w32_console_mouse_position): Remove #ifndef MULE from around
10659 `insist' parameter.
10660
10661 * makefile.nt: Remove dosfns.obj.
10662
10663 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10664
10665 * w32fns.c (w32_defined_color): Check for valid frame before
10666 applying gamma correction. Eliminate dependency on frame elsewhere.
10667 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10668 (w32_to_x_font): Use resx and resy not height_in and width_in.
10669 (x_to_w32_font): Doc fix.
10670 (xlfd_strip_height): New function to strip and return font height.
10671 (w32_font_match): Compare height separately from rest of xlfd
10672 spec, using xlfd_strip_height.
10673
10674 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10675 width_in. Use w32_defined_color in place of defined_color.
10676
10677 * w32faces.c: Merge more of DOS and X specifics in preparation for
10678 merge with xfaces.c.
10679 (defined_color): Remove FIXME comment.
10680 (tty_color_name): Provide w32-specific function.
10681 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10682
10683 * w32console.c (turn_on_face, turn_off_face): Removed.
10684 (w32_face_attributes): New function.
10685 (Global_variables): Reduce scope where possible.
10686 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10687 fill attribute.
10688 (hl_mode): Don't modify text attributes.
10689 (write_glyphs): Don't do anything if len <= 0. Use
10690 w32_face_attributes to get attributes for drawing. Write
10691 terminating codes using char_attr_normal.
10692 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10693 (update_begin, update_end): Likewise.
10694 (vga_stdcolor_name): New function.
10695 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10696 (Fset_screen_color): Remove char_attr_reverse.
10697
b08e8bb2
GM
106982000-01-29 Gerd Moellmann <gerd@gnu.org>
10699
10700 * xfns.c (xic_set_preeditarea): Take window parameter and
10701 window-relative pixel-positions.
10702
10703 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10704 is its frame's selected window.
10705 (xim_instantiate_callback): Likewise.
10706
10707 * xfns.c (x_create_im): Removed.
10708 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10709 (supported_xim_styles): Renamed from supported_styles.
10710 (best_xim_style): Renamed from best_style.
10711 (create_frame_xic): Renamed from xic_create_frame.
10712 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10713
b08e8bb2
GM
107142000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10715
10716 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10717 our frames, call XFilterEvent with 2nd parameter `None'.
10718 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10719 returning XBufferOverflow.
10720 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
10721 area.
10722 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10723 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10724 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10725 (xim_initialize, xim_close)
10726 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10727 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10728 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10729 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10730
10731 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10732 and `xim_styles'.
10733 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10734 `xic_style' and `xic_xfs'.
10735 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10736 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10737 (FRAME_XIM): Removed.
10738
10739 * xfns.c (supported_styles): New variable.
10740 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10741 (xic_create_xfontset, best_style, xic_create_frame)
10742 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10743 (xic_set_xfontset): New functions.
10744
142e109c
DL
107452000-01-28 Dave Love <fx@gnu.org>
10746
10747 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10748
10749 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10750
b02786f9
GM
107512000-01-28 Gerd Moellmann <gerd@gnu.org>
10752
d060bc9f
GM
10753 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10754 for *scratch* if it already existed.
10755
b02786f9
GM
10756 * emacs.c (USAGE): New macro.
10757 (main): Use it to display usage information.
10758
2c52d7e4
EZ
107592000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10760
10761 Support for the menu-help feature:
10762
10763 * msdos.h: Change prototypes of XMenuAddSelection and
10764 XMenuActivate.
10765
10766 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10767 part of the line to the termscript file.
10768 (IT_clear_to_end): Clear the entire line, not just its beginning.
10769 (menu_help_message, prev_menu_help_message): New variables.
10770 (IT_menu_make_room): Make room for the help_text member.
10771 (IT_menu_display): New argument disp_help; all callers changed.
10772 If disp_help is non-zero, store the help text of the active menu
10773 item in menu_help_message.
10774 (XMenuAddPane): Initialize the help_text member to NULL.
10775 (XMenuAddSelection): New argument help_text. Store it in the
10776 XMenu structure.
10777 (XMenuActivate): New argument help_callback. If the value of
10778 menu_help_message has changed since the last time, display the
10779 menu help message text while waiting for the mouse to move. Clear
10780 the echo area before exiting.
10781 (XMenuDestroy): Free the help_text member.
10782
ffe0bcd1
GM
107832000-01-27 Gerd Moellmann <gerd@gnu.org>
10784
10785 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10786 XMenuAddSelection. Pass help callback to XMenuActivate.
10787 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10788
50dbd23f
EZ
107892000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10790
10791 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10792 and EMACS_SET_USECS.
10793
f5941bf8
GM
107942000-01-26 Dave Love <fx@gnu.org>
10795
6c67ddee
DL
10796 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10797
f5941bf8
GM
10798 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10799 an error may be signalled.
10800
9e49c990
GM
108012000-01-26 Gerd Moellmann <gerd@gnu.org>
10802
fc3cb460
GM
10803 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10804 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10805
9e49c990
GM
10806 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10807
d0c037d8
GM
108082000-01-25 Gerd Moellmann <gerd@gnu.org>
10809
10810 * charset.c (Fstring): If there is a multibyte char among
10811 the args, always return a multibyte string.
10812
e12489f9
GM
108132000-01-25 Gerd Moellmann <gerd@gnu.org>
10814
10815 * sysdep.c (sys_select): Turn atimers off and on instead of
10816 recording and restoring old alarm handler
10817
10818 * process.c (toplevel): Include atimer.h.
10819 (create_process_1): Rewritten.
10820 (create_process): Use atimers instead of alarm.
10821 (wait_reading_process_input) [hpux]: Turn atimers off instead
10822 of turning off SIGALRM.
10823 (wait_reading_process_input): Turn off atimers instead off
10824 calling stop_polling.
10825
10826 * emacs.c (main): Call init_atimer.
10827
10828 * keyboard.c (toplevel): Include systime.h and atimer.h.
10829 (polling_for_input): Removed because unused.
10830 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10831 (poll_timer): New variable.
10832 (poll_for_input, poll_for_input_1): New functions.
10833 (start_polling, stop_polling): Rewritten.
10834
10835 * keyboard.h (polling_for_input): Removed.
427ec082 10836
e12489f9
GM
10837 * atimer.h, atimer.c: New files.
10838
10839 * Makefile.in (obj): Add atimer.o.
10840 (atimer.o): New target.
10841
10842 * blockinput.h (pending_atimers): Add extern declaration.
10843 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10844
10845 * lisp.h (popup_activated_flag): Add extern declaration.
10846
10847 * xmenu.c (popup_activated_flag): Make externally visible.
10848 (popup_activate_callback) [USE_MOTIF]: Increment
10849 popup_activated_flag.
10850 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10851
10852 * xterm.c (toplevel): Include atimer.h.
10853 (toolkit_scroll_bar_interaction): New variable.
10854 (Fxt_process_timeouts): Removed.
10855 (x_process_timeouts): New function.
10856 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10857 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10858 (x_make_frame_visible): Call poll_for_input_1 instead of
10859 input_poll_signal. Don't call alarm.
10860 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10861
1e5279b9
DL
108622000-01-24 Dave Love <fx@gnu.org>
10863
6c67ddee 10864 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10865 Don't use -cckr -- apparently not now necessary.
10866
edf6aeb8
EZ
108672000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10868
10869 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10870 screen boundary.
10871
9badad41
JR
108722000-01-23 Jason Rumney <jasonr@gnu.org>
10873
10874 * w32fns.c (w32_defined_color): Apply gamma correction before
10875 trying to map to the palette.
10876 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10877 to w32_clear_rect.
10878
10879 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10880 here. Callers changed to always pass real device context.
10881 (w32_draw_bitmap): Likewise.
10882 (w32_get_glyph_overhangs): Likewise.
10883 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
10884 one.
10885 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10886 pfnSetScrollInfo and SetScrollRange.
10887 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10888 back into MULE characters after decoding them.
10889 (x_get_glyph_face_and_encoding): Likewise.
10890 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10891 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10892 (x_produce_glyphs): Calculate per char metrics for a character
10893 that we know exists in default font when font_not_found_p is true.
10894
63bd786b
JR
108952000-01-22 Jason Rumney <jasonr@gnu.org>
10896
10897 * makefile.nt (intervals.obj, composite.obj): New modules.
10898 (composite.h): Added as dependency where appropriate.
10899
10900 * w32gui.h (XGCValue): New struct for emulating X GCs.
10901
10902 * w32term.h (XCharStruct): New struct for emulating X.
10903
10904 * w32console.c (turn_on_face, turn_off_face): New functions.
10905 (change_line_highlight): New prototype for new redisplay.
10906 (write_glyphs): Support multibyte text. Support faces.
10907
10908 * w32faces.c: Complete rewrite for new redisplay based on new
10909 xfaces.c.
10910
10911 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10912 throughout. struct frame * in place of FRAME_PTR.
10913 Skeleton support for images, toolbars, tooltips from xfns.c.
10914 (Fx_create_frame): Use system default for default scroll bar
10915 width.
10916 (w32_get_arg): Renamed from x_get_arg.
10917 (Fx_file_dialog): New function.
10918 (w32_list_fonts): Check cache before asking system.
10919 (Vw32_enable_synthesized_fonts): New variable.
10920 (Vw32_enable_italics): Obsolete, removed.
10921
10922 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10923 Use SELECTED_FRAME macro.
10924
10925 * w32menu.c: Add skeleton support for help strings on menus.
10926 (add_menu_item): Native checkbox and radio support added, but not
10927 yet enabled due to bugs.
10928 (push_menu_item): Add parameters type, selection and help.
10929 Callers updated.
10930 Formatting changes to reduce unnecessary diffs with xmenu.c.
10931
10932 * w32select.c (Fw32_set_clipboard_data): Update call to
10933 find_charset_in_str.
10934
10935 * w32term.c: Complete rewrite for new redisplay based on new
10936 xterm.c with necessary sections merged back in from old w32term.c.
10937
6ffd3cf7 109382000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10939
10940 * data.c (set_internal): Further fix in same criterion.
10941
6ffd3cf7 109422000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10943
10944 * data.c (set_internal): Fix the criteria for whether
10945 to swap out the old cached binding.
10946
60af03f1
DL
109472000-01-19 Dave Love <fx@gnu.org>
10948
10949 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10950
f9be074f
KH
109512000-01-18 Kenichi Handa <handa@etl.go.jp>
10952
10953 * regex.c (re_compile_fastmap): While checking a range table for
10954 `charset', skip flag bits for a character class correctly.
10955
52b8dbf9
GM
109562000-01-17 Gerd Moellmann <gerd@gnu.org>
10957
d36100c9
GM
10958 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10959
52b8dbf9
GM
10960 * xfns.c (x_window): Call lw_create_widget with new parameter
10961 list.
10962
10963 * widget.c (EmacsFrameSetCharSize): Change size of children first
10964 because of problems with main window geometry management under
10965 Lesstif.
10966
10967 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
10968 MENU_ITEMS_ITEM_.*.
10969 (MENU_ITEMS_ITEM_HELP): New enumerator.
10970 (push_menu_item): Add parameter HELP. Record help in menu_items.
10971 (single_menu_item, single_submenu, list_of_items): Call
10972 push_menu_item with new parameter.
10973 (single_submenu): Set help string in widget value.
10974 (menu_highlight_callback): New function.
10975 (set_frame_menubar): Call lw_create_widget with new
10976 parameter list.
10977 (xmenu_show, xdialog_show): Ditto.
10978
3139018f
GM
109792000-01-13 Gerd Moellmann <gerd@gnu.org>
10980
10981 * sound.c (Fplay_sound): Improve doc string.
10982
83c8f461
RS
109832000-01-11 Richard M. Stallman <rms@gnu.org>
10984
10985 * lisp.h (set_internal): Enter the new arg.
10986
10987 * eval.c (specbind): Record buffer-local variables specially,
10988 indicating which buffer's binding was saved.
10989 (unbind_to): Restore buffer-local variables specially
10990 in the proper buffer.
10991
10992 * data.c (set_internal): New arg BUF.
427ec082 10993
83c8f461
RS
10994 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
10995 * data.c (Fset): Pass new arg to set_internal.
10996 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 10997
1fab1775
GM
109982000-01-11 Gerd Moellmann <gerd@gnu.org>
10999
11000 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
11001 xprintsym.
11002
83c8f461 110032000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11004
11005 * minibuf.c (Ftry_completion): Doc fix.
11006
7a85e4df
GM
110072000-01-11 Gerd Moellmann <gerd@gnu.org>
11008
11009 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11010 vector, too.
11011
a970dae4
AS
110122000-01-11 Andreas Schwab <schwab@suse.de>
11013
11014 * coding.c (code_convert_region): Initialize total_skip.
11015
c65d14ee
DL
110162000-01-08 Dave Love <fx@gnu.org>
11017
11018 * eval.c (Fuser_variable_p): Check customizability too.
11019
834938d2
GM
110202000-01-07 Gerd Moellmann <gerd@gnu.org>
11021
11022 * minibuf.c (Fcompleting_read): Doc fix.
11023
e0303cd6
GM
110242000-01-05 Gerd Moellmann <gerd@gnu.org>
11025
8a26744b
GM
11026 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11027 -L /usr/local/lib.
11028
e0303cd6
GM
11029 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11030 Check that input style is supported before trying to create an
11031 IC for it.
11032 (x_window): Call x_create_im.
427ec082 11033
2e471eb5
GM
110342000-01-04 Gerd Moellmann <gerd@gnu.org>
11035
560a7bd2
GM
11036 * xfns.c (current_gif_memory_src): New variable.
11037 (gif_load): Record the address of the current memory source
11038 in current_gif_memory_src.
11039 (gif_read_from_memory): Use current_gif_memory_src.
11040
f9ee84a3
GM
11041 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11042 macros statement form.
11043
d1299cde
GM
11044 * sound.c (struct sound): Renamed from struct sound_file.
11045 (struct sound): Add members `data' and `header_size'.
11046 (enum sound_attr): Add SOUND_DATA.
11047 (current_sound, current_sound_device): Variables renamed from
11048 sound_file and sound_device.
11049 (parse_sound): Parse :data.
11050 (parse_sound): Handle sound data in strings.
11051 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11052 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11053 needed header size.
11054 (wav_play, au_play): Play sounds from string data.
11055
2e471eb5
GM
11056 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11057
11058 * lisp.h: Add prototype for allocate_string_data.
11059
11060 * alloc.c (Fgarbage_collect): Return number of live and free
11061 strings.
11062
11063 * alloc.c (mark_buffer): Remove code in #if 0.
11064 (gc_sweep): Ditto.
11065 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11066 (strings_consed): New variable.
11067 (allocate_string): Set it.
11068 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11069 (Fmemory_use_counts): Return strings_consed. Use Flist.
11070
11071 * alloc.c: General cleanup in comments etc. Remove conditional
11072 compilation for `standalone'.
11073
11074 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11075
11076 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11077 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11078 (DONT_COPY_FLAG): Removed.
11079 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11080 (struct sdata, struct sblock): New
11081 (struct string_block): Rewritten.
11082 (STRINGS_IN_STRING_BLOCK): New macro.
11083 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11084 (large_sblocks, string_blocks, string_free_list): New variables.
11085 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11086 (init_strings): Rewritten.
11087 (allocate_string, allocate_string_data, compact_small_strings)
11088 (free_large_strings, sweep_strings): New functions.
11089 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11090 (struct string_block_head, current_string_block)
11091 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11092 (STRING_PAD): Removed.
11093 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11094 (Fgarbage_collect): Don't set mark bit in large strings.
11095 (mark_object): Mark strings differently. Mark symbol names
11096 differently.
11097 (survives_gc_p): Test marked strings differently.
427ec082 11098 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11099 symbol names.
11100 (compact_strings): Removed.
11101
42608ba8
EZ
111022000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11103
11104 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11105 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11106
e0a09e1a
KH
111072000-01-04 Kenichi Handa <handa@etl.go.jp>
11108
dd9f0750 11109 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11110 in a non-empty buffer.
dd9f0750 11111
3c0f3b15 11112 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11113
44cd3ae5
GM
111142000-01-03 Gerd Moellmann <gerd@gnu.org>
11115
11116 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11117 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11118
11119 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11120
c182a70f
EZ
111212000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11122
11123 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11124 need to test for MSDOS frames.
11125
24480d5b
EZ
111262000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11127
11128 * dosfns.c (unspecified_colors): Remove.
11129 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11130 unspecified_bg.
11131 (msdos_stdcolor_name): Return strings for unspecified fore- and
11132 back-ground colors.
11133
11134 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11135 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11136 (tty_color_name): Return Lisp strings for unspecified fore- and
11137 back-ground colors.
11138 (Finternal_set_lisp_face_attribute): Remove the special treatment
11139 for Qunspecified_{f,b}g.
11140 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
11141 string.
11142
047f434a
GM
111432000-01-03 Gerd Moellmann <gerd@gnu.org>
11144
11145 * xdisp.c (reseat_at_next_visible_line_start): Position before
11146 newline only if ending up on a newline.
11147 (next_element_from_ellipsis): Return success. Handle case of
11148 displaying no ellipsis. Fix case of ellipsis defined in display
11149 table.
11150 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11151 returns 0.
11152
d684c676
EZ
111532000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11154
11155 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11156 (Fcolor_supported_p): Renamed from face-color-supported-p.
11157
5fe1d139
EZ
111582000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11159
11160 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11161 list of colors renamed to tty-defined-color-alist.
11162 (tty_color_name): Pass the frame to tty-color-by-index.
11163 (realize_tty_face): tty-color-alist is now a function which
11164 accepts the frame as argument.
11165
11166 * term.c (Ftty_display_color_p): Accept an optional argument
11167 FRAME.
11168
816be8b8
EZ
111692000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11170
11171 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11172 encode_terminal_code.
11173
b635321e
EZ
111742000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11175
11176 * dispnew.c (mode_line_string): Support termcap frames as well.
11177
9b784e96
GM
111782000-01-01 Gerd Moellmann <gerd@gnu.org>
11179
27189709
GM
11180 * syntax.c (Fforward_word): Undo previous change.
11181
11182 * editfns.c (Fconstrain_to_field): Don't constrain if
11183 inhibit-field-text-motion is non-nil.
11184 (Fline_beginning_position): Undo previous change.
11185 (Fline_end_position): Ditto.
11186
11187 * syntax.c (Fforward_word): Notice field boundaries only if
11188 inhibit-field-text-motion is nil.
11189
11190 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11191
11192 * editfns.c (Vinhibit_field_text_motion): New variable.
11193 (inhibit-field-text-motion): New DEFVAR_LISP.
11194 (Fline_beginning_position, Fline_end_position): Notice field
11195 boundaries only if inhibit-field-text-motion is nil.
11196
45158a91
GM
11197 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11198 All calls adjusted.
11199 (x_build_heuristic_mask): Likewise.
11200 (xbm_load_image_from_file): Change error output.
11201 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11202 (gif_load, gs_load, x_kill_gs_process): Ditto.
11203
9b784e96
GM
11204 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11205 color indices when accessing raster pixels.
63cec32f
GM
11206 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11207 one of :file or :data.
11208 (enum pbm_keyword_index): Add PBM_DATA.
11209 (pbm_format): Add :data.
11210 (pbm_image_p): Allow either :file or :data.
11211 (pbm_read_file): New function.
11212 (pbm_scan_number): Rewritten to read from string.
11213 (pbm_load): Support :data.
9b784e96 11214
2cb085db 11215See ChangeLog.8 for earlier changes.
6922b018
KH
11216
11217;; Local Variables:
49b3bd82 11218;; coding: iso-2022-7bit
6922b018 11219;; End: