(init_from_display_pos): Remove unwarranted assertion.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
4bde0ebb
GM
12001-03-27 Gerd Moellmann <gerd@gnu.org>
2
0245398f
GM
3 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4
aba25348
GM
5 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
6 x/y position is (0, 0) after destroying the menu bar, restore
7 its original position.
8
4bde0ebb
GM
9 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
10 (init_from_display_pos): Use it.
11 (try_window_reusing_current_matrix): Don't use cursor_row_p.
12
8cdb267e
GM
132001-03-26 Gerd Moellmann <gerd@gnu.org>
14
15 * xdisp.c (try_window_id): Undo last change.
16
9948db79
EZ
172001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
18
19 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
20
21 * buffer.c (syms_of_buffer): Doc fix.
22
2eddf899
GM
232001-03-26 Gerd Moellmann <gerd@gnu.org>
24
25 * xfaces.c (x_update_menu_appearance): Use local variable
26 popup_path for setting font resources.
27
6c145d35
EZ
282001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
29
6a65b1b5
EZ
30 * frame.c (Fframe_list): Don't reference tip_frame if
31 HAVE_WINDOW_SYSTEM is not defined.
32
6c145d35
EZ
33 * emacs.c (main): Update the copyright year. From Werner LEMBERG
34 <wl@gnu.org>.
35
d74c1900
GM
362001-03-25 Gerd Moellmann <gerd@gnu.org>
37
20fbd925
GM
38 * xdisp.c (init_from_display_pos): Test invisible property
39 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
40
927c5b3b
GM
41 * xdisp.c (redisplay_internal) <update one window>: Make sure
42 last_arrow_position and last_arrow_string are set.
43
d74c1900
GM
44 * frame.c (Fframe_list): Don't return a tooltip frame.
45
091f8878
GM
462001-03-23 Gerd Moellmann <gerd@gnu.org>
47
43c09969
GM
48 * xdisp.c (mark_window_display_accurate_1): New function,
49 extracted from mark_window_display_accurate. Compute
50 BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
51 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
52 (mark_window_display_accurate): Use it.
53 (redisplay_internal): Use it for the selected window.
54 (redisplay_internal): Avoid duplicate mark_window_display_accurate
55 for the selected frame.
56
ac90c44f
GM
57 * xdisp.c Use make_number, for readability.
58 (try_window_id): Disable rows below the window end.
59 (try_window_reusing_current_matrix): Use cursor_row_p.
60 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
61 of rows.
62 (init_from_display_pos): If POS specifies a position in a display
63 vector, maybe get the iterator set up for that ellipsis.
43c09969 64
091f8878
GM
65 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
66
991786dd
EZ
672001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
68
69 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
70
6c29b43c
GM
712001-03-23 Gerd Moellmann <gerd@gnu.org>
72
73 * xfaces.c (x_update_menu_appearance): Use a different path
74 for Lucid popup menus.
75
d8731202
SM
762001-03-22 Stefan Monnier <monnier@cs.yale.edu>
77
78 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
79
80 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
81 (string_buffer_position): Use `make_number'.
82
f61a541b
GM
832001-03-22 Gerd Moellmann <gerd@gnu.org>
84
3c9e997b
GM
85 * xfaces.c (x_update_menu_appearance): Renamed from
86 x_set_menu_face_resources. Use different resources for popups.
87
88 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
89 (GC_CHECK_STRING_BYTES): Don't define.
90
364cd450
GM
91 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
92 Removed, together with subroutines.
93 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 94 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 95
d8731202
SM
96 * dispextern.h (x_set_menu_resources_from_menu_face):
97 Remove prototype.
364cd450 98
d8731202 99 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
100 Remove calls to x_set_menu_resources_from_menu_face.
101
d8731202
SM
102 * xfaces.c (xm_set_menu_resources_from_menu_face):
103 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
104
105 * xmenu.c: Include widget.h.
106 (single_submenu): Return int. Some cleanup.
107 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
108
140330de
GM
1092001-03-21 Gerd Moellmann <gerd@gnu.org>
110
111 * xterm.c (x_update_window_end): Handle overwritten mouse face
112 also for tool bar windows.
113 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
114 DRAW is DRAW_IMAGE_RAISED.
115
1741905c
GM
1162001-03-20 Gerd Moellmann <gerd@gnu.org>
117
fa88947e
GM
118 * print.c (syms_of_print): Doc fixes.
119
1741905c
GM
120 * fns.c (Fmd5): Doc fix.
121
ade0bee1
GM
1222001-03-19 Gerd Moellmann <gerd@gnu.org>
123
357e7376
GM
124 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
125 Clear area of the frame not occupied by the scroll bar.
126
c2c097cc
GM
127 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
128 tip frame's root window buffer to *tip* right after creating
129 the frame.
130
ade0bee1
GM
131 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
132 is an integer don't have to be for space characters.
133
88c6e37e
GM
1342001-03-16 Gerd Moellmann <gerd@gnu.org>
135
136 * indent.c (current_column, current_column_1, Fmove_to_column)
137 (compute_motion): Handle characters from display vectors
138 differently.
139
c62eed76
KH
1402001-03-15 Kenichi Handa <handa@etl.go.jp>
141
142 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
143 drawing glyph string.
144
c899e7e6
GM
1452001-03-15 Gerd Moellmann <gerd@gnu.org>
146
d0bbfc99
GM
147 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
148 (command_loop_1): Undo last change.
149
03d1a189
GM
150 * xterm.c (fast_find_position): Return the correct vpos.
151
c899e7e6
GM
152 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
153 non-null, set a per-buffer value in BUF instead of the current
154 buffer.
155 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
156 Call store_symval_forwarding with BUF null.
157 (set_internal): Call store_symval_forwarding with the BUF
158 parameter passed to set_internal. Formerly, the value was always
159 set in the current buffer; the buffer recorded in specbind for
160 this case wasn't used.
161 (arith_driver): Reindent.
162
163 * buffer.c (swap_out_buffer_local_variables): Call
164 store_symval_forwarding with BUF null.
165
166 * lisp.h (store_symval_forwarding): Change prototype.
167
168 * eval.c (specbind): Call store_symval_forwarding with BUF null.
169
57ac7c81
GM
1702001-03-14 Gerd Moellmann <gerd@gnu.org>
171
697617d9
GM
172 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
173 FOR_DELETION. Avoid resizing the mini-window of the selected
174 frame if FOR_DELETION is set.
175 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
176 (Fmake_frame_invisible): Change calls to do_switch_frame for new
177 signature.
178
179 * window.c (Fset_window_configuration): Change call to
180 do_switch_frame to new format.
181
182 * keyboard.c (quit_throw_to_read_char): Change call to
183 do_switch_frame to new format.
184
185 * lisp.h (do_switch_frame): Change prototype.
186
819dce0f
GM
187 * frame.c (Fframe_parameters): In the `buffer-list' frame
188 parameter, store the buffer list of FRAME, not the list of the
189 selected frame.
190
57ac7c81
GM
191 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
192 box just because the glyph row's full_width_p flag is set.
193
65008712
GM
1942001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
195
196 * xdisp.c (highlight_trailing_whitespace): On character terminals,
197 skip the padding blanks inserted in extend_face_to_end_of_line,
198 before checking for trailing whitespace.
199
159cf431
GM
2002001-03-13 Gerd Moellmann <gerd@gnu.org>
201
19b2bb80
GM
202 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
203 Remove special handling for LessTif/Motif.
204 (toplevel): Don't include Xm/Xm.h.
205
afcdc0a1
GM
206 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>: Remove
207 workaround code for LessTif; it doesn't work anymore.
208
2564ea1b 209 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 210 Xm/ScrollBarP.h.
afcdc0a1 211
23442ae4
GM
212 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Don't
213 access private scroll bar data; it's no longer necessary with
214 contemporary LessTif.
215
9faaaa52
GM
216 * xfaces.c (xm_set_menu_resources_from_menu_face): Change
217 #if 0 to #ifndef LESSTIF_VERSION.
218
159cf431
GM
219 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
220 removing button grabs.
221
c6f7429a
KH
2222001-03-13 Kenichi Handa <handa@etl.go.jp>
223
cb82d767
KH
224 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
225 and clip-large-size-font as obsolete.
226
c6f7429a
KH
227 * lread.c (read_multibyte): Check the validity of multibyte
228 sequence. If invalid, return the first byte.
229
760cefb5
GM
2302001-03-12 Gerd Moellmann <gerd@gnu.org>
231
232 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
233 before running the command; timer functions or process
234 filters may have set it.
235
5141f9d0
EZ
2362001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
237
238 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
239 Doc fix.
240
b6a15240
GM
2412001-03-12 Gerd Moellmann <gerd@gnu.org>
242
243 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
244 to sprintf.
245
95522746
GM
2462001-03-09 Gerd Moellmann <gerd@gnu.org>
247
db14cfc5
GM
248 * dispextern.h (string_buffer_position): Add prototype.
249
250 * xdisp.c (string_buffer_position, display_prop_string_p)
251 (single_display_prop_string_p): New functions.
252
253 * xterm.c (note_mouse_highlight): If there's no help-echo on
254 a string, look at the buffer text ``under'' it.
255
256 * keyboard.c (make_lispy_event): Add string info to the event,
257 analogous to what's done on mode lines.
258 (read_key_sequence): For a click on a string, consider `local-map'
259 and `keymap' of that string.
260
3cfd8357
GM
261 * keyboard.c (make_lispy_event, make_lispy_movement): Adjust
262 calls to buffer_posn_from_coords to new format.
263
264 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
265
266 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
267 POS; return void.
268
95522746
GM
269 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
270 flags argument to emacs_open; it seems to conflict with O_EXCL.
271
898a399d
KH
2722001-03-09 Kenichi Handa <handa@etl.go.jp>
273
28cd4910
KH
274 * composite.h (struct composition): Change types of members;
275 glyph_len to unsigned, width to unsigned short.
898a399d 276
4cdf6a6c
AI
2772001-03-08 Andrew Innes <andrewi@gnu.org>
278
279 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
280 menu titles.
281
129004d3
GM
2822001-03-08 Gerd Moellmann <gerd@gnu.org>
283
221dd3e7
GM
284 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
285 instead of nil.
286
5de7c6f2
GM
287 * xterm.c (note_mouse_highlight): Handle mouse-face and
288 help-echo in strings.
289 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
290 (fast_find_string_pos): New function.
291
292 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
293 (display_string): Call face_at_string_position with new
294 parameter.
295
296 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
297 Handle `mouse-face'.
298
299 * dispextern.h (face_at_string_position): Change prototype.
300
e1fbabaf
GM
301 * dired.c (directory_files_internal): Handle EAGAIN more
302 efficiently.
303
129004d3
GM
304 * keyboard.c (make_lispy_event): Avoid generating drag events
305 if the mouse hasn't actually moved to another buffer position.
306
80c8ab8c
DL
3072001-03-08 Dave Love <fx@gnu.org>
308
129004d3 309 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 310
989521fd
GM
3112001-03-08 Gerd Moellmann <gerd@gnu.org>
312
313 * process.c (Fset_process_window_size): Fix a typo.
314
bb5c338d
KH
3152001-03-08 Kenichi Handa <handa@etl.go.jp>
316
317 * coding.c (detect_coding_sjis): Do more rigid check.
318 (detect_coding_big5): Likewise.
319 (decode_coding_sjis_big5): Likewise.
320 (Fdetect_coding_region): Call detect_coding_system with tailing
321 anchor byte `\0' for more rigid detection.
a1b12fe9
KH
322 (detect_coding_mask): Fix the incorrect handling of arg
323 MULTIBYTEP.
bb5c338d
KH
324 (Fdetect_coding_string): Likewise.
325
8b8f9197
SM
3262001-03-07 Stefan Monnier <monnier@cs.yale.edu>
327
328 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
329 a string before extracting its data.
330
3bdf2660
GM
3312001-03-07 Gerd Moellmann <gerd@gnu.org>
332
333 * window.c (Frecenter): Rewrite code handling negative values
334 of ARG on graphical frames.
335
3362001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
337
338 * window.c (displayed_window_lines): If W->start is outside the
339 accessible portion of the buffer, call start_display with BEGV or
340 ZV instead of W->start.
341
471f86b9
GM
3422001-03-07 Gerd Moellmann <gerd@gnu.org>
343
2ab62c6c
GM
344 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
345
471f86b9
GM
346 * process.c (Fset_process_filter): Don't crash if the input
347 file descriptor of PROCESS is closed.
348 (Fset_process_window_size): Likewise.
349
101922c3
GM
3502001-03-06 Kenichi Handa <handa@etl.go.jp>
351
352 * xterm.c (XTflash): Make the timeout of select shorter, and call
353 select repeatedly until the desired time expires.
354
45d051a7
GM
3552001-03-06 Gerd Moellmann <gerd@gnu.org>
356
357 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
358
359 * xfns.c (Fx_create_frame): Clear Vwindow_list.
360
361 * lisp.h (Vwindow_list): Declare extern.
362
8f372c46
EZ
3632001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
364
365 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
366
f16a7aa5
GM
3672001-03-06 Gerd Moellmann <gerd@gnu.org>
368
157ae273
GM
369 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
370 to detect a case where we have to highlight a different region
371 despite not having left the currently highlighted region.
372 Set mouse_face_overlay in the x_display_info.
45d051a7 373 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
374
375 * xterm.h (struct x_display_info): Add mouse_face_overlay.
376
377 * buffer.c (mouse_face_overlay_overlaps): New function.
378
379 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
380 (Qmouse_face): Declare extern.
381
f16a7aa5
GM
382 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
383 if face_change_count is non-zero.
384
827afcac
KH
3852001-03-06 Kenichi Handa <handa@etl.go.jp>
386
387 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
388 that the source is unibyte.
389
14c7242e
DL
3902001-03-05 Dave Love <fx@gnu.org>
391
827afcac 392 * xterm.c (XTmouse_position): Fix typo.
14c7242e 393
c28b847b
GM
3942001-03-05 Gerd Moellmann <gerd@gnu.org>
395
396 * minibuf.c (read_minibuf): Clean up the binding stack if
397 called noninteractively.
398
b86644f2
KH
3992001-03-05 Kenichi Handa <handa@etl.go.jp>
400
401 * coding.c (syms_of_coding): Docstring modified.
402
203682cc 4032001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
404
405 * charset.c (char_to_string): If a single byte char has modifier
406 bits that can't be reflected to the character code, ignore them
45d051a7 407 instead of signaling an error.
b86644f2 408
e30bd7b7
EZ
4092001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
410
411 * s/msdos.h: Update copyright notice.
412
413 * dosfns.h: Update copyright notice.
414
415 * dosfns.c: Update copyright notice.
416
417 * msdos.c: Update copyright notice.
418
b52b65bd
GM
4192001-03-02 Gerd Moellmann <gerd@gnu.org>
420
421 * xterm.c (glyph_rect): New function.
422 (XTmouse_position): Use it to raise the threshold for mouse
423 movement event generation.
424
53c4b1e6
EZ
4252001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
426
427 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
428 specifies (reverse . t), reverse the initial screen colors.
429 (IT_set_frame_parameters): If the property is foreground-color,
430 but we are reversing the colors, set bg_set, not fg_set. Likewise
431 for setting background-color and reversing: set fg_set. Set
432 unspecified-fg and unspecified-bg correctly when (reverse . t) is
433 in effect.
434
435 * xfaces.c (Finternal_set_lisp_face_attribute)
436 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
437 parameters alist.
438
f964b4d7
GM
4392001-03-02 Gerd Moellmann <gerd@gnu.org>
440
ef53d75e
GM
441 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
442 to a single slash in the middle of file names.
443
cda0f4da
GM
444 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
445 Accept only alphanumeric time zone names.
446
f964b4d7
GM
447 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
448 or width area.
449 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
450 a widget to zero height.
451
c3c45f65
GM
4522001-03-01 Gerd Moellmann <gerd@gnu.org>
453
454 * window.c (Fwindow_end): Call move_it_past_eol only if
455 ending up on a partially visible line.
456
028d739a
DL
4572001-03-01 Dave Love <fx@gnu.org>
458
459 * ccl.c (Fccl_execute): Doc fix.
460
57c5889c
GM
4612001-03-01 Gerd Moellmann <gerd@gnu.org>
462
35f59f6b
GM
463 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
464 of the tool bar before calling x_figure_window_size.
465
f84ff02c
GM
466 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
467 NULL after destroying it, otherwise XTread_socket can access a
468 destroyed widget when input is unblocked.
469
8b8f9197 470 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
420f628c 471
57c5889c
GM
472 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
473 same name as before, although there was a change in fontsets.
474
224227d1
KR
4752001-02-28 Ken Raeburn <raeburn@gnu.org>
476
4560730a
KR
477 * lisp.h (Fframe_parameter): Declare.
478
224227d1 479 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 480 Lisp_Object.
224227d1 481
ece93c02
GM
4822001-02-28 Gerd Moellmann <gerd@gnu.org>
483
11ef99b9
GM
484 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
485 NULL instead.
486
487 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
488 NULL instead.
489
ece93c02
GM
490 * alloc.c (toplevel): Include process.h.
491 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
492 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
493 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
494 (allocate_vector, allocate_hash_table, allocate_window)
495 (allocate_frame, allocate_process, allocate_other_vector): New
496 functions.
497 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
498 (mark_maybe_pointer): New function.
499 (mark_memory): Also mark Lisp data to which only pointers
500 remain and not Lisp_Objects.
501 (min_heap_address, max_heap_address): New variables.
502 (mem_find): Return MEM_NIL if START is below min_heap_address or
503 above max_heap_address.
504 (mem_insert): Compute min_heap_address and max_heap_address.
505
506 * process.c (make_process): Use allocate_process.
507
508 * frame.c (make_frame): Use allocate_frame.
509
510 * window.c (make_window, make_dummy_parent): Use allocate_window.
511 (Fcurrent_window_configuration): Use allocate_other_vector.
512
513 * lisp.h (allocate_vectorlike): Remove prototype.
514 (allocate_vector, allocate_other_vector, allocate_frame)
515 (allocate_window, allocate_process, allocate_hash_table):
516 Add prototypes.
517
518 * fns.c (Fdelete, larger_vector): Use allocate_vector.
519 (make_hash_table, copy_hash_table): Use allocate_hash_table.
520
063af457
KH
5212001-02-27 Kenichi Handa <handa@etl.go.jp>
522
523 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
524 treat the produced bytes as a valid multibyte sequence.
525
526 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
527 (ccl_driver) <CCL_WriteMultibyteChar2>: Use
528 CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
529 <ccl_finish>: Set ccl->eight_bit_control properly.
530
531 * ccl.h (struct ccl_program): New member eight_bit_control.
532
f58c6494
SM
5332001-02-26 Stefan Monnier <monnier@cs.yale.edu>
534
535 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
536 accessible_keymaps_char_table.
537 (accessible_keymaps_char_table): Obey `is_metized'.
538 (where_is_internal, Fwhere_is_internal): Don't confuse int and
539 Lisp_Object.
540
c596c392
GM
5412001-02-26 Gerd Moellmann <gerd@gnu.org>
542
543 * dispnew.c: Check HAVE_TERM_H before including term.h.
544
425de386
AI
5452001-02-24 Andrew Innes <andrewi@gnu.org>
546
547 * makefile.w32-in: Update copyright notice.
548
2ba11bbd
SM
5492001-02-24 Stefan Monnier <monnier@cs.yale.edu>
550
551 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
552
66c56ed1
KH
5532001-02-24 Kenichi Handa <handa@etl.go.jp>
554
4c1593ce
KH
555 * Makefile.in (lisp): Add international/utf-8.elc.
556
66c56ed1
KH
557 * fontset.c (Fnew_fontset): Fix handling of the case that an
558 element of FONTLIST is a cons of family and registry.
559
796ead7e
JR
5602001-02-23 Jason Rumney <jasonr@gnu.org>
561
562 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
563 to height unconditionally.
564
565 * w32term.c (x_set_glyph_string_background_width): Extend the
566 background face to the end of the drawing area in the text area,
567 only.
568 (x_insert_glyphs): Call window_box_left to obtain the left
569 x-coordinate of the area to shift.
570
571 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
572 safe_run_hooks.
573
f6839838
AI
5742001-02-22 Andrew Innes <andrewi@gnu.org>
575
576 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header
577 files.
578 ($(BLD)\dispnew.obj):
579 ($(BLD)\editfns.obj):
580 ($(BLD)\fileio.obj):
581 ($(BLD)\filelock.obj):
582 ($(BLD)\keyboard.obj):
583 ($(BLD)\w32proc.obj):
584 ($(BLD)\process.obj):
585 ($(BLD)\sysdep.obj): Ditto.
586
587 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
588 header files.
589 ($(BLD)/dispnew.$(O)):
590 ($(BLD)/editfns.$(O)):
591 ($(BLD)/fileio.$(O)):
592 ($(BLD)/filelock.$(O)):
593 ($(BLD)/keyboard.$(O)):
594 ($(BLD)/w32proc.$(O)):
595 ($(BLD)/process.$(O)):
596 ($(BLD)/sysdep.$(O)): Ditto.
597
c224f70b
GM
5982001-02-22 Gerd Moellmann <gerd@gnu.org>
599
51695746
GM
600 * xdisp.c (forward_to_next_line_start): When taking the shortcut
601 at the start of the function, check that the \n in it->c is
602 from the iterator's current position.
603
a61b7058
GM
604 * xdisp.c (handle_single_display_prop): Add parameter
605 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
606 properties which replace the display of text with something else.
607 (handle_display_prop): Call handle_single_display_prop with
608 additional argument saying if we already replaced text display
609 with something else. Use AREF.
610 (with_echo_area_buffer_unwind_data, display_menu_bar)
611 (decode_mode_spec_coding): Use AREF and ASIZE.
612
3473f362
GM
613 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
614 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
615 * vmstime.h: Files removed.
616
2bb58df3
GM
617 * unexencap.c, unexfx2800.c: Files removed.
618
c224f70b
GM
619 * dispnew.c (direct_output_for_insert): Give up if we are showing
620 a message or just cleared the message because we might need to
621 resize the echo area window or display an empty echo area.
622
ffc9ff0c
GM
6232001-02-21 Gerd Moellmann <gerd@gnu.org>
624
0528abe1
GM
625 * xdisp.c (redisplay_internal): Do the
626 mark_window_display_accurate after all windows have been
627 redisplayed because this call resets flags in buffers which are
628 needed for proper redisplay.
629
ffc9ff0c
GM
630 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
631 display_hourglass_p, start_hourglass, cancel_hourglass instead of
632 the old names.
633
634 * w32term.h (struct x_output): Rename busy_cursor to
635 hourglass_cursor, busy_window to hourglass_window, busy_p to
636 hourglass_p.
637
638 * msdos.h (struct x_output): Rename busy_window to
639 hourglass_window, busy_p to hourglass_p.
640
641 * xterm.h (struct x_output): Rename busy_cursor to
642 hourglass_cursor, busy_window to hourglass_window, busy_p to
643 hourglass_p.
644
645 * xfns.c: Rename everything containing *busy_cursor* and similar
646 to *hourglass*.
647 (syms_of_w32fns): Rename x-busy-pointer-shape to
648 x-hourglass-pointer-shape, display-busy-cursor to
649 display-hourglass, busy-cursor-delay to hourglass-delay.
650
651 * w32fns.c: Rename everything containing *busy_cursor* and similar
652 to *hourglass*.
653 (syms_of_w32fns): Rename x-busy-pointer-shape to
654 x-hourglass-pointer-shape, display-busy-cursor to
655 display-hourglass, busy-cursor-delay to hourglass-delay.
656
657 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
658 of its busy_p flag.
659
660 * dispextern.h (start_hourglass, cancel_hourglass)
661 (display_hourglass_p): Renamed from *busy_cursor*.
662
ab2c5f0a
GM
6632001-02-20 Gerd Moellmann <gerd@gnu.org>
664
d17e49a8
GM
665 * keyboard.c (read_char): When an event from unread-command-events
666 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
667
fa97adf6
GM
668 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
669 equal to the current buffer.
670
ab2c5f0a
GM
671 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
672 nil, otherwise we're left with truncate_lines t when a message
673 is printed with message-truncate-lines bound to t.
674
aeac019e
GM
6752001-02-19 Gerd Moellmann <gerd@gnu.org>
676
c8bc6f65
GM
677 * window.c (Fmove_to_window_line): Undo last change.
678 (displayed_window_lines): Call line_bottom_y to determine
679 the line's bottom position.
680
681 * dispextern.h (line_bottom_y): Add prototype.
682
683 * xdisp.c (line_bottom_y): New function extracted from
684 pos_visible_p.
685 (pos_visible_p): Use it.
686
980a2d69
GM
687 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
688 set redisplaying_p to 0 here instead of in Frecursive_edit.
689 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
690 set redisplaying_p.
691
184d2372
GM
692 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
693 New variables.
694 (syms_of_xdisp): Initialize new variables.
695 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
696 Specbind `inhibit-menubar-update' when updating the menu bar.
697
65048e97
GM
698 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
699 safe_run_hooks.
700
701 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
702 safe_run_hooks.
703
a57c4026
GM
704 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
705 is null.
706
aeac019e
GM
707 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
708 to the start of the file.
709
76846b31
GM
7102001-02-16 Gerd Moellmann <gerd@gnu.org>
711
f3f053f3 712 * window.c (set_window_buffer): Fix last change.
25237df5 713
f3f053f3
GM
714 * window.c (set_window_buffer): Set window's vscroll to 0.
715
dad75588
GM
716 * window.c (coordinates_in_window): Increase width of area
717 where the vertical line can be dragged.
718
c220b753
GM
719 * xterm.c (x_set_glyph_string_background_width): Extend the
720 background face to the end of the drawing area in the text
721 area, only.
722
c56b1c1b
GM
723 * xdisp.c (handle_single_display_prop): Set iterator's position
724 to where the `display' property starts, like for images.
725 (dump_glyph): New function.
726 (dump_glyph_row): Use it. Dump info about marginal areas.
727
728 * dispnew.c (direct_output_for_insert): Recognize more cases where
729 glyphs can be written instead of being inserted.
730
731 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
732 the left x-coordinate of the area to shift.
733
76846b31
GM
734 * dired.c (directory_files_internal): Set result list to nil
735 before retrying.
736
0fc71a77
KH
7372001-02-15 Kenichi Handa <handa@etl.go.jp>
738
739 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
740 invalid multibyte sequence, treat *SRC as a character of
741 eight-bit-graphic.
742
25078b54
EZ
7432001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
744
745 * textprop.c (Fset_text_properties): Doc fix.
746
8399f8a0
GM
7472001-02-15 Gerd Moellmann <gerd@gnu.org>
748
749 * dispnew.c (update_text_area): Undo change of 2001-01-12.
750
9a2a6f73
DL
7512001-02-14 Dave Love <fx@gnu.org>
752
753 * coding.c: Doc and message fixes.
754
bf853fee
AI
7552001-02-14 Andrew Innes <andrewi@gnu.org>
756
757 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
758 Emacs frame above the screen size.
759
78c663d8
GM
7602001-02-14 Gerd Moellmann <gerd@gnu.org>
761
762 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
763
7cc9f69f
GM
7642001-02-13 Gerd Moellmann <gerd@gnu.org>
765
0a411995
GM
766 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
767 case that TO ends up beyond ZV after running before-change-functions.
768
5ddc1b75
GM
769 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
770 the selected window if it is showing the buffer in question.
771
7cc9f69f
GM
772 * dired.c (directory_files_internal): Initialize errno.
773 (toplevel): Include errno.h.
774
2e6621ca
GM
7752001-02-13 Kenichi Handa <handa@etl.go.jp>
776
777 * xfaces.c (best_matching_font): New parameter width_ratio.
778 Multiply avgwidth by width_ratio.
779 (choose_face_font): Call best_matching_font with width_ratio
780 calculated from the column width of C.
781
60222d69
AI
7822001-02-12 Andrew Innes <andrewi@gnu.org>
783
784 The following changes are to draw box lines inside characters area
785 if line-width is negative.
786
787 * w32term.c (x_produce_image_glyph): Pay attention to the case that
788 face->box_line_width is negative.
789 (x_produce_stretch_glyph): Likewise.
790 (x_produce_glyphs): Likewise.
791 (x_estimate_mode_line_height): Likewise.
792 (x_draw_glyph_string_background): Likewise.
793 (x_draw_glyph_string_foreground): Likewise.
794 (x_draw_composite_glyph_string_foreground): Likewise.
795 (x_draw_glyph_string_box): Likewise.
796 (x_draw_image_foreground): Likewise.
797 (x_draw_image_relief): Likewise.
798 (x_draw_image_foreground_1): Likewise.
799 (x_draw_image_glyph_string): Likewise.
800
9804b846
KH
8012001-02-09 Kenichi Handa <handa@etl.go.jp>
802
803 The following changes are to draw box lines inside characters area
804 if line-width is negative.
805
806 * xterm.c (x_produce_image_glyph): Pay attention to the case that
807 face->box_line_width is negative.
808 (x_produce_stretch_glyph): Likewise.
809 (x_produce_glyphs): Likewise.
810 (x_estimate_mode_line_height): Likewise.
811 (x_draw_glyph_string_background): Likewise.
812 (x_draw_glyph_string_foreground): Likewise.
813 (x_draw_composite_glyph_string_foreground): Likewise.
814 (x_draw_glyph_string_box): Likewise.
815 (x_draw_image_foreground): Likewise.
816 (x_draw_image_relief): Likewise.
817 (x_draw_image_foreground_1): Likewise.
818 (x_draw_image_glyph_string): Likewise.
819
820 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
821 and :line-width can be negative.
822 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be
823 negative.
824
49be9f70
JR
8252001-02-09 Jason Rumney <jasonr@gnu.org>
826
827 * w32term.c (w32_encode_char): Treat eight bit graphic and control
828 characters the same as ASCII and latin-1.
829 (x_display_and_set_cursor): Check for the focus frame's selected
830 window instead of selected_window.
831 (x_after_update_window_line): Don't clear if frame's internal
832 border width is zero.
833 (x_new_font): Don't change a tooltip's size.
834 (w32_initialize): Set char_ins_del_ok to 1.
835
836 * w32fns.c (Fx_show_tip): Fix calls to make_number.
837 (x_set_font): If font hasn't changed, avoid recomputing
838 faces and other things.
839 (x_set_tool_bar_lines): Do nothing if frame is
840 minibuffer-only,
841 (Fx_create_frame): Add the tool bar height to the frame
842 height.
843 (x_create_tip_frame): Prevent changing the tooltip's
844 background color by specifying a color for the default font
845 in .Xdefaults.
846 (Qcancel_timer): New variable.
847 (syms_of_w32fns): Initialize and staticpro it.
848 (Fx_hide_tip, Fx_show_tip): Use it.
849 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
850 the timer.
851 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
852
853 * w32.c (init_environment): Duplicate local string before putenv.
854
555e35d2
SZ
8552001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
856
857 * charset.c (Fstring): A typo.
858
19c92c94
KH
8592001-02-09 Kenichi Handa <handa@etl.go.jp>
860
e47a1c33
KH
861 * charset.c (Fstring): If all arguments are less than 256, return
862 a unibyte string.
863
864 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
865 return a unibyte string.
866
19c92c94
KH
867 * coding.c (code_convert_region): After detecting a coding, if
868 nothing found, set coding->composing to COMPOSITION_NO.
869 (decode_coding_string): Likewise.
870
d8e675f5
SM
8712001-02-08 Stefan Monnier <monnier@cs.yale.edu>
872
873 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
874 to avoid overflow.
875
bd503487
KH
8762001-02-07 Kenichi Handa <handa@etl.go.jp>
877
878 * charset.c (parse_str_to_multibyte): New function.
879
880 * charset.h (parse_str_to_multibyte): Extern it.
881
882 * print.c (print_string): If we are going to print a unibyte
883 string into a multibyte buffer, convert the string to multibyte by
884 str_to_multibyte.
885
a8370d72
AI
8862001-02-06 Andrew Innes <andrewi@gnu.org>
887
888 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
889 been created. It seems we can get sent window messages such as
890 WM_ERASEBKGND before we properly update a frame.
891
c363a1d6
GM
8922001-02-06 Gerd Moellmann <gerd@gnu.org>
893
894 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
895 Avoid some unnecessary cursor positioning.
896
a08332c0
GM
8972001-02-05 Gerd Moellmann <gerd@gnu.org>
898
899 * xfaces.c (split_font_name): Compute numeric value of
900 XLFD_AVGWIDTH.
901 (LFACE_AVGWIDTH): New macro.
902 (LFACEP): Use AREF.
903 (check_lface_attrs): Check LFACE_AVGWIDTH.
904 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
905 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
906 (merge_face_vectors): Check LFACE_AVGWIDTH.
907 (Finternal_make_lisp_face): Use AREF.
908 (xm_set_menu_resources_from_menu_face)
909 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
910 (Finternal_lisp_face_empty_p): Use AREF.
911 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
912 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
913 Compare average widths..
914 (best_matching_font): Arrange for comparing average widths.
915
916 * dispextern.h (enum lface_attribute_index): Add
917 LFACE_AVGWIDTH_INDEX (invisible from Lisp).
918
5cb3c8d4
DL
9192001-02-05 Dave Love <fx@gnu.org>
920
921 * puresize.h: Revert last change following loadup.el change.
922
193fba87
AI
9232001-02-05 Andrew Innes <andrewi@gnu.org>
924
925 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
926 invocation of temacs, to work with Windows 2000.
927 (bootstrap-emacs): Ditto.
928
e16f52ce
GM
9292001-02-05 Gerd Moellmann <gerd@gnu.org>
930
7a58ab59
GM
931 * xterm.c (x_display_and_set_cursor): Check for the focus
932 frame's selected window instead of selected_window.
933
e89aaabd
GM
934 * xdisp.c (try_scrolling): If point is in the line below the
935 window, make sure to move the iterator at least a canonical
936 char height down.
937
e16f52ce
GM
938 * window.c (Fmove_to_window_line): Don't add 1 if window is
939 vscrolled.
940
789ce875
KH
9412001-02-05 Kenichi Handa <handa@etl.go.jp>
942
943 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If
944 invalid, execute CCL_INVALID_CMD.
945 (ccl_driver): If the CCL program is terminated because of
946 CCL_STAT_INVALID_CMD, copy the remaining source data to the
947 destination instead of throwing them away.
948
20b28f82
GM
9492001-02-02 Gerd Moellmann <gerd@gnu.org>
950
79fb38c0
GM
951 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
952 faces and other things.
953
20b28f82
GM
954 * xdisp.c (get_next_display_element): Fix case of empty
955 display table entry.
956
5a72551e
EZ
9572001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
958
eb24d0bf
EZ
959 * editfns.c (Fconstrain_to_field): Doc fix.
960
6a3f48c7
EZ
961 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
962 into `thoroughly', to make it consistent with the doc string.
963
5a72551e
EZ
964 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
965
01acdb05
GM
9662001-02-01 Gerd Moellmann <gerd@gnu.org>
967
0353b28f
GM
968 * search.c (search_buffer): Call set_search_regs with a byte
969 position, not a character position.
970
01acdb05
GM
971 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
972 minibuffer-only,
973
e86b5133
EZ
9742001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
975
976 * frame.c (Fmodify_frame_parameters): Doc fix.
977
7442878f
GM
9782001-01-31 Gerd Moellmann <gerd@gnu.org>
979
01acdb05
GM
980 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
981 identifier which is not reserved by Standard C.
982
7442878f
GM
983 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
984
985 * window.c (enum window_part): New enumeration.
986 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
987 Qright_bitmap_area.
988 (coordinates_in_window): Return an enumerator from enum
989 window_part. Fix handling of right scroll bar.
990 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
991 `right-fringe' instead of `left-bitmap-area' and
992 `right-bitmap-area'. Use enumerators from enum window_part
993 instead of hard-coded integers.
994 (check_window_containing, window_from_coordinates): Use
995 enumerators from enum window_part instead of hard-coded integers.
996 (syms_of_window): Replace Qleft_bitmap_area and
997 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
998
7c132cba
EZ
9992001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1000
1001 * editfns.c (Fformat_time_string): Doc fix.
1002
c359dd9e
SM
10032001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1004
1005 * keymap.c (Fwhere_is_internal): Use the first valid binding
1006 if no ascii binding is found (when firstonly is t).
1007
ce070307
GM
10082001-01-31 Gerd Moellmann <gerd@gnu.org>
1009
b4f30ec5
GM
1010 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1011 instead of Finteractive_p.
1012
1013 * lisp.h (interactive_p): Add prototype.
1014
1015 * eval.c (interactive_p): New function.
1016 (Finteractive_p): Use it.
1017
ce070307
GM
1018 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1019
f57b6e64
DL
10202001-01-31 Dave Love <fx@gnu.org>
1021
d61c7afe
DL
1022 * .gdbinit (hook-run): Define to run xreload.
1023
f57b6e64
DL
1024 * textprop.c (Fset_text_properties): Fix newline in doc string.
1025
eef93f99
GM
10262001-01-30 Gerd Moellmann <gerd@gnu.org>
1027
1028 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use
1029 DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
1030
1031 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
1032 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
1033 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1034
1035 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1036 height.
1037
d9c1f6f9
DL
10382001-01-30 Dave Love <fx@gnu.org>
1039
1040 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1041 AFTER_POTENTIAL_GC.
1042
e8f044a0
GM
10432001-01-29 Gerd Moellmann <gerd@gnu.org>
1044
1045 * bytecode.c (Fbyte_code) <Bcurrent_column>: Add
1046 BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
1047
8e1db7b3
EZ
10482001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1049
1050 * textprop.c (Fset_text_properties): Doc fix.
1051
4eefd9d2
GM
10522001-01-29 Gerd Moellmann <gerd@gnu.org>
1053
1054 * xdisp.c (forward_to_next_line_start): Remove xassert.
1055
fccb8288
EZ
10562001-01-29 Jason Rumney <jasonr@gnu.org>
1057
4eefd9d2 1058 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1059 returning without releasing it.
1060
76581eab
KH
10612001-01-29 Kenichi Handa <handa@etl.go.jp>
1062
1063 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1064 for '^', '$', and '\0'.
1065
83a96b4d
AC
10662001-01-28 Andrew Choi <akochoi@i-cable.com>
1067
5604ec34
AC
1068 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1069 regex for '^', '$', and '\0'.
1070
83a96b4d
AC
1071 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1072 only if current_sblock has been initialized.
1073
1074 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1075 terminal frame even if it is the only visible frame.
1076
c09a6440
KH
10772001-01-28 Kenichi Handa <handa@etl.go.jp>
1078
1079 * fontset.c (font_family_registry): Even if FONTNAME conform to
1080 XLFD, if it specifies other fields than family and registry,
1081 return FONTANME. New argument FORCE if nonzero cancel that
1082 feature.
1083 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
1084 a signle byte character. Don't set FAMILY part to nil here. It
1085 is handled by the caller choose_face_font.
1086 (Fnew_fontset): Call font_family_registry with FORCE 0.
1087 (Fset_fontset_font): Likewise.
1088
4dcd74e6
GM
10892001-01-27 Gerd Moellmann <gerd@gnu.org>
1090
1091 * xdisp.c (display_line): Don't treat a newline as fitting
1092 on the line.
1093
d2906bf8
GM
10942001-01-26 Gerd Moellmann <gerd@gnu.org>
1095
0130fe1a
GM
1096 * window.c (size_window): Set the window's orig_top to nil when
1097 changing heights, so that a future shrink_mini_window won't
1098 restore a bogus height.
1099
550f0e6a
GM
1100 * frame.c (do_switch_frame): If selected frame has a mini-window,
1101 resize that to exact size.
1102
b7b20fbd
GM
1103 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1104
a47b7816
GM
1105 * xdisp.c (display_line): Simplify check for glyphs fitting
1106 entirely in the line.
1107
d2906bf8
GM
1108 * xfns.c (xic_style): New variable.
1109 (create_frame_xic): Move static variable to global scope for
550f0e6a 1110 the case that `static' gets defined away.
d2906bf8 1111
73df2b1e
KH
11122001-01-26 Kenichi Handa <handa@etl.go.jp>
1113
1114 * coding.c (decode_coding): Set a flag for inhibiting
1115 inconsistent eol.
1116 (code_convert_region): Always set saved_coding_symbol.
1117 (decode_coding_string): Likewise. Update coding->symbol when we
1118 encounter a inconsistent eol by the same way as
1119 code_convert_region.
1120
6613cfc4
GM
11212001-01-25 Gerd Moellmann <gerd@gnu.org>
1122
c5e6e06b
GM
1123 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1124 XClearArea.
1125
1126 * xterm.c (x_after_update_window_line): Don't clear if frame's
1127 internal border width is zero.
1128 (x_clear_area): New function.
1129 (x_after_update_window_line, x_clear_end_of_line)
1130 (x_scroll_bar_create, x_scroll_bar_set_handle)
1131 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1132 instead of XClearArea.
1133
1134 * xterm.h (x_clear_area): Add prototype.
1135
6613cfc4
GM
1136 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1137 which doesn't seem necessary anymore with Lesstif 0.92.
1138
650cc6cc
DL
11392001-01-25 Dave Love <fx@gnu.org>
1140
34ac3367
DL
1141 * puresize.h (BASE_PURESIZE): Up to 720000.
1142
650cc6cc
DL
1143 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1144
5e37dc22
GM
11452001-01-25 Gerd Moellmann <gerd@gnu.org>
1146
e1e441f9
GM
1147 * xdisp.c (echo_area_display): Don't call redisplay_internal
1148 when Emacs is shutting down. We can't run hooks etc. that
1149 would be necessary to do a redisplay.
1150
5e37dc22
GM
1151 * lread.c (read_integer): Use type EMACS_INT instead of int.
1152
0fb94c7f
EZ
11532001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1154
1155 * ccl.c (ccl_driver): Fix last change.
1156
e3778624
KH
11572001-01-25 Kenichi Handa <handa@etl.go.jp>
1158
1159 * ccl.h (sturct ccl_program): New member suppress_error.
1160
bb264518 1161 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1162 insert error message to the output.
1163 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1164
1165 * coding.h (struct coding_system): New member suppress_error.
1166
1167 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1168 (Fset_terminal_coding_system_internal): Set the member
1169 suppress_error to 1.
1170 (Fset_safe_terminal_coding_system_internal): Likewise.
1171
245ed2b1
SM
11722001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1173
1174 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1175 as if it was a `charset'.
1176
f9aaedb6
GM
11772001-01-24 Gerd Moellmann <gerd@gnu.org>
1178
1179 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1180 value in where_is_cache; the next lookup in the cache returns
1181 something bogus if we do.
1182
c3902c3e
EZ
11832001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1184
1185 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1186 if HAVE_WINDOW_SYSTEM isn't defined.
1187
3497f73e
GM
11882001-01-24 Gerd Moellmann <gerd@gnu.org>
1189
e7e41584
GM
1190 * fns.c (sweep_weak_table): Fix code taking items out of
1191 the hash collision chain. Some cleanup.
1192
3497f73e
GM
1193 * xterm.c (x_new_font): Don't change a tooltip's size.
1194
1195 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1196 background color by specifying a color for the default font
1197 in .Xdefaults.
1198
3d48e687
KH
11992001-01-24 Kenichi Handa <handa@etl.go.jp>
1200
96531b20
KH
1201 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1202 a workaround for SunOS 4's cc.
1203 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1204 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1205 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1206 statement.
3d48e687 1207
a30629d2
GM
12082001-01-23 Gerd Moellmann <gerd@gnu.org>
1209
1210 * xterm.c (x_set_window_size_1): New function extracted from
1211 x_set_window_size.
1212 (x_set_window_size): Use it.
1213 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1214 doesn't have a widget, like tooltips.
1215
5a43decf
EZ
12162001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1217
1218 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
1219 fix.
1220
b0e98867
KH
12212001-01-23 Kenichi Handa <handa@etl.go.jp>
1222
1223 * fns.c (Fset_char_table_default): Fix to make sub char-table
1224 correctly.
1225
50606b4c
GM
12262001-01-22 Gerd Moellmann <gerd@gnu.org>
1227
cb2ddc53 1228 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 1229 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
1230 items.
1231
57c28064
GM
1232 * xdisp.c (Ftool_bar_lines_needed): New function.
1233 (syms_of_xdisp): Defsubr it.
1234
50606b4c
GM
1235 * editfns.c (Fformat): Don't extend text properties from arguments
1236 to padding chars in the result.
1237
2f169c38
EZ
12382001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1239
1240 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1241
0f32f023
AI
12422001-01-20 Andrew Innes <andrewi@gnu.org>
1243
1244 * w32term.c (w32_ring_bell): Only support visible bell on w32
1245 frames.
1246 (w32_initialize): Don't set term hooks that aren't actually needed
1247 in windowed mode.
1248
1249 * xfaces.c (realize_default_face):
1250 (realize_face):
1251 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1252
1253 * xdisp.c (handle_single_display_prop): Remove references to
1254 FRAME_W32_CONSOLE_P.
1255
1256 * dispnew.c (Fredraw_frame): Remove reference to
1257 FRAME_W32_CONSOLE_P.
1258
1259 * frame.h (output_method): Remove output_w32_console method.
1260 (FRAME_W32_CONSOLE_P): Remove macro.
1261
1262 * frame.c (Qw32_console): Remove variable.
1263 (Fframep): Remove references to it.
1264 (syms_of_frame): Ditto.
1265 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1266
1267 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1268 redefinition.
1269
7173eada
KH
12702001-01-20 Kenichi Handa <handa@etl.go.jp>
1271
1272 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1273
755b45ce
AI
12742001-01-19 Andrew Innes <andrewi@gnu.org>
1275
1276 * w32.c (init_environment): Add a version-independent site-lisp
1277 directory to EMACSLOADPATH, after the version dependent one.
1278
0a949811
GM
12792001-01-19 Gerd Moellmann <gerd@gnu.org>
1280
8501998a
GM
1281 * editfns.c (Fbuffer_substring): Doc fix.
1282
0a949811
GM
1283 * xdisp.c (message_dolog, message2, message2_nolog): Rename
1284 parameter LEN to NBYTES.
1285
e6ebcbbe
KH
12862001-01-19 Kenichi Handa <handa@etl.go.jp>
1287
200ecca2
KH
1288 * charset.c (strwidth): Use c_string_width.
1289 (c_string_width): New function.
1290 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1291 Caller changed.
1292
1293 * charset.h (c_string_width, lisp_string_width): Extern them.
1294
1295 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
1296
e6ebcbbe
KH
1297 * indent.c (check_composition): Check validity of composition.
1298
200ecca2
KH
1299 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1300 characters by calling c_string_width.
1301 (x_consider_frame_title): Get byte length of frame tile string
1302 correctly.
1303 (display_mode_element): Pay attention to width of non-ASCII
1304 characters by calling strwidth.
1305
8692ca92
GM
13062001-01-18 Gerd Moellmann <gerd@gnu.org>
1307
8962e303
GM
1308 * xfns.c (Qcancel_timer): New variable.
1309 (syms_of_xfns): Initialize and staticpro it.
1310 (Fx_hide_tip, Fx_show_tip): Use it.
1311 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1312 the timer.
1313 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1314
91523be9
GM
1315 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1316
1317 * window.h (WINDOW_LIVE_P): New macro.
1318
b0b7ed0e
GM
1319 * window.c (window_size_fixed): New variable.
1320 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1321 the doc string.
1322
06bccf8e
GM
1323 * eval.c (specbind): If binding a per-buffer variable which
1324 doesn't have a buffer-local value in the current buffer, change
1325 the global value by changing the value of the symbol bound in all
1326 buffers not having their own value, to make it consistent with
1327 what happens with other buffer-local variables.
1328
8692ca92
GM
1329 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1330
1331 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1332 when searching for a newline.
1333
bb3a3b50
KH
13342001-01-18 Kenichi Handa <handa@etl.go.jp>
1335
1336 * xdisp.c (display_string): Fix previous change.
1337
c2cc16fa
JR
13382001-01-18 Jason Rumney <jasonr@gnu.org>
1339
1340 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1341 GLYPH_DEBUG is defined.
1342 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1343 true for images with `:ascent 100'.
1344 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1345 meantime, use face MOUSE_FACE_ID.
1346 If first glyph isn't a character glyph, use the ASCII NUL
1347 character to determine the face.
1348 (expose_area): Do not treat left margin specially.
1349 (note_mode_line_highlight): If no local_map, check global keymap.
1350 (note_mouse_highlight): Initialize overlay.
1351 (clear_mouse_face): Don't return if tip_frame is
1352 non-nil.
1353 (show_scroll_bars): Remove unused function.
1354 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1355 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1356 Clip to row.
1357 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
1358 nil.
1359 (x_free_frame_resources): Unload relief colors.
1360
9c11f79e
GM
13612001-01-17 Gerd Moellmann <gerd@gnu.org>
1362
3aec8722
GM
1363 * xdisp.c (forward_to_next_line_start): Avoid calling
1364 get_next_display_element when the newline is already found. This
1365 may change the iterator's position, when its current position is
1366 equal to the iterator's stop_charpos.
1367
f3ffc2c3
GM
1368 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1369 zero, use this method only at the end of a line.
1370
a86110a8
GM
1371 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
1372 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1373 if SCALABLE_FONTS_P is set.
1374
d26d6fd9
GM
1375 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1376 so that scalable fonts are included.
1377
9c11f79e
GM
1378 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1379 In the cache, use a key containing the information if scalable
1380 fonts are included.
1381 (x_load_font): Adapt to change of keys in the font cache.
1382
13832001-01-17 Kim F. Storm <storm@filanet.dk>
1384
d26d6fd9
GM
1385 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1386 XListFonts to take advantage of font caching.
1387
9c11f79e
GM
1388 * xterm.c (x_list_fonts): Ensure caching font information when
1389 called for a null frame, which is the case frequently when Emacs
1390 starts.
1391
51446987
GM
13922001-01-17 Gerd Moellmann <gerd@gnu.org>
1393
f864120f
GM
1394 * xfns.c (QCconversion): Replaces QCalgorithm.
1395
1396 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1397
1398 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1399 of :algorithm.
1400
e37d1417
GM
1401 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1402 not everything could be displayed.
1403
51446987
GM
1404 * line.h, x-list-font.c: Files removed because unused.
1405
9ad4f3e5
AI
14062001-01-17 Andrew Innes <andrewi@gnu.org>
1407
1408 * dired.c (directory_files_internal): Convert result from readdir
1409 to a unibyte string initially, to avoid possible misinterpretation
1410 of some bytes as the internal form of Emacs characters.
1411
2eda09b5
KH
14122001-01-17 Kenichi Handa <handa@etl.go.jp>
1413
1414 * fns.c (concat): Be sure to avoid putting the same `composition'
1415 property on the adjacent regions.
1416
826f3788
GM
14172001-01-16 Gerd Moellmann <gerd@gnu.org>
1418
f251459d
GM
1419 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
1420 here.
1421 (Fscroll_right, Fscroll_left): Set it here instead, if called
1422 interactively.
1423
d57b83b3
GM
1424 * buffer.c (Fset_buffer_modified_p): Set buffer's
1425 prevent_redisplay_optimizations_p flag.
1426
826f3788
GM
1427 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
1428 * sysdep.c, vmsproc.c, xselect.c: Call
1429 redisplay_preserve_echo_area with additional arg.
1430
1431 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
1432 prototype.
1433
1434 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1435 FROM_WHERE, for debugging.
1436
261d788b
KH
14372001-01-16 Kenichi Handa <handa@etl.go.jp>
1438
1439 * ccl.c (Fregister_ccl_program): Handle the return value of
1440 resolve_symbol_ccl_program correctly.
bda6b481
KH
1441 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
1442 changed.
261d788b 1443
bccee4f2
GM
14442001-01-15 Gerd Moellmann <gerd@gnu.org>
1445
e4ded23c
GM
1446 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1447 has gone in the meantime, use face MOUSE_FACE_ID.
1448
ae24cb3b
GM
1449 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
1450 x_display_info_for_display returns null, don't try to close
1451 the display; we didn't open it.
1452
bccee4f2
GM
1453 * dispnew.c (save_or_restore_current_matrices): Function removed.
1454 (save_current_matrix, restore_current_matrix): New functions.
1455 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1456 restore the frame's current matrix. Due to the glyph pointer
1457 setup done in adjust_glyph_matrix, there is no easy way to make
1458 saving the current matrix in the desired matrix generally correct,
1459 so don't try it.
1460
ebeccffa
KH
14612001-01-15 Kenichi Handa <handa@etl.go.jp>
1462
1463 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1464 truncation glyphs.
1465 (display_line): Optimize for wide characters.
e4ded23c 1466 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1467 partially. On ttys, produce more than one truncation glyph for
1468 multi-column characters that don't fit on the line.
1469
64388126
KH
14702001-01-13 Kenichi Handa <handa@etl.go.jp>
1471
1472 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
1473 it instead of WORDS_BIGENDIAN. Caller changed.
1474
8edb0a6f
JR
14752001-01-13 Jason Rumney <jasonr@gnu.org>
1476
1477 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1478 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
1479 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1480 (tiff_format, gif_format, gs_format): Adapt to change of image
1481 margins.
1482
1483 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1484 (x_draw_image_relief, x_draw_image_foreground_1)
1485 (x_draw_image_glyph_string): Adapt to change of image margins.
1486
1487 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1488 variables.
1489
1490 * w32bdf.c (search_file_line, get_cached_font_char)
1491 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1492
1493 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1494
1495 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1496 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1497 (Fw32_send_sys_command): Remove unused variables.
1498 (w32_msg_pump): Add parentheses.
1499
1500 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1501 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1502 Add parentheses.
1503
4956d1ef
GM
15042001-01-12 Gerd Moellmann <gerd@gnu.org>
1505
b30623be
GM
1506 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1507 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1508 being a pair of margins.
1509 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1510 to DEFVAR_LISP. Extend doc.
1511
1512 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1513 margins.
1514 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1515 pair of integers `(X . Y)', use X for the horizontal and Y for the
1516 vertical margin.
1517 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1518 (parse_image_spec): Check it.
1519 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1520 (tiff_format, gif_format, gs_format): Use
1521 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
1522
1523 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1524 (x_draw_image_relief, x_draw_image_foreground_1)
1525 (x_draw_image_glyph_string): Adapt to the change of image margins.
1526
1527 * dispextern.h (struct image): Replace member `margin' with
1528 `hmargin' and `vmargin'.
1529
4554cc79
GM
1530 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1531 and GLYPHS.
1532
1533 * dispnew.c (update_text_area): Put code which decrements the
1534 stop position when the row's face extends to the end of the
3bffc665 1535 line in #if 0.
4554cc79 1536
3cccce8d
GM
1537 * xfns.c (x_set_mouse_color): Fix color allocation.
1538
4956d1ef
GM
1539 * keyboard.c: Call get_local_map with new argument list.
1540
1541 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1542
1543 * intervals.h (enum map_property): Removed.
1544 (get_local_map): Change prototype.
1545
1546 * keymap.c: Call get_local_map with new argument list.
1547 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1548
2c2ff7f2
GM
15492001-01-11 Gerd Moellmann <gerd@gnu.org>
1550
a23887b9
GM
1551 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1552 of the size needed for the tool bar string. For the last image,
1553 use a `display' property that reaches to the end of the string.
1554
a7ee2d2e
GM
1555 * xselect.c (selection_request_dpyinfo): New variable.
1556 (x_handle_selection_request): Set it.
1557 (x_selection_request_lisp_error): Don't call
1558 x_decline_selection_request if selection request's display has
1559 been closed.
1560
2c2ff7f2
GM
1561 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
1562 the unregister_colors before calling XFreeColors.
1563
457b792c
GM
15642001-01-10 Dave Love <fx@gnu.org>
1565
1566 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1567 ${SOME_MACHINE_LISP}, not ${lisp}.
1568
c1efd260
GM
15692001-01-10 Gerd Moellmann <gerd@gnu.org>
1570
a98b5ed9 1571 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 1572 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
1573 line.
1574
ac95a621
GM
1575 * xselect.c (x_reply_selection_request): Add a comment.
1576
c1efd260
GM
1577 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1578 XkbGetNames instead of XkbGetKeyboard.
1579
1bfb1345
DL
15802001-01-10 Dave Love <fx@gnu.org>
1581
1582 * sysdep.c (random): Revert the declaration.
1583
38119822
GM
15842001-01-09 Gerd Moellmann <gerd@gnu.org>
1585
35f464a7
GM
1586 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
1587 function string_bytes.
1588 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1589
1590 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1591 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1592 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1593 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1594 the current sblock.
1595 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1596 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1597 after sweeping strings, and at the end.
1598 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1599
38119822
GM
1600 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1601 ensure that pop_message is called.
1602
1603 * keyboard.c (Fexecute_extended_command): Use a
1604 record_unwind_protect to ensure that pop_message is called.
1605
1606 * lisp.h (push_message_unwind): Add prototype.
1607
1608 * xdisp.c (push_message_unwind): New function.
1609
1610 * fileio.c (do_auto_save_unwind): Do the pop_message here
1611 instead of in Fdo_auto_save.
1612 (Fdo_auto_save): Don't call pop_message.
1613
f47a9ec4
KR
16142001-01-08 Ken Raeburn <raeburn@gnu.org>
1615
1616 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1617 in inner block.
1618
a758f97d
GM
16192001-01-08 Gerd Moellmann <gerd@gnu.org>
1620
6d0afc03
GM
1621 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1622 when increasing window's vscroll.
1623
a758f97d
GM
1624 * macros.c (Qkbd_macro_termination_hook): New variable.
1625 (syms_of_macros): Initialize and staticpro it.
1626 (pop_kbd_macro): Run kbd-macro-termination-hook.
1627
1628 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1629
1bfb1345 16302001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1631
1632 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1633 arglist, for documentation's sake.
1634
0dac6924
AI
16352001-01-06 Andrew Innes <andrewi@gnu.org>
1636
1637 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1638 of *.pdb.
1639
8182406a
AI
16402001-01-05 Andrew Innes <andrewi@gnu.org>
1641
1642 * term.c (update_end): Don't check updating_frame; for some reason
1643 this can be 0 sometimes, such as after dismissing a popup menu,
1644 and isn't necessary given the explicit frame argument.
1645
3828218c
GM
16462001-01-05 Gerd Moellmann <gerd@gnu.org>
1647
1648 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1649 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1650
2f5ded21
GM
16512001-01-04 Gerd Moellmann <gerd@gnu.org>
1652
1653 * xterm.c (clear_mouse_face): Don't return if tip_frame is
1654 non-nil.
1655
1656 * xfns.c (x_create_tip_frame): Preserve the value of
1657 face_change_count around the creation of the tip frame.
1658
1659 * xfns.c (last_show_tip_args): New variable.
1660 (compute_tip_xy): New function.
1661 (Fx_show_tip): Reuse an existing tip frame, if possible.
1662 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1663
dfad65fa
DL
16642001-01-04 Dave Love <fx@gnu.org>
1665
64d4ec0f
DL
1666 * editfns.c (Fformat): Doc fix.
1667
dfad65fa
DL
1668 * systime.h (set_file_times): Prototype.
1669
1670 * widget.h (EmacsFrameSetCharSize_): Prototype.
1671
1672 * sysdep.c (random, srandom): Declare explicitly.
1673
1674 * dispextern.h (move_it_vertically_backward): Declare.
1675
85fe3b5e
GM
16762001-01-04 Gerd Moellmann <gerd@gnu.org>
1677
0f2ac578
GM
1678 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1679 like in Fx_create_frame.
1680
482cca61
GM
1681 * xfaces.c (set_font_frame_param): Don't do anything for
1682 non-graphical frames.
1683
85fe3b5e
GM
1684 * window.c (Fdelete_other_windows): Set window's window_end_valid
1685 to nil when changing the window's start. Don't change the
1686 window's start when its top position hasn't changed. If we do,
1687 this will set the window's optional_new_start, which act's like a
1688 force_start during redisplay with C-x 1 M-> under particular
1689 circumstances (see report from Per Starback to emacs-pretest-bug
1690 from 2000-12-13.).
1691
3e99d3b4
GM
16922001-01-03 Gerd Moellmann <gerd@gnu.org>
1693
a77dc1ec
GM
1694 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1695 short cut at the start of the function. Add an assertion.
1696 (reseat_at_next_visible_line_start): Add an assertion.
1697
2f3cad6c
GM
1698 * window.c (Frecenter): When changing the window start, set the
1699 window's window_end_valid to nil.
1700 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1701
1702 * dispextern.h (move_it_past_eol): Add prototype.
1703
1704 * xdisp.c (move_it_past_eol): New function.
1705
3e99d3b4
GM
1706 * window.c (Fwindow_end): Doc fix.
1707
17082001-01-03 Dave Love <fx@gnu.org>
1709
1710 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
1711 kluge.
1712
bafb434c
GM
17132001-01-03 Gerd Moellmann <gerd@gnu.org>
1714
1715 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1716 the enabled_p flag of the glyph row at window_end_vpos to 0.
1717 (handle_single_display_prop): Fix last change.
1718
5297fb00
RS
17192001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1720
1721 * window.c (Frecenter): Doc fix.
1722
13d6a61c
AI
17232001-01-02 Andrew Innes <andrewi@gnu.org>
1724
1725 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1726
1727 * frame.h (output_method): Add output_w32_console method.
1728 (FRAME_W32_CONSOLE_P): New macro.
1729
1730 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1731 use output_w32_console method.
1732 (Qw32_console): New Lisp_Object.
1733 (Fframep): Return it.
1734 (syms_of_frame): Init it.
1735 (Fframe_parameters): Report w32console as font for w32_console
1736 frames.
1737
1738 * xfaces.c (realize_default_face): Set face foreground and
1739 background to unspecified for w32_console frames.
1740 (realize_face): Realize face cache for w32_console frames.
1741 (realize_tty_face): Accept w32_console frames.
1742
1743 * xdisp.c (handle_single_display_prop): Return if frame is
1744 w32_console.
1745 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1746 necessary, even if running interactively.
1747
1748 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1749 w32_console frames.
1750
1751 * w32term.c (x_update_begin):
1752 (x_update_end):
1753 (x_clear_frame):
1754 (x_ins_del_lines):
1755 (x_change_line_highlight):
1756 (x_delete_glyphs):
1757 (w32_ring_bell):
1758 (x_update_begin):
1759 (x_update_end):
1760 (w32_reassert_line_highlight):
1761 (w32_frame_rehighlight):
1762 (w32_frame_raise_lower): Do nothing if not w32 frame.
1763
1764 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1765
1766 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1767 system doesn't tell us directly.
1768 (Fx_display_visual_class): Implement properly.
1769
d6bb0c0d
GM
17702001-01-02 Gerd Moellmann <gerd@gnu.org>
1771
1772 * window.c (Frecenter): Handle centering in graphical frames
1773 specially. Centering on the basis of line counts doesn't work
1774 reliably with variable-height lines.
1775
315f5865
EZ
17762001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1777
1778 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1779 and al[].
1780
1781 * composite.c (run_composition_function): Remove unused variable
1782 `val'.
1783 (update_compositions): Remove unused variable `hook'.
1784
1785 * intervals.c (get_local_map): Remove unused variable `tem'.
1786
1787 * doprnt.c (doprnt1): Remove unused variable `size'.
1788
1789 * fns.c (Flength): Remove unused variable `tail'.
1790 (Fdelete): Remove unused variable `size'.
1791
1792 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1793 and `gcpro2'.
1794
1795 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
1796 `tem'.
1797
1798 * data.c (find_symbol_value): Remove extra 3rd argument in the
1799 call to swap_in_symval_forwarding.
1800
1801 * undo.c (Fprimitive_undo): Remove unused block-scope variable
1802 `end'.
1803
1804 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1805 (trivial_regexp_p): Remove unused variable `c'.
1806 (boyer_moore): Remove unused variable `k'.
1807
1808 * indent.c (current_column): Remove unused variable `stopchar'.
1809 (Fcompute_motion): Remove unused variable `contin'.
1810
1811 * casefiddle.c (casify_object): Remove unused variable `tolen'.
1812
1813 * dired.c (directory_files_internal): Fix a typo in a comment.
1814 Remove an unused variable `handler'.
1815 (file_name_completion): Remove unused function-scope variable
1816 `dp'.
1817 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
1818 on BSD4_2.
1819
1820 * fileio.c (e_write): Remove unused variable
1821 `require_encoding_p'.
1822
1823 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
1824 and `buf'.
1825 (Fmarker_insertion_type): Remove unused variable `buf'.
1826
1827 * insdel.c (make_gap): Remove unused variable `result'.
1828
1829 * keyboard.c (record_char): Remove unused function-scope variable
1830 `help'.
1831 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
1832 (menu_bar_items): Remove unused function-scope variable `tem'.
1833
1834 * fontset.c (fontset_ref): Remove unused variable `i'.
1835 (fontset_set): Remove unused variables `j' and `tmp'.
1836 (make_fontset): Remove unused variables `i', `j', `elt' and
1837 `base_elt'.
1838 (make_fontset_for_ascii_face): Remove unused variable `name'.
1839 (fs_load_font): Remove unused variable `font_idx'.
1840 (fs_query_fontset): Remove unused function-local variable
1841 `fontset'.
1842 (list_fontsets): Remove unused variable `tail'.
1843 (Fnew_fontset): Remove unused variables `family' and `registry'.
1844 (accumulate_font_info): Remove unused variable `tmp'.
1845 (Ffontset_font): Remove unused variable `id'.
1846 (syms_of_fontset): Remove unused variable `i'.
1847
1848 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
1849 to x_term_init.
1850 (lookup_image): Remove unused variable `file'.
1851 (xbm_load): Remove unused variables `bitmap_data', `height', and
1852 `width'. Remove function-local variable `i', leave the
1853 block-local one.
1854 (gif_load): Remove unused variable `inc'.
1855
1856 * xterm.c (XTread_socket): Remove unused variables `p' and
1857 `pend'.
1858 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
1859 leave only the one in the inner block.
1860
1861 * xfaces.c (face_fontset, realize_default_face): Remove unused
1862 variable `fontset'.
1863 (face_at_buffer_position): Remove unused variable `multibyte_p'.
1864
1865 * term.c (encode_terminal_code): Remove unused variable `c'.
1866
1867 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
1868 char *' instead of `char *'.
1869
1870 * category.c (Fcategory_docstring): Remove unused variable `doc'.
1871 (Fget_unused_category): Remove unused variable
1872 `docstring_vector'.
1873 (Fchar_category_set): Remove unused variables `val', `charset',
1874 `c1' and `c2'.
1875
1876 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
1877 unused variable `i'.
1878 (detect_coding_mask): Remove unused variable `idx'.
1879 (detect_coding): Remove unused variable `i'.
1880 (ccl_coding_driver): Remove unused variable `result'.
1881 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
1882 (decode_coding_string): Remove unused variables `to' and
1883 `gcpro1'.
1884 (encode_coding_string): Remove unused variables `gcpro1' and
1885 `saved_coding_symbol'.
1886 (Ffind_coding_systems_region_internal): Remove function-local
1887 variable args[], leave only the block-local one.
1888 (code_convert_region1): Remove unused variable `len'.
1889
1890 * charset.c (char_printable_p): Remove unused variable `chars'.
1891 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
1892 (str_to_multibyte): Remove unused variable `c'.
1893
1894 * window.c (size_window): Remove block-local variable `min_size'.
1895
1896 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
1897 `header_line_height'.
1898 (append_space, extend_face_to_end_of_line): Declare `saved_what'
1899 enum display_element_type.
1900
1a8a9daf
GM
19012001-01-02 Gerd Moellmann <gerd@gnu.org>
1902
6dde6abc
GM
1903 * xterm.c (x_connection_closed): Catch X errors around all
1904 statements that call X. Save away the error message in a local
1905 copy.
1906
1883b2c6
GM
1907 * xterm.c (x_connection_closed): Set handling_signal to 0 at
1908 the start.
1909
a13be207
GM
1910 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
1911 in or at the start of invisible text.
1912
1a8a9daf
GM
1913 * dispnew.c (update_window): Don't check_current_matrix_flags.
1914
3608c0f9
JR
19152001-01-01 Jason Rumney <jasonr@gnu.org>
1916
1917 * w32fns.c (x_figure_window_size): Do not allow new_height and
1918 new_width of frame to override specified values.
1919
abb1acc4
KH
19202000-12-30 Kenichi Handa <handa@etl.go.jp>
1921
d279f620
KH
1922 * composite.c (find_composition): Fix a code for searching
1923 backward.
abb1acc4 1924
762a68ec
GM
19252000-12-29 Gerd Moellmann <gerd@gnu.org>
1926
9c8b8382
GM
1927 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
1928 function.
1929 (update_window) [GLYPH_DEBUG]: Call it.
1930 (scrolling_window): Prevent including current rows which are below
1931 what's displayed in the window.
1932
1933 * xdisp.c (try_window_reusing_current_matrix)
1934 <new start <= old start>: Disable rows in the current matrix
1935 which are below the window after scrolling.
1936
762a68ec
GM
1937 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
1938 is zero. It's not worth the complexity.
1939 (invisible_text_between_p): Put in #if 0 because unused.
1940
2d5912c1
GM
19412000-12-28 Gerd Moellmann <gerd@gnu.org>
1942
46f6a258
GM
1943 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
1944 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
1945
89f93679
GM
1946 * keyboard.c (echo_char): If C is an integer, always call
1947 push_key_description. Former code could signal an invalid
1948 character error.
1949
1950 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
1951 If set, print multibyte text.
1952 (Fsingle_key_description): Call push_key_description with
1953 FORCE_MULTIBYTE set.
1954 (describe_buffer_bindings): Likewise.
1955
1956 * lisp.h (push_key_description): Add prototype.
1957
c06017fb
GM
1958 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
1959 around the call to redisplay_internal.
1960
f1d2ce7f
GM
1961 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1962
2d5912c1
GM
1963 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1964
9371f831
KH
19652000-12-28 Kenichi Handa <handa@etl.go.jp>
1966
1967 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
1968 (ccl_driver): New local variable `extra_bytes'.
1969
1970 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
1971
1972 * coding.c (setup_coding_system): Initialize
1973 coding->spec.ccl.eight_bit_carryover.
1974 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
1975
0c80628a
KH
19762000-12-28 Kenichi Handa <handa@etl.go.jp>
1977
1978 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
1979 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
1980 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
1981 (decode_composition_emacs_mule): New function.
1982 (decode_coding_emacs_mule): Decode composition sequence by calling
1983 decode_composition_emacs_mule.
1984 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
1985 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 1986 a text contains compositions, encode them correctly.
0c80628a
KH
1987 (setup_coding_system): Set coding->commong_flags for emacs-mule so
1988 that decoding and encoding are required.
1989
3e32cc27
GM
19902000-12-27 Gerd Moellmann <gerd@gnu.org>
1991
5e25feee
GM
1992 * xfaces.c (PT_PER_INCH): New macro.
1993 (xlfd_point_size): Compute real point size from font's pixel size.
1994 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
1995 instead of 72.
1996
892d8fcd
GM
1997 * .gdbinit: Comment out the line pointing to the Lesstif source
1998 directory.
1999
12c8b416
GM
2000 * window.c (Frecenter): Use displayed_window_lines instead
2001 of window_internal_height.
2002
6061fbf0
GM
2003 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2004 instead of x-toolkit-scroll-bars-p.
2005 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2006
2007 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2008 instead of x-toolkit-scroll-bars-p.
2009 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2010
3e32cc27
GM
2011 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2012 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
2013 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
2014 variables.
2015 (add_window_display_history, add_frame_display_history)
2016 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2017 (build_frame_matrix_from_leaf_window): Remove unused code.
2018 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2019 redisplay history.
2020 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2021 (update_window) [GLYPH_DEBUG]: Likewise.
2022 (syms_of_display): Defsubr dump-redisplay-history.
2023
31798cfe
GM
20242000-12-23 Gerd Moellmann <gerd@gnu.org>
2025
f717c2ba
GM
2026 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2027 the end of the prompt. Set echo_after_prompt to the offset
2028 of echoptr in echobuf.
2029
aeb2b8fc
GM
2030 * xdisp.c (init_from_display_pos): Pop until the iterator's
2031 stack is empty; there may be frames for stretch or images
2032 on the stack.
2033
31798cfe
GM
2034 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2035 (save_or_restore_current_matrix): New function for the same
2036 purpose, but more efficient.
2037 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2038
f8156156
EZ
20392000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2040
2041 * xdisp.c (syms_of_xdisp): Fix last change.
2042
bdd6d4e8
GM
20432000-12-23 Gerd Moellmann <gerd@gnu.org>
2044
2045 * xdisp.c (syms_of_xdisp): Doc fix.
2046
2047 * xdisp.c (redisplay_window): Remove label restore_buffers;
2048 use finish_scroll_bars instead to make sure that scroll bars
2049 are redeemed. If we don't do this, flickering can result from
2050 scroll bars being destroyed and recreated.
2051
9436cdf9
JR
20522000-12-22 Jason Rumney <jasonr@gnu.org>
2053
2054 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2055 in the wrong colors when the foreground is not black.
2056 (expose_window): Don't redraw the window that's currently being
2057 updated.
2058
951f9df5
GM
20592000-12-22 Gerd Moellmann <gerd@gnu.org>
2060
856ff7a7
GM
2061 * window.c (size_window): When setting the window's too_small_ok
2062 flag, compare old size with minimum size depending on WIDTH_P,
2063 don't compare with window_min_width.
2064
951f9df5
GM
2065 * window.c (delete_window): Simplify somewhat.
2066 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2067 freeing window matrices. The flag windows_or_buffers_changed is
2068 set, so the next redisplay will consider all windows; this should
2069 suffice.
2070
886bc933
KH
20712000-12-22 Kenichi Handa <handa@etl.go.jp>
2072
2073 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2074
2075 * ccl.h (struct ccl_program): New member cr_consumed.
2076
2077 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2078 (CCL_READ_CHAR): Handle EOL conversion here.
2079 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2080
177f4e88
GM
20812000-12-21 Gerd Moellmann <gerd@gnu.org>
2082
6ba384dc
GM
2083 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
2084 GLYPHS.
2085
2086 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2087 otherwise tabs of different size compare equal.
2088
2089 * callint.c (Fcall_interactively): Prevent a compiler warning.
2090
2091 * print.c (print_unwind): Return nil.
2092 (PRINTDECLARE): Initialize all local variables.
2093 (print_preprocess): Add a default case.
2094
8e15274f
GM
2095 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2096
2097 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2098
177f4e88
GM
2099 * window.c (delete_window, Fsplit_window)
2100 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2101
2102 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2103
2104 * dispnew.c (ensure_frame_matrix): Removed.
2105 (save_frame_matrix, restore_frame_matrix): New functions.
2106 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2107
2108 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2109 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2110
99012074
AI
21112000-12-21 Andrew Innes <andrewi@gnu.org>
2112
2113 * w32term.c (x_update_begin): Regenerate the palette here, rather
2114 than for each window.
2115
2116 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2117 palette is NULL, since this corrupts memory! Also get
2118 display_info reference from frame.
2119
29ef7d2d
JR
21202000-12-21 Jason Rumney <jasonr@gnu.org>
2121
2122 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2123
2124 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2125 to avoid returning without releasing it.
3e27fa1f 2126
3f9d67a6
KH
21272000-12-21 Kenichi Handa <handa@etl.go.jp>
2128
587fc3f9
KH
2129 * keymap.c (push_key_description): Don't convert eight-bit-control
2130 and eight-bit-graphic to multibyte character.
2131
3f9d67a6
KH
2132 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2133 generic character and CODE1 is nil, return the smallest character
2134 in CHARSET.
2135
774ba8c9
DL
21362000-12-20 Dave Love <fx@gnu.org>
2137
2138 * s/osf5-0.h (NSIG): Don't redefine.
2139
88416888
SM
21402000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2141
2142 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2143 excluding menu-bar and tool-bar.
2144 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2145 (menu_item_p): Remove.
2146 (where_is_internal_1): Don't ignore menu-items.
2147
a6426c6f
GM
21482000-12-20 Gerd Moellmann <gerd@gnu.org>
2149
03ff8aab
GM
2150 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2151 into account.
2152
2153 * window.c (make_window): Initialize window's min_hscroll.
2154 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2155 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2156 to zero.
2157 (struct saved_window): New member min_hscroll.
2158 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2159 (Fset_window_configuration): Set window's min_hscroll.
2160 (save_window_save): Save window's min_hscroll.
2161 (compare_window_configurations): Compare min_hscroll values.
2162
2163 * window.h (struct window): New member min_hscroll.
2164
2165 * keyboard.c (echo_prompt): Prevent a compiler warning.
2166
8de4aaf8
GM
2167 * xdisp.c (try_cursor_movement): Fix last change. The real
2168 condition is that PT is at the end of the row, and should
2169 be displayed at the start of the next row.
2170
3f7e3031
GM
2171 * xdisp.c (try_cursor_movement): If we end on a partially
2172 visible line, end we already decided to scroll, return -1.
2173
a6426c6f
GM
2174 * dispextern.h (ensure_frame_matrix): Add prototype.
2175
2176 * window.c (delete_window, Fsplit_window)
2177 (Fset_window_configuration): Call ensure_frame_matrix.
2178
2179 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
2180 functions.
2181 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2182 completed, call fake_current_matrices instead of marking frame
2183 garbaged.
2184
57fa2774
JR
21852000-12-20 Jason Rumney <jasonr@gnu.org>
2186
2187 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2188
d925df90
EZ
21892000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2190
2191 * fns.c (Frequire): Doc fix.
2192
7b93a85b
GM
21932000-12-19 Gerd Moellmann <gerd@gnu.org>
2194
71d4497a
GM
2195 * window.c (window_scroll_pixel_based): Don't use
2196 move_it_vertically.
2197
c74e645b
GM
2198 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2199 currently displaying a message.
2200
7b93a85b
GM
2201 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2202 xterm.h.
2203 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2204
90d97e64
AI
22052000-12-18 Andrew Innes <andrewi@gnu.org>
2206
2207 * w32.c (w32_strerror): New function.
2208
2209 * w32.h (w32_strerror): New extern.
2210
2211 * w32fns.c (Fw32_shell_execute): Use it.
2212
91c9e6ce
GM
22132000-12-18 Gerd Moellmann <gerd@gnu.org>
2214
2215 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2216
6f4745e2
EZ
22172000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2218
2219 * msdos.c (IT_set_face): Obey inverse_video.
2220
c9e088ce
KH
22212000-12-18 Kenichi Handa <handa@etl.go.jp>
2222
2223 * dired.c (directory_files_internal): Always return decoded filenames.
2224
c3695f5f
GM
22252000-12-18 Gerd Moellmann <gerd@gnu.org>
2226
52d8e4ff
GM
2227 * xterm.c (x_connection_closed): Prevent being called recursively
2228 because of an error condition in XtCloseDisplay.
2229
62be9979
GM
2230 * xdisp.c (init_iterator): If noninteractive, and the frame's
2231 face cache is null, make one.
2232
5f7a1890
GM
2233 * xfns.c (show_busy_cursor): Check for live frames more
2234 thoroughly.
2235
c3695f5f
GM
2236 * process.c (wait_reading_process_input): Check for pending
2237 input when running timers.
2238
78555fbe
EZ
22392000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2240
2241 * msdos.c (IT_write_glyphs): Compute the glyph face from
2242 str->face_id.
2243
b2b36264
KH
22442000-12-18 Kenichi Handa <handa@etl.go.jp>
2245
2246 * process.c (read_process_output): Don't run a filter if the code
2247 decoder produces nothing but carryover.
2248
9c543fbf
AI
22492000-12-17 Andrew Innes <andrewi@gnu.org>
2250
2251 * w32.c (sys_rename): Only check errno against EEXIST, and not
2252 EACCES, when determining whether rename failed because the target
2253 exists. This was resulting in indefinite looping on Windows 9x if
2254 the source file was locked by another process.
2255
2256 * w32fns.c (Ffile_system_info): New function.
2257 (syms_of_w32fns): Defsubr it.
2258
10c2b5a8
GM
22592000-12-17 Gerd Moellmann <gerd@gnu.org>
2260
b0228ace
GM
2261 * window.c (coordinates_in_window): Fix computation for
2262 position on vertical line between mode lines.
2263
10c2b5a8
GM
2264 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2265 Don't alter tip_frame or tip_window.
2266 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2267 was deleted.
2268
c844a81a
GM
2269 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2270 Don't alter tip_frame or tip_window.
2271 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2272 was deleted.
2273
6c825f8e
EZ
22742000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2275
2276 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2277 be consistent with the doc string. Reported by NAKAJIMA Mikio
2278 <minakaji@osaka.email.ne.jp>.
2279
af4bb4c8
KH
22802000-12-16 Kenichi Handa <handa@etl.go.jp>
2281
2282 * xfaces.c (Vface_ignored_fonts): New variable.
2283 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2284 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2285
8062e53a
GM
22862000-12-15 Gerd Moellmann <gerd@gnu.org>
2287
e87b8809
GM
2288 * dispnew.c (update_window): Detect pending input every nth line
2289 updated, i.e. do it depending on real work done, and not on the
2290 vpos of the line.
2291
2292 * xterm.c (expose_window): Don't redraw the window that's
2293 currently being updated.
2294
a6768cc5
GM
2295 * window.c (Fset_window_point): Remove test for
2296 cursor_in_non_selected_windows.
2297
4ea7fdca
GM
2298 * lread.c (read1): Recognize end of file after `\\'.
2299
8062e53a
GM
2300 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2301 not unwind_create_frame.
2302
bb7959c1
GM
23032000-12-15 Dave Love <fx@gnu.org>
2304
2305 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2306 bcopy & al.
2307
2308 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2309
ced04c42
KH
23102000-12-15 Kenichi Handa <handa@etl.go.jp>
2311
c5443913
KH
2312 * coding.c (setup_coding_system): Clear all members of the struct
2313 coding_system at first.
bc137305
KH
2314 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2315 argument.
2316 (code_convert_region): Don't override coding->src_multibyte and
2317 coding->dst_multibyte.
c5443913 2318
ced04c42
KH
2319 * fns.c (Fmd5): Docstring improved.
2320
c2d7f289
MB
23212000-12-15 Miles Bader <miles@gnu.org>
2322
2323 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2324 are actually marked as mode-lines; otherwise use
2325 estimate_mode_line_height.
2326
9d7d9263
GM
23272000-12-14 Gerd Moellmann <gerd@gnu.org>
2328
2329 * editfns.c (Fformat): Prevent a buffer overrun when the format
2330 specifies a precision.
2331
7cf0153a
EZ
23322000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2333
2334 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2335 argument is outside the range [2..3].
2336
1de0f662
AI
23372000-12-14 Andrew Innes <andrewi@gnu.org>
2338
2339 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2340 nothing to do. Bind inhibit-quit.
2341 (tip_frame): Make it a Lisp_Object.
2342 (x_create_tip_frame): Set tip_frame after it has been added to
2343 Vframe_list.
2344 (Fx_show_tip): Don't set tip_frame here.
2345 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
2346 variables.
2347 (unwind_create_frame, unwind_create_tip_frame): New functions.
2348 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2349 while a frame is only partially constructed.
2350
2351 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2352 (x_free_frame_resources): New function.
2353 (x_destroy_window): Use it.
2354
02387dcc
GM
23552000-12-14 Gerd Moellmann <gerd@gnu.org>
2356
2357 * xfns.c (Fx_backspace_delete_keys_p): New function.
2358 (syms_of_xfns): Defsubr it.
2359
2360 * config.in (HAVE_XKBGETKEYBOARD): Add.
2361
0544ef49
KH
23622000-12-14 Kenichi Handa <handa@etl.go.jp>
2363
98d62747
KH
2364 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2365 Always store string in multibyte representation in echobuf.
2366 (echo_char): Always store string in multibyte representation in
2367 echobuf.
2368 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2369 (read_key_sequence): Adjusted for the change of echo_prompt.
2370
a20193cd
KH
2371 * fns.c (Fmd5): Docstring improved.
2372
191b83b6
KH
2373 * lisp.h (detect_coding_system): Prototype adjusted.
2374
0544ef49
KH
2375 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2376 (detect_coding_emacs_mule, detect_coding_iso2022,)
2377 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
2378 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
2379 argument MULTIBYTEP. Callers changed.
2380 (detect_coding_mask, detect_coding_system): New argument
2381 MULTIBYTEP. Callers changed.
1da1bb05
KH
2382 (decode_coding_string): Set coding->src_multibyte and
2383 coding->dst_multibyte before calling detect_coding and detect_eol.
2384 Update them after some coding system is detected.
2385
d5b3eb1b
SM
23862000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2387
2388 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2389
2390 * keyboard.c (menu_bar_items, tool_bar_items):
2391 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2392
f7f8bb69
GM
23932000-12-13 Gerd Moellmann <gerd@gnu.org>
2394
19f71add
GM
2395 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
2396 New variables.
2397 (unwind_create_frame, unwind_create_tip_frame): New functions.
2398 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2399 while a frame is only partially constructed.
2400
2401 * xterm.h (x_free_frame_resources): Declare.
2402
2403 * xterm.c (x_free_frame_resources): New function.
2404 (x_destroy_window): Use it.
2405
e10da507
GM
2406 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2407 don't interrupt the update for pending input initially, i.e.
2408 update at least some lines.
2409
2410 * keyboard.c (do_mouse_tracking): Make externally visible.
2411
d5b3eb1b 2412 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2413
2414 * xfns.c (gray_bitmap_bits): Declare `char *'.
2415
90aa2856
GM
24162000-12-12 Gerd Moellmann <gerd@gnu.org>
2417
2418 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2419 lines start with a relief line.
2420
a308c9cd
DL
24212000-12-12 Dave Love <fx@gnu.org>
2422
2423 * window.c (Fdisplay_buffer): Doc fix.
2424 (Fwindow_list): Remove unused var.
2425
2426 * buffer.h (mmap_set_vars): Declare.
2427
2428 * window.h (Fset_window_point): Declare.
2429
d575011f
EZ
24302000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2431
bf6282d2 2432 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
2433 (IT_note_mouse_highlight): Initialize portion to -1. Remove
2434 unused variable `area'. When looking for a row under (X,Y), give
2435 up if some of the previous rows is not enabled.
2436
ecf4d726
GM
24372000-12-12 Gerd Moellmann <gerd@gnu.org>
2438
2ebf6139
GM
2439 * window.c (Fset_window_point): If displaying cursors in windows
2440 other than the selected window, make sure redisplay updates
2441 other windows to show the new value of point in the window.
2442
2443 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2444
bfdb75ee
GM
2445 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2446 the buffer is the sole visible buffer when in the mini-buffer.
2447
4fdbd809
GM
2448 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
2449 Bind `inhibit-read-only' to t.
2450 (unwind_with_echo_area_buffer): Use AREF.
2451
c0006262
GM
2452 * xfns.c (Fx_hide_tip): Simplified.
2453
e9a59cad
GM
2454 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
2455 GC_MAKE_GCPROS_NOOPS instead of `1'.
2456
ecf4d726
GM
2457 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2458
e5959a9a
GM
24592000-12-11 Gerd Moellmann <gerd@gnu.org>
2460
a3642e49
GM
2461 * xfns.c (Fx_hide_tip): Fix last change.
2462
44b5a125
GM
2463 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2464 nothing to do. Bind inhibit-quit.
2465 (tip_frame): Make it a Lisp_Object.
2466 (x_create_tip_frame): Set tip_frame after it has been added to
2467 Vframe_list.
2468 (Fx_show_tip): Don't set tip_frame here.
2469
2470 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2471
2472 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2473 Lisp_Object.
2474
2475 * dispextern.h: Change external declaration of tip_frame.
2476
d990421f
GM
2477 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2478 return an empty string.
2479
4db87380
GM
2480 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2481 of the window's update_mode_line flag, since the former is set by
2482 force-mode-line-update, not the latter. This makes
2483 column-number-mode slightly faster.
2484
e5959a9a
GM
2485 * xdisp.c (try_window_id) <all changes above window start>:
2486 Set the cursor.
2487
169fe44e
GM
24882000-12-11 Paul Eggert <eggert@twinsun.com>
2489
2490 * config.in (HAVE_FTELLO): Remove.
2491 (HAVE_FSEEKO): Add.
2492 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2493 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2494 HAVE_FTELLO.
2495 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2496 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
2497
59ec59ae
MB
24982000-12-11 Miles Bader <miles@gnu.org>
2499
2500 * window.c (displayed_window_lines): Don't round up when
2501 converting empty space at bottom to lines.
ff904dd6
MB
2502 Handle non-newline-terminated final lines properly.
2503 (Fwindow_text_height): New function (used to be in lisp).
2504 (syms_of_window): Initialize it.
59ec59ae 2505
42ebfa31
SM
25062000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2507
2508 * syntax.c (scan_lists): Check that the right quote char has the
2509 right Sstring syntax when jumping over strings.
2510 (init_syntax_once): Use Smax rather than 13.
2511
5cdb3cf3
MB
25122000-12-09 Miles Bader <miles@gnu.org>
2513
2514 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2515 with PARTIALLY, inverting the sense.
2516 (window_scroll_pixel_based): Scroll partially visible lines into
2517 place if we hit the beginning or end of the buffer.
a12167c5
MB
2518 (displayed_window_lines): Don't include partially visible lines.
2519 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2520
842b2a94
GM
25212000-12-08 Gerd Moellmann <gerd@gnu.org>
2522
2523 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2524
2525 * tparam.c (tparam1): Change the way buffers are reallocated to be
2526 portable and less obfuscated.
2527
2528 * termcap.c (tgetent): Change the way buffers are reallocated to
2529 be portable and less obfuscated.
2530
2531 * macros.c (store_kbd_macro_char): Change the way buffers are
2532 reallocated to be portable and less obfuscated.
2533
2534 * lread.c (read1): Change the way buffers are reallocated to be
2535 portable and less obfuscated.
2536
2537 * doc.c (Fsubstitute_command_keys): Change the way buffers
2538 are reallocated so that it is portable.
2539
137cad7c
EZ
25402000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2541
2542 * dosfns.c (Ffile_system_info): New function.
2543 (syms_of_dosfns): Defsubr it.
2544
5c7f629c
SM
25452000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2546
2547 * alloc.c (gc_sweep): Add comment.
2548
959e647d
GM
25492000-12-07 Gerd Moellmann <gerd@gnu.org>
2550
28fcb7dc
GM
2551 * sound.c (vox_configure): Change order of ioctls. Don't
2552 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
2553 Ignore errors when changing volume.
2554 (vox_close): Don't reset the device.
2555
926b7e5e
GM
2556 * process.c (read_process_output): Make sure the process marker's
2557 position is valid when the process buffer is changed in
2558 after-change functions. W3 does that.
2559
959e647d
GM
2560 * xfns.c (x_free_gcs): New function.
2561
2562 * xterm.h (x_free_gcs): Add prototype.
2563
2564 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2565 freeing GCs here.
2566
2567 * xterm.c (x_destroy_window): Call x_free_gcs so that
2568 resources of non-toolkit X windows will be freed.
2569
478ea067
AI
25702000-12-07 Andrew Innes <andrewi@gnu.org>
2571
2572 * w32fns.c (xlfd_charset_of_font): Fix last change.
2573
fbee3231
DL
25742000-12-06 Dave Love <fx@gnu.org>
2575
67292061
DL
2576 * md5.h (__P): Don't define -- it comes from config.h.
2577
fbee3231
DL
2578 * strftime.c: Change some #if foo to #ifdef foo.
2579
4ee87dbb
AI
25802000-12-06 Andrew Innes <andrewi@gnu.org>
2581
2582 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2583
2584 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
2585 argument.
2586 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
2587 (w32_list_fonts): Don't choke if pattern doesn't specify a
2588 codepage.
2589
9765b4a4
GM
25902000-12-06 Gerd Moellmann <gerd@gnu.org>
2591
d285b373
GM
2592 * alloc.c (gc_sweep): Prevent symbols read during loadup
2593 from being freed.
2594
384333ee
GM
2595 * xdisp.c (underlying_face_id): New function.
2596 (handle_face_prop, face_before_or_after_it_pos): Use it
2597 to determine the face ``under'' a string. Let strings inherit
2598 the face of the buffer under them.
2599
2600 * xfaces.c (face_at_string_position): Update function comment.
2601
d4b72d58
GM
2602 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2603 matrix if the window's left position has changed; we need to
2604 redraw it in this case.
2605
2606 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2607
e1d05387
GM
2608 * window.c (coordinates_in_window): Check mouse on mode-line or
2609 header-line first.
2610
eb1b0c74
GM
2611 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2612 advertized by the function documentation.
2613
d94d636f
GM
2614 * window.c (syms_of_window): Doc fix.
2615
3887b449
GM
2616 * sound.c (vox_configure): Set volume for left and right channel.
2617 (sound_cleanup): Return nil.
2618
efc8f57a
GM
2619 * xdisp.c (move_it_by_lines): Fix paren typo.
2620
9765b4a4
GM
2621 * xterm.c (x_load_font): Don't use the font's max_bounds for
2622 computing the height of the font. If max_bounds' ascent or
2623 descent are greater than the font's ascent or descent, this means
2624 glyphs overlap, which should be handled now by redisplay.
2625
6529ed87
GM
2626 * window.c (Veven_window_heights): New variable.
2627 (syms_of_window): DEFVAR_LISP it.
2628 (Fdisplay_buffer): Check Veven_window_heights before evening the
2629 window heights.
2630
0eb2ecde
MB
26312000-12-06 Miles Bader <miles@gnu.org>
2632
2633 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2634 update `default-frame-alist' instead of setting no frame parameters.
2635
03d7a167
KH
26362000-12-06 Kenichi Handa <handa@etl.go.jp>
2637
2638 * composite.c (update_compositions): Fix typo (use the correct
2639 variable).
2640
5f8803c2
JR
26412000-12-05 Jason Rumney <jasonr@gnu.org>
2642
2643 * md5.h: Remove underscores from function declarations.
2644 (__attribute__, __alignof__) [!__GNUC__]: Define.
2645
2646 * md5.c: Delay include of md5.h until after namespace cleaning.
2647
c28a075b
JR
2648 * makefile.w32-in (fns.o): Depend on md5.h
2649 (md5.o): New target.
2650 (sunfns.o): Remove.
2651
2652 * makefile.nt: Likewise.
2653
ff3c7056
JR
26542000-12-05 Jason Rumney <jasonr@altavista.net>
2655
2656 * w32term.c (expose_area): Complete last change.
2657
0c21eeeb
KR
26582000-12-05 Ken Raeburn <raeburn@gnu.org>
2659
2660 * minibuf.c: Include intervals.h.
2661
f201d732
JR
26622000-12-05 Jason Rumney <jasonr@gnu.org>
2663
2664 * w32term.c (x_produce_glyphs): If a font for a component of
2665 a composition is not found, use 1 pixel dot ascent and 0 dot
2666 descent value to avoid displaying terribly tall empty boxes.
2667 (expose_area): Pass x-coordinate relative to the exposed
2668 area to x_draw_glyphs instead of a window-relative coordinate.
2669
21999ab9
GM
26702000-12-05 Gerd Moellmann <gerd@gnu.org>
2671
4d2036e4
GM
2672 * xdisp.c (next_element_from_ellipsis): Save face before selective
2673 display in saved_face_id, and set face_before_selective_p.
2674 (reseat_1): Reset face_before_selective_p.
2675 (append_space, extend_face_to_end_of_line): If iterator's
2676 face_before_selective_p is set, use the face from saved_face_id.
2677 (extend_face_to_end_of_line): For tty frames, make sure to
2678 use the right face id when producing spaces at the end of
2679 the line.
2680
2681 * dispextern.h (struct it): Add face_before_selective_p.
2682
52be17cc
GM
2683 * keyboard.c (record_char): Don't record identical help-echo
2684 events in recent_keys.
2685
8a4f36cc
GM
2686 * xterm.c [USE_X_TOOLKIT]: Close the display.
2687 (xim_close_dpy): Handle case that the display has been closed.
2688
57d6e381
GM
2689 * xterm.c (x_destroy_window): Reset the frame's X window after
2690 destroying it.
2691
21999ab9
GM
2692 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2693 variable window_width.
2694 (line_draw_cost): Fix code skipping over spaces at the end of the
2695 line when must_write_spaces is not set.
2696 (scrolling_window): Fix code inserting runs in list of all runs.
2697
91372bb7
KH
26982000-12-05 Kenichi Handa <handa@etl.go.jp>
2699
2700 * coding.c (setup_coding_system): Be sure to initialize
2701 coding->category_idx.
2702
6c083b4c
GM
27032000-12-04 Gerd Moellmann <gerd@gnu.org>
2704
0c68ce6f
GM
2705 * xterm.c (PER_CHAR_METRIC): Removed because not used.
2706
6452929e
GM
2707 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2708 area to x_draw_glyphs instead of a window-relative coordinate.
2709
d7f31e22
GM
2710 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2711 error in the message.
2712
ae18aa3b
GM
2713 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2714 timer after having read a key. It's not good for code reading
2715 several keys in a loop, like an input method.
2716
caa15ef7
GM
2717 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2718 record undo information for format-decode.
2719
2720 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2721 current buffer is read-only, not if it isn't.
2722
6c083b4c
GM
2723 * keyboard.c (record_char): Record `help-echo' input events
2724 in recent_keys only if they display some help. Don't record
2725 `help-echo' events as macro char.
2726
caa15ef7
GM
27272000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2728
2729 * editfns.c (save_excursion_restore): Don't move point
2730 in another window if it is showing the wrong buffer.
2731 Avoid the call to Fwindow_live_p, for speed.
2732
5a13529b
KH
27332000-12-04 Kenichi Handa <handa@etl.go.jp>
2734
e225faa7
KH
2735 * xfaces.c (struct font_name): New member registry_priority.
2736 (split_font_name): Initialize the above member to zero.
2737 (concat_font_list): New function.
2738 (font_list): Include fonts of all alternative registries.
2739 (FONT_POINT_SIZE_QUANTUM): New macro.
2740 (better_font_p): Ignore point size difference less than
2741 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2742
e89648b4
KH
2743 * xterm.c (x_produce_glyphs): If a font for a component of
2744 a composition is not found, use 1 pixel dot ascent and 0 dot
2745 descent value to avoid displaying terribly tall empty boxes.
2746
5a13529b
KH
2747 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2748
d7935eb6
KR
27492000-12-03 Ken Raeburn <raeburn@gnu.org>
2750
2751 * coding.h (code_convert_string1): Declare.
2752
2753 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2754
2755 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
2756 Declare.
2757
0dd5e255
JR
27582000-12-02 Jason Rumney <jasonr@gnu.org>
2759
2760 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2761 correctly for single byte character case.
2762 (w32_per_char_metric): Do not try to make any assumptions about
2763 the metrics of BDF fonts.
250cfece
JR
2764 (x_estimate_mode_line_height): If `mode-line' face
2765 hasn't a font, use that of the frame, as drawing glyphs
2766 does.
2767 (note_mouse_highlight): Change the cursor shape on the vertical
2768 border between windows [not enabled].
2769
2770 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2771
2772 * w32fns.c (Fx_create_frame): Reintroduce the call to
2773 face-set-after-frame-defaults.
2774 (Vx_window_horizontal_drag_shape): New variable.
2775 (syms_of_xfns): DEFVAR_LISP it.
2776 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2777 enabled].
0dd5e255 2778
b5d8d2ca
GM
27792000-12-02 Simon Josefsson <simon@josefsson.org>
2780
2781 * fns.c (Fmd5): Use a different logic to decide the coding system
2782 to use.
2783
2784 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2785
fbb87147
EZ
27862000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2787
2788 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
2789 NULL.
2790
447e9da0
GM
27912000-12-01 Gerd Moellmann <gerd@gnu.org>
2792
7708ced0
GM
2793 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2794 height for YNegative.
2795 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2796 height; also see comment there.
2797
447e9da0
GM
2798 * window.c (coordinates_in_window): Handle computations for
2799 positions on the vertical bar and fringes differently for
2800 window-system frames. Consider some pixels near the vertical bar
2801 as on the bar if the frame doesn't have vertical scroll bars.
2802 Associate positions between mode or header lines with the
2803 right window, the left one.
2804
86d1db20
JR
28052000-12-01 Jason Rumney <jasonr@gnu.org>
2806
2807 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2808
2809 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
2810 invalid frame.
2811
a1d58e5b
GM
28122000-12-01 Gerd Moellmann <gerd@gnu.org>
2813
2814 * window.c (struct saved_window): Add members orig_top and
2815 orig_height.
2816 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
2817 (save_window_save, Fset_window_configuration): Save/restore
2818 window's orig_top and orig_height.
2819
89c609af
JR
28202000-12-01 Jason Rumney <jasonr@gnu.org>
2821
4d177746 2822 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 2823
89c609af
JR
2824 * w32fns.c (x_set_cursor_color): Fix last change.
2825
eccc05db
GM
28262000-11-30 Gerd Moellmann <gerd@gnu.org>
2827
31b6671b
GM
2828 * xdisp.c (echo_area_display): If cursor is in the echo area, make
2829 sure that the next redisplay displays the minibuffer, so that
2830 the cursor will be replaced with what the minibuffer wants.
2831
eccc05db
GM
2832 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
2833 #ifndef instead of using #if.
2834 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
2835 USE_TOOLKIT_SCROLL_BARS is defined.
2836
162de750
JR
28372000-11-30 Jason Rumney <jasonr@gnu.org>
2838
2839 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
2840 x_display_cursor.
2841
693c4692
GM
28422000-11-30 Gerd Moellmann <gerd@gnu.org>
2843
2844 * fns.c (Fmd5): Doc fix.
2845
b5d8d2ca 28462000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
2847
2848 * fns.c (Fmd5): New function.
2849 (syms_of_fns): Defsubr md5.
2850
2851 * Makefile.in (obj): Add md5.o
2852
b02cd40b
GM
28532000-11-30 Gerd Moellmann <gerd@gnu.org>
2854
edfb795e
GM
2855 * md5.h, md5.c: New files, taken from glibc.
2856
df3aedcf
GM
2857 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
2858
b02cd40b
GM
2859 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
2860 hasn't a font, use that of the frame, as drawing glyphs
2861 does.
2862
8b5176cd
SM
28632000-11-29 Stefan Monnier <monnier@cs.yale.edu>
2864
2865 * eval.c (Frun_hooks): Allow 0 arguments.
2866
346598f1
GM
28672000-11-29 Gerd Moellmann <gerd@gnu.org>
2868
f9396e03
GM
2869 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
2870 is over the menu bar widget, say it's not on the frame.
2871
4a967a9b
GM
2872 * xfns.c (Fx_create_frame): Reintroduce the call to
2873 face-set-after-frame-defaults.
2874
346598f1
GM
2875 * eval.c (Fsignal): Reset handling_signal.
2876
222456a1
JR
28772000-11-28 Jason Rumney <jasonr@gnu.org>
2878
2879 * w32menu.c (add_menu_item): Reset menu item text when changing
2880 type to radio button.
2881
8049ddc0
GM
28822000-11-28 Gerd Moellmann <gerd@gnu.org>
2883
346598f1 2884 * xselect.c: Update copyright.
f4f4ee4d 2885
bebe4a2c
GM
2886 * window.c (coordinates_in_window): If on a mode or header line,
2887 but sufficiently close to its start, return ``on vertical
2888 border''. This gives us a way to drag windows horizontally when
2889 using toolkit scroll bars.
2890
2891 * xterm.c (note_mouse_highlight): Change the cursor shape
2892 on the vertical border between windows.
2893
2894 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
2895
2896 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
2897 (syms_of_xfns): DEFVAR_LISP it.
2898 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
2899
8d2c2642
GM
2900 * textprop.c (text_read_only): New function.
2901 (verify_interval_modification): Use it instead of signaling
2902 `text-read-only'. This makes it easier to catch this error
2903 with a breakpoint.:
2904
8049ddc0
GM
2905 * xdisp.c (forward_to_next_line_start): Check for newlines,
2906 not end of line, which includes CR.
2907
5a2bae6c
KH
29082000-11-28 Kenichi Handa <handa@etl.go.jp>
2909
2910 * coding.c (Ffind_coding_systems_region_internal): Be sure to
2911 include no-conversion.
2912
ae31f84d
JR
29132000-11-27 Jason Rumney <jasonr@gnu.org>
2914
2915 * w32fns.c (w32_load_system_font): Always mark font as double byte
2916 if codepage is unicode.
2917
67f1cf4c
GM
29182000-11-27 Gerd Moellmann <gerd@gnu.org>
2919
4a74d071
GM
2920 * xdisp.c (forward_to_next_line_start): If already on a newline,
2921 just consume it to avoid unintended skipping over invisible text
2922 below.
2923
902ae620
GM
2924 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
2925 `vertical-line', `mode-line' and `header-line' events.
2926
2927 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
2928 of a character, a TAB for instance. This is easier than to set
2929 up the iterator exactly, and it's not a frequent case, so the
2930 additional effort wouldn't really pay off.
2931
c1e279c2
AC
29322000-11-26 Andrew Choi <akochoi@i-cable.com>
2933
67f1cf4c 2934 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
2935 init_window_once.
2936
a609568a
JR
29372000-11-25 Jason Rumney <jasonr@gnu.org>
2938
48b21762
JR
2939 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
2940 to window_from_coordinates should be pixel coordinates.
2941
a609568a
JR
2942 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
2943 redisplay handles them properly.
2944
a658d039
MB
29452000-11-25 Miles Bader <miles@gnu.org>
2946
2947 * indent.c (compute_motion): Keep pos_byte in sync with pos.
2948
d3416cca
JR
29492000-11-24 Jason Rumney <jasonr@gnu.org>
2950
2951 * w32.c (init_environment): Set LANG environment variable based on
2952 locale settings, if not set.
2953
2954 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
2955 making tool bar smaller. When clearing the frame, also
2956 clear current matrices. Clear frame when tool bar disappears.
2957 Don't use more lines for the tool-bar than is available.
2958 (x_change_window_heights): New function.
2959
ba193890
GM
29602000-11-24 Gerd Moellmann <gerd@gnu.org>
2961
2be8f184
GM
2962 * xdisp.c (init_from_display_pos): If POS says we're already after
2963 an overlay string ending at POS, make sure to pop the iterator
2964 because it will be in front of that overlay string. When POS is
2965 ZV, we've thereby also ``processed'' overlay strings at ZV.
2966
ba193890
GM
2967 * xfaces.c (lface_from_face_name): Function comment fix.
2968
1862a24e
MB
29692000-11-24 Miles Bader <miles@gnu.org>
2970
2971 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
2972 apply `mode-line-inverse-video' -- zero means force display using
2973 the default face, non-zero means display using the specialized face.
2974 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
2975
f07fa1b8
KH
29762000-11-23 Kenichi Handa <handa@etl.go.jp>
2977
2978 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
2979 hard coded `4'.
2980
2bcdf662
EZ
29812000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
2982
2983 * coding.c (decode_coding_emacs_mule): Fix the case of
2984 CODING_EOL_LF, which used uninitialized value of c.
2985
ba8299ff
SM
29862000-11-23 Stefan Monnier <monnier@cs.yale.edu>
2987
2988 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
2989
f4117c4d
GM
29902000-11-22 Gerd Moellmann <gerd@gnu.org>
2991
03e757c1
GM
2992 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
2993 buffer object.
2994
f4117c4d
GM
2995 * frame.h (struct frame): Replace desired_tool_bar_items,
2996 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 2997 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
2998
2999 * frame.c (make_frame): Change initialization of tool bar
3000 items accordingly.
3001
3002 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3003 Change references to members deleted from struct frame to use the
f4117c4d
GM
3004 new ones.
3005
3006 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 3007 references to members deleted from struct frame to use the new
f4117c4d
GM
3008 ones.
3009
3010 * dispnew.c (update_frame): Do nothing with frame's tool bar
3011 items.
3012
3013 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3014
3015 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3016 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3017 from struct frame to use the new ones.
3018
f8e2f3f2
MB
30192000-11-23 Miles Bader <miles@gnu.org>
3020
3021 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3022 the face's inverse-video attribute, rather than overriding it.
3023
60e8e0a5
GM
30242000-11-22 Gerd Moellmann <gerd@gnu.org>
3025
3026 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3027 making tool bar smaller.
3028
92dd1b29
DL
30292000-11-22 Dave Love <fx@gnu.org>
3030
3031 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3032
e672fdce
MB
30332000-11-22 Miles Bader <miles@gnu.org>
3034
3a17d6cc
MB
3035 * keyboard.c (Vminibuffer_message_timeout): New variable.
3036 (command_loop_1): Use it to determine message timeout.
3037 (syms_of_keyboard): Initialize it.
3038
60e8e0a5 3039 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3040
e9655d81
KH
30412000-11-22 Kenichi Handa <handa@etl.go.jp>
3042
3043 * sysdep.c: Move the code for declaring h_errno after #include
3044 <netdb.h>.
3045
77270fac
GM
30462000-11-21 Gerd Moellmann <gerd@gnu.org>
3047
cd913aae
GM
3048 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3049 the menu bar when the tooltip is unmapped.
3050
77270fac
GM
3051 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3052 sole visible buffer when we're currently in the mini-buffer, and
3053 give up if so.
3054
556635d6
JR
30552000-11-21 Jason Rumney <jasonr@gnu.org>
3056
3057 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3058 put on the clipboard.
3059 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3060 copy of what Emacs last put there. If they are the same, do not
3061 use the clipboard copy to avoid losing data due to coding
3062 conversions.
3063
5b7bde64
MB
30642000-11-22 Miles Bader <miles@gnu.org>
3065
3066 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3067 (syms_of_minibuf): Initialize it.
3068 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3069 to prompt, don't make read-only.
3070
ff23e1dd
GM
30712000-11-21 Gerd Moellmann <gerd@gnu.org>
3072
3c64f287
GM
3073 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
3074 BEFORE/AFTER_POTENTIAL_GC.
3075
7aaf4388
GM
3076 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3077
f5f47add 3078 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3079
ff23e1dd
GM
3080 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3081
37c35586
KH
30822000-11-21 Kenichi Handa <handa@etl.go.jp>
3083
3084 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3085 ... #endif scope.
3086
ff9ab414
GM
30872000-11-20 Gerd Moellmann <gerd@gnu.org>
3088
c51d2b5e
GM
3089 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
3090 screen supports it.
3091
29a01b72
GM
3092 * s/gnu-linux.h: Don't use `#cpu'.
3093
09dfdf85
GM
3094 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3095 not defined in mman.h.
3096
ff9ab414
GM
3097 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
3098 variables.
3099 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3100 and store an index in the XClientMessageEvent. Storing a
3101 Lisp_Object or pointer can fail on a 64 bit system, since X only
3102 transfers 32 bits.
3103 (x_scroll_bar_to_input_event): Get the window from
3104 scroll_bar_windows.
3105
81459ac9
DL
31062000-11-20 Dave Love <fx@gnu.org>
3107
3108 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3109
56c13ae6
GM
31102000-11-20 Gerd Moellmann <gerd@gnu.org>
3111
3112 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3113
495a6df3
KH
31142000-11-20 Kenichi Handa <handa@etl.go.jp>
3115
2bcf3714
KH
3116 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3117 by WIDTH.
3118
495a6df3
KH
3119 * alloc.c (make_string): Fix previous change. Be sure to make
3120 unibyte string correctly.
3121
6d950f4c
GM
31222000-11-19 Gerd Moellmann <gerd@gnu.org>
3123
39b39373
GM
3124 * window.c (Fwindow_list): Change parameter list to be XEmacs
3125 compatible.
3126 (window_list_1): New function.
3127 (window_loop): Use it instead of Fwindow_list.
3128
b95b34e5
GM
3129 * sysdep.c (emacs_ospeed): New variable.
3130 (toplevel): Don't declare ospeed extern.
3131 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3132
3133 * termcap.c (ospeed): Remove.
3134 (tputs) [!emacs]: Remove unused code.
3135 (tgetent): Avoid a compiler warning.
3136
e83dc917
GM
3137 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3138 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3139 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3140
3141 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3142 removed.
3143 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3144 Take the X display as additional argument.
3145 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3146 `Widget' is a pointer type that's not easily stored in Lisp_Object
3147 form in a portable way.
3148
6d950f4c
GM
3149 * dispnew.c (update_text_area): Fix last change.
3150
e47306e6
GM
31512000-11-18 Gerd Moellmann <gerd@gnu.org>
3152
fb3cd89b
GM
3153 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3154
3155 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3156 clear current matrices.
3157
edaa9aed
GM
3158 * buffer.c (mmap_enlarge): Don't print a message on stderr
3159 if mapping new memory at the end of the existing region fails.
3160
e47306e6
GM
3161 * dispnew.c (update_text_area): Don't skip over equal glyphs
3162 when the last current glyph overlaps the glyph to its right.
3163
509633e3
MB
31642000-11-18 Miles Bader <miles@gnu.org>
3165
3166 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3167 lines that *end* with "..." too (that's the most common case!).
3168
d392e9c5
GM
31692000-11-18 Gerd Moellmann <gerd@gnu.org>
3170
67988445
GM
3171 * xdisp.c (resize_mini_window): Temporarily change to the
3172 mini-window's buffer if necessary.
1bfdbe43 3173
d392e9c5
GM
3174 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3175 the tooltip obscures less text under it.
3176
31772000-11-17 Gerd Moellmann <gerd@gnu.org>
3178
3179 * puresize.h (BASE_PURESIZE): Increase to 700000.
3180
92bb977f
JR
31812000-11-18 Jason Rumney <jasonr@gnu.org>
3182
3183 * w32term.c (w32_draw_bitmap): Use face to set colors.
3184
26fbf20b
DL
31852000-11-17 Dave Love <fx@gnu.org>
3186
3187 * lread.c (Fload): Fix #ifdef for pcc.
3188
100b593b
GM
31892000-11-17 Gerd Moellmann <gerd@gnu.org>
3190
3191 * xdisp.c (pos_visible_p): Compute the default character height
3192 differently.
3193
a288d0d1
GM
31942000-11-16 Gerd Moellmann <gerd@gnu.org>
3195
cac94de6
GM
3196 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
3197 knowing the line's height; use the default font's height in that
3198 case.
3199
a288d0d1
GM
3200 * xfaces.c (weight_table): Add `demi' with the same meaning as
3201 `demibold'.
3202
981fb6f6
KH
32032000-11-16 Kenichi Handa <handa@etl.go.jp>
3204
2cca872d 3205 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3206 (clear_glyph_row): Delete local static variable null_row.
3207
e5fa381b
JR
32082000-11-15 Jason Rumney <jasonr@gnu.org>
3209
3210 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3211 (w32_alloc_lighter_color): Use new brightness calculations from
3212 xterm.c. Scale delta to be in the range expected by W32.
3213 (w32_draw_relief_rect): Use frame relief colors.
3214
8e42f043
GM
32152000-11-15 Gerd Moellmann <gerd@gnu.org>
3216
6d133d1f
GM
3217 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3218 (Qinhibit_default_face_x_resources): New variable.
3219 (syms_of_frame): Initialize it.
3220 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3221
3222 * xdisp.c (pos_visible_p): Improve function comment.
3223
3224 * lisp.h (BINDING_STACK_SIZE): New macro.
3225
8e42f043
GM
3226 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3227 reading the directory if readdir returns null and errno is EAGAIN
3228 or EINTR.
3229
e8c87124
SM
32302000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3231
3232 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3233 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3234 Set amount_to_scroll to max of dx and scroll_step so that
3235 scroll-conservatively doesn't defeat scroll-step>1.
3236 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3237 scroll-conservatively for line-at-a-time scrolling.
3238
5f0c971d
GM
32392000-11-14 Gerd Moellmann <gerd@gnu.org>
3240
3241 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3242 extra argument.
3243
3244 * xdisp.c (current_mode_line_height, current_header_line_height):
3245 New variables.
3246 (init_xdisp): Initialize them.
3247 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3248 and use exact mode line heights if it is set.
3249
3250 * lisp.h (pos_visible_p): Change prototype.
3251
3252 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3253 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3254 and current_header_line_height first.
3255 (current_mode_line_height, current_header_line_height): Declare
3256 extern.
3257
d7361edf
MB
32582000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3259
3260 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3261 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3262 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3263
ee5e440a
MB
32642000-11-14 Miles Bader <miles@gnu.org>
3265
3266 * xterm.c (x_alloc_lighter_color): Include an additive component
3267 too for dark colors, because FACTOR isn't enough.
3268 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3269 New macros.
3270
5ca020fc
GM
32712000-11-13 Gerd Moellmann <gerd@gnu.org>
3272
3273 * keyboard.c (show_help_echo): Call message3_nolog with number of
3274 bytes in the help string as 2nd parameter, instead of the number
3275 of characters.
3276
9d348294
MB
32772000-11-13 Miles Bader <miles@gnu.org>
3278
3279 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3280 (Fload): Use new openp return protocol.
3281 Don't try to use Vload_source_file_function to load .elc files.
3282 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3283 openp return protocol.
3284 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3285
1729bb9a
KH
32862000-11-11 Kenichi Handa <handa@etl.go.jp>
3287
4e677396
KH
3288 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3289
3290 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3291 Defined these macros.
3292 (NLIST_STRUCT): Avoid re-defining it.
3293
1729bb9a
KH
3294 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3295 -I/usr/contrib/X11R6/include.
3296 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3297
a82fe213
JR
32982000-11-10 Jason Rumney <jasonr@gnu.org>
3299
3300 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3301
3302 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3303 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3304
3305 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3306 (Qw32_charset_vietnamese): New symbol.
3307 (xlfd_charset_of_font): New function.
3308 (w32_load_system_font): Use it.
3309 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3310 when Vw32_charset_info_alist is nil to ensure default face always
3311 has font. Use Fcar and Fcdr for safety.
3312 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3313 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3314 pseudo-codepages for special cases.
3315 (w32_to_x_font): New parameter to allow charset portion to be
3316 specified where there is many to one mapping. Callers changed.
3317 (w32_list_fonts): Avoid listing fonts that won't display.
3318
52d89894
GM
33192000-11-10 Gerd Moellmann <gerd@gnu.org>
3320
3321 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3322 (font_list_1): Renamed from font_list.
3323 (font_list): New function, trying alternative registries from
3324 Vface_alternative_font_registry_alist.
3325 (Finternal_set_alternative_font_registry_alist): New function.
3326 (syms_of_xfaces): Initialize and Staticpro
3327 Vface_alternative_font_registry_alist. Defsubr
3328 Finternal_set_alternative_font_registry_alist.
3329
651cd3da
KR
33302000-11-09 Ken Raeburn <raeburn@gnu.org>
3331
3332 * lisp.h (Flooking_at): Declare.
3333
388ac098
GM
33342000-11-09 Gerd Moellmann <gerd@gnu.org>
3335
778fbc46
GM
3336 * dired.c (directory_files_internal): Fix a braino.
3337
388ac098
GM
3338 * dired.c (directory_files_internal): Add missing GCPRO's.
3339 Some cleanup.
3340
ecaedde1
GM
33412000-11-08 Gerd Moellmann <gerd@gnu.org>
3342
f7eb32aa
GM
3343 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3344 (resize_mini_window): Return quickly if Vresize_mini_window is
3345 nil. Don't return if Vmax_mini_window_height is nil.
3346
3347 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3348 (syms_of_xdisp): Initialize them.
3349 (resize_mini_window): Act according to the setting of
3350 Vresize_mini_window.
3351 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3352
ecaedde1
GM
3353 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3354 scroll bar widget after configuring it, so that it will appear at
3355 the right position from the start.
3356 (XTredeem_scroll_bar): Cleaned up.
3357
3747ef2c
KH
33582000-11-08 Kenichi Handa <handa@etl.go.jp>
3359
3360 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3361 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3362 division by two.
3363
3364 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3365
03391420
DL
33662000-11-07 Dave Love <fx@gnu.org>
3367
7758f1c1 3368 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3369
3370 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3371
b5de343d
GM
33722000-11-07 Gerd Moellmann <gerd@gnu.org>
3373
acad3c0b
GM
3374 * window.c (Fset_window_configuration): Don't try to preserve
3375 point in the current buffer, if that buffer is displayed in more
3376 than one window.
3377
b5de343d
GM
3378 * xfaces.c (lookup_named_face): If default face isn't realized,
3379 try to realize it. Return -1 if not successful.
3380 (Fx_list_fonts): Handle case that face cannot be determined.
3381 (Fface_font): Likewise.
3382
cdb1fe49
GM
33832000-11-06 Gerd Moellmann <gerd@gnu.org>
3384
3385 * window.c (displayed_window_lines): Detect partially
3386 visible lines at the bottom correctly.
3387
d3a67486
SM
33882000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3389
3390 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3391 when ensuring we don't do visit in indirect buffer.
3392
ff8dd5d5
KH
33932000-11-06 Kenichi Handa <handa@etl.go.jp>
3394
3395 * composite.h (compose_chars_in_text): Add prototype.
3396
3397 * composite.c (Vcomposition_function_table): New variable.
3398 (Qcomposition_function_table): New variable.
3399 (run_composition_function): Call
3400 Vcompose_chars_after_function with three arguments.
3401 (compose_chars_in_text): New function.
3402 (syms_of_composite): Modified the doc-string of
3403 Vcompose_chars_after_function. Declare composition-function-table
3404 as a lisp variable, and initialize it.
3405
3406 * xfns.c (x_encode_text): Suppress producing escape sequences for
3407 composition.
3408
3409 * xselect.c: Include composite.h.
3410 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3411
d1145f85
AI
34122000-11-05 Andrew Innes <andrewi@gnu.org>
3413
3414 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3415
3416 * sysdep.c (read_input_waiting): Remove extraneous argument to
3417 read_socket_hook.
3418
3419 * w32fns.c (Fx_server_version): Include w32_build_number in the
3420 return list.
3421
3422 * w32heap.c (w32_build_number): New variable.
3423 (cache_system_info): Set it.
3424
3425 * w32heap.h (w32_build_number): Add extern.
3426
3427 * emacs.c (syms_of_emacs): Update docstring for
3428 system-configuration, to reflect the actual usage on MS-Windows.
3429
e85ee976
GM
34302000-10-31 Gerd Moellmann <gerd@gnu.org>
3431
26dcb81b
GM
3432 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3433 process idle timers while waiting for another event.
3434
0a894bad
GM
3435 * dispnew.c (update_frame_line): Handle case where spaces in
3436 the default face are colored.
3437
e85ee976
GM
3438 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3439 window height hasn't changed.
3440
01b220b6
JR
34412000-10-31 Jason Rumney <jasonr@gnu.org>
3442
3443 * w32term.c (x_produce_glyphs): Handle composite characters.
3444 (x_draw_glyph_string_foreground)
3445 (x_draw_composite_glyph_string_foreground): Restore old font.
3446
4e6b7204
MB
34472000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3448
3449 * minibuf.c (read_minibuf): Reset the undo history just before
3450 starting the recursive-edit.
3451
d4358b37
GM
34522000-10-30 Gerd Moellmann <gerd@gnu.org>
3453
563f68f1
GM
3454 * xfaces.c (menu_face_change_count): New variable.
3455 (Finternal_set_lisp_face_attribute): Increment it for changes
3456 of the `menu' face.
3457 (realize_basic_faces): Reflect changes in the `menu' faces
3458 in menu bars.
3459
82e274d1
GM
3460 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3461 dy obtained from the iterator's y-position after moving from
3462 scroll_margin_pos to PT; see comment there.
3463
0dbf9fd2
GM
3464 * xdisp.c (safe_eval_handler): Call add_to_log.
3465
906b3b14
GM
3466 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3467 is not a symbol or string.
3468
d4358b37
GM
3469 * xdisp.c (echo_area_display): Don't perform a display update from
3470 inside redisplay. The update will happen anyway at the end of
3471 redisplay, and it can confuse redisplay (GC messages while
3472 redisplaying, for instance.)
3473
70c825df
SM
34742000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3475
cf9b4b0b
SM
3476 * xrdb.c (x_load_resources): Use the class name in the defaults.
3477
70c825df
SM
3478 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3479 (regex_compile): Catch bogus \(\1\).
3480
a1d34b1e
GM
34812000-10-30 Gerd Moellmann <gerd@gnu.org>
3482
cae71efe
GM
3483 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3484 RGB values.
3485
35efe0a1
GM
3486 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3487 we have a color cache, check that the cached color equals the
3488 allocated color. If not, clear the color cache.
3489
1d3baf74
GM
3490 * window.c (displayed_window_lines): Change buffers if necessary.
3491 Fix computation of displayed lines.
3492
a1d34b1e
GM
3493 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3494 update_menu_bindings to DEFVAR_BOOL.
3495
70737ea9
KH
34962000-10-30 Kenichi Handa <handa@etl.go.jp>
3497
70c825df 3498 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3499
fa0cb51d
KH
3500 * puresize.h (BASE_PURESIZE): Increase to 680000.
3501
70737ea9
KH
3502 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3503
0e4c08e8
JR
35042000-10-29 Jason Rumney <jasonr@gnu.org>
3505
3506 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3507
3508 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3509 (w32_cache_char_metrics): Handle possibility that 'x' does not
3510 exist in a BDF font.
3511 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3512
3513 * w32bdf.h (bdffont): Add nchars.
3514
3515 * w32bdf.c (set_bdf_font_info): Set it.
3516 (w32_BDF_TextOut): Swap byte order of double byte characters.
3517 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3518
45b84006
EZ
35192000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3520
3521 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3522 don't override the colors in frame's param_alist, unless they are
3523 unspecified.
3524
3525 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3526 reverse the effect of the highlight flag.
3527
caf9deee
KR
35282000-10-27 Ken Raeburn <raeburn@gnu.org>
3529
3530 * window.h (Fwindow_live_p): Declare.
3531
ae0b9b46
KR
3532 * undo.c (record_delete): Check that last_undo_buffer is really a
3533 buffer before applying XBUFFER to it.
3534
3535 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3536 Faref.
3537
02067692
SM
35382000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3539
3540 * lisp.h (KEYMAPP): New macro.
3541 (get_keymap): Remove.
3542 (get_keymap_1): Rename get_keymap.
3543
3544 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3545
3546 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3547
3548 * xmenu.c (single_submenu): Use KEYMAPP.
3549 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3550 Use KEYMAPP rather than Fkeymapp.
3551
3552 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3553
3554 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3555 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3556 Use KEYMAPP rather than Fkeymapp.
3557 (single_submenu): Use KEYMAPP.
3558 (w32_menu_show, w32_dialog_show): Use TRUE.
3559
3560 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3561
3562 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3563 (Fkeymapp): Use KEYMAPP.
3564 (get_keymap): Rename from get_keymap_1. Remove old def.
3565 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3566 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3567 (Fminor_mode_key_binding): Don't raise an error if the binding
3568 is not a keymap.
3569 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3570 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3571
3572 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3573 Allow Vspecial_event_map to be autoloaded.
3574 (menu_bar_items): Fetch the keymap rather than using keymapp.
3575 (menu_bar_one_keymap): No need to follow func-indirect any more.
3576 (parse_menu_item): get_keymap_1 -> get_keymap.
3577 (tool_bar_items): Fetch the keymap rather than using keymapp.
3578 (read_key_sequence): Use KEYMAPP.
3579
3580 * intervals.c (get_local_map): Use get_keymap rather than following
3581 function-indirections explicitly.
3582
3583 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3584
f9d80af3
JR
35852000-10-27 Jason Rumney <jasonr@gnu.org>
3586
3587 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3588 point, as Windows has oversized fonts.
3589
3590 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3591
a3ba27da
GM
35922000-10-27 Gerd Moellmann <gerd@gnu.org>
3593
3594 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3595 (freehook, reallochook): Handle null pointer arguments.
3596 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3597
aa3b80cc
SM
35982000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3599
3600 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3601 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3602 Giving in to popular pressure to shut up the compiler with casts.
3603
e24e84cc
GM
36042000-10-27 Gerd Moellmann <gerd@gnu.org>
3605
3606 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3607 signed value, and use a default value computed from the font's
3608 maximum descent.
3609
05ea7ef2
MB
36102000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3611
3612 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3613 that specify a negative underline position can still use underlines.
3614
3615 * window.c (Fpos_visible_in_window_p): Make POS default to
3616 WINDOW's point, not the current buffer's point.
3617
0b95284b
DL
36182000-10-26 Dave Love <fx@gnu.org>
3619
3620 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3621 when it's necessary.
3622
6c5b90af
GM
36232000-10-26 Gerd Moellmann <gerd@gnu.org>
3624
8b6d9dc9
GM
3625 * window.c (size_window): Compute size difference from sum of old
3626 child window sizes instead of from parent's size.
3627
6bc92b2e
GM
3628 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3629 Handle obscured lines at the top of the window.
3630
3631 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3632 down after the last error condition check.
3633
6c5b90af
GM
3634 * frame.c (Fdelete_frame): Run delete-frame-hook.
3635
42f92d4d
KH
36362000-10-26 Kenichi Handa <handa@etl.go.jp>
3637
3638 * coding.c (decode_coding): Fix previous change (check also
3639 CODING_MODE_LAST_BLOCK).
3640
d97151cb
SM
36412000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3642
e7efc503
SM
3643 * regex.c: More `unsigned char' -> `re_char' changes.
3644 Also change several `int' into `re_wchar_t'.
3645 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3646 (PUSH_FAILURE_POINTER): Don't cast any more.
3647 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3648 We want GCC to complain, since this piece of code makes
3649 re_match non-reentrant, which *should* be fixed.
3650 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3651 (EXTEND_BUFFER): Use RETALLOC.
3652 (SET_LIST_BIT): Don't cast.
3653 (re_wchar_t): New type.
3654 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3655 that those two functions will always properly return.
3656 (IMMEDIATE_QUIT_CHECK): Cast to void.
3657 (analyse_first): Use recursion rather than an explicit stack.
3658 (re_compile_fastmap): Can't fail anymore.
3659 (re_search_2): Don't check re_compile_fastmap for failure.
3660 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3661 Now also sets the new value (passed in a new argument).
3662 (re_match_2_internal): Use it.
3663 Also, use a new var `reg' of type size_t when looping through regs
3664 rather than reuse the inappropriate `mcnt'.
3665
d97151cb
SM
3666 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3667 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3668 (where_is_internal): Renamed from Fwhere_is_internal.
3669 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3670 (Fwhere_is_internal): New function wrapping where_is_internal.
3671 (where_is_internal_1): Handle the case where we're filling the cache.
3672 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3673
d5789b65
MB
36742000-10-25 Miles Bader <miles@gnu.org>
3675
3676 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3677
4ecda532
GM
36782000-10-25 Gerd Moellmann <gerd@gnu.org>
3679
3680 * window.c (pos_fully_visible_p): Removed.
3681 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3682 if position is visible and/or fully visible.
3683
3684 * lisp.h (pos_visible_p): Add prototype.
3685
3686 * xdisp.c (pos_visible_p): New function.
3687
68c3a137
KH
36882000-10-25 Kenichi Handa <handa@etl.go.jp>
3689
3690 * process.c (send_process): If OBJECT is t, it means that the data
3691 is from C string, but we should encode it. Before calling
3692 setup_raw_text_coding_system, be sure to flush out data by the
3693 previous coding system.
3694
7ae1c032
MB
36952000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3696
ff4dcd4b
MB
3697 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3698 assignment of startpos to prev when startpos == pos.
3699
7ae1c032
MB
3700 * editfns.c (find_field): Set the field stickiness correctly from
3701 overlay fields. Use renamed `text_property_stickiness'.
3702 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3703 Only check text properties, not overlays.
7ae1c032
MB
3704 * textprop.c (get_char_property_and_overlay): New function.
3705 (Fget_char_property): Use it.
3706 * intervals.h (get_char_property_and_overlay): Add declaration.
3707
49801145
SM
37082000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3709
3710 * keymap.c: Use AREF, ASET and ASIZE macros.
3711 (Fmake_sparse_keymap): Docstring fix.
3712 (synkey): Remove.
3713 (shadow_lookup): Move up.
3714 Handle the case where lookup-key returns an integer.
3715 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3716 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3717 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3718 Simplify/rewrite the keymap-finding code.
3719 Add check for command shadowing, using shadow_lookup.
3720
39e776cd
SM
37212000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3722
3723 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3724 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3725 a symbol.
3726
2488aba5
AI
37272000-10-24 Andrew Innes <andrewi@gnu.org>
3728
3729 * dired.c (directory_files_internal_unwind): New function.
3730 (directory_files_internal): Use it to ensure closedir is called
3731 even if expand-file-name or file-attributes throw, eg. because of
3732 a user interrupt. Also enable immediate_quit while calling
3733 re_search, so that matching can be interrupted as well.
3734
b94fdf61
AI
37352000-10-24 Andrew Innes <andrewi@gnu.org>
3736
3737 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3738 NT-Emacs only.
3739 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3740 so that re_search functions only quit when callers expect them to.
3741
37422000-10-24 Kenichi Handa <handa@etl.go.jp>
3743
3744 * regex.c (regex_compile): Change the way of handling a range from
3745 a char less than 256 to a char not less than 256.
3746
1946f901
GM
37472000-10-24 Gerd Moellmann <gerd@gnu.org>
3748
7ae2f10f
GM
3749 * window.c (size_window): Prevent setting window's width or
3750 height to a negative value (esp. with XSETFASTINT).
3751
5dcab13e
GM
3752 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3753 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3754 (protect_malloc_state) [GC_MALLOC_CHECK &&
3755 GC_PROTECT_MALLOC_STATE]: New function.
3756 (PROTECT_MALLOC_STATE): New macro.
3757 (__malloc_initialize, morecore, _malloc_internal)
3758 (_free_internal) _realloc_internal): Use it to make _heapinfo
3759 read-only outside of gmalloc.
3760
63e1b552
GM
3761 * keymap.c: Update copyright.
3762
1946f901
GM
3763 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3764 a symbol.
3765
4fa09beb
GM
37662000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3767
3768 * filelock.c (unlock_all_files): Use unlock_file to expand each
3769 buffer's file_truename before trying remove its lock file.
3770
23afac01
EZ
37712000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3772
3773 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3774 or CRLF, decode EOLs.
3775
04448b95
KH
37762000-10-24 Kenichi Handa <handa@etl.go.jp>
3777
3778 * window.c (Fdisplay_buffer): Fix doc.
3779
3090a5a5
JR
37802000-10-23 Jason Rumney <jasonr@gnu.org>
3781
3782 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3783 ASCII font of default fontset on Windows.
3784
3785 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3786 xterm.c comment below).
3787
3788 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3789
a83fee2c
GM
37902000-10-23 Gerd Moellmann <gerd@gnu.org>
3791
3792 * xterm.c (x_connection_closed): Reset handling_signal.
3793
3794 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
3795 null.
3796
6ffdb539
MB
37972000-10-23 Miles Bader <miles@gnu.org>
3798
3799 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3800 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3801 maintain old behavior.
3802 * minibuf.c (Fminibuffer_complete): Likewise.
3803
7f1c969b
MB
38042000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3805
3806 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3807 that when a font can't be exactly centered, it errs up rather than
3808 down.
3809
23afac01 38102000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
3811
3812 * fns.c (Fbase64_decode_string): The decoded result should be
3813 unibyte.
3814
1a578e9b
AC
38152000-10-23 Andrew Choi <akochoi@i-cable.com>
3816
3817 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3818
3819 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 3820 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
3821
3822 * emacs.c (main) [macintosh]: Call syms_of_textprop,
3823 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
3824 syms_of_search, x_term_init, and init_keyboard before calling
3825 init_window_once. Also, call syms_of_xmenu.
3826
3827 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
3828 default fontset to Monaco.
3829
3830 * frame.c [macintosh]: Include macterm.h. Remove declarations of
3831 NewMacWindow and DisposeMacWindow.
3832 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
3833 instead of calling NewMacWindow and setting fields of
3834 f->output_data.mac directly. Call init_frame_faces.
3835 (Fdelete_frame) [macintosh]: Remove unused code.
3836 (Fmodify_frame_parameters) [macintosh]: Call
3837 x_set_frame_parameters instead of mac_set_frame_parameters.
3838
3839 * frame.h [macintosh]: Define menu_bar_lines field in struct
3840 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
3841
3842 * keyboard.c [macintosh]: Include macterm.h.
3843 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
3844 and menu_bar_activate_event type events as for X and NT.
3845 (make_lispy_event) [macintosh]: Construct lisp events of type
3846 MENU_BAR_EVENT as for X and NT.
3847
3848 * sysdep.c [macintosh]: Remove declaration for sys_signal.
3849 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
3850 (sys_subshell) [macintosh]: Remove definition entirely.
3851 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
3852 Vwindow_system_version here. Remove initialization of
3853 Vx_bitmap_file_path.
3854 (read_input_waiting): Correct the number of parameters passed to
3855 read_socket_hook.
3856 Move all Macintosh functions to mac/mac.c.
3857
3858 * term.c [macintosh]: Include macterm.h.
3859
3860 * window.c [macintosh]: Include macterm.h.
3861
3862 * xdisp.c [macintosh]: Include macterm.h. Declare
3863 set_frame_menubar and pending_menu_activation.
3864 (echo_area_display) [macintosh]: Do not return if terminal frame
3865 is the selected frame.
3866 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
3867 Allow only the selected frame to set menu bar.
3868 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
3869 calling FRAME_EXTERNAL_MENU_BAR (f).
3870 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
3871
3872 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
3873 and check_x. Declare XCreateGC. Define x_create_gc and
3874 x_free_gc. Initialize font_sort_order.
3875 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
3876 but call x_list_fonts instead of w32_list_fonts.
3877 (Finternal_face_x_get_resource) [macintosh]: Do not call
3878 display_x_get_resource.
3879 (prepare_face_for_display) [macintosh]: Set xgcv.font.
3880 (realize_x_face) [macintosh]: Load the font if it is specified in
3881 ATTRS.
3882 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
3883 to Qt.
3884
1ffbabe3
SM
38852000-10-22 Stefan Monnier <monnier@cs.yale.edu>
3886
3887 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
3888 is nil: since we go to the end of submap anyway, we'd end up
3889 setting nil to nil.
3890 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
3891 doesn't obey autoload.
3892
bed43f1d
EZ
38932000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3894
1ffbabe3 3895 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 3896
ea4233a7
JR
38972000-10-21 Jason Rumney <jasonr@gnu.org>
3898
3899 * w32term.c (w32_cache_char_metrics): Double check that font is
3900 really fixed pitch before trusting tmPitchAndFamily.
3901
f3d3c491
AI
39022000-10-21 Andrew Innes <andrewi@gnu.org>
3903
3904 * w32gui.h (w32_char_font_type): Move enum from w32term.c
3905
3906 * w32term.h: Extern decl for w32_cache_char_metrics.
3907
3908 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
3909
3910 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
3911 (w32_unload_font): Free per_char array if present.
3912
3913 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
3914 cached information in emulated XFontStruct to handle common cases
3915 quickly. Do not allocate XCharStruct for return.
3916 (w32_native_per_char_metric): New function.
3917 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
3918 allocating one.
3919 (x_produce_glyphs): Don't get an HDC. Change calls to
3920 w32_per_char_metric to match arg change above. Remove calls to
3921 free results.
3922 (w32_get_glyph_overhangs): Ditto.
3923 (w32_cache_char_metrics): New function.
3924
3925 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
3926 ($(BLD)/casefiddle.$(O)): Remove compile command.
3927 ($(BLD)/gmalloc.$(O)): Remove compile command.
3928 ($(BLD)/dispnew.obj):
3929 ($(BLD)/keyboard.obj):
3930 ($(BLD)/w32inevt.obj):
3931 ($(BLD)/w32bdf.obj):
3932 ($(BLD)/alloc.obj):
3933 ($(BLD)/buffer.obj):
3934 ($(BLD)/editfns.obj):
3935 ($(BLD)/emacs.obj):
3936 ($(BLD)/fileio.obj):
3937 ($(BLD)/fns.obj):
3938 ($(BLD)/indent.obj):
3939 ($(BLD)/insdel.obj):
3940 ($(BLD)/intervals.obj):
3941 ($(BLD)/minibuf.obj):
3942 ($(BLD)/print.obj):
3943 ($(BLD)/scroll.obj):
3944 ($(BLD)/sysdep.obj):
3945 ($(BLD)/textprop.obj):
3946 ($(BLD)/widget.obj):
3947 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
3948 ($(BLD)/term.obj): Add dependency on dispextern.h.
3949
3950 * makefile.nt ($(BLD)\dispnew.obj):
3951 ($(BLD)\keyboard.obj):
3952 ($(BLD)\w32inevt.obj):
3953 ($(BLD)\w32bdf.obj):
3954 ($(BLD)\alloc.obj):
3955 ($(BLD)\buffer.obj):
3956 ($(BLD)\editfns.obj):
3957 ($(BLD)\emacs.obj):
3958 ($(BLD)\fileio.obj):
3959 ($(BLD)\fns.obj):
3960 ($(BLD)\indent.obj):
3961 ($(BLD)\insdel.obj):
3962 ($(BLD)\intervals.obj):
3963 ($(BLD)\minibuf.obj):
3964 ($(BLD)\print.obj):
3965 ($(BLD)\scroll.obj):
3966 ($(BLD)\sysdep.obj):
3967 ($(BLD)\textprop.obj):
3968 ($(BLD)\widget.obj):
3969 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
3970 ($(BLD)\term.obj): Add dependency on dispextern.h
3971
18ad4821
EZ
39722000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3973
3974 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
3975 with an additional argument of Qt.
3976
de54681a
MB
39772000-10-21 Miles Bader <miles@gnu.org>
3978
3979 * window.c (pos_fully_visible_in_window_p): New function.
3980 (Fpos_visible_in_window_p): Add FULLY argument.
3981 Use pos_fully_visible_in_window_p.
3982 (window_scroll_pixel_based, window_scroll_line_based): Update
3983 calls to Fpos_visible_in_window_p.
3984 * lisp.h (Fpos_visible_in_window_p): Update prototype
3985
13c844fb
GM
39862000-10-20 Gerd Moellmann <gerd@gnu.org>
3987
3988 * alloc.c (toplevel): Conditionalize compilation of mem_*
3989 functions differently.
3990
d9506268
JR
39912000-10-20 Jason Rumney <jasonr@gnu.org>
3992
3993 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
3994 mem_init where it used to be. mem_z etc not defined otherwise.
3995
8094989b
GM
39962000-10-20 Gerd Moellmann <gerd@gnu.org>
3997
3998 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
3999 GC_MALLOC_CHECK.
4000 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4001 structure definition and related variabled to the top of the file.
4002 Include this code when GC_MALLOC_CHECK is defined.
4003 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4004 register/unregister allocated region.
4005 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4006 which isn't allocated.
4007 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4008 something which is already in use.
4009 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4010 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4011 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4012 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4013
4014 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4015 _malloc_internal instead of malloc.
4016 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4017 of free.
4018
ea456eb4
AI
40192000-10-20 Andrew Innes <andrewi@gnu.org>
4020
4021 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4022 Windows.
4023 (my_strftime) <macro>: Don't use macro arg list when redefining as
4024 _strftime_copytm.
4025 (my_strftime) <function>: Supply 0 as ut argument.
4026
e64c3a75
JR
40272000-10-19 Jason Rumney <jasonr@altavista.net>
4028
4029 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4030 including dispextern.h, as it stops faces from working.
4031
4032 * w32fns.c (Fx_create_frame): Don't bother calling
4033 face-set-after-frame-default since the caller does it for us
4034 anyway. Clean up calls to x_get_arg to be consistent with X.
4035
4036 * w32term.c (x_produce_glyphs): Handle
4037 unibyte_display_via_language_environment correctly.
4038 (w32_draw_box_rect): Fix the calculation of width and height.
4039
4040 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4041 as it has stopped working.
4042 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4043 menu-bar.
4044
17401c97
GM
40452000-10-19 Gerd Moellmann <gerd@gnu.org>
4046
4047 * eval.c (skip_debugger): Prevent a compiler warning.
4048 (Fcondition_case): Likewise.
4049 (Fbacktrace_frame): Use a null interactive spec.
4050
773272d8
KH
40512000-10-19 Kenichi Handa <handa@etl.go.jp>
4052
4053 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4054
a42943e9
GM
40552000-10-18 Gerd Moellmann <gerd@gnu.org>
4056
e50517d9
GM
4057 * strftime.c: Sync with glibc, file version 1.78.
4058 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4059 should no longer be used according to ISO 8601.
4060
9035a35a
GM
4061 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4062 no map for meta_prefix_char, don't try to use it as a keymap.
4063 Instead, if T_OK is non-zero, look up a default binding, if any,
4064 otherwise, if T_OK is zero, return nil.
4065
a42943e9
GM
4066 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4067 (x_to_xcolors, png_load): Use x_query_color.
4068
4069 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
4070 functions.
4071 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4072 which can be slow.
4073 (x_copy_color, x_alloc_lighter_color): Likewise.
4074
4075 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4076 (x_query_color, x_query_colors): Add prototype.
4077
4078 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4079 check_string_bytes only if not noninteractive, increase count to 50.
4080
00de2987
MB
40812000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4082
4083 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4084 markers correctly.
4085
54918e2b
GM
40862000-10-17 Gerd Moellmann <gerd@gnu.org>
4087
1f0b3fd2
GM
4088 * alloc.c (pure_bytes_used): Renamed from pureptr.
4089 (ALIGN): New macro.
4090 (pure_alloc): New function.
4091 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4092 Use it.
4093 (Fpurecopy): Use PURE_POINTER_P.
4094
68c5d1db
GM
4095 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4096 PT has moved backward.
4097
9a038881
GM
4098 * xdisp.c (cursor_row_p): Take continued lines into account.
4099
361b097f
GM
4100 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4101 string's size_byte.
4102 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4103 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4104 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4105 string allocated.
4106
54918e2b
GM
4107 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4108 of selective display off while searching for the next line start.
4109
03ed0806
KH
41102000-10-17 Kenichi Handa <handa@etl.go.jp>
4111
4112 * Makefile.in (term.o): Depend on dispextern.h.
4113
7e05cdaf
SM
41142000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4115
4116 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4117
a6801fd1
GM
41182000-10-16 Gerd Moellmann <gerd@gnu.org>
4119
483de32b
GM
4120 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4121 the iterator at the beginning, so that they can be set later on,
4122 for instance in reseat_at_next_visible_line_start, without being
4123 overwritten.
4124
a6801fd1
GM
4125 * xfns.c (pbm_format): Add :foreground and :background keywords.
4126 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 4127 (xbm_load): Recognize foreground and background color
a6801fd1
GM
4128 specifications.
4129
dbf1fcc1
EZ
41302000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4131
4132 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4133
4134 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
4135 declaration.
4136
4137 * msdos.c (IT_set_face): Compare highlighted face with the default
4138 face, and invert colors if these faces' colors are identical.
4139 (Fmsdos_remember_default_colors): Don't swap foreground and
4140 background colors in initial_colors[].
4141 (IT_set_frame_parameters): Don't swap frame's foreground and
4142 background pixels. If ALIST includes "(reverse . t)", swap
4143 foreground-color and background-color properties in frame's
4144 param_alist. If the original frame's param_alist doesn't specify
4145 the colors, store unspecified-fg and unspecified-bg, reversed if
4146 required.
4147
4148 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4149 the colors are unspecified and reversed, reverse fore- and back-
4150 ground in the returned value.
4151 (Fframe_parameter): Ditto.
4152
b41fe2c3
GM
41532000-10-16 Gerd Moellmann <gerd@gnu.org>
4154
3a6b59d9
GM
4155 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4156 get_last_unchanged_at_beg_row.
4157 (find_first_unchanged_at_end_row): Renamed from
4158 get_first_unchanged_at_end_row.
4159 (find_first_unchanged_at_end_row): Convert assertions to
4160 unconditional tests which abort. When looking for a row in
4161 unchanged text, don't go further back than first_text_row.
4162
b41fe2c3
GM
4163 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4164 Don't add in the last line's height when deciding if the new
4165 position is below the scroll margin.
9d1af64f 4166
b41fe2c3 41672000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4168
4169 * editfns.c (Fconstrain_to_field): Check carefully for field
4170 boundaries if either OLD_POS or NEW_POS has a non-nil field
4171 property, even if they're the same.
4172
c412cb7b
KH
41732000-10-16 Kenichi Handa <handa@etl.go.jp>
4174
4175 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4176 height for XFillRectangle.
4177
5586f3eb
SM
41782000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4179
4180 * syntax.c (Fstring_to_syntax): New function extracted from
4181 Fmodify_syntax_entry.
4182 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4183 (skip_chars, Fforward_comment): Remove unused variables.
4184 (syms_of_syntax): Add defsubr for string-to-syntax.
4185 (describe_syntax): Add code for comment and string fences.
4186
db785038
SM
41872000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4188
4189 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4190 Do the meta->esc mapping. Call get_keyelt before returning.
4191 Start scanning from the second element (the first is always `keymap')
4192 to make it easier to detect when we reach a parent map.
4193 Handle the case of inheriting from a symbol whose function is a map.
4194 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4195 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4196 (get_keyelt, Flookup_key): Update call to access_keymap.
4197 Remove the meta->esc mappings.
4198 (define_as_prefix): Delete old disabled code.
4199 (menu_item_p): New function.
4200 (where_is_internal_1): Skip over the few remaining menu items.
4201 * lisp.h (access_keymap): Update prototype.
4202 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4203 Update call to access_keymap.
4204 (follow_key, read_key_sequence): Update calls to access_keymap.
4205 Remove the meta->esc mappings.
4206
cafafe0b
GM
42072000-10-13 Gerd Moellmann <gerd@gnu.org>
4208
a2e2a7f6
GM
4209 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4210 with additional argument.
4211
cafafe0b
GM
4212 * xdisp.c (cursor_row_p): New function.
4213 (try_cursor_movement, display_line): Use it.
4214
4215 * xdisp.c (append_space): Also save/restore iterator's current
4216 character and its length.
4217
4218 * xdisp.c (init_from_display_pos): Add an assertion.
4219 (handle_stop): Don't set iterator's add_overlay_start.
4220 (handle_invisible_prop): Likewise.
4221 (load_overlay_strings): If text under an overlay is invisible,
4222 take both before- and after-strings into account when the iterator
4223 is positioned either at the start or at the end of the overlay.
4224 (forward_to_next_line_start): Rewritten.
4225 (reseat_at_next_visible_line_start): Rewritten.
4226 (set_iterator_to_next): Add parameter RESEAT_P.
4227
4228 * dispextern.h (struct it): Remove member add_overlay_start.
4229 (set_iterator_to_next): Change prototype.
4230
c744452b
KH
42312000-10-13 Kenichi Handa <handa@etl.go.jp>
4232
4233 * coding.c (code_convert_region): Be sure to initialize
4234 coding->category_idx.
e4a3f4e1
KH
4235 (decode_coding_string): Set coding->src_multibyte and
4236 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4237 (encode_coding_string): Set coding->src_multibyte and
4238 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4239
321fd26f
SM
42402000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4241
4242 * xfns.c (Fx_create_frame): Don't bother calling
4243 face-set-after-frame-default since the caller does it for us anyway.
4244
76832439
EZ
42452000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4246
4247 * window.c (coordinates_in_window): Fix detection of vertical line
4248 on character terminals.
4249
2483cf58
GM
42502000-10-12 Gerd Moellmann <gerd@gnu.org>
4251
4252 * editfns.c (save_excursion_save): Additionally record the
4253 selected window.
4254 (save_excursion_restore): If buffer was visible in a window, and a
4255 different window was selected, and the old selected window is
4256 still live, restore point in that window.
4257
eb991b25
KH
42582000-10-12 Kenichi Handa <handa@etl.go.jp>
4259
8a0eba09
KH
4260 * xterm.c (x_produce_glyphs): Handle
4261 unibyte_display_via_language_environment correctly.
4262
20401fcc
KH
4263 * regex.c (regex_compile): Change the way of handling a range from
4264 unibyte char to multibyte char.
4265
4266 * syntax.c (skip_chars): Change the way of handling a range from
4267 unibyte char to multibyte char.
4268
eb991b25
KH
4269 * process.c (read_process_output): Cancel previous change.
4270
365dd325
EZ
42712000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4272
c1b096cb
EZ
4273 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4274
365dd325
EZ
4275 * charset.c (Ffind_charset_string): Doc fix.
4276 (Ffind_charset_region): Doc fix.
4277
eb483c2b
KH
42782000-10-11 Kenichi Handa <handa@mule.m17n.org>
4279
4280 * process.c (read_process_output): Fix previous change. Adjust
4281 multibyteness of text to insert in a buffer by
df3c11b9 4282 string_make_unibyte/multibyte instead of
eb483c2b
KH
4283 Fstring_as_unibyte/multibyte.
4284
b40bfb99
AS
42852000-10-10 Andreas Schwab <schwab@suse.de>
4286
4287 * alloc.c (mark_object): Remove all workarounds installed on
4288 1993-08-08.
4289
caff31d4
KH
42902000-10-10 Kenichi Handa <handa@etl.go.jp>
4291
4292 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
4293 returning.
4294 (base64_encode_1): Make it work for a text of multibyte form.
4295 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4296 case. Don't call str_to_multibyte because base64_decode_1
4297 produces correct multibyte form for eight-bit codes.
4298 (Fbase64_decode_string): Adjusted for the change of
4299 base64_decode_1.
4300 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4301 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4302 codes.
4303
4304 * charset.h (CHAR_STRING): Optimized for single byte characters.
4305
cba026ef
AS
43062000-10-09 Andreas Schwab <schwab@suse.de>
4307
4308 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4309 -1 after socket is closed, to fall through to error processing.
4310
1e21fe48
EZ
43112000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4312
4313 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4314 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4315 background-color, change also the colors of the default face for
4316 this frame.
4317
a640322e
EZ
43182000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4319
4320 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4321 them extern (they are defined on xfaces.c).
4322 (syms_of_msdos): Don't intern and don't staticpro
4323 Qbackground_color and Qforeground_color.
4324
a115794c
EZ
43252000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4326
4327 * frame.c (Fframe_parameter): For non-windowed frames, if
4328 f->param_alist says foreground or background color is unspecified,
4329 call tty_color_name to return the color name computed from the
4330 frame's current colors.
4331
f5533b63
DL
43322000-10-06 Dave Love <fx@gnu.org>
4333
4334 * terminfo.c (ospeed): Don't declare.
4335
4336 * sysdep.c: Don't include string.h.
4337 (h_errno): Declare conditional also on TRY_AGAIN.
4338
4339 * charset.c (Ffind_charset_string): Doc fix.
4340
4341 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
4342 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4343 error messages.
4344
2b06561a
DL
43452000-10-05 Dave Love <fx@gnu.org>
4346
4347 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4348 position like menu-bar.
4349
ca839c85
GM
43502000-10-05 Gerd Moellmann <gerd@gnu.org>
4351
4352 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4353
4354 * xdisp.c (handle_single_display_prop): Use safe_call1.
4355 (safe_call): Renamed from call_function.
4356 (safe_call1): New function.
4357 (handle_fontified_prop): Use safe_call1 instead of call1.
4358 (safe_eval): Renamed from eval_form.
4359 (safe_eval_handler): Renamed from eval_handler.
4360 (handle_single_display_prop, display_mode_element): Use safe_eval
4361 instead of eval_form.
4362
4363 * xfaces.c (merge_face_heights): Use safe_call instead of
4364 call_function.
4365
4366 * keyboard.c (show_help_echo): Use safe_call instead of
4367 call_function; use safe_eval instead of eval_form.
4368
4369 * lisp.h (safe_call): Renamed from call_function.
4370 (safe_eval): Renamed from eval_form.
4371 (safe_call1): Add prototype.
4372
a3489ece
MB
43732000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4374
4375 * xfns.c (image_ascent): Rearrange ascent calculation for the
4376 has-a-font case.
4377
35810b6f
SM
43782000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4379
4380 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4381 (where_is_internal_1): Don't bother ignoring menu-items any more.
4382
3dc78168
GM
43832000-10-04 Gerd Moellmann <gerd@gnu.org>
4384
4385 * keyboard.c (update_menu_bindings): New variable.
4386 (parse_menu_item): Use AREF. If update_menu_bindings
4387 is 0, don't update menu bindings.
4388 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4389
1efc2bb9
EZ
43902000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4391
4392 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4393 to `mark_object'.
4394
3f679f55
SM
43952000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4396
4397 * syntax.c (forw_comment): Match nestedness of ender/starter.
4398 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4399 (prev_char_comstart_first): Remove.
4400 (back_comment): Check two-char comment markers more carefully
4401 to better handle overlapping cases like *//* or /* */* */ ...
4402 Match nestedness of ender/starter.
4403
2021ab61
DL
44042000-10-02 Dave Love <fx@gnu.org>
4405
4406 * config.in (HAVE_GAI_STRERROR): Add undef.
4407
4408 * process.c (Fopen_network_stream): Use it.
4409
4410 * m/alpha.h (NO_REMAP): Don't define.
4411
64e6cc18
GM
44122000-10-02 Gerd Moellmann <gerd@gnu.org>
4413
4414 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4415 return with a string converted to an integer or vice versa when
4416 Vmocklisp_arguments is t.
4417 (Fsignal): Likewise. The function can return for `quit'.
4418 (struct gcpro): Declare member `var' to point to a volatile
4419 Lisp_Object.
4420
4421 * eval.c (error): Prevent compiler warning.
4422
b1904cd9
SM
44232000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4424
4425 * keymap.c (keymap_memberp): New function.
4426 (Fset_keymap_parent): Use it.
4427 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4428 Use keymap_memberp to avoid creating cycles.
4429 (access_keymap): Use KEYMAPP.
4430
71c9ec51
GM
44312000-09-30 Gerd Moellmann <gerd@gnu.org>
4432
4433 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4434 gai_strerror. Make sure xerrno is set if connect fails. Improve
4435 error recovery.
71c9ec51 4436
c70c6b58
JR
44372000-09-29 Jason Rumney <jasonr@gnu.org>
4438
4439 * w32term.c (w32_char_font_type, w32_encode_char)
4440 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4441 (w32_bdf_per_char_metric): New function.
4442 (w32_per_char_metric): Use it.
4443 (x_draw_glyph_string_background): Always draw background for BDF
4444 glyphs.
4445
4446 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4447 GDI object which is a scarce resource.
4448
4449 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4450 (get_quoted_string): Fix limit on memchr search.
4451 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4452 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4453 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4454 (get_cached_font_char, cache_char_offset): Use macro
4455 BDF_CODEPOINT_RANGE_COVER_P.
4456 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4457 (clear_cached_bitmap_slots): New function.
4458 (GET_HEX_VALUE): G-Z, g-z are not hex.
4459 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4460 (get_bitmap_with_cache): Use new cache implementation.
4461 (create_offscreen_bitmap): New function.
4462 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4463
4464 * w32term.c (x_produce_glyphs): If the distance from the current
4465 position to the next tab stop is less than a canonical character
4466 width, use the tab stop after that.
4467 (x_draw_glyphs): Handle case START and END are out of bounds more
4468 carefully.
4469 (x_clear_mouse_face): Block/unblock input.
4470 (x_display_and_set_cursor): Don't show a hollow box cursor for
4471 buffers whose cursor_type is nil.
4472
fe01239f
GM
44732000-09-29 Gerd Moellmann <gerd@gnu.org>
4474
4475 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
4476 disappears.
4477
4478 * dispextern.h (updating_frame): Declare extern.
4479
e7c52f1f
AS
44802000-09-29 Andreas Schwab <schwab@suse.de>
4481
4482 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4483
de6e1f7c
GM
44842000-09-29 Gerd Moellmann <gerd@gnu.org>
4485
25126faa
GM
4486 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4487 use its function definition.
4488 (tool_bar_items): Likewise.
4489
de6e1f7c
GM
4490 * lisp.h (fatal): Declare NO_RETURN.
4491
454ee39b
KH
44922000-09-29 Kenichi Handa <handa@etl.go.jp>
4493
4494 * keymap.c: Remove the line "#undef NULL".
4495
96301c5f
GM
44962000-09-28 Gerd Moellmann <gerd@gnu.org>
4497
4498 * xterm.c (x_make_frame_visible): Try harder to make the frame
4499 visible.
4500
efffeeb4
DL
45012000-09-28 Dave Love <fx@gnu.org>
4502
ecb8b666
DL
4503 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4504
dc3cd20f
DL
4505 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4506
4507 * .gdbinit (xreload): Note its need on GNU/Linux.
4508
efffeeb4
DL
4509 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4510 r_alloc, r_alloc_free.
4511
8610d903
KH
45122000-09-28 Kenichi Handa <handa@etl.go.jp>
4513
4514 * syntax.c (skip_chars): Handle negation correctly.
4515
8901d1ac
GM
45162000-09-27 Gerd Moellmann <gerd@gnu.org>
4517
6f22f1ad
GM
4518 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4519 with non-zero FORCE_P argument.
4520
8901d1ac
GM
4521 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
4522 Add assertions.
4523
4524 * xdisp.c (window_box_height): Add an assertion.
4525
4526 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4527 tool-bar than is available.
4528 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4529
36f1966f
DL
45302000-09-27 Dave Love <fx@gnu.org>
4531
efffeeb4 4532 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4533
31d929e5
GM
45342000-09-26 Gerd Moellmann <gerd@gnu.org>
4535
c98863bf
GM
4536 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4537 instead of BITS_PER_INT.
4538 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4539 EMACS_UINT, respectively.
4540 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4541
4542 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4543
4544 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4545
77072ab1
GM
4546 * window.c (freeze_window_starts): Construct last argument for
4547 foreach_window differently.
4548
4549 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4550
4551 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4552 EMACS_UINT instead of `int' and `unsigned int'.
4553 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4554
4555 * frame.h (struct frame): Make the `nothing' member of union
4556 output_data an EMACS_INT.
4557
31d929e5
GM
4558 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
4559 hunting.
4560 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4561 size in the sdata structure.
4562 (SDATA_NBYTES, SDATA_DATA): New macros.
4563 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4564 differently for the different layout of the sdata structure.
4565 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4566 in sdata.
4567 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4568 Check that size recorded in the string size and size recorded in
4569 the sdata structure agree.
4570
3e60b029
DL
45712000-09-25 Dave Love <fx@gnu.org>
4572
4573 * buffer.c: Include stdio.h.
4574
4575 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
4576
4577 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4578
4579 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
4580 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
4581 size_t.
4582 (__malloc_extra_blocks): Declare as __malloc_size_t.
4583
8ff16b4e
GM
45842000-09-25 Gerd Moellmann <gerd@gnu.org>
4585
755a2ccd
GM
4586 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4587
d8b4516f
GM
4588 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4589 (read_char): If help-echo is showing, preserve the echo area
4590 when redisplaying.
4591
4592 * xdisp.c (help_echo_showing_p): New variable.
4593 (set_message): Reset it to 0.
4594 (init_xdisp): Initialize help_echo_showing_p.
4595
4596 * dispextern.h (help_echo_showing_p): Declare extern.
4597
4598 * config.in: Fix typo in __GNUC_MINOR__.
4599
4600 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4601
b11af2dd
GM
4602 * s/freebsd.h (POSIX_SIGNALS): Define.
4603
8ff16b4e
GM
4604 * xterm.c (x_clear_mouse_face): Block/unblock input.
4605
844eb643
DL
46062000-09-24 Dave Love <fx@gnu.org>
4607
4608 * fns.c (base64_encode_1): Fix last change.
4609
b30ab1b3
GM
46102000-09-22 Gerd Moellmann <gerd@gnu.org>
4611
4612 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4613
4614 * xdisp.c (try_window_reusing_current_matrix): More fixes
4615 for the case window has a header-line.
4616
c6cbe5f0
DL
46172000-09-22 Dave Love <fx@gnu.org>
4618
4c7c1f3f
DL
4619 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4620 a doc string.
4621
4622 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4623
c6cbe5f0
DL
4624 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4625
550a625e
GM
46262000-09-21 Gerd Moellmann <gerd@gnu.org>
4627
4c7c1f3f 4628 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4629 for GCC >= 2.5.
4630
4631 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
4632 NO_RETURN.
4633
80d26f99
GM
4634 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4635 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4636 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4637 warnings.
4638
4639 * marker.c (byte_char_debug_check): Return void.
4640
623a0aae
GM
4641 * xfns.c (Fx_create_frame): Set default frame parameter value
4642 for tool-bar-lines to 1.
4643
4644 * dispnew.c (scrolling_window): Compare y-positions of rows
4645 equal at the start. Some simplification.
4646
4647 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4648 reused rows' y-position in the case window has a header-line, and
4649 new window start is greater than old window start.
4650
42ac0ae5
GM
4651 * process.c (process_sent_to): New variable.
4652 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4653 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4654 Declare more parameters volatile.
4655
550a625e
GM
4656 * lread.c (Vrecursive_load_depth_limit): New variable.
4657 (Fload): Check recursive loads whose recursion depth exceeds
4658 Vrecursive_load_depth_limit.
4659 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4660
8320414c
GM
46612000-09-20 Gerd Moellmann <gerd@gnu.org>
4662
f46c275e
GM
4663 * fileio.c (Fread_file_name): Doc fix.
4664
4665 * editfns.c (Fmessage_or_box): Doc fix.
4666
4667 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4668
b7e11c5b
GM
4669 * xfns.c (xbm_scan): Allow C-style comments.
4670
8320414c
GM
4671 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4672 symbols are specified, add color translations to the cache.
4673 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
4674 functions.
4675 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4676 xpm_cache_color.
4677 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4678 structures to xpm_init_color_cache.
4679
da1608d9
GM
46802000-09-19 Gerd Moellmann <gerd@gnu.org>
4681
4682 * dispnew.c (update_window_line): Make sure to always draw
4683 mode-lines.
4684
6badfa25
AI
46852000-09-19 Andrew Innes <andrewi@gnu.org>
4686
4687 * makefile.nt (bootstrap-emacs): Don't change directory.
4688
3a5f42bb
KH
46892000-09-19 Kenichi Handa <handa@etl.go.jp>
4690
1b7649bd
KH
4691 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4692
3a5f42bb
KH
4693 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4694 If output buffer is too small, signal an appropriated error.
4695
9f83cf0b
DL
46962000-09-18 Dave Love <fx@gnu.org>
4697
4698 * keyboard.c (menu_bar_items, tool_bar_items)
4699 (current_active_maps): Remove redundant get_local_map call.
4700
28c7826c
GM
47012000-09-18 Gerd Moellmann <gerd@gnu.org>
4702
5cefa566
GM
4703 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4704 cursor for buffers whose cursor_type is nil.
4705
6fed3546
GM
4706 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4707 a feature to implement that is already implemented.
4708 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4709 warnings.
4710
4711 * xfns.c (x_clear_image_1): New function.
4712 (x_clear_image): Use it.
4713 (x_from_xcolors): Use x_clear_image_1; don't free the image's
4714 mask.
4715
05b1f851
GM
4716 * dispnew.c (update_window): Move test for invisible lines
4717 at the top to update_window_line.
4718 (update_window_line): Handle invisible lines here.
4719
f4779de9
GM
4720 * xfns.c (clear_image_cache): Clear current matrices of all
4721 frames sharing an image cache. Block input while freeing
4722 images. Fix timestamp comparison.
4723 (x_clear_image): Also free the mask.
4724
28c7826c
GM
4725 * xfns.c (lookup_image): Block input while loading the image so
4726 that we won't get interrupted in a state where the image isn't yet
4727 set up completely.
4728 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4729 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4730 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
4731 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
4732 input.
4733
b7412313
GM
47342000-09-16 Gerd Moellmann <gerd@gnu.org>
4735
4736 * dispnew.c (update_window): Make sure to make desired rows
4737 current even if they are completely invisible at the top
4738 of a window.
4739
47e351a3
GM
47402000-09-15 Gerd Moellmann <gerd@gnu.org>
4741
7f8f1edc
GM
4742 * xfns.c (lookup_image): Build mask before applying an algorithm.
4743 Recognize algorithm `disabled'.
4744 (cross_disabled_images): New variable.
4745 (COLOR_INTENSITY): New macro.
4746 (x_detect_edges): Use COLOR_INTENSITY.
4747 (x_disable_image): New function.
4748 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4749
4750 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4751 disabled state, don't apply an image transformation algorithm if
4752 the user specified an image for the disabled state. Use
28c7826c 4753 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4754 user hasn't specified an image.
4755
ebb8f116
GM
4756 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4757 allocation functions with the XPM lib.
4758 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4759 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4760 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4761 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
4762 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
4763 functions.
4764 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4765 functions, if possible, because these handle color allocation
4766 failure more gracefully.
4767 (Fimage_mask_p): New function.
4768
47e351a3
GM
4769 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4770 (Qedge_detection, Qheuristic): New symbols.
4771 (syms_of_xfns): Initialize new symbols.
4772 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4773 `algorithm (edge-detection ...)'.
4774 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4775 (tiff_format, gif_format, gs_format): Add `:mask'.
4776 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4777 (GIF_MASK, GS_MASK): New enumerators.
4778 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4779 (emboss_matrix, laplace_matrix): New variables.
4780 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4781 (x_edge_detection): New functions.
4782 (x_laplace): Rewritten in terms of x_detect_edges.
4783 (x_build_heuristic_mask): If image has a mask, free it.
4784
fe83b953
AI
47852000-09-14 Andrew Innes <andrewi@gnu.org>
4786
4787 * makefile.w32-in: Revert to Unix line endings.
4788
3021e816
AI
47892000-09-14 Andrew Innes <andrewi@gnu.org>
4790
4791 * makefile.w32-in: Standardize indentation somewhat.
4792 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4793 cater for differences between shells.
4794
4795 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4796
2a32b5ea
GM
47972000-09-14 Gerd Moellmann <gerd@gnu.org>
4798
4799 * xterm.c (x_produce_glyphs): If the distance from the current
4800 position to the next tab stop is less than a canonical character
4801 width, use the tab stop after that.
4802
b4331e96
DL
48032000-09-14 Dave Love <fx@gnu.org>
4804
4805 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4806
ef9e4345
GM
48072000-09-14 Gerd Moellmann <gerd@gnu.org>
4808
085536c2
GM
4809 * xdisp.c (handle_fontified_prop): While running fontification
4810 functions, bind `fontification-functions' and
4811 `after-change-functions' to nil.
4812
ef9e4345
GM
4813 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4814 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4815
4816 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4817
4818 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4819 USE_MMAP_FOR_BUFFERS.
4820
4821 * insdel.c (make_gap): Use enlarge_buffer_text.
4822
4823 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4824 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4825 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4826 from former r_alloc_* functions in ralloc.c.
4827 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
4828 variables.
4829 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4830 (mmap_init) [REL_ALLOC_MMAP]: New function.
4831 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4832 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4833 BUFFER_FREE.
4834
4835 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
4836 (enlarge_buffer_text): Add prototype.
4837
4838 * ralloc.c: Remove everything having to do with the use of mmap.
4839
f8608968
GM
48402000-09-13 Gerd Moellmann <gerd@gnu.org>
4841
2a494b2d
GM
4842 * sound.c (Fplay_sound): Doc fix.
4843
8c907a56
GM
4844 * keyboard.c: Avoid some more compiler warnings.
4845 (parse_tool_bar_item): Ignore cached key bindings.
4846
f8608968
GM
4847 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
4848 and allocation of Lisp data.
4849
6ab70e9a
GM
48502000-09-12 Gerd Moellmann <gerd@gnu.org>
4851
d12d0a9b
GM
4852 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
4853 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
4854 defaults first.
4855
6ab70e9a
GM
4856 * lread.c (Fload): Put code checking for recursive loads in #if 0.
4857
63c36c3c
KH
48582000-09-12 Miyashita Hisashi <himi@meadowy.org>
4859
4860 * ccl.c: Comment fixed.
4861 (MAX_MAP_SET_LEVEL): Increased to 30.
4862 (PUSH_MAPPING_STACK): Enclose with do-while block.
4863 (POP_MAPPING_STACK): Likewise.
4864 (stack_idx_of_map_multiple): New variable.
4865 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
4866 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
4867 call the corresponding CCL program by
4868 CCL_CALL_FOR_MAP_INSTRUCTION.
4869 (ccl_driver) <CCL_MapSingle>: Likewise.
4870 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
4871 with the case where looking up process reaches to the end of
4872 map-set, and call CCL programs as the above change.
4873
7ee3bd7b
GM
48742000-09-11 Gerd Moellmann <gerd@gnu.org>
4875
8ec8a5ec
GM
4876 * xfns.c (png_load, jpeg_load): Declare some variables volatile
4877 that might be clobbered by longjmp.
4878 (check_x_display_info, x_decode_color, create_frame_xic)
4879 (Fx_display_backing_store, Fx_display_visual_class)
4880 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
4881 warnings.
4882
f74b0705
GM
4883 * lread.c (init_lread): Set Vloads_in_progress to nil.
4884 (Fload): Show list of recursively loaded files, when signaling an
4885 error.
4886
7ee3bd7b
GM
4887 * lread.c (Vloads_in_progress): New variable.
4888 (record_load_unwind): New function.
4889 (Fload): Check for recursive loads.
4890 (syms_of_lread): Initialize Vloads_in_progress.
4891 (read_integer, read1): Avoid some compiler warnings.
4892
4893 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
4894 compiler warnings.
4895
974e1e5b
MB
48962000-09-11 Miles Bader <miles@gnu.org>
4897
4898 * editfns.c (Fbuffer_string): Doc fix.
4899
9824c4e3
GM
49002000-09-10 Gerd Moellmann <gerd@gnu.org>
4901
4902 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
4903
6a72fdd1
KR
49042000-09-09 Ken Raeburn <raeburn@gnu.org>
4905
4906 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
4907 whether to include other header files.
4908
28e6fb66
GM
49092000-09-09 Gerd Moellmann <gerd@gnu.org>
4910
4911 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 4912 by Fmemq as a boolean.
28e6fb66 4913
7f8b6551
SM
49142000-09-08 Stefan Monnier <monnier@cs.yale.edu>
4915
4916 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
4917
a8710abf
GM
49182000-09-08 Gerd Moellmann <gerd@gnu.org>
4919
d1a02881
GM
4920 * ralloc.c (mmap_fd): Remove initializer which can make it
4921 read-only in a dumped Emacs.
4922 (mmap_fd_1): New variable.
4923 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
4924 restore it from there.
4925 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
4926 unconditionally so that mmap_fd can be initialized there.
4927 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
4928 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
4929 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
4930
c454aac1
GM
4931 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
4932
4933 * xdisp.c (dump_glyph_row): Fix printf format string.
4934 (display_line, move_it_in_display_line_to): Avoid compiler
4935 warnings.
4936
fc653ef2
GM
4937 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
4938
3015eec0
GM
4939 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
4940 inheritance.
4941
bfe0ee88
GM
4942 * xdisp.c (try_window_id): When trying to locate cursor in
4943 unchanged rows at the top, handle the case that we can't find it.
4944
a8710abf
GM
4945 * xterm.c (x_draw_glyphs): Handle case START and END are out
4946 of bounds more carefully.
4947
6b7d4ae4
DL
49482000-09-08 Dave Love <fx@gnu.org>
4949
423193c5
DL
4950 * s/sol2.h (REL_ALLOC_MMAP): Define.
4951 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
4952
4953 * ralloc.c: Don't include string.h (redundant).
4954 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
4955 [!MAP_ANON]: Include fcntl.h.
4956 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
4957 (r_alloc, r_re_alloc, r_alloc_free)
4958 (mmap_enlarge, mmap_set_vars): Use it.
4959 (r_alloc_init_fd): New function.
4960 (__morecore) [SYSTEM_MALLOC]: Don't declare.
4961 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
4962 malloc type.
4963
4964 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
4965 Remove vm-limit.o.
4966
6b7d4ae4
DL
4967 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
4968 change to __NetBSD__.
4969
44d31981
KH
49702000-09-08 Kenichi Handa <handa@etl.go.jp>
4971
4972 * search.c (compile_pattern): Check the multibyteness of cached
4973 string and PATTERN.
4974
aad40737
MB
49752000-09-08 Miles Bader <miles@gnu.org>
4976
4977 * xfaces.c (default_face_vector): Function removed.
4978 (Finternal_merge_in_global_face): Restore old global/local
4979 attribute override order. Use inline loop instead of calling
4980 default_face_vector.
4981
91a211b5
GM
49822000-09-07 Gerd Moellmann <gerd@gnu.org>
4983
4984 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
4985 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
4986 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
4987 where necessary, in case POINTER_TYPE is `void'.
4988
03419440
EZ
49892000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
4990
4991 * frame.c (make_terminal_frame): Initialize frame foreground and
4992 background colors to unspecified, for the initial instance of an
4993 MSDOS frame.
4994
f46f845b
GM
49952000-09-07 Gerd Moellmann <gerd@gnu.org>
4996
24f76fbf
GM
4997 * ralloc.c (mmap_find): Fix overlap computation.
4998 (mmap_enlarge): Compute nbytes before trying to find an
4999 overlapping region.
5000
f46f845b
GM
5001 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5002 instead of `!='.
5003
5004 * lread.c (syms_of_lread): Change value of regexp
5005 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5006
5007 * xmenu.c (xdialog_show): When looking up the selection in
5008 menu_items, take `quote' boundaries into account; this corresponds
5009 to a nil ITEM in x-popup-dialog.
5010
3c014385
KH
50112000-09-07 Kenichi Handa <handa@etl.go.jp>
5012
fd6f711b
KH
5013 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5014 not 0x81.
5015 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5016
3c014385 5017 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5018 encoding, not decoding. Fix the handling of latin-jisx0201.
5019 Check for the charset katakana-jisx0201 too.
3c014385 5020 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5021 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5022
0da3ecef
GM
50232000-09-07 Gerd Moellmann <gerd@gnu.org>
5024
ab0ee409
GM
5025 * xfaces.c (Vparam_value_alist): New variable.
5026 (syms_of_xfaces): Initialize it.
5027 (Finternal_set_lisp_face_attribute): Avoid more consing.
5028
5029 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5030 specially.
5031 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5032 (Qbackground_mode): New variable.
5033 (syms_of_frame_1): Initialize Qbackground_mode.
5034
5035 * lisp.h (Qdisplay): Declare extern.
1091dd67 5036
0da3ecef
GM
5037 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5038 change face on all frames, and change the default for new frames.
5039
b14654b9
DL
50402000-09-07 Dave Love <fx@gnu.org>
5041
5042 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5043
d24fd56f
KH
50442000-09-07 Kenichi Handa <handa@etl.go.jp>
5045
794f3670
KH
5046 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5047
0fddd0dc
KH
5048 * charset.c: Include composite.h
5049 (lisp_string_width): New function.
5050 (Fstring_width): Call lisp_string_width instead of strwidth.
5051
5052 * Makefile.in (charset.o): Depends on composite.h.
5053
d24fd56f
KH
5054 * process.c (read_process_output): Before inserting the decoded
5055 text in the buffer, adjust the multibyteness.
5056
fa0b693c
GM
50572000-09-06 Gerd Moellmann <gerd@gnu.org>
5058
73b77ee5
GM
5059 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
5060 buffer's text buffer is null, map new memory.
5061
0a58f946
GM
5062 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5063 POINTER_TYPE and size_t.
5064 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5065 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5066 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5067 [REL_ALLOC_MMAP]: New macros.
5068 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5069 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5070 [REL_ALLOC_MMAP]: New functions.
5071
5072 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5073 before and after unexec.
5074
5075 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5076 text buffers if necessary.
5077
5078 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5079 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5080 in prototypes.
5081
fa0b693c
GM
5082 * config.in (HAVE_MMAP): Add #undef.
5083
877055f6
GM
50842000-09-05 Gerd Moellmann <gerd@gnu.org>
5085
08ba3862
GM
5086 * frame.c (Qdisplay_type): New variable.
5087 (syms_of_frame_1): Initialize it.
5088 (Fframe_parameter): New function that avoids consing.
5089 (syms_of_frame): Defsubr it.
5090
66ffe51c
GM
5091 * buffer.c (Fother_buffer): Consider buffers as invisible when
5092 they are displayed in a window on an invisible frame.
5093
877055f6
GM
5094 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5095 get-largest-window always return nil.
5096
bb970e67
GM
50972000-09-04 Gerd Moellmann <gerd@gnu.org>
5098
5099 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5100 variable; recognize Emacs 19 elc files.
5101
7a3d0e0e
MB
51022000-09-04 Miles Bader <miles@gnu.org>
5103
5104 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5105 before initially popping up the menu, so the menu doesn't flash
5106 when the face settings are significantly different from the
5107 defaults.
5108
14473664
SM
51092000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5110
5111 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5112 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5113 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5114 (BIT_UNIBYTE): Remove.
5115 (re_match_2_internal): Delete corresponding code and streamline the
5116 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5117 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5118 (re_wctype_t): New type.
5119 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5120 (regex_compile): Use them and fix handling of overly long char classes.
5121
c1174479
AI
51222000-09-03 Andrew Innes <andrewi@gnu.org>
5123
f8803e97
AI
5124 * makefile.w32-in: Change to DOS line endings.
5125
c1174479
AI
5126 * s/ms-w32.h (ORDINARY_LINK): New define.
5127
5128 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5129 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5130
5131 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5132 (distclean): Delete them here instead.
5133
44ef7cf6
AI
5134 * w32proc.c (compare_env): Convert to uppercase for comparison,
5135 not lowercase, to match how the native Windows shell works.
5136
49b3bd82
JR
51372000-09-03 Jason Rumney <jasonr@gnu.org>
5138
5139 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5140 CVS changes the line-ends when checking in/out on DOS/Windows.
5141
5142 * makefile.nt (emacs): Do not change directory to run temacs, as
5143 the load-path is set relative to current directory.
5144
a3d35a39
MB
51452000-09-03 Miles Bader <miles@gnu.org>
5146
5147 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5148
d276b0cf
GM
51492000-09-02 Gerd Moellmann <gerd@gnu.org>
5150
715e84c9
GM
5151 * xdisp.c (redisplay_mode_lines): New function.
5152 (display_mode_lines): Return number of mode lines displayed.
5153 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5154 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5155
8892f40b
GM
5156 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5157 string.h and strings.h.
5158 (index) [HAVE_INDEX]: Add prototype.
5159
d276b0cf
GM
5160 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5161 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5162
5163 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5164 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5165
38404229
GM
51662000-09-01 Gerd Moellmann <gerd@gnu.org>
5167
5168 * lread.c (read1): Accept `?' as symbol constituent, for
5169 compatiblity with XEmacs.
5170
c0f9ea08
SM
51712000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5172
5173 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5174 (struct re_pattern_buffer): Remove newline_anchor.
5175 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5176 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5177 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5178 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5179 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5180 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5181 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5182 Get rid of references to newline_anchor.
5183 (regcomp): Allocate and precompute a fastmap.
5184
8c0f83fe
GM
51852000-08-31 Gerd Moellmann <gerd@gnu.org>
5186
5187 * lread.c (openp): GCPRO local variable `filename'.
5188
4bb91c68
SM
51892000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5190
5191 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5192
5193 * regex.c: Merge some changes from GNU libc. Add prototypes.
5194 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5195 Use memcmp and memcpy instead of bcopy and bcmp.
5196 (init_syntax_once): Use ISALNUM.
5197 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5198 (REG_UNSET_VALUE): Remove. Use NULL instead.
5199 (REG_UNSET, re_match_2_internal): Use NULL.
5200 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5201 New macros.
5202 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5203 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5204 (regex_compile): In handle_interval, return an error rather than try to
5205 unfetch the interval if we can't find the closing brace.
5206 Obey the RE_NO_GNU_OPS syntax bit.
5207 (TOLOWER): New macro.
5208 (regcomp): Use it.
5209 (regexec): Allocate regs.start and regs.end as one block.
5210
5226a931
GM
52112000-08-30 Gerd Moellmann <gerd@gnu.org>
5212
868dd24b
GM
5213 * xdisp.c (echo_area_display): Check display_completed instead
5214 of calling detect_input_pending.
5215
5216 * dispnew.c (update_frame): Only set display_completed here; move
5217 the update_begin and update_end calls here from update_frame_1.
5218 (update_frame_1): Don't set display_completed here, don't call
5219 update_begin/update_end.
5220
5226a931
GM
5221 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5222 instead of store_frame_param.
5223
2a8bd25f
GM
52242000-08-29 Gerd Moellmann <gerd@gnu.org>
5225
5226 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5227 desired window matrix hasn't been displayed, use the current row
5228 instead. Make sure that only those frame rows are updated for
5229 which there exists a corresponding enabled desired row.
5230
ba3478d9
MB
52312000-08-29 Miles Bader <miles@gnu.org>
5232
5233 * xfaces.c (default_face_vector): New function.
5234 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5235
87d0f685
GM
52362000-08-29 Gerd Moellmann <gerd@gnu.org>
5237
5238 * lread.c (openp): Prevent temporary string passed to
5239 Ffile_readable_p from being garbage collected.
5240
6fa86045
DL
52412000-08-28 Dave Love <fx@gnu.org>
5242
5243 * keymap.c (store_in_keymap): Add `static' to declaration.
5244
bb17930d
GM
52452000-08-28 Gerd Moellmann <gerd@gnu.org>
5246
5247 * emacs.c, callint.c, doc.c, editfns.c
5248 (toplevel) [HAVE_STRING_H]: Include string.h.
5249 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5250 (index): Remove prototypes which might conflict with non-standard
5251 definitions of index/strchr.
5252
5253 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5254 (rindex): Define only if !HAVE_RINDEX.
5255
5256 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5257
5258 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5259
87188200
MB
52602000-08-28 Miles Bader <miles@gnu.org>
5261
5262 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5263 made inconsistent by a font-related attribute in FROM.
5264 (merge_face_inheritance): Add function comment.
5265
41a68aef
KH
52662000-08-28 Kenichi Handa <handa@etl.go.jp>
5267
5268 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5269 the 4th arg (PREV_EVENT) Qt to suppress input method.
5270
f7c436c1
SM
52712000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5272
0b32bf0e
SM
5273 * regex.c: Indent cpp directives and remove parens after `defined'.
5274 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5275 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5276 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5277 (re_compile_pattern): Use size_t for length.
5278 (init_syntax_once): Move to a better place.
5279 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5280 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5281
f7c436c1
SM
5282 * syntax.c (back_comment): Detect cases where a comment-starter is
5283 actually inside another comment as in: /* a // b */ c // d \n.
5284 Make it clear that `comstart_pos' is unused for nested comments.
5285
5286 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5287 (KEYMAPP): New macro.
5288 (Fkeymap_parent, Fset_keymap_parent): Use it.
5289 (fix_submap_inheritance): Mark it static.
5290 (define_as_prefix, describe_buffer_bindings, describe_command)
5291 (describe_translation, describe_map): Complete prototypes.
5292
5293 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5294
5295 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5296 to better match the key-lookup behavior.
5297
6288c62f
GM
52982000-08-27 Gerd Moellmann <gerd@gnu.org>
5299
5300 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5301 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5302
e931344e
EZ
53032000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5304
5305 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5306 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5307 (xterm.o): Depend on coding.h
5308
d10dfeef
KH
53092000-08-26 Kenichi Handa <handa@etl.go.jp>
5310
5311 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5312 the corresponding '#endif'.
5313
2d73e8d3
MB
53142000-08-26 Miles Bader <miles@gnu.org>
5315
5316 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5317 * xfaces.c (QCinherit): New variable.
5318 (syms_of_xfaces): Initialize it.
5319 (LFACE_INHERIT): New macro.
5320 (Finternal_get_lisp_face_attribute)
5321 (merge_face_vector_with_property)
5322 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5323 (check_lface_attrs): Allow new types of face height. Check
5324 inherit attribute.
5325 (CYCLE_CHECK): New macro.
5326 (merge_face_inheritance): New function.
5327 (merge_face_vectors): Merge inherited faces too. Add F and
5328 CYCLE_CHECK arguments.
5329 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5330 (lookup_named_face, lookup_derived_face, realize_named_face)
5331 (face_at_string_position, face_at_buffer_position): Supply
5332 new F and CYCLE_CHECK arguments to merge_face_vectors.
5333 (merge_face_heights): New function.
5334 (merge_face_vectors, merge_face_vector_with_property)
5335 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5336 handle relative face heights.
5337 (lface_same_font_attributes_p): Compare heights using EQ.
5338
6ce974d4
KH
53392000-08-26 Kenichi Handa <handa@etl.go.jp>
5340
5341 * charset.c (char_to_string): Check the character validity.
5342 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
5343 0.
5344
dc1e502d
SM
53452000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5346
5347 * regex.c (PUSH_FAILURE_COUNT): New macro.
5348 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5349 Handle popping of a register's or a counter's data.
5350 (POP_FAILURE_POINT): Use the new name.
5351 (re_match_2_internal): Push counter data on the stack for succeed_n,
5352 jump_n and set_number_at and remove misleading dead code in succeed_n.
5353
bd9d0f3f
GM
53542000-08-25 Gerd Moellmann <gerd@gnu.org>
5355
5356 * xdisp.c (redisplay_internal): If considering all windows on all
5357 frames, update the display for each frame as soon as possible,
5358 instead of first building all desired matrices for all frames, and
5359 then updating them all.
5360 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5361
aa5b8e15
GM
53622000-08-24 Gerd Moellmann <gerd@gnu.org>
5363
17494071
GM
5364 * bytecode.c (mark_byte_stack): Add a comment.
5365
aa5b8e15
GM
5366 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5367 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
5368 a graphical frame.
5369
c543db81
KH
53702000-08-24 Kenichi Handa <handa@etl.go.jp>
5371
d246d5f5
KH
5372 * minibuf.c (do_completion): Always use compare-string, not
5373 string-equal because the latter doesn't pay attention to
5374 multibyteness of strings.
5375
c543db81
KH
5376 * process.c (create_process): Don't setup raw-text coding here.
5377 (Fopen_network_stream): Don't set coding->src_multibyte and
5378 coding->dst_multibyte here.
5379 (read_process_output): For process filter, return unibyte string
5380 if default-enable-multibyte-characters is nil.
5381 (send_process): If OBJECT is multibyte text, be sure to encoded it
5382 by the specified coding system for the process. Otherwise, setup
5383 raw-text coding.
5384 (init_process): Don't initialize default-process-coding-system
5385 here.
5386
9b47cfe0
EZ
53872000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5388
5389 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5390 <scroll-down-aggressively>: Likewise.
5391
f5a36960
KH
53922000-08-23 Kenichi Handa <handa@etl.go.jp>
5393
5394 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5395 zero. Set coding->produced_char correctly.
5396
69a7ffa7
AI
53972000-08-22 Andrew Innes <andrewi@gnu.org>
5398
5399 * makefile.w32-in: New file.
5400
5401 * unexw32.c (unexec): Ignore old_name, and use the actual location
5402 of the current executable instead. Base new_name on this.
5403
5404 * w32proc.c (create_child): Remove reference to security
5405 descriptor, which isn't needed and doesn't compile with mingw32.
5406
5407 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5408 up dllimport attributes.
5409 (x_update_window_end): Update prototype.
5410
5411 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5412 extern, which screws up dllimport attributes.
5413
5414 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5415 up dllimport attributes.
5416
5417 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5418 screws up dllimport attributes.
5419
5420 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5421 up dllimport attributes.
5422 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5423 screws up dllimport attributes.
5424
5425 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5426 up dllimport attributes.
5427
5428 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5429 screws up dllimport attributes.
5430
5431 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5432 screws up dllimport attributes.
5433
5434 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5435 up dllimport attributes.
5436
5437 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5438 unnecessary extern, which screws up dllimport attributes.
5439 (main): Ditto.
5440
5441 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5442 up dllimport attributes.
5443
5444 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5445 unnecessary extern, which screws up dllimport attributes.
5446
5447 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5448 screws up dllimport attributes.
5449
5450 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5451 up dllimport attributes.
5452
5453 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5454
5455 * w32bdf.c (search_file_line):
5456 (set_bdf_font_info):
5457 (seek_char):
5458 (w32_get_bdf_glyph):
5459 (w32_BDF_to_x_font): Fix compile warnings.
5460
5461 * w32menu.c: Include keyboard.h before frame.h. Fix compile
5462 warnings.
5463
5464 * w32select.c: Include keyboard.h before frame.h.
5465
5466 * w32fns.c (max): Define macro.
5467 (JOHAB_CHARSET): Define if not known.
5468 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5469 (Fx_show_tip): Synch with X version.
5470
5471 * w32xfns.c: Include keyboard.h before frame.h.
5472
5473 * w32fns.c: Include keyboard.h before frame.h.
5474
5475 * w32term.c: Include keyboard.h before frame.h.
5476
5477 * fontset.c: Include keyboard.h before frame.h.
5478
5479 * w32inevt.c: Include keyboard.h before frame.h.
5480 (MOUSE_MOVED): Define if not known.
5481
5482 * minibuf.c: Include keyboard.h before frame.h.
5483
5484 * keyboard.c: Include keyboard.h before frame.h.
5485
5486 * indent.c: Include keyboard.h before frame.h.
5487
5488 * dispnew.c: Include keyboard.h before frame.h.
5489
5490 * buffer.c: Include keyboard.h before frame.h.
5491
5492 * alloc.c: Include keyboard.h before frame.h.
5493
5494 * print.c: Include keyboard.h before frame.h.
5495
5496 * process.c: Include keyboard.h before frame.h.
5497
5498 * scroll.c: Include keyboard.h before frame.h.
5499
5500 * sysdep.c: Include keyboard.h before frame.h.
5501
5502 * term.c: Include keyboard.h before frame.h.
5503
5504 * window.c: Include keyboard.h before frame.h.
5505
5506 * xdisp.c: Include keyboard.h before frame.h.
5507 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5508
5509 * frame.c: Include keyboard.h before frame.h.
5510
5511 * w32heap.h: Undefine min, max.
5512
5513 * w32gui.h: Undefine min, max.
5514
5515 * unexw32.c: Change PUCHAR to PCHAR.
5516 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
5517 (relocate_offset):
5518 (get_section_info):
5519 (copy_executable_and_dump_data): Remove unnecessary static defs.
5520 (copy_executable_and_dump_data): Fix compile warnings.
5521
5522 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5523
5524 * w32console.c (min): Define macro.
5525 (clear_frame, write_glyphs): Fix compile warning.
5526
5527 * w32proc.c (compare_env):
5528 (find_child_console): Fix compile warning.
5529
5530 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5531 sys_errlist instead of _sys_errlist.
5532 (get_emacs_configuration_options): New function.
5533
5534 * s/ms-w32.h (sys_nerr): Provide default definition.
5535 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5536 name with _ prepended.
5537 (NSIG): Define if not known.
5538 (get_emacs_configuration): Provide extern declaration.
5539 (get_emacs_configuration_options): Provide extern declaration.
5540 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5541
5542 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
5543 (map_w32_filename):
5544 (read_unc_volume): Fix compile warning.
5545
5546 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5547 definitions from being used.
5548
5549 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5550
5551 * w32.c (unc_volume_file_attributes):
5552 (open_unc_volume): Make arg const.
5553
5554 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5555 (read_input_waiting): Remove excess parameter.
5556
5557 * w32.c (init_environment): Call _access.
5558 (check_windows_init_file): Call _close.
5559 (init_user_info): Call _putenv.
5560 (init_environment): Call _putenv and _strdup.
5561 (init_ntproc): Reset volume info cache on startup.
5562
5563 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5564 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5565 cannot override the CRT malloc.
5566
5567 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5568 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5569
5570 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5571 unless we are linking with a static CRT.
5572 (RVA_TO_PTR): Cast result to unsigned char*.
5573
5574 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5575 (add_volume_info): Use xstrdup.
5576
25060080
SM
55772000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5578
5579 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5580 (do_completion, Fminibuffer_complete_word): Use it.
5581 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5582 var so it can take non-boolean values.
5583
6917e6bb
GM
55842000-08-21 Gerd Moellmann <gerd@gnu.org>
5585
acb7cc89
GM
5586 * editfns.c (find_field): Formatting changes.
5587 (toplevel): Some old-style function forward declarations
5588 changed to prototypes, some new protypes added, some functions
5589 made static.
5590
5591 * lisp.h (set_time_zone_rule): Add prototype.
5592 (use_dialog_box): External declaration.
5593
0bbfdc25
GM
5594 * keyboard.c (gen_help_event): Add parameter SIZE.
5595 (kbd_buffer_events_waiting): Slightly rewritten.
5596 (clear_event): New function.
5597 (kbd_buffer_get_event): Use it, and clear the input_events of
5598 HELP_EVENTs.
5599 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5600 don't fill the newly created array with nils.
5601 (toplevel): Convert some old-style function forward declarations
5602 to prototypes.
5603
5604 * keyboard.h (gen_help_event): Change prototype.
5605
5606 * xterm.c (XTread_socket): Change calls to gen_help_event.
5607
5608 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5609
6917e6bb
GM
5610 * eval.c (Fmacroexpand): Doc fix.
5611
e5cd3d11
JR
56122000-08-20 Jason Rumney <jasonr@gnu.org>
5613
5614 * w32term.h (x_display_info_for_display): Remove as this function
5615 does not exist on W32.
5616
5617 * w32term.c (help_echo_window): New variable.
5618 (syms_of_w32term): staticpro it.
5619 (note_mode_line_highlight): Set it.
5620 (XTextExtents16): Removed as there is no equivalent on W32.
5621 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5622 the X way of doing this will not work for W32.
5623 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5624 (x_draw_image_foreground): Avoid drawing outside of the clip area
5625 when image doesn't have a mask.
5626 (note_mouse_highlight): Process overlays in the right order of
5627 priority. Set help_echo_window.
5628 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5629 because that's more visible for large images.
5630
5631 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5632 name to single_keymap_panes.
5633 (w32_menu_show): Set wv->title when dealing with titles.
5634 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5635
6e69ab8c
MB
56362000-08-21 Miles Bader <miles@gnu.org>
5637
5638 * minibuf.c (do_completion): Try again if we rewrite the input
5639 string, but no completion was done, so that any completion message
5640 will be correct.
5641
511bd4eb
GM
56422000-08-20 Gerd Moellmann <gerd@gnu.org>
5643
5644 * xfaces.c (lface_equal_p): Compare strings differently.
5645 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5646 (realize_tty_face): Use them.
5647 (syms_of_xfaces): Initialize new variables.
5648 (map_tty_color): New function, extracted from realize_tty_face.
5649 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5650 foreground or background color, store the new color name in the
5651 realized face; previous code trying to do this had no effect.
5652 (realize_tty_face): Use map_tty_color.
5653 (Fclear_face_cache): Set face_change_count and ensure thorough
5654 redisplay.
5655
1433385f
GM
56562000-08-19 Gerd Moellmann <gerd@gnu.org>
5657
511bd4eb
GM
5658 * undo.c (record_first_change, record_marker_adjustment): Don't
5659 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5660
419ac0a2
KH
56612000-08-18 Kenichi Handa <handa@etl.go.jp>
5662
5663 * coding.c (decode_coding_string): Set members consumed,
5664 consumed_char, produced, produced_char of *coding correctly. If
5665 decode_coding doesn't consume any byte, don't try anymore.
5666 (encode_coding_string): Likewise.
5667
7eb9e30d
GM
56682000-08-18 Gerd Moellmann <gerd@gnu.org>
5669
511bd4eb
GM
5670 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5671 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5672
5673 * xdisp.c (redisplay_internal): Compare windows for equality with
5674 EQ, instead of applying XWINDOW to something that might not
5675 be a window.
5676
dd34a735
KH
56772000-08-18 Kenichi Handa <handa@etl.go.jp>
5678
5679 * fontset.c (Finternal_char_font): Search only the selected frame
5680 for a window of the current buffer.
5681
385ff9e3
GM
56822000-08-18 Gerd Moellmann <gerd@gnu.org>
5683
511bd4eb 5684 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5685 Lisp_Objects.
5686
385ff9e3
GM
5687 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5688 second half of a HELP_EVENT is found at the start of kbd_buffer.
5689
d6abb4c7
MB
56902000-08-18 Miles Bader <miles@gnu.org>
5691
4618074a
MB
5692 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5693
d6abb4c7
MB
5694 * editfns.c (save_restriction_save): Rewrite to use markers.
5695 (save_restriction_restore): Rewrite to understand new form of data
5696 saved by save_restriction_save.
5697 (Fsave_restriction): Remove cautionary note in doc-string.
5698
a7b28523
GM
56992000-08-17 Gerd Moellmann <gerd@gnu.org>
5700
5701 * fileio.c (build_annotations): Add a comment explaining the
5702 return value of format-annotate-function. Replace a spurious call
5703 to Flength with a CONSP test. Call format-annotate-function with
5704 a fifth arg specifying how many times the function is been called
5705 in a row, to let it choose temporary buffers appropriately.
5706
03c9ed77
DL
57072000-08-17 Dave Love <fx@gnu.org>
5708
5709 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5710 declare make_temp_name twice.
5711
5712 * lread.c: Prototype readevalloop, load_unwind,
5713 load_descriptor_unwind.
5714 (unreadpure): Give it an arg.
5715
5716 * unexalpha.c: Prototype fatal_unexec, mark_x,
5717 update_dynamic_symbols. Declare unexec as void.
5718
5719 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5720 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5721
5722 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
5723 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
5724 DOUG_LEA_MALLOC.
5725
5726 * alloca.c: Use #error.
5727 [POINTER_TYPE]: Use it.
5728
5729 * eval.c (Fdefvar): Doc fix.
5730
5731 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5732 INITIALIZE_INTERVAL.
5733
5734 * buffer.h: Avoid DECLARE_INTERVALS.
5735
5736 * config.in: Add size_t.
5737
aae41d97
EZ
57382000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5739
5740 * w16select.c (set_clipboard_data): If there's not enough memory
5741 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5742 expects. In case of other failures, return 3.
5743 (system_error_msg): New error message.
5744 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5745 system_error_msg.
5746
65aa5e85
GM
57472000-08-16 Gerd Moellmann <gerd@gnu.org>
5748
5749 * term.c (write_glyphs): Also turn off inverse video after turning
5750 off other appearances in case TS_exit_attribute_mode is not equal
5751 to TS_end_standout_mode.
5752 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5753 with the same face.
5754 (turn_off_face): Reset standout_mode only if
5755 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5756 is equal to TS_end_standout_mode.
5757
ece23901
KH
57582000-08-16 Kenichi Handa <handa@etl.go.jp>
5759
9d7bcb2e
KH
5760 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5761 sequence at the end of the source block.
5762
ece23901
KH
5763 * ccl.c (Fccl_program_p): Docstring modified.
5764 (Fccl_execute): Likewise.
5765 (Fccl_execute_on_string): Likewise.
5766
5e30eaa2
EZ
57672000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5768
5769 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5770
290602fd
KH
57712000-08-16 Kenichi Handa <handa@etl.go.jp>
5772
5773 The following changes are mainly to fix bugs of
5774 encode/decode-coding-string failing if encoding/decoding return
5775 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5776 variable conversion_buffer.
5777
5778 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5779 decrement dst_end to avoid buffer overflow in the later call of
5780 string_as_multibyte
5781
5782 * coding.h (conversion_buffer_size, conversion_buffer)
5783 (get_conversion_buffer): Extern deleted.
5784
5785 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5786 (conversion_buffer, conversion_buffer_size): Variables deleted.
5787 (get_conversion_buffer): Function deleted.
5788 (struct conversion_buffer): New structure.
5789 (MAX_ALLOCA): New macro.
5790 (allocate_conversion_buffer): New macro.
5791 (extend_conversion_buffer, free_conversion_buffer): New functions.
5792 (ccl_coding_driver): Set coding->result.
5793 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5794 this is the last block of source.
5795 (encode_coding): Likewise. Handle the source block as the last
5796 one only when the whole source text is consumed.
5797 (decode_coding_string): Handle the case that the output buffer is
5798 too small to decode the whole source text. Use
5799 allocate_conversion_buffer, extend_conversion_buffer and
5800 free_conversion_buffer, not get_conversion_buffer.
5801 (encode_coding_string): Likewise.
5802 (init_coding): Function deleted.
5803 (init_coding_once): Delete code to initialize
5804 conversion_buffer_size.
5805
5806 * emacs.c (main): Don't call init_coding.
5807
5808 * msdos.c (IT_write_glyphs): Use a locally declared
5809 conversion_buffer.
5810
5811 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5812 (insert_glyphs): Likewise.
5813
5814 * w32console.c (write_glyphs): Use a locally declared
5815 conversion_buffer.
5816
b9f80d41
EZ
58172000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5818
5819 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5820 member of display_info is NULL.
5821
32dc52f7
GM
58222000-08-15 Gerd Moellmann <gerd@gnu.org>
5823
58ed0d3b
GM
5824 * alloc.c (compact_small_strings): Use safe_bcopy, add an
5825 assertion.
5826
32dc52f7 5827 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5828 appearances with capability `me'.
32dc52f7
GM
5829 (write_glyphs): Switch on inverse video before each face change.
5830
4eb22d33
DL
58312000-08-14 Dave Love <fx@gnu.org>
5832
5833 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5834 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5835 (lisp_free): Declare and make static.
5836
5837 * window.c: Fix embedded comment.
5838 (syms_of_window): Fix doc string.
5839
90cbf47e
GM
58402000-08-14 Gerd Moellmann <gerd@gnu.org>
5841
5842 * keymap.c (push_key_description): If C without modifiers is < 32,
5843 make sure to print `C-' before `M-', like in the manual.
5844
440fc135
GM
58452000-08-11 Gerd Moellmann <gerd@gnu.org>
5846
5847 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
5848 since they aren't relocated anymore.
5849 (sxhash_string): Make sure returned hash code fits in a Lisp
5850 integer.
5851
5852 * xdisp.c (try_cursor_movement): Fix handling of cursor in
5853 partially visible line which is smaller than the window's
5854 height.
5855
6e264fad
KH
58562000-08-11 Kenichi Handa <handa@etl.go.jp>
5857
5858 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
5859 the multibyte form of eight-bit-control characters.
5860 (Fccl_execute_on_string): Initialize ccl->multibyte.
5861
5862 * ccl.h (struct ccl_program): New member multibyte.
5863
5864 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
5865
c371f69a
KH
58662000-08-11 Kenichi Handa <handa@etl.go.jp>
5867
5868 * regex.c (regex_compile) <normal_char>: Pay attention to
5869 multibyteness.
5870 (analyse_first) <exactn>: Setup fastmap correctly for
5871 eight-bit-control characters.
5872
58732000-08-11 Kenichi Handa <handa@etl.go.jp>
5874
5875 * termhooks.h (enum event_kind): New member
5876 multibyte_char_keystroke.
5877
5878 * keyboard.c (make_lispy_event): Handle the new event type
5879 multibyte_char_keystroke.
5880
5881 * xterm.c: Include coding.h.
5882 (XTread_socket): Work around a bug of XmbLookupString. If the
5883 input is from XIM, decode it according to the current locale. In
5884 that case, generate multibyte_char_keystroke events.
5885
b8ddbe71
KH
58862000-08-11 Kenichi Handa <handa@etl.go.jp>
5887
5888 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
5889 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
5890
47589c8c
GM
58912000-08-10 Gerd Moellmann <gerd@gnu.org>
5892
5893 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
5894 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
5895 (move_it_in_display_line_to): Record iterator's ascent and descent
5896 before producing glyphs, and restore them when we know the glyph
5897 doesn't fit on the line.
5898 (move_it_to): Restructured so that it's easier to debug. If
5899 moving to a vpos, and not moving to an x or character position,
5900 stop as soon as the specified vpos is reached; don't move further
5901 into that line because that might change the computed line height.
5902 (try_cursor_movement): New function, extracted from the cursor
5903 movement branch of redisplay_window. If ending on a partially
5904 visible line, don't try to scroll if the cursor line is taller
5905 than the window.
5906 (redisplay_window): Use try_cursor_movement.
5907
5908 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
5909 because that function doesn't cope with variable-height lines.
5910
5911 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
5912 box cursor because that's better visible for large images.
5913
c51bacd6
MB
59142000-08-10 Miles Bader <miles@gnu.org>
5915
5916 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
5917
bea56df7
GM
59182000-08-10 Gerd Moellmann <gerd@gnu.org>
5919
5920 * xdisp.c (Vmessages_buffer_name): New variable.
5921 (message_dolog): Use it.
5922 (syms_of_xdisp): Initialize it.
5923
99cd7364
EZ
59242000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
5925
5926 * msdos.c (IT_note_mouse_highlight): Update the calls to
5927 overlays_at.
5928 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
5929 redundant now that keyboard.h is included.
5930
7d093d56
EZ
59312000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
5932
5933 * keyboard.c (kbd_buffer_events_waiting): New function.
5934
5935 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
5936
5937 * msdos.c: Include keyboard.h.
5938 (XMenuActivate): Empty no_event events from the event buffer. If
5939 no events are left after that, call clear_input_pending.
5940 (mouse_clear_clicks): New function, code moved from mouse_init.
5941 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
5942 mouse driver to ``forget'' any past clicks.
5943
5944 * Makefile.in (msdos.o): Depend on keyboard.h.
5945
41e757a6
GM
59462000-08-09 Gerd Moellmann <gerd@gnu.org>
5947
8e7bd231
GM
5948 * lisp.h (input_pending): External declaration.
5949
5950 * dispextern.h (Qredisplay_dont_pause): Declare extern.
5951
5952 * xdisp.c (echo_area_display): Display thoroughly if input is
5953 pending. Bind redisplay-dont-pause to t during the redisplay.
5954 in case input is pending.
5955
5956 * dispnew.c (Qredisplay_dont_pause): New variable.
5957 (syms_of_display): Initialize and staticpro it.
5958 (update_frame_1): Don't interrupt the display for pending input if
5959 redisplay_dont_pause is set.
5960
43028b7e
GM
5961 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
5962
41e757a6
GM
5963 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5964
2f2174fa
KH
59652000-08-09 Miles Bader <miles@lsi.nec.co.jp>
5966
5967 * callproc.c (Fcall_process): Terminate the unwind-protect around
5968 the post-read-conversion of coding system.
5969
0a6fd67e
MB
5970 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
5971 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
5972 * buffer.h (overlays_at): Update prototype.
5973 * xdisp.c (next_overlay_change): Update call to overlays_at.
5974 * xfaces.c (face_at_buffer_position): Likewise.
5975 * textprop.c (Fget_char_property): Likewise.
5976 * xterm.c (note_mouse_highlight): Likewise.
5977
0c80756e
MB
5978 * minibuf.c (do_completion): Don't consider a simple change of
5979 case as `completion'.
5980
975f250a
KR
59812000-08-08 Ken Raeburn <raeburn@gnu.org>
5982
b347b3fd
KR
5983 * keyboard.c (syms_of_keyboard): Initialize
5984 last_point_position_buffer.
5985 * undo.c (record_delete): Make sure last_point_position_buffer is
5986 a buffer before comparing pointers.
5987
5988 * coding.h (decode_coding_string): Declare.
5989
5990 * intervals.h (Fprevious_single_char_property_change): Declare.
5991
5992 * textprop.c (Fprevious_single_char_property_change): Don't do
5993 arithmetic directly on lisp objects.
5994
25ad1371 5995 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
5996 objects.
5997
5998 * keyboard.h (menu_item_eval_property): Declare.
5999
6000 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6001 reuse as buffer name, instead of recreating (and discarding) every
6002 time a message is logged.
6003 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6004 (current_message_1, truncate_message_1, set_message_1)
6005 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6006 (current_message, truncate_echo_area, display_echo_area)
6007 (resize_echo_area_axactly): Changed calls.
b347b3fd 6008
975f250a 6009 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6010 Lisp object.
975f250a 6011 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6012 must be an integer, not a Lisp object.
975f250a 6013
46dc9912
KH
60142000-08-08 Kenichi Handa <handa@etl.go.jp>
6015
6016 * charset.c (Fchar_width): Doc fix.
6017
9f6d1a6c
GM
60182000-08-08 Gerd Moellmann <gerd@gnu.org>
6019
6020 * charset.c (Fstring_width): Doc fix.
6021
ff3d9573
GM
60222000-08-07 Gerd Moellmann <gerd@gnu.org>
6023
41e757a6 6024 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6025 line, clear ascent and descent members of the iterator structure;
6026 the height of the continued line does not affect the height of the
6027 continuation line.
6028 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6029 line taller than the window.
6030 (redisplay_window) <forced window start>: Handle case that the
6031 middle of the window is not found in any row.
6032 (dump_glyph_row): Show more information.
6033 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6034 first text line in a glyph matrix.
6035
6036 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6037 of the clip area when image doesn't have a mask.
6038
70fc58b3
GM
6039 * fns.c (sweep_weak_table): Fix survival conditions for
6040 key-or-value and key-and-value weakness.
6041
6042 * .gdbinit (xhashtable): New command.
6043
ac0e96ee
GM
6044 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6045 tables out of the list of all weak hash tables.
6046
ff3d9573
GM
6047 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6048 a new buffer is created, make sure echo_area_buffer[] references
6049 the new buffer.
6050
e0d8827b
EZ
60512000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6052
6053 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6054 the doc string.
6055
c6f35378
KH
60562000-08-07 Kenichi Handa <handa@etl.go.jp>
6057
6058 * syntax.c (skip_chars): Fix previous change. Make the handling
6059 of unibyte string consistent with that of regex search.
6060
1fd4c450
GM
60612000-08-05 Gerd Moellmann <gerd@gnu.org>
6062
e49aa397
GM
6063 * xmenu.c (popup_get_selection): Use xfree instead of free.
6064
6065 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6066
6067 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6068
6069 * callproc.c (child_setup): Use xfree instead of free.
6070
6071 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6072 instead of malloc.
6073 (run_mac_command, closedir): Use `xfree' instead of `free'.
6074
6075 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6076
6077 * eval.c (error): Use xfree instead of free.
6078
1fd4c450
GM
6079 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6080
6081 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6082 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6083
82d497fc
KH
60842000-08-05 Kenichi Handa <handa@etl.go.jp>
6085
6086 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6087 conversion.
6088
59f953a2
NF
60892000-08-04 Noah Friedman <friedman@splode.com>
6090
6091 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6092 docstring.
6093
688351f2
GM
60942000-08-04 Gerd Moellmann <gerd@gnu.org>
6095
6096 * syntax.c (skip_chars): Fix typo in error message.
6097
2dad51cc
AS
60982000-08-04 Andreas Schwab <schwab@suse.de>
6099
6100 * m/ia64.h: Moved from s/ia64.h.
6101
99bb2c60
KH
61022000-08-04 Kenichi Handa <handa@etl.go.jp>
6103
082a1df2
KH
6104 * process.c (read_process_output): Big simplification. Handle
6105 composition and post-read-conversion of coding system correctly.
6106 (send_process): Handle composition correctly.
6107
6108 * callproc.c (Fcall_process): Handle post-read-conversion of
6109 coding system if any.
6110
99bb2c60
KH
6111 * coding.c (decode_coding_iso2022): More strict check for handling
6112 single shifting.
082a1df2
KH
6113 (coding_restore_composition): Pay attention to the case that
6114 cmp_data is not set properly (because of invalid code in the
6115 source text).
6116 (run_pre_post_conversion_on_str): Include text properties in the
6117 resulting string.
6118 (decode_coding_string): Set members of coding correctly.
99bb2c60 6119
f4988be7
GM
61202000-08-03 Gerd Moellmann <gerd@gnu.org>
6121
6122 * s/ia64.h: New file.
6123
6124 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6125 Use NULL instead of 0 at the end of variable argument list of
6126 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6127 sizeof (int) < sizeof (void *).
6128
6129 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6130 of variable argument lists of XtVaGetValues and XtVaSetValues.
6131
6132 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6133 variable argument lists of XtVaGetValues and XtVaSetValues.
6134
ead53494
GM
61352000-08-02 Gerd Moellmann <gerd@gnu.org>
6136
6137 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6138 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6139
6140 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6141 prototype.
6142
6143 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6144 in call to Fsingle_key_description.
6145
6146 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6147 Callers changed.
6148
61492000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6150
6151 * window.c (display_buffer_reuse_frames): New variable.
6152 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6153 frames displaying BUFFER.
6154 (syms_of_window): Define Lisp variable
6155 display-buffer-reuse-frames.
6156
10b0f752
MB
61572000-08-01 Miles Bader <miles@gnu.org>
6158
6159 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6160 when to constrain NEW_POS (they were pretty screwed up before).
6161
16425c4a
EZ
61622000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6163
6164 * msdos.c (run_msdos_command): Save and restore the master
6165 environment, for the case that child_setup signals an error.
6166 When mirroring slashes in DOS shell commands, don't fail when
6167 argv[2] has embedded blanks.
da288c14
EZ
6168 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6169 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6170 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6171
6172 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6173 using alloca; free it after run_msdos_command returns.
6174
27f73852
DL
61752000-07-27 Dave Love <fx@gnu.org>
6176
6177 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
6178 define.
6179 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
6180 working.
6181
6182 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6183
c0261b5e
EZ
61842000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6185
6186 * editfns.c (lisp_time_argument): Fix last change.
6187
b548072f
GM
61882000-07-27 Gerd Moellmann <gerd@gnu.org>
6189
3ab82477
GM
6190 * fns.c (Fdelete): Make it work on vectors and strings in addition
6191 to lists.
6192
b548072f
GM
6193 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6194 (syms_of_fns): Initialize new variables.
6195 (sweep_weak_table): Handle weakness `key-or-value' and
6196 `key-and-value'.
6197 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6198 weakness, with t meaning the same as `key-and-value'.
6199
91ae8751
KH
62002000-07-27 Kenichi Handa <handa@etl.go.jp>
6201
6202 * coding.h (struct coding_system): Member safe_charset deleted.
6203
6204 * coding.c (Qsafe_charsets): This variable deleted.
6205 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
6206 variables.
6207 (coding_safe_chars): New function.
6208 (CODING_SAFE_CHAR_P): New macro.
6209 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
6210 checking safe_charsets member of the coding system. Caller
6211 changed.
6212 (detect_coding_iso2022): New local variable safe_chars.
6213 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6214 safe_charsets member of the coding system.
6215 (decode_coding_iso2022): New local variable safe_chars.
6216 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6217 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6218 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6219 (ENCODE_UNSAFE_CHARACTER): New macro.
6220 (encode_coding_iso2022): New local variable safe_chars. Check
6221 unsafe chars.
6222 (setup_coding_system): Delete the code to initialize
6223 coding->safe_charses
6224 (intersection, find_safe_codings): New functions.
6225 (Ffind_coding_systems_region_internal): New function.
6226 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6227 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6228 variable and initialize it.
6229
6230 * fns.c (char_table_ref_and_index): New function.
6231
6232 * lisp.h (char_table_ref_and_index): Add prototype.
6233
34a7a267
SS
62342000-07-26 Sam Steingold <sds@gnu.org>
6235
6236 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6237 (Ffloat_time): New built-in Lisp function.
34a7a267 6238
a95cb10a
GM
62392000-07-26 Gerd Moellmann <gerd@gnu.org>
6240
3353ef5a
GM
6241 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6242 for the character code.
6243
6244 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6245 GNU/Linux.
6246
a95cb10a
GM
6247 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6248 if called for a popup menu.
6249 (xmenu_show): Store help string in widget values.
6250
b4a12321
DL
62512000-07-26 Dave Love <fx@gnu.org>
6252
6253 * syswait.h: Move some definitions.
6254 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6255 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6256 perspicuous definitions.
6257 (WTERMSIG): Fix bit pattern used.
6258
13f5ad37
KH
62592000-07-26 Kenichi Handa <handa@etl.go.jp>
6260
6261 * print.c (print_object): If vector printing is truncated, print
6262 "..." to indicate it as well as the case of list printing.
6263
070fe99c
GM
62642000-07-25 Gerd Moellmann <gerd@gnu.org>
6265
969065c3
GM
6266 * xdisp.c (next_element_from_display_vector): Improve comments.
6267
6268 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6269 for the character code, and the rest for the face id as in 20.x.
6270 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6271
6272 * window.c (window_display_table): Cleaned up.
6273
070fe99c
GM
6274 * syntax.c (Fforward_word): Add last arg nil in call of
6275 Fconstrain_to_field.
6276
bad77ef7
EZ
62772000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6278
969065c3 6279 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
6280 identical but for the letter-case, don't call
6281 barf_or_query_if_file_exists.
6282
c28da489
MB
62832000-07-25 Miles Bader <miles@gnu.org>
6284
6285 * editfns.c (find_field): Honor special `boundary' fields.
6286 (Qboundary): New variables.
6287 (syms_of_editfns): Initialize Qboundary.
6288 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6289 Use scan_buffer instead of find_before_next_newline, because it
6290 allows us to detect the boundary case where there's a newline at
6291 the search limit.
6292 * lisp.h (Fconstrain_to_field): Update external declaration.
6293
e3c31fd5
GM
62942000-07-24 Gerd Moellmann <gerd@gnu.org>
6295
6296 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6297 if that is nil.
c28da489 6298
c66c29a2
DL
62992000-07-24 Dave Love <fx@gnu.org>
6300
6301 * s/sunos4-0.h, s/sol2.h:
6302 (LIBS_TERMCAP): Move from m/sparc.h.
6303
6304 * m/sparc.h (TERMINFO): Moved to system files (probably only
6305 relevant for sunos4 judging by its vintage).
6306 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6307 __arch64__.
6308
fbe0a958
EZ
63092000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6310
6311 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6312 name to single_keymap_panes.
6313
7d88e5c9
AS
63142000-07-24 Andreas Schwab <schwab@suse.de>
6315
6316 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6317
e024b101
GM
63182000-07-24 Gerd Moellmann <gerd@gnu.org>
6319
6320 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6321 parameters instead of using int parameters. Expect FN to accept
6322 EMACS_INT parameters.
6323 (display_echo_area, resize_echo_area_axactly, current_message)
6324 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6325 with new argument list.
6326 (resize_mini_window_1): New callback function.
6327 (current_message_1, truncate_message_1, set_message_1): Change
6328 parameter lists to the new format expected by
6329 with_echo_area_buffer.
6330
25c1a9ce
KH
63312000-07-24 Kenichi Handa <handa@etl.go.jp>
6332
6333 * fontset.c (fontset_ref): Remove INLINE declaration.
6334 (fontset_ref_via_base): Likewise.
6335 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6336 to downcase.
6337
7f987ac0
EZ
63382000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6339
6340 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6341 correct order of priority. If help echo was found in an overlay,
6342 use that overlay as the object in which the help echo was found.
6343
e2db3069
MB
63442000-07-22 Miles Bader <miles@gnu.org>
6345
6346 * textprop.c (Fprevious_single_char_property_change): The initial
6347 property value should be from the position preceding POSITION, not
6348 following it.
6349
5e3203e4
EZ
63502000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6351
6352 * coding.c (syms_of_coding): Doc fix for
6353 inhibit-iso-escape-detection.
6354
62145073
GM
63552000-07-21 Gerd Moellmann <gerd@gnu.org>
6356
c20aeb83
GM
6357 * xterm.c (note_mouse_highlight): Process overlays in the right
6358 order of priority.
34a7a267 6359
743934db
GM
6360 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6361
6362 * xterm.c (note_mouse_highlight): If help-echo was found in an
6363 overlay, use that overlay as the object in which the help was
6364 found.
6365
d1dc7e43 6366 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6367
62145073
GM
6368 * window.c (foreach_window): Instead of a fake variable argument
6369 list, take one USER_DATA argument.
6370 (foreach_window_1): Likewise, and call callback functions with two
6371 args, the window and USER_DATA.
6372 (struct check_window_data): New struct.
6373 (check_window_containing): Use it.
6374 (window_from_coordinates): Set up a struct check_window_data for
6375 foreach_window.
6376 (add_window_to_list, freeze_window_start): Change parameters
6377 according to new calling convention.
6378
6379 * window.h (foreach_window): Change prototype.
6380
6381 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6382
63832000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6384
6385 * xmenu.c (menu_help_callback): Call show_help_echo with
6386 additional arguments OBJECT and POS.
6387
11270583
KH
63882000-07-21 Kenichi Handa <handa@etl.go.jp>
6389
07b14857
KH
6390 * data.c (Faset): Allow storing any multibyte character in a
6391 string. Convert unibyte string to multibyte if necessary.
6392
11270583
KH
6393 * xfns.c (x_encode_text): New function.
6394 (x_set_name): Use x_encode_text.
6395 (x_set_title): Likewise.
6396
6397 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6398
6399 * xterm.h (x_encode_text): Add prototype.
6400
bc75b4fd
DL
64012000-07-20 Dave Love <fx@gnu.org>
6402
6403 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6404 xfree, not free.
6405
48c14970
EZ
64062000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6407
6408 * msdos.c (help_echo_window): New variable.
6409 (syms_of_msdos): Initialize and staticpro it.
6410 (IT_note_mode_line_highlight): Set help_echo_window.
6411 (IT_note_mouse_highlight): Ditto.
6412 (dos_rawgetc): Store help_echo_window in the second event produced
6413 for HELP_EVENTs.
6414
6415 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6416 Record the object that generated the help echo and the position of
6417 that object in help_echo_object and help_echo_pos. Record that
6418 some glyphs in a row are displayed in mouse-face.
6419 (IT_update_begin): Don't clear mouse highlight unless one of the
6420 enabled glyph rows is marked as being displayed in mouse-face.
6421 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6422 and position recorded in help_echo_object and help_echo_pos to the
6423 event queue.
6424 (IT_menu_display): Accept a new argument PN: the pane number of
6425 the current menu pane. Record the pane number and the item
6426 number of the item which has associated help string.
6427 (XMenuActivate): Update the prototype for help_callback in
6428 function declaration. Call IT_menu_display with the current menu
6429 pane number as an additional argument. Call help_callback with
6430 two additional arguments: the pane number and the item number of
6431 the menu item associated with the help text.
6432 (help_echo_object, help_echo_pos): New variables.
6433 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6434
6435 * msdos.h (XMenuActivate): Update prototype.
6436
4279296d
GM
64372000-07-19 Gerd Moellmann <gerd@gnu.org>
6438
47db06aa
GM
6439 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6440 Add some more prototypes.
6441
6442 * xterm.c, xterm.h: Add some more prototypes.
6443
6444 * lisp.h (Fnext_single_char_property_change): Add prototype.
6445
6446 * dispnew.c (direct_output_for_insert): Remove confusing
6447 outer local variable mouse_face_overwritten_p.
6448 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6449
4279296d
GM
6450 * alloc.c (allocate_string_data): Don't copy old string contents.
6451
670acd62
KH
64522000-07-19 Kenichi Handa <handa@etl.go.jp>
6453
6454 * coding.c (code_convert_region): Delete text properties before
6455 shrinking the conversion region.
6456
7cea38bc
GM
64572000-07-18 Gerd Moellmann <gerd@gnu.org>
6458
dc1cac59
GM
6459 * dispnew.c (update_text_area): Write the whole row if it
6460 has mouse-face in it.
6461
85a8aca9
GM
6462 * xfaces.c (face-alternative-font-family-alist): Remove
6463 DEFVAR_LISP; staticpro instead.
6464
34a7a267 6465 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6466 new arguments.
6467
6468 * keyboard.c (show_help_echo): Add parameter WINDOW.
6469 (read_char): Call show_help_echo with window extracted from Lisp
6470 help event.
6471 (gen_help_event): Add parameter WINDOW.
6472
6473 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6474
6475 * xterm.c (help_echo_window): New variable.
6476 (note_mouse_highlight, note_tool_bar_highlight): Set
6477 help_echo_window.
6478 (XTread_socket): Pass help_echo_window to gen_help_event.
6479 (syms_of_xterm): Initialize and staticpro help_echo_window.
6480
f8276b77
DL
64812000-07-18 Dave Love <fx@gnu.org>
6482
6483 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
6484 systime.h.
6485
088831a6
GM
64862000-07-18 Gerd Moellmann <gerd@gnu.org>
6487
3d6cd763
GM
6488 * alloc.c (allocate_string_data): If string had already data
6489 assigned, copy old contents to new string data.
6490
6491 * coding.c (syms_of_coding): Fix typo in spelling of variable
6492 `inhibit-iso-escape-detection'.
6493
088831a6
GM
6494 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6495
6496 * Makefile.in: Add dependencies on dispextern.h.
6497 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6498 `free'; both can conflict with system header files.
6499
bc8a8d55
KH
65002000-07-18 Kenichi Handa <handa@etl.go.jp>
6501
6502 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6503 undefined.
6504
069f5950
DL
65052000-07-18 Dave Love <fx@gnu.org>
6506
6507 * window.c (Fwindow_list): Declare arg `window'.
6508
aa96c820
KH
65092000-07-18 Kenichi Handa <handa@etl.go.jp>
6510
6511 * coding.c (setup_coding_system): Don't override the explicitly
6512 specified designations.
6513
06be8d32
MB
65142000-07-15 Miles Bader <miles@gnu.org>
6515
6516 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6517 from `text_property_eq' and `text_property_stickiness', respectively.
6518 (find_field, Fconstrain_to_field, char_property_eq)
6519 (char_property_stickiness): Changed to call char-property functions
6520 instead of text-property-only ones.
6521
6522 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6523 `next_single_char_property_change'). Do more error checking, and
6524 cleanup limit behavior.
6525 (Fprevious_single_char_property_change): New function.
6526 (syms_of_textprop): Initialize new subrs.
6527
6528 * xdisp.c (display_prop_end, invisible_text_between_p):
6529 Call Fnext_single_char_property_change instead of
6530 next_single_char_property_change.
6531
3fddcdc3
JR
65322000-07-15 Jason Rumney <jasonr@gnu.org>
6533
6534 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6535 after menu is finished with.
6536 (add_menu_item): Only consider wv->title as a menu title.
6537 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6538
6539 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6540 null title.
6541 (FONT_REGEXP): Remove unused macro, and its sub-components.
6542 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6543
6544 * w32term.c (help_echo_object, help_echo_pos): New variables.
6545 (note_mode_line_highlight): Store additional information about the
6546 help-echo in help_echo_object and help_echo_pos. Check both
6547 `local-map' and `keymap' properties for changing the cursor
6548 (note_mouse_highlight): Store additional information about the
6549 help-echo in help_echo_object and help_echo_pos.
6550 (note_tool_bar_highlight): Set help_echo_object to nil and
6551 help_echo_pos to -1.
6552 (w32_read_socket): Use gen_help_event instead of filling
6553 input_events manually.
6554 (syms_of_w32term): Staticpro help_echo_object.
6555 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
6556 set, arrange for a mouse-highlight redisplay in
6557 XTframe_up_to_date.
6558 (x_clear_mouse_face): New function.
6559 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6560 (x_update_window_begin): No need to turn off the mouse
6561 highlight here.
6562 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6563 depending on whether they contain glyphs highlighted in
6564 mouse-face.
6565 (x_fill_stretch_glyph_string): Consume runs of stretch
6566 glyphs instead of a single one.
6567 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6568 with new argument list.
6569 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6570 (x_append_glyph, x_append_composite_glyph)
6571 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6572 changes in struct glyph starting 1999-12-27. See comments for
6573 xterm.c on 2000-07-05.
6574
178c5d9c
SS
65752000-07-14 Sam Steingold <sds@gnu.org>
6576
6577 * xfaces.c (realize_x_face): Fix the last patch:
6578 check `default_face' before dereferencing.
6579
6fe533f6
DL
65802000-07-14 Dave Love <fx@gnu.org>
6581
069f5950 6582 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6583
dd7b81cf
KH
65842000-07-14 Kenichi Handa <handa@etl.go.jp>
6585
0693904a 6586 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6587 default_face's fontset, not using the default fontset.
0693904a 6588
dd7b81cf
KH
6589 * coding.c (inhibit_iso_escape_detection): New variable.
6590 (syms_of_coding): Make it a Lisp variable.
6591 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6592 nonzero, ignore ISO2022's escape sequence.
6593
d5aa31d8
GM
65942000-07-14 Gerd Moellmann <gerd@gnu.org>
6595
e5acf0ca
GM
6596 * alloca.c (malloc) [emacs]: Define as xmalloc.
6597
bd23a692
GM
6598 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6599 use that instead of the mouse position. Add parameters DX and DY.
6600
6601 * dispextern.h (Fx_show_tip): Adjust number of parameters
6602 in prototype.
6603
9662da0b
GM
6604 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6605 if HELP is a function, call it with OBJECT and POS as parameters
6606 to get the help to display.
6607 (gen_help_event, kbd_buffer_store_help_event): New functions.
6608 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6609 (read_char): Call show_help_echo with new parameters.
6610
178c5d9c 6611 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6612 Add prototypes.
6613
6614 * xterm.c (help_echo_object, help_echo_pos): New variables.
6615 (note_mode_line_highlight): Store additional information about the
6616 help-echo in help_echo_object and help_echo_pos. Check both
6617 `local-map' and `keymap' properties for changing the cursor
6618 (note_mouse_highlight): Store additional information about the
6619 help-echo in help_echo_object and help_echo_pos.
6620 (note_tool_bar_highlight): Set help_echo_object to nil and
6621 help_echo_pos to -1.
6622 (XTread_socket): Use gen_help_event instead of filling
6623 input_events manually.
6624 (syms_of_xterm): Staticpro help_echo_object.
6625
6626 * xmenu.c (menu_highlight_callback): Use
6627 kbd_buffer_store_help_event instead of setting up and input_event
6628 structure manually.
6629
6630 * xdisp.c (eval_form): GCPRO argument sexpr.
6631 (call_function): New function.
6632 (handle_single_display_prop): Use call_function and FUNCTIONP
6633 instead of checking whether if font_height is a symbol and
6634 using eval_form.
6635
6636 * eval.c (internal_condition_case_2): New function.
6637
6638 * lisp.h (FUNCTIONP): New macro.
6639 (internal_condition_case_2, call_function): Add prototypes.
6640
d5aa31d8
GM
6641 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6642 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6643 Always set `arg' member of input_events.
6644 (construct_menu_click): Unused function removed.
6645
6646 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6647
6648 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6649 (construct_drag_n_drop, x_scroll_bar_handle_click)
6650 (w32_read_socket): Always set `arg' member of input_events.
6651
6652 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6653
6654 * lisp.h (eval_form): Add prototype.
6655
6656 * xdisp.c (eval_form): Make it externally visible.
6657
0f1a9b23
GM
66582000-07-13 Gerd Moellmann <gerd@gnu.org>
6659
6660 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6661 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6662 consing. For prefix events, store the frame in the `arg' slot of
6663 the event, otherwise store the key there.
6664 (XTread_socket): Instead of consing, use the frame_or_window slot
6665 of HELP_EVENTs for the frame, and the `arg' slot for the help
6666 string.
6667
6668 * xmenu.c (menu_highlight_callback): Store help string in the
6669 `arg' member of the input event; don't cons.
6670 (menubar_selection_callback): Use the `arg' slot of input events
6671 to queue additional information, instead of consing.
6672
6673 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6674
6675 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6676 TOOL_BAR_EVENTs.
6677 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6678
6679 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6680 input events to queue additional information, instead of consing.
6681
6682 * keyboard.c (kbd_buffer_gcpro): Renamed from
6683 kbd_buffer_frame_or_window. Now used for all Lisp objects
6684 referenced from the input queue.
6685 (kbd_buffer_store_event): Always use structure assignment for
6686 copying input events. Record all Lisp objects referenced from
6687 events in kbd_buffer_gcpro.
6688 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6689 differently from input events. Test for prefix menu_bar_events
6690 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6691 event in kbd_buffer_gcpro to nil.
6692 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6693 frame_or_window is equal to its arg member as prefix events.
6694 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6695 used by an input event to nil.
6696 (init_keyboard): Use two times the size of the input queue
6697 for kbd_buffer_gcpro.
6698 (syms_of_keyboard): Likewise.
6699
6700 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
6701 USER_SIGNAL_EVENT.
6702
6703 * termhooks.h (struct input_event): Add member `arg'.
6704 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6705 (USER_SIGNAL_EVENT): Renamed from user_signal.
6706
6707 * xfaces.c (ASET): Remove definition.
6708
6709 * lisp.h (AREF, ASET, ASIZE): New macros.
6710
6711 * fontset.c (AREF, ASIZE): Remove definitions.
6712
6713 * fns.c (AREF): Remove definition.
178c5d9c 6714
0f1a9b23
GM
6715 * composite.c (AREF): Remove definition.
6716
712eaef2
GM
67172000-07-12 Gerd Moellmann <gerd@gnu.org>
6718
d8ee7803
GM
6719 * dispnew.c (redraw_overlapped_rows): Add missing local.
6720 (scrolling_window): Remove debug code.
6721
712eaef2
GM
6722 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6723 Before scrolling, turn off a mouse-highlight in the window
6724 being scrolled.
6725
6726 * xterm.c (x_update_window_end): Add parameter
6727 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6728 redisplay in XTframe_up_to_date.
6729 (x_clear_mouse_face): New function.
6730 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6731
6732 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6733 current glyph row.
6734 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6735 it when any row is written to that contains glyphs highlighted in
6736 mouse-face.
6737 (update_window): Call the window update end hook with new
6738 parameter MOUSE_FACE_OVERWRITTEN_P.
6739 (direct_output_for_insert): Give up if row contains mouse-face.
6740
6741 * dispextern.h (struct redisplay_interface): Add parameter
6742 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6743 (clear_mouse_face): New function pointer member.
6744
02010917
SM
67452000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6746
6747 * syntax.c (back_comment): Use one switch rather than a few `if's.
6748 Obey open_paren_in_column_0_is_defun_start.
6749 When reverting to the `slow' method, try to nicely handle the case
6750 of nested comments by checking that the comment-starter we found
6751 does indeed match the comment-ender.
6752 (scan_sexps_forward, scan_sexps_forward):
6753 Ignore excessive opening parenthesis rather than throwing an error.
6754
d76c03ea
GM
67552000-07-11 Gerd Moellmann <gerd@gnu.org>
6756
6757 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6758 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6759
6760 * dispnew.c (direct_output_forward_char): Give up if currently
6761 displaying a message instead of the minibuffer contents.
6762
6763 * xterm.c (x_update_window_begin): No need to turn off the mouse
6764 highlight here.
6765 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6766 depending on whether they contain glyphs highlighted in
6767 mouse-face.
6768
6769 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6770 compare the mouse_face_p flags of both rows.
6771
6772 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6773
d55ead18
EZ
67742000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6775
6776 * keyboard.c (show_help_echo): Accept additional parameter
6777 ok_to_overwrite_keystroke_echo.
6778 (read_char): Call show_help_echo with a zero
6779 ok_to_overwrite_keystroke_echo argument.
6780 * keyboard.h (show_help_echo): Update prototype of
6781 show_help_echo.
6782 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6783 ok_to_overwrite_keystroke_echo argument.
6784 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6785 non-zero ok_to_overwrite_keystroke_echo argument.
6786
df75b1a3
GM
67872000-07-10 Gerd Moellmann <gerd@gnu.org>
6788
4b92c49a
GM
6789 * xdisp.c (try_window_id): If changes are all below what is
6790 displayed in the window, and point is in the window, we still
6791 might have to find point on the display.
6792
6793 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6794 glyphs instead of a single one.
6795 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6796 with new argument list.
6797 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6798
df75b1a3
GM
6799 * keymap.c (get_keymap_1): Add comment that this function can GC.
6800 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6801 comment that functions can GC.
6802 (Fset_keymap_parent): GCPRO arg KEYMAP.
6803
4314cf3e
EZ
68042000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6805
6806 * msdos.c (XMenuActivate): After exiting the menu, restore the
6807 echo area message and erase it.
6808
ab49ce15
KH
68092000-07-10 Kenichi Handa <handa@etl.go.jp>
6810
6811 * fontset.c (Ffontset_info): Make the return value more compatible
6812 with that of Emacs 20.
6813
090a072f
GM
68142000-07-07 Gerd Moellmann <gerd@gnu.org>
6815
6816 * eval.c (Fsignal): Handle case that backtrace_list is null.
6817
f92de4a6
KH
68182000-07-07 Kenichi Handa <handa@etl.go.jp>
6819
6820 * ccl.c (Fccl_execute): Typo fixed.
6821
dd8888a1
GM
68222000-07-06 Gerd Moellmann <gerd@gnu.org>
6823
e5c81191 6824 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6825
dd8888a1
GM
6826 * window.c (Fwindow_list): Reverse list at the end.
6827 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6828 means allow windows on OWINDOW's frame, only.
6829 (window_loop): Simplified; use Fwindow_list.
6830
6831 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6832
485266d0
GM
68332000-07-05 Gerd Moellmann <gerd@gnu.org>
6834
6835 * xterm.c (XTread_socket): Increment handling_signal at the start,
6836 decrement it at the end.
6837
6838 * eval.c (handling_signal): New variable.
6839 (Fsignal): Abort if handling_signal is non-zero.
6840
6841 * lisp.h (handling_signal): External declaration.
178c5d9c 6842
485266d0
GM
6843 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6844
80fcd514
KR
68452000-07-05 Ken Raeburn <raeburn@gnu.org>
6846
6847 Sound support for NetBSD through "Linux emulation" support:
6848 * config.in (HAVE_SOUNDCARD_H): Undef.
6849 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6850 * Makefile.in (LIBSOUND): New variable.
6851 (LIBES): Include it.
6852 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
6853 <soundcard.h>.
6854 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
6855 elsewhere.
6856 (vox_open): Use DEFAULT_SOUND_DEVICE.
6857 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6858
d5c5cddd
GM
68592000-07-05 Gerd Moellmann <gerd@gnu.org>
6860
6861 * print.c (print_error_message): If Vsignaling_function is set,
6862 show it in *Messages*.
6863
6864 * lisp.h (Vsignaling_function): External declaration.
6865
6866 * eval.c (Vsignaling_function): New variable.
6867 (Fsignal): Compute it.
6868 (syms_of_eval): Staticpro it.
6869
65171e3a
DL
68702000-07-05 Dave Love <fx@gnu.org>
6871
6872 * syswait.h: Use the autoconf recommended approach. Old code
6873 #if'd out in case we need to revert.
6874
178c5d9c 6875 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 6876
e2c46326
AI
68772000-07-05 Andrew Innes <andrewi@gnu.org>
6878
6879 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
6880 when non-NULL instead of __morecore, to take account of buffer
6881 memory. This also solves a problem with spurious memory warnings
6882 on Windows.
6883
6884 * ralloc.c: Make real_morecore non-static.
6885
6886 * eval.c (internal_condition_case): Comment out abort if
6887 interrupt_input_blocked is not zero.
6888
6889 * makefile.nt: Add support for `bootstrap' and related targets.
6890 Include minimal debug info in emacs.exe in release build.
6891 Remove all dependencies on lisp.h, and fixup some others.
6892
6893 * w32.c (init_environment): Install code from 20.7 for providing
6894 default values for environment variables, based on the
6895 executable's own location.
6896 (map_w32_filename): Handle filenames that are longer than
6897 MAX_PATH.
6898 (sys_socket): Install socket inheritance bug fix from 20.7.
6899
6900 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
6901 here via blockinput.h).
6902
a027a91b
SM
69032000-07-05 Stefan Monnier <monnier@cs.yale.edu>
6904
e4b31601
SM
6905 * w32menu.c (w32_menu_display_help):
6906 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
6907
6908 * keyboard.h (show_help_echo): Declare.
6909
6910 * keyboard.c (show_help_echo): New function, extracted from read_char.
6911 Feval its `msg' argument if it's a cons cell.
6912 (read_char): Use it.
4cf8d9d5 6913 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 6914
178c5d9c 6915 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 6916 (note_tool_bar_highlight, XTread_socket):
178c5d9c 6917 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
6918 (dos_rawgetc):
6919 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
6920 (note_tool_bar_highlight, w32_read_socket):
6921 Do not gratuitously ignore non-string `help-echo' properties.
6922
88d75730
GM
69232000-07-05 Gerd Moellmann <gerd@gnu.org>
6924
969f7e79
GM
6925 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
6926
71201b00
GM
6927 * window.c (delete_all_subwindows): Reset Vwindow_list.
6928
88d75730
GM
6929 * xterm.c (x_append_glyph, x_append_composite_glyph)
6930 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6931 changes in struct glyph starting 1999-12-27. Some bit-fields of
6932 struct glyph were not set, which made glyphs unequal when compared
6933 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
6934 effects were the result. This also depended on the contents of
6935 memory returned by xmalloc. If flickering happens again, activate
6936 the code in clear_glyph_row that's in #if 0. If the flickering is
6937 gone with that, chances are that it is caused by something
6938 similar.
6939
6940 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 6941
88d75730
GM
6942 * dispextern.h: Add some comments.
6943
6944 * window.c (add_window_to_list): Add parameter LIST.
6945 (window_list): Order list so that, for each frame, windows are
6946 in canonical order, and so that frames appear in the list in
6947 the order given by Vframe_list.
6948 (next_window): Reverse the handling of NEXT_P.
6949
53654733
GM
69502000-07-04 Gerd Moellmann <gerd@gnu.org>
6951
87efd256
GM
6952 * window.c (Vwindow_list): New variable.
6953 (make_window, delete_window): Set Vwindow_list to nil.
6954 (check_window_containing): New function.
6955 (window_from_coordinates): Rewritten.
6956 (add_window_to_list, window_list, candidate_window_p)
6957 (decode_next_window_args, next_window): New functions.
6958 (Fnext_window, Fprevious_window): Rewritten in terms of
6959 next_window.
6960 (Fwindow_list): New function.
6961 (Fother_window): Cleaned up.
6962 (foreach_window): Add a longer "variable argument list". Let
6963 callback function return 0 to indicate that cycling over windows
6964 should stop.
6965 (foreach_window_1): Likewise.
6966 (freeze_window_start): Return int.
6967 (init_window): New function.
6968 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
6969
6970 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
6971 input_event with bzero.
6972 (main): Call init_window.
6973
53654733
GM
6974 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
6975 a menu filter.
6976
4a8c194f
KH
69772000-07-04 Kenichi Handa <handa@etl.go.jp>
6978
6979 * composite.h (make_composition_value_copy): Extern it.
6980
6981 * composite.c (make_composition_value_copy): New function.
6982
6983 * editfns.c (Fformat): While copying text properties, make each
6984 composition property value a copy.
6985
6986 * fns.c (concat): While copying text properties, make each
6987 composition property value a copy.
6988
831a6cb0
GM
69892000-07-03 Gerd Moellmann <gerd@gnu.org>
6990
2f516940
GM
6991 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
6992
178c5d9c 6993 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
6994 marked already.
6995
831a6cb0
GM
6996 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
6997 include those frames as candidates which have their focus
6998 redirected to the minibuffer frame.
6999
d9c4f922
SM
70002000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7001
7002 * fns.c (Fputhash): Return `value' rather than nil.
7003
3780bc22
GM
70042000-06-30 Gerd Moellmann <gerd@gnu.org>
7005
97d176db
GM
7006 * frame.c (next_frame): Don't check focus redirection in case
7007 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7008 unless their focus is redirected, which contradicts the
7009 specification of next-frame, and leads to infinite loops in
7010 certain situations when cycling through windows with next-window.
7011
dca9961d
KH
70122000-06-30 Kenichi Handa <handa@etl.go.jp>
7013
7014 * coding.c (code_convert_region): Even if the length of text is
7015 zero, try to convert it if coding->type is coding_type_ccl.
7016 (decode_coding_string, encode_coding_string): Likewise.
7017
d5483ab1
GM
70182000-06-28 Gerd Moellmann <gerd@gnu.org>
7019
af5c25e1 7020 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7021 the display if windows_or_buffers_changed.
af5c25e1
GM
7022
7023 * dispnew.c (struct row_entry): New structure.
7024 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7025 (row_table_size, old_lines, new_lines, old_lines_size)
7026 (new_lines_size, run_pool, runs_size, runs): New variables.
7027 (add_row_entry): New function.
7028 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7029 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7030 holding them in local variables. Use a larger hash table whose
7031 size depends on glyph matrix sizes. Don't use bzero to clear the
7032 hash table; instead, clear used slots only.
7033
7034 * fns.c (next_almost_prime): Make it externally visible.
7035
7036 * lisp.h (next_almost_prime): Add prototype.
7037
d5483ab1
GM
7038 * s/isc4-0.h (sigunblock): Define.
7039
7040 * s/sco5.h (sigunblock): Define.
7041
93e40f40
DL
70422000-06-27 Dave Love <fx@gnu.org>
7043
7044 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7045 (moved to osf5-0.h).
7046 [!NOT_C_CODE]: Protect string.h stuff.
7047
7048 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7049 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7050
3c4b7685
GM
70512000-06-27 Gerd Moellmann <gerd@gnu.org>
7052
97d176db 7053 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7054 below the last line from the needed window height.
7055
32cad0aa
SM
70562000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7057
7058 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7059 (Fwidget_get): Use it.
7060 (syms_of_fns): Defsubr it.
7061
2c69ced2
GM
70622000-06-26 Gerd Moellmann <gerd@gnu.org>
7063
178c5d9c 7064 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7065 display info for XIM.
7066 (xim_open_dpy): Likewise.
7067 (xim_close_dpy): Don't free the display info's XIM.
7068
7069 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7070
7071 * config.in (USE_XIM): New define.
7072
3fc720e4
GM
7073 * keymap.c (get_keyelt): For menu-items containing a `:filter
7074 FILTER', apply FILTER to the menu-item's definition to get the
7075 real definition to use.
7076
7077 * lisp.h (QCfilter): External declaration.
7078
2c69ced2
GM
7079 * xfns.c (Fimage_size): New function.
7080 (syms_of_xfns): Defsubr it.
7081
f978b2a2
AS
70822000-06-26 Andreas Schwab <schwab@suse.de>
7083
7084 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7085 Fstring_as_unibyte.
7086
94cc7892
DL
70872000-06-25 Dave Love <fx@gnu.org>
7088
7089 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
7090 tgetnum.
7091
7092 * Makefile.in (blockinput.h): Depend on atimer.h.
7093 (atimer.h): Depend on systime.h.
7094
7095 * blockinput.h: Protect against multiple inclusion. Include
7096 atimer.h.
7097
7098 * atimer.h: Protect against multiple inclusion. Include
7099 systime.h.
7100
7101 * lisp.h (swap_in_global_binding): Declare.
7102
b8c24556
KR
71032000-06-24 Ken Raeburn <raeburn@gnu.org>
7104
7105 * process.c (Fopen_network_stream): Turn off atimers for duration
7106 of call to connect. (Patch from Gerd.)
7107
8cf8560b
DL
71082000-06-23 Dave Love <fx@gnu.org>
7109
511c7541
DL
7110 * ralloc.c: Maybe include unistd.h
7111
8cf8560b
DL
7112 * emacs.c (setgrp): Undefine before defining.
7113 (malloc_warning, set_time_zone_rule, index): Prototype.
7114
7115 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7116 HAVE_STRUCT_TIMEZONE.
7117
7118 * s/osf1.h: Move string.h hack here from alpha.h and make it
7119 conditional.
7120 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7121 _XOPEN_SOURCE.
7122 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7123 (SOCKLEN_TYPE): Don't define.
7124
7125 * m/alpha.h: Remove string.h hack.
7126
7127 * s/osf5-0.h: New file.
7128
7129 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7130 include time.h, done by systime.h.
7131 [__FreeBSD__]: Remove redundant includes.
7132
3fc720e4 7133 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7134 (delete_temp_file): Return Qnil to avoid warning.
7135
7136 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7137
7138 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7139 HAVE_X_WINDOWS.
7140
7141 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7142
7143 * composite.h (compose_text): Declare.
7144
7145 * xterm.c: Don't include sys/types.h unconditionally. Don't
7146 protect its inclusion with !USG (following xmenu.c).
7147
ea055732
GM
71482000-06-23 Gerd Moellmann <gerd@gnu.org>
7149
7150 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7151 in x_create_frame.
7152
74b01b80
EZ
71532000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7154
7155 * coding.c (decode_eol_post_ccl): Special handling for undecided
7156 and inconsistent EOL types.
7157
64f3a166
GM
71582000-06-22 Gerd Moellmann <gerd@gnu.org>
7159
16cf31f7
GM
7160 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7161 trough color and main window's background color.
7162
178c5d9c 7163 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
7164 differently.
7165
7166 * xterm.h (Xt_app_con): External declaration.
7167
7168 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7169
486a103d
GM
7170 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7171
64f3a166
GM
7172 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7173 (handle_invisible_prop): Record the start of invisible text in
7174 it->add_overlay_start.
7175 (struct overlay_entry): Add member `overlay'.
7176 (handle_overlay_change): Simplify.
7177 (next_overlay_string): After having processed overlay strings at the
7178 end of the buffer, record that fact in
7179 it->overlay_strings_at_end_processed_p.
7180 (compare_overlay_entries): If before- and after-strings come
7181 from the same overlay, let before-strings come first.
7182 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7183 (load_overlay_strings): Take it->add_overlay_start into account
7184 when adding overlay strings.
7185
7186 * dispextern.h (struct it): Add member add_overlay_start.
7187
bb746ea6
DL
71882000-06-22 Dave Love <fx@gnu.org>
7189
7190 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7191
7192 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7193
a8f573f3
KH
71942000-06-22 Kenichi Handa <handa@etl.go.jp>
7195
7196 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7197 is greater than 0.
7198
9f2bbc92
DL
71992000-06-21 Dave Love <fx@gnu.org>
7200
178c5d9c 7201 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7202
3ee5041c
SM
72032000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7204
7205 * syntax.c (back_comment): Simplify string-parity counting (with
7206 the added benefit of handling multiple string-styles as long as
7207 they are not intertwined).
7208 Jump to the slow code as soon as a comment starter is found in
7209 a "string_lossage" position. Fixes the case: " /* " /* " */.
7210
4c343001
DL
72112000-06-21 Dave Love <fx@gnu.org>
7212
7213 * Makefile.in: Use GETLOADAVG_LIBS.
7214
7215 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7216 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7217
e6365855
SM
72182000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7219
7220 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7221 (Fforward_comment, scan_lists):
7222 Check the comstyle of single-char comment-starters.
7223 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7224 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7225 Check the comstyle of single-char comment-starters.
7226 Clarify control-flow around the Scomment case.
e6365855 7227
5700d2cc
DL
72282000-06-20 Dave Love <fx@gnu.org>
7229
d355bd8a
SM
7230 * fns.c (make_hash_table, maybe_resize_hash_table):
7231 Cast arg of next_almost_prime.
5700d2cc 7232
178c5d9c 7233 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7234
7235 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7236 and unistd.h.
7237
4a27bdfb
GM
72382000-06-20 Gerd Moellmann <gerd@gnu.org>
7239
a61d762c
GM
7240 * keyboard.c (adjust_point_for_property): Check if display
7241 property should be treated as intangible by looking at its
7242 value.
7243
178c5d9c 7244 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7245 (display_prop_intangible_p): New functions.
7246
7247 * dispextern.h (display_prop_intangible_p): Add prototype.
7248
7249 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7250
4a27bdfb
GM
7251 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7252 argument to sigprocmask.
7253
7254 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7255 argument to sigprocmask.
7256
7257 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7258 sigprocmask_set, and pass a pointer to it to sigprocmask.
7259
7260 * sysdep.c (sigprocmask_set): New variable.
7261
7262 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7263 report_file_error.
7264
427ec082
SS
72652000-06-20 Sam Steingold <sds@gnu.org>
7266
7267 * xrdb.c: Don't declare xmalloc, xrealloc.
7268
8972fe79 72692000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7270
7271 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7272 (re_comp): Cast gettext return value to avoid complaints when
7273 !HAVE_LIBINTL.
7274
074b6efe
DL
72752000-06-20 Dave Love <fx@gnu.org>
7276
f85c008a
DL
7277 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
7278 HAVE_GETTIMEOFDAY.
7279
5700d2cc 7280 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7281
d355bd8a 7282 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7283
7284 * m/alpha.h: Don't declare xmalloc, xrealloc.
7285
0af4f205
DL
7286 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7287
7288 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7289
7290 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7291
7292 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7293 HAVE_GETWD.
7294
074b6efe
DL
7295 * keyboard.h (poll_for_input_1): Declare.
7296
7297 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7298
7299 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7300
7301 * doprnt.c: Don't declare xmalloc, xrealloc.
7302
7303 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7304 (getenv, ctime, getwd): Removed.
7305 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7306
7307 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7308 x_set_tool_bar_lines.
7309
7310 * config.in: Add HAVE_GETWD. Move some definitions above
7311 machine/system includes.
7312
68a5e97b
KH
73132000-06-20 Kenichi Handa <handa@etl.go.jp>
7314
95417e1e
KH
7315 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7316
68a5e97b
KH
7317 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7318 contain information about ENCODING.
7319
7320 * fontset.c (FONTSET_ASCII): Use the first element of char table
7321 for an ASCII font, not defalt slot.
7322 (fontset_ref_via_base): If FONTSET doesn't contain information for
7323 C, try the default fontset.
7324 (make_fontset): Don't copy the default fontset.
7325 (fontset_font_pattern): Likewise.
7326 (accumulate_font_info): If ELT is nil, use the corresponding
7327 element in the default fontset.
7328
3b4fa1b2
DL
73292000-06-19 Dave Love <fx@gnu.org>
7330
943e731c
DL
7331 * syntax.c (Fparse_partial_sexp): Doc fix.
7332
7333 * regex.h: Test PROTOTYPES as well as __STDC__.
7334
3b4fa1b2
DL
7335 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7336 errno, strerror. Put text after #endif in comment.
7337
7338 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
7339 pcc).
7340
7341 * xterm.c (x_frame_of_widget): Likewise.
7342
cdf0357b
GM
73432000-06-19 Gerd Moellmann <gerd@gnu.org>
7344
7345 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7346 to Vfundamental_mode_abbrev_table.
7347
7348 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7349 bogus objects are marked. This slows down GC by ~80 percent, but
7350 it might be worth trying when debugging GC-related problems.
7351 This feature requires conservative stack marking to be enabled.
7352
7353 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7354 returns XLookupChars, reset `modifiers' to zero.
7355
998e9f8c
DL
73562000-06-19 Dave Love <fx@gnu.org>
7357
7358 * mktime.c: Unprotoized.
7359
18e21ce8 73602000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7361
7362 * data.c (set_internal): If variable is frame-local,
7363 store the new value immediately into the frame parameter alist.
7364
140c4ac6
KR
73652000-06-19 Ken Raeburn <raeburn@gnu.org>
7366
14358466
KR
7367 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7368 in the custom handler pointer.
7369
140c4ac6
KR
7370 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7371 value, or checks for CHAR_META can fail when Lisp_Object is a
7372 union type.
7373 * keymap.c (get_keyelt): Likewise.
7374
10d7bf84
KH
73752000-06-19 Kenichi Handa <handa@etl.go.jp>
7376
7377 * ccl.h (struct ccl_program): New member eol_type.
7378 (struct ccl_spec): New member cr_carryover.
7379
7380 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7381 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7382
7383 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7384 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7385 (decode_eol_post_ccl): New function.
7386 (decode_coding): Don't detect EOL format here for CCL based coding
7387 systems.
7388 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7389 decode_eol_post_ccl after running the CCL program.
7390 (code_convert_region): Don't detect EOL format here for CCL based
7391 coding systems.
7392 (decode_coding_string): Likewise.
7393
52e386c2
KR
73942000-06-18 Ken Raeburn <raeburn@gnu.org>
7395
7396 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7397 when treating it as an integer.
7398
7399 * coding.h (encode_coding_string): Declare.
7400
7401 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7402 it as an integer.
7403
7404 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7405 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7406 to be passed to get_local_map.
7407
7408 * sound.c (Fplay_sound): Don't call make_number on
7409 Frun_hook_with_args count argument.
7410
7411 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7412 for lisp objects in X event structure data field, when lisp
7413 objects are represented with unions.
7414 (x_scroll_bar_to_input_event): Ditto.
7415
b357b9d4
KR
74162000-06-16 Ken Raeburn <raeburn@gnu.org>
7417
7418 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7419 termination of string. Fix sense of test whether
7420 Vline_number_display_limit is an integer.
b357b9d4 7421
a871441d
GM
74222000-06-16 Gerd Moellmann <gerd@gnu.org>
7423
a9021acd
GM
7424 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7425 only if HAVE_X_WINDOWS.
7426
6344985d
GM
7427 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7428 of titles.
7429
427ec082 7430 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7431 out of bounds.
7432
228b083e
EZ
74332000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7434
7435 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7436 of its headers.
7437
c25b53a2
KH
74382000-06-15 Kenichi Handa <handa@etl.go.jp>
7439
7440 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7441 start of the while loop.
7442
a6981b11
GM
74432000-06-15 Gerd Moellmann <gerd@gnu.org>
7444
e9924e52
GM
7445 * atimer.c (alarm_signal_handler): Add forward declaration.
7446
a6981b11
GM
7447 * data.c (set_internal): Remove debug code.
7448
25fa6deb
GM
74492000-06-14 Gerd Moellmann <gerd@gnu.org>
7450
dce6b995
GM
7451 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7452
9f817ea4
GM
7453 * unexec.c (toplevel) [COFF]: Include coff.h.
7454
7455 * s/lynxos.h: New file.
7456
7457 * keymap.c (Fsingle_key_description): Enclose function key and
7458 event symbol names in angle brackets.
7459
8a4e3c0c
GM
7460 * xdisp.c (setup_echo_area_for_printing): Call
7461 message_log_maybe_newline if message_buf_print is not set.
7462
7463 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7464 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7465 function does something useful even when message_buf_print is
7466 already set.
7467
25fa6deb
GM
7468 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
7469 variables.
7470 (ensure_echo_area_buffers): Initialize echo buffer's
7471 truncate lines setting to nil.
7472 (with_echo_area_buffer): Don't set the echo buffer's truncate
7473 lines setting here.
8a4e3c0c 7474 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7475 of message_truncate_lines.
7476 (resize_mini_window): Handle case that lines are truncated.
7477 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
7478 message-truncate-lines.
7479
7480 * keyboard.c (read_char): Bind message-truncate-lines to t
7481 while displaying a help-echo.
7482
7483 * lisp.h (Qmessage_truncate_lines): External declaration.
7484
163dcff3
GM
74852000-06-13 Gerd Moellmann <gerd@gnu.org>
7486
1681ead6
GM
7487 * xdisp.c (Vline_number_display_limit): Renamed from
7488 line_number_display_limit.
7489 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7490 Extend documentation string. Initialize
7491 Vline_number_display_limit to nil meaning no limit.
7492 (decode_mode_spec): Use Vline_number_display_limit with its new
7493 meaning.
7494
163dcff3
GM
7495 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7496
18e21ce8 74972000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7498
7499 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7500
163dcff3
GM
7501 * xfns.c (x_set_frame_parameters): Comment fix.
7502
7503 * frame.c (store_frame_param): Call swap_in_global_binding if the
7504 variable's current binding was chosen based on this frame.
7505
7506 * data.c (swap_in_global_binding): New function.
7507
a704139d
EZ
75082000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7509
7510 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7511 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7512
9b6610db
EZ
75132000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7514
7515 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7516
c68833d2
JR
75172000-06-12 Jason Rumney <jasonr@gnu.org>
7518
7519 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7520
7521 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7522
7523 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7524
7525 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7526
ed1056b3
GM
75272000-06-12 Gerd Moellmann <gerd@gnu.org>
7528
7529 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7530 (syms_of_xfaces): Defsubr Sdump_colors.
7531 (x_free_colors): Don't treat b&w specially on default visual.
7532 (x_free_dpy_colors): New function.
7533 (free_face_colors): Don't check visual class; it's done
7534 in x_free_colors.
7535
7536 * xterm.c (x_frame_of_widget): New function.
7537 (x_alloc_nearest_color_for_widget): Use it.
7538 (x_copy_dpy_color): New function.
7539 (x_destroy_window): Free various colors.
7540
5050a2ef
KH
75412000-06-12 Kenichi Handa <handa@etl.go.jp>
7542
7543 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7544
7545 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7546
7547 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7548
7549 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7550
7551 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7552
fb1b041d
DL
75532000-06-11 Dave Love <fx@gnu.org>
7554
7555 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7556
ff96b5f4
EZ
75572000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7558
7559 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7560
db8eeecd
GM
75612000-06-11 Gerd Moellmann <gerd@gnu.org>
7562
ed1056b3 7563 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7564 to `XEvent *'.
7565
49b71c5f
KH
75662000-06-10 Kenichi Handa <handa@etl.go.jp>
7567
c479bd55
KH
7568 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7569 (regex_compile): Fix the code for handling the case of single byte
7570 char and multibyte char being mixed in a range within [...].
7571
ff6a65c2
KH
7572 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7573 and dst_multibyte members of coding.
7574
49b71c5f
KH
7575 * charset.c (update_charset_table): Update the table
7576 bytes_by_char_head.
7577 (init_charset_once): Initialize elements of bytes_by_char_head to
7578 1 except for leading codes for private charases.
7579
7580 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
7581 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
7582 sequence.
7583
9e80b57d
KR
75842000-06-09 Ken Raeburn <raeburn@gnu.org>
7585
7586 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7587 access the data it doesn't point to.
7588
f83fe4b4
GM
75892000-06-08 Gerd Moellmann <gerd@gnu.org>
7590
7591 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7592 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7593 event queue. This is necessary because Emacs otherwise won't
7594 perform a switch-frame to a new frame until some other event, for
7595 example a keystroke event, forces it to do so. This has various
7596 effects, one visible being that the cursor of a frame created with
7597 C-x 5 2 or switched to with a window manager key binding like
7598 A-TAB stays hollow because selected_window isn't on the newly
7599 focused frame until the switch-frame is performed.
7600
7601 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7602 generating a switch-frame event if necessary.
7603
7604 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7605
7606 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7607 it's an integer.
7608
0890801b
KH
76092000-06-08 Kenichi Handa <handa@etl.go.jp>
7610
7611 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
7612 charset.
7613
173cbca8
GM
76142000-06-07 Gerd Moellmann <gerd@gnu.org>
7615
3091c2a6
GM
7616 * window.c (displayed_window_lines): Take empty lines at
7617 the bottom of a window into account.
427ec082 7618
f38952fe
GM
7619 * window.c (displayed_window_lines): New function.
7620 (Fmove_to_window_line): Use displayed_window_lines to determine
7621 the number of lines to move, instead of using the window's height.
7622
7623 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7624 to stop reading, even if the form read sets point to a different
7625 value when evaluated.
7626
427ec082 7627 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7628 put the cursor.
7629
6ba6c818
KH
76302000-06-07 Kenichi Handa <handa@etl.go.jp>
7631
7632 * fileio.c (e_write): Free composition data if stored in
7633 coding->cmp_data.
7634
5f1aea9a
GM
76352000-06-06 Gerd Moellmann <gerd@gnu.org>
7636
666852af
GM
7637 * xdisp.c (display_line): Set row's and iterator's
7638 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7639 Set cursor even if row ends in the middle of a character.
7640 (dump_glyph_row): Print values of new flags.
7641 (redisplay_window) <cursor movement in unchanged window>: When
7642 point has been moved forward, and PT is at the end of the cursor
7643 row, don't place the cursor in the next row if the cursor row ends
7644 in the middle of a character or at ZV.
7645
7646 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7647 (struct glyph_row): Add starts_in_middle_of_char_p and
7648 ends_in_middle_of_char_p.
7649 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7650 ends_in_middle_of_char_p flag.
7651 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7652
d13f3e2e
GM
7653 * term.c (append_glyph): Revert change of 2000-06-06.
7654
7655 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7656 padding glyph not fitting on line as whole character not
7657 fitting on line.
7658
5f1aea9a
GM
7659 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7660 this isn't true for images with `:ascent 100'.
7661
10cda9b0
KH
76622000-06-06 Kenichi Handa <handa@etl.go.jp>
7663
ed00559d
KH
7664 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7665 as modified if it is originally unmodified.
7666
10cda9b0
KH
7667 * term.c (encode_terminal_code): Change the way to check if
7668 terminal coding does any conversion.
7669 (append_glyph): Set glyph->pixel_width correctly.
7670
7671 * xdisp.c (display_line): While checking line continuation, pay
7672 attention to a padding glyph.
7673
1969fae2
GM
76742000-06-05 Gerd Moellmann <gerd@gnu.org>
7675
7676 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7677
162ccef4
DL
76782000-06-05 Dave Love <fx@gnu.org>
7679
f19f32dd
DL
7680 * xdisp.c: Include fontset.h.
7681
7682 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7683
7684 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7685
7686 * dispnew.c: Conditionally include term.h.
7687
7688 * coding.h: Declare code_convert_string_norecord.
7689
7690 * frame.h (struct frame): Use volatile unconditionally.
7691
7692 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7693
7694 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7695
7696 * systime.h: Protect against multiple inclusion.
7697 (timezone) [USG5_4]: Define as time_t.
7698
7699 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7700 (Foptimize_char_table, make_temp_name): Declare.
7701
7702 * Makefile.in (xdisp.o): Depend on fontset.h.
7703
7704 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7705
7706 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7707 (Foptimize_char_table, make_temp_name): Declare.
7708
427ec082 7709 * s/irix4-0.h:
162ccef4
DL
7710 * s/irix5-0.h:
7711 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7712
2082fe81
DL
77132000-06-02 Dave Love <fx@gnu.org>
7714
7715 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7716
dcf671d2
GM
77172000-06-02 Gerd Moellmann <gerd@gnu.org>
7718
7719 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7720 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7721 be freed.
7722
7723 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7724 glyph, use the ASCII NUL character to determine the face.
7725
d42122a3
DL
77262000-06-02 Dave Love <fx@gnu.org>
7727
7728 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7729 (VFORK_RETURN_TYPE): Remove.
427ec082 7730
d42122a3
DL
7731 * config.in: Add NO_MATHERR.
7732
dd432f16
DL
77332000-06-01 Dave Love <fx@gnu.org>
7734
90aa4ea8
DL
7735 * cmds.c (internal_self_insert): Don't check
7736 Vbefore_change_function, Vafter_change_function.
7737
7738 * insdel.c (signal_before_change, signal_after_change): Likewise.
7739
7740 * buffer.c (Vbefore_change_function, Vafter_change_function):
7741 Variables and their initializations deleted.
7742
2330c9d4
DL
7743 * callint.c (Fcall_interactively): Doc fix.
7744
dd432f16
DL
7745 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7746
bf9e8804
DL
77472000-05-31 Dave Love <fx@gnu.org>
7748
7749 * textprop.c: Revert last change -- duplicated.
7750
3694b4ab
GM
77512000-05-31 Gerd Moellmann <gerd@gnu.org>
7752
7753 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7754 in #if 0.
7755
7756 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7757
f14156cd
JR
77582000-05-31 Jason Rumney <jasonr@gnu.org>
7759
8119aab8
JR
7760 * search.c (Fre_search_forward, Fre_search_backward)
7761 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7762
f14156cd
JR
7763 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7764
4aab9be3
JR
77652000-05-30 Jason Rumney <jasonr@gnu.org>
7766
7767 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7768 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7769
7770 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
7771 member.
7772
7773 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7774 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7775 expand a nil default_filename.
7776
7777 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7778 pointer to glyph_to_pixel_coords, not a frame.
7779
7780 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7781 coding.h to dependencies.
7782
7783 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7784
7785 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7786 window pointer to be consistent with w32term.c and xterm.c.
7787
7788 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7789 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7790 (Qline_spacing, Qcenter): New variables.
7791 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7792 (x_set_line_spacing): New function.
7793 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
7794 macros.
7795 (x_specified_cursor_type): New function.
7796 (x_set_cursor_type): Use it.
7797 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7798 and icon strings.
7799 (validate_x_resource_name, x_get_resource_string): Measure lengths
7800 of external strings in bytes.
7801 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7802 GetTextExtentPoint32 with NULL title.
7803 (Fx_create_frame): Initialize Qline_spacing.
7804 (w32_load_system_font): Initialize font->double_byte_p.
7805 (x_to_w32_charset): Use Vw32_charset_info_alist.
7806 (Image, busy cursor, tooltip functions): Merged changes from
7807 xfns.c. Not yet functional on Windows.
7808
7809 * w32gui.h (W32FontStruct): Add double_byte_p member.
7810
7811 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7812 (emacs_button_translation): Use it.
7813 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7814 in `mask' to be set.
7815
7816 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7817 menu strings.
7818
7819 * w32term.c: Format and doc changes to bring closer to xterm.c.
7820 (w32_char_font_type): New enum.
7821 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7822 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7823 (w32_encode_char): New function.
7824 (x_encode_char): Removed.
7825 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7826 x_encode_char and w32_font_is_double_byte.
7827 (x_produce_image_glyph): Use image_ascent.
7828 (x_produce_glyphs): Use new version of w32_per_char_metric and
7829 handle NULL return value. Allow extra line spacing.
7830 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7831 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7832 w32_font_type member of glyph instead.
7833 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7834 (fast_find_position): Make sure not to consider rows not visible
7835 in the window.
7836 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7837 w32_menu_display_help with input blocked, as it can abort.
7838 (x_display_and_set_cursor): Choose cursor depending
7839 on buffer-local value of cursor_type.
7840 (x_draw_bar_cursor): Add parameter WIDTH.
7841
7842 * w32term.h (CP_DEFAULT): Define.
7843 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7844
10fc3187
GM
78452000-05-30 Gerd Moellmann <gerd@gnu.org>
7846
7847 * search.c (Fre_search_forward, Fre_search_backward)
7848 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7849
d0555360
KH
78502000-05-30 Kenichi Handa <handa@etl.go.jp>
7851
7852 * coding.c (detect_coding_iso2022): Fix code for checking
7853 CODING_CATEGORY_MASK_ISO_8_2.
7854
f1ad044f
SM
78552000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7856
7857 * regex.c (PREFETCH_NOLIMIT): New function.
7858 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7859
84ec3b4b
GM
78602000-05-29 Gerd Moellmann <gerd@gnu.org>
7861
66254a13
GM
7862 * syntax.c (find_defun_start): Move test for
7863 open_paren_in_column_0_is_defun_start outside of the loop.
7864
49e70dec
GM
7865 * xdisp.c (redisplay_window): Really switch buffers when
7866 displaying mode lines, and temporarily set selected_frame to the
7867 frame of the window that's redisplayed.
7868
84ec3b4b
GM
7869 * xfaces.c (free_realized_faces): Block/unblock input.
7870 (free_realized_multibyte_face): Ditto.
7871
869a3a14
DL
78722000-05-29 Dave Love <fx@gnu.org>
7873
7874 * textprop.c (Qkeymap): New variable.
7875 (syms_of_textprop): Intern it.
7876
7877 * keymap.c: Include intervals.h.
7878 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7879
7880 * Makefile.in (keymap.o): Depend on intervals.h.
7881
7882 * keyboard.c (menu_bar_items, tool_bar_items)
7883 (Fexecute_extended_command): Deal with `keymap' property.
7884 (read_key_sequence): Track map from `keymap' property as well as
7885 `local_map'.
7886
7887 * intervals.c (get_local_map): Extra arg to allow looking for
7888 `keymap' too.
7889
7890 * intervals.h (map_property): New enum.
7891 (get_local_map): Extra arg using it.
7892 (Qkeymap): Declare.
7893
84ec3b4b 7894 * lisp.h (get_local_map): Don't declare here.
869a3a14 7895
89d0c844
KH
78962000-05-29 Kenichi Handa <handa@etl.go.jp>
7897
7898 * Makefile.in (callproc.o): Depend on composite.h.
7899
7900 * callproc.c: Include composite.h.
7901 (Fcall_process): Handle composition correctly.
7902
7903 * coding.h (coding_allocate_composition_data): Extern it.
7904 (coding_restore_composition): Likewise.
7905
7906 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
7907 yet allocated, finish decoding with result
7908 CODING_FINISH_INSUFFICIENT_CMP.
7909 (coding_allocate_composition_data): Make it non-static.
7910 (coding_restore_composition): Likewise.
7911
797a084a
EZ
79122000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
7913
7914 * charset.c (syms_of_charset): Revert last change.
7915
cf872af5
EZ
79162000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7917
7918 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
7919 charsets as unibyte, with 1-column screen width. Sent by Kenichi
7920 Handa.
cf872af5 7921
5b1ae051
EZ
79222000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7923
7924 * charset.c (syms_of_charset): Set width of character sets
7925 eight-bit-control and eight-bit-graphic to 1 column.
7926
34ec9ebe
GM
79272000-05-26 Gerd Moellmann <gerd@gnu.org>
7928
7929 * config.in (HAVE_SPEED_T): New define.
7930
7931 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
7932 `extern speed_t'.
7933
dd854dc2
DL
79342000-05-26 Dave Love <fx@gnu.org>
7935
7936 * coding.c (shrink_decoding_region): Initialize eol_conversion.
7937
7938 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
7939 (Fsubr_arity): New function.
7940 (syms_of_data): Install them.
7941
ba9f8f95
KH
79422000-05-26 Kenichi Handa <handa@etl.go.jp>
7943
0f3e0672
KH
7944 * charset.c (init_charset_once): Set the table bytes_by_char_head
7945 correctly.
7946
cebefb44
KH
7947 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
7948 the default fontset to what Emacs uses by default.
0f3e0672
KH
7949 (check_registry_encoding): This function deleted.
7950 (Fset_fontset_font): Remove the adhoc condition for the default
7951 fontset. Allow cons in FONTNAME.
cebefb44 7952
0f3e0672
KH
7953 * fns.c (map_char_table): Ignore char-table entries for
7954 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 7955
7a18af49
KR
79562000-05-25 Ken Raeburn <raeburn@gnu.org>
7957
7958 * emacs.c (main): Initialize keyboard syms before initializing
7959 window code, so face names are available.
7960
d2af47df
SM
79612000-05-25 Stefan Monnier <monnier@cs.yale.edu>
7962
7963 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
7964 of an anchor at the beginning of a shy-group.
7965
fc6a6a4e
GM
79662000-05-25 Gerd Moellmann <gerd@gnu.org>
7967
7968 * xdisp.c (handle_invisible_prop): Don't try to skip over
7969 invisible text if end of text is already reached.
7970
005f0d35
DL
79712000-05-25 Dave Love <fx@gnu.org>
7972
02513cdd
DL
7973 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
7974
005f0d35
DL
7975 * coding.c (encode_eol): Add null statement after label.
7976
89f6ca4e
EZ
79772000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
7978
7979 * w16select.c (Fw16_set_clipboard_data): Fix the change from
7980 2000-05-20.
7981
a4e1759e
KH
79822000-05-25 Kenichi Handa <handa@etl.go.jp>
7983
7984 * ccl.c (ccl_driver): Fix previous change.
7985
eacfd7fe
KH
79862000-05-25 Kenichi Handa <handa@etl.go.jp>
7987
46ab33a9
KH
7988 * coding.c (run_pre_post_conversion_on_str): Set point to the
7989 beginning of buffer before calling coding->post_read_conversion.
7990 (decode_coding_string): Give correct args to
7991 run_pre_post_conversion_on_str.
7992 (encode_coding_string): Likewise.
7993
eacfd7fe
KH
7994 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
7995 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
7996 eight-bit-graphic correctly.
7997
f8569325
DL
79982000-05-24 Kenichi HANDA <handa@etl.go.jp>
7999
8000 * fileio.c (Finsert_file_contents): Even if a file is not found,
8001 execute codes for setting up coding system. Call
8002 after-insert-file-functions unconditionally.
8003
04545643
GM
80042000-05-24 Gerd Moellmann <gerd@gnu.org>
8005
8006 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8007 BSD_PGRPS are not defined.
8008
747d90ea
KH
80092000-05-24 Kenichi Handa <handa@etl.go.jp>
8010
8011 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8012 DESCRIPTION.
8013 (syms_of_charset): Avoid building same strings.
8014
716e3b88
GM
80152000-05-23 Gerd Moellmann <gerd@gnu.org>
8016
8017 * lread.c (Fload): Add a comment about the meaning of
8018 Vuser_init_file being t.
8019
8020 * puresize.h (BASE_PURESIZE): Increase to 675000.
8021
8022 * s/gnu-linux.h (setpgrp): Don't define it here because this
8023 prevents compilation on GNU/Linux systems with glib 2.2.
8024
8025 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8026 as setpgid.
427ec082 8027
9aeb39fa
EZ
80282000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8029
8030 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8031 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8032 version.
8033 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8034
29ced61b
KH
80352000-05-23 Kenichi Handa <handa@etl.go.jp>
8036
0574a2ed
KH
8037 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
8038 unconditionally.
8039
3d80f24d
KH
8040 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8041
8042 * term.c (encode_terminal_code): Set coding->src_multibyte
8043 properly.
8044
29ced61b
KH
8045 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8046
d7e00792
KH
80472000-05-22 Kenichi Handa <handa@etl.go.jp>
8048
c9d80d38
KH
8049 * keyboard.c (read_char): Allow character codes 128..255 to be
8050 handled by input-method-function.
8051
d7e00792
KH
8052 * insdel.c (adjust_markers_for_replace): Fix previous change.
8053 (adjust_after_replace): If PREV_TEXT is nil, call
8054 adjust_markers_for_insert, not adjust_markers_for_replace.
8055
087121cc 80562000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8057
087121cc
GM
8058 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8059 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8060 [HAVE_GRANDPT]: Define.
8061 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8062
8063 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8064 like SYSV_PTYS.
8065
8066 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8067
8068 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8069
c9671f81
KH
80702000-05-20 Kenichi Handa <handa@etl.go.jp>
8071
8072 The following changes are to handle 8-bit characters in a
8073 multibyte buffer/string without facing with byte combining
8074 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8075 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8076
8077 * Makefile.in (fns.o): Depend on charset.h.
8078
8079 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8080 convert it to unibyte.
8081 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8082
8083 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8084 apparent char boundary.
8085 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8086 0x80..0x9F to/from multibyte form.
8087
8088 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8089 to unibyte.
8090
8091 * callproc.c (Fcall_process): Always encode an argument string if
8092 it is multibyte. Setup src_multibyte and dst_multibyte members of
8093 process_coding properly.
ce75fd23 8094
c9671f81
KH
8095 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8096 SPLIT_NON_ASCII_CHAR.
8097
8098 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8099 as is.
8100 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8101
8102 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
8103 variables.
8104 (SPLIT_CHARACTER_SEQ): This macro deleted.
8105 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
8106 valid.
8107 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8108 and eight-bit-graphic.
8109 (char_to_string): Likewise. Signal an error for too large
8110 character code.
8111 (char_printable_p): Return 0 for 8-bit characters.
8112 (update_charset_table): Update iso_charset_table only when a final
8113 character is non-negative.
8114 (find_charset_in_text): Renamed from find_charset_in_str.
8115 Arguments and return value changed. Callers changed.
8116 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8117 be -1 if CHARSET is used only internally.
8118 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8119 eight-bit-graphic.
8120 (Fcharset_after): Simplified.
8121 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8122 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8123 (multibyte_chars_in_text): Simplified by assuming there's no
8124 invalid multibyte sequence.
8125 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8126 str_as_unibyte): New functions.
8127 (Fstring): Simpified by assuming that byte combining never
8128 happens.
8129 (init_charset_once): Initialization for
8130 LEADING_CODE_8_BIT_CONTROL.
8131 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8132 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8133 eight-bit-control and eight-bit-graphic.
8134
8135 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
8136 CHARSET_8_BIT_GRAPHIC): New macros.
8137 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8138 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8139 (CHARSET_REVERSE_CHARSET): Likewise.
8140 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8141 eight-bit-graphic.
8142 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8143 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8144 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8145 encounter an invalid multibyte sequence.
8146 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8147 sequence is always valid.
8148 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
8149 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
8150 macros.
8151 (CHAR_STRING): For 8-bit characters, call char_to_string.
8152 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8153 multibyte sequence is always valid.
8154 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
8155 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8156 str_as_unibyte): Extern them.
8157 (BCOPY_SHORT): Fix a bug.
8158 (CHAR_LEN): This macro deleted. Callers changed to use
8159 CHAR_BYTES.
8160 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8161 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8162 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8163
bd4bde7f 8164 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
8165 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
8166 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
8167 EMIT_BYTES): New macros.
8168 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
8169 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
8170 macros deleted.
8171 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8172 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8173 check the validity of multibyte sequence.
8174 (decode_coding_emacs_mule): New function.
8175 (encode_coding_emacs_mule): New macro.
8176 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8177 the source.
8178 (DECODE_ISO_CHARACTER): Just return a character code.
8179 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8180 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8181 EMIT_CHAR to produced decoded characters. Exit the loop only by
8182 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8183 block here.
8184 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8185 only position codes for an invalid character.
8186 (encode_designation_at_bol): Return new destination pointer. 5th
8187 arg DSTP is changed to DST.
8188 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8189 from the source by ONE_MORE_CHAR. Don't handle the case of last
8190 block here.
8191 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8192 macros deleted.
8193 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
8194 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
8195 TWO_MORE_BYTES to fetch a byte from the source.
8196 (encode_eol): Pay attention to coding->src_multibyte.
8197 (detect_coding, detect_eol): Preserve members src_multibyte and
8198 dst_multibyte.
8199 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8200 (encoding_buffer_size): Set magnification to 3 for all coding
8201 systems that require encoding.
8202 (ccl_coding_driver): For decoding, be sure that the result is
8203 valid multibyte sequence.
8204 (decode_coding): Initialize coding->errors and coding->result.
8205 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8206 and raw-text, always call decode_eol. Handle the case of last
8207 block here. If not coding->dst_multibyte, convert the resulting
8208 sequence to unibyte.
8209 (encode_coding): Initialize coding->errors and coding->result.
8210 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8211 and raw-text, always call encode_eol. Handle the case of last
8212 block here.
8213 (shrink_decoding_region, shrink_encoding_region): Detect cases
8214 that we can't skip data more rigidly.
8215 (code_convert_region): Setup src_multibyte and dst_multibyte
8216 members of coding. For decoding, if the buffer is multibyte,
8217 convert the source sequence to unibyte in advance. For encoding,
8218 if the buffer is multibyte, convert the resulting sequence to
8219 multibyte afterward.
8220 (run_pre_post_conversion_on_str): New function.
8221 (code_convert_string): Deleted and divided into the following two.
8222 (decode_coding_string, encode_coding_string): New functions.
8223 (code_convert_string1, code_convert_string_norecord): Call one of
8224 above.
8225 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8226 MAKE_NON_ASCII_CHAR.
8227 (Fset_terminal_coding_system_internal,
8228 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
8229 and dst_multibyte members.
8230 (init_coding_once): Initialize iso_code_class with new enum
8231 ISO_control_0 and ISO_control_1.
8232
8233 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8234 devided into ISO_control_0 and ISO_control_1.
8235 (struct coding_system): New members src_multibyte, dst_multibyte,
8236 errors, and result. Delete member fake_multibyte.
8237 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8238 nonzero.
8239 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8240 nonzero.
8241
8242 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8243 (Faset): Likewise.
8244
8245 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8246 multibyte form.
8247 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8248 combining occurs.
8249 (Ftranspose_region): Delete codes for handling byte combining.
8250
8251 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8252 dst_multibyte members of coding. On handling REPLACE on unibyte
8253 buffer, convert the result of decode_coding to unibyte. On
8254 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8255 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8256 multibyteness of the source (buffer or string).
8257
8258 * fns.c (concat): Handle 8-bit characters correctly.
8259 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8260 unibyte in the result.
8261 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8262 valid multibyte form in the result.
8263 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8264 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8265 return -1, signal an error.
8266 (base64_encode_1): New arg MULTIBYTE. Get each character by
8267 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8268 character is found, return -1.
8269 (Fbase64_decode_region): Delete codes for handling byte-combining.
8270 Treat each decoded byte as a unibyte character.
8271 (Fbase64_decode_string): Return unibyte string.
8272 (Fcompare_strings, concat, string_byte_to_char): Use
8273 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8274 FETCH_STRING_CHAR_ADVANCE.
8275 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8276 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8277
8278 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8279 SPLIT_NON_ASCII_CHAR.
8280 (fontset_ref_via_base, fontset_set): Likewise
8281
8282 * insdel.c (adjust_markers_for_record_delete): Deleted.
8283 (adjust_markers_for_insert): Argument changed. Caller changed.
8284 (adjust_markers_for_replace): Likewise.
8285 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
8286 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
8287 (copy_text): Delete unused local varialbe c_save. For converting
8288 to multibyte, be sure to make all 8-bit characters in valid
8289 multibyte form.
8290 (count_size_as_multibyte): Handle 8-bit characters correctly.
8291 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8292 adjust_after_replace, replace_range, del_range_2)
8293 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
8294 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8295 adjust_after_replace, replace_range, del_range_2) Delete codes for
8296 handling byte combining.
8297 (adjust_before_replace): Deleted.
427ec082 8298
c9671f81
KH
8299 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8300 SPLIT_NON_ASCII_CHAR.
8301 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8302 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
8303 unconditionally.
8304 (Fkey_description): Likewise.
8305
8306 * lread.c (read1): On reading multibyte string, be sure to make
8307 all 8-bit chararacters in valid multibyte form.
8308 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8309
8310 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8311 unconditionally.
8312
8313 * process.c (Fstart_process): GCPRO current_dir before calling
8314 Ffind_operation_coding_system. Encode arguments here.
8315 (create_process): Don't encode arguments here. Setup
8316 src_multibyte and dst_multibyte members of struct coding.
8317 (read_process_output): Setup src_multibyte and dst_multibyte
8318 members of struct coding. If the output is to multibyte buffer,
8319 always decode the output of the process. Adjust the
8320 representation of 8-bit characters to the multibyteness of the
8321 output.
8322 (send_process): Setup coding->src_multibyte according to the
8323 multibyteness of the source.
8324
8325 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
8326 unconditionally.
8327 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8328 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8329
8330 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
8331 CHAR_LEN.
8332
8333 * w16select.c (Fw16_set_clipboard_data): Setup members
8334 src_multibyte and dst_multibyte of coding. Adjusted for the
8335 change for find_charset_in_str.
8336 (Fw16_get_clipboard_data): Likewise.
8337
8338 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8339 dst_multibyte of coding.
8340 (x_to_w32_font): Likewise.
8341
8342 * w32select.c (Fw32_set_clipboard_data): Setup members
8343 src_multibyte and dst_multibyte of coding. Adjusted for the
8344 change for find_charset_in_str.
8345 (Fw32_get_clipboard_data): Likewise.
8346
8347 * xdisp.c (get_next_display_element): Handle 8-bit characters
8348 correctly.
8349 (next_element_from_display_vector): Use CHAR_BYTES instead of
8350 CHAR_LEN.
8351 (disp_char_vector): Use SPLIT_CHAR instead of
8352 SPLIT_NON_ASCII_CHAR.
8353
8354 * xselect.c (selection_data_to_lisp_data): Setup members
8355 src_multibyte and dst_multibyte of coding. Adjusted for the
8356 change for find_charset_in_str.
8357 (lisp_data_to_selection_data): Likewise.
8358
5f64c9e0
GM
83592000-05-19 Gerd Moellmann <gerd@gnu.org>
8360
2b63d473
GM
8361 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
8362 buffer.
8363
5f64c9e0
GM
8364 * dispextern.h (Vimage_types): Add extern declaration.
8365
8366 * xdisp.c (Vimage_types): Moved here from xfns.c.
8367 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8368
8369 * xfns.c (Vimages_types): Moved to xdisp.c.
8370 (syms_of_xfns): Move `image-types' to xdisp.c.
8371
8372 * w32fns.c (Vimage_types): Removed.
8373 (syms_of_w32fns): Remove `image-types'.
8374
813086ea
KH
83752000-05-18 Kenichi Handa <handa@etl.go.jp>
8376
8377 * fns.c (map_char_table): Pay attention to character number of
8378 charset. Check the validity of charset at the first level. For
8379 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8380 the default value.
8381
8382 * fontset.c: Include "buffer.h".
8383 (fs_load_font): If the face has fontset, record the face ID in
8384 that fontset.
8385 (Finternal_char_font): New function.
8386 (accumulate_font_info): New function.
8387 (Ffontset_info): Rewritten for the new fontset implementation.
8388 (syms_of_fontset): Register Vdefault_fontset in the first element
8389 of Vfontset_table. Include Vdefault_fontset in
8390 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8391 function.
8392
bdaebbf0
DL
83932000-05-16 Dave Love <fx@gnu.org>
8394
8395 * m/iris5d.h: Deleted -- unused.
8396
cb613bb8
GM
83972000-05-16 Gerd Moellmann <gerd@gnu.org>
8398
b15f3b77
GM
8399 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8400 `invalid' instead of `illegal'.
8401
8402 * indent.c (Fmove_to_column): When ending within a tab, insert
8403 spaces first so that markers at the end of the tab get adjusted.
8404
835c1b36
GM
8405 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8406 buffer list that wasn't selected in that frame.
8407
cb613bb8
GM
8408 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8409 is needed on mescaline, use a 2 char prefix, and call
8410 make_temp_name with second arg non-zero.
8411
8412 * fileio.c (make_temp_name): New function, extracted from
8413 Fmake_temp_name.
8414 (Fmake_temp_name): Use it.
8415
f685bea9
EZ
84162000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8417
8418 * window.c (coordinates_in_window): Subtract 1 when computing
8419 right_x.
8420
a1b8d58b
GM
84212000-05-15 Gerd Moellmann <gerd@gnu.org>
8422
8423 * Makefile.in (lisp): Add env.elc.
8424
8425 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8426
a265079f
GM
84272000-05-12 Gerd Moellmann <gerd@gnu.org>
8428
8429 * search.c (Freplace_match): Handle case of `\N' in the
8430 replacement when there's no group N.
8431
da4496b6
GM
84322000-05-11 Gerd Moellmann <gerd@gnu.org>
8433
0ace421a
GM
8434 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8435 of the message to message_dolog.
8436
1172eb8d
GM
8437 * keyboard.c (read_char): Don't clear current message for help
8438 events; let the code handling help events handle this. Change
8439 code detecting help events that should be ignored.
8440
da4496b6
GM
8441 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8442 we're interating over a string.
8443
0623e40f
DL
84442000-05-09 Dave Love <fx@gnu.org>
8445
8446 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8447 that offset before writing. Move gcpro region past call of
8448 Ffile_regular_p.
8449
bae2503b
DL
84502000-05-04 Dave Love <fx@gnu.org>
8451
8452 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8453
ec82fb2f
GM
84542000-05-04 Gerd Moellmann <gerd@gnu.org>
8455
8456 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8457 of inserted characters when BUF equals the current buffer, and PT
8458 is in front of or equal to FROM.
8459
cbf18892
GM
84602000-05-03 Gerd Moellmann <gerd@gnu.org>
8461
4ff40dd0
GM
8462 * xdisp.c (handle_single_display_prop): If display property value
8463 is invalid, or something not supported on the frame, restore
8464 iterator's position to what it was initially. Make sure to return
8465 0 for invalid and unsupported property values.
8466
cbf18892
GM
8467 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8468 that x_per_char_metric returns null.
8469
1b0672c3
GM
84702000-05-02 Gerd Moellmann <gerd@gnu.org>
8471
576da55d
GM
8472 * xterm.h (struct face): Add forward declaration.
8473 (struct image): Ditto.
8474 (image_ascent): Add prototype.
8475
8476 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8477 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8478 image_ascent instead of using IMAGE_ASCENT.
8479
8480 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8481 (IMAGE_ASCENT): Removed.
8482
8483 * xfns.c (Qcenter): New variable.
8484 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8485 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8486 (image_ascent): New function.
8487 (lookup_image): Recognize `:ascent center'.
8488 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8489 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8490 (xbm_load): Don't set image's ascent here.
8491 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8492 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8493 check ascent values here.
8494 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8495 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8496 (syms_of_xfns): Initialize Qcenter.
8497
1b0672c3
GM
8498 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8499 to the limits, increase the limits.
8500
0d7811ed
KH
85012000-05-01 Kenichi Handa <handa@etl.go.jp>
8502
8503 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
8504 Check Vfont_encoding_alist against the full name of the opened
8505 font.
8506
a943a5ca
GM
85072000-04-28 Gerd Moellmann <gerd@gnu.org>
8508
8509 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8510 taller than the window.
8511
5dba1e29
KH
85122000-04-28 Kenichi Handa <handa@etl.go.jp>
8513
8514 * xfaces.c (realize_x_face): Fix the argument of the second
8515 xassert. BASE_FACE may not be a face for ASCII.
8516
353964e3
GM
85172000-04-27 Gerd Moellmann <gerd@gnu.org>
8518
c76e04a8
GM
8519 * print.c (print_object): Treat print-length < 0 as nil.
8520
8521 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8522
8523 * s/freebsd.h (TERMCAP_OBJ): Removed.
8524 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8525
8526 * lread.c (read1): Don't treat period followed by certain
8527 characters as symbol start.
8528
8529 * xfns.c (slurp_file): New function.
8530 (xbm_image_p): Handle case of in-memory XBM files.
8531 (xbm_scan): Rewritten to work on memory buffers instead of files.
8532 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8533 Work on memory buffers instead of files. If DATA is null test
8534 if buffer looks like an in-memory XBM file.
8535 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8536 memory buffers instead of files.
8537 (xbm_file_p): New function.
8538 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8539
353964e3
GM
8540 * lread.c (end_of_file_error): New function.
8541 (read1): Call it instead of signaling `end-of-file' directly.
8542
427ec082 8543 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8544 with Fprinc instead of Fprin1.
8545
24d744ac
KR
85462000-04-26 Ken Raeburn <raeburn@gnu.org>
8547
8548 * window.c (freeze_window_start): Check that minibuffer scroll
8549 window isn't nil before extracting the window structure pointer
8550 from it.
8551
8552 * undo.c (record_delete): If we hit the end of the undo list, stop
8553 picking elements apart.
8554
7464346d
GM
85552000-04-26 Gerd Moellmann <gerd@gnu.org>
8556
8557 * xdisp.c (display_line): If lines are continued, restore
8558 iterator's ascent/descent information to the values before the
8559 first glyph not fitting on the line.
8560
612839b6
GM
85612000-04-25 Gerd Moellmann <gerd@gnu.org>
8562
8563 * xdisp.c (try_window_id) <all changes above window start>: Adjust
8564 positions in glyph matrix. Don't compute new window end
8565 positions.
8566
8567 * dispnew.c (increment_matrix_positions): Renamed from
8568 increment_glyph_matrix_buffer_positions.
8569 (increment_row_positions): Renamed from
8570 increment_glyph_row_buffer_positions.
8571
8572 * dispextern.h: Change names of renamed functions from dispnew.c
8573 in prototypes.
8574
cc181e95
GM
85752000-04-24 Gerd Moellmann <gerd@gnu.org>
8576
abfcc168
GM
8577 * fileio.c (Fdo_auto_save): Create directories for auto-save
8578 list file if necessary.
8579
cc181e95
GM
8580 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8581 from buffer or frame.
8582 (automatic_hscrolling_p): New variable.
8583 (hscroll_windows): Scroll windows horizontally only if automatic
8584 hscrolling is allowed.
8585 (syms_of_xdisp): New variable `automatic-hscrolling'.
8586
8587 * frame.h (struct frame): Add member extra_line_spacing.
8588
8589 * xfns.c (x_set_line_spacing): New function.
8590 (Fx_create_frame): Set line spacing from resources.
8591 (Qline_spacing): New variable.
8592 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8593
cc181e95
GM
8594 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8595
8596 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8597 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8598 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8599 extra_line_spacing from default value.
8600 (init_buffer_once): Initialize default value of extra_line_spacing.
8601
8602 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8603 and extra3.
8604
8605 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8606 prompt_width. Add extra line spacing.
8607
8608 * term.c (produce_glyphs): Remove reference to struct it's
8609 prompt_width.
8610
8611 * dispextern.h (struct it): Remove member prompt_width, add
8612 extra_line_spacing.
8613
58827478
GM
86142000-04-22 Gerd Moellmann <gerd@gnu.org>
8615
8616 * dispnew.c (update_frame_line): When writing a whole line, make
8617 sure cursor is in the right row afterwards, otherwise a use of
8618 capability `ch' in cmgoto might leave the cursor in the row below.
8619
25a87f42
GM
86202000-04-21 Gerd Moellmann <gerd@gnu.org>
8621
8622 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8623
8624 * keyboard.c (timer_check): Fix typo in comment.
8625
54edf5c2
KH
86262000-04-21 Kenichi Handa <handa@etl.go.jp>
8627
8628 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8629 name change: ch -> character.
8630
3a64eef5
GM
86312000-04-20 Gerd Moellmann <gerd@gnu.org>
8632
8633 * keyboard.c (echo_message_buffer): New variable.
8634 (echo_now): Set echo_message_buffer to the echo area buffer used
8635 to display the echo.
8636 (cancel_echoing): Reset echo_message_buffer to nil.
8637 (read_char): Code rewritten that handles canceling an echo or
8638 echoing a dash, respectively.
8639
8640 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8641 directory doesn't exist.
8642
6142fdcb
DL
86432000-04-19 Dave Love <fx@gnu.org>
8644
8645 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8646 (concat): Don't allow numeric args.
8647 (Fconcat): Doc change.
6142fdcb 8648
ac6b5352
SM
86492000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8650
8651 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8652 instead define end_match(1|2) more carefully.
8653 Use GET_CHAR_BEFORE_2 for `begline'.
8654
cb9215e4
GM
86552000-04-19 Gerd Moellmann <gerd@gnu.org>
8656
5e3dac3f
GM
8657 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8658 on 64-bit systems where NULL is defined as `0'.
8659
8660 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8661 the `variable argument list' to make it work on Alpha.
8662
cb9215e4
GM
8663 * m/alpha.h (_LP64) [!_LP64]: Define.
8664 (ORDINARY_LINK): Define for NetBSD.
8665
8666 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8667
f532dca0
DL
86682000-04-19 Dave Love <fx@gnu.org>
8669
c750667e
DL
8670 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8671 change.
8672
8673 * Makefile.in (LIBS): Don't use.
8674 (GETLOADAVG_OBJ): Define again.
8675 (otherobj): Add GETLOADAVG_OBJ.
8676
f532dca0
DL
8677 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8678
1c7e22fd
GM
86792000-04-18 Gerd Moellmann <gerd@gnu.org>
8680
f6d3257b
GM
8681 * lread.c (read_filtered_event): Cancel and start busy cursor.
8682
427ec082 8683 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8684 that the per-character metrics may be null.
8685
e10f64e7
GM
86862000-04-17 Gerd Moellmann <gerd@gnu.org>
8687
0daee095
GM
8688 * buffer.c (clone_per_buffer_values): New function.
8689 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8690 clone_per_buffer_values if CLONE is not nil.
8691
e10f64e7
GM
8692 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8693
38687d43
DL
86942000-04-16 Dave Love <fx@gnu.org>
8695
8696 * Makefile.in: Remove obsolete localcpp stuff.
8697 (GETLOADAVG_OBJ): Don't define.
8698 (obj): Move LIBOBJS...
8699 (otherobj): ... to here.
8700 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8701 whitespace-only lines after the continuation (Irix).
8702
c21c7262
GM
87032000-04-14 Gerd Moellmann <gerd@gnu.org>
8704
8705 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8706
8707 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8708
314767c0
DL
87092000-04-14 Dave Love <fx@gnu.org>
8710
8711 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8712 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8713 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8714 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8715 NLIST_STRUCT.
8716
8717 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8718 autoconfiscated HAVE_GETLOADAVG.
8719
8720 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8721 BROKEN_MKTIME.
8722
a2522dca
GM
87232000-04-14 Gerd Moellmann <gerd@gnu.org>
8724
8725 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
8726 (fill_in_lock_file_name): Avoid existing files that aren't
8727 links.
8728
33744b5d
DL
87292000-04-14 Dave Love <fx@gnu.org>
8730
c21c7262 8731 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8732 (INTERVAL_SRC): Convert to make variable.
8733 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8734 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8735 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8736 add LIBOBJS.
8737 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8738 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8739 (shortlisp): Add facemenu, float-sup, frame.
8740 (SOME_MACHINE_LISP): Remove them from here.
8741 (LIBES): Change unused LDLIBS to autoconf LIBS.
8742
8743 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8744
9d3d5916
KH
87452000-04-14 Kenichi Handa <handa@etl.go.jp>
8746
8747 * composite.c (update_compositions): If FROM and TO are not in a
8748 valid range, do nothing.
8749
198e3c7a
GM
87502000-04-13 Gerd Moellmann <gerd@gnu.org>
8751
8752 * tparam.c (tparam1): Abort when encountering an unknown
8753 `%'-specifier.
8754
8755 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
8756 terminfo.o.
8757
8758 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8759 as TERMCAP_OBJ.
8760
055a28c9
EZ
87612000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8762
8763 * fileio.c (a_write): Remove redundant semi-colons.
8764 (e_write): Return -1 if failed to write all the data.
8765 This fixes the changes made at 1999-12-15.
8766
f5c75033
DL
87672000-04-12 Dave Love <fx@gnu.org>
8768
8769 * fns.c (mapcar1): Test for null vals to support mapc.
8770 (Fmapc): New function.
8771
0c3cfc51
EZ
87722000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8773
8774 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8775 (IT_frame_up_to_date): Support the buffer local value of
8776 cursor-type, if defined.
8777
33465a31
DL
87782000-04-10 Dave Love <fx@gnu.org>
8779
8780 * editfns.c (preceding-char, following-char): Doc fix.
8781
6ed56568
KR
87822000-04-10 Ken Raeburn <raeburn@gnu.org>
8783
8784 * Makefile.in (temacs): Revert 2000-03-12 change.
8785
7cf80d4e
JR
87862000-04-10 Jason Rumney <jasonr@gnu.org>
8787
8788 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8789
34f3f342
GM
87902000-04-10 Gerd Moellmann <gerd@gnu.org>
8791
1a1b1895
GM
8792 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8793 area buffer, if it's not set up yet.
8794
34f3f342
GM
8795 * indent.c (compute_motion): Set immediate_quit.
8796
be0dbdab
GM
87972000-04-09 Gerd Moellmann <gerd@gnu.org>
8798
c45be9ac
GM
8799 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
8800 variable.
8801 (realize_tty_face): Suppress boldness if colors are the inverse of
8802 the default colors, and tty_suppress_bold_inverse_default_colors_p
8803 is set.
8804 (Ftty_suppress_bold_inverse_default_colors): New function.
8805 (syms_of_xfaces): Defsubr it.
8806
be0dbdab
GM
8807 * buffer.c (Frestore_buffer_modified_p): New function.
8808 (syms_of_buffer): Defsubr it.
8809
e8413c3b
KR
88102000-04-08 Ken Raeburn <raeburn@gnu.org>
8811
87f67317
KR
8812 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8813 charset id (int) argument, not a charset (Lisp_Object).
8814
e8413c3b
KR
8815 * coding.h (code_convert_string): Declare.
8816 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8817 object, as the fourth argument to code_convert_string.
8818
8819 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
8820 value.
8821 (Fset_fontset_font): Use EQ to compare lisp objects.
8822
7c752c80
KR
88232000-04-05 Ken Raeburn <raeburn@gnu.org>
8824
c0333abc
KR
8825 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8826 a pointer that looks like a lisp object.
8827 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8828 zero, instead see whether it's an integer object, since they can't
8829 have intervals.
8830 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8831
7c752c80
KR
8832 * dispnew.c (allocate_matrices_for_frame_redisplay,
8833 direct_output_forward_char): Use X(U)INT and make_number as needed
8834 to convert between (unsigned) int values and lisp integers.
8835 * keyboard.c (read_key_sequence): Likewise.
8836 * lread.c (substitute_object_recurse): Likewise.
8837 * fns.c (concat, hash_lookup, hash_remove): Likewise.
8838 * minibuf.c (do_completion, Fminibuffer_complete_word,
8839 Fminibuffer_completion_help): Likewise.
8840 * term.c (produce_special_glyphs): Likewise.
8841
8842 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8843 * print.c (print_preprocess, print_object): Likewise.
8844
8845 * search.c (compile_pattern): Use NILP when checking for nil.
8846
74e49b38
KR
8847 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8848 __OPTIMIZE__]: Provide a GNU C macro version that handles
8849 lisp-object unions.
8850 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8851 field, to better cope with ENABLE_CHECKING and calls that modify a
8852 Lisp_Object using its old value.
8853
685e5ed2
GM
88542000-04-04 Gerd Moellmann <gerd@gnu.org>
8855
c407c570
GM
8856 * window.c (compare_window_configurations): Signal an error
8857 if parameters C1 or C2 aren't window configurations.
8858
685e5ed2
GM
8859 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8860 AFTER_POTENTIAL_GC calls around calls to functions that can
8861 signal an error and thus invoke the debugger.
8862
587a49ab
GM
88632000-04-03 Gerd Moellmann <gerd@gnu.org>
8864
62f20204
GM
8865 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8866 an error if decoding fails.
8867
587a49ab
GM
8868 * keyboard.c (lispy_mouse_names): Variable removed.
8869 (Vlispy_mouse_stem): New variable.
8870 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8871 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8872 for any mouse button number. Increase size of mouse_syms and
8873 button_down_location as needed. Call modify_event_symbol with
8874 different arguments.
8875 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8876 Call modify_event_symbol with different arguments.
8877 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8878 for any button number. Call modify_event_symbol with different
8879 arguments.
8880 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8881 Accept a string for NAME_ALIST_OR_STEM.
8882
8883 * lisp.h (larger_vector): Add prototype.
8884
8885 * fns.c (larger_vector): Make externally visible.
8886
8887 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8888
2d1675e4
SM
88892000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8890
8891 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8892 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8893 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8894 we are between str1 and str2.
8895 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8896 (PATFETCH): Use `TRANSLATE'.
8897 (PATFETCH_RAW): Fetch multibyte char if applicable.
8898 (PATUNFETCH): Remove.
8899 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8900 When writing a char, write it directly into the pattern buffer rather
8901 than going needlessly through a temp char-array.
8902 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8903 multibyte magic and remove the useless `#ifdef emacs'.
8904 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8905 buffer.
8906
8907 * regex.h (struct re_pattern_buffer): Make field `multibyte'
8908 conditional on `emacs'.
8909
8910 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
8911
cc2d8c6b
KR
89122000-04-01 Ken Raeburn <raeburn@gnu.org>
8913
8914 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
8915 non-union-type versions of XMARK and friends here, because XMARK
8916 and friends won't work on an integer field if NO_UNION_TYPE is not
8917 defined.
8918 (make_number): Define as a function if it's not defined as a
8919 macro.
8920
09654086
KR
8921 * composite.c (run_composite_function): Use NILP when checking for
8922 nil.
8923 (syms_of_composite): Delete local var NARGS, pass an int as first
8924 argument to Fmake_hash_table.
8925
2387b382
KR
8926 * editfns.c (text_property_stickiness): Use NILP to test
8927 Lisp_Object boolean value.
8928 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
8929 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
8930 problems reading from and changing the same lisp value in an
8931 XSETSTRING call.
8932
27660e89
GM
89332000-04-01 Gerd Moellmann <gerd@gnu.org>
8934
8935 * term.c (TN_no_color_video): New variable.
8936 (term_init): Intitialize TN_no_color_video.
8937 (enum no_color_bit): New enumeration.
8938 (MAY_USE_WITH_COLORS_P): New macro.
8939 (turn_on_face): Use it to determine if attributes may be used
8940 combined with colors.
8941
3578db3c
KR
89422000-04-01 Ken Raeburn <raeburn@gnu.org>
8943
8944 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
8945 with int lvalues via casts; instead, just yield lisp object
8946 lvalues.
8947 (enlarge_window): Variable sizep now points to Lisp_Object. Use
8948 proper accessor macros.
8949 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
8950 (grow_mini_window): Fix typo getting int value of root->height.
8951
6fc556fd
KR
8952 * xdisp.c (compute_string_pos): Fix order of arguments to
8953 string_pos_nchars_ahead.
8954 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
8955 count arg to variable-arg routines like Frun_hook_with_args and
8956 Fformat.
587a49ab
GM
8957 (back_to_previous_visible_line_start)
8958 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
8959 fixed-arg routines like Fget_char_property and Fmake_string.
8960 (reconsider_clip_changes): Use XINT when comparing integer lisp
8961 objects, or passing them as int arguments.
587a49ab
GM
8962 (mark_window_display_accurate, insert_left_trunc_glyphs)
8963 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
8964 storing or passing integer values as lisp objects.
8965 (set_cursor_from_row, highlight_trailing_whitespace): Use
8966 INTEGERP, not implicit test against zero, for glyph object.
8967 (try_window_id): Don't use make_number when we want an int value.
8968
8969 * xfaces.c (xlfd_symbolic_value): Make last argument a
8970 Lisp_Object, to be consistent with callers.
8971 (Fbitmap_spec_p): Use XINT to get numeric value of height.
8972 (lface_hash): Apply XFASTINT to lisp values before folding in.
8973
8974 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
8975 fill in window width and height. Pass an int, not a lisp object,
8976 as first arg to Finsert.
8977
6e7b2457
GM
89782000-04-01 Gerd Moellmann <gerd@gnu.org>
8979
610d841e
GM
8980 * xfaces.c (realize_basic_faces): Block input while realizing
8981 the faces.
8982
6e7b2457
GM
8983 * keyboard.c (lispy_mouse_names): Add additional mouse names.
8984
8985 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
8986
aa110c0c
GM
89872000-03-31 Gerd Moellmann <gerd@gnu.org>
8988
8989 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 8990 or ASCII, handle case that per-char metric is null.
aa110c0c 8991
8801a864
KR
89922000-03-30 Ken Raeburn <raeburn@gnu.org>
8993
c6129d7e
KR
8994 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
8995
8801a864
KR
8996 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
8997 XSUBR, XBUFFER): Verify correct object type before returning
8998 pointer, using eassert.
8999 * frame.h (XFRAME): Likewise.
9000
9001 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
9002 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9003 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
9004 type.
9005 * data.c (set_internal): Likewise.
9006 * dispextern.h (WINDOW_WANTS_MODELINE_P,
9007 WINDOW_WANTS_HEADER_LINE_P): Likewise.
9008 * fileio.c (auto_save_1): Likewise.
9009 * insdel.c (check_markers): Likewise.
9010 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9011 * undo.c (record_insert): Likewise.
9012 * vmsproc.c (child_sig): Likewise.
9013 * window.c (unshow_buffer, window_loop): Likewise.
9014 * xterm.c (x_erase_phys_cursor): Likewise.
9015
8e7af858
GM
90162000-03-30 Gerd Moellmann <gerd@gnu.org>
9017
9018 * xfns.c (free_image_cache): Free the cache structure itself
9019 last, after all its members have been freed.
9020
9021 * lisp.h (xstrdup): Add prototype.
9022
9023 * alloc.c (xstrdup): Moved here from xfaces.c.
9024 (allocating_for_lisp): Variable removed.
9025 (lisp_malloc): Block input around the calls to malloc and
9026 mem_insert.
9027
9028 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9029 of Fsymbol_value.
9030 (xstrdup): Moved to alloc.c.
9031
e0b8c689
KR
90322000-03-29 Ken Raeburn <raeburn@gnu.org>
9033
b96f9fb7
KR
9034 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9035
9036 * emacs.c (main): Fix sense of no-loadup test.
9037
e0b8c689
KR
9038 * config.in (ENABLE_CHECKING): Undef.
9039
9040 * lisp.h (struct interval): Replace "parent" field with a union of
9041 interval pointer and Lisp_Object; add new bitfield to use as
9042 discriminant. Change other flag fields to bitfields.
9043 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
9044 is defined and the supplied test fails, print a message and
9045 abort.
9046 (eassert): New macro. Use CHECK to provide an assert-like
9047 facility.
9048
9049 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9050 pointers; abort if the value looks like a lisp object.
9051 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
9052 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
9053 Modify for new interval parent definition.
9054
9055 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
9056 UNMARK_BALANCE_INTERVALS): Update references that need an
9057 addressable lisp object in the interval structure.
9058 (die): New function.
9059 (suppress_checking): New variable.
9060
9061 * intervals.c (interval_start_pos): Just return 0 if there's no
9062 parent object.
9063
f83c5440
GM
90642000-03-29 Gerd Moellmann <gerd@gnu.org>
9065
9066 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9067 and earlier Emacs versions.
9068
9069 * keyboard.c (Ftop_level): Cancel busy-cursor.
9070
9071 * eval.c (call_debugger): Cancel busy-cursor.
9072
fdce64ff
KH
90732000-03-29 Kenichi Handa <handa@etl.go.jp>
9074
9075 * search.c (Freplace_match): Adjust multibyteness of the current
9076 buffer and NEWTEXT. Free allocated memory before signaling an
9077 error.
9078
f6a3f532
SM
90792000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9080
9081 * regex.c (analyse_first): New function obtained by ripping out most
9082 of re_compile_fastmap and generalizing it a little bit so that it
9083 can also just return whether a given (sub)pattern can match the empty
9084 string or not.
9085 (regex_compile): Use `analyse_first' to decide whether the loop-check
9086 needs to be done or not for *, +, *? and +? (the loop check is costly
9087 for non-greedy repetition).
9088 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9089
e9b309ac
DL
90902000-03-28 Dave Love <fx@gnu.org>
9091
bb15bd9a
DL
9092 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
9093 alpha.
9094
e9b309ac
DL
9095 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9096
ed0767d8
SM
90972000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9098
9099 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9100 an expression.
9101 (enum re_opcode_t): Update description of succeed_n.
9102 (PATFETCH): Always define.
9103 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9104 operators, char classes, shy-groups and intervals).
9105 Optimize special cases of intervals so as to only use succeed_n and
9106 jump_n when really needed.
9107 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9108 that we don't have to handle the special cases any more.
9109 Simplify on_failure_jump handling as well.
9110
e11e7e46
JR
91112000-03-28 Jason Rumney <jasonr@gnu.org>
9112
9113 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9114
88faab89
GM
91152000-03-27 Gerd Moellmann <gerd@gnu.org>
9116
182ff242
GM
9117 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9118
9119 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9120
182ff242
GM
9121 * alloc.c (mark_maybe_object): New function.
9122 (mark_memory): Use it.
9123 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9124 (setjmp_tested_p, longjmp_done): New variables.
9125 (test_setjmp): New function.
9126 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9127 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9128
c1005d06
GM
9129 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9130 to DEC_TEXT_POS and INC_TEXT_POS.
9131
9132 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9133 with parameter MULTIBYTE_P.
9134
427ec082 9135 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
9136 MULTIBYTE_P.
9137
7439e5b9 9138 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9139 buffers because it looks for multibyte character byte sequences
9140 which don't exist in unibyte text.
7439e5b9 9141
d9c545da
GM
9142 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9143
11fd416e 9144 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9145 [DEBUG_X_COLORS]: New functions.
9146 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9147
9148 * xfns.c (x_set_cursor_color): Get color reference counts right.
9149
9150 * xterm.c (x_copy_color): New function.
9151 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9152
9153 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9154 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9155 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9156 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9157 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9158 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9159 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9160 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9161 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9162 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9163
11fd416e
GM
9164 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9165 names for handling per-buffer variables.
d9c545da
GM
9166
9167 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9168 instead of MAX_BUFFER_LOCAL_VARS.
9169 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9170
9171 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9172
88faab89
GM
9173 * xfns.c (x_specified_cursor_type): New function.
9174 (x_set_cursor_type): Use it.
9175
9176 * buffer.h (struct buffer): Add cursor_type.
9177
d80f42b7
SM
91782000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9179
9180 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 9181 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 9182 opcode.
d80f42b7
SM
9183 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9184 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9185 executing it as well as when popping it off the stack to find infinite
9186 loops in non-greedy repetition operators.
9187
89e80928
GM
91882000-03-26 Gerd Moellmann <gerd@gnu.org>
9189
3d4ff2dd
GM
9190 * doc.c (Qfunction_documentation): New variable.
9191 (syms_of_doc): Initialize Qfunction_documentation.
9192 (Fdocumentation): If FUNCTION is a symbol with non-nil
9193 `function-documentation' property, return a documentation derived
9194 from that.
9195
bd96bd79
GM
9196 * buffer.c (syms_of_buffer): Add default-cursor-type.
9197 (init_buffer_once): Don't let cursor_type have a local value
9198 in every buffer.
9199
19d1bc27
GM
9200 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9201 on buffer-local value of cursor_type.
9202 (x_draw_bar_cursor): Add parameter WIDTH.
9203
9204 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9205 (init_buffer_once): Set default cursor_type value to t.
9206 Mark cursor_type as local everywhere.
9207 (syms_of_buffer): New per-buffer variable cursor-type.
9208
89e80928
GM
9209 * buffer.h (struct buffer): Remove member local_var_flags,
9210 add local_flags.
9211 (MAX_BUFFER_LOCAL_VARS): New macro.
9212 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9213 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9214 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9215 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9216
9217 * print.c (print_object): Use new macros for per-buffer
9218 variables.
9219
9220 * category.c (Fset_category_table): Use new macros for per-buffer
9221 variables.
9222
9223 * buffer.c (buffer_permanent_local_flags): Make a char array.
9224 (max_buffer_local_idx): New variable.
9225 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9226 for new handling of per-buffer variables.
9227 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9228 (init_buffer_once): Initialize per-buffer vars differently.
9229 Set max_buffer_local_idx.
9230
9231 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9232 variables.
9233
9234 * lread.c (defvar_per_buffer): Use new macros for per-buffer
9235 variables.
9236
9237 * data.c (do_symval_forwarding, store_symval_forwarding)
9238 (find_symbol_value, set_internal, default_value, Fset_default)
9239 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9240 per-buffer variables.
9241
9242 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9243
9a0dd3dc
GM
92442000-03-24 Gerd Moellmann <gerd@gnu.org>
9245
b68c375f
GM
9246 * xterm.c (x_term_init): Unblock input around call1 of
9247 Qvendor_specific_keysyms.
9248
9a0dd3dc
GM
9249 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9250 (find_defun_start): Consider an open parenthesis in column 0
9251 a defun start only if open_paren_in_column_0_is_defun_start is set.
9252 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9253
7973e637
SM
92542000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9255
9256 * eval.c (Fautoload): Add entry in load-history (if after dump).
9257 * lread.c (load-history): Update docstring.
9258
39210e90
GM
92592000-03-24 Gerd Moellmann <gerd@gnu.org>
9260
9261 * indent.c (Fvertical_motion): Always use the current buffer.
9262 Temporarily change the window's buffer, if necessary.
9263
72db3ab5
GM
92642000-03-23 Gerd Moellmann <gerd@gnu.org>
9265
9266 * xterm.c (fast_find_position): Make sure not to consider rows
9267 not visible in the window.
9268
990b2375
SM
92692000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9270
9271 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9272 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9273
ff4df011
JR
92742000-03-22 Jason Rumney <jasonr@gnu.org>
9275
9276 * w32menu.c (single_submenu): Set help string to NULL if none.
9277 (w32_menu_show): Set help string correctly.
9278 (add-menu-item): Set help string in MIIM_DATA for menu item.
9279 Load SetMenuItemInfoA explicitly.
9280 (w32_menu_display_help): New function.
427ec082 9281
ff4df011
JR
9282 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9283 (QCdata): Moved to xdisp.c.
9284
9285 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9286 (Vw32_charset_to_codepage_alist): Removed.
9287 (Vw32_charset_info_alist): New variable.
9288 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
9289 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
9290 greek, hebrew, thai, johab, mac, unicode]): New symbols.
9291 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9292 with TODO comment.
9293 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9294 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9295 Define Vw32_charset_info_alist and w32_charset symbols.
9296
92972000-03-22 Jason Rumney <jasonr@gnu.org>
9298
9299 * makefile.nt (w32bdf.obj): Update dependencies.
9300
9301 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9302
9303 * w32fns.c: Include fontset.h after dispextern.h.
9304 (Fx_create_frame): Do not create fontset.
9305 (w32_load_system_font): Doc fix.
9306 (Fx_close_connection): Free full_name if it is not shared.
9307
9308 * w32term.c: Include fontset.h after dispextern.h.
9309 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
9310 updated.
9311 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9312 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9313 (w32_font_is_double_byte): New function, needs body.
9314 (x_append_glyph): Set glyph->glyph_not_available_p.
9315 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9316 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9317 character, convert it to a unibyte character.
9318 (struct glyph_string): Delete member `charset'.
9319 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9320 calculating it is found.
9321 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9322 the case that per char metric is not available correctly.
9323 (x_fill_glyph_string): Handle the case that the specific glyph is
9324 not available correctly.
9325 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9326 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9327 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9328 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9329 fontset. Don't call FS_LOAD_FONT.
9330
439d5cb4
KR
93312000-03-22 Ken Raeburn <raeburn@gnu.org>
9332
9333 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9334 (INT_LISPLIKE): New macro.
9335 (NULL_INTERVAL_P): Use it.
9336 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
9337 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
9338 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
9339
9340 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9341 explicit references to "parent" field of struct interval and
9342 associated unclean type conversions.
9343 * intervals.c (create_root_interval, root_interval, rotate_right,
9344 rotate_left, balance_possible_root_interval, split_interval_right,
9345 split_interval_left, interval_start_pos, find_interval,
9346 next_interval, previous_interval, update_interval,
9347 adjust_intervals_for_insertion, delete_node, delete_interval,
9348 adjust_intervals_for_deletion, merge_interval_right,
9349 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
9350 copy_intervals_to_string): Likewise.
9351 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9352 Likewise.
9353 * syntax.c (update_syntax_table): Likewise.
9354
9355 * intervals.c (reproduce_tree_obj): New function, like
9356 reproduce_tree but takes a Lisp_Object for the parent. Declare
9357 with prototype.
9358 (graft_intervals_into_buffer): Use it when appropriate.
9359 (reproduce_tree): Declare with prototype.
9360 (balance_possible_root_interval): Check that the parent is a lisp
9361 object before trying to examine its type.
9362
ee1c5b21
GM
93632000-03-22 Gerd Moellmann <gerd@gnu.org>
9364
9365 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9366 as strings only if both are known to be strings.
9367
9368 * s/openbsd.h (LIBS_TERMCAP): Undef.
9369
1fb352e0
SM
93702000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9371
9372 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9373 definitions for non-Emacs compilation.
9374 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9375 outside of `#ifdef emacs'.
9376 (print_partial_compiled_pattern): Update.
9377 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9378 (re_compile_fastmap): Merge handling of charset and charset_not (for
9379 emacs and non-emacs compilation as well).
9380 Similarly for (not)categoryspec and (not)syntaxspec.
9381 Don't use the fastmap when reaching `anychar' since the added
9382 complexity is not justified.
9383 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9384 and (not)syntaxspec. Merge (not)categoryspec.
9385
fdaa1f77
KH
93862000-03-22 Kenichi Handa <handa@etl.go.jp>
9387
ff1a0d8e
KH
9388 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
9389 FACE_FOR_CHAR): Define them differently for the configuration of
9390 --without-x.
fdaa1f77 9391
d152fb46
DL
93922000-03-21 Dave Love <fx@gnu.org>
9393
9394 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9395 doc string.
9396
d2cafc8c
GM
93972000-03-21 Gerd Moellmann <gerd@gnu.org>
9398
9399 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9400 (lface_fully_specified_p): Don't check contents of
9401 LFACE_FONT_INDEX because that attribute is optional.
9402 (realize_x_face): Remove now unwarranted xassert.
9403
9111d4b5
KH
94042000-03-21 Kenichi HANDA <handa@etl.go.jp>
9405
9406 The following changes are to make font selection based on
9407 characters, not charset. In addition, they recover fontset
9408 facilities while utilizing the new font selection mechanism.
9409
6c4bfdc0
KH
9410 * Makefile.in (fontset.o): Depend on dispextern.h.
9411
9412 * alloc.c (mark_face_cache): Don't mark face->registry.
9413
9111d4b5
KH
9414 * dispextern.h (struct glyph): New member glyph_not_available_p.
9415 Use 22 bits for face_id.
9416 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9417 (struct face): Delete member registry, new member ascii_face.
9418 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9419 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9420 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
9421 (struct it): Delete member charset, new member
9422 glyph_not_available_p.
9423
9424 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9425 (struct fontset_info, struct fontset_data): Structs removed.
9426 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
9427 Vglobale_fontset_alist, font_idx_temp): Externs removed.
9428 (fs_load_font, fs_query_fontset): Adjusted for new argument.
9429 (fs_free_face_fontset, fontset_font_pattern,
9430 face_suitable_for_char_p, face_for_char,
9431 make_fontset_for_ascii_face): Extern them.
9432 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9433 (FS_LOAD_FACE_FONT): New macro.
9434
9435 * fontset.c: All codes rewritten or adjusted for the change of
9436 fontset implementation. Now fontset is represented by char table.
9437 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
9438 removed.
9439 (my_strcasecmp): Function removed.
9440 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
9441 variables.
9442 (AREF, ASIZE): New macros.
9443 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
9444 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
9445 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9446 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
9447 fontset_id_valid_p, font_family_registry, fontset_name,
9448 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
9449 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9450 New functions.
9451 (fs_load_font): New arg FACE. Caller changed.
9452 (fs_query_fontset): Argument changed. Caller changed.
9453 (Fquery_fontset): call fs_query_fontset.
9454 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9455 Functions removed.
9456 (clear_fontset_elements, check_registry_encoding,
9457 check_fontset_name): New functions.
9458 (syms_of_fontset): Set char-table-extra-slots property of fontset
9459 to 3. Staticpro and initialize Vfontset_table and
9460 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9461
9462 * frame.h (struct frame): Member `fontset_data' removed.
9463 (FRAME_FONTSET_DATA): Macro removed.
9464
9465 * frame.c (make_frame): Don't allocate f->fontset_data.
9466 (Fdelete_frame): Don't free f->fontset_data.
9467
6c4bfdc0
KH
9468 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9469
9111d4b5
KH
9470 * xdisp.c (charset_at_position): Function removed.
9471 (init_iterator): Don't set member charset of struct `it'.
9472 (handle_face_prop, reseat_to_string, set_iterator_to_next,
9473 next_element_from_display_vector, insert_left_trunc_glyphs):
9474 Likewise.
9475 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9476 FACE_FOR_CHARSET.
9477 (get_next_display_element, append_space,
9478 extend_face_to_end_of_line): Likewise.
9479
9480 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9481 Variables removed.
9482 (clear_font_table, frame_update_line_height, load_face_font):
9483 Adjusted for the change of fontset implementation.
9484 (load_face_fontset_font): Function removed.
9485 (pixel_point_size): New function.
9486 (font_list): Argument type changed. Caller changed.
9487 (LFACE_FONT): New macro.
9488 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9489 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9490 Lisp_Object. Determine the font name by actually loading a font
9491 by the specified pattern. Set LFACE_FONT (lface) to the specified
9492 pattern. Even if a font is not found, don't try alternatives.
9493 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9494 (set_font_frame_param): If `font' is specified in lface, use it.
9495 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9496 (lface_same_font_attributes_p): Likewise.
9497 (make_realized_face): Arguent changed. Caller changed. Set
9498 face->ascii_face to face itself.
9499 (free_realized_face): Free face->fontset if face is for ASCII.
9500 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
9501 deduce_unibyte_registry, x_charset_registry): Functions removed.
9502 (free_realized_multibyte_face): New function.
9503 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9504 changed. Caller changed.
9505 (try_font_list): Argument type changed.
9506 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9507 (choose_face_font): Argument changed. Handle fontset properly.
9508 (choose_face_fontset_font): Function removed.
9509 (realize_default_face, realize_named_face): Don't remove the
9510 former face here.
9511 (realize_face): Argument changed. Caller changed. Remove face
9512 with the arg former_face_id in advance. Load font for the new
9513 face.
9514 (realize_x_face): Argument changed. Caller changed. For a
9515 multibyte character, share fontset with base_face. For a single
9516 byte character, make a new realized fontset. Don't load a font
9517 here.
9518 (realize_tty_face): Argument changed. Caller changed.
9519 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9520 (face_at_buffer_position): Don't check multibyte_p for returning
9521 DEFAULT_FACE_ID.
9522 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9523 FACE_SUITABLE_FOR_CHARSET_P.
9524 (syms_of_xfaces): Remove code for Qx_charset_registry and
9525 Vface_default_registry.
9526
6c4bfdc0
KH
9527 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9528 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9529 (x_per_char_metric): Don't try FONT->default_char. Even if
9530 pcm->width is zero, glyph bits may exist.
9531 (x_encode_char): Always initialize char2b->byte1.
9532 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
9533 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
9534 changed.
9535 (x_append_glyph): Set glyph->glyph_not_available_p.
9536 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9537 it->charset. Handle the case that per char metric is not
9538 available. If it->multibyte_p is zero and it->c is a multibyte
9539 character, convert it to a unibyte character.
9540 (struct glyph_string): Delete member `charset'.
9541 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9542 the case that per char metric is not available correctly.
9543 (x_fill_glyph_string): Handle the case that the specific glyph is
9544 not available correctly.
9545 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9546 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9547 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9548 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9549 fontset. Don't call FS_LOAD_FONT.
9550
9551 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9552 (x_create_tip_frame): Likewise.
9553 (Fx_close_connection): Free full_name of font_info.
9554
9555 * fns.c (optimize_sub_char_table): New function.
9556 (Foptimize_char_table): New function.
9557 (syms_of_fns): Defsubr Soptimize_char_table.
9558
b33dd3b0
GM
95592000-03-20 Gerd Moellmann <gerd@gnu.org>
9560
9561 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9562 only if buffer is displayed in some window.
9563
9564 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9565 (try_window_reusing_current_matrix): Don't call scroll run
9566 function if run's current and desired position are the same;
9567 this prevents cursor flickering.
9568
4e8a9132
SM
95692000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9570
9571 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9572
9573 * regex.c (RE_STRING_CHAR): New macro.
9574 (GET_CHAR_AFER_2): Remove.
9575 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9576 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9577 (print_partial_compiled_pattern, re_compile_fastmap)
9578 (re_match_2_internal): Remove on_failure_jump_exclusive.
9579 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9580 optimization only need to work for * (ie. can use of_keep_string_jump).
9581 Remove the special case for .*\n since it is now covered by the general
9582 optimization.
9583 (re_search_2): Don't bother with `room'.
9584 (skip_one_char): New function.
9585 (skip_noops): Simplify since `memory' is not needed any more.
9586 (mutually_exclusive_p): Restructure slightly to use `switch' and
9587 add handling for "all" remaining cases.
9588 (re_match_2_internal): Change on_failure_jump_smart to use
9589 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9590 rather than on_failure_jump_exclusive.
9591
2136fdd4
GM
95922000-03-19 Gerd Moellmann <gerd@gnu.org>
9593
9594 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9595 number of bits per RGB because it's everywhere used as the depth
9596 of the visual.
9597
9598 * term.c (calculate_costs): Remove code dealing with X frames.
9599
18e21ce8 96002000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9601
9602 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9603
d7b511c4
GM
96042000-03-18 Gerd Moellmann <gerd@gnu.org>
9605
9606 * lread.c (read_integer): Unread the last char not consumed.
9607
16b5d424
GM
96082000-03-17 Gerd Moellmann <gerd@gnu.org>
9609
9610 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9611 which are in the process of being deleted.
16b5d424 9612
1fa28578
GM
96132000-03-16 Gerd Moellmann <gerd@gnu.org>
9614
83488cce
GM
9615 * Makefile.in (mostlyclean): Add `*.core'.
9616 (clean): Add `bootstrap-emacs'.
9617
1fa28578
GM
9618 * lread.c (read_integer): New function.
9619 (read1): Support read syntax #o, #x, #b, #r.
9620
99633e97
SM
96212000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9622
1fa28578
GM
9623 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9624 make sure POINTER_TO_OFFSET gives the same value before and after
9625 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9626 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9627 (debug): Now only active if > 0 rather than if != 0.
9628 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9629 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9630 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9631 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9632 (store_op1, store_op2, insert_op1, insert_op2)
9633 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9634 (group_in_compile_stack): Move to after its arg's types are
9635 declared and add a prototype.
99633e97 9636 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
9637 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
9638 wrapper.
99633e97 9639 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9640 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9641 indentation of the greedy-op and shy-group code.
99633e97
SM
9642 (at_(beg|end)line_loc_p): Fix argument's types.
9643 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9644 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9645 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9646 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9647 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9648 QUIT unconditionally.
99633e97 9649
699238d9
GM
96502000-03-15 Gerd Moellmann <gerd@gnu.org>
9651
9652 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9653 a sole completion.
9654
9655 * process.c (send_process): Add a hint that the function
9656 can call Lisp code to its comment.
9657
9658 * lread.c (load_dangerous_libraries): New variable.
9659 (Vbytecomp_version_regexp): New variable.
9660 (safe_to_load_p): New function.
9661 (Fload): Handle files not compiled with Emacs specially.
9662 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9663
34e23e5a
GM
96642000-03-14 Gerd Moellmann <gerd@gnu.org>
9665
9c763cca
GM
9666 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9667
9668 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9669 support functions only if HAVE_X11R6_XIM is defined.
9670 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9671
9672 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9673
9674 * xfns.c (X_I18N_INHIBITED): Don't define.
9675 (create_frame_xic): Remove conditional compilation on
9676 X_I18N_INHIBITED.
9677 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9678
9679 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9680 (HAVE_X11R6_XIM): Define.
9681
9682 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9683
34e23e5a
GM
9684 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9685 If set, call XSynchronize.
9686
66f0296e
SM
96872000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9688
34e23e5a
GM
9689 * regex.c: Declare a new type `re_char' used throughout the code
9690 for the string char type. It's `const unsigned char' to match the
9691 rest of Emacs. Consistently make sure all pointers to strings use
9692 it and make sure all pointers into the pattern use `unsigned
9693 char'.
66f0296e 9694 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9695 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9696 code duplication.
66f0296e
SM
9697
9698 * charset.h (GET_CHAR_AFTER_2): Remove.
9699 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9700
854a025c
KR
97012000-03-12 Ken Raeburn <raeburn@gnu.org>
9702
9703 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9704 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9705 of them try to use backquotes.
9706
b9d2c7e2
DL
97072000-03-12 Dave Love <fx@gnu.org>
9708
9709 * unexelf.c: Restore changes of 1999-10-19.
9710 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9711 fix its type and alignment; copy it from current process.
9712
5e5dff44
GM
97132000-03-12 Gerd Moellmann <gerd@gnu.org>
9714
9b2f3c38
GM
9715 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9716 has been found. Fix bug not computing timer's predecessor.
9717
427ec082 9718 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9719 file name.
9720
e1cff360
GM
9721 * window.c (Fsave_window_excursion): Doc fix.
9722
5e5dff44
GM
9723 * xfns.c (x_defined_color): Rewritten to use
9724 x_allocate_nearest_color.
9725
e411ce4b
EZ
97262000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9727
9728 * msdos.c (vga_installed): New function, code moved from
9729 dos_set_window_size.
9730 (Qbar, Qcursor_type, outside_cursor): New variables.
9731 (syms_of_msdos): Intern and staticpro them.
9732 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9733 shape used outside Emacs when called for the first time.
9734 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9735 cursor shape used outside Emacs.
9736 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9737 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9738 type has changed.
9739 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9740 parameters specify the cursor. Make qreverse a global
9741 variable (renamed to Qreverse).
9742
80460654
GM
97432000-03-09 Gerd Moellmann <gerd@gnu.org>
9744
9745 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9746
95cd4c40
SM
97472000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9748
9749 This is a big redesign of failure-stack and register handling, prompted
9750 by bugs revealed when trying to add shy-groups. Overall, what happened
9751 is that loops are now structured a little differently, groups can be
9752 shy and the code is a little simpler.
9753
9754 * regex.h: Update the copyright.
9755 (RE_SHY_GROUPS): New value.
9756 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9757 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9758
80460654
GM
9759 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9760 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9761 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9762 for (start|stop)_memory since they now only take one argument (the
9763 second has becomes unnecessary).
9764 (print_partial_compiled_pattern): Adjust for changes in
9765 re_opcode_t.
9766 (print_compiled_pattern): Use %ld to printf long ints and flush to
9767 make debugging a little easier.
95cd4c40
SM
9768 (union fail_stack_elt): Make the integer unsigned.
9769 (struct fail_stack_type): Add a `frame' element.
9770 (INIT_FAIL_STACK): Init `frame' as well.
9771 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9772 (DEBUG_PUSH, DEBUG_POP): Remove.
9773 (NUM_REG_ITEMS): Remove.
9774 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9775 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9776 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9777 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
9778 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
9779 macros.
9780 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9781 address pushed is not the destination of the jump but the source
9782 of it instead.
95cd4c40
SM
9783 (NUM_FAILURE_ITEMS): Remove.
9784 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9785 registers before the actual failure point). Don't hardcode any
9786 meaning for str==NULL anymore.
95cd4c40 9787 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9788 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9789 Remove.
95cd4c40
SM
9790 (REG_UNSET_VALUE): Use NULL (why not?).
9791 (compile_range): Remove declaration since it doesn't exist.
9792 (struct compile_stack_elt_t): Remove inner_group_offset.
9793 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9794 (regex_grow_registers): Remove dead code.
9795 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9796 (regex_compile): Add shy-groups Change loops to use
9797 on_failure_jump_smart&jump instead of
9798 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9799 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9800 variable to me). Use `jump' instead of `jump_past_alt' and don't
9801 bother with push_dummy_failure in alternatives since it is now
9802 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9803 emacs' for (re)allocating the stack.
9804 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9805 from loop when bufp->can_be_null rather than jumping to `done'.
9806 Avoid jumping backwards so as to ensure termination. Use
9807 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9808 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9809 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9810 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9811 improve mutually_exclusive_p to handle ".+\n".
9812 (lowest_active_reg, highest_active_reg,
9813 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
9814 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9815 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9816 variables. Push register (in `start_memory') on the stack rather
9817 than storing it in old_reg(start|end). Remove the cycle detection
9818 from `stop_memory', replaced by the use of on_failure_jump_loop
9819 for greedy loops. Add code for the new on_failure_jump_<foo>.
9820 Remove ad-hoc code in `on_failure_jump' to push more registers in
9821 the case of a loop. Take out code from `maybe_pop_jump' into
9822 separate functions and adapt it to the semantics of
9823 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9824 and push_dummy_failure. Remove dummy_failure handling and
9825 handling of `failures to jump to on_failure_jump' (this last one
9826 was already dead code, it seems).
9827 (group_match_null_string_p, alt_match_null_string_p)
9828 (common_op_match_null_string_p): Remove.
95cd4c40 9829
7397acc4
DL
98302000-03-08 Dave Love <fx@gnu.org>
9831
9832 * config.in: Don't depend on __STDC__ for volatile.
9833 Add POINTER_TYPE, PTR, PROTOTYPES.
9834
9835 * hftctl.c, strftime.c: Use PROTOTYPES.
9836 * eval.c (find_handler_clause): Likewise.
9837
9838 * mem-limits.h: Use POINTER_TYPE.
9839
9840 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9841 (memory_warnings): Declare using POINTER_TYPE.
9842
5e91ff9e
GM
98432000-03-08 Gerd Moellmann <gerd@gnu.org>
9844
feab4fba
GM
9845 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9846
25edb08f
GM
9847 * xdisp.c (display_echo_area): Temporarily inhibit garbage
9848 collection.
9849
5e91ff9e
GM
9850 * xfns.c: Remove obsolete code in #if 0.
9851 (Fx_focus_frame): New function.
9852
a735b7e1
KH
98532000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9854
9855 * coding.c (coding_category_name): Add coding-category-utf-8,
9856 coding-category-utf-16-be, coding-category-utf-16-le.
9857 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9858 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9859 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9860 (detect_coding_utf_8): New function.
9861 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9862 UTF_16_LOW_SURROGATE_P): New macros.
9863 (detect_coding_utf_16): New function
9864 (detect_coding_mask): When priorities are specified, skip any
9865 categories that have `nil' coding-system. Fix bug of returning
9866 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9867 returns a mask not set in PRIORITIES.
9868 (detect_eol_type_in_2_octet_form): New function.
9869 (detect_eol): selects detect_eol_type_XXX to call according to
9870 cooding->category_idx.
9871 (detect_coding_system): Remove `nil' coding-system in the result.
9872 (Fupdate_coding_systems_internal): Update all coding-categories.
9873
9874 * coding.h (CODING_CATEGORY_IDX_UTF_8,
9875 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
9876 macros.
9877 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
9878 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9879 CODING_CATEGORY_IDX_UTF_16_LE.
9880 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
9881 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
9882 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9883 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9884
9994cc69
GM
98852000-03-07 Gerd Moellmann <gerd@gnu.org>
9886
e9b4e5ff
GM
9887 * doc.c (Fdocumentation_property): If value is not a string,
9888 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9889
f7daf1e1
GM
9890 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9891 close the display with XtCloseDisplay. This caused a bus error
9892 on OpenWindows.
9893
9994cc69
GM
9894 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9895 complete but not unique.
9896
4336c705
GM
98972000-03-06 Gerd Moellmann <gerd@gnu.org>
9898
18bb0684
GM
9899 * process.c (send_process): Remove local variable `procname' that
9900 might become invalid when a GC happens. Instead, access the
9901 process name slot directly.
9902
4336c705
GM
9903 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9904 orig_height if set.
9905
9906 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9907 orig_height if set.
9908
515d0d0e
EZ
99092000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9910
9911 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9912 glyph matrices have been freed.
9913
100b3cbb
GM
99142000-03-05 Gerd Moellmann <gerd@gnu.org>
9915
50df5e5a 9916 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9917 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9918
9919 * xfns.c (QCdata): Moved to xdisp.c.
9920
9921 * xdisp.c (QCdata): Moved here from xfns.c.
9922 (syms_of_xdisp): Initialize QCdata.
9923
9924 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9925
9926 * window.c (coordinates_in_window): Use
9927 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9928 FRAME_INTERNAL_BORDER_WIDTH.
9929
100b3cbb 9930 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 9931 it is obviously invalid.
100b3cbb
GM
9932
9933 * xterm.c (x_term_init): Create a colormap if not using the
9934 default visual.
9935
9936 * xterm.h (select_visual): Change prototype.
9937
9938 * xfns.c (select_visual): Rewritten. Recognize user-specified
9939 visual classes.
9940 (visual_classes): New variable.
9941
64d739c4
GM
99422000-03-04 Gerd Moellmann <gerd@gnu.org>
9943
9944 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
9945 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
9946 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
9947 (x_decode_color): Don't handle allocation of white and black
9948 specially.
9949 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
9950 XtNcolormap resources.
9951 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
9952 (Fx_create_frame): Initialize color members of x_output structure.
9953 (xpm_load): Pass colormap to XPM lib.
9954
9955 * xfaces.c (x_free_colors): Access colormap of frame using
9956 FRAME_X_COLORMAP. Be paranoid about freeing black and white
9957 when default colormap is used.
9958
9959 * xterm.c (x_term_init): Set Colormap member of x_display_info
9960 structure. Copy colormap if resource `privateColormap' is
9961 specified (PseudoColor only).
9962 (x_setup_relief_color): Access colormap of frame using
9963 FRAME_X_COLORMAP.
9964
9965 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
9966 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
9967
c3cee013
JR
99682000-03-04 Jason Rumney <jasonr@gnu.org>
9969
9970 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
9971 other non-platform-specific equivalents.
64d739c4 9972 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
9973 specific functions and macros as their w32 equivalents where
9974 non-platform-specifics are not available.
9975 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
9976 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
9977 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
9978 (frame_update_line_height): Use macros to access f->output_data.
9979 (defined_color): Remove FIXME comments; fixed.
9980 (x_face_list_fonts, prepare_face_for_display): Put X specifics
9981 into #ifdef blocks. Add WINDOWSNT blocks.
9982 (Fx_list_fonts): Use macros for accessing font data.
9983 (set_lface_from_font_name): Different default fonts for X and
9984 WINDOWSNT.
9985 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
9986 scalable for backward compatibility.
64d739c4 9987 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
9988 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
9989
64d739c4 9990 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
9991 syms_of_w32faces.
9992
9993 * makefile.nt (w32faces.obj): Remove.
9994 (xfaces.obj): Add.
9995
807cc41c
JR
99962000-03-03 Jason Rumney <jasonr@gnu.org>
9997
9998 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
9999 correct parameters.
10000
0007072a
KR
100012000-03-03 Ken Raeburn <raeburn@gnu.org>
10002
10003 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10004 standard ELF definitions here if the system header does not.
10005
71a6ba55
GM
100062000-03-03 Gerd Moellmann <gerd@gnu.org>
10007
10008 * xterm.c (PER_CHAR_METRIC): Removed.
10009 (x_per_char_metric_1, x_default_char): New functions.
10010 (x_per_char_metric): If font's default char is invalid, return
10011 metrics of a suitably chosen usable default char.
10012 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10013 char, replace occurrences of unprintable chars with a suitably
10014 chosen usable default char.
71a6ba55 10015
900fa1f1
GM
100162000-03-02 Gerd Moellmann <gerd@gnu.org>
10017
42f55fe0
GM
10018 * xterm.c (note_mouse_highlight): Return quickly if frame's
10019 glyph matrices have been freed.
10020
10021 * dispnew.c (free_glyphs): Block input while freeing matrices.
10022
900fa1f1
GM
10023 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10024
10025 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
10026 x_free_colors.
10027
10028 * dispextern.h (x_free_colors): Add prototype.
10029
10030 * xfaces.c (x_free_colors): New function.
10031 (unload_color, free_face_colors): Use it.
10032
2f950292
EZ
100332000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10034
10035 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10036
10037 * window.c [MSDOS]: Include msdos.h.
10038
54d04320
DL
100392000-03-02 Dave Love <fx@gnu.org>
10040
10041 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10042
10043 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10044 set C_OPTIMIZE_SWITCH for gcc.
10045
0ba93ac4
KH
100462000-03-02 Kenichi Handa <handa@etl.go.jp>
10047
10048 * coding.c (coding_save_composition): Be sure to allocate
10049 composition data area in coding even if there's no composition in
10050 the current run.
10051
a2bc11d4
JR
100522000-03-01 Jason Rumney <jasonr@gnu.org>
10053
10054 * w32term.c: Equivalent changes to those made to xterm.c on
10055 2000-02-25 and 2000-02-24.
10056
10057 * w32fns.c: Equivalent changes to those made to xfns.c on
10058 2000-02-25 and 2000-02-21.
10059
10060 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10061 correct line-end convention is followed.
10062
10063 * w32menu.c [HAVE_BOXES]: Remove #undef.
10064 (single_keymap_panes): Remove code for simulating checkmarks.
10065 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10066 Remove code for drawing simulated checkmarks.
10067 (w32_menu_show): make unibyte help string correctly.
10068 (add_menu_item): draw standard Windows checkmarks. Draw radio
10069 buttons as radio buttons if possible.
10070
72d19d75
GM
100712000-03-01 Gerd Moellmann <gerd@gnu.org>
10072
2df636f4
GM
10073 * sysdep.c (start_of_text): Don't define this function for NetBSD
10074 with ELF.
10075
427ec082 10076 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10077 Don't define.
10078 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10079 (LINKER): Don't undef if __NetBSD__ is defined.
10080
10081 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10082
10083 * fileio.c [__NetBSD__]: Define `unix'.
10084
72d19d75
GM
10085 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10086
ed4d0512
GM
100872000-02-29 Gerd Moellmann <gerd@gnu.org>
10088
50b1039f
GM
10089 * atimer.c (start_atimer): Don't abort when timers are stopped.
10090 (append_atimer_lists): New function.
10091 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10092 arbitrary lists of stopped and running atimers.
10093
ed4d0512
GM
10094 * atimer.c (cancel_atimer): Handle canceling an atimer when
10095 some timers are stopped.
10096
10097 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10098 after canceling it.
10099
10100 * fns.c (maybe_resize_hash_table): Handle case of new size
10101 coming out as being the same as old size.
10102
387023ee
JR
101032000-02-27 Jason Rumney <jasonr@gnu.org>
10104
10105 * makefile.nt: Add atimer.h to dependencies.
10106 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10107 * w32console.c: Only disable window system features for dispextern.h
10108 (initialize_w32_display): Build a display info for the console.
10109 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10110 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10111 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10112 as 2 button mice.
10113 * w32gui.h (struct W32FontStruct): Revert last change after change
10114 to xdisp.c.
10115 * w32menu.c (single_submenu): Set up help string.
10116 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10117 (w32_dialog_show): Set up help string.
10118 * w32term.c (w32_display_info_for_display): Remove unused function.
10119 (w32_draw_bitmap): Use pre-built bitmaps.
10120 (w32_initialize_display_info): New function to initialize parts of
10121 display info that are common to both GUI and console frames.
10122 (w32_term_init): Use w32_initialize_display_info. Do not set
10123 Vw32_num_mouse_buttons here, as it is not called for console
10124 frames. Build bitmaps for indicating truncated lines etc.
10125 (x_delete_display): Destroy pre-built bitmaps.
10126 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10127 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10128
4516715a
DL
101292000-02-27 Dave Love <fx@gnu.org>
10130
10131 * lisp.h: Add a bunch of prototypes.
10132
171ca836
KH
101332000-02-26 Kenichi Handa <handa@etl.go.jp>
10134
10135 * keyboard.c (read_char): Set `usec' correctly.
10136
4013921d
KH
101372000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10138
10139 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10140 `lambda', set reg[RRR] to the map index.
10141 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10142 reg[RRR] to 0. Otherwise, set it to -1.
10143
9244a058
GM
101442000-02-25 Gerd Moellmann <gerd@gnu.org>
10145
2df636f4 10146 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10147
18e21ce8 101482000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10149
f43d79c1
GM
10150 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10151 and contains a `:', prepend `/:'.
10152
10153 * window.c (select_window_1): If selected_window is nil,
10154 don't "swap out" the buffer's point.
10155 (Fset_window_configuration): Set selected_window to nil
10156 before calling Fselect_window.
10157 (unshow_buffer): Don't set point in buffer from window's point
10158 if another more recently selected window also shows the buffer.
10159
bed0c171
GM
101602000-02-25 Gerd Moellmann <gerd@gnu.org>
10161
449c3c52
GM
10162 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10163
f5b58615
GM
10164 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10165 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
10166 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
10167 variables.
10168 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10169 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10170 (hide_busy_cursor): New functions.
10171 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10172
10173 * minibuf.c (read_minibuf): Cancel busy-cursor.
10174
10175 * keyboard.c (command_loop_1): Call start_busy_cursor before
10176 Fcommand_execute and cancel_busy_cursor after it.
10177 (timer_check): Remove busy-cursor code.
10178 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10179 cursor timer.
10180
10181 * process.c (wait_reading_process_input): Remove busy-cursor code.
10182
10183 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10184 Fx_hide_busy_cursor.
10185
10186 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10187 Remove prototyoes.
10188 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10189
10190 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10191
10192 * xterm.c (XTread_socket): Remove busy-cursor code.
10193
4eb8436f
GM
10194 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10195 (build_frame_matrix_from_leaf_window): Put code handling
10196 glyph row's not being a slice of a frame row in #if 0.
10197 (sync_window_with_frame_matrix_rows): New function.
10198 (frame_row_to_window): New function.
10199 (mirror_line_dance): Handle copies between windows.
10200
3cb65b0e
GM
10201 * lread.c (Fload): Use `xfree' instead of `free'.
10202 (init_obarray): Use `xmalloc' instead of `malloc'.
10203
bed0c171
GM
10204 * window.c (Fset_window_buffer): Set WINDOW to the window
10205 after decoding.
2add4349
GM
10206 (coordinates_in_window): Take frame's internal border width
10207 into account.
bed0c171 10208
42088c12
GM
102092000-02-24 Gerd Moellmann <gerd@gnu.org>
10210
10211 * xterm.c (x_display_and_set_cursor): Display cursor of
10212 non-selected windows depending on the setting of
10213 cursor_in_non_selected_windows.
10214
10215 * xdisp.c (cursor_in_non_selected_windows): New variable.
10216 (syms_of_xdisp): DEFVAR_BOOL it.
10217
d1e103b2
GM
102182000-02-23 Gerd Moellmann <gerd@gnu.org>
10219
723e779c
GM
10220 * data.c (Fstring_to_number): If number is greater than what
10221 fits into an integer, return a float.
10222
d1e103b2
GM
10223 * eval.c (specbind): Remove references to
10224 keyword_symbols_constant_flag.
10225
10226 * data.c (keyword_symbols_constant_flag): Removed.
10227 (Fmakunbound, set_internal, syms_of_data): Remove references to
10228 keyword_symbols_constant_flag.
10229
10230 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10231
214f877f
KH
102322000-02-23 Kenichi Handa <handa@etl.go.jp>
10233
10234 * syntax.c (multibyte_syntax_as_symbol): New variable.
10235 (syms_of_syntax): Declare it as a Lisp variable.
10236 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10237 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10238 nonzero, treat all multibyte characters as symbol.
42088c12 10239 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
10240 characters.
10241
130adcb7
EZ
102422000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10243
3cb65b0e 10244 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10245 a deleted frame.
130adcb7 10246
17cbbf95
GM
102472000-02-21 Gerd Moellmann <gerd@gnu.org>
10248
10249 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10250
10251 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10252 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10253
beb0bc36
DL
102542000-02-21 Dave Love <fx@gnu.org>
10255
10256 * frame.c (Vmouse_position_function): New variable.
10257 (Fmouse_position): Use it.
10258 (syms_of_frame): Install it.
10259
10260 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10261
1d92afcd
GM
102622000-02-20 Gerd Moellmann <gerd@gnu.org>
10263
10264 * fileio.c (Finsert_file_contents): Unbind the binding of
10265 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10266
10267 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10268 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10269 (specbind, unbind_to): Handle most common case of non-constant
10270 symbol with trivial value specially.
10271
10272 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10273
18e21ce8 102742000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10275
10276 * data.c (Fmake_variable_buffer_local): Doc fix.
10277 Init found_for_buffer to 0.
10278 (Fmake_variable_frame_local): If the variable has already
10279 been buffer-local, set the check_frame field.
10280
1d4311c3
EZ
102812000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10282
10283 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10284 produced for CODING_MODE_LAST_BLOCK requires.
10285
2dc95ddd
DL
102862000-02-18 Dave Love <fx@gnu.org>
10287
10288 * keyboard.c (echo_keystrokes): Remove declaration.
10289 (Vecho_keystrokes) New variable.
10290 (read_char, record_menu_key, read_key_sequence): Use it to allow
10291 use of float value.
10292 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10293
10294 * lread.c: Undef feature selection macros before defining.
10295
f0930f35
GM
102962000-02-18 Gerd Moellmann <gerd@gnu.org>
10297
10298 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10299 for symbols other than the symbol in question.
10300
e3d4de90
DL
103012000-02-17 Dave Love <fx@gnu.org>
10302
10303 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10304
0b378936
GM
103052000-02-17 Gerd Moellmann <gerd@gnu.org>
10306
d621caf7
GM
10307 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10308
0b378936
GM
10309 * alloc.c (enum mem_type): Compile unconditionally.
10310
3b451f74
EZ
103112000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10312
10313 * xfaces.c (tty_defined_color): Don't return faulire indication
10314 for unspecified-fg and unspecified-bg pseudo-colors.
10315
10689a01
GM
103162000-02-17 Gerd Moellmann <gerd@gnu.org>
10317
1216f5e4
GM
10318 * alloc.c (mark_object): Don't mark symbol names in pure space.
10319 (gc_sweep): Don't unmark symbol names in pure space.
10320
10321 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10322 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10323 [GC_MARK_STACK]: New defines.
427ec082 10324 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10325 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10326
10327 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10328
10329 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10330 allocate_buffer instead of xmalloc.
10331
10332 * alloc.c (toplevel): Include setjmp.h.
10333 (PURE_POINTER_P): New define.
10334 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10335 (Vdead) [GC_MARK_STACK]: New variable.
10336 (lisp_malloc): Add parameter TYPE, call mem_insert if
10337 GC_MARK_STACK is defined.
10338 (allocate_buffer): New function.
427ec082 10339 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10340 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10341 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10342 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10343 (MEM_NIL) [GC_MARK_STACK]: New define.
10344 (struct mem_node) [GC_MARK_STACK]: New structure.
10345 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10346 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10347 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10348 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10349 (mark_stack) [GC_MARK_STACK]: New functions.
10350 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10351 (clear_marks): Removed.
10352 (gc_sweep): Set free conses' car, free floats' type, free
10353 symbols' function to Vdead. Use lisp_free to free buffers.
10354 (init_alloc_once): Initialize Vdead.
10355 (survives_gc_p): Return non-zero for pure objects.
10356
10357 * alloc.c: Add comments throughout the file.
10358
2503c8b1
GM
10359 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10360 that unblocks alarms.
10361
8389e1e2
GM
10362 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10363 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10364 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10365
10689a01 10366 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10367
bfc17d18
KH
103682000-02-17 Kenichi Handa <handa@etl.go.jp>
10369
4a09dee0
KH
10370 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10371 avoid infinite error signaling. Allocate sufficient memory for
10372 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10373
2b927d02
SM
103742000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10375
10376 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10377 depends on the previous behavior.
10378
b49cb764
GM
103792000-02-16 Gerd Moellmann <gerd@gnu.org>
10380
10381 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10382
99e95407
GM
103832000-02-15 Gerd Moellmann <gerd@gnu.org>
10384
10385 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10386
10387 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10388 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10389 write(2).
10390
6ffd3cf7
RS
103912000-02-15 Richard M. Stallman <rms@gnu.org>
10392
10393 * data.c (set_internal): Don't make variable buffer-local
10394 if within a let-binding for the same buffer.
10395 (let_shadows_buffer_binding_p): New function.
10396
10397 * eval.c (specbind): For buffer-local value,
10398 record the current buffer also.
10399 (unbind_to): Cope with that change.
10400
cad53475
GM
104012000-02-15 Gerd Moellmann <gerd@gnu.org>
10402
10403 * window.c (Fsave_window_excursion): Doc fix.
10404
1aa963c8
SM
104052000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10406
10407 * syntax.c (back_comment): Make sure we only consider comment-starters
10408 of the relevant style and return -1 in case of a failure to find the
10409 beginning of the comment.
10410 (Fforward_comment): If back_comment fails, go back to the position just
10411 after the comment-end.
10412 (scan_lists): Add comment describing a very minor bug.
10413
b9b84fd3
SM
104142000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10415
10416 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10417 `completion-regexp-list' in the docstring.
10418
3a28db80
DL
104192000-02-14 Dave Love <fx@gnu.org>
10420
10421 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10422
fb4a568d
SM
104232000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10424
10425 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10426 to Emacs' syntax. Also fix the comment about set/not-set meanings
10427 since Emacs syntax is not the value 0 any more.
10428 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10429 since it's now part of RE_SYNTAX_EMACS.
10430
1063ebb5
DL
104312000-02-12 Dave Love <fx@gnu.org>
10432
10433 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
10434 Alpha.
10435
fb07a302
GM
104362000-02-12 Gerd Moellmann <gerd@gnu.org>
10437
10438 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10439
aaf2320c
DL
104402000-02-12 Dave Love <fx@gnu.org>
10441
10442 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10443
10444 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10445 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10446 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10447
10448 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10449
10450 * s/nextstep.h: Don't define HAVE_ALLOCA.
10451
10452 * config.in: Add vfork bits.
10453
eedf8bde
GM
104542000-02-12 Gerd Moellmann <gerd@gnu.org>
10455
10456 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10457 unwind function to undo the effect of stopping atimers.
10458
10459 * keyboard.c (bind_polling_period): Stop all timers except
10460 poll_timer.
10461
10462 * atimer.c (stopped_atimers): New variable.
10463 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10464 New functions.
10465
10466 * atimer.h (stop_other_atimers, run_all_atimers)
10467 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10468
eedf8bde
GM
10469 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10470
8476c2f8
KR
104712000-02-11 Ken Raeburn <raeburn@gnu.org>
10472
10473 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10474 library may depend on jpeg.
10475 (atimer.o): Depends on atimer.c.
10476
0e85e4a3
KH
104772000-02-11 Kenichi Handa <handa@etl.go.jp>
10478
10479 * insdel.c (del_range_1): Call update_compositions.
10480 (del_range_both): Call update_compositions just once..
10481
97fa0cc8
DL
104822000-02-10 Dave Love <fx@gnu.org>
10483
10484 * xfns.c (create_frame_xic): Fix initialization of automatic
10485 aggregates for pcc.
10486
25566a3c
KH
104872000-02-09 Kenichi Handa <handa@etl.go.jp>
10488
10489 * ccl.c (CCL_MAKE_CHAR): New macro.
10490 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10491 registers by CCL_MAKE_CHAR before calling translate_char.
10492 <CCL_TranslateCharacterConstTbl> Likewise.
10493
69da54ba
DL
104942000-02-08 Dave Love <fx@gnu.org>
10495
10496 * lread.c (__EXTENSIONS__): Define.
10497
f7136ee8
GM
104982000-02-08 Gerd Moellmann <gerd@gnu.org>
10499
10500 * puresize.h (BASE_PURESIZE): Increase to 650000.
10501
7768790b
EZ
105022000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10503
10504 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10505 the help message.
10506
38fd211b
EZ
105072000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10508
10509 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10510 md, mh, mb, mr, and me to the fake termcap entry.
10511
66e4690f
KR
105122000-02-06 Ken Raeburn <raeburn@gnu.org>
10513
10514 * sound.c (sound_cleanup): Don't call device close routine if the
10515 function pointer is null.
10516
a75dfea0
AI
105172000-02-06 Andrew Innes <andrewi@gnu.org>
10518
10519 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10520 around image definitions and prototypes.
10521 (gamma_correct) [WINDOWSNT]: New prototype.
10522
10523 * w32term.c (x_make_frame_visible): Replace call to
10524 input_poll_signal with poll_for_input.
10525
10526 * window.c [WINDOWSNT]: Include w32term.h.
10527
10528 * xdisp.c [WINDOWSNT]: Include w32term.h.
10529
10530 * makefile.nt: Add dependencies on w32gui.h.
10531 (OBJ1): Include atimer.obj.
10532 ($(BLD)\atimer.obj): New dependency rule.
10533
10534 * w32.c (sigmask): New function (does nothing).
10535 (sigunblock): Ditto.
10536
10537 * frame.c [WINDOWSNT]: Include w32term.h.
10538
10539 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10540
10541 * lread.c (syms_of_lread): Fix literal newlines.
10542
10543 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10544 the string constant limit (2048 bytes) in MSVC.
10545 (main): Ditto.
10546
59ddecde
GM
105472000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10548
10549 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
10550 area.
10551 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10552 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10553 dispatch the event.
10554
07590973
DL
105552000-02-04 Dave Love <fx@gnu.org>
10556
10557 * fileio.c: Remove some unused vars.
10558 (_GNU_SOURCE): Define (for euidaccess).
10559
10560 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10561
10562 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10563 gcpro1, gcpro2.
10564 (read_minibuf): Deal with allow_props correctly.
10565
649351f9
EZ
105662000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10567
10568 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10569
66e4690f 105702000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10571
10572 * search.c (compile_pattern): If a cache entry has a nil regexp,
10573 fill in that entry instead of clobbering a previously cached
10574 string regexp.
10575
66e4690f 105762000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10577
10578 * puresize.h (BASE_PURESIZE): Increase to 610000.
10579
d240a249
GM
105802000-02-02 Gerd Moellmann <gerd@gnu.org>
10581
10582 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10583 can GC.
10584
ca91fb26
KH
105852000-02-02 Kenichi Handa <handa@etl.go.jp>
10586
25660570
KH
10587 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10588 instead of incrementing ic directly.
10589 <CCL_WriteExprConst> Likewise.
10590 <ccl_set_expr>: Set ic to jump_address.
10591
ca91fb26
KH
10592 * fileio.c (e_write): Fix the handling of
10593 CODING_FINISH_INSUFFICIENT_SRC.
10594
2ede9689
DL
105952000-02-01 Dave Love <fx@gnu.org>
10596
10597 * editfns.c (Fpropertize): Doc fix.
10598
10599 * process.c (Fstart_process): Doc fix.
10600
10601 * eval.c: Fix various doc strings not to duplicate information
10602 from help-manyarg-func-alist.
10603
10604 * window.c (Fset_window_margins): Don't make interactive. Doc
10605 fix.
10606
10607 * doc.c (Vhelp_manyarg_func_alist): New variable.
10608 (Fdocumentation): Use it.
10609 (syms_of_doc): Define it.
10610
b6680a0e
GM
106112000-01-31 Gerd Moellmann <gerd@gnu.org>
10612
2cb750ba
GM
10613 * xterm.c (xim_open_dpy): Remove unused local variable.
10614
74e9213b
GM
10615 * emacs.c (USAGE): Use term `display options' instead of `X
10616 options'.
10617
10618 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10619 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10620
b6680a0e
GM
10621 * fns.c (sweep_weak_table): New function.
10622 (sweep_weak_hash_tables): Use it. Keep on marking until there
10623 is no more change.
10624
994c5afe
GM
106252000-01-30 Gerd Moellmann <gerd@gnu.org>
10626
10627 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10628 that XTread_socket does not crash by trying to call XNoOp on a
10629 closed display.
427ec082 10630
f00276e3
JR
106312000-01-30 Jason Rumney <jasonr@gnu.org>
10632
10633 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10634 Change selected_frame to SELECTED_FRAME ().
10635 (w32_console_mouse_position): Remove #ifndef MULE from around
10636 `insist' parameter.
10637
10638 * makefile.nt: Remove dosfns.obj.
10639
10640 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10641
10642 * w32fns.c (w32_defined_color): Check for valid frame before
10643 applying gamma correction. Eliminate dependency on frame elsewhere.
10644 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10645 (w32_to_x_font): Use resx and resy not height_in and width_in.
10646 (x_to_w32_font): Doc fix.
10647 (xlfd_strip_height): New function to strip and return font height.
10648 (w32_font_match): Compare height separately from rest of xlfd
10649 spec, using xlfd_strip_height.
10650
10651 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10652 width_in. Use w32_defined_color in place of defined_color.
10653
10654 * w32faces.c: Merge more of DOS and X specifics in preparation for
10655 merge with xfaces.c.
10656 (defined_color): Remove FIXME comment.
10657 (tty_color_name): Provide w32-specific function.
10658 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10659
10660 * w32console.c (turn_on_face, turn_off_face): Removed.
10661 (w32_face_attributes): New function.
10662 (Global_variables): Reduce scope where possible.
10663 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10664 fill attribute.
10665 (hl_mode): Don't modify text attributes.
10666 (write_glyphs): Don't do anything if len <= 0. Use
10667 w32_face_attributes to get attributes for drawing. Write
10668 terminating codes using char_attr_normal.
10669 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10670 (update_begin, update_end): Likewise.
10671 (vga_stdcolor_name): New function.
10672 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10673 (Fset_screen_color): Remove char_attr_reverse.
10674
b08e8bb2
GM
106752000-01-29 Gerd Moellmann <gerd@gnu.org>
10676
10677 * xfns.c (xic_set_preeditarea): Take window parameter and
10678 window-relative pixel-positions.
10679
10680 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10681 is its frame's selected window.
10682 (xim_instantiate_callback): Likewise.
10683
10684 * xfns.c (x_create_im): Removed.
10685 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10686 (supported_xim_styles): Renamed from supported_styles.
10687 (best_xim_style): Renamed from best_style.
10688 (create_frame_xic): Renamed from xic_create_frame.
10689 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10690
b08e8bb2
GM
106912000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10692
10693 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10694 our frames, call XFilterEvent with 2nd parameter `None'.
10695 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10696 returning XBufferOverflow.
10697 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
10698 area.
10699 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10700 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10701 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10702 (xim_initialize, xim_close)
10703 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10704 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10705 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10706 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10707
10708 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10709 and `xim_styles'.
10710 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10711 `xic_style' and `xic_xfs'.
10712 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10713 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10714 (FRAME_XIM): Removed.
10715
10716 * xfns.c (supported_styles): New variable.
10717 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10718 (xic_create_xfontset, best_style, xic_create_frame)
10719 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10720 (xic_set_xfontset): New functions.
10721
142e109c
DL
107222000-01-28 Dave Love <fx@gnu.org>
10723
10724 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10725
10726 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10727
b02786f9
GM
107282000-01-28 Gerd Moellmann <gerd@gnu.org>
10729
d060bc9f
GM
10730 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10731 for *scratch* if it already existed.
10732
b02786f9
GM
10733 * emacs.c (USAGE): New macro.
10734 (main): Use it to display usage information.
10735
2c52d7e4
EZ
107362000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10737
10738 Support for the menu-help feature:
10739
10740 * msdos.h: Change prototypes of XMenuAddSelection and
10741 XMenuActivate.
10742
10743 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10744 part of the line to the termscript file.
10745 (IT_clear_to_end): Clear the entire line, not just its beginning.
10746 (menu_help_message, prev_menu_help_message): New variables.
10747 (IT_menu_make_room): Make room for the help_text member.
10748 (IT_menu_display): New argument disp_help; all callers changed.
10749 If disp_help is non-zero, store the help text of the active menu
10750 item in menu_help_message.
10751 (XMenuAddPane): Initialize the help_text member to NULL.
10752 (XMenuAddSelection): New argument help_text. Store it in the
10753 XMenu structure.
10754 (XMenuActivate): New argument help_callback. If the value of
10755 menu_help_message has changed since the last time, display the
10756 menu help message text while waiting for the mouse to move. Clear
10757 the echo area before exiting.
10758 (XMenuDestroy): Free the help_text member.
10759
ffe0bcd1
GM
107602000-01-27 Gerd Moellmann <gerd@gnu.org>
10761
10762 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10763 XMenuAddSelection. Pass help callback to XMenuActivate.
10764 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10765
50dbd23f
EZ
107662000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10767
10768 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10769 and EMACS_SET_USECS.
10770
f5941bf8
GM
107712000-01-26 Dave Love <fx@gnu.org>
10772
6c67ddee
DL
10773 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10774
f5941bf8
GM
10775 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10776 an error may be signalled.
10777
9e49c990
GM
107782000-01-26 Gerd Moellmann <gerd@gnu.org>
10779
fc3cb460
GM
10780 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10781 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10782
9e49c990
GM
10783 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10784
d0c037d8
GM
107852000-01-25 Gerd Moellmann <gerd@gnu.org>
10786
10787 * charset.c (Fstring): If there is a multibyte char among
10788 the args, always return a multibyte string.
10789
e12489f9
GM
107902000-01-25 Gerd Moellmann <gerd@gnu.org>
10791
10792 * sysdep.c (sys_select): Turn atimers off and on instead of
10793 recording and restoring old alarm handler
10794
10795 * process.c (toplevel): Include atimer.h.
10796 (create_process_1): Rewritten.
10797 (create_process): Use atimers instead of alarm.
10798 (wait_reading_process_input) [hpux]: Turn atimers off instead
10799 of turning off SIGALRM.
10800 (wait_reading_process_input): Turn off atimers instead off
10801 calling stop_polling.
10802
10803 * emacs.c (main): Call init_atimer.
10804
10805 * keyboard.c (toplevel): Include systime.h and atimer.h.
10806 (polling_for_input): Removed because unused.
10807 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10808 (poll_timer): New variable.
10809 (poll_for_input, poll_for_input_1): New functions.
10810 (start_polling, stop_polling): Rewritten.
10811
10812 * keyboard.h (polling_for_input): Removed.
427ec082 10813
e12489f9
GM
10814 * atimer.h, atimer.c: New files.
10815
10816 * Makefile.in (obj): Add atimer.o.
10817 (atimer.o): New target.
10818
10819 * blockinput.h (pending_atimers): Add extern declaration.
10820 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10821
10822 * lisp.h (popup_activated_flag): Add extern declaration.
10823
10824 * xmenu.c (popup_activated_flag): Make externally visible.
10825 (popup_activate_callback) [USE_MOTIF]: Increment
10826 popup_activated_flag.
10827 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10828
10829 * xterm.c (toplevel): Include atimer.h.
10830 (toolkit_scroll_bar_interaction): New variable.
10831 (Fxt_process_timeouts): Removed.
10832 (x_process_timeouts): New function.
10833 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10834 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10835 (x_make_frame_visible): Call poll_for_input_1 instead of
10836 input_poll_signal. Don't call alarm.
10837 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10838
1e5279b9
DL
108392000-01-24 Dave Love <fx@gnu.org>
10840
6c67ddee 10841 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10842 Don't use -cckr -- apparently not now necessary.
10843
edf6aeb8
EZ
108442000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10845
10846 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10847 screen boundary.
10848
9badad41
JR
108492000-01-23 Jason Rumney <jasonr@gnu.org>
10850
10851 * w32fns.c (w32_defined_color): Apply gamma correction before
10852 trying to map to the palette.
10853 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10854 to w32_clear_rect.
10855
10856 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10857 here. Callers changed to always pass real device context.
10858 (w32_draw_bitmap): Likewise.
10859 (w32_get_glyph_overhangs): Likewise.
10860 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
10861 one.
10862 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10863 pfnSetScrollInfo and SetScrollRange.
10864 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10865 back into MULE characters after decoding them.
10866 (x_get_glyph_face_and_encoding): Likewise.
10867 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10868 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10869 (x_produce_glyphs): Calculate per char metrics for a character
10870 that we know exists in default font when font_not_found_p is true.
10871
63bd786b
JR
108722000-01-22 Jason Rumney <jasonr@gnu.org>
10873
10874 * makefile.nt (intervals.obj, composite.obj): New modules.
10875 (composite.h): Added as dependency where appropriate.
10876
10877 * w32gui.h (XGCValue): New struct for emulating X GCs.
10878
10879 * w32term.h (XCharStruct): New struct for emulating X.
10880
10881 * w32console.c (turn_on_face, turn_off_face): New functions.
10882 (change_line_highlight): New prototype for new redisplay.
10883 (write_glyphs): Support multibyte text. Support faces.
10884
10885 * w32faces.c: Complete rewrite for new redisplay based on new
10886 xfaces.c.
10887
10888 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10889 throughout. struct frame * in place of FRAME_PTR.
10890 Skeleton support for images, toolbars, tooltips from xfns.c.
10891 (Fx_create_frame): Use system default for default scroll bar
10892 width.
10893 (w32_get_arg): Renamed from x_get_arg.
10894 (Fx_file_dialog): New function.
10895 (w32_list_fonts): Check cache before asking system.
10896 (Vw32_enable_synthesized_fonts): New variable.
10897 (Vw32_enable_italics): Obsolete, removed.
10898
10899 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10900 Use SELECTED_FRAME macro.
10901
10902 * w32menu.c: Add skeleton support for help strings on menus.
10903 (add_menu_item): Native checkbox and radio support added, but not
10904 yet enabled due to bugs.
10905 (push_menu_item): Add parameters type, selection and help.
10906 Callers updated.
10907 Formatting changes to reduce unnecessary diffs with xmenu.c.
10908
10909 * w32select.c (Fw32_set_clipboard_data): Update call to
10910 find_charset_in_str.
10911
10912 * w32term.c: Complete rewrite for new redisplay based on new
10913 xterm.c with necessary sections merged back in from old w32term.c.
10914
6ffd3cf7 109152000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10916
10917 * data.c (set_internal): Further fix in same criterion.
10918
6ffd3cf7 109192000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10920
10921 * data.c (set_internal): Fix the criteria for whether
10922 to swap out the old cached binding.
10923
60af03f1
DL
109242000-01-19 Dave Love <fx@gnu.org>
10925
10926 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10927
f9be074f
KH
109282000-01-18 Kenichi Handa <handa@etl.go.jp>
10929
10930 * regex.c (re_compile_fastmap): While checking a range table for
10931 `charset', skip flag bits for a character class correctly.
10932
52b8dbf9
GM
109332000-01-17 Gerd Moellmann <gerd@gnu.org>
10934
d36100c9
GM
10935 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10936
52b8dbf9
GM
10937 * xfns.c (x_window): Call lw_create_widget with new parameter
10938 list.
10939
10940 * widget.c (EmacsFrameSetCharSize): Change size of children first
10941 because of problems with main window geometry management under
10942 Lesstif.
10943
10944 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
10945 MENU_ITEMS_ITEM_.*.
10946 (MENU_ITEMS_ITEM_HELP): New enumerator.
10947 (push_menu_item): Add parameter HELP. Record help in menu_items.
10948 (single_menu_item, single_submenu, list_of_items): Call
10949 push_menu_item with new parameter.
10950 (single_submenu): Set help string in widget value.
10951 (menu_highlight_callback): New function.
10952 (set_frame_menubar): Call lw_create_widget with new
10953 parameter list.
10954 (xmenu_show, xdialog_show): Ditto.
10955
3139018f
GM
109562000-01-13 Gerd Moellmann <gerd@gnu.org>
10957
10958 * sound.c (Fplay_sound): Improve doc string.
10959
83c8f461
RS
109602000-01-11 Richard M. Stallman <rms@gnu.org>
10961
10962 * lisp.h (set_internal): Enter the new arg.
10963
10964 * eval.c (specbind): Record buffer-local variables specially,
10965 indicating which buffer's binding was saved.
10966 (unbind_to): Restore buffer-local variables specially
10967 in the proper buffer.
10968
10969 * data.c (set_internal): New arg BUF.
427ec082 10970
83c8f461
RS
10971 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
10972 * data.c (Fset): Pass new arg to set_internal.
10973 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 10974
1fab1775
GM
109752000-01-11 Gerd Moellmann <gerd@gnu.org>
10976
10977 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
10978 xprintsym.
10979
83c8f461 109802000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
10981
10982 * minibuf.c (Ftry_completion): Doc fix.
10983
7a85e4df
GM
109842000-01-11 Gerd Moellmann <gerd@gnu.org>
10985
10986 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
10987 vector, too.
10988
a970dae4
AS
109892000-01-11 Andreas Schwab <schwab@suse.de>
10990
10991 * coding.c (code_convert_region): Initialize total_skip.
10992
c65d14ee
DL
109932000-01-08 Dave Love <fx@gnu.org>
10994
10995 * eval.c (Fuser_variable_p): Check customizability too.
10996
834938d2
GM
109972000-01-07 Gerd Moellmann <gerd@gnu.org>
10998
10999 * minibuf.c (Fcompleting_read): Doc fix.
11000
e0303cd6
GM
110012000-01-05 Gerd Moellmann <gerd@gnu.org>
11002
8a26744b
GM
11003 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11004 -L /usr/local/lib.
11005
e0303cd6
GM
11006 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11007 Check that input style is supported before trying to create an
11008 IC for it.
11009 (x_window): Call x_create_im.
427ec082 11010
2e471eb5
GM
110112000-01-04 Gerd Moellmann <gerd@gnu.org>
11012
560a7bd2
GM
11013 * xfns.c (current_gif_memory_src): New variable.
11014 (gif_load): Record the address of the current memory source
11015 in current_gif_memory_src.
11016 (gif_read_from_memory): Use current_gif_memory_src.
11017
f9ee84a3
GM
11018 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11019 macros statement form.
11020
d1299cde
GM
11021 * sound.c (struct sound): Renamed from struct sound_file.
11022 (struct sound): Add members `data' and `header_size'.
11023 (enum sound_attr): Add SOUND_DATA.
11024 (current_sound, current_sound_device): Variables renamed from
11025 sound_file and sound_device.
11026 (parse_sound): Parse :data.
11027 (parse_sound): Handle sound data in strings.
11028 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11029 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11030 needed header size.
11031 (wav_play, au_play): Play sounds from string data.
11032
2e471eb5
GM
11033 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11034
11035 * lisp.h: Add prototype for allocate_string_data.
11036
11037 * alloc.c (Fgarbage_collect): Return number of live and free
11038 strings.
11039
11040 * alloc.c (mark_buffer): Remove code in #if 0.
11041 (gc_sweep): Ditto.
11042 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11043 (strings_consed): New variable.
11044 (allocate_string): Set it.
11045 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11046 (Fmemory_use_counts): Return strings_consed. Use Flist.
11047
11048 * alloc.c: General cleanup in comments etc. Remove conditional
11049 compilation for `standalone'.
11050
11051 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11052
11053 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11054 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11055 (DONT_COPY_FLAG): Removed.
11056 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11057 (struct sdata, struct sblock): New
11058 (struct string_block): Rewritten.
11059 (STRINGS_IN_STRING_BLOCK): New macro.
11060 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11061 (large_sblocks, string_blocks, string_free_list): New variables.
11062 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11063 (init_strings): Rewritten.
11064 (allocate_string, allocate_string_data, compact_small_strings)
11065 (free_large_strings, sweep_strings): New functions.
11066 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11067 (struct string_block_head, current_string_block)
11068 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11069 (STRING_PAD): Removed.
11070 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11071 (Fgarbage_collect): Don't set mark bit in large strings.
11072 (mark_object): Mark strings differently. Mark symbol names
11073 differently.
11074 (survives_gc_p): Test marked strings differently.
427ec082 11075 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11076 symbol names.
11077 (compact_strings): Removed.
11078
42608ba8
EZ
110792000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11080
11081 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11082 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11083
e0a09e1a
KH
110842000-01-04 Kenichi Handa <handa@etl.go.jp>
11085
dd9f0750 11086 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11087 in a non-empty buffer.
dd9f0750 11088
3c0f3b15 11089 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11090
44cd3ae5
GM
110912000-01-03 Gerd Moellmann <gerd@gnu.org>
11092
11093 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11094 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11095
11096 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11097
c182a70f
EZ
110982000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11099
11100 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11101 need to test for MSDOS frames.
11102
24480d5b
EZ
111032000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11104
11105 * dosfns.c (unspecified_colors): Remove.
11106 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11107 unspecified_bg.
11108 (msdos_stdcolor_name): Return strings for unspecified fore- and
11109 back-ground colors.
11110
11111 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11112 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11113 (tty_color_name): Return Lisp strings for unspecified fore- and
11114 back-ground colors.
11115 (Finternal_set_lisp_face_attribute): Remove the special treatment
11116 for Qunspecified_{f,b}g.
11117 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
11118 string.
11119
047f434a
GM
111202000-01-03 Gerd Moellmann <gerd@gnu.org>
11121
11122 * xdisp.c (reseat_at_next_visible_line_start): Position before
11123 newline only if ending up on a newline.
11124 (next_element_from_ellipsis): Return success. Handle case of
11125 displaying no ellipsis. Fix case of ellipsis defined in display
11126 table.
11127 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11128 returns 0.
11129
d684c676
EZ
111302000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11131
11132 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11133 (Fcolor_supported_p): Renamed from face-color-supported-p.
11134
5fe1d139
EZ
111352000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11136
11137 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11138 list of colors renamed to tty-defined-color-alist.
11139 (tty_color_name): Pass the frame to tty-color-by-index.
11140 (realize_tty_face): tty-color-alist is now a function which
11141 accepts the frame as argument.
11142
11143 * term.c (Ftty_display_color_p): Accept an optional argument
11144 FRAME.
11145
816be8b8
EZ
111462000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11147
11148 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11149 encode_terminal_code.
11150
b635321e
EZ
111512000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11152
11153 * dispnew.c (mode_line_string): Support termcap frames as well.
11154
9b784e96
GM
111552000-01-01 Gerd Moellmann <gerd@gnu.org>
11156
27189709
GM
11157 * syntax.c (Fforward_word): Undo previous change.
11158
11159 * editfns.c (Fconstrain_to_field): Don't constrain if
11160 inhibit-field-text-motion is non-nil.
11161 (Fline_beginning_position): Undo previous change.
11162 (Fline_end_position): Ditto.
11163
11164 * syntax.c (Fforward_word): Notice field boundaries only if
11165 inhibit-field-text-motion is nil.
11166
11167 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11168
11169 * editfns.c (Vinhibit_field_text_motion): New variable.
11170 (inhibit-field-text-motion): New DEFVAR_LISP.
11171 (Fline_beginning_position, Fline_end_position): Notice field
11172 boundaries only if inhibit-field-text-motion is nil.
11173
45158a91
GM
11174 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11175 All calls adjusted.
11176 (x_build_heuristic_mask): Likewise.
11177 (xbm_load_image_from_file): Change error output.
11178 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11179 (gif_load, gs_load, x_kill_gs_process): Ditto.
11180
9b784e96
GM
11181 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11182 color indices when accessing raster pixels.
63cec32f
GM
11183 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11184 one of :file or :data.
11185 (enum pbm_keyword_index): Add PBM_DATA.
11186 (pbm_format): Add :data.
11187 (pbm_image_p): Allow either :file or :data.
11188 (pbm_read_file): New function.
11189 (pbm_scan_number): Rewritten to read from string.
11190 (pbm_load): Support :data.
9b784e96 11191
2cb085db 11192See ChangeLog.8 for earlier changes.
6922b018
KH
11193
11194;; Local Variables:
49b3bd82 11195;; coding: iso-2022-7bit
6922b018 11196;; End: