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