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