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