Clarify that problems with shared libraries can also happen during the build.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8e8223e2
SM
12001-10-29 Stefan Monnier <monnier@cs.yale.edu>
2
3 * xmenu.c: Include coding.h and charset.h.
4 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
5 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
6 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
7 Explicitly set wv->help. Use `TRUE' rather than `True'.
8 (menu_help_callback): Use empty_string.
9
10 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
11 (Fx_popup_dialog): Explicitly init f.
12 (w32_menu_display_help): Use empty_string.
13
4d083a8f
RS
142001-10-29 Richard M. Stallman <rms@gnu.org>
15
b2304472
RS
16 * fns.c (Frequire): Detect recursive try to require the same
17 feature 3 or more levels deep, and get error.
18 (require_unwind): New subroutine.
19 (require_nesting_list): New variable.
20 (syms_of_fns): Init and staticpro it.
21
4d083a8f
RS
22 * print.c (print_object): Clarify indication of insertion type.
23
2fe41216
EZ
242001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
25
90480000
EZ
26 * coding.c (syms_of_coding): Document that locale-coding-system is
27 used for decoding input on X.
28
2fe41216
EZ
29 * window.c (Fscroll_left, Fscroll_right): Doc fix.
30
74e79967
PJ
312001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
32
33 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
34 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
35
60ebcfe8
GM
362001-10-29 Gerd Moellmann <gerd@gnu.org>
37
9a7bdceb
GM
38 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
39 use NO_CURSOR if cursor_in_non_selected_windows is false.
40
3f08fcd2
GM
41 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
42 the slant attribute if FRAME is t.
43
0ccfdad2
GM
44 * xfns.c (x_set_internal_border_width): Set frame garbaged
45 when X window doesn't exist yet.
46
ef253080
GM
47 * xterm.c (x_after_update_window_line): Clear internal border
48 in different circumstances.
49
60ebcfe8
GM
50 * xterm.c (XTread_socket) <KeyPress>: Don't use
51 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
52 <handa@etl.go.jp>.
53
73d25f9c
EZ
542001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
55
56 * m/ibms390.h: New file. From Adam Thornton
57 <athornton@sinenomine.net>.
58
cac1daf0
GM
592001-10-28 Gerd Moellmann <gerd@gnu.org>
60
053b3256
GM
61 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
62
cac1daf0
GM
63 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
64 a loop counter.
65
13b1a09c
PJ
662001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
67
186486eb
PJ
68 * emacs.c: Use argv[0] instead of emacs when -t was specified.
69
4707d2d0
PJ
70 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
71 keyword].
72 Fix typos in comments.
73
d883731c
PJ
74 * emacs.c (bug_reporting_address): New function.
75 Use it when displaying usage message.
76
04012254
PJ
77 * minibuf.c (read_minibuf): Remove unused external declaration of
78 variable `Qread_only'.
79
13b1a09c
PJ
80 * keymap.c (access_keymap): Remove unused variable `charset'.
81
5bbf4378
MB
822001-10-28 Miles Bader <miles@gnu.org>
83
84 * xfaces.c (merge_face_heights): Handle TO being relative as well.
85 Remove #ifdef'd-out code.
86 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
87 (syms_of_xfaces): Initialize them.
88
1ce1e4ee
JR
892001-10-27 Jason Rumney <jasonr@gnu.org>
90
91 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
92 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
93 position using the system caret.
94
95 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
96 (w32_system_caret_height, w32_system_caret_x)
97 (w32_system_caret_y): New variables for tracking system caret.
98 (w32_initialize): Initialize them.
c2d53558 99 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 100
c2d53558
SM
101 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
102 New messages types.
1ce1e4ee
JR
103
104 * w32term.c (note_mouse_highlight): Clear old help_echo.
105
4e30ce42
PJ
1062001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
107
bb4600a4
PJ
108 * xterm.c: Fix typo in a comment.
109
7db35a48
PJ
110 * emacs.c: Fix typos in comments.
111 Remove unnecessary spaces.
112 Change doc-string comments to `new style' [w/`doc:' keyword].
113 (USAGE2): Fix typos in usage string.
114
a7248e4f
PJ
115 * xterm.c: Fix typo in a comment.
116
4e30ce42
PJ
117 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
118 emacs.c.
119
62725a92
GM
1202001-10-27 Gerd Moellmann <gerd@gnu.org>
121
798dbe1f 122 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 123 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
124 farther backward when target_y was not reached.
125
62725a92
GM
126 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
127 Display errno only if non-zero.
128 (sound_warning): New function.
129 (vox_configure): Don't treat failing to set sample rate as error.
130 (various places): Improve error messages.
131
d4e34d24
EZ
1322001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
133
944e6f60
EZ
134 * fileio.c (Faccess_file): Run the argument filename through
135 Fexpand_file_name, before using it.
136
d4e34d24
EZ
137 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
138 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
139
38d2af0c
GM
1402001-10-26 Gerd Moellmann <gerd@gnu.org>
141
da80a8d5
GM
142 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
143
38d2af0c
GM
144 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
145 Fix clearing in the case of scroll bars on the right.
c2d53558 146
56f508dd
EZ
1472001-10-26 Juanma Barranquero <lektu@terra.es>
148
149 * w32gui.h (XImage): Add a dummy typedef.
150
fbd5ceb2
GM
1512001-10-26 Gerd Moellmann <gerd@gnu.org>
152
c2d53558 153 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 154
b23236fb
EZ
1552001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
156
157 * frame.c (Fframe_parameter): Fix last change.
158
879eadc3
GM
1592001-10-25 Gerd Moellmann <gerd@gnu.org>
160
75700ff2
GM
161 * frame.c (Fframe_parameter): Fix a bug whereby some
162 ``artificial'' frame parameters, like `minibuffer' were not
163 obtained by calling Fframe_parameters.
164
dfe92a6a
GM
165 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
166 cursor differently.
167
879eadc3
GM
168 * xdisp.c (move_it_vertically_backward): Compute line height
169 differently. Add heuristic to try to be more compatible to 20.x.
170
e1010ebe
SM
1712001-10-25 Stefan Monnier <monnier@cs.yale.edu>
172
d73a471b
SM
173 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
174
d6da5a06
GM
175 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
176 boolean.
e1010ebe 177
f66bd220
MB
1782001-10-25 Miles Bader <miles@gnu.org>
179
180 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
181 BG is a pointer to a structure, not a structure.
182 (gif_format, png_format): Add missing commas.
183
d436d538
RS
1842001-10-24 Richard M. Stallman <rms@gnu.org>
185
186 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 187 (syms_of_xfaces): Defsubr it.
d436d538 188
075c507b
PJ
1892001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
190
191 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
192 variable `area'.
193
d492b584
PJ
1942001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
195
c2d53558 196 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 197
e2a57b34
MB
1982001-10-25 Miles Bader <miles@gnu.org>
199
200 * dispextern.h (struct image): Add `background',
201 `background_valid', and `background_transparent' fields.
202 (image_background, image_background_transparent): New declarations.
203 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
204 * xfns.c (image_background, image_background_transparent)
205 (four_corners_best): New functions.
c2d53558 206 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
207 (gs_format): Add `:background' entry.
208 (lookup_image): Set IMG's background color if specified.
209 (pbm_load, xbm_load_image, png_load): Set IMG's background field
210 when appropriate.
211 (x_clear_image_1): Reset `background_valid' and
212 `background_transparent_valid' fields.
213 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
214 calculating it here. Set IMG's background_transparent field.
215 (enum xpm_keyword_index): Add XPM_BACKGROUND.
216 (enum png_keyword_index): Add PNG_BACKGROUND.
217 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
218 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
219 (enum gif_keyword_index): Add GIF_BACKGROUND.
220 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 221 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
222 Pre-calculate image background color where necessary.
223 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
224 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
225 color to use for image glyph reliefs.
226
b547b6e8
GM
2272001-10-24 Gerd Moellmann <gerd@gnu.org>
228
d9e3b8c6
GM
229 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
230 in full-width rows.
c2d53558 231
b547b6e8
GM
232 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
233 Fix clearing of area not covered by scroll bar.
234
2beb36f9
PJ
2352001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
236
237 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
238 and `real_start'.
c2d53558 239 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
240 (glyph_rect): Remove unused variable `area'.
241
76cb5e06
GM
2422001-10-24 Gerd Moellmann <gerd@gnu.org>
243
bdbdebff 244 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
245
246 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
247 (row_containing_pos): Take additional argument DY.
248 Treat rows ending in middle of char differently.
62e33982
GM
249 (display_line): Handle tabs on window systems differently.
250
251 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
252 with additional argument.
253
254 * dispextern.h (row_containing_pos): Adjust prototype.
255
76cb5e06
GM
256 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
257 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
258 (try_window_id, try_window_reusing_current_matrix)
259 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
260 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
261
996fee11
PJ
2622001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
263
c9e60620
PJ
264 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
265 gnuemacs).
266 (HAVE_BOXES): Fix typo in comment.
267 (push_menu_pane): Fix typo in comment.
268
3b552d56
PJ
269 * xdisp.c: (display_prop_string_p): Remove unused local declaration
270 of `Qwhen'.
271 (single_display_prop_string_p): Remove unused local declarations
272 of `Qwhen' and `Qmargin'.
273 (string_buffer_position): Remove unused variable `around'.
274 (store_frame_title): Remove unused variable `width'.
275
15c565ac
PJ
276 * window.c: Don't define max.
277 (coordinates_in_window): Remove unused variable `uy'.
278
a8818eb9
PJ
279 * widget.c: Don't define max.
280
996fee11
PJ
281 * process.c: Don't define max.
282 (create_process): Remove unused variable `buffer'.
283
496e1a5b
GM
2842001-10-23 Gerd Moellmann <gerd@gnu.org>
285
c2d53558 286 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 287
5905ae8b
EZ
2882001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
289
290 * xfaces.c (Finternal_set_lisp_face_attribute)
291 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
292 frame is on a windowed display.
293
24db49fb
GM
2942001-10-23 Gerd Moellmann <gerd@gnu.org>
295
c2d53558
SM
296 * dispnew.c (sync_window_with_frame_matrix_rows):
297 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
298 of marginal areas.
299
c2d53558 300 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 301
f0487f05
EZ
3022001-10-23 Andreas Schwab <schwab@suse.de>
303
304 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
305 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
306
f0a48a01
GM
3072001-10-23 Gerd Moellmann <gerd@gnu.org>
308
c2d53558 309 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
310 REAL_END. Notice if cursor gets overwritten.
311 (notice_overwritten_cursor): Take X positions as parameters.
312 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
313 around call to x_draw_glyphs.
314
a50a10a0
PJ
3152001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
316
fc11dff0
PJ
317 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
318 instead of C) and usage.
a50a10a0 319
fc11dff0
PJ
320 * editfns.c (char-to-string): Fix argument names (use CHAR instead
321 of C) and usage.
a50a10a0
PJ
322
323 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
324 `left', `max_width' and `max_height'.
325
8738febd
GM
3262001-10-23 Gerd Moellmann <gerd@gnu.org>
327
328 * xdisp.c (display_line): For a tab continued to the next line,
329 set row's ends_in_middle_of_char_p.
330
653c329b
GM
3312001-10-22 Gerd Moellmann <gerd@gnu.org>
332
333 * xdisp.c (display_line): Fix computation of continuation lines
334 width for TABs.
335
f958c5ac
PJ
3362001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
337
7ba51063
PJ
338 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
339 `Qlaplace'.
340
f958c5ac
PJ
341 * fileio.c: Remove unused code.
342
eb360291
MB
3432001-10-22 Miles Bader <miles@gnu.org>
344
345 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
346 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
347 Remove `DOC_STRINGS_IN_COMMENTS' cases.
348
98515cf0
JR
3492001-10-21 Jason Rumney <jasonr@gnu.org>
350
351 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
352
93026d88
EZ
3532001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
354
355 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
356 (Finsert_string): Avoid the multi-line string literals warning.
357
c9a95b79
MB
3582001-10-22 Miles Bader <miles@gnu.org>
359
360 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
361 (Fdocumentation): Don't use it.
362 (syms_of_doc): Don't initialize it.
363
364 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
365 * print.c (Fwith_output_to_temp_buffer): Likewise.
366 * window.c (Fsave_window_excursion): Likewise.
c2d53558 367 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 368 (Fsave_restriction): Likewise.
c2d53558
SM
369 * eval.c (Frun_hooks, Frun_hook_with_args)
370 (Frun_hook_with_args_until_failure)
371 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
372 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
373 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
374 (Funwind_protect, Fcondition_case): Likewise.
375 * coding.c (Ffind_operation_coding_system): Likewise.
376 * keyboard.c (Ftrack_mouse): Likewise.
377
a3b10252
MB
3782001-10-21 Miles Bader <miles@gnu.org>
379
c2d53558 380 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
381 (Fmake_hash_table): Add usage: string to doc string.
382 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 383 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
384 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
385 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
386 (Fml_prefix_argument_loop): Likewise.
387
c6f73eec
PJ
3882001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
389
c2d53558 390 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 391
c6f73eec
PJ
392 * sysdep.c (init_sys_modes): Change doc-string comments to `new
393 style' [w/`doc:' keyword].
394
395 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
396 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
397 comments to `new style' [w/`doc:' keyword].
398
3cf3436e
JR
3992001-10-21 Jason Rumney <jasonr@gnu.org>
400
401 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
402
c169b8f1
JR
403 * w32term.c (remember_mouse_glyph): New function.
404 (w32_mouse_position): Use it.
405 (note_mouse_movement): If the mouse moved off the glyph, remember
406 its new position.
c2d53558 407
4fdd691b
JR
408 * w32term.h (struct w32_output): Correct spelling of x_compatible.
409 (w32_display_info): Add mouse_face_overlay.
410
c169b8f1
JR
411 * w32term.c (notice_overwritten_cursor): Renamed from
412 note_overwritten_text_cursor. Rewritten to take glyph widths into
413 account.
414 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
415 (fast_find_string_pos): New function.
416 (fast_find_position): Return the correct vpos. Add parameter
417 STOP. In the final row, stop before glyphs having STOP as object.
418 Don't consider glyphs that are not from a buffer.
419 (fast_find_position) [0]: Add a presumably more correct version
420 for after 21.1.
421 (expose_window_tree, expose_frame): Don't compute intersections here.
422 (expose_window): Do it here instead.
423 (expose_window_tree, expose_window, expose_line): Return 1 when
424 overwriting mouse-face.
425 (expose_window): If W is the window currently being updated, mark
426 the frame garbaged.
427 (expose_frame): If mouse-face was overwritten, redo it.
428 (x_use_underline_position_properties): New variable.
429 (syms_of_xterm): DEFVAR_BOOL it.
430 (x_draw_glyph_string): Add comment to use it in future.
431 (x_draw_glyph_string): Restore clipping after drawing box.
432 Fix a computation of the underline position.
433 (w32_get_glyph_string_clip_rect): Minor cleanup.
434 (x_fill_stretch_glyph_string): Remove an assertion.
435 (x_produce_glyphs): Don't convert multibyte characters
436 to unibyte characters in unibyte buffers.
437 (cursor_in_mouse_face_p): New function.
438 (x_draw_stretch_glyph_string): Use it to choose a different GC
439 when drawing a cursor within highlighted text. Don't draw
440 background again if it has already been drawn.
441 (x_draw_glyph_string_box): Don't draw a full-width
442 box just because the glyph row's full_width_p flag is set.
443 (x_draw_glyphs): Fix computation of rightmost x for
444 full-width rows.
445 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
446 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
447 change bottom shadow accordingly. Some cleanup.
448 (x_update_window_end): Handle overwritten mouse face
449 also for tool bar windows.
450 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
451 DRAW is DRAW_IMAGE_RAISED.
452 (clear_mouse_face): Return 1 if text with mouse face was
453 actually redrawn. Make the function static. Reset
454 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
455 optimize away highlighting if we pass over that same overlay again.
456 (note_mouse_highlight): Call mouse_face_overlay_overlaps
457 to detect a case where we have to highlight a different region
458 despite not having left the currently highlighted region.
459 Set mouse_face_overlay in the x_display_info. Avoid changing the
460 mouse pointer shape when show_mouse_face has already done it, or
461 there is no need. Handle mouse-face and help-echo in strings.
462 (glyph_rect): New function.
463 (w32_mouse_position): Use it to raise the threshold for mouse
464 movement event generation.
465 (w32_initialize_display_info): Initialize the x_display_info's
466 mouse_face_overlay.
467 (w32_set_vertical_scroll_bar): Don't clear a zero height
468 or width area.
469 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
470 a widget to zero height.
471
3cf3436e 472 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 473 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
474 equivalents in menu_items.
475 (w32_menu_show): Don't overwrite an item's name with its key
476 description in case the description is a multibyte string.
477 (single_submenu): Some cleanup.
478
479 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
480 (postprocess_image): New function.
481 (lookup_image): Call it for all image types except PostScript.
482 (x_kill_gs_process): Call postprocess_image.
483 (tiff_error_handler, tiff_warning_handler): New functions.
484 (tiff_load): Install them as handlers.
485 (x_kill_gs_process): Recognize if someone has cleared the image
486 cache under us.
487 (valid_image_p): Protect better against invalid image
488 specifications. Previous code could signal an error.
489 (Fx_hide_tip, Fshow_tip): Doc fix.
490 (Fv_max_tooltip_size): New variable.
491 (syns_of_xfns): DEFVAR_LISP it.
492 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
493 window buffer to *tip* right after creating the frame. Set frame's
494 window_width. Use a maximum tooltip size specified by
495 Vx_max_tooltip_size, if that has valid contents.
496 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
497 Make sure the tooltip is completely visible.
498 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
499 (Fx_create_frame): Adjust the frame's height for presence
500 of the tool bar before calling x_figure_window_size.
501 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
502 when the window gets smaller.
503 (x_set_foreground_color): Set frame's cursor_pixel.
504 (x_set_foreground_color, x_set_background_color): Cleaned up.
505 (x_set_font): Handle case of x_new_fontset returning the same name
506 as before, although there was a change in fontsets.
507
386ca361
MB
5082001-10-21 Miles Bader <miles@gnu.org>
509
c2d53558 510 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
511 (Flogxor): Add usage: string to doc string.
512 * charset.c (Fstring): Likewise.
513 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
514 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
515
14ff1ee0
PJ
5162001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
517
03be2694
PJ
518 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
519
520 * alloc.c: Reindent DEFUNs with doc: keywords.
521
522 * abbrev.c (Finsert_abbrev_table_description): Reindent.
523
14ff1ee0
PJ
524 * frame.c: Change doc-string comments to `new style' [w/`doc:'
525 keyword].
526
71431a0e
GM
5272001-10-20 Gerd Moellmann <gerd@gnu.org>
528
6aa97356 529 * (Version 21.1 released.)
71431a0e 530
39f624fa
PJ
5312001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
532
c2d53558 533 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
534
535 * xdisp.c (invisible_text_between_p): Put prototype inside #if
536 0 because unused.
537
538 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
539 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
540 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 541
abcce93a
MB
5422001-10-20 Miles Bader <miles@gnu.org>
543
544 The following changes remove the glyph_row `inverse_p' field,
545 which is never set anymore, due to other changes:
546
547 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
548 (reassert_line_highlight, change_line_highlight): Declarations removed.
549 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
550 (line_hash_code, row_equal_p, fake_current_matrices)
551 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
552 (update_frame_line, update_frame_line, update_frame_line):
553 Don't use `inverse_p' field.
554 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
555 change_line_highlight_hook.
556 (XTreassert_line_highlight, x_change_line_highlight):
557 Functions removed.
c2d53558 558 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
559 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
560 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
561 `inverse_p' field.
c2d53558 562 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
563 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
564 (w32_reassert_line_highlight, x_change_line_highlight):
565 Functions removed.
566 * w32console.c (reassert_line_highlight, change_line_highlight):
567 Functions removed.
568 (initialize_w32_display): Don't set reassert_line_highlight_hook
569 or change_line_highlight_hook.
570 (hl_mode): Function removed.
c2d53558
SM
571 (reset_terminal_modes, set_terminal_modes, update_begin)
572 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
573 (clear_frame, ins_del_lines): Don't call it.
574 * termhooks.h (reassert_line_highlight_hook)
575 (change_line_highlight_hook): Declarations removed.
576 * term.c (reassert_line_highlight_hook)
577 (change_line_highlight_hook): Variables removed.
578 (reassert_line_highlight, change_line_highlight): Functions removed.
579 * msdos.c (IT_reassert_line_highlight)
580 (IT_change_line_highlight): Functions removed.
581 (internal_terminal_init): Don't set reassert_line_highlight_hook
582 or change_line_highlight_hook.
583 (highlight): Variable removed.
c2d53558 584 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
585 (IT_set_terminal_modes): Don't set or use it.
586
587 The following changes remove inverse-video support for terminals
588 that use a `magic cookie' standout mode. Due to changes in the
589 way mode-lines are displayed, such support no longer works
590 anyway, and it's probable that almost no one uses such terminals
591 anymore:
592
593 * term.c (standout_requested): Variable removed.
594 (update_end, highlight_if_desired): Don't use it.
595 (chars_wasted, copybuf): Variables removed.
596 (write_standout_marker): Function removed.
c2d53558 597 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
598 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
599 Don't use `chars_wasted' or `copybuf'.
600 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
601 Set `costs_set' to true.
602 (cursor_to, clear_end_of_line): Test `costs_set' instead of
603 `chars_wasted'.
604 (clear_end_of_line): Function removed.
605 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
606 (clear_to_end): Call `clear_end_of_line' instead of
607 `clear_end_of_line_raw'.
54800acb
MB
608 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
609 (term_init): Don't set them.
610 Turn off any standout/underline modes that require magic cookies.
c2d53558 611 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
612 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
613 Remove special processing for magic-cookie standout modes.
614 (turn_off_face, turn_on_face): Remove special processing for
615 underline magic-cookie glitch.
abcce93a 616
0b5f679f
RS
6172001-10-19 Richard M. Stallman <rms@gnu.org>
618
619 * eval.c (syms_of_eval): Doc fixes.
620
5a4a5bd4
GM
6212001-10-19 Gerd Moellmann <gerd@gnu.org>
622
623 * xdisp.c (redisplay_internal): Don't clear echo area if the
624 mini-window is selected.
625
79f1f96c
MB
6262001-10-19 Miles Bader <miles@gnu.org>
627
b57c2708
MB
628 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
629 doesn't take precedence if the affected property's value is nil.
630
631 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
632
79f1f96c
MB
633 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
634 with fields and suggest using `forward-line' to avoid them.
635 * editfns.c (Fline_beginning_position, Fline_end_position):
636 Clarify documentation.
637
ef879104
SM
6382001-10-18 Stefan Monnier <monnier@cs.yale.edu>
639
640 * keymap.c (current_minor_maps): `override' only shadows its
641 correspondent in minor-mode-map-alist, not the whole tail.
642
97f4db8c
AI
6432001-10-18 Andrew Innes <andrewi@gnu.org>
644
645 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
646 optimization. The fontp->encoding array was not being initialized
647 correctly when compiled with optimizations by MSVC.
648
e6b70fd8
GM
6492001-10-18 Gerd Moellmann <gerd@gnu.org>
650
30903479 651 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 652
0e804d38
AI
6532001-10-17 Andrew Innes <andrewi@gnu.org>
654
655 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
656
657 * w32fns.c (w32_load_system_font): Cache codepage for font, in
658 font_info.charset field.
659
660 * w32term.c (w32_encode_char): Get cached codepage from font_info,
661 rather than working it out by calling w32_codepage_for_font for
662 every glyph.
663
66e5868a
AI
6642001-10-17 Andrew Innes <andrewi@gnu.org>
665
666 * w32term.c (w32_read_socket): Determine clipping rectangle for
667 the entire frame, including areas covered by scrollbars and the
668 menubar. This avoids internal arguments about whether a frame is
669 fully obscured or not.
670
15b00083
GM
6712001-10-17 Gerd Moellmann <gerd@gnu.org>
672
23e8bd86
GM
673 * xdisp.c (try_window_id): Undo last change. Give up if
674 window ends in strings.
30903479 675
9c6ba6d1 676 * xdisp.c (try_window_id): Don't display lines after the window
30903479 677 end if the rest of the window after the window end was already blank.
23e8bd86 678
30903479 679 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
680 for the release of 21.1.
681
30903479 682 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 683
945220bd
MB
6842001-10-17 Miles Bader <miles@gnu.org>
685
686 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
687 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
688 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
689 Change doc-string comments to `new style' [w/`doc:' keyword].
690 (DOC_STRINGS_IN_COMMENTS): Macro removed.
691 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
692 out make-docfile.
693
14242528
MB
6942001-10-16 Miles Bader <miles@gnu.org>
695
696 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
697
3ddf952f
GM
6982001-10-16 Gerd Moellmann <gerd@gnu.org>
699
700 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
701 *scratch*.
702
f3fbd155
KR
7032001-10-16 Ken Raeburn <raeburn@gnu.org>
704
705 Avoid the assumption that car and cdr slots of cons cells are
706 addressable lvalues; this allows for easier experimentation with
707 other lisp implementations that may not permit such accesses for
708 various reasons. Not quite complete -- buffer.c still needs some
709 work, and w32/mac files need rechecking -- so compile-time
710 enforcement is left disabled for now.
711
712 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 713 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
714 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
715 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
716 (XSETCAR, XSETCDR): New macros.
717 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
718 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
719 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
720 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
721 XSETCDR.
722 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
723 * buffer.c (record_buffer, Fbury_buffer)
724 (swap_out_buffer_local_variables, recenter_overlay_lists)
725 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
726 fields of a cons cell respectively.
727 * callint.c (quotify_args, Fcall_interactively): Likewise.
728 * ccl.c (Fregister_code_conversion_map): Likewise.
729 * coding.c (detect_coding_system): Likewise.
730 * composite.c (get_composition_id, make_composition_value_copy):
731 Likewise.
30903479
SM
732 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
733 (swap_in_symval_forwarding, set_internal, Fset_default)
734 (Fmake_variable_buffer_local, Fmake_local_variable)
735 (Fmake_variable_frame_local): Likewise.
f3fbd155 736 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 737 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 738 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
739 * minibuf.c (get_minibuffer): Likewise.
740 * search.c (Fmatch_data): Likewise.
741 * textprop.c (extend_property_ranges): Likewise.
c2d53558 742 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
743 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
744 Likewise.
745 * w32term.c (x_delete_display): Likewise.
746 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
747 Likewise.
c2d53558 748 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 749 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 750 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
751 (Fread_file_name): Use XSETCAR.
752 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
753 CHECK_NUMBER_CDR.
754 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
755 * frame.c (Fmake_terminal_frame): Use XSETCDR.
756 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
757 CHECK_NUMBER_CDR.
758 * keyboard.c (read_char): Alter list traversal to avoid taking the
759 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
760 (parse_menu_item): Use XSETCAR and XSETCDR.
761 (reach_char_x_menu_prompt): Use XSETCAR.
762 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
763 (Fcommand_execute): Use XSETCDR.
764 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
765 (openp): Change list traversal to avoid using XCAR as lvalue.
766 (read_list): Use XSETCDR.
767 * process.c (wait_reading_process_input): Change wait_for_cell
768 handling to avoid taking addresses of cons cell slots.
30903479
SM
769 * xselect.c (x_own_selection, x_handle_selection_clear)
770 (x_clear_frame_selections): Use XSETCDR.
771 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
772 (x_handle_property_notify, x_get_foreign_selection)
773 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 774
502150e5
PJ
7752001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
776
018ba359
PJ
777 * buffer.c: Put doc strings in comments.
778
30903479 779 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 780
b56ba8de
SS
7812001-10-15 Sam Steingold <sds@gnu.org>
782
783 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
784
6a0b793a
PJ
7852001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
786
30903479
SM
787 * process.c (process-inherit-coding-system-flag)
788 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
789 in comment.
790
a1f17501 791 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 792 arguments. Put doc strings in comments.
a65da641
PJ
793
794 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 795
aa601ad0
GM
7962001-10-15 Gerd Moellmann <gerd@gnu.org>
797
30903479 798 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 799
aa601ad0
GM
800 * window.c (select_window_1): Unfreeze window start. Remove a
801 doubled test for WINDOW being live.
802
288148a1
PJ
8032001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
804
dd8d1e71
PJ
805 * fns.c (Fmapconcat): Fix typo in a doc string.
806
288148a1
PJ
807 * dispnew.c (Fsleep_for): Fix typo in a doc string.
808
9f5eb4a3
GM
8092001-10-15 Gerd Moellmann <gerd@gnu.org>
810
811 * xterm.c (x_draw_glyph_string): Restore clipping after
812 drawing box.
813
dbae44c8
PJ
8142001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
815
30903479 816 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 817
0c88c937
SM
8182001-10-14 Stefan Monnier <monnier@cs.yale.edu>
819
56378db4
GM
820 * indent.c (skip_invisible): Use new retval of
821 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 822
845e4cf4
SM
823 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
824 If a parent is reached and noinherit is set, exit immediately.
825 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
826
0c88c937
SM
827 * s/ms-w32.h (EXEC_SUFFIXES):
828 * s/msdos.h (EXEC_SUFFIXES):
829 * process.h (EXEC_SUFFIXES): Remove.
830
831 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
832 (decode_suffixes): Remove.
833
834 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
835 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
836 (invisible_ellipsis_p): Remove.
0c88c937
SM
837
838 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
839 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
840 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
841 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
842 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 843
d19be8a9
PJ
8442001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
845
04d7d066
PJ
846 * lisp.h (Ftop_level): Add prototype.
847
d624284c
PJ
848 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
849 (XTread_socket): Improve style of comments to follow other
850 comments.
851
a87414f9
PJ
852 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
853 is already prototyped in included lisp.h).
854
d19be8a9
PJ
855 * frame.c (Fset_mouse_position): Improve style of comment to
856 follow other comments.
857 (Fset_mouse_pixel_position): Improve style of comment to follow
858 other comments.
859 (Fmake_frame_visible): Doc fix and typo in comment.
860 (Fmake_frame_invisible): Doc fix and typo in comment.
861 (Ficonify_frame): Fix typo in comment.
862
c061c855
GM
8632001-10-14 Gerd Moellmann <gerd@gnu.org>
864
37f6b5b6 865 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 866 * term.c, alloc.c: Put doc strings in comments.
c061c855 867
e641b454
GM
8682001-10-13 Gerd Moellmann <gerd@gnu.org>
869
870 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
871 Provide definitions for doc strings in comments.
872
873 * fns.c: Put doc strings in comments.
874
51724e26
EZ
8752001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
876
877 * dired.c (file_name_completion): Ignore a candidate directory if
878 it matches an element in completion-ignored-extensions that ends
879 in a slash.
880 (syms_of_dired) <completion-ignored-extensions>: Mention the above
881 feature in the doc string.
882 (Ffile_name_completion): Ditto.
883
be5fc59b
SM
8842001-10-12 Stefan Monnier <monnier@cs.yale.edu>
885
5a1373f3
SM
886 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
887
888 * xfns.c (syms_of_xfns): Update calls to Fprovide.
889
890 * lisp.h (Fprovide): Update prototype.
891 (Ffeaturep, invisible_p): Remove.
892
bbc4a3d3 893 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
894 (DOLIST, LOOP_PROPVAL): New macros.
895 (invisible_p, invisible_ellipsis_p): Use them.
896 (invisible_noellipsis_p): New function.
897 (syms_of_xdisp): Use empty_string.
898
899 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
900
901 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
902 (syms_of_lread) <Vafter_load_alist>: Update docstring.
903
904 * print.c (Fwith_output_to_temp_buffer): Align with
905 internal_with_output_to_temp_buffer.
906 (print_preprocess): Use traverse_intervals_noorder.
907 (print_object): Update call to traverse_intervals.
908
909 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
910 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
911
912 * intervals.c (traverse_intervals_noorder): New function.
913 (search_for_interval, count_intervals): Use it.
914 (traverse_intervals): Use less stack space and drop `depth' arg.
915
916 * fns.c (Ffeaturep): Add new `subfeature' arg.
917 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
918 (Qsubfeatures): New var.
919 (syms_of_fns): Initialize it.
920
026f408d
SM
921 * keymap.c (Fkey_description): Use empty_string.
922 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
923 (syms_of_keymap): Setup inheritance between maps.
924 Don't export Sdescribe_bindings_internal any more.
925
be5fc59b
SM
926 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
927
3365175e
GM
9282001-10-12 Gerd Moellmann <gerd@gnu.org>
929
930 * xterm.c (notice_overwritten_cursor): Renamed from
931 note_overwritten_text_cursor. Rewritten to take glyph widths into
932 account.
933
2ab7765c
EZ
9342001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
935
936 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
937 multi-line strings without a trailing "\n\".
938
311346bb
PJ
9392001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
940
941 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
942 defined.
943
2168e04d
SM
9442001-10-11 Stefan Monnier <monnier@cs.yale.edu>
945
026f408d
SM
946 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
947
c0ec53ad
SM
948 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
949 * w32proc.c (sys_spawnve):
950 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
951 * w32.c (check_windows_init_file):
952 * sound.c (Fplay_sound):
026f408d 953 * emacs.c (init_cmdargs):
c0ec53ad
SM
954 * process.c (Fstart_process): Update calls to openp.
955
956 * callproc.c (Vexec_suffixes): New var.
957 (Fcall_process): Update call to openp.
958 (decode_suffixes): New function.
959 (syms_of_callproc): Init exec-suffixes.
960
961 * lread.c (Vload_suffixes, default_suffixes): New vars.
962 (openp): Take a lisp list of suffixes.
963 Check for file-name-handlers even if the file was absolute already.
964 (syms_of_lread): Declare load-suffixes.
965 (Fload): Fix up call to openp.
966 Don't bother checking for file-name-handler at the very beginning.
967
f6333468
SM
968 * keymap.h (Fcopy_keymap): Don't export.
969
970 * lisp.h (empty_string): Declare.
c0ec53ad
SM
971 (Vload_suffixes, Vexec_suffixes): Declare.
972 (openp): Update prototype.
f6333468
SM
973
974 * emacs.c (empty_string): New var.
975 (syms_of_emacs): Initialize it.
976
977 * search.c (wordify): Use it.
978
979 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
980 selected window if it's not displayed there. Handle the case
981 when the window is dedicated.
982 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
983
984 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
985
2168e04d
SM
986 * syntax.h (struct gl_state_s): Change the meaning of b_property.
987 Remove left_ok and right_ok.
988 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
989 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
990 new meaning of b_property.
991
992 * syntax.c (update_syntax_table): Simplify.
993 (Fforward_comment): Don't skip quoted chars when going backward.
994
13d95cc0
GM
9952001-10-11 Gerd Moellmann <gerd@gnu.org>
996
beb0990f
GM
997 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
998 in case I is of some unsigned type, in which case
999 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1000 comparison becomes bogus.
1001
cb938d46
GM
1002 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1003 (Fuser_full_name): Fix bug treating a float as a fixnum.
1004
1005 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1006
1007 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1008
13d95cc0
GM
1009 * lisp.h (circular_list_error): Add prototype.
1010
1011 * data.c (Qcircular_list): New variable.
1012 (circular_list_error): New function.
1013 (syms_of_data): Initialize it Qcircular_list.
1014
e35f6ff7
SM
10152001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1016
1017 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1018 casefiddle.c, buffer.c: Include keymap.h.
1019
619632ac
GM
10202001-10-10 Gerd Moellmann <gerd@gnu.org>
1021
1022 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1023 options. From Dave Love <d.love@dl.ac.uk>.
1024
5e5388f6
GM
10252001-10-09 Gerd Moellmann <gerd@gnu.org>
1026
1027 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1028 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1029
14a3dff7
GM
1030 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1031 unsigned char.
1032 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1033
76ba8daf
AI
10342001-10-08 Andrew Innes <andrewi@gnu.org>
1035
1036 * lisp.h [max]: Undef min and max before redefining them.
1037
1038 * w32gui.h: Do not undef min and max.
1039
1040 * w32heap.h: Do not undef min and max.
1041
1042 * s/ms-w32.h: Do not undef min and max.
1043
166253cb
SM
10442001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1045
1046 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1047
0c4d9527
SS
10482001-10-08 Sam Steingold <sds@gnu.org>
1049
1050 * keymap.c (current-active-maps): Quote newlines (compilation error).
1051
14bfa771
EZ
10522001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1053
1054 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1055 bindings.elc, since otherwise doc strings in bindings.el get wrong
1056 offsets in etc/DOC.
1057
bdb7aa47
SM
10582001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1059
9985827f
SM
1060 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1061
1062 * keyboard.h (map_prompt): Remove.
1063
1064 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1065 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1066
bdb7aa47
SM
1067 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1068
1069 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1070
1071 * keyboard.c (map_prompt): Remove.
1072 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1073 Use Fkeymap_prompt.
1074
1075 * keymap.h: New file. Extracted from lisp.h.
1076
9985827f
SM
1077 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1078 (accessible_keymaps_1): New function.
1079 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1080 (Fwhere_is_internal): Use Fcurrent_active_maps.
1081 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1082 Insert in current buffer rather than standard-output.
1083 Don't call `help-mode'. Export to elisp.
1084 (describe_buffer_bindings): New wrapper.
1085 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1086 and Sdescribe_buffer_bindings.
1087
402c9a51
GM
10882001-10-08 Gerd Moellmann <gerd@gnu.org>
1089
9985827f 1090 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1091 Remove code setting signal handler.
1092
9985827f 1093 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1094 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1095
3fe81fdf
PJ
10962001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1097
1098 * keyboard.c: Don't define min/max.
1099
55fa7820
GM
11002001-10-08 Gerd Moellmann <gerd@gnu.org>
1101
9985827f 1102 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1103 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1104 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1105 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1106 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1107 Don't define min/max.
1108
1109 * lisp.h (min, max): New macros.
1110
55fa7820
GM
1111 * puresize.h (BASE_PURESIZE): Increase to 725000.
1112
1aad31e4
PJ
11132001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1114
9180dc8c
PJ
1115 * xfaces.c (free_frame_menubar): Add prototype.
1116
01f67d2c
PJ
1117 * lisp.h (init_window): Add prototype.
1118
1119 * editfns.c: Include ctype.h.
1120
1121 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1122 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1123 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1124 variable `sb'.
1125
5f351ff1
PJ
1126 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1127 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1128 `popup_activated_flag' and `title'.
1129
479dfe87
PJ
1130 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1131
dff49fc8
PJ
1132 * emacs.c (main): Remove extra `;'.
1133
248ac615
PJ
1134 * atimer.h (struct atimer): Fix typos in a comment.
1135
1136 * atimer.c: Fix typo.
1137
af232c7d
PJ
1138 * Makefile.in: Fix typo.
1139
1140 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1141
d876f455
MB
11422001-10-07 Miles Bader <miles@gnu.org>
1143
1144 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1145
0037e2f2
KR
11462001-10-07 Ken Raeburn <raeburn@gnu.org>
1147
b056f36d
KR
1148 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1149 Lisp_Object.
1150
0037e2f2
KR
1151 * lisp.h (Ffield_end): Declare.
1152
1a4372ef
GM
11532001-10-07 Gerd Moellmann <gerd@gnu.org>
1154
a4a74e8c
GM
1155 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1156
1157 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1158
1159 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1160
1161 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1162
1a4372ef
GM
1163 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1164 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1165
1166 * alloc.c (inhibit_garbage_collection): Simplify.
1167 (Fmemory_use_counts): Ditto.
1168
9985827f 1169 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1170 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1171 most-negative-fixnum.
1172
9985827f 1173 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1174 (FIXNUM_OVERFLOW_P): New macros.
1175
4650e362
MB
11762001-10-06 Miles Bader <miles@gnu.org>
1177
1178 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1179 scroll_bar_bottom_shadow_pixel fields.
1180 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1181 for the shadows, and tell the toolkit about them if we succeed.
1182 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1183 Free scroll-bar shadow colors.
1184 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1185 Free scroll-bar shadow colors when the background color changes.
1186 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1187 Initialize scroll-bar shadow-color fields.
1188
ace64e0a
GM
11892001-10-05 Gerd Moellmann <gerd@gnu.org>
1190
1191 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1192
ec66bdc7
MB
11932001-10-05 Miles Bader <miles@gnu.org>
1194
9985827f
SM
1195 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1196 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1197 New functions (were in simple.el).
9985827f 1198 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1199 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1200 (syms_of_minibuf): Initialize them.
1201
a0fb4492
GM
12022001-10-05 Gerd Moellmann <gerd@gnu.org>
1203
1204 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1205 (tiff_load): Install them as error and warning handler.
1206
0bcf87c1
AI
12072001-10-04 Andrew Innes <andrewi@gnu.org>
1208
1209 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1210 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1211 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1212 (x_to_w32_charset): Handle private format for unknown charsets.
1213 Handle wildcards in charset spec, by ignoring them.
1214 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1215 "*-" prefix from charset.
1216 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1217 handle the truncated font spec form constructed by font_list_1, so
1218 that we correctly identify the charset fields. Don't remove "*-"
1219 prefix from charset.
1220 (w32_list_synthesized_fonts): Fix argument to alloca.
1221
c89e4bc5
GM
12222001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1223
1224 * window.h (MINI_WINDOW_P): Use NILP.
1225
1226 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1227
1228 * termhooks.h (struct input_event): Use proper type for `kind'.
1229
12302001-10-04 Gerd Moellmann <gerd@gnu.org>
1231
1232 This handles unknown keysyms better than before. For example,
1233 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1234 Emacs formerly completely ignored F5. With the change, it derives
1235 a key symbol from the name of the X keysym, `ccaron' in this case.
1236 Reported by Martin Buchholz.
1237
1238 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1239 unknown keysyms.
1240
1241 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1242 that EVENT->code isn't a function key, use the keysym's name.
1243
12442001-10-04 Gerd Moellmann <gerd@gnu.org>
1245
1246 FOREACH is a macro that should make it easier to loop over Lisp
1247 lists with checks for cycles and proper lists.
1248
1249 * lisp.h (LIST_END_P, FOREACH): New macros.
1250
12512001-10-04 Gerd Moellmann <gerd@gnu.org>
1252
1253 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1254 called for a lost connection. Prevent dumping core in this case.
1255 Instead print the X error, and exit. On user request.
1256
1257 * xterm.c (error_msg): New variable.
1258 (x_fatal_error_signal): New function.
1259 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1260 as fatal_error_signal_hook around the call to XtCloseDisplay.
1261
1262 * emacs.c (fatal_error_signal_hook): New variable.
1263 (fatal_error_signal): Call that function.
1264
12652001-10-04 Gerd Moellmann <gerd@gnu.org>
1266
1267 With this, Emacs prints how much pure storage it will
1268 approximately need in case pure storage overflows while dumping.
1269
1270 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1271 New variables.
1272 (init_alloc_once): Initialize new variables.
1273 (PURE_POINTER_P): Use new variables.
1274 (pure_alloc): If pure storage overflows, allocate from the heap.
1275 (check_pure_size): New function.
1276 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1277
1278 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1279 (check_pure_size): Add prototype.
1280
1281 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1282
12832001-10-04 Gerd Moellmann <gerd@gnu.org>
1284
1285 This adds a post-gc-hook that's run with GC inhibited.
1286 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1287
1288 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1289 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1290 (Fgarbage_collect): Run post-gc-hook.
1291
12922001-10-04 Gerd Moellmann <gerd@gnu.org>
1293
1294 This adds `defvaralias' and `indirect-variable'. Changes not
1295 directly related to this feature are there to gain the same
1296 performance again as before variable aliases.
1297
1298 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1299 code to get and set symbol values, to take defvaralias into account.
1300
1301 (Note: the new `constant' bit-flag in symbols would make it
1302 possible to define arbitrary read-only variables, e.g. with
1303 `defconst'.)
1304
1305 Documentation is in lispref/variables.texi. Added to NEWS.
1306
1307 * lisp.h (enum symbol_interned): New enumeration.
1308 (struct Lisp_Symbol): Remove member `obarray', add
1309 `indirect_variable', `constant', and `interned'.
1310 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1311 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1312 (indirect_variable): Add prototype.
1313
1314 * print.c (print_preprocess, print_object): Test internedness of
1315 symbols differently.
1316
1317 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1318 bit-fields.
1319 (init_obarray): Likewise for t and nil.
1320
1321 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1322 (Fdefvaralias): New function.
1323 (specbind): Simplify the test if symbol is a constant.
1324 (syms_of_eval): Defsubr Fdefvaralias.
1325
1326 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1327 (Qcyclic_variable_indirection): New variable.
1328 (Fkeywordp): Check for internedness differently.
1329 (Fmakunbound): Simplify the test if symbol is a constant.
1330 (indirect_variable, Findirect_variable): New functions.
1331 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1332 aliased symbol.
1333 (let_shadows_buffer_binding_p): Check for variable aliases.
1334 (set_internal): Simplify the test if SYMBOL is a constant.
1335 If SYMBOL has a buffer-local value and is an alias, use the aliased
1336 symbol instead.
1337 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1338 Sindirect_variable.
1339
1340 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1341 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1342 set directly.
1343
1344 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1345
1346 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1347 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1348 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1349
ab952a4f
GM
13502001-10-04 Gerd Moellmann <gerd@gnu.org>
1351
1352 * Branch for 21.1.
b56ba8de 1353
ba88ff28
MB
13542001-10-03 Miles Bader <miles@gnu.org>
1355
1356 * callproc.c (syms_of_callproc): Explicitly state in the
1357 documentation for `process-environment' that earlier entries take
1358 precedence over later ones.
1359
ae1a9581
MB
13602001-10-02 Miles Bader <miles@gnu.org>
1361
1362 * textprop.c (Fnext_char_property_change)
1363 (Fprevious_char_property_change): Remove reference to non-existant
1364 argument OBJECT from doc-string.
1365
257e3f57
GM
13662001-10-01 Gerd Moellmann <gerd@gnu.org>
1367
1368 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1369 (try_window_id): Skip back over lines ending in a newline from a
1370 string.
1371
1372 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1373 New bit flag
1374
c1f29759
RS
13752001-10-01 Richard M. Stallman <rms@gnu.org>
1376
1377 * search.c (Freplace_match): Doc fix.
1378
c30dce3d
AI
13792001-09-28 Andrew Innes <andrewi@gnu.org>
1380
1381 * w32menu.c (set_frame_menubar): Take into account that
1382 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1383 <raeburn@gnu.org>.
1384
03be5931
EZ
13852001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1386
1387 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1388
75bec752
PJ
13892001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1390
1391 * s/gnu-linux.h: Fix a typo in comment.
1392
83100e0a
AS
13932001-09-28 Andreas Schwab <schwab@suse.de>
1394
1395 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1396 nocombreloc, in case -z combreloc is the default.
1397
a74b48cf
GM
13982001-09-28 Gerd Moellmann <gerd@gnu.org>
1399
1400 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1401 really going on here.
1402
09c4719e
SM
14032001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1404
1405 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1406
f7d5d963
EZ
14072001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1408
1409 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1410 utf-8, menu-bar, and latin-N.
1411 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1412 unconditionally now.
1413 (lisp): Add latin-N, since they are preloaded.
1414
9240e746
GM
14152001-09-27 Gerd Moellmann <gerd@gnu.org>
1416
14531065
GM
1417 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1418 to the left. Some cleanup.
1419
9240e746
GM
1420 * xdisp.c (display_mode_element): One more case where a string's
1421 multibyteness should be used for display.
1422
edd1e654
GM
14232001-09-26 Gerd Moellmann <gerd@gnu.org>
1424
b02439c8
GM
1425 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1426 reading at EOF.
1427
032906b1 1428 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1429 of the only temporarily set echoing flag for deciding when
032906b1
GM
1430 the cancel echoing.
1431
1432 * keyboard.c (echo_kboard): Make externally visible.
1433
1434 * lisp.h (echo_kboard): Declare extern.
1435
cb617e7c 1436 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1437 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1438 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1439 this round of redisplay if make_cursor_line_fully_visible fails.
1440 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1441 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1442
1443 * dispextern.h (required_matrix_width, required_matrix_height):
1444 Add prototypes.
1445
09c4719e
SM
1446 * dispnew.c (required_matrix_width, required_matrix_height):
1447 New functions.
cb617e7c 1448 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1449 (allocate_matrices_for_frame_redisplay: Use them.
1450 Remove parameters CH_DIM.
cb617e7c 1451
edd1e654
GM
1452 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1453 and selected_window to the frame of the window whose mode-lines
1454 are displayed, and to the window itself.
1455 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1456 here.
edd1e654 1457
924b604c
GM
14582001-09-25 Gerd Moellmann <gerd@gnu.org>
1459
daba7643
GM
1460 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1461 the image cache under us.
1462
b7a22712 1463 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1464 with a string value, use that string's multibyteness for displaying.
b7a22712 1465
ad648212
GM
1466 * keyboard.c (read_char): Don't clear a message for a switch-frame
1467 event. From Stefan Monnier <monnier@cs.yale.edu>.
1468
9f8531e5
GM
1469 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1470 version for after 21.1.
1471
1472 * xdisp.c (row_containing_pos): Make externally visible.
1473
1474 * dispextern.h (row_containing_pos): Add prototype.
1475
924b604c
GM
1476 * process.c (send_process): Disable composition if from_byte < 0.
1477 From Kenichi Handa <handa@etl.go.jp>.
1478
6f3f0db4
GM
14792001-09-24 Gerd Moellmann <gerd@gnu.org>
1480
c69c0ebc
GM
1481 * xterm.c (refreshicon): Function removed.
1482
d1182bc4
GM
1483 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1484
1485 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1486
1487 * xterm.c (toplevel): Remove includes in #if 0.
1488
6f3f0db4
GM
1489 * process.c (sigchld_handler) [LINUX]: Don't return from
1490 the signal handler at the end of the loop.
1491
59957f85
GM
14922001-09-21 Gerd Moellmann <gerd@gnu.org>
1493
09c4719e
SM
1494 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1495 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1496
a0528984
EZ
14972001-09-21 Markus Rost <rost@math.ohio-state.edu>
1498
1499 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1500
db92b288
GM
15012001-09-20 Gerd Moellmann <gerd@gnu.org>
1502
3fed8ad5
GM
1503 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1504 since this function can be called during GC.
1505
db92b288
GM
1506 * callproc.c (Fcall_process): Handle errors from pipe(2).
1507 (child_setup): Delete code in #ifdef vipc.
1508
7121b85a
GM
15092001-09-19 Gerd Moellmann <gerd@gnu.org>
1510
72f62cb5
GM
1511 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1512 (display_mode_element): Display the string from decode_mode_spec
1513 depending on its multibyteness.
1514
a2697022
GM
1515 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1516
7121b85a
GM
1517 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1518
bfc97351
GM
15192001-09-18 Gerd Moellmann <gerd@gnu.org>
1520
c9063433
GM
1521 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1522 recursive_edit_unwind.
1523 (recursive_edit_unwind): Set kboard state according to
1524 SINGLE-KBOARD.
1525
3fbdba3e
GM
1526 * buffer.c (modify_overlay): Don't do nothing if START == END;
1527 This can still be a modification, for example when an overlay has
1528 a before-string or after-string.
1529 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1530 an overlay with before-string or after-string.
1531
1270031d
GM
1532 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1533 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1534
bfc97351
GM
1535 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1536 first_unchanged_at_end_row is in front of
1537 last_unchanged_at_beg_row. This code should be removed after the
1538 release of 21.1.
1539
d8a973aa
GM
15402001-09-17 Gerd Moellmann <gerd@gnu.org>
1541
e18c8b8d
GM
1542 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1543 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1544
d8a973aa
GM
1545 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1546 versions >= 2.95.
1547
ed7d6ba4
EZ
15482001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1549
1550 * dired.c (Ffile_attributes): Doc fix.
1551
551629f9
GM
15522001-09-14 Gerd Moellmann <gerd@gnu.org>
1553
1554 * fileio.c (Ffile_symlink_p): Fix last change.
1555
1556 * filelock.c (current_lock_owner): Fix last change.
1557
4c8c7926
GM
15582001-09-13 Gerd Moellmann <gerd@gnu.org>
1559
620c4704
GM
1560 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1561 take that to mean that the buffer is too small.
1562
81c3310d
GM
1563 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1564 that to mean that the buffer is too small.
1565
06fd3792
GM
1566 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1567 current buffer's multibyteness when discarding the iterator's
1568 stack.
1569
4c8c7926
GM
1570 * xfns.c (Fx_window_property): Handle case that property gets
1571 deleted between the two calls to XGetWindowProperty.
1572
9a72e4c1
GM
15732001-09-11 Gerd Moellmann <gerd@gnu.org>
1574
bd819d14 1575 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1576
a41edd99
GM
1577 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1578 in addition to read-only.
1579
1580 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1581 to t in addition to read-only.
1582
1583 * lisp.h (Qinhibit_modification_hooks): Declare.
1584
1585 * insdel.c (Qinhibit_modification_hooks): New variable.
1586 (syms_of_insdel): Initialize and staticpro it.
1587
d4881c6a
GM
1588 * textprop.c (verify_interval_modification): Don't run
1589 modification-hooks if inhibit_modification_hooks.
1590
1591 * dispnew.c (set_window_cursor_after_update): Fix code
1592 finding glyph row containing cursor when cursor_in_echo_area
1593 is >= 0.
1594
9a72e4c1
GM
1595 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1596 (add_to_log): Use bcopy instead of strcpy.
1597 (init_from_display_pos): Use an explicit loop over bytes in
1598 overlay strings instead of calling index.
1599
f4a374a1
GM
16002001-09-10 Gerd Moellmann <gerd@gnu.org>
1601
300e57bd
GM
1602 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1603
1604 * dispnew.c (direct_output_for_insert): Don't change IT's
1605 stop_charpos to something in front of its current position.
1606
f4a374a1
GM
1607 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1608 `format'.
1609
7e4cbc91
RS
16102001-09-10 Richard M. Stallman <rms@gnu.org>
1611
1612 * frame.c (Fmouse_position): Doc fix.
1613
6afad91e
GM
16142001-09-07 Gerd Moellmann <gerd@gnu.org>
1615
1616 * xdisp.c (init_from_display_pos): Don't compare the result
1617 of calling index with NULL.
1618
f76e0368
GM
16192001-09-06 Gerd Moellmann <gerd@gnu.org>
1620
1621 * xfns.c (x_set_background_color): Don't change the colors
1622 of the X window of scroll bar widgets.
1623
9ead1b60
AI
16242001-09-05 Andrew Innes <andrewi@gnu.org>
1625
1626 * w32fns.c (w32_createwindow): Undo last change.
1627
c3b497b3
GM
16282001-09-05 Gerd Moellmann <gerd@gnu.org>
1629
08e1d6df
GM
1630 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1631
c3b497b3
GM
1632 * xdisp.c (string_buffer_position): Use *single_char_property*
1633 functions instead of the *single_property* functions.
b56ba8de 1634
8f860180
AI
16352001-09-04 Andrew Innes <andrewi@gnu.org>
1636
9a72e4c1
GM
1637 * w32term.c (w32_read_socket): Add more information to debugging
1638 output.
8f860180
AI
1639
1640 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1641 from Emacs frames, so that calls to GetClipBox in w32term.c
1642 correctly report when part of a frame is visible (including
1643 scrollbars, etc). This prevents repeated redrawing of frames when
1644 only a scrollbar is visible.
1645 (w32_wnd_proc): Add more frame information to debugging output.
1646
2ee1aa00
SM
16472001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1648
1649 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1650
e3b22517
GM
16512001-09-03 Gerd Moellmann <gerd@gnu.org>
1652
7e376260
GM
1653 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1654 help-echo for a string which doesn't have help-echo itself, use
1655 get-char-property to obtain the help-echo from the string's buffer
1656 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1657 have mouse-face, look ``under'' the string for mouse-face from an
1658 overlay.
1659 (fast_find_position): Add parameter STOP. In the final row, stop
1660 before glyphs having STOP as object. Don't consider glyphs that
1661 are not from a buffer.
1662
e3b22517
GM
1663 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1664
9a249bba
EZ
16652001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1666
1667 * fns.c (Fmd5): Doc fix.
1668
c9979669
GM
16692001-08-31 Gerd Moellmann <gerd@gnu.org>
1670
1671 * composite.c (update_compositions): Do nothing if
1672 inhibit-modification-hooks is set.
1673
9584e63a
GM
16742001-08-30 Gerd Moellmann <gerd@gnu.org>
1675
986ec8f2 1676 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1677 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1678 glyph matrices etc. in a core dump.
1679
92a25631
GM
1680 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1681 (syms_of_xdisp): Initialize them.
1682 (handle_single_display_prop): Don't change point, bind `object',
1683 `position', and `buffer-position' instead to the object having the
2ee1aa00 1684 `display' property, position in the object and position in the buffer.
92a25631 1685
9584e63a
GM
1686 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1687 of the buffer if REPLACE is non-nil.
1688
d38633a3
GM
16892001-08-29 Gerd Moellmann <gerd@gnu.org>
1690
1691 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1692
f4fccc1e
EZ
16932001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1694
1695 * w32term.c (x_set_glyph_string_background_width)
1696 (show_mouse_face): Track the last changes in xterm.c.
1697
eaaa65b0
GM
16982001-08-28 Gerd Moellmann <gerd@gnu.org>
1699
7b0870b2
GM
1700 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1701 string's background width so that multi-line mouse-face is drawn
1702 to the right edge of the window.
1703 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1704 glyphs.
1705
6b6e2422 1706 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1707 before inserting/writing glyphs.
6b6e2422 1708
eaaa65b0
GM
1709 * xdisp.c (display_mode_element): Use string_byte_to_char to
1710 determine character positions in strings, use chars_in_text
1711 instead of strwidth.
1712 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1713 a matrix as parameter; this is easier to use from GDB.
1714
9ad62cf8
MB
17152001-08-28 Miles Bader <miles@gnu.org>
1716
2ee1aa00
SM
1717 * textprop.c (Fprevious_single_char_property_change)
1718 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1719
32171635
GM
17202001-08-27 Gerd Moellmann <gerd@gnu.org>
1721
47d57b22
GM
1722 * fileio.c (Finsert_file_contents): Allocate, restore, and
1723 free composition data in the case of REPLACE not being nil.
1724
1725 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1726 there exist overlay strings with newlines at POS.
1727 (text_outside_line_unchanged_p): Return 0 if changes start at
1728 START and overlays exist at START. Likewise for END.
1729 (try_window_id): Give up if init_to_row_end returns 0.
1730
32171635
GM
1731 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1732 unconditionally.
1733
e1249666
GM
17342001-08-24 Gerd Moellmann <gerd@gnu.org>
1735
33954c45
GM
1736 * keymap.c (access_keymap): Return the cdr of the binding of
1737 a generic character instead of its definition (KEY . BINDING).
1738
e1249666
GM
1739 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1740 to 0 also in the REPLACE case.
1741
fb4c6c96
AC
17422001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1743
1744 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1745 open to determine whether file is readable (as for DOS_NT).
1746
59ecf80b
GM
17472001-08-23 Gerd Moellmann <gerd@gnu.org>
1748
1749 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1750 coding.type is coding_type_no_conversion or coding_type_raw_text,
1751 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1752 non-nil instead of just setting enable_multibyte_characters in the
1753 buffer to nil.
1754
40e33037
GM
17552001-08-22 Gerd Moellmann <gerd@gnu.org>
1756
374388c3
GM
1757 * dispextern.h (struct face_cache): Add member
1758 menu_face_changed_p.
1759
1760 * xfaces.c (menu_face_changed_default): New variable.
1761 (menu_face_changed_count): Variable removed.
1762 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1763 the menu_face_changed_default flag, otherwise set the FRAME's
1764 menu_face_changed_p flag if the `menu' face has been changed.
1765 Prevent calling set_font_frame_param if FRAME is t.
1766 (make_face_cache): Initialize cache's menu_face_changed_p
1767 from menu_face_changed_default.
1768 (realize_basic_faces): Look into the frame's face cache to
1769 determine if the menu appearance needs updating.
1770
40e33037
GM
1771 * keymap.c (access_keymap): Fix last change to not consider
1772 IDX when it has modifiers.
1773
859ea4b8
GM
17742001-08-21 Gerd Moellmann <gerd@gnu.org>
1775
1776 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1777 . BINDING) exists, where GENERIC-CHAR is the generic character of
1778 the charset of IDX, return BINDING unless there exists a binding
1779 for IDX itself.
1780
e8660d73
GM
17812001-08-16 Gerd Moellmann <gerd@gnu.org>
1782
cca1b1d7
GM
1783 * xrdb.c (SYSV): Don't define on Solaris 2.
1784 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1785
e8660d73 1786 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1787 of the screen line, not text line, containing IT's current position.
e8660d73 1788
93aba6fc
GM
17892001-08-15 Gerd Moellmann <gerd@gnu.org>
1790
288d4e06
GM
1791 * window.c (window_scroll_pixel_based): Don't recenter if
1792 PT is partially visible in the window.
1793
3452efc2
SM
1794 * xterm.c (expose_window_tree, expose_window, expose_line):
1795 Return 1 when overwriting mouse-face.
82f053ab
GM
1796 (expose_frame): If mouse-face was overwritten, redo it.
1797
93aba6fc
GM
1798 * xfaces.c (x_update_menu_appearance): Don't call
1799 set_frame_menubar, let the next redisplay do it.
1800
858a55c1
AI
18012001-08-14 Andrew Innes <andrewi@gnu.org>
1802
1803 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1804 drawing glyph string.
1805
3a990b67
EZ
18062001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1807
1808 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1809 running HI-UX/MPP.
1810
04386463
GM
18112001-08-14 Gerd Moellmann <gerd@gnu.org>
1812
1813 * xfaces.c (x_update_menu_appearance): Save and restore value of
1814 interrupt_input_blocked.
1815
3e6385a4
GM
18162001-08-13 Gerd Moellmann <gerd@gnu.org>
1817
b0e619b4
GM
1818 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1819 a line start, move back to the line start.
3452efc2 1820
0de73d5a
GM
1821 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1822 exactly when a mini-buffer is active.
1823
3e6385a4
GM
1824 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1825 in units of 1/8 character on non window-system frames.
1826 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1827
d1b5f629
EZ
18282001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1829
1830 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1831 a doc string.
1832
eaa2319f
GM
18332001-08-09 Gerd Moellmann <gerd@gnu.org>
1834
8e3189f0
GM
1835 * keyboard.c (Vpre_help_message): New variable.
1836 (syms_of_keyboard): Initialize and staticpro it.
1837 (show_help_echo): Record current message before displaying a
1838 help-echo, and restore that message when clearing the help.
1839
eaa2319f
GM
1840 * xfns.c (x_create_im): Remove prototype.
1841
1842 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1843
1844 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1845
eaa2319f
GM
18462001-08-08 Gerd Moellmann <gerd@gnu.org>
1847
1848 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1849 windows whose height has changed, disable partially visible lines.
eaa2319f 1850
17fdcfc8
GM
18512001-08-07 Gerd Moellmann <gerd@gnu.org>
1852
22d01aed 1853 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1854 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1855
17fdcfc8
GM
1856 * xdisp.c (start_display): Don't try to determine the continuation
1857 lines width if lines are truncated. It's superfluous and leads to
1858 incorrect results if POS is not visible in the window after
1859 reseating the iterator at the previous line start.
1860
8e3fe78e
GM
18612001-08-06 Gerd Moellmann <gerd@gnu.org>
1862
1863 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1864
98a8938c
GM
18652001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1866
1867 * alloc.c (init_stack): Remove declaration.
1868
18f9986a
GM
18692001-08-03 Gerd Moellmann <gerd@gnu.org>
1870
5e1f85e0
GM
1871 * keyboard.c (read_key_sequence): Check that key is an integer
1872 before comparing it with quit_char.
1873 (add_command_key): Use larger_vector.
1874 (read_char_x_menu_prompt): Instead of converting symbol and
1875 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1876 which cannot be confused with valid events.
5e1f85e0
GM
1877 (read_char): When reading from Vunread_command_events, check for
1878 events of the form (EVENT . disabled) instead of
1879 (EVENT . nil).
1880
18f9986a
GM
1881 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1882 a float, determine the max height from the frame's height.
1883
fbc7f2a6
GM
18842001-08-02 Gerd Moellmann <gerd@gnu.org>
1885
1886 * xdisp.c (redisplay_internal): Take message_cleared_p into
1887 account only if minibuf_level == 0.
1888
81b1a79d
GM
18892001-08-01 Gerd Moellmann <gerd@gnu.org>
1890
e5c60873
GM
1891 * xdisp.c (redisplay_internal): Add a check for the last
1892 displayed message.
3452efc2 1893
6e019995
GM
1894 * xdisp.c (message_cleared_p): New variable.
1895 (clear_message): Set message_cleared_p when clearing the current
1896 message.
1897 (redisplay_internal): Look at message_cleared_p to capture
1898 the case that the echo area should be cleared.
1899
308a74d8
GM
1900 * keyboard.c (command_loop_1): Fix spelling of
1901 resize_echo_area_exactly.
1902
3452efc2 1903 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1904
1905 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1906
81b1a79d
GM
1907 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1908 current matrix when the window gets smaller.
1909
ada329e6
EZ
19102001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1911
1912 * print.c (strout): Cast the character passed to insert_char to
1913 unsigned char, to avoid sign extension when it is promoted to int.
1914
ed86208c
GM
19152001-07-31 Gerd Moellmann <gerd@gnu.org>
1916
1917 * fileio.c (Finsert_file_contents): Don't treat a return value
1918 of 0 from emacs_read as an IO error.
1919
6594ac22
GM
19202001-07-30 Gerd Moellmann <gerd@gnu.org>
1921
cef68af5
GM
1922 * keyboard.c (abs): New macro.
1923 (double_click_fuzz): New variable.
1924 (make_lispy_event): Use it to determine what makes a double-click.
1925 (syms_of_keyboard): DEFVAR_INT it.
1926
6594ac22
GM
1927 * xmenu.c (set_frame_menubar): Take into account that
1928 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1929 <raeburn@gnu.org>.
1930
75c5350a
GM
19312001-07-27 Gerd Moellmann <gerd@gnu.org>
1932
1933 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1934
1935 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1936 of row's visible height.
1937
1938 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1939 deal with the first overlay string having an image `display' property.
1940 (try_window_reusing_current_matrix, compute_line_metrics):
1941 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1942 row is invisible above and part of the row is at the same time
1943 invisible below the window.
1944
ac49effe
GM
19452001-07-26 Gerd Moellmann <gerd@gnu.org>
1946
1947 * xfns.c (x-show-tip): Doc fix.
3452efc2 1948
ac49effe
GM
1949 * xfns.c (Vx_max_tooltip_size): New variable.
1950 (syms_of_xfns): DEFVAR_LISP it.
1951 (Fx_show_tip): Set frame's window_width to the width of the
1952 window. Use a maximum tooltip size specified by
1953 Vx_max_tooltip_size, if that has valid contents.
1954 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1955
8c3b00cb
AI
19562001-07-26 Andrew Innes <andrewi@gnu.org>
1957
1958 * w32term.c (x_display_list): New variable.
1959 (w32_term_init): Set it.
1960
1961 * w32term.h (x_display_list): New extern.
1962
16098288
GM
19632001-07-26 Gerd Moellmann <gerd@gnu.org>
1964
1965 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1966 is non-nil, instead of when redisplaying_p is non-zero.
1967 See comment there.
16098288
GM
1968 (mark_window_display_accurate_1): Add an assertion.
1969
64c5be50
GM
19702001-07-25 Gerd Moellmann <gerd@gnu.org>
1971
e743f599
GM
1972 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1973
563b384d
GM
1974 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1975 events so that we get a chance of processing expose events.
1976
64c5be50
GM
1977 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1978
296808a5
GM
19792001-07-24 Gerd Moellmann <gerd@gnu.org>
1980
1981 * xfns.c (valid_image_p): Protect better against invalid image
1982 specifications. Previous code could signal an error.
1983
5247262a
GM
19842001-07-23 Gerd Moellmann <gerd@gnu.org>
1985
3452efc2 1986 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1987 presence of display table entries.
1988 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1989
dd42b31a
GM
1990 * dispnew.c (adjust_glyph_matrix): In the optimization for
1991 windows whose height has changed, use the new window height
1992 to compute which rows to invalidate.
1993
9e5a7f2a
GM
1994 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1995 (MAX_10_EXP): New macro.
1996 (Fformat): Use it.
1997
5247262a
GM
1998 * coding.c (code_convert_region): Handle the multibyte case if
1999 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2000
177ab8ce
GM
20012001-07-20 Gerd Moellmann <gerd@gnu.org>
2002
6e07c0a5
GM
2003 * dispextern.h (struct face): Change type of `stipple' to
2004 int; it's an ID.
2005
177ab8ce
GM
2006 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2007
b5b80599
GM
20082001-07-19 Gerd Moellmann <gerd@gnu.org>
2009
4e2a256b
GM
2010 * dispnew.c (update_window): Don't set the cursor at the end
2011 of the update if display update has been paused.
2012
3452efc2 2013 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2014
c1fd9232
KR
20152001-07-18 Ken Raeburn <raeburn@gnu.org>
2016
2017 * fns.c (Fset_char_table_default): Check that a charset is defined
2018 before checking its dimension.
2019
928a85c1
KR
20202001-07-17 Ken Raeburn <raeburn@gnu.org>
2021
2022 * coding.c (setup_coding_system): Don't do any designation based
2023 on reg_bits if charset is not yet defined.
2024
fb4c6c96 2025 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2026 pointer, using eassert.
2027
de11c1ea
GM
20282001-07-17 Gerd Moellmann <gerd@gnu.org>
2029
3452efc2
SM
2030 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2031 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2032
467f1209
GM
20332001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2034
2035 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2036
c3d6be34
GM
20372001-07-16 Gerd Moellmann <gerd@gnu.org>
2038
c1d61a7d
GM
2039 * fileio.c (unwind_read): Function removed.
2040 (read_non_regular, read_non_regular_quit): New functions.
2041 (Finsert_file_contents): When reading from non-regular files,
2042 arrange to catch a `quit' and terminate the loop. Rearrange
2043 code so that a `quit' when reading from a regular file doesn't
2044 insert text in the buffer.
2045
c3d6be34
GM
2046 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2047 Clear faces afterwards.
2048 (clear_font_table): Take a x_display_info parameter. Don't free
2049 fonts being the default font of any frame on the given display.
2050
e06aa1f9
GM
20512001-07-13 Gerd Moellmann <gerd@gnu.org>
2052
2053 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2054 instead of CHAR_STRING which can signal an error.
2055
2056 * charset.c (char_to_string_1): Extracted from char_to_string.
2057 Return -1 instead of signaling an error.
2058 (char_to_string): Use it.
2059
2060 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2061
176c92e6
SM
20622001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2063
2064 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2065 is t, don't try to append anything to it.
2066
1c56232f
EZ
20672001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2068
2069 * dired.c (file_name_completion): Pass dp->d_name to
2070 Fstring_match, not elt, which is always nil here.
2071
1d2b2268
GM
20722001-07-12 Gerd Moellmann <gerd@gnu.org>
2073
2074 * xselect.c (x_decline_selection_request): Handle errors
2075 caused by receivers that have vanished.
2076
2077 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2078 ignoring events on foreign windows in #if 0. Always dispatch
2079 the event after checking it with x_handle_property_notify.
2080
2081 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2082 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2083 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2084 (toplevel): Add prototypes for file-local functions.
2085 (x_atom_to_symbol): Remove DPYINFO parameter.
2086
fe5a0162
SM
20872001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2088
2089 * w32menu.c (menubar_selection_callback, w32_menu_show):
2090 Initialize `entry' to nil.
2091 (w32_dialog_show): Remove unused `save_wv' variable.
2092 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2093
a777242c
GM
20942001-07-11 Gerd Moellmann <gerd@gnu.org>
2095
8ee5b6a3
GM
2096 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2097
d0e2444e
GM
2098 * fileio.c (unwind_read): Print a message when discarding inserted
2099 text or switching the buffer to unibyte. Change parameter.
2100 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2101
a777242c
GM
2102 * fileio.c (unwind_read): New function.
2103 (Finsert_file_contents): Record it as unwind-function for
2104 the case that reading is interrupted by C-g.
2105
ae794295
GM
21062001-07-10 Gerd Moellmann <gerd@gnu.org>
2107
fe5a0162 2108 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2109 update when scrolling_window returns 0.
2110
6b05fae3
GM
2111 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2112
2113 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2114 for the case that x_decode_color signals an error.
6b05fae3 2115
ae794295
GM
2116 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2117
bb6e8cee
GM
21182001-07-09 Gerd Moellmann <gerd@gnu.org>
2119
2120 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2121 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2122 around ioctls.
2123
36b40a8a
EZ
21242001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2125
24b97d4b
EZ
2126 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2127 doc string line for dos-timezone-offset.
2128
36b40a8a
EZ
2129 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2130 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2131 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2132 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2133
2134 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2135
0967b4b0
GM
21362001-07-05 Gerd Moellmann <gerd@gnu.org>
2137
f25cfe53
GM
2138 * sound.c: Include Emacs' header files with #include "...".
2139
0967b4b0
GM
2140 * eval.c (specbind): Additionally record the buffer that was
2141 current when a buffer-local or frame-local variable was bound.
2142
c347a1c3
GM
21432001-07-04 Gerd Moellmann <gerd@gnu.org>
2144
2145 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2146 to unibyte characters in unibyte buffers.
2147
6332ca8a
GM
21482001-07-03 Gerd Moellmann <gerd@gnu.org>
2149
38472d44
GM
2150 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2151 the frame on the binding stack. Change format of entries for
2152 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2153 (unbind_to): Handle unbinding a frame-local variable.
2154
6332ca8a 2155 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2156 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2157 (dump_glyph_row): Print row's continuation_lines_width.
2158 (try_window_id): Take the shortcut if ZV is visible in the
2159 window, but there are actually no changes at ZV.
2160
63d1b174
GM
21612001-07-02 Gerd Moellmann <gerd@gnu.org>
2162
4c175203
GM
2163 * xterm.h (x_free_dpy_colors): Add prototype.
2164
2165 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2166 right number of arguments.
2167
0b54ce28
GM
2168 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2169 ($(lwlibdir)TAGS): New target.
4c175203 2170 (TAGS): Fix dependency list.
0b54ce28 2171
63d1b174
GM
2172 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2173 with input blocked.
2174
d827466c
GM
21752001-06-30 Gerd Moellmann <gerd@gnu.org>
2176
2177 * emacs.c (main): Remove extern declaration for sys_nerr, which
2178 isn't used and causes a compilation error with GCC 3.0 on
2179 FreeBSD 4.3.
2180
b5cb1ada
GM
21812001-06-27 Gerd Moellmann <gerd@gnu.org>
2182
a5d3ec3f 2183 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2184 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2185 (toplevel): Include <signal.h> and syssignal.h.
2186
b5cb1ada
GM
2187 * sound.c (vox_configure, vox_close): Turn off atimers
2188 around ioctls.
2189
d9bad487
GM
21902001-06-26 Gerd Moellmann <gerd@gnu.org>
2191
fdbb67fe
GM
2192 * keyboard.c (read_char) <non_reread>: Record the previous idle
2193 start time before calling timer_stop_idle.
2194 (read_char) <reread_first>: After processing a help-echo event,
2195 restore the previous idle start time.
2196
d9bad487
GM
2197 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2198 the start of invisible text.
2199 (setup_for_ellipsis): New function.
2200 (next_overlay_string): After all overlay strings have been
2201 processed, display an ellipsis if necessary.
2202 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2203 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2204
2205 * dispextern.h (struct iterator_stack_entry): Add member
2206 display_ellipsis_p.
2207
2b9c25e0
GM
22082001-06-25 Gerd Moellmann <gerd@gnu.org>
2209
80de57df
GM
2210 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2211 on the value of the wait-for-wm frame parameter.
2212
2213 * xterm.h (struct x_output): Add member wait_for_wm.
2214
2215 * xfns.c (Qwait_for_wm): New variable.
2216 (x_frame_parms): Add entry for `wait-for-wm".
2217 (x_set_wait_for_wm): New function.
2218 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2219 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2220
2b9c25e0
GM
2221 * xdisp.c (try_window_id) <all changes below window end>: Don't
2222 take this shortcut if ZV is visible in the window.
2223 (try_window_id): When checking for window start being in changed
2224 text, don't check that the buffer's size has changed.
2225
f772775c
RS
22262001-06-23 Richard M. Stallman <rms@gnu.org>
2227
2228 * minibuf.c (Fcompleting_read): Doc fix.
2229
fa9090b8
GM
22302001-06-19 Gerd Moellmann <gerd@gnu.org>
2231
2232 * composite.c (Ffind_composition_internal): Accept ZV
2233 and a string's end position as POS.
2234
f6f1beba
GM
22352001-06-18 Gerd Moellmann <gerd@gnu.org>
2236
2237 * composite.c (Ffind_composition_internal): Check POS
2238 for validity.
2239
0ae83348
EZ
22402001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2241
2242 * editfns.c (Fmessage_box): If the frame is not under a window
2243 system, output the message in the echo area.
2244
e4cdc335
RS
22452001-06-14 Richard M. Stallman <rms@gnu.org>
2246
2247 * xdisp.c (try_window_id): When EOB is visible, don't treat
2248 insertion at EOB as if it were "off the bottom of the screen."
2249
a55a5f3c
AI
22502001-06-11 Andrew Innes <andrewi@gnu.org>
2251
2252 * w32proc.c (create_child): Add new parameter is_gui_app.
2253 (w32_executable_type): Add new parameter is_gui_app.
2254 (sys_spawnve): Use it.
2255 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2256 SIGQUIT. This matches better how the signals are interpreted by
2257 MSVC compiled programs.
2258 (syms_of_ntproc): Update docstring.
2259
1b85dc1c
SM
22602001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2261
2262 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2263 well otherwise note_mouse_highlight might optimize away highlighting
2264 if we pass over that same overlay again.
2265
b75f8eab
EZ
22662001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2267
2268 * lread.c (Fload): Document that the argument is run via
2269 substitute-in-file-name.
2270
94843cc1
GM
22712001-05-31 Gerd Moellmann <gerd@gnu.org>
2272
b14659e6
GM
2273 * Makefile.in (bootstrap-doc): New target.
2274 (bootstrap-emacs): Depend on it.
2275
0894672f
GM
2276 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2277 auto-save-list-file-name when shutting down Emacs, because
2278 creating the directory might signal an error, and leaves
2279 Emacs in a strange state.
2280
94843cc1
GM
2281 * term.c: (tty_cursor_hidden): New variable.
2282 (update_begin): Don't call tty_hide_cursor. Clean up.
2283 (update_end, set_terminal_window, set_scroll_region): Clean up.
2284 (ring_bell, reset_terminal_modes): Clean up.
2285 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2286 on tty_cursor_hidden.
2287 (write_glyphs): Call tty_hide_cursor.
2288
db3a49a6
SM
22892001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2290
2291 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2292
8bd189fb
GM
22932001-05-30 Gerd Moellmann <gerd@gnu.org>
2294
6f1be3b9
GM
2295 * xfns.c (enum image_value_type): New enumerator
2296 IMAGE_STRING_OR_NIL_VALUE.
2297 (parse_image_spec): Handle it.
2298 (xbm_format, pbm_format): Use it for :foreground and :background.
2299 (xbm_load, pbm_load): Check for nil color names.
2300
8bd189fb
GM
2301 * xterm.c (note_mouse_highlight): If an overlapping overlay
2302 exists, but we find that we highlight the same overlay as before,
2303 don't do the highlighting again.
2304
7bdba03c
GM
23052001-05-29 Gerd Moellmann <gerd@gnu.org>
2306
4c329aa8
GM
2307 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2308 Protect unibyte strings created by replacing their multibyte
2309 equivalents in menu_items.
2310
e15e2828
GM
2311 * keymap.c (Fsingle_key_description): NUL-terminate the string
2312 buffer before calling build_string.
2313
7bdba03c
GM
2314 * callproc.c (Fcall_process): Deal with decode_coding returning
2315 CODING_FINISH_INCONSISTENT_EOL.
2316
89c8dc6c
GM
23172001-05-28 Gerd Moellmann <gerd@gnu.org>
2318
db3a49a6 2319 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2320 an item's name with its key description in case the description
2321 is a multibyte string.
2322
2323 * keymap.c (Fsingle_key_description): Create a multibyte string
2324 only if necessary.
2325
eb04d6cd
GM
2326 * macros.c (Fstart_kbd_macro): Doc fix.
2327
8bd6307f
GM
2328 * xterm.c (cursor_in_mouse_face_p): New function.
2329 (x_draw_stretch_glyph_string): Use it to choose a different GC
2330 when drawing a cursor within highlighted text.
2331
e26c4089
GM
2332 * editfns.c (char_property_eq): Put in #if 0.
2333
2334 * indent.c (string_display_width): Put in #if 0.
2335
2336 * lread.c (Fload): Remove unused label.
2337
89c8dc6c
GM
2338 * termcap.c (speeds): Put in #if 0.
2339
9a1211f2
GM
23402001-05-18 Gerd Moellmann <gerd@gnu.org>
2341
29148a3f
GM
2342 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2343
9a1211f2
GM
2344 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2345 transformation matrix by 10.
2346
09393d07
GM
23472001-05-16 Gerd Moellmann <gerd@gnu.org>
2348
2349 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2350 only if it's equal to the former foreground pixel color.
db3a49a6 2351 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2352 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2353
460e6bae
GM
23542001-05-16 Dave Love <fx@gnu.org>
2355
2356 * insdel.c (signal_before_change, signal_after_change): Consider a
2357 local change hook which changes the buffer.
99c78ce8
GM
2358
2359 * process.c (read_process_output): Don't call signal_after_change
2360 and update_compositions after insert_from_string_before_markers.
2361
dbcf3c03
GM
23622001-05-16 Gerd Moellmann <gerd@gnu.org>
2363
a90b3d3c
GM
2364 * xfaces.c (split_font_name): Use the right field when
2365 checking for `[...]' syntax.
2366
1b7818b4
GM
2367 * buffer.c (copy_overlays): New function.
2368 (clone_per_buffer_values): Use it.
2369
2370 * buffer.h (OVERLAY_PLIST): New macro.
2371
9bae8781
GM
2372 * keymap.c (Fsingle_key_description): Replace a build_string with
2373 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2374
dbcf3c03
GM
2375 * fontset.c (Ffontset_info): Check that face is non-null
2376 before accessing its fields.
2377
8a1ae4dd
GM
23782001-05-15 Gerd Moellmann <gerd@gnu.org>
2379
18a0a39e
GM
2380 * keyboard.c (read_key_sequence): Prevent generating a fake
2381 prefix key twice.
2382
e335b66a
GM
2383 * xfaces.c (split_font_name): Handle `[...]' for the right
2384 font name fields.
2385
8a1ae4dd
GM
2386 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2387 of CCL_STAT_INVALID_CMD.
2388
3cf80731
SM
23892001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2390
33568849
SM
2391 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2392 in <var> has no default value yet.
2393
3cf80731
SM
2394 * xfaces.c (try_alternative_families): First try the FAMILY.
2395 And if nothing is found in the end, try again with scalable fonts.
2396 (try_font_list): Let try_alternative_families do a bit more of
2397 the work. Only use FAMILY if it is not nil.
2398 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2399
933b0249
GM
24002001-05-14 Gerd Moellmann <gerd@gnu.org>
2401
58e5af83
GM
2402 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2403 pointer shape when show_mouse_face has already done it.
33568849 2404
58e5af83 2405 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2406 full-width rows.
2407
7b16a6bf
GM
2408 * xfaces.c (split_font_name): Make sure to leave the loop
2409 with the right value of `i'.
3cf80731 2410
933b0249
GM
2411 * xfaces.c (split_font_name): Handle matrix transformations
2412 in the pixel and point size fields of XLFD font names.
2413 (xlfd_point_size): Likewise.
2414
dddcbf00
EZ
24152001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2416
3cf80731 2417 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2418 (x_to_w32_font): Add prototype.
2419
7689ef0b
EZ
2420 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2421 redefining, to avoid compiler warnings.
2422
e7c15bba
EZ
2423 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2424
dddcbf00
EZ
2425 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2426 (w32_get_bdf_glyph): Cast between unsigned char and char when
2427 passing arguments to subroutines, to shut up compiler warnings.
2428 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2429 GET_HEX_VAL.
2430
2431 * xfaces.c: Include keyboard.h before frame.h, not after it.
2432
2433 * widget.c: Include keyboard.h before frame.h.
2434
2435 * w32term.h (struct image, struct face): Forward declaration, to
2436 avoid compiler warnings.
2437
7bd2d083
GM
24382001-05-11 Gerd Moellmann <gerd@gnu.org>
2439
47e72862
GM
2440 * keyboard.c (read_key_sequence): Don't modify events when
2441 generating fake prefix keys (mode-line, scroll-bar, ...) since
2442 this prevents proper processing of such events when pushed back
2443 into unread-command-events.
2444
dd5f324b
GM
2445 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2446 actually redrawn. Make the function static.
2447 (note_mouse_highlight): Fix a case where the mouse cursor
2448 was changed back to the text cursor.
2449
2450 * xterm.h (clear_mouse_face): Remove prototype.
2451
d88a79d4
GM
2452 * xdisp.c (try_window_id): Fix the fix and set the right
2453 window_end_vpos.
2454
2455 * xdisp.c (try_window_id): Fix computation of window end in the
2456 case that lines were deleted at the end of the window. Add some
2457 more debug_method_adds.
0416532f 2458
7bd2d083
GM
2459 * xfaces.c (try_alternative_families): New function.
2460 (try_font_list): Use it. If ATTRS specifies a family, check
2461 fonts from that family first.
2462 (choose_face_font): Remove code setting the family part of
2463 the pattern to nil.
2464
23fca891
GM
24652001-05-10 Gerd Moellmann <gerd@gnu.org>
2466
ff9aa2ca
GM
2467 * xdisp.c (try_window_id): Fix case of all changes before
2468 the window start.
7b2654b5 2469
23fca891
GM
2470 * xdisp.c (try_window_id): Add some xasserts.
2471
e9726794
GM
24722001-05-09 Gerd Moellmann <gerd@gnu.org>
2473
2474 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2475
9e53a675
GM
24762001-05-09 Dave Love <fx@gnu.org>
2477
2478 * xdisp.c (GIVE_UP): Fix for K&R C.
2479
0d487c52
GM
24802001-05-09 Gerd Moellmann <gerd@gnu.org>
2481
fe88d421
GM
2482 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2483
0d487c52
GM
2484 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2485 back to the text cursor shape without need.
2486
1e9fc92e
GM
24872001-05-07 Gerd Moellmann <gerd@gnu.org>
2488
a2a6232e
GM
2489 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2490
2491 * dispextern.h (inverse_video): Declare extern.
2492
1e9fc92e
GM
2493 * keyboard.c (delete_kboard): Handle the case that selected_frame
2494 has been deleted in the course of x_connection_closed.
2495
12949a7f
EZ
24962001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2497
7b2654b5
SM
2498 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2499 Fix the change from 2001-04-30.
12949a7f 2500
2fa2f461
GM
25012001-05-03 Gerd Moellmann <gerd@gnu.org>
2502
a779d213
GM
2503 * xfns.c (file_dialog_unmap_cb): New function.
2504 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2505 where a dialog is closed via the window manager.
2506
7b2654b5 2507 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2508 the window start or all below the window end mostly rewritten.
2509 (redisplay_window): Move the tests if try_window_id is
2510 applicable to try_window_id.
2511 (GIVE_UP): New macro.
2512
3356df63
GM
25132001-05-02 Gerd Moellmann <gerd@gnu.org>
2514
a39202f6 2515 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2516 currently being updated, mark the frame garbaged.
2517 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2518 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2519
3356df63
GM
2520 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2521 again if it has already been drawn.
2522
a9d2fd1d
SM
25232001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2524
2525 * syntax.c (update_syntax_table): Check that oldi has the same
2526 properties as old_prop before deciding not to invalidate.
2527
c95fc5f1
GM
25282001-04-30 Gerd Moellmann <gerd@gnu.org>
2529
a9793e45
GM
2530 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2531 read-only text that is so because of text properties.
2532
c95fc5f1 2533 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2534 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2535 windows that are components of a Lucid menu bar.
2536
5a5d9185
GM
25372001-04-27 Gerd Moellmann <gerd@gnu.org>
2538
2539 * term.c (turn_on_face): Fix reverse video handling on terminals
2540 that don't support colors.
2541
ba973f7a
GM
25422001-04-26 Gerd Moellmann <gerd@gnu.org>
2543
2544 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2545 a non-buffer.
2546
8c56a983
GM
25472001-04-25 Gerd Moellmann <gerd@gnu.org>
2548
a728644c
GM
2549 * term.c (toggle_highlight): New function.
2550 (turn_on_face): Change handling of reverse video.
2551
7b2654b5
SM
2552 * process.c (wait_reading_process_input):
2553 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2554
bfd8410f
GM
2555 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2556 of the number of overlays to check.
2557
be2488ca
GM
2558 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2559
8c56a983
GM
2560 * xdisp.c (try_window_id): Fix a case where window_end_pos
2561 and window_end_bytepos were not adjusted.
2562
522d42f7
GM
25632001-04-23 Gerd Moellmann <gerd@gnu.org>
2564
2565 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2566 zero instead of -1.
2567
78c1afb6
EZ
25682001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2569
a9d2fd1d
SM
2570 * process.c (wait_reading_process_input) [!subprocesses]:
2571 Don't reference waiting_for_user_input_p, it's not defined in the
2572 branch without async subprocesses support.
78c1afb6 2573
a2fab450
GM
25742001-04-19 Gerd Moellmann <gerd@gnu.org>
2575
a122a38e
GM
2576 * keyboard.c (delete_kboard): Prevent a dangling reference
2577 from current_kboard to KB, which is freed.
2578
a9d2fd1d
SM
2579 * process.c (wait_reading_process_input):
2580 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2581 read_key_sequence aware of buffer changes from under it.
2582
0f8d6dc7
GM
25832001-04-18 Gerd Moellmann <gerd@gnu.org>
2584
eeffb293
GM
2585 * xfaces.c (Qscalable_fonts_allowed): New variable.
2586 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2587 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2588 removed.
eeffb293 2589 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2590 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2591 for scalable-fonts-allowed to t.
eeffb293 2592
0f8d6dc7
GM
2593 * fileio.c (Finsert_file_contents): If the file size returned from
2594 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2595 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2596
eec2d1de
EZ
25972001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2598
2599 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2600 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2601 (__memalign_hook): Make the two prototypes consistent.
2602
f4f480bd
GM
26032001-04-17 Gerd Moellmann <gerd@gnu.org>
2604
2605 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2606 matrix of mini-windows.
2607
52283633
SM
26082001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2609
2610 * intervals.c (find_interval): Don't rebalance during signal handling.
2611
ec2423c9
GM
26122001-04-11 Gerd Moellmann <gerd@gnu.org>
2613
30cb0001 2614 * fns.c: Include blockinput.h.
52283633 2615
ec2423c9
GM
2616 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2617
719d83ad
GM
26182001-04-10 Gerd Moellmann <gerd@gnu.org>
2619
60f8d735
GM
2620 * fns.c (Fcompare_strings): Fix return values.
2621
afffeb57
GM
2622 * window.c (window_scroll): Change the meaning of N to mean
2623 N screen-fulls or N lines.
2624 (window_scroll_pixel_based, window_scroll_line_based)
2625 (scroll_command, Fscroll_other_window): Change accordingly.
2626
52283633
SM
2627 * window.c (window_scroll_pixel_based, Frecenter):
2628 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2629 height of the window.
2630
2631 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2632 instead of using it.last_visible_y for the height of the window.
52283633 2633
719d83ad 2634 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2635 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2636
2637 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2638 able to write to hidden and system files. From Dan Holmsand
2639 <dan@eyebee.com>.
719d83ad 2640
8ddf3ee1
GM
2641 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2642 Holmsand <dan@eyebee.com>.
719d83ad 2643
522ed7fb
GM
26442001-04-09 Gerd Moellmann <gerd@gnu.org>
2645
9170e5d4
GM
2646 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2647
522ed7fb
GM
2648 * window.c (window_internal_height): Return 1 less if the
2649 window has a header line.
2650
2651 * xdisp.c (try_window_id): When scrolling on a terminal, take
2652 the change of window_internal_height into account.
2653
ceeb3d7d
EZ
26542001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2655
2656 * gmalloc.c (align): If the argument SIZE would overflow
2657 __malloc_ptrdiff_t, fail right away.
2658
63685b9d
GM
26592001-04-06 Gerd Moellmann <gerd@gnu.org>
2660
2661 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2662 Make sure the tooltip is completely visible.
2663 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2664
2665 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2666
2667 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2668
3ffb33bb
DL
26692001-04-06 Dave Love <fx@gnu.org>
2670
52283633
SM
2671 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2672 Fix test of `from'.
3ffb33bb 2673
869fb12c
GM
26742001-04-06 Gerd Moellmann <gerd@gnu.org>
2675
52283633 2676 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2677
869fb12c
GM
2678 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2679
441bf856
GM
26802001-04-05 Gerd Moellmann <gerd@gnu.org>
2681
4d664b04
GM
2682 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2683
52283633 2684 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2685
30ca89f5
GM
2686 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2687 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2688
2689 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2690 shell widget's position only if it is non-null.
2691
52283633
SM
2692 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2693 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2694
81a81c0f
GM
2695 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2696 FILENAME to bring it in synch with the documentation.
2697
441bf856
GM
2698 * xfaces.c (realizing_basic_faces_p): Renamed from
2699 realize_default_face_p.
2700 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2701 (realize_default_face): Don't set the flag.
2702
702a1e8e
GM
27032001-04-04 Gerd Moellmann <gerd@gnu.org>
2704
1013f4e3
GM
2705 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2706
52283633
SM
2707 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2708
1013f4e3
GM
2709 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2710 the buffer that was used for echoing.
2711
702a1e8e
GM
2712 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2713 (first_font_matching): Removed unused function.
2714 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2715 (may_use_scalable_font_p): Remove parameter FONT; rename
2716 parameter NAME to FONT.
2717 (x_face_list_fonts): Fix missing bounds check.
2718 (realizing_default_face_p): New variable.
2719 (realize_default_face): Set and clear that flag.
2720 (x_face_list_fonts): When called during the realization of the
2721 default face, and no matching fonts are found when ignoring
2722 scalable fonts and fonts matching a regexp from
2723 face-ignored-fonts, try without ignoring fonts.
2724
f9dbcda4
GM
27252001-04-03 Gerd Moellmann <gerd@gnu.org>
2726
ad18ffb1
GM
2727 * xfns.c (postprocess_image): New function.
2728 (lookup_image): Call it for all image types except PostScript.
2729 (x_kill_gs_process): Call postprocess_image.
2730
f9dbcda4
GM
2731 * xterm.c (x_use_underline_position_properties): New variable.
2732 (x_draw_glyph_string): Use it.
2733 (syms_of_xterm): DEFVAR_BOOL it.
2734
651f03b6
GM
27352001-04-02 Gerd Moellmann <gerd@gnu.org>
2736
2737 * xterm.c (x_alloc_nearest_color_1): New function.
2738 (x_alloc_nearest_color): Use it.
2739 (x_color_cells): Take a Display as argument, instead of a frame.
2740 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2741 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2742 (x_initialize): Register cvt_string_to_pixel as resource converter
2743 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2744
73d75a62
GM
27452001-03-30 Gerd Moellmann <gerd@gnu.org>
2746
b2046df8
GM
2747 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2748 (set_iterator_to_next): If a string from a display property ends,
2749 consider the case that this might also be the end of an
2750 overlay string having the display property.
2751
52283633 2752 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2753
87d8eba4
GM
2754 * xdisp.c (reseat_to_string): Undo last change.
2755
73d75a62
GM
2756 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2757 matrix of a window when the header line changes, when
2758 new rows are allocated, or when the width changes.
2759
911a2406
EZ
27602001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2761
52283633 2762 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2763
aea51abe
EZ
27642001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2765
2766 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2767 deprecated.
2768
176bc847
GM
27692001-03-29 Gerd Moellmann <gerd@gnu.org>
2770
ed31fabf
GM
2771 * data.c (Fsubr_interactive_form): New function.
2772 (syms_of_data): Defsubr it.
2773
176bc847
GM
2774 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2775 (live_float_p, live_misc_p): Return 1 only if the offset of the
2776 pointer in its block is >= 0.
2777
e59d0e9d
GM
27782001-03-28 Paul Eggert <eggert@twinsun.com>
2779
2780 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2781 microseconds calcuation. Avoid double-rounding problem.
2782 In doc string, warn that the result is approximate.
2783
f827b862
GM
27842001-03-28 Gerd Moellmann <gerd@gnu.org>
2785
30a3f61c
GM
2786 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2787 bind `inhibit-eval-during-redisplay' to t.
2788
2789 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2790
2791 * xdisp.c (inhibit_eval_during_redisplay)
2792 (Qinhibit_eval_during_redisplay): New variables.
2793 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2794 don't eval, return nil instead.
2795 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2796 Initialize Qinhibit_eval_during_redisplay.
2797
e719f5ae
GM
2798 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2799 the iterator's multibyte_p flag.
2800
deb2613a
GM
2801 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2802 instead of setting it to zero; it's incremented for each frame
2803 where the menu face is changed.
2804
52283633
SM
2805 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2806 change bottom shadow accordingly.
2807
2808 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2809 intersections here.
2810 (expose_window): Do it here instead.
52283633 2811 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2812
f827b862
GM
2813 * bytecode.c (BYTE_CODE_QUIT): New macro.
2814 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2815
4bde0ebb
GM
28162001-03-27 Gerd Moellmann <gerd@gnu.org>
2817
607ec83c
GM
2818 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2819 Give up if matrix starts in an ellipsis.
2820 (init_from_display_pos): Do nothing if POS doesn't specify
2821 a dpvec_index but the iterator has such a position.
2822
0245398f
GM
2823 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2824
aba25348
GM
2825 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2826 x/y position is (0, 0) after destroying the menu bar, restore
2827 its original position.
2828
4bde0ebb
GM
2829 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2830 (init_from_display_pos): Use it.
2831 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2832
8cdb267e
GM
28332001-03-26 Gerd Moellmann <gerd@gnu.org>
2834
2835 * xdisp.c (try_window_id): Undo last change.
2836
9948db79
EZ
28372001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2838
2839 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2840
2841 * buffer.c (syms_of_buffer): Doc fix.
2842
2eddf899
GM
28432001-03-26 Gerd Moellmann <gerd@gnu.org>
2844
2845 * xfaces.c (x_update_menu_appearance): Use local variable
2846 popup_path for setting font resources.
2847
6c145d35
EZ
28482001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2849
6a65b1b5
EZ
2850 * frame.c (Fframe_list): Don't reference tip_frame if
2851 HAVE_WINDOW_SYSTEM is not defined.
2852
6c145d35
EZ
2853 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2854 <wl@gnu.org>.
2855
d74c1900
GM
28562001-03-25 Gerd Moellmann <gerd@gnu.org>
2857
20fbd925
GM
2858 * xdisp.c (init_from_display_pos): Test invisible property
2859 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2860
927c5b3b
GM
2861 * xdisp.c (redisplay_internal) <update one window>: Make sure
2862 last_arrow_position and last_arrow_string are set.
2863
d74c1900
GM
2864 * frame.c (Fframe_list): Don't return a tooltip frame.
2865
091f8878
GM
28662001-03-23 Gerd Moellmann <gerd@gnu.org>
2867
52283633
SM
2868 * xdisp.c (mark_window_display_accurate_1): New function,
2869 extracted from mark_window_display_accurate.
2870 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2871 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2872 (mark_window_display_accurate): Use it.
2873 (redisplay_internal): Use it for the selected window.
2874 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2875 for the selected frame.
2876
ac90c44f
GM
2877 * xdisp.c Use make_number, for readability.
2878 (try_window_id): Disable rows below the window end.
2879 (try_window_reusing_current_matrix): Use cursor_row_p.
2880 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2881 of rows.
2882 (init_from_display_pos): If POS specifies a position in a display
2883 vector, maybe get the iterator set up for that ellipsis.
43c09969 2884
091f8878
GM
2885 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2886
991786dd
EZ
28872001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2888
2889 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2890
6c29b43c
GM
28912001-03-23 Gerd Moellmann <gerd@gnu.org>
2892
2893 * xfaces.c (x_update_menu_appearance): Use a different path
2894 for Lucid popup menus.
2895
d8731202
SM
28962001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2897
2898 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2899
2900 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2901 (string_buffer_position): Use `make_number'.
2902
f61a541b
GM
29032001-03-22 Gerd Moellmann <gerd@gnu.org>
2904
3c9e997b
GM
2905 * xfaces.c (x_update_menu_appearance): Renamed from
2906 x_set_menu_face_resources. Use different resources for popups.
2907
2908 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2909 (GC_CHECK_STRING_BYTES): Don't define.
2910
364cd450
GM
2911 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2912 Removed, together with subroutines.
2913 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2914 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2915
d8731202
SM
2916 * dispextern.h (x_set_menu_resources_from_menu_face):
2917 Remove prototype.
364cd450 2918
d8731202 2919 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2920 Remove calls to x_set_menu_resources_from_menu_face.
2921
d8731202
SM
2922 * xfaces.c (xm_set_menu_resources_from_menu_face):
2923 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2924
2925 * xmenu.c: Include widget.h.
2926 (single_submenu): Return int. Some cleanup.
2927 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2928
140330de
GM
29292001-03-21 Gerd Moellmann <gerd@gnu.org>
2930
2931 * xterm.c (x_update_window_end): Handle overwritten mouse face
2932 also for tool bar windows.
2933 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2934 DRAW is DRAW_IMAGE_RAISED.
2935
1741905c
GM
29362001-03-20 Gerd Moellmann <gerd@gnu.org>
2937
fa88947e
GM
2938 * print.c (syms_of_print): Doc fixes.
2939
1741905c
GM
2940 * fns.c (Fmd5): Doc fix.
2941
ade0bee1
GM
29422001-03-19 Gerd Moellmann <gerd@gnu.org>
2943
357e7376
GM
2944 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2945 Clear area of the frame not occupied by the scroll bar.
2946
c2c097cc
GM
2947 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2948 tip frame's root window buffer to *tip* right after creating
2949 the frame.
2950
ade0bee1
GM
2951 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2952 is an integer don't have to be for space characters.
2953
88c6e37e
GM
29542001-03-16 Gerd Moellmann <gerd@gnu.org>
2955
52283633
SM
2956 * indent.c (current_column, current_column_1, Fmove_to_column)
2957 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2958
c62eed76
KH
29592001-03-15 Kenichi Handa <handa@etl.go.jp>
2960
2961 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2962 drawing glyph string.
2963
c899e7e6
GM
29642001-03-15 Gerd Moellmann <gerd@gnu.org>
2965
d0bbfc99
GM
2966 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2967 (command_loop_1): Undo last change.
2968
03d1a189
GM
2969 * xterm.c (fast_find_position): Return the correct vpos.
2970
c899e7e6 2971 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2972 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2973 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2974 Call store_symval_forwarding with BUF null.
2975 (set_internal): Call store_symval_forwarding with the BUF
2976 parameter passed to set_internal. Formerly, the value was always
2977 set in the current buffer; the buffer recorded in specbind for
2978 this case wasn't used.
2979 (arith_driver): Reindent.
2980
52283633
SM
2981 * buffer.c (swap_out_buffer_local_variables):
2982 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2983
2984 * lisp.h (store_symval_forwarding): Change prototype.
2985
2986 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2987
57ac7c81
GM
29882001-03-14 Gerd Moellmann <gerd@gnu.org>
2989
697617d9
GM
2990 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2991 FOR_DELETION. Avoid resizing the mini-window of the selected
2992 frame if FOR_DELETION is set.
2993 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2994 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2995 signature.
2996
2997 * window.c (Fset_window_configuration): Change call to
2998 do_switch_frame to new format.
2999
3000 * keyboard.c (quit_throw_to_read_char): Change call to
3001 do_switch_frame to new format.
3002
3003 * lisp.h (do_switch_frame): Change prototype.
3004
819dce0f
GM
3005 * frame.c (Fframe_parameters): In the `buffer-list' frame
3006 parameter, store the buffer list of FRAME, not the list of the
3007 selected frame.
3008
57ac7c81
GM
3009 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3010 box just because the glyph row's full_width_p flag is set.
3011
65008712
GM
30122001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3013
3014 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3015 skip the padding blanks inserted in extend_face_to_end_of_line,
3016 before checking for trailing whitespace.
3017
159cf431
GM
30182001-03-13 Gerd Moellmann <gerd@gnu.org>
3019
52283633 3020 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3021 Remove special handling for LessTif/Motif.
3022 (toplevel): Don't include Xm/Xm.h.
3023
52283633
SM
3024 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3025 Remove workaround code for LessTif; it doesn't work anymore.
3026
2564ea1b 3027 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3028 Xm/ScrollBarP.h.
afcdc0a1 3029
52283633
SM
3030 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3031 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3032 contemporary LessTif.
3033
52283633
SM
3034 * xfaces.c (xm_set_menu_resources_from_menu_face):
3035 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3036
159cf431
GM
3037 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3038 removing button grabs.
3039
c6f7429a
KH
30402001-03-13 Kenichi Handa <handa@etl.go.jp>
3041
cb82d767
KH
3042 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3043 and clip-large-size-font as obsolete.
3044
c6f7429a
KH
3045 * lread.c (read_multibyte): Check the validity of multibyte
3046 sequence. If invalid, return the first byte.
3047
760cefb5
GM
30482001-03-12 Gerd Moellmann <gerd@gnu.org>
3049
3050 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3051 before running the command; timer functions or process
3052 filters may have set it.
3053
5141f9d0
EZ
30542001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3055
3056 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3057 Doc fix.
3058
b6a15240
GM
30592001-03-12 Gerd Moellmann <gerd@gnu.org>
3060
3061 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3062 to sprintf.
3063
95522746
GM
30642001-03-09 Gerd Moellmann <gerd@gnu.org>
3065
db14cfc5
GM
3066 * dispextern.h (string_buffer_position): Add prototype.
3067
52283633 3068 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3069 (single_display_prop_string_p): New functions.
3070
3071 * xterm.c (note_mouse_highlight): If there's no help-echo on
3072 a string, look at the buffer text ``under'' it.
3073
3074 * keyboard.c (make_lispy_event): Add string info to the event,
3075 analogous to what's done on mode lines.
3076 (read_key_sequence): For a click on a string, consider `local-map'
3077 and `keymap' of that string.
3078
52283633
SM
3079 * keyboard.c (make_lispy_event, make_lispy_movement):
3080 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3081
3082 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3083
3084 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3085 POS; return void.
3086
95522746
GM
3087 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3088 flags argument to emacs_open; it seems to conflict with O_EXCL.
3089
898a399d
KH
30902001-03-09 Kenichi Handa <handa@etl.go.jp>
3091
28cd4910
KH
3092 * composite.h (struct composition): Change types of members;
3093 glyph_len to unsigned, width to unsigned short.
898a399d 3094
4cdf6a6c
AI
30952001-03-08 Andrew Innes <andrewi@gnu.org>
3096
3097 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3098 menu titles.
3099
129004d3
GM
31002001-03-08 Gerd Moellmann <gerd@gnu.org>
3101
221dd3e7
GM
3102 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3103 instead of nil.
3104
52283633 3105 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3106 help-echo in strings.
3107 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3108 (fast_find_string_pos): New function.
3109
52283633
SM
3110 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3111 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3112
3113 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3114 Handle `mouse-face'.
3115
3116 * dispextern.h (face_at_string_position): Change prototype.
3117
52283633 3118 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3119
129004d3
GM
3120 * keyboard.c (make_lispy_event): Avoid generating drag events
3121 if the mouse hasn't actually moved to another buffer position.
52283633 3122
80c8ab8c
DL
31232001-03-08 Dave Love <fx@gnu.org>
3124
129004d3 3125 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3126
989521fd
GM
31272001-03-08 Gerd Moellmann <gerd@gnu.org>
3128
3129 * process.c (Fset_process_window_size): Fix a typo.
3130
bb5c338d
KH
31312001-03-08 Kenichi Handa <handa@etl.go.jp>
3132
3133 * coding.c (detect_coding_sjis): Do more rigid check.
3134 (detect_coding_big5): Likewise.
3135 (decode_coding_sjis_big5): Likewise.
3136 (Fdetect_coding_region): Call detect_coding_system with tailing
3137 anchor byte `\0' for more rigid detection.
52283633 3138 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3139 (Fdetect_coding_string): Likewise.
3140
8b8f9197
SM
31412001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3142
3143 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3144 a string before extracting its data.
3145
3bdf2660
GM
31462001-03-07 Gerd Moellmann <gerd@gnu.org>
3147
3148 * window.c (Frecenter): Rewrite code handling negative values
3149 of ARG on graphical frames.
3150
31512001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3152
3153 * window.c (displayed_window_lines): If W->start is outside the
3154 accessible portion of the buffer, call start_display with BEGV or
3155 ZV instead of W->start.
3156
471f86b9
GM
31572001-03-07 Gerd Moellmann <gerd@gnu.org>
3158
2ab62c6c
GM
3159 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3160
471f86b9
GM
3161 * process.c (Fset_process_filter): Don't crash if the input
3162 file descriptor of PROCESS is closed.
3163 (Fset_process_window_size): Likewise.
3164
101922c3
GM
31652001-03-06 Kenichi Handa <handa@etl.go.jp>
3166
3167 * xterm.c (XTflash): Make the timeout of select shorter, and call
3168 select repeatedly until the desired time expires.
3169
45d051a7
GM
31702001-03-06 Gerd Moellmann <gerd@gnu.org>
3171
3172 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3173
3174 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3175
3176 * lisp.h (Vwindow_list): Declare extern.
3177
8f372c46
EZ
31782001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3179
3180 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3181
f16a7aa5
GM
31822001-03-06 Gerd Moellmann <gerd@gnu.org>
3183
157ae273
GM
3184 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3185 to detect a case where we have to highlight a different region
3186 despite not having left the currently highlighted region.
3187 Set mouse_face_overlay in the x_display_info.
45d051a7 3188 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3189
3190 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3191
3192 * buffer.c (mouse_face_overlay_overlaps): New function.
3193
3194 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3195 (Qmouse_face): Declare extern.
3196
f16a7aa5
GM
3197 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3198 if face_change_count is non-zero.
3199
827afcac
KH
32002001-03-06 Kenichi Handa <handa@etl.go.jp>
3201
3202 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3203 that the source is unibyte.
3204
14c7242e
DL
32052001-03-05 Dave Love <fx@gnu.org>
3206
827afcac 3207 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3208
c28b847b
GM
32092001-03-05 Gerd Moellmann <gerd@gnu.org>
3210
3211 * minibuf.c (read_minibuf): Clean up the binding stack if
3212 called noninteractively.
3213
b86644f2
KH
32142001-03-05 Kenichi Handa <handa@etl.go.jp>
3215
3216 * coding.c (syms_of_coding): Docstring modified.
3217
203682cc 32182001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3219
3220 * charset.c (char_to_string): If a single byte char has modifier
3221 bits that can't be reflected to the character code, ignore them
45d051a7 3222 instead of signaling an error.
b86644f2 3223
e30bd7b7
EZ
32242001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3225
3226 * s/msdos.h: Update copyright notice.
3227
3228 * dosfns.h: Update copyright notice.
3229
3230 * dosfns.c: Update copyright notice.
3231
3232 * msdos.c: Update copyright notice.
3233
b52b65bd
GM
32342001-03-02 Gerd Moellmann <gerd@gnu.org>
3235
3236 * xterm.c (glyph_rect): New function.
3237 (XTmouse_position): Use it to raise the threshold for mouse
3238 movement event generation.
3239
53c4b1e6
EZ
32402001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3241
3242 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3243 specifies (reverse . t), reverse the initial screen colors.
3244 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3245 but we are reversing the colors, set bg_set, not fg_set.
3246 Likewise for setting background-color and reversing: set fg_set.
3247 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3248 in effect.
3249
3250 * xfaces.c (Finternal_set_lisp_face_attribute)
3251 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3252 parameters alist.
3253
f964b4d7
GM
32542001-03-02 Gerd Moellmann <gerd@gnu.org>
3255
ef53d75e
GM
3256 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3257 to a single slash in the middle of file names.
3258
52283633 3259 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3260 Accept only alphanumeric time zone names.
3261
f964b4d7
GM
3262 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3263 or width area.
3264 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3265 a widget to zero height.
52283633 3266
c3c45f65
GM
32672001-03-01 Gerd Moellmann <gerd@gnu.org>
3268
3269 * window.c (Fwindow_end): Call move_it_past_eol only if
3270 ending up on a partially visible line.
3271
028d739a
DL
32722001-03-01 Dave Love <fx@gnu.org>
3273
3274 * ccl.c (Fccl_execute): Doc fix.
3275
57c5889c
GM
32762001-03-01 Gerd Moellmann <gerd@gnu.org>
3277
35f59f6b
GM
3278 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3279 of the tool bar before calling x_figure_window_size.
3280
f84ff02c
GM
3281 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3282 NULL after destroying it, otherwise XTread_socket can access a
3283 destroyed widget when input is unblocked.
3284
8b8f9197 3285 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3286
57c5889c
GM
3287 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3288 same name as before, although there was a change in fontsets.
3289
224227d1
KR
32902001-02-28 Ken Raeburn <raeburn@gnu.org>
3291
4560730a
KR
3292 * lisp.h (Fframe_parameter): Declare.
3293
224227d1 3294 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3295 Lisp_Object.
224227d1 3296
ece93c02
GM
32972001-02-28 Gerd Moellmann <gerd@gnu.org>
3298
11ef99b9
GM
3299 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3300 NULL instead.
3301
3302 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3303 NULL instead.
3304
ece93c02
GM
3305 * alloc.c (toplevel): Include process.h.
3306 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3307 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3308 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3309 (allocate_vector, allocate_hash_table, allocate_window)
3310 (allocate_frame, allocate_process, allocate_other_vector):
3311 New functions.
ece93c02
GM
3312 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3313 (mark_maybe_pointer): New function.
52283633 3314 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3315 remain and not Lisp_Objects.
3316 (min_heap_address, max_heap_address): New variables.
3317 (mem_find): Return MEM_NIL if START is below min_heap_address or
3318 above max_heap_address.
3319 (mem_insert): Compute min_heap_address and max_heap_address.
3320
3321 * process.c (make_process): Use allocate_process.
3322
3323 * frame.c (make_frame): Use allocate_frame.
3324
3325 * window.c (make_window, make_dummy_parent): Use allocate_window.
3326 (Fcurrent_window_configuration): Use allocate_other_vector.
3327
3328 * lisp.h (allocate_vectorlike): Remove prototype.
3329 (allocate_vector, allocate_other_vector, allocate_frame)
3330 (allocate_window, allocate_process, allocate_hash_table):
3331 Add prototypes.
3332
3333 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3334 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3335
063af457
KH
33362001-02-27 Kenichi Handa <handa@etl.go.jp>
3337
3338 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3339 treat the produced bytes as a valid multibyte sequence.
3340
3341 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3342 (ccl_driver) <CCL_WriteMultibyteChar2>:
3343 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3344 <ccl_finish>: Set ccl->eight_bit_control properly.
3345
3346 * ccl.h (struct ccl_program): New member eight_bit_control.
3347
f58c6494
SM
33482001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3349
3350 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3351 accessible_keymaps_char_table.
3352 (accessible_keymaps_char_table): Obey `is_metized'.
3353 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3354 Lisp_Object.
3355
c596c392
GM
33562001-02-26 Gerd Moellmann <gerd@gnu.org>
3357
3358 * dispnew.c: Check HAVE_TERM_H before including term.h.
3359
425de386
AI
33602001-02-24 Andrew Innes <andrewi@gnu.org>
3361
3362 * makefile.w32-in: Update copyright notice.
3363
2ba11bbd
SM
33642001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3365
3366 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3367
66c56ed1
KH
33682001-02-24 Kenichi Handa <handa@etl.go.jp>
3369
4c1593ce
KH
3370 * Makefile.in (lisp): Add international/utf-8.elc.
3371
66c56ed1
KH
3372 * fontset.c (Fnew_fontset): Fix handling of the case that an
3373 element of FONTLIST is a cons of family and registry.
3374
796ead7e
JR
33752001-02-23 Jason Rumney <jasonr@gnu.org>
3376
3377 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3378 to height unconditionally.
3379
3380 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3381 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3382 (x_insert_glyphs): Call window_box_left to obtain the left
3383 x-coordinate of the area to shift.
3384
3385 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3386 safe_run_hooks.
3387
f6839838
AI
33882001-02-22 Andrew Innes <andrewi@gnu.org>
3389
52283633 3390 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3391 ($(BLD)\dispnew.obj):
3392 ($(BLD)\editfns.obj):
3393 ($(BLD)\fileio.obj):
3394 ($(BLD)\filelock.obj):
3395 ($(BLD)\keyboard.obj):
3396 ($(BLD)\w32proc.obj):
3397 ($(BLD)\process.obj):
3398 ($(BLD)\sysdep.obj): Ditto.
3399
3400 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3401 header files.
52283633
SM
3402 ($(BLD)/dispnew.$(O)):
3403 ($(BLD)/editfns.$(O)):
3404 ($(BLD)/fileio.$(O)):
3405 ($(BLD)/filelock.$(O)):
3406 ($(BLD)/keyboard.$(O)):
3407 ($(BLD)/w32proc.$(O)):
3408 ($(BLD)/process.$(O)):
f6839838
AI
3409 ($(BLD)/sysdep.$(O)): Ditto.
3410
c224f70b
GM
34112001-02-22 Gerd Moellmann <gerd@gnu.org>
3412
51695746
GM
3413 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3414 at the start of the function, check that the \n in it->c is
3415 from the iterator's current position.
52283633 3416
a61b7058
GM
3417 * xdisp.c (handle_single_display_prop): Add parameter
3418 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3419 properties which replace the display of text with something else.
3420 (handle_display_prop): Call handle_single_display_prop with
3421 additional argument saying if we already replaced text display
3422 with something else. Use AREF.
52283633 3423 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3424 (decode_mode_spec_coding): Use AREF and ASIZE.
3425
3473f362
GM
3426 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3427 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3428 * vmstime.h: Files removed.
52283633 3429
2bb58df3
GM
3430 * unexencap.c, unexfx2800.c: Files removed.
3431
c224f70b
GM
3432 * dispnew.c (direct_output_for_insert): Give up if we are showing
3433 a message or just cleared the message because we might need to
3434 resize the echo area window or display an empty echo area.
3435
ffc9ff0c
GM
34362001-02-21 Gerd Moellmann <gerd@gnu.org>
3437
0528abe1
GM
3438 * xdisp.c (redisplay_internal): Do the
3439 mark_window_display_accurate after all windows have been
3440 redisplayed because this call resets flags in buffers which are
3441 needed for proper redisplay.
3442
52283633
SM
3443 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3444 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3445 the old names.
3446
52283633
SM
3447 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3448 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3449
3450 * msdos.h (struct x_output): Rename busy_window to
3451 hourglass_window, busy_p to hourglass_p.
3452
52283633
SM
3453 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3454 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3455
3456 * xfns.c: Rename everything containing *busy_cursor* and similar
3457 to *hourglass*.
3458 (syms_of_w32fns): Rename x-busy-pointer-shape to
3459 x-hourglass-pointer-shape, display-busy-cursor to
3460 display-hourglass, busy-cursor-delay to hourglass-delay.
3461
3462 * w32fns.c: Rename everything containing *busy_cursor* and similar
3463 to *hourglass*.
3464 (syms_of_w32fns): Rename x-busy-pointer-shape to
3465 x-hourglass-pointer-shape, display-busy-cursor to
3466 display-hourglass, busy-cursor-delay to hourglass-delay.
3467
3468 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3469 of its busy_p flag.
3470
3471 * dispextern.h (start_hourglass, cancel_hourglass)
3472 (display_hourglass_p): Renamed from *busy_cursor*.
3473
ab2c5f0a
GM
34742001-02-20 Gerd Moellmann <gerd@gnu.org>
3475
d17e49a8
GM
3476 * keyboard.c (read_char): When an event from unread-command-events
3477 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3478
fa97adf6
GM
3479 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3480 equal to the current buffer.
3481
ab2c5f0a
GM
3482 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3483 nil, otherwise we're left with truncate_lines t when a message
3484 is printed with message-truncate-lines bound to t.
3485
aeac019e
GM
34862001-02-19 Gerd Moellmann <gerd@gnu.org>
3487
c8bc6f65
GM
3488 * window.c (Fmove_to_window_line): Undo last change.
3489 (displayed_window_lines): Call line_bottom_y to determine
3490 the line's bottom position.
3491
3492 * dispextern.h (line_bottom_y): Add prototype.
3493
52283633 3494 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3495 (pos_visible_p): Use it.
3496
980a2d69
GM
3497 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3498 set redisplaying_p to 0 here instead of in Frecursive_edit.
3499 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3500 set redisplaying_p.
3501
52283633 3502 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3503 New variables.
3504 (syms_of_xdisp): Initialize new variables.
3505 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3506 Specbind `inhibit-menubar-update' when updating the menu bar.
3507
65048e97
GM
3508 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3509 safe_run_hooks.
3510
3511 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3512 safe_run_hooks.
3513
a57c4026
GM
3514 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3515 is null.
3516
aeac019e
GM
3517 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3518 to the start of the file.
3519
76846b31
GM
35202001-02-16 Gerd Moellmann <gerd@gnu.org>
3521
f3f053f3 3522 * window.c (set_window_buffer): Fix last change.
52283633 3523
f3f053f3
GM
3524 * window.c (set_window_buffer): Set window's vscroll to 0.
3525
dad75588
GM
3526 * window.c (coordinates_in_window): Increase width of area
3527 where the vertical line can be dragged.
3528
c220b753
GM
3529 * xterm.c (x_set_glyph_string_background_width): Extend the
3530 background face to the end of the drawing area in the text
3531 area, only.
3532
c56b1c1b
GM
3533 * xdisp.c (handle_single_display_prop): Set iterator's position
3534 to where the `display' property starts, like for images.
3535 (dump_glyph): New function.
3536 (dump_glyph_row): Use it. Dump info about marginal areas.
3537
3538 * dispnew.c (direct_output_for_insert): Recognize more cases where
3539 glyphs can be written instead of being inserted.
3540
3541 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3542 the left x-coordinate of the area to shift.
3543
76846b31
GM
3544 * dired.c (directory_files_internal): Set result list to nil
3545 before retrying.
3546
0fc71a77
KH
35472001-02-15 Kenichi Handa <handa@etl.go.jp>
3548
3549 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3550 invalid multibyte sequence, treat *SRC as a character of
3551 eight-bit-graphic.
3552
25078b54
EZ
35532001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3554
3555 * textprop.c (Fset_text_properties): Doc fix.
3556
8399f8a0
GM
35572001-02-15 Gerd Moellmann <gerd@gnu.org>
3558
3559 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3560
9a2a6f73
DL
35612001-02-14 Dave Love <fx@gnu.org>
3562
3563 * coding.c: Doc and message fixes.
3564
bf853fee
AI
35652001-02-14 Andrew Innes <andrewi@gnu.org>
3566
3567 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3568 Emacs frame above the screen size.
3569
78c663d8
GM
35702001-02-14 Gerd Moellmann <gerd@gnu.org>
3571
3572 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3573
7cc9f69f
GM
35742001-02-13 Gerd Moellmann <gerd@gnu.org>
3575
0a411995
GM
3576 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3577 case that TO ends up beyond ZV after running before-change-functions.
3578
5ddc1b75
GM
3579 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3580 the selected window if it is showing the buffer in question.
3581
7cc9f69f
GM
3582 * dired.c (directory_files_internal): Initialize errno.
3583 (toplevel): Include errno.h.
3584
2e6621ca
GM
35852001-02-13 Kenichi Handa <handa@etl.go.jp>
3586
3587 * xfaces.c (best_matching_font): New parameter width_ratio.
3588 Multiply avgwidth by width_ratio.
3589 (choose_face_font): Call best_matching_font with width_ratio
3590 calculated from the column width of C.
3591
60222d69
AI
35922001-02-12 Andrew Innes <andrewi@gnu.org>
3593
3594 The following changes are to draw box lines inside characters area
3595 if line-width is negative.
52283633 3596
60222d69
AI
3597 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3598 face->box_line_width is negative.
3599 (x_produce_stretch_glyph): Likewise.
3600 (x_produce_glyphs): Likewise.
3601 (x_estimate_mode_line_height): Likewise.
3602 (x_draw_glyph_string_background): Likewise.
3603 (x_draw_glyph_string_foreground): Likewise.
3604 (x_draw_composite_glyph_string_foreground): Likewise.
3605 (x_draw_glyph_string_box): Likewise.
3606 (x_draw_image_foreground): Likewise.
3607 (x_draw_image_relief): Likewise.
3608 (x_draw_image_foreground_1): Likewise.
3609 (x_draw_image_glyph_string): Likewise.
3610
9804b846
KH
36112001-02-09 Kenichi Handa <handa@etl.go.jp>
3612
3613 The following changes are to draw box lines inside characters area
3614 if line-width is negative.
52283633 3615
9804b846
KH
3616 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3617 face->box_line_width is negative.
3618 (x_produce_stretch_glyph): Likewise.
3619 (x_produce_glyphs): Likewise.
3620 (x_estimate_mode_line_height): Likewise.
3621 (x_draw_glyph_string_background): Likewise.
3622 (x_draw_glyph_string_foreground): Likewise.
3623 (x_draw_composite_glyph_string_foreground): Likewise.
3624 (x_draw_glyph_string_box): Likewise.
3625 (x_draw_image_foreground): Likewise.
3626 (x_draw_image_relief): Likewise.
3627 (x_draw_image_foreground_1): Likewise.
3628 (x_draw_image_glyph_string): Likewise.
3629
3630 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3631 and :line-width can be negative.
52283633 3632 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3633
49be9f70
JR
36342001-02-09 Jason Rumney <jasonr@gnu.org>
3635
3636 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3637 characters the same as ASCII and latin-1.
3638 (x_display_and_set_cursor): Check for the focus frame's selected
3639 window instead of selected_window.
3640 (x_after_update_window_line): Don't clear if frame's internal
3641 border width is zero.
3642 (x_new_font): Don't change a tooltip's size.
3643 (w32_initialize): Set char_ins_del_ok to 1.
3644
3645 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3646 (x_set_font): If font hasn't changed, avoid recomputing
3647 faces and other things.
52283633
SM
3648 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3649 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3650 (x_create_tip_frame): Prevent changing the tooltip's
3651 background color by specifying a color for the default font
3652 in .Xdefaults.
3653 (Qcancel_timer): New variable.
3654 (syms_of_w32fns): Initialize and staticpro it.
3655 (Fx_hide_tip, Fx_show_tip): Use it.
3656 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3657 the timer.
3658 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3659
3660 * w32.c (init_environment): Duplicate local string before putenv.
3661
555e35d2
SZ
36622001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3663
3664 * charset.c (Fstring): A typo.
3665
19c92c94
KH
36662001-02-09 Kenichi Handa <handa@etl.go.jp>
3667
e47a1c33
KH
3668 * charset.c (Fstring): If all arguments are less than 256, return
3669 a unibyte string.
3670
3671 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3672 return a unibyte string.
3673
19c92c94
KH
3674 * coding.c (code_convert_region): After detecting a coding, if
3675 nothing found, set coding->composing to COMPOSITION_NO.
3676 (decode_coding_string): Likewise.
3677
d8e675f5
SM
36782001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3679
3680 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3681 to avoid overflow.
3682
bd503487
KH
36832001-02-07 Kenichi Handa <handa@etl.go.jp>
3684
3685 * charset.c (parse_str_to_multibyte): New function.
3686
3687 * charset.h (parse_str_to_multibyte): Extern it.
3688
3689 * print.c (print_string): If we are going to print a unibyte
3690 string into a multibyte buffer, convert the string to multibyte by
3691 str_to_multibyte.
3692
a8370d72
AI
36932001-02-06 Andrew Innes <andrewi@gnu.org>
3694
3695 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3696 been created. It seems we can get sent window messages such as
3697 WM_ERASEBKGND before we properly update a frame.
3698
c363a1d6
GM
36992001-02-06 Gerd Moellmann <gerd@gnu.org>
3700
3701 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3702 Avoid some unnecessary cursor positioning.
3703
a08332c0
GM
37042001-02-05 Gerd Moellmann <gerd@gnu.org>
3705
52283633 3706 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3707 (LFACE_AVGWIDTH): New macro.
3708 (LFACEP): Use AREF.
3709 (check_lface_attrs): Check LFACE_AVGWIDTH.
3710 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3711 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3712 (merge_face_vectors): Check LFACE_AVGWIDTH.
3713 (Finternal_make_lisp_face): Use AREF.
3714 (xm_set_menu_resources_from_menu_face)
3715 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3716 (Finternal_lisp_face_empty_p): Use AREF.
3717 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3718 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3719 Compare average widths..
3720 (best_matching_font): Arrange for comparing average widths.
3721
52283633
SM
3722 * dispextern.h (enum lface_attribute_index):
3723 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3724
5cb3c8d4
DL
37252001-02-05 Dave Love <fx@gnu.org>
3726
3727 * puresize.h: Revert last change following loadup.el change.
3728
193fba87
AI
37292001-02-05 Andrew Innes <andrewi@gnu.org>
3730
3731 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3732 invocation of temacs, to work with Windows 2000.
3733 (bootstrap-emacs): Ditto.
3734
e16f52ce
GM
37352001-02-05 Gerd Moellmann <gerd@gnu.org>
3736
7a58ab59
GM
3737 * xterm.c (x_display_and_set_cursor): Check for the focus
3738 frame's selected window instead of selected_window.
3739
e89aaabd
GM
3740 * xdisp.c (try_scrolling): If point is in the line below the
3741 window, make sure to move the iterator at least a canonical
3742 char height down.
3743
52283633 3744 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3745
789ce875
KH
37462001-02-05 Kenichi Handa <handa@etl.go.jp>
3747
52283633
SM
3748 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3749 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3750 (ccl_driver): If the CCL program is terminated because of
3751 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3752 destination instead of throwing them away.
3753
20b28f82
GM
37542001-02-02 Gerd Moellmann <gerd@gnu.org>
3755
79fb38c0
GM
3756 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3757 faces and other things.
3758
20b28f82
GM
3759 * xdisp.c (get_next_display_element): Fix case of empty
3760 display table entry.
3761
5a72551e
EZ
37622001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3763
eb24d0bf
EZ
3764 * editfns.c (Fconstrain_to_field): Doc fix.
3765
6a3f48c7
EZ
3766 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3767 into `thoroughly', to make it consistent with the doc string.
3768
5a72551e
EZ
3769 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3770
01acdb05
GM
37712001-02-01 Gerd Moellmann <gerd@gnu.org>
3772
0353b28f
GM
3773 * search.c (search_buffer): Call set_search_regs with a byte
3774 position, not a character position.
3775
01acdb05
GM
3776 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3777 minibuffer-only,
3778
e86b5133
EZ
37792001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3780
3781 * frame.c (Fmodify_frame_parameters): Doc fix.
3782
7442878f
GM
37832001-01-31 Gerd Moellmann <gerd@gnu.org>
3784
01acdb05
GM
3785 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3786 identifier which is not reserved by Standard C.
52283633 3787
7442878f
GM
3788 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3789
3790 * window.c (enum window_part): New enumeration.
3791 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3792 Qright_bitmap_area.
3793 (coordinates_in_window): Return an enumerator from enum
3794 window_part. Fix handling of right scroll bar.
3795 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3796 `right-fringe' instead of `left-bitmap-area' and
3797 `right-bitmap-area'. Use enumerators from enum window_part
3798 instead of hard-coded integers.
52283633
SM
3799 (check_window_containing, window_from_coordinates):
3800 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3801 (syms_of_window): Replace Qleft_bitmap_area and
3802 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3803
7c132cba
EZ
38042001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3805
3806 * editfns.c (Fformat_time_string): Doc fix.
3807
c359dd9e
SM
38082001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3809
3810 * keymap.c (Fwhere_is_internal): Use the first valid binding
3811 if no ascii binding is found (when firstonly is t).
3812
ce070307
GM
38132001-01-31 Gerd Moellmann <gerd@gnu.org>
3814
b4f30ec5
GM
3815 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3816 instead of Finteractive_p.
3817
3818 * lisp.h (interactive_p): Add prototype.
3819
3820 * eval.c (interactive_p): New function.
3821 (Finteractive_p): Use it.
3822
ce070307
GM
3823 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3824
f57b6e64
DL
38252001-01-31 Dave Love <fx@gnu.org>
3826
d61c7afe
DL
3827 * .gdbinit (hook-run): Define to run xreload.
3828
f57b6e64
DL
3829 * textprop.c (Fset_text_properties): Fix newline in doc string.
3830
eef93f99
GM
38312001-01-30 Gerd Moellmann <gerd@gnu.org>
3832
52283633
SM
3833 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3834 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3835
3836 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3837 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3838 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3839
3840 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3841 height.
3842
d9c1f6f9
DL
38432001-01-30 Dave Love <fx@gnu.org>
3844
3845 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3846 AFTER_POTENTIAL_GC.
3847
e8f044a0
GM
38482001-01-29 Gerd Moellmann <gerd@gnu.org>
3849
52283633
SM
3850 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3851 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3852
8e1db7b3
EZ
38532001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3854
3855 * textprop.c (Fset_text_properties): Doc fix.
3856
4eefd9d2
GM
38572001-01-29 Gerd Moellmann <gerd@gnu.org>
3858
3859 * xdisp.c (forward_to_next_line_start): Remove xassert.
3860
fccb8288
EZ
38612001-01-29 Jason Rumney <jasonr@gnu.org>
3862
4eefd9d2 3863 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3864 returning without releasing it.
3865
76581eab
KH
38662001-01-29 Kenichi Handa <handa@etl.go.jp>
3867
3868 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3869 for '^', '$', and '\0'.
3870
83a96b4d
AC
38712001-01-28 Andrew Choi <akochoi@i-cable.com>
3872
5604ec34
AC
3873 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3874 regex for '^', '$', and '\0'.
3875
83a96b4d
AC
3876 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3877 only if current_sblock has been initialized.
3878
3879 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3880 terminal frame even if it is the only visible frame.
3881
c09a6440
KH
38822001-01-28 Kenichi Handa <handa@etl.go.jp>
3883
3884 * fontset.c (font_family_registry): Even if FONTNAME conform to
3885 XLFD, if it specifies other fields than family and registry,
52283633 3886 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3887 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3888 a signle byte character. Don't set FAMILY part to nil here.
3889 It is handled by the caller choose_face_font.
c09a6440
KH
3890 (Fnew_fontset): Call font_family_registry with FORCE 0.
3891 (Fset_fontset_font): Likewise.
3892
4dcd74e6
GM
38932001-01-27 Gerd Moellmann <gerd@gnu.org>
3894
3895 * xdisp.c (display_line): Don't treat a newline as fitting
3896 on the line.
3897
d2906bf8
GM
38982001-01-26 Gerd Moellmann <gerd@gnu.org>
3899
0130fe1a
GM
3900 * window.c (size_window): Set the window's orig_top to nil when
3901 changing heights, so that a future shrink_mini_window won't
3902 restore a bogus height.
3903
550f0e6a
GM
3904 * frame.c (do_switch_frame): If selected frame has a mini-window,
3905 resize that to exact size.
3906
b7b20fbd
GM
3907 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3908
a47b7816
GM
3909 * xdisp.c (display_line): Simplify check for glyphs fitting
3910 entirely in the line.
3911
d2906bf8
GM
3912 * xfns.c (xic_style): New variable.
3913 (create_frame_xic): Move static variable to global scope for
550f0e6a 3914 the case that `static' gets defined away.
d2906bf8 3915
73df2b1e
KH
39162001-01-26 Kenichi Handa <handa@etl.go.jp>
3917
3918 * coding.c (decode_coding): Set a flag for inhibiting
3919 inconsistent eol.
3920 (code_convert_region): Always set saved_coding_symbol.
3921 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3922 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3923
6613cfc4
GM
39242001-01-25 Gerd Moellmann <gerd@gnu.org>
3925
c5e6e06b
GM
3926 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3927 XClearArea.
3928
3929 * xterm.c (x_after_update_window_line): Don't clear if frame's
3930 internal border width is zero.
3931 (x_clear_area): New function.
3932 (x_after_update_window_line, x_clear_end_of_line)
3933 (x_scroll_bar_create, x_scroll_bar_set_handle)
3934 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3935 instead of XClearArea.
3936
3937 * xterm.h (x_clear_area): Add prototype.
3938
6613cfc4
GM
3939 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3940 which doesn't seem necessary anymore with Lesstif 0.92.
3941
650cc6cc
DL
39422001-01-25 Dave Love <fx@gnu.org>
3943
34ac3367
DL
3944 * puresize.h (BASE_PURESIZE): Up to 720000.
3945
650cc6cc
DL
3946 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3947
5e37dc22
GM
39482001-01-25 Gerd Moellmann <gerd@gnu.org>
3949
e1e441f9
GM
3950 * xdisp.c (echo_area_display): Don't call redisplay_internal
3951 when Emacs is shutting down. We can't run hooks etc. that
3952 would be necessary to do a redisplay.
3953
5e37dc22
GM
3954 * lread.c (read_integer): Use type EMACS_INT instead of int.
3955
0fb94c7f
EZ
39562001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3957
3958 * ccl.c (ccl_driver): Fix last change.
3959
e3778624
KH
39602001-01-25 Kenichi Handa <handa@etl.go.jp>
3961
3962 * ccl.h (sturct ccl_program): New member suppress_error.
3963
bb264518 3964 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3965 insert error message to the output.
3966 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3967
3968 * coding.h (struct coding_system): New member suppress_error.
3969
3970 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3971 (Fset_terminal_coding_system_internal): Set the member
3972 suppress_error to 1.
3973 (Fset_safe_terminal_coding_system_internal): Likewise.
3974
245ed2b1
SM
39752001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3976
3977 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3978 as if it was a `charset'.
3979
f9aaedb6
GM
39802001-01-24 Gerd Moellmann <gerd@gnu.org>
3981
3982 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3983 value in where_is_cache; the next lookup in the cache returns
3984 something bogus if we do.
3985
c3902c3e
EZ
39862001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3987
3988 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3989 if HAVE_WINDOW_SYSTEM isn't defined.
3990
3497f73e
GM
39912001-01-24 Gerd Moellmann <gerd@gnu.org>
3992
e7e41584
GM
3993 * fns.c (sweep_weak_table): Fix code taking items out of
3994 the hash collision chain. Some cleanup.
3995
3497f73e
GM
3996 * xterm.c (x_new_font): Don't change a tooltip's size.
3997
3998 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3999 background color by specifying a color for the default font
4000 in .Xdefaults.
4001
3d48e687
KH
40022001-01-24 Kenichi Handa <handa@etl.go.jp>
4003
96531b20
KH
4004 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4005 a workaround for SunOS 4's cc.
4006 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4007 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4008 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4009 statement.
3d48e687 4010
a30629d2
GM
40112001-01-23 Gerd Moellmann <gerd@gnu.org>
4012
4013 * xterm.c (x_set_window_size_1): New function extracted from
4014 x_set_window_size.
4015 (x_set_window_size): Use it.
4016 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4017 doesn't have a widget, like tooltips.
4018
5a43decf
EZ
40192001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4020
52283633 4021 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4022
b0e98867
KH
40232001-01-23 Kenichi Handa <handa@etl.go.jp>
4024
4025 * fns.c (Fset_char_table_default): Fix to make sub char-table
4026 correctly.
4027
50606b4c
GM
40282001-01-22 Gerd Moellmann <gerd@gnu.org>
4029
cb2ddc53 4030 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4031 a desired tool bar string, even if there are no tool bar items.
4032
57c28064
GM
4033 * xdisp.c (Ftool_bar_lines_needed): New function.
4034 (syms_of_xdisp): Defsubr it.
4035
50606b4c
GM
4036 * editfns.c (Fformat): Don't extend text properties from arguments
4037 to padding chars in the result.
4038
2f169c38
EZ
40392001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4040
4041 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4042
0f32f023
AI
40432001-01-20 Andrew Innes <andrewi@gnu.org>
4044
52283633 4045 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4046 (w32_initialize): Don't set term hooks that aren't actually needed
4047 in windowed mode.
4048
4049 * xfaces.c (realize_default_face):
4050 (realize_face):
4051 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4052
4053 * xdisp.c (handle_single_display_prop): Remove references to
4054 FRAME_W32_CONSOLE_P.
4055
52283633 4056 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4057
4058 * frame.h (output_method): Remove output_w32_console method.
4059 (FRAME_W32_CONSOLE_P): Remove macro.
4060
4061 * frame.c (Qw32_console): Remove variable.
4062 (Fframep): Remove references to it.
4063 (syms_of_frame): Ditto.
4064 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4065
4066 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4067 redefinition.
4068
7173eada
KH
40692001-01-20 Kenichi Handa <handa@etl.go.jp>
4070
4071 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4072
755b45ce
AI
40732001-01-19 Andrew Innes <andrewi@gnu.org>
4074
4075 * w32.c (init_environment): Add a version-independent site-lisp
4076 directory to EMACSLOADPATH, after the version dependent one.
4077
0a949811
GM
40782001-01-19 Gerd Moellmann <gerd@gnu.org>
4079
8501998a
GM
4080 * editfns.c (Fbuffer_substring): Doc fix.
4081
52283633
SM
4082 * xdisp.c (message_dolog, message2, message2_nolog):
4083 Rename parameter LEN to NBYTES.
0a949811 4084
e6ebcbbe
KH
40852001-01-19 Kenichi Handa <handa@etl.go.jp>
4086
200ecca2
KH
4087 * charset.c (strwidth): Use c_string_width.
4088 (c_string_width): New function.
4089 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4090 Caller changed.
4091
4092 * charset.h (c_string_width, lisp_string_width): Extern them.
4093
52283633 4094 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4095
e6ebcbbe
KH
4096 * indent.c (check_composition): Check validity of composition.
4097
200ecca2
KH
4098 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4099 characters by calling c_string_width.
4100 (x_consider_frame_title): Get byte length of frame tile string
4101 correctly.
4102 (display_mode_element): Pay attention to width of non-ASCII
4103 characters by calling strwidth.
4104
8692ca92
GM
41052001-01-18 Gerd Moellmann <gerd@gnu.org>
4106
8962e303
GM
4107 * xfns.c (Qcancel_timer): New variable.
4108 (syms_of_xfns): Initialize and staticpro it.
4109 (Fx_hide_tip, Fx_show_tip): Use it.
4110 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4111 the timer.
4112 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4113
91523be9
GM
4114 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4115
4116 * window.h (WINDOW_LIVE_P): New macro.
4117
b0b7ed0e
GM
4118 * window.c (window_size_fixed): New variable.
4119 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4120 the doc string.
4121
06bccf8e
GM
4122 * eval.c (specbind): If binding a per-buffer variable which
4123 doesn't have a buffer-local value in the current buffer, change
4124 the global value by changing the value of the symbol bound in all
4125 buffers not having their own value, to make it consistent with
4126 what happens with other buffer-local variables.
4127
8692ca92
GM
4128 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4129
4130 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4131 when searching for a newline.
4132
bb3a3b50
KH
41332001-01-18 Kenichi Handa <handa@etl.go.jp>
4134
4135 * xdisp.c (display_string): Fix previous change.
4136
c2cc16fa
JR
41372001-01-18 Jason Rumney <jasonr@gnu.org>
4138
4139 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4140 GLYPH_DEBUG is defined.
4141 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4142 true for images with `:ascent 100'.
4143 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4144 meantime, use face MOUSE_FACE_ID.
4145 If first glyph isn't a character glyph, use the ASCII NUL
4146 character to determine the face.
4147 (expose_area): Do not treat left margin specially.
4148 (note_mode_line_highlight): If no local_map, check global keymap.
4149 (note_mouse_highlight): Initialize overlay.
52283633 4150 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4151 (show_scroll_bars): Remove unused function.
4152 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4153 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4154 Clip to row.
52283633 4155 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4156 (x_free_frame_resources): Unload relief colors.
4157
9c11f79e
GM
41582001-01-17 Gerd Moellmann <gerd@gnu.org>
4159
3aec8722 4160 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4161 get_next_display_element when the newline is already found.
4162 This may change the iterator's position, when its current position is
3aec8722
GM
4163 equal to the iterator's stop_charpos.
4164
f3ffc2c3
GM
4165 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4166 zero, use this method only at the end of a line.
4167
52283633 4168 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4169 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4170 if SCALABLE_FONTS_P is set.
52283633 4171
d26d6fd9
GM
4172 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4173 so that scalable fonts are included.
4174
9c11f79e
GM
4175 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4176 In the cache, use a key containing the information if scalable
4177 fonts are included.
4178 (x_load_font): Adapt to change of keys in the font cache.
4179
41802001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4181
d26d6fd9
GM
4182 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4183 XListFonts to take advantage of font caching.
4184
9c11f79e
GM
4185 * xterm.c (x_list_fonts): Ensure caching font information when
4186 called for a null frame, which is the case frequently when Emacs
4187 starts.
4188
51446987
GM
41892001-01-17 Gerd Moellmann <gerd@gnu.org>
4190
f864120f
GM
4191 * xfns.c (QCconversion): Replaces QCalgorithm.
4192
4193 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4194
4195 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4196 of :algorithm.
52283633 4197
e37d1417
GM
4198 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4199 not everything could be displayed.
4200
51446987
GM
4201 * line.h, x-list-font.c: Files removed because unused.
4202
9ad4f3e5
AI
42032001-01-17 Andrew Innes <andrewi@gnu.org>
4204
4205 * dired.c (directory_files_internal): Convert result from readdir
4206 to a unibyte string initially, to avoid possible misinterpretation
4207 of some bytes as the internal form of Emacs characters.
4208
2eda09b5
KH
42092001-01-17 Kenichi Handa <handa@etl.go.jp>
4210
4211 * fns.c (concat): Be sure to avoid putting the same `composition'
4212 property on the adjacent regions.
4213
826f3788
GM
42142001-01-16 Gerd Moellmann <gerd@gnu.org>
4215
52283633 4216 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4217 (Fscroll_right, Fscroll_left): Set it here instead, if called
4218 interactively.
4219
d57b83b3
GM
4220 * buffer.c (Fset_buffer_modified_p): Set buffer's
4221 prevent_redisplay_optimizations_p flag.
4222
826f3788 4223 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4224 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4225 with additional arg.
4226
4227 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4228 Change prototype.
826f3788 4229
826f3788
GM
4230 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4231 FROM_WHERE, for debugging.
4232
261d788b
KH
42332001-01-16 Kenichi Handa <handa@etl.go.jp>
4234
4235 * ccl.c (Fregister_ccl_program): Handle the return value of
4236 resolve_symbol_ccl_program correctly.
52283633 4237 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4238
bccee4f2
GM
42392001-01-15 Gerd Moellmann <gerd@gnu.org>
4240
e4ded23c
GM
4241 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4242 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4243
4244 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4245 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4246 the display; we didn't open it.
4247
bccee4f2
GM
4248 * dispnew.c (save_or_restore_current_matrices): Function removed.
4249 (save_current_matrix, restore_current_matrix): New functions.
4250 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4251 restore the frame's current matrix. Due to the glyph pointer
4252 setup done in adjust_glyph_matrix, there is no easy way to make
4253 saving the current matrix in the desired matrix generally correct,
4254 so don't try it.
4255
ebeccffa
KH
42562001-01-15 Kenichi Handa <handa@etl.go.jp>
4257
4258 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4259 truncation glyphs.
4260 (display_line): Optimize for wide characters.
e4ded23c 4261 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4262 partially. On ttys, produce more than one truncation glyph for
4263 multi-column characters that don't fit on the line.
4264
64388126
KH
42652001-01-13 Kenichi Handa <handa@etl.go.jp>
4266
52283633
SM
4267 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4268 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4269
8edb0a6f
JR
42702001-01-13 Jason Rumney <jasonr@gnu.org>
4271
4272 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4273 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4274 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4275 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4276
52283633
SM
4277 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4278 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4279 (x_draw_image_glyph_string): Adapt to change of image margins.
4280
4281 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4282 variables.
4283
4284 * w32bdf.c (search_file_line, get_cached_font_char)
4285 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4286
4287 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4288
4289 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4290 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4291 (Fw32_send_sys_command): Remove unused variables.
4292 (w32_msg_pump): Add parentheses.
4293
4294 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4295 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4296 Add parentheses.
4297
4956d1ef
GM
42982001-01-12 Gerd Moellmann <gerd@gnu.org>
4299
b30623be
GM
4300 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4301 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4302 being a pair of margins.
4303 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4304 to DEFVAR_LISP. Extend doc.
4305
4306 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4307 margins.
4308 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4309 pair of integers `(X . Y)', use X for the horizontal and Y for the
4310 vertical margin.
4311 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4312 (parse_image_spec): Check it.
52283633
SM
4313 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4314 (tiff_format, gif_format, gs_format):
4315 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4316
52283633
SM
4317 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4318 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4319 (x_draw_image_glyph_string): Adapt to the change of image margins.
4320
4321 * dispextern.h (struct image): Replace member `margin' with
4322 `hmargin' and `vmargin'.
4323
4554cc79
GM
4324 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4325 and GLYPHS.
4326
4327 * dispnew.c (update_text_area): Put code which decrements the
4328 stop position when the row's face extends to the end of the
3bffc665 4329 line in #if 0.
4554cc79 4330
3cccce8d
GM
4331 * xfns.c (x_set_mouse_color): Fix color allocation.
4332
4956d1ef
GM
4333 * keyboard.c: Call get_local_map with new argument list.
4334
4335 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4336
4337 * intervals.h (enum map_property): Removed.
4338 (get_local_map): Change prototype.
4339
4340 * keymap.c: Call get_local_map with new argument list.
4341 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4342
2c2ff7f2
GM
43432001-01-11 Gerd Moellmann <gerd@gnu.org>
4344
a23887b9
GM
4345 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4346 of the size needed for the tool bar string. For the last image,
4347 use a `display' property that reaches to the end of the string.
4348
a7ee2d2e
GM
4349 * xselect.c (selection_request_dpyinfo): New variable.
4350 (x_handle_selection_request): Set it.
4351 (x_selection_request_lisp_error): Don't call
4352 x_decline_selection_request if selection request's display has
4353 been closed.
4354
52283633
SM
4355 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4356 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4357
457b792c
GM
43582001-01-10 Dave Love <fx@gnu.org>
4359
4360 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4361 ${SOME_MACHINE_LISP}, not ${lisp}.
4362
c1efd260
GM
43632001-01-10 Gerd Moellmann <gerd@gnu.org>
4364
52283633
SM
4365 * xdisp.c (display_line): On ttys, produce more than one truncation
4366 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4367
ac95a621
GM
4368 * xselect.c (x_reply_selection_request): Add a comment.
4369
c1efd260
GM
4370 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4371 XkbGetNames instead of XkbGetKeyboard.
4372
1bfb1345
DL
43732001-01-10 Dave Love <fx@gnu.org>
4374
4375 * sysdep.c (random): Revert the declaration.
4376
38119822
GM
43772001-01-09 Gerd Moellmann <gerd@gnu.org>
4378
52283633
SM
4379 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4380 Call function string_bytes.
35f464a7
GM
4381 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4382
4383 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4384 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4385 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4386 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4387 the current sblock.
4388 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4389 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4390 after sweeping strings, and at the end.
4391 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4392
38119822
GM
4393 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4394 ensure that pop_message is called.
4395
4396 * keyboard.c (Fexecute_extended_command): Use a
4397 record_unwind_protect to ensure that pop_message is called.
4398
4399 * lisp.h (push_message_unwind): Add prototype.
4400
4401 * xdisp.c (push_message_unwind): New function.
4402
4403 * fileio.c (do_auto_save_unwind): Do the pop_message here
4404 instead of in Fdo_auto_save.
4405 (Fdo_auto_save): Don't call pop_message.
4406
f47a9ec4
KR
44072001-01-08 Ken Raeburn <raeburn@gnu.org>
4408
4409 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4410 in inner block.
4411
a758f97d
GM
44122001-01-08 Gerd Moellmann <gerd@gnu.org>
4413
6d0afc03
GM
4414 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4415 when increasing window's vscroll.
4416
a758f97d
GM
4417 * macros.c (Qkbd_macro_termination_hook): New variable.
4418 (syms_of_macros): Initialize and staticpro it.
4419 (pop_kbd_macro): Run kbd-macro-termination-hook.
4420
4421 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4422
1bfb1345 44232001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4424
4425 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4426 arglist, for documentation's sake.
4427
0dac6924
AI
44282001-01-06 Andrew Innes <andrewi@gnu.org>
4429
4430 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4431 of *.pdb.
4432
8182406a
AI
44332001-01-05 Andrew Innes <andrewi@gnu.org>
4434
4435 * term.c (update_end): Don't check updating_frame; for some reason
4436 this can be 0 sometimes, such as after dismissing a popup menu,
4437 and isn't necessary given the explicit frame argument.
4438
3828218c
GM
44392001-01-05 Gerd Moellmann <gerd@gnu.org>
4440
4441 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4442 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4443
2f5ded21
GM
44442001-01-04 Gerd Moellmann <gerd@gnu.org>
4445
52283633 4446 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4447
4448 * xfns.c (x_create_tip_frame): Preserve the value of
4449 face_change_count around the creation of the tip frame.
52283633 4450
2f5ded21
GM
4451 * xfns.c (last_show_tip_args): New variable.
4452 (compute_tip_xy): New function.
4453 (Fx_show_tip): Reuse an existing tip frame, if possible.
4454 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4455
dfad65fa
DL
44562001-01-04 Dave Love <fx@gnu.org>
4457
64d4ec0f
DL
4458 * editfns.c (Fformat): Doc fix.
4459
dfad65fa
DL
4460 * systime.h (set_file_times): Prototype.
4461
4462 * widget.h (EmacsFrameSetCharSize_): Prototype.
4463
4464 * sysdep.c (random, srandom): Declare explicitly.
4465
4466 * dispextern.h (move_it_vertically_backward): Declare.
4467
85fe3b5e
GM
44682001-01-04 Gerd Moellmann <gerd@gnu.org>
4469
0f2ac578
GM
4470 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4471 like in Fx_create_frame.
4472
482cca61
GM
4473 * xfaces.c (set_font_frame_param): Don't do anything for
4474 non-graphical frames.
4475
85fe3b5e
GM
4476 * window.c (Fdelete_other_windows): Set window's window_end_valid
4477 to nil when changing the window's start. Don't change the
4478 window's start when its top position hasn't changed. If we do,
4479 this will set the window's optional_new_start, which act's like a
4480 force_start during redisplay with C-x 1 M-> under particular
4481 circumstances (see report from Per Starback to emacs-pretest-bug
4482 from 2000-12-13.).
4483
3e99d3b4
GM
44842001-01-03 Gerd Moellmann <gerd@gnu.org>
4485
a77dc1ec
GM
4486 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4487 short cut at the start of the function. Add an assertion.
4488 (reseat_at_next_visible_line_start): Add an assertion.
4489
2f3cad6c
GM
4490 * window.c (Frecenter): When changing the window start, set the
4491 window's window_end_valid to nil.
4492 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4493
4494 * dispextern.h (move_it_past_eol): Add prototype.
4495
4496 * xdisp.c (move_it_past_eol): New function.
4497
3e99d3b4
GM
4498 * window.c (Fwindow_end): Doc fix.
4499
45002001-01-03 Dave Love <fx@gnu.org>
4501
52283633 4502 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4503
bafb434c
GM
45042001-01-03 Gerd Moellmann <gerd@gnu.org>
4505
4506 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4507 the enabled_p flag of the glyph row at window_end_vpos to 0.
4508 (handle_single_display_prop): Fix last change.
4509
5297fb00
RS
45102001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4511
4512 * window.c (Frecenter): Doc fix.
4513
13d6a61c
AI
45142001-01-02 Andrew Innes <andrewi@gnu.org>
4515
4516 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4517
4518 * frame.h (output_method): Add output_w32_console method.
4519 (FRAME_W32_CONSOLE_P): New macro.
4520
4521 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4522 use output_w32_console method.
4523 (Qw32_console): New Lisp_Object.
4524 (Fframep): Return it.
4525 (syms_of_frame): Init it.
52283633 4526 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4527
4528 * xfaces.c (realize_default_face): Set face foreground and
4529 background to unspecified for w32_console frames.
4530 (realize_face): Realize face cache for w32_console frames.
4531 (realize_tty_face): Accept w32_console frames.
4532
52283633 4533 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4534 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4535 necessary, even if running interactively.
4536
4537 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4538 w32_console frames.
4539
52283633
SM
4540 * w32term.c (x_update_begin):
4541 (x_update_end):
4542 (x_clear_frame):
4543 (x_ins_del_lines):
4544 (x_change_line_highlight):
4545 (x_delete_glyphs):
4546 (w32_ring_bell):
4547 (x_update_begin):
4548 (x_update_end):
4549 (w32_reassert_line_highlight):
4550 (w32_frame_rehighlight):
13d6a61c
AI
4551 (w32_frame_raise_lower): Do nothing if not w32 frame.
4552
4553 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4554
4555 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4556 system doesn't tell us directly.
4557 (Fx_display_visual_class): Implement properly.
4558
d6bb0c0d
GM
45592001-01-02 Gerd Moellmann <gerd@gnu.org>
4560
4561 * window.c (Frecenter): Handle centering in graphical frames
4562 specially. Centering on the basis of line counts doesn't work
4563 reliably with variable-height lines.
52283633 4564
315f5865
EZ
45652001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4566
4567 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4568 and al[].
4569
52283633 4570 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4571 (update_compositions): Remove unused variable `hook'.
4572
4573 * intervals.c (get_local_map): Remove unused variable `tem'.
4574
4575 * doprnt.c (doprnt1): Remove unused variable `size'.
4576
4577 * fns.c (Flength): Remove unused variable `tail'.
4578 (Fdelete): Remove unused variable `size'.
4579
4580 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4581 and `gcpro2'.
4582
52283633 4583 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4584
4585 * data.c (find_symbol_value): Remove extra 3rd argument in the
4586 call to swap_in_symval_forwarding.
4587
52283633 4588 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4589
4590 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4591 (trivial_regexp_p): Remove unused variable `c'.
4592 (boyer_moore): Remove unused variable `k'.
4593
4594 * indent.c (current_column): Remove unused variable `stopchar'.
4595 (Fcompute_motion): Remove unused variable `contin'.
4596
4597 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4598
4599 * dired.c (directory_files_internal): Fix a typo in a comment.
4600 Remove an unused variable `handler'.
52283633 4601 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4602 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4603 on BSD4_2.
4604
52283633 4605 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4606
4607 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4608 and `buf'.
4609 (Fmarker_insertion_type): Remove unused variable `buf'.
4610
4611 * insdel.c (make_gap): Remove unused variable `result'.
4612
52283633 4613 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4614 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4615 (menu_bar_items): Remove unused function-scope variable `tem'.
4616
4617 * fontset.c (fontset_ref): Remove unused variable `i'.
4618 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4619 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4620 (make_fontset_for_ascii_face): Remove unused variable `name'.
4621 (fs_load_font): Remove unused variable `font_idx'.
52283633 4622 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4623 (list_fontsets): Remove unused variable `tail'.
4624 (Fnew_fontset): Remove unused variables `family' and `registry'.
4625 (accumulate_font_info): Remove unused variable `tmp'.
4626 (Ffontset_font): Remove unused variable `id'.
4627 (syms_of_fontset): Remove unused variable `i'.
4628
4629 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4630 to x_term_init.
4631 (lookup_image): Remove unused variable `file'.
4632 (xbm_load): Remove unused variables `bitmap_data', `height', and
4633 `width'. Remove function-local variable `i', leave the
4634 block-local one.
4635 (gif_load): Remove unused variable `inc'.
4636
52283633 4637 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4638 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4639 leave only the one in the inner block.
4640
4641 * xfaces.c (face_fontset, realize_default_face): Remove unused
4642 variable `fontset'.
4643 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4644
4645 * term.c (encode_terminal_code): Remove unused variable `c'.
4646
4647 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4648 char *' instead of `char *'.
4649
4650 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4651 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4652 (Fchar_category_set): Remove unused variables `val', `charset',
4653 `c1' and `c2'.
4654
52283633
SM
4655 * coding.c (detect_coding_iso2022, setup_coding_system):
4656 Remove unused variable `i'.
315f5865
EZ
4657 (detect_coding_mask): Remove unused variable `idx'.
4658 (detect_coding): Remove unused variable `i'.
4659 (ccl_coding_driver): Remove unused variable `result'.
4660 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4661 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4662 (encode_coding_string): Remove unused variables `gcpro1' and
4663 `saved_coding_symbol'.
4664 (Ffind_coding_systems_region_internal): Remove function-local
4665 variable args[], leave only the block-local one.
4666 (code_convert_region1): Remove unused variable `len'.
4667
4668 * charset.c (char_printable_p): Remove unused variable `chars'.
4669 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4670 (str_to_multibyte): Remove unused variable `c'.
4671
4672 * window.c (size_window): Remove block-local variable `min_size'.
4673
4674 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4675 `header_line_height'.
4676 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4677 enum display_element_type.
4678
1a8a9daf
GM
46792001-01-02 Gerd Moellmann <gerd@gnu.org>
4680
6dde6abc 4681 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4682 statements that call X. Save away the error message in a local copy.
4683
1883b2c6
GM
4684 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4685 the start.
4686
a13be207
GM
4687 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4688 in or at the start of invisible text.
4689
1a8a9daf
GM
4690 * dispnew.c (update_window): Don't check_current_matrix_flags.
4691
3608c0f9
JR
46922001-01-01 Jason Rumney <jasonr@gnu.org>
4693
4694 * w32fns.c (x_figure_window_size): Do not allow new_height and
4695 new_width of frame to override specified values.
4696
abb1acc4
KH
46972000-12-30 Kenichi Handa <handa@etl.go.jp>
4698
52283633 4699 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4700
762a68ec
GM
47012000-12-29 Gerd Moellmann <gerd@gnu.org>
4702
52283633 4703 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4704 (update_window) [GLYPH_DEBUG]: Call it.
4705 (scrolling_window): Prevent including current rows which are below
4706 what's displayed in the window.
4707
4708 * xdisp.c (try_window_reusing_current_matrix)
4709 <new start <= old start>: Disable rows in the current matrix
4710 which are below the window after scrolling.
52283633 4711
762a68ec
GM
4712 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4713 is zero. It's not worth the complexity.
4714 (invisible_text_between_p): Put in #if 0 because unused.
4715
2d5912c1
GM
47162000-12-28 Gerd Moellmann <gerd@gnu.org>
4717
46f6a258
GM
4718 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4719 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4720
89f93679
GM
4721 * keyboard.c (echo_char): If C is an integer, always call
4722 push_key_description. Former code could signal an invalid
4723 character error.
4724
4725 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4726 If set, print multibyte text.
4727 (Fsingle_key_description): Call push_key_description with
4728 FORCE_MULTIBYTE set.
4729 (describe_buffer_bindings): Likewise.
4730
4731 * lisp.h (push_key_description): Add prototype.
4732
c06017fb
GM
4733 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4734 around the call to redisplay_internal.
4735
f1d2ce7f
GM
4736 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4737
2d5912c1
GM
4738 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4739
9371f831
KH
47402000-12-28 Kenichi Handa <handa@etl.go.jp>
4741
4742 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4743 (ccl_driver): New local variable `extra_bytes'.
4744
4745 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4746
52283633
SM
4747 * coding.c (setup_coding_system):
4748 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4749 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4750
0c80628a
KH
47512000-12-28 Kenichi Handa <handa@etl.go.jp>
4752
4753 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4754 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4755 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4756 (decode_composition_emacs_mule): New function.
4757 (decode_coding_emacs_mule): Decode composition sequence by calling
4758 decode_composition_emacs_mule.
4759 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4760 (encode_coding_emacs_mule): Changed from macro to function.
4761 If a text contains compositions, encode them correctly.
0c80628a
KH
4762 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4763 that decoding and encoding are required.
4764
3e32cc27
GM
47652000-12-27 Gerd Moellmann <gerd@gnu.org>
4766
5e25feee
GM
4767 * xfaces.c (PT_PER_INCH): New macro.
4768 (xlfd_point_size): Compute real point size from font's pixel size.
4769 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4770 instead of 72.
4771
892d8fcd
GM
4772 * .gdbinit: Comment out the line pointing to the Lesstif source
4773 directory.
4774
12c8b416
GM
4775 * window.c (Frecenter): Use displayed_window_lines instead
4776 of window_internal_height.
4777
6061fbf0
GM
4778 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4779 instead of x-toolkit-scroll-bars-p.
4780 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4781
4782 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4783 instead of x-toolkit-scroll-bars-p.
4784 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4785
3e32cc27
GM
4786 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4787 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4788 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4789 New variables.
4790 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4791 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4792 (build_frame_matrix_from_leaf_window): Remove unused code.
4793 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4794 redisplay history.
4795 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4796 (update_window) [GLYPH_DEBUG]: Likewise.
4797 (syms_of_display): Defsubr dump-redisplay-history.
4798
31798cfe
GM
47992000-12-23 Gerd Moellmann <gerd@gnu.org>
4800
f717c2ba
GM
4801 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4802 the end of the prompt. Set echo_after_prompt to the offset
4803 of echoptr in echobuf.
4804
aeb2b8fc
GM
4805 * xdisp.c (init_from_display_pos): Pop until the iterator's
4806 stack is empty; there may be frames for stretch or images
4807 on the stack.
4808
31798cfe
GM
4809 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4810 (save_or_restore_current_matrix): New function for the same
4811 purpose, but more efficient.
4812 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4813
f8156156
EZ
48142000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4815
4816 * xdisp.c (syms_of_xdisp): Fix last change.
4817
bdd6d4e8
GM
48182000-12-23 Gerd Moellmann <gerd@gnu.org>
4819
4820 * xdisp.c (syms_of_xdisp): Doc fix.
4821
4822 * xdisp.c (redisplay_window): Remove label restore_buffers;
4823 use finish_scroll_bars instead to make sure that scroll bars
4824 are redeemed. If we don't do this, flickering can result from
4825 scroll bars being destroyed and recreated.
4826
9436cdf9
JR
48272000-12-22 Jason Rumney <jasonr@gnu.org>
4828
4829 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4830 in the wrong colors when the foreground is not black.
4831 (expose_window): Don't redraw the window that's currently being
4832 updated.
4833
951f9df5
GM
48342000-12-22 Gerd Moellmann <gerd@gnu.org>
4835
856ff7a7
GM
4836 * window.c (size_window): When setting the window's too_small_ok
4837 flag, compare old size with minimum size depending on WIDTH_P,
4838 don't compare with window_min_width.
52283633 4839
951f9df5
GM
4840 * window.c (delete_window): Simplify somewhat.
4841 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4842 freeing window matrices. The flag windows_or_buffers_changed is
4843 set, so the next redisplay will consider all windows; this should
4844 suffice.
4845
886bc933
KH
48462000-12-22 Kenichi Handa <handa@etl.go.jp>
4847
4848 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4849
4850 * ccl.h (struct ccl_program): New member cr_consumed.
4851
4852 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4853 (CCL_READ_CHAR): Handle EOL conversion here.
4854 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4855
177f4e88
GM
48562000-12-21 Gerd Moellmann <gerd@gnu.org>
4857
52283633 4858 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4859
4860 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4861 otherwise tabs of different size compare equal.
4862
4863 * callint.c (Fcall_interactively): Prevent a compiler warning.
4864
4865 * print.c (print_unwind): Return nil.
4866 (PRINTDECLARE): Initialize all local variables.
4867 (print_preprocess): Add a default case.
4868
8e15274f
GM
4869 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4870
4871 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4872
52283633 4873 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4874 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4875
4876 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4877
4878 * dispnew.c (ensure_frame_matrix): Removed.
4879 (save_frame_matrix, restore_frame_matrix): New functions.
4880 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4881
4882 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4883 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4884
99012074
AI
48852000-12-21 Andrew Innes <andrewi@gnu.org>
4886
4887 * w32term.c (x_update_begin): Regenerate the palette here, rather
4888 than for each window.
4889
4890 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4891 palette is NULL, since this corrupts memory! Also get
4892 display_info reference from frame.
4893
29ef7d2d
JR
48942000-12-21 Jason Rumney <jasonr@gnu.org>
4895
4896 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4897
4898 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4899 to avoid returning without releasing it.
3e27fa1f 4900
3f9d67a6
KH
49012000-12-21 Kenichi Handa <handa@etl.go.jp>
4902
587fc3f9
KH
4903 * keymap.c (push_key_description): Don't convert eight-bit-control
4904 and eight-bit-graphic to multibyte character.
4905
3f9d67a6
KH
4906 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4907 generic character and CODE1 is nil, return the smallest character
4908 in CHARSET.
4909
774ba8c9
DL
49102000-12-20 Dave Love <fx@gnu.org>
4911
4912 * s/osf5-0.h (NSIG): Don't redefine.
4913
88416888
SM
49142000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4915
4916 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4917 excluding menu-bar and tool-bar.
4918 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4919 (menu_item_p): Remove.
4920 (where_is_internal_1): Don't ignore menu-items.
4921
a6426c6f
GM
49222000-12-20 Gerd Moellmann <gerd@gnu.org>
4923
03ff8aab
GM
4924 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4925 into account.
4926
4927 * window.c (make_window): Initialize window's min_hscroll.
4928 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4929 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4930 to zero.
4931 (struct saved_window): New member min_hscroll.
4932 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4933 (Fset_window_configuration): Set window's min_hscroll.
4934 (save_window_save): Save window's min_hscroll.
4935 (compare_window_configurations): Compare min_hscroll values.
4936
4937 * window.h (struct window): New member min_hscroll.
4938
4939 * keyboard.c (echo_prompt): Prevent a compiler warning.
4940
8de4aaf8
GM
4941 * xdisp.c (try_cursor_movement): Fix last change. The real
4942 condition is that PT is at the end of the row, and should
4943 be displayed at the start of the next row.
52283633 4944
3f7e3031
GM
4945 * xdisp.c (try_cursor_movement): If we end on a partially
4946 visible line, end we already decided to scroll, return -1.
4947
a6426c6f
GM
4948 * dispextern.h (ensure_frame_matrix): Add prototype.
4949
4950 * window.c (delete_window, Fsplit_window)
4951 (Fset_window_configuration): Call ensure_frame_matrix.
4952
52283633
SM
4953 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4954 New functions.
a6426c6f
GM
4955 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4956 completed, call fake_current_matrices instead of marking frame
4957 garbaged.
4958
57fa2774
JR
49592000-12-20 Jason Rumney <jasonr@gnu.org>
4960
4961 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4962
d925df90
EZ
49632000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4964
4965 * fns.c (Frequire): Doc fix.
4966
7b93a85b
GM
49672000-12-19 Gerd Moellmann <gerd@gnu.org>
4968
52283633 4969 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4970
c74e645b
GM
4971 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4972 currently displaying a message.
4973
7b93a85b
GM
4974 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4975 xterm.h.
4976 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4977
90d97e64
AI
49782000-12-18 Andrew Innes <andrewi@gnu.org>
4979
4980 * w32.c (w32_strerror): New function.
4981
4982 * w32.h (w32_strerror): New extern.
4983
4984 * w32fns.c (Fw32_shell_execute): Use it.
4985
91c9e6ce
GM
49862000-12-18 Gerd Moellmann <gerd@gnu.org>
4987
4988 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4989
6f4745e2
EZ
49902000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4991
4992 * msdos.c (IT_set_face): Obey inverse_video.
4993
c9e088ce
KH
49942000-12-18 Kenichi Handa <handa@etl.go.jp>
4995
4996 * dired.c (directory_files_internal): Always return decoded filenames.
4997
c3695f5f
GM
49982000-12-18 Gerd Moellmann <gerd@gnu.org>
4999
52d8e4ff
GM
5000 * xterm.c (x_connection_closed): Prevent being called recursively
5001 because of an error condition in XtCloseDisplay.
52283633 5002
62be9979
GM
5003 * xdisp.c (init_iterator): If noninteractive, and the frame's
5004 face cache is null, make one.
5005
52283633 5006 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5007
c3695f5f
GM
5008 * process.c (wait_reading_process_input): Check for pending
5009 input when running timers.
5010
78555fbe
EZ
50112000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5012
52283633 5013 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5014
b2b36264
KH
50152000-12-18 Kenichi Handa <handa@etl.go.jp>
5016
5017 * process.c (read_process_output): Don't run a filter if the code
5018 decoder produces nothing but carryover.
5019
9c543fbf
AI
50202000-12-17 Andrew Innes <andrewi@gnu.org>
5021
5022 * w32.c (sys_rename): Only check errno against EEXIST, and not
5023 EACCES, when determining whether rename failed because the target
5024 exists. This was resulting in indefinite looping on Windows 9x if
5025 the source file was locked by another process.
5026
5027 * w32fns.c (Ffile_system_info): New function.
5028 (syms_of_w32fns): Defsubr it.
5029
10c2b5a8
GM
50302000-12-17 Gerd Moellmann <gerd@gnu.org>
5031
b0228ace
GM
5032 * window.c (coordinates_in_window): Fix computation for
5033 position on vertical line between mode lines.
5034
10c2b5a8
GM
5035 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5036 Don't alter tip_frame or tip_window.
5037 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5038 was deleted.
5039
c844a81a
GM
5040 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5041 Don't alter tip_frame or tip_window.
5042 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5043 was deleted.
5044
6c825f8e
EZ
50452000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5046
5047 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5048 be consistent with the doc string. Reported by NAKAJIMA Mikio
5049 <minakaji@osaka.email.ne.jp>.
5050
af4bb4c8
KH
50512000-12-16 Kenichi Handa <handa@etl.go.jp>
5052
5053 * xfaces.c (Vface_ignored_fonts): New variable.
5054 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5055 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5056
8062e53a
GM
50572000-12-15 Gerd Moellmann <gerd@gnu.org>
5058
e87b8809
GM
5059 * dispnew.c (update_window): Detect pending input every nth line
5060 updated, i.e. do it depending on real work done, and not on the
5061 vpos of the line.
5062
5063 * xterm.c (expose_window): Don't redraw the window that's
5064 currently being updated.
5065
a6768cc5
GM
5066 * window.c (Fset_window_point): Remove test for
5067 cursor_in_non_selected_windows.
5068
4ea7fdca
GM
5069 * lread.c (read1): Recognize end of file after `\\'.
5070
8062e53a
GM
5071 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5072 not unwind_create_frame.
5073
bb7959c1
GM
50742000-12-15 Dave Love <fx@gnu.org>
5075
5076 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5077 bcopy & al.
5078
5079 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5080
ced04c42
KH
50812000-12-15 Kenichi Handa <handa@etl.go.jp>
5082
c5443913
KH
5083 * coding.c (setup_coding_system): Clear all members of the struct
5084 coding_system at first.
bc137305
KH
5085 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5086 argument.
5087 (code_convert_region): Don't override coding->src_multibyte and
5088 coding->dst_multibyte.
c5443913 5089
ced04c42
KH
5090 * fns.c (Fmd5): Docstring improved.
5091
c2d7f289
MB
50922000-12-15 Miles Bader <miles@gnu.org>
5093
5094 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5095 are actually marked as mode-lines; otherwise use
5096 estimate_mode_line_height.
5097
9d7d9263
GM
50982000-12-14 Gerd Moellmann <gerd@gnu.org>
5099
5100 * editfns.c (Fformat): Prevent a buffer overrun when the format
5101 specifies a precision.
5102
7cf0153a
EZ
51032000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5104
5105 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5106 argument is outside the range [2..3].
5107
1de0f662
AI
51082000-12-14 Andrew Innes <andrewi@gnu.org>
5109
5110 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5111 nothing to do. Bind inhibit-quit.
5112 (tip_frame): Make it a Lisp_Object.
5113 (x_create_tip_frame): Set tip_frame after it has been added to
5114 Vframe_list.
5115 (Fx_show_tip): Don't set tip_frame here.
52283633 5116 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5117 (unwind_create_frame, unwind_create_tip_frame): New functions.
5118 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5119 while a frame is only partially constructed.
5120
5121 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5122 (x_free_frame_resources): New function.
5123 (x_destroy_window): Use it.
5124
02387dcc
GM
51252000-12-14 Gerd Moellmann <gerd@gnu.org>
5126
5127 * xfns.c (Fx_backspace_delete_keys_p): New function.
5128 (syms_of_xfns): Defsubr it.
5129
5130 * config.in (HAVE_XKBGETKEYBOARD): Add.
5131
0544ef49
KH
51322000-12-14 Kenichi Handa <handa@etl.go.jp>
5133
98d62747
KH
5134 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5135 Always store string in multibyte representation in echobuf.
5136 (echo_char): Always store string in multibyte representation in
5137 echobuf.
5138 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5139 (read_key_sequence): Adjusted for the change of echo_prompt.
5140
a20193cd
KH
5141 * fns.c (Fmd5): Docstring improved.
5142
191b83b6
KH
5143 * lisp.h (detect_coding_system): Prototype adjusted.
5144
0544ef49
KH
5145 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5146 (detect_coding_emacs_mule, detect_coding_iso2022,)
5147 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5148 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5149 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5150 (detect_coding_mask, detect_coding_system): New argument
5151 MULTIBYTEP. Callers changed.
1da1bb05
KH
5152 (decode_coding_string): Set coding->src_multibyte and
5153 coding->dst_multibyte before calling detect_coding and detect_eol.
5154 Update them after some coding system is detected.
52283633 5155
d5b3eb1b
SM
51562000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5157
5158 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5159
5160 * keyboard.c (menu_bar_items, tool_bar_items):
5161 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5162
f7f8bb69
GM
51632000-12-13 Gerd Moellmann <gerd@gnu.org>
5164
52283633 5165 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5166 New variables.
5167 (unwind_create_frame, unwind_create_tip_frame): New functions.
5168 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5169 while a frame is only partially constructed.
5170
5171 * xterm.h (x_free_frame_resources): Declare.
5172
5173 * xterm.c (x_free_frame_resources): New function.
5174 (x_destroy_window): Use it.
5175
e10da507
GM
5176 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5177 don't interrupt the update for pending input initially, i.e.
5178 update at least some lines.
5179
5180 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5181
d5b3eb1b 5182 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5183
5184 * xfns.c (gray_bitmap_bits): Declare `char *'.
5185
90aa2856
GM
51862000-12-12 Gerd Moellmann <gerd@gnu.org>
5187
5188 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5189 lines start with a relief line.
5190
a308c9cd
DL
51912000-12-12 Dave Love <fx@gnu.org>
5192
5193 * window.c (Fdisplay_buffer): Doc fix.
5194 (Fwindow_list): Remove unused var.
5195
5196 * buffer.h (mmap_set_vars): Declare.
5197
5198 * window.h (Fset_window_point): Declare.
5199
d575011f
EZ
52002000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5201
bf6282d2 5202 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5203 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5204 variable `area'. When looking for a row under (X,Y), give up if some
5205 of the previous rows is not enabled.
d575011f 5206
ecf4d726
GM
52072000-12-12 Gerd Moellmann <gerd@gnu.org>
5208
2ebf6139
GM
5209 * window.c (Fset_window_point): If displaying cursors in windows
5210 other than the selected window, make sure redisplay updates
5211 other windows to show the new value of point in the window.
5212
5213 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5214
bfdb75ee
GM
5215 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5216 the buffer is the sole visible buffer when in the mini-buffer.
5217
52283633 5218 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5219 Bind `inhibit-read-only' to t.
5220 (unwind_with_echo_area_buffer): Use AREF.
5221
c0006262
GM
5222 * xfns.c (Fx_hide_tip): Simplified.
5223
52283633
SM
5224 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5225 instead of `1'.
e9a59cad 5226
ecf4d726
GM
5227 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5228
e5959a9a
GM
52292000-12-11 Gerd Moellmann <gerd@gnu.org>
5230
a3642e49 5231 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5232
44b5a125
GM
5233 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5234 nothing to do. Bind inhibit-quit.
5235 (tip_frame): Make it a Lisp_Object.
5236 (x_create_tip_frame): Set tip_frame after it has been added to
5237 Vframe_list.
5238 (Fx_show_tip): Don't set tip_frame here.
5239
5240 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5241
5242 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5243 Lisp_Object.
5244
5245 * dispextern.h: Change external declaration of tip_frame.
5246
d990421f
GM
5247 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5248 return an empty string.
5249
4db87380
GM
5250 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5251 of the window's update_mode_line flag, since the former is set by
5252 force-mode-line-update, not the latter. This makes
5253 column-number-mode slightly faster.
52283633 5254
e5959a9a
GM
5255 * xdisp.c (try_window_id) <all changes above window start>:
5256 Set the cursor.
5257
169fe44e
GM
52582000-12-11 Paul Eggert <eggert@twinsun.com>
5259
5260 * config.in (HAVE_FTELLO): Remove.
5261 (HAVE_FSEEKO): Add.
5262 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5263 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5264 HAVE_FTELLO.
5265 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5266 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5267
59ec59ae
MB
52682000-12-11 Miles Bader <miles@gnu.org>
5269
5270 * window.c (displayed_window_lines): Don't round up when
5271 converting empty space at bottom to lines.
ff904dd6
MB
5272 Handle non-newline-terminated final lines properly.
5273 (Fwindow_text_height): New function (used to be in lisp).
5274 (syms_of_window): Initialize it.
59ec59ae 5275
42ebfa31
SM
52762000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5277
5278 * syntax.c (scan_lists): Check that the right quote char has the
5279 right Sstring syntax when jumping over strings.
5280 (init_syntax_once): Use Smax rather than 13.
5281
5cdb3cf3
MB
52822000-12-09 Miles Bader <miles@gnu.org>
5283
5284 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5285 with PARTIALLY, inverting the sense.
5286 (window_scroll_pixel_based): Scroll partially visible lines into
5287 place if we hit the beginning or end of the buffer.
a12167c5
MB
5288 (displayed_window_lines): Don't include partially visible lines.
5289 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5290
842b2a94
GM
52912000-12-08 Gerd Moellmann <gerd@gnu.org>
5292
5293 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5294
5295 * tparam.c (tparam1): Change the way buffers are reallocated to be
5296 portable and less obfuscated.
5297
5298 * termcap.c (tgetent): Change the way buffers are reallocated to
5299 be portable and less obfuscated.
5300
5301 * macros.c (store_kbd_macro_char): Change the way buffers are
5302 reallocated to be portable and less obfuscated.
5303
5304 * lread.c (read1): Change the way buffers are reallocated to be
5305 portable and less obfuscated.
5306
5307 * doc.c (Fsubstitute_command_keys): Change the way buffers
5308 are reallocated so that it is portable.
5309
137cad7c
EZ
53102000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5311
5312 * dosfns.c (Ffile_system_info): New function.
5313 (syms_of_dosfns): Defsubr it.
5314
5c7f629c
SM
53152000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5316
5317 * alloc.c (gc_sweep): Add comment.
5318
959e647d
GM
53192000-12-07 Gerd Moellmann <gerd@gnu.org>
5320
52283633
SM
5321 * sound.c (vox_configure): Change order of ioctls.
5322 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5323 Ignore errors when changing volume.
5324 (vox_close): Don't reset the device.
5325
926b7e5e
GM
5326 * process.c (read_process_output): Make sure the process marker's
5327 position is valid when the process buffer is changed in
5328 after-change functions. W3 does that.
52283633 5329
959e647d
GM
5330 * xfns.c (x_free_gcs): New function.
5331
5332 * xterm.h (x_free_gcs): Add prototype.
5333
5334 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5335 freeing GCs here.
5336
5337 * xterm.c (x_destroy_window): Call x_free_gcs so that
5338 resources of non-toolkit X windows will be freed.
5339
478ea067
AI
53402000-12-07 Andrew Innes <andrewi@gnu.org>
5341
5342 * w32fns.c (xlfd_charset_of_font): Fix last change.
5343
fbee3231
DL
53442000-12-06 Dave Love <fx@gnu.org>
5345
67292061
DL
5346 * md5.h (__P): Don't define -- it comes from config.h.
5347
fbee3231
DL
5348 * strftime.c: Change some #if foo to #ifdef foo.
5349
4ee87dbb
AI
53502000-12-06 Andrew Innes <andrewi@gnu.org>
5351
5352 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5353
52283633 5354 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5355 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5356 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5357
9765b4a4
GM
53582000-12-06 Gerd Moellmann <gerd@gnu.org>
5359
d285b373
GM
5360 * alloc.c (gc_sweep): Prevent symbols read during loadup
5361 from being freed.
5362
384333ee
GM
5363 * xdisp.c (underlying_face_id): New function.
5364 (handle_face_prop, face_before_or_after_it_pos): Use it
5365 to determine the face ``under'' a string. Let strings inherit
5366 the face of the buffer under them.
5367
5368 * xfaces.c (face_at_string_position): Update function comment.
52283633 5369
d4b72d58
GM
5370 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5371 matrix if the window's left position has changed; we need to
5372 redraw it in this case.
5373
5374 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5375
e1d05387
GM
5376 * window.c (coordinates_in_window): Check mouse on mode-line or
5377 header-line first.
5378
eb1b0c74
GM
5379 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5380 advertized by the function documentation.
5381
d94d636f
GM
5382 * window.c (syms_of_window): Doc fix.
5383
3887b449
GM
5384 * sound.c (vox_configure): Set volume for left and right channel.
5385 (sound_cleanup): Return nil.
5386
efc8f57a
GM
5387 * xdisp.c (move_it_by_lines): Fix paren typo.
5388
9765b4a4
GM
5389 * xterm.c (x_load_font): Don't use the font's max_bounds for
5390 computing the height of the font. If max_bounds' ascent or
5391 descent are greater than the font's ascent or descent, this means
5392 glyphs overlap, which should be handled now by redisplay.
5393
6529ed87
GM
5394 * window.c (Veven_window_heights): New variable.
5395 (syms_of_window): DEFVAR_LISP it.
5396 (Fdisplay_buffer): Check Veven_window_heights before evening the
5397 window heights.
52283633 5398
0eb2ecde
MB
53992000-12-06 Miles Bader <miles@gnu.org>
5400
5401 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5402 update `default-frame-alist' instead of setting no frame parameters.
5403
03d7a167
KH
54042000-12-06 Kenichi Handa <handa@etl.go.jp>
5405
5406 * composite.c (update_compositions): Fix typo (use the correct
5407 variable).
5408
5f8803c2
JR
54092000-12-05 Jason Rumney <jasonr@gnu.org>
5410
5411 * md5.h: Remove underscores from function declarations.
5412 (__attribute__, __alignof__) [!__GNUC__]: Define.
5413
5414 * md5.c: Delay include of md5.h until after namespace cleaning.
5415
c28a075b
JR
5416 * makefile.w32-in (fns.o): Depend on md5.h
5417 (md5.o): New target.
5418 (sunfns.o): Remove.
5419
5420 * makefile.nt: Likewise.
5421
ff3c7056
JR
54222000-12-05 Jason Rumney <jasonr@altavista.net>
5423
5424 * w32term.c (expose_area): Complete last change.
5425
0c21eeeb
KR
54262000-12-05 Ken Raeburn <raeburn@gnu.org>
5427
5428 * minibuf.c: Include intervals.h.
5429
f201d732
JR
54302000-12-05 Jason Rumney <jasonr@gnu.org>
5431
5432 * w32term.c (x_produce_glyphs): If a font for a component of
5433 a composition is not found, use 1 pixel dot ascent and 0 dot
5434 descent value to avoid displaying terribly tall empty boxes.
5435 (expose_area): Pass x-coordinate relative to the exposed
5436 area to x_draw_glyphs instead of a window-relative coordinate.
5437
21999ab9
GM
54382000-12-05 Gerd Moellmann <gerd@gnu.org>
5439
4d2036e4
GM
5440 * xdisp.c (next_element_from_ellipsis): Save face before selective
5441 display in saved_face_id, and set face_before_selective_p.
5442 (reseat_1): Reset face_before_selective_p.
5443 (append_space, extend_face_to_end_of_line): If iterator's
5444 face_before_selective_p is set, use the face from saved_face_id.
5445 (extend_face_to_end_of_line): For tty frames, make sure to
5446 use the right face id when producing spaces at the end of
5447 the line.
5448
5449 * dispextern.h (struct it): Add face_before_selective_p.
5450
52be17cc
GM
5451 * keyboard.c (record_char): Don't record identical help-echo
5452 events in recent_keys.
5453
8a4f36cc
GM
5454 * xterm.c [USE_X_TOOLKIT]: Close the display.
5455 (xim_close_dpy): Handle case that the display has been closed.
5456
57d6e381
GM
5457 * xterm.c (x_destroy_window): Reset the frame's X window after
5458 destroying it.
5459
21999ab9
GM
5460 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5461 variable window_width.
5462 (line_draw_cost): Fix code skipping over spaces at the end of the
5463 line when must_write_spaces is not set.
5464 (scrolling_window): Fix code inserting runs in list of all runs.
5465
91372bb7
KH
54662000-12-05 Kenichi Handa <handa@etl.go.jp>
5467
5468 * coding.c (setup_coding_system): Be sure to initialize
5469 coding->category_idx.
5470
6c083b4c
GM
54712000-12-04 Gerd Moellmann <gerd@gnu.org>
5472
0c68ce6f 5473 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5474
6452929e
GM
5475 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5476 area to x_draw_glyphs instead of a window-relative coordinate.
5477
d7f31e22
GM
5478 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5479 error in the message.
5480
ae18aa3b
GM
5481 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5482 timer after having read a key. It's not good for code reading
5483 several keys in a loop, like an input method.
5484
caa15ef7
GM
5485 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5486 record undo information for format-decode.
5487
5488 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5489 current buffer is read-only, not if it isn't.
5490
6c083b4c
GM
5491 * keyboard.c (record_char): Record `help-echo' input events
5492 in recent_keys only if they display some help. Don't record
5493 `help-echo' events as macro char.
5494
caa15ef7
GM
54952000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5496
5497 * editfns.c (save_excursion_restore): Don't move point
5498 in another window if it is showing the wrong buffer.
5499 Avoid the call to Fwindow_live_p, for speed.
5500
5a13529b
KH
55012000-12-04 Kenichi Handa <handa@etl.go.jp>
5502
e225faa7
KH
5503 * xfaces.c (struct font_name): New member registry_priority.
5504 (split_font_name): Initialize the above member to zero.
5505 (concat_font_list): New function.
5506 (font_list): Include fonts of all alternative registries.
5507 (FONT_POINT_SIZE_QUANTUM): New macro.
5508 (better_font_p): Ignore point size difference less than
5509 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5510
e89648b4
KH
5511 * xterm.c (x_produce_glyphs): If a font for a component of
5512 a composition is not found, use 1 pixel dot ascent and 0 dot
5513 descent value to avoid displaying terribly tall empty boxes.
5514
5a13529b
KH
5515 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5516
d7935eb6
KR
55172000-12-03 Ken Raeburn <raeburn@gnu.org>
5518
5519 * coding.h (code_convert_string1): Declare.
5520
5521 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5522
52283633 5523 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5524
0dd5e255
JR
55252000-12-02 Jason Rumney <jasonr@gnu.org>
5526
5527 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5528 correctly for single byte character case.
5529 (w32_per_char_metric): Do not try to make any assumptions about
5530 the metrics of BDF fonts.
250cfece 5531 (x_estimate_mode_line_height): If `mode-line' face
52283633 5532 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5533 (note_mouse_highlight): Change the cursor shape on the vertical
5534 border between windows [not enabled].
5535
5536 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5537
5538 * w32fns.c (Fx_create_frame): Reintroduce the call to
5539 face-set-after-frame-defaults.
5540 (Vx_window_horizontal_drag_shape): New variable.
5541 (syms_of_xfns): DEFVAR_LISP it.
5542 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5543 enabled].
0dd5e255 5544
b5d8d2ca
GM
55452000-12-02 Simon Josefsson <simon@josefsson.org>
5546
5547 * fns.c (Fmd5): Use a different logic to decide the coding system
5548 to use.
5549
5550 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5551
fbb87147
EZ
55522000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5553
52283633 5554 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5555
447e9da0
GM
55562000-12-01 Gerd Moellmann <gerd@gnu.org>
5557
7708ced0
GM
5558 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5559 height for YNegative.
5560 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5561 height; also see comment there.
5562
447e9da0
GM
5563 * window.c (coordinates_in_window): Handle computations for
5564 positions on the vertical bar and fringes differently for
5565 window-system frames. Consider some pixels near the vertical bar
5566 as on the bar if the frame doesn't have vertical scroll bars.
5567 Associate positions between mode or header lines with the
5568 right window, the left one.
5569
86d1db20
JR
55702000-12-01 Jason Rumney <jasonr@gnu.org>
5571
5572 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5573
5574 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5575 invalid frame.
5576
a1d58e5b
GM
55772000-12-01 Gerd Moellmann <gerd@gnu.org>
5578
52283633 5579 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5580 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5581 (save_window_save, Fset_window_configuration): Save/restore
5582 window's orig_top and orig_height.
5583
89c609af
JR
55842000-12-01 Jason Rumney <jasonr@gnu.org>
5585
4d177746 5586 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5587
89c609af
JR
5588 * w32fns.c (x_set_cursor_color): Fix last change.
5589
eccc05db
GM
55902000-11-30 Gerd Moellmann <gerd@gnu.org>
5591
31b6671b
GM
5592 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5593 sure that the next redisplay displays the minibuffer, so that
5594 the cursor will be replaced with what the minibuffer wants.
5595
eccc05db
GM
5596 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5597 #ifndef instead of using #if.
5598 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5599 USE_TOOLKIT_SCROLL_BARS is defined.
5600
162de750
JR
56012000-11-30 Jason Rumney <jasonr@gnu.org>
5602
5603 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5604 x_display_cursor.
5605
693c4692
GM
56062000-11-30 Gerd Moellmann <gerd@gnu.org>
5607
5608 * fns.c (Fmd5): Doc fix.
5609
b5d8d2ca 56102000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5611
5612 * fns.c (Fmd5): New function.
5613 (syms_of_fns): Defsubr md5.
5614
5615 * Makefile.in (obj): Add md5.o
5616
b02cd40b
GM
56172000-11-30 Gerd Moellmann <gerd@gnu.org>
5618
edfb795e
GM
5619 * md5.h, md5.c: New files, taken from glibc.
5620
df3aedcf
GM
5621 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5622
b02cd40b 5623 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5624 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5625
8b5176cd
SM
56262000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5627
5628 * eval.c (Frun_hooks): Allow 0 arguments.
5629
346598f1
GM
56302000-11-29 Gerd Moellmann <gerd@gnu.org>
5631
f9396e03
GM
5632 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5633 is over the menu bar widget, say it's not on the frame.
5634
4a967a9b
GM
5635 * xfns.c (Fx_create_frame): Reintroduce the call to
5636 face-set-after-frame-defaults.
5637
346598f1
GM
5638 * eval.c (Fsignal): Reset handling_signal.
5639
222456a1
JR
56402000-11-28 Jason Rumney <jasonr@gnu.org>
5641
5642 * w32menu.c (add_menu_item): Reset menu item text when changing
5643 type to radio button.
5644
8049ddc0
GM
56452000-11-28 Gerd Moellmann <gerd@gnu.org>
5646
346598f1 5647 * xselect.c: Update copyright.
f4f4ee4d 5648
bebe4a2c
GM
5649 * window.c (coordinates_in_window): If on a mode or header line,
5650 but sufficiently close to its start, return ``on vertical
5651 border''. This gives us a way to drag windows horizontally when
5652 using toolkit scroll bars.
5653
5654 * xterm.c (note_mouse_highlight): Change the cursor shape
5655 on the vertical border between windows.
5656
5657 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5658
5659 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5660 (syms_of_xfns): DEFVAR_LISP it.
5661 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5662
8d2c2642
GM
5663 * textprop.c (text_read_only): New function.
5664 (verify_interval_modification): Use it instead of signaling
5665 `text-read-only'. This makes it easier to catch this error
52283633 5666 with a breakpoint.:
8d2c2642 5667
52283633 5668 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5669 not end of line, which includes CR.
5670
5a2bae6c
KH
56712000-11-28 Kenichi Handa <handa@etl.go.jp>
5672
5673 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5674 include no-conversion.
5675
ae31f84d
JR
56762000-11-27 Jason Rumney <jasonr@gnu.org>
5677
5678 * w32fns.c (w32_load_system_font): Always mark font as double byte
5679 if codepage is unicode.
5680
67f1cf4c
GM
56812000-11-27 Gerd Moellmann <gerd@gnu.org>
5682
4a74d071 5683 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5684 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5685
902ae620
GM
5686 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5687 `vertical-line', `mode-line' and `header-line' events.
5688
5689 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5690 of a character, a TAB for instance. This is easier than to set
5691 up the iterator exactly, and it's not a frequent case, so the
5692 additional effort wouldn't really pay off.
5693
c1e279c2
AC
56942000-11-26 Andrew Choi <akochoi@i-cable.com>
5695
67f1cf4c 5696 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5697 init_window_once.
5698
a609568a
JR
56992000-11-25 Jason Rumney <jasonr@gnu.org>
5700
52283633
SM
5701 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5702 Args to window_from_coordinates should be pixel coordinates.
48b21762 5703
a609568a
JR
5704 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5705 redisplay handles them properly.
5706
a658d039
MB
57072000-11-25 Miles Bader <miles@gnu.org>
5708
5709 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5710
d3416cca
JR
57112000-11-24 Jason Rumney <jasonr@gnu.org>
5712
5713 * w32.c (init_environment): Set LANG environment variable based on
5714 locale settings, if not set.
5715
5716 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5717 making tool bar smaller. When clearing the frame, also
5718 clear current matrices. Clear frame when tool bar disappears.
5719 Don't use more lines for the tool-bar than is available.
5720 (x_change_window_heights): New function.
5721
ba193890
GM
57222000-11-24 Gerd Moellmann <gerd@gnu.org>
5723
2be8f184
GM
5724 * xdisp.c (init_from_display_pos): If POS says we're already after
5725 an overlay string ending at POS, make sure to pop the iterator
5726 because it will be in front of that overlay string. When POS is
5727 ZV, we've thereby also ``processed'' overlay strings at ZV.
5728
ba193890
GM
5729 * xfaces.c (lface_from_face_name): Function comment fix.
5730
1862a24e
MB
57312000-11-24 Miles Bader <miles@gnu.org>
5732
5733 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5734 apply `mode-line-inverse-video' -- zero means force display using
5735 the default face, non-zero means display using the specialized face.
5736 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5737
f07fa1b8
KH
57382000-11-23 Kenichi Handa <handa@etl.go.jp>
5739
5740 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5741 hard coded `4'.
5742
2bcdf662
EZ
57432000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5744
5745 * coding.c (decode_coding_emacs_mule): Fix the case of
5746 CODING_EOL_LF, which used uninitialized value of c.
5747
ba8299ff
SM
57482000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5749
5750 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5751
f4117c4d
GM
57522000-11-22 Gerd Moellmann <gerd@gnu.org>
5753
03e757c1
GM
5754 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5755 buffer object.
5756
f4117c4d
GM
5757 * frame.h (struct frame): Replace desired_tool_bar_items,
5758 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5759 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5760
5761 * frame.c (make_frame): Change initialization of tool bar
5762 items accordingly.
5763
5764 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5765 Change references to members deleted from struct frame to use the
f4117c4d
GM
5766 new ones.
5767
5768 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5769 references to members deleted from struct frame to use the new ones.
f4117c4d 5770
52283633 5771 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5772
5773 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5774
5775 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5776 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5777 from struct frame to use the new ones.
5778
f8e2f3f2
MB
57792000-11-23 Miles Bader <miles@gnu.org>
5780
5781 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5782 the face's inverse-video attribute, rather than overriding it.
5783
60e8e0a5
GM
57842000-11-22 Gerd Moellmann <gerd@gnu.org>
5785
5786 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5787 making tool bar smaller.
5788
92dd1b29
DL
57892000-11-22 Dave Love <fx@gnu.org>
5790
5791 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5792
e672fdce
MB
57932000-11-22 Miles Bader <miles@gnu.org>
5794
3a17d6cc
MB
5795 * keyboard.c (Vminibuffer_message_timeout): New variable.
5796 (command_loop_1): Use it to determine message timeout.
5797 (syms_of_keyboard): Initialize it.
5798
60e8e0a5 5799 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5800
e9655d81
KH
58012000-11-22 Kenichi Handa <handa@etl.go.jp>
5802
5803 * sysdep.c: Move the code for declaring h_errno after #include
5804 <netdb.h>.
5805
77270fac
GM
58062000-11-21 Gerd Moellmann <gerd@gnu.org>
5807
cd913aae
GM
5808 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5809 the menu bar when the tooltip is unmapped.
5810
77270fac
GM
5811 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5812 sole visible buffer when we're currently in the mini-buffer, and
5813 give up if so.
52283633 5814
556635d6
JR
58152000-11-21 Jason Rumney <jasonr@gnu.org>
5816
5817 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5818 put on the clipboard.
5819 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5820 copy of what Emacs last put there. If they are the same, do not
52283633 5821 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5822
5b7bde64
MB
58232000-11-22 Miles Bader <miles@gnu.org>
5824
5825 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5826 (syms_of_minibuf): Initialize it.
5827 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5828 to prompt, don't make read-only.
5829
ff23e1dd
GM
58302000-11-21 Gerd Moellmann <gerd@gnu.org>
5831
52283633
SM
5832 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5833 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5834
7aaf4388
GM
5835 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5836
f5f47add 5837 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5838
ff23e1dd
GM
5839 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5840
37c35586
KH
58412000-11-21 Kenichi Handa <handa@etl.go.jp>
5842
5843 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5844 ... #endif scope.
5845
ff9ab414
GM
58462000-11-20 Gerd Moellmann <gerd@gnu.org>
5847
52283633 5848 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5849 screen supports it.
5850
29a01b72
GM
5851 * s/gnu-linux.h: Don't use `#cpu'.
5852
09dfdf85
GM
5853 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5854 not defined in mman.h.
5855
52283633 5856 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5857 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5858 and store an index in the XClientMessageEvent. Storing a
5859 Lisp_Object or pointer can fail on a 64 bit system, since X only
5860 transfers 32 bits.
52283633
SM
5861 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5862
81459ac9
DL
58632000-11-20 Dave Love <fx@gnu.org>
5864
5865 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5866
56c13ae6
GM
58672000-11-20 Gerd Moellmann <gerd@gnu.org>
5868
5869 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5870
495a6df3
KH
58712000-11-20 Kenichi Handa <handa@etl.go.jp>
5872
2bcf3714
KH
5873 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5874 by WIDTH.
5875
495a6df3
KH
5876 * alloc.c (make_string): Fix previous change. Be sure to make
5877 unibyte string correctly.
5878
6d950f4c
GM
58792000-11-19 Gerd Moellmann <gerd@gnu.org>
5880
39b39373
GM
5881 * window.c (Fwindow_list): Change parameter list to be XEmacs
5882 compatible.
5883 (window_list_1): New function.
5884 (window_loop): Use it instead of Fwindow_list.
5885
b95b34e5
GM
5886 * sysdep.c (emacs_ospeed): New variable.
5887 (toplevel): Don't declare ospeed extern.
5888 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5889
5890 * termcap.c (ospeed): Remove.
5891 (tputs) [!emacs]: Remove unused code.
5892 (tgetent): Avoid a compiler warning.
5893
e83dc917
GM
5894 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5895 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5896 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5897
5898 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5899 removed.
5900 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5901 Take the X display as additional argument.
5902 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5903 `Widget' is a pointer type that's not easily stored in Lisp_Object
5904 form in a portable way.
52283633 5905
6d950f4c
GM
5906 * dispnew.c (update_text_area): Fix last change.
5907
e47306e6
GM
59082000-11-18 Gerd Moellmann <gerd@gnu.org>
5909
fb3cd89b
GM
5910 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5911
5912 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5913 clear current matrices.
5914
edaa9aed
GM
5915 * buffer.c (mmap_enlarge): Don't print a message on stderr
5916 if mapping new memory at the end of the existing region fails.
5917
e47306e6
GM
5918 * dispnew.c (update_text_area): Don't skip over equal glyphs
5919 when the last current glyph overlaps the glyph to its right.
5920
509633e3
MB
59212000-11-18 Miles Bader <miles@gnu.org>
5922
5923 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5924 lines that *end* with "..." too (that's the most common case!).
5925
d392e9c5
GM
59262000-11-18 Gerd Moellmann <gerd@gnu.org>
5927
67988445
GM
5928 * xdisp.c (resize_mini_window): Temporarily change to the
5929 mini-window's buffer if necessary.
1bfdbe43 5930
d392e9c5
GM
5931 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5932 the tooltip obscures less text under it.
5933
59342000-11-17 Gerd Moellmann <gerd@gnu.org>
5935
5936 * puresize.h (BASE_PURESIZE): Increase to 700000.
5937
92bb977f
JR
59382000-11-18 Jason Rumney <jasonr@gnu.org>
5939
5940 * w32term.c (w32_draw_bitmap): Use face to set colors.
5941
26fbf20b
DL
59422000-11-17 Dave Love <fx@gnu.org>
5943
5944 * lread.c (Fload): Fix #ifdef for pcc.
5945
100b593b
GM
59462000-11-17 Gerd Moellmann <gerd@gnu.org>
5947
5948 * xdisp.c (pos_visible_p): Compute the default character height
5949 differently.
5950
a288d0d1
GM
59512000-11-16 Gerd Moellmann <gerd@gnu.org>
5952
cac94de6 5953 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5954 knowing the line's height; use the default font's height in that case.
cac94de6 5955
a288d0d1
GM
5956 * xfaces.c (weight_table): Add `demi' with the same meaning as
5957 `demibold'.
5958
981fb6f6
KH
59592000-11-16 Kenichi Handa <handa@etl.go.jp>
5960
2cca872d 5961 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5962 (clear_glyph_row): Delete local static variable null_row.
5963
e5fa381b
JR
59642000-11-15 Jason Rumney <jasonr@gnu.org>
5965
5966 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5967 (w32_alloc_lighter_color): Use new brightness calculations from
5968 xterm.c. Scale delta to be in the range expected by W32.
5969 (w32_draw_relief_rect): Use frame relief colors.
5970
8e42f043
GM
59712000-11-15 Gerd Moellmann <gerd@gnu.org>
5972
6d133d1f
GM
5973 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5974 (Qinhibit_default_face_x_resources): New variable.
5975 (syms_of_frame): Initialize it.
5976 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5977
5978 * xdisp.c (pos_visible_p): Improve function comment.
5979
5980 * lisp.h (BINDING_STACK_SIZE): New macro.
5981
8e42f043
GM
5982 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5983 reading the directory if readdir returns null and errno is EAGAIN
5984 or EINTR.
5985
e8c87124
SM
59862000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5987
5988 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5989 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5990 Set amount_to_scroll to max of dx and scroll_step so that
5991 scroll-conservatively doesn't defeat scroll-step>1.
5992 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5993 scroll-conservatively for line-at-a-time scrolling.
5994
5f0c971d
GM
59952000-11-14 Gerd Moellmann <gerd@gnu.org>
5996
5997 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5998 extra argument.
5999
6000 * xdisp.c (current_mode_line_height, current_header_line_height):
6001 New variables.
6002 (init_xdisp): Initialize them.
6003 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6004 and use exact mode line heights if it is set.
6005
6006 * lisp.h (pos_visible_p): Change prototype.
6007
6008 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6009 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6010 and current_header_line_height first.
52283633
SM
6011 (current_mode_line_height, current_header_line_height):
6012 Declare extern.
5f0c971d 6013
d7361edf
MB
60142000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6015
6016 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6017 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6018 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6019
ee5e440a
MB
60202000-11-14 Miles Bader <miles@gnu.org>
6021
6022 * xterm.c (x_alloc_lighter_color): Include an additive component
6023 too for dark colors, because FACTOR isn't enough.
6024 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6025 New macros.
6026
5ca020fc
GM
60272000-11-13 Gerd Moellmann <gerd@gnu.org>
6028
6029 * keyboard.c (show_help_echo): Call message3_nolog with number of
6030 bytes in the help string as 2nd parameter, instead of the number
6031 of characters.
6032
9d348294
MB
60332000-11-13 Miles Bader <miles@gnu.org>
6034
6035 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6036 (Fload): Use new openp return protocol.
6037 Don't try to use Vload_source_file_function to load .elc files.
6038 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6039 openp return protocol.
6040 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6041
1729bb9a
KH
60422000-11-11 Kenichi Handa <handa@etl.go.jp>
6043
4e677396
KH
6044 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6045
6046 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6047 Defined these macros.
6048 (NLIST_STRUCT): Avoid re-defining it.
6049
1729bb9a
KH
6050 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6051 -I/usr/contrib/X11R6/include.
6052 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6053
a82fe213
JR
60542000-11-10 Jason Rumney <jasonr@gnu.org>
6055
6056 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6057
6058 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6059 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6060
6061 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6062 (Qw32_charset_vietnamese): New symbol.
6063 (xlfd_charset_of_font): New function.
6064 (w32_load_system_font): Use it.
6065 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6066 when Vw32_charset_info_alist is nil to ensure default face always
6067 has font. Use Fcar and Fcdr for safety.
6068 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6069 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6070 pseudo-codepages for special cases.
6071 (w32_to_x_font): New parameter to allow charset portion to be
6072 specified where there is many to one mapping. Callers changed.
6073 (w32_list_fonts): Avoid listing fonts that won't display.
6074
52d89894
GM
60752000-11-10 Gerd Moellmann <gerd@gnu.org>
6076
6077 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6078 (font_list_1): Renamed from font_list.
6079 (font_list): New function, trying alternative registries from
6080 Vface_alternative_font_registry_alist.
6081 (Finternal_set_alternative_font_registry_alist): New function.
6082 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6083 Vface_alternative_font_registry_alist.
6084 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6085
651cd3da
KR
60862000-11-09 Ken Raeburn <raeburn@gnu.org>
6087
6088 * lisp.h (Flooking_at): Declare.
6089
388ac098
GM
60902000-11-09 Gerd Moellmann <gerd@gnu.org>
6091
778fbc46 6092 * dired.c (directory_files_internal): Fix a braino.
52283633 6093
388ac098
GM
6094 * dired.c (directory_files_internal): Add missing GCPRO's.
6095 Some cleanup.
6096
ecaedde1
GM
60972000-11-08 Gerd Moellmann <gerd@gnu.org>
6098
f7eb32aa
GM
6099 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6100 (resize_mini_window): Return quickly if Vresize_mini_window is
6101 nil. Don't return if Vmax_mini_window_height is nil.
6102
6103 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6104 (syms_of_xdisp): Initialize them.
6105 (resize_mini_window): Act according to the setting of
6106 Vresize_mini_window.
6107 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6108
ecaedde1
GM
6109 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6110 scroll bar widget after configuring it, so that it will appear at
6111 the right position from the start.
6112 (XTredeem_scroll_bar): Cleaned up.
6113
3747ef2c
KH
61142000-11-08 Kenichi Handa <handa@etl.go.jp>
6115
6116 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6117 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6118 division by two.
6119
6120 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6121
03391420
DL
61222000-11-07 Dave Love <fx@gnu.org>
6123
7758f1c1 6124 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6125
6126 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6127
b5de343d
GM
61282000-11-07 Gerd Moellmann <gerd@gnu.org>
6129
acad3c0b
GM
6130 * window.c (Fset_window_configuration): Don't try to preserve
6131 point in the current buffer, if that buffer is displayed in more
6132 than one window.
6133
b5de343d
GM
6134 * xfaces.c (lookup_named_face): If default face isn't realized,
6135 try to realize it. Return -1 if not successful.
6136 (Fx_list_fonts): Handle case that face cannot be determined.
6137 (Fface_font): Likewise.
6138
cdb1fe49
GM
61392000-11-06 Gerd Moellmann <gerd@gnu.org>
6140
6141 * window.c (displayed_window_lines): Detect partially
6142 visible lines at the bottom correctly.
6143
d3a67486
SM
61442000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6145
6146 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6147 when ensuring we don't do visit in indirect buffer.
6148
ff8dd5d5
KH
61492000-11-06 Kenichi Handa <handa@etl.go.jp>
6150
6151 * composite.h (compose_chars_in_text): Add prototype.
6152
6153 * composite.c (Vcomposition_function_table): New variable.
6154 (Qcomposition_function_table): New variable.
6155 (run_composition_function): Call
6156 Vcompose_chars_after_function with three arguments.
6157 (compose_chars_in_text): New function.
6158 (syms_of_composite): Modified the doc-string of
6159 Vcompose_chars_after_function. Declare composition-function-table
6160 as a lisp variable, and initialize it.
6161
6162 * xfns.c (x_encode_text): Suppress producing escape sequences for
6163 composition.
6164
6165 * xselect.c: Include composite.h.
6166 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6167
d1145f85
AI
61682000-11-05 Andrew Innes <andrewi@gnu.org>
6169
6170 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6171
6172 * sysdep.c (read_input_waiting): Remove extraneous argument to
6173 read_socket_hook.
6174
6175 * w32fns.c (Fx_server_version): Include w32_build_number in the
6176 return list.
6177
6178 * w32heap.c (w32_build_number): New variable.
6179 (cache_system_info): Set it.
6180
6181 * w32heap.h (w32_build_number): Add extern.
6182
6183 * emacs.c (syms_of_emacs): Update docstring for
6184 system-configuration, to reflect the actual usage on MS-Windows.
6185
e85ee976
GM
61862000-10-31 Gerd Moellmann <gerd@gnu.org>
6187
26dcb81b
GM
6188 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6189 process idle timers while waiting for another event.
6190
52283633 6191 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6192 the default face are colored.
6193
e85ee976
GM
6194 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6195 window height hasn't changed.
6196
01b220b6
JR
61972000-10-31 Jason Rumney <jasonr@gnu.org>
6198
6199 * w32term.c (x_produce_glyphs): Handle composite characters.
6200 (x_draw_glyph_string_foreground)
6201 (x_draw_composite_glyph_string_foreground): Restore old font.
6202
4e6b7204
MB
62032000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6204
6205 * minibuf.c (read_minibuf): Reset the undo history just before
6206 starting the recursive-edit.
6207
d4358b37
GM
62082000-10-30 Gerd Moellmann <gerd@gnu.org>
6209
563f68f1
GM
6210 * xfaces.c (menu_face_change_count): New variable.
6211 (Finternal_set_lisp_face_attribute): Increment it for changes
6212 of the `menu' face.
6213 (realize_basic_faces): Reflect changes in the `menu' faces
6214 in menu bars.
6215
82e274d1
GM
6216 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6217 dy obtained from the iterator's y-position after moving from
6218 scroll_margin_pos to PT; see comment there.
52283633 6219
0dbf9fd2
GM
6220 * xdisp.c (safe_eval_handler): Call add_to_log.
6221
906b3b14
GM
6222 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6223 is not a symbol or string.
6224
d4358b37
GM
6225 * xdisp.c (echo_area_display): Don't perform a display update from
6226 inside redisplay. The update will happen anyway at the end of
6227 redisplay, and it can confuse redisplay (GC messages while
6228 redisplaying, for instance.)
6229
70c825df
SM
62302000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6231
cf9b4b0b
SM
6232 * xrdb.c (x_load_resources): Use the class name in the defaults.
6233
70c825df
SM
6234 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6235 (regex_compile): Catch bogus \(\1\).
6236
a1d34b1e
GM
62372000-10-30 Gerd Moellmann <gerd@gnu.org>
6238
cae71efe
GM
6239 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6240 RGB values.
52283633 6241
35efe0a1
GM
6242 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6243 we have a color cache, check that the cached color equals the
6244 allocated color. If not, clear the color cache.
6245
1d3baf74
GM
6246 * window.c (displayed_window_lines): Change buffers if necessary.
6247 Fix computation of displayed lines.
6248
a1d34b1e
GM
6249 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6250 update_menu_bindings to DEFVAR_BOOL.
6251
70737ea9
KH
62522000-10-30 Kenichi Handa <handa@etl.go.jp>
6253
70c825df 6254 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6255
fa0cb51d
KH
6256 * puresize.h (BASE_PURESIZE): Increase to 680000.
6257
70737ea9
KH
6258 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6259
0e4c08e8
JR
62602000-10-29 Jason Rumney <jasonr@gnu.org>
6261
6262 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6263
6264 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6265 (w32_cache_char_metrics): Handle possibility that 'x' does not
6266 exist in a BDF font.
6267 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6268
6269 * w32bdf.h (bdffont): Add nchars.
6270
6271 * w32bdf.c (set_bdf_font_info): Set it.
6272 (w32_BDF_TextOut): Swap byte order of double byte characters.
6273 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6274
45b84006
EZ
62752000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6276
6277 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6278 don't override the colors in frame's param_alist, unless they are
6279 unspecified.
6280
6281 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6282 reverse the effect of the highlight flag.
6283
caf9deee
KR
62842000-10-27 Ken Raeburn <raeburn@gnu.org>
6285
6286 * window.h (Fwindow_live_p): Declare.
6287
ae0b9b46
KR
6288 * undo.c (record_delete): Check that last_undo_buffer is really a
6289 buffer before applying XBUFFER to it.
6290
6291 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6292 Faref.
6293
02067692
SM
62942000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6295
6296 * lisp.h (KEYMAPP): New macro.
6297 (get_keymap): Remove.
6298 (get_keymap_1): Rename get_keymap.
6299
6300 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6301
6302 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6303
6304 * xmenu.c (single_submenu): Use KEYMAPP.
6305 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6306 Use KEYMAPP rather than Fkeymapp.
6307
6308 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6309
6310 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6311 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6312 Use KEYMAPP rather than Fkeymapp.
6313 (single_submenu): Use KEYMAPP.
6314 (w32_menu_show, w32_dialog_show): Use TRUE.
6315
6316 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6317
6318 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6319 (Fkeymapp): Use KEYMAPP.
6320 (get_keymap): Rename from get_keymap_1. Remove old def.
6321 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6322 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6323 (Fminor_mode_key_binding): Don't raise an error if the binding
6324 is not a keymap.
6325 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6326 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6327
6328 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6329 Allow Vspecial_event_map to be autoloaded.
6330 (menu_bar_items): Fetch the keymap rather than using keymapp.
6331 (menu_bar_one_keymap): No need to follow func-indirect any more.
6332 (parse_menu_item): get_keymap_1 -> get_keymap.
6333 (tool_bar_items): Fetch the keymap rather than using keymapp.
6334 (read_key_sequence): Use KEYMAPP.
6335
6336 * intervals.c (get_local_map): Use get_keymap rather than following
6337 function-indirections explicitly.
6338
6339 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6340
f9d80af3
JR
63412000-10-27 Jason Rumney <jasonr@gnu.org>
6342
6343 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6344 point, as Windows has oversized fonts.
6345
6346 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6347
a3ba27da
GM
63482000-10-27 Gerd Moellmann <gerd@gnu.org>
6349
6350 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6351 (freehook, reallochook): Handle null pointer arguments.
6352 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6353
aa3b80cc
SM
63542000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6355
6356 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6357 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6358 Giving in to popular pressure to shut up the compiler with casts.
6359
e24e84cc
GM
63602000-10-27 Gerd Moellmann <gerd@gnu.org>
6361
6362 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6363 signed value, and use a default value computed from the font's
6364 maximum descent.
6365
05ea7ef2
MB
63662000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6367
6368 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6369 that specify a negative underline position can still use underlines.
6370
6371 * window.c (Fpos_visible_in_window_p): Make POS default to
6372 WINDOW's point, not the current buffer's point.
6373
0b95284b
DL
63742000-10-26 Dave Love <fx@gnu.org>
6375
6376 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6377 when it's necessary.
6378
6c5b90af
GM
63792000-10-26 Gerd Moellmann <gerd@gnu.org>
6380
8b6d9dc9
GM
6381 * window.c (size_window): Compute size difference from sum of old
6382 child window sizes instead of from parent's size.
6383
6bc92b2e
GM
6384 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6385 Handle obscured lines at the top of the window.
6386
6387 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6388 down after the last error condition check.
6389
6c5b90af
GM
6390 * frame.c (Fdelete_frame): Run delete-frame-hook.
6391
42f92d4d
KH
63922000-10-26 Kenichi Handa <handa@etl.go.jp>
6393
6394 * coding.c (decode_coding): Fix previous change (check also
6395 CODING_MODE_LAST_BLOCK).
6396
d97151cb
SM
63972000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6398
e7efc503
SM
6399 * regex.c: More `unsigned char' -> `re_char' changes.
6400 Also change several `int' into `re_wchar_t'.
6401 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6402 (PUSH_FAILURE_POINTER): Don't cast any more.
6403 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6404 We want GCC to complain, since this piece of code makes
6405 re_match non-reentrant, which *should* be fixed.
6406 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6407 (EXTEND_BUFFER): Use RETALLOC.
6408 (SET_LIST_BIT): Don't cast.
6409 (re_wchar_t): New type.
6410 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6411 that those two functions will always properly return.
6412 (IMMEDIATE_QUIT_CHECK): Cast to void.
6413 (analyse_first): Use recursion rather than an explicit stack.
6414 (re_compile_fastmap): Can't fail anymore.
6415 (re_search_2): Don't check re_compile_fastmap for failure.
6416 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6417 Now also sets the new value (passed in a new argument).
6418 (re_match_2_internal): Use it.
6419 Also, use a new var `reg' of type size_t when looping through regs
6420 rather than reuse the inappropriate `mcnt'.
6421
d97151cb
SM
6422 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6423 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6424 (where_is_internal): Renamed from Fwhere_is_internal.
6425 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6426 (Fwhere_is_internal): New function wrapping where_is_internal.
6427 (where_is_internal_1): Handle the case where we're filling the cache.
6428 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6429
d5789b65
MB
64302000-10-25 Miles Bader <miles@gnu.org>
6431
6432 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6433
4ecda532
GM
64342000-10-25 Gerd Moellmann <gerd@gnu.org>
6435
6436 * window.c (pos_fully_visible_p): Removed.
6437 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6438 if position is visible and/or fully visible.
6439
6440 * lisp.h (pos_visible_p): Add prototype.
6441
6442 * xdisp.c (pos_visible_p): New function.
6443
68c3a137
KH
64442000-10-25 Kenichi Handa <handa@etl.go.jp>
6445
6446 * process.c (send_process): If OBJECT is t, it means that the data
6447 is from C string, but we should encode it. Before calling
6448 setup_raw_text_coding_system, be sure to flush out data by the
6449 previous coding system.
6450
7ae1c032
MB
64512000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6452
ff4dcd4b
MB
6453 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6454 assignment of startpos to prev when startpos == pos.
6455
7ae1c032
MB
6456 * editfns.c (find_field): Set the field stickiness correctly from
6457 overlay fields. Use renamed `text_property_stickiness'.
6458 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6459 Only check text properties, not overlays.
7ae1c032
MB
6460 * textprop.c (get_char_property_and_overlay): New function.
6461 (Fget_char_property): Use it.
6462 * intervals.h (get_char_property_and_overlay): Add declaration.
6463
49801145
SM
64642000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6465
6466 * keymap.c: Use AREF, ASET and ASIZE macros.
6467 (Fmake_sparse_keymap): Docstring fix.
6468 (synkey): Remove.
6469 (shadow_lookup): Move up.
6470 Handle the case where lookup-key returns an integer.
6471 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6472 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6473 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6474 Simplify/rewrite the keymap-finding code.
6475 Add check for command shadowing, using shadow_lookup.
6476
39e776cd
SM
64772000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6478
6479 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6480 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6481 a symbol.
6482
2488aba5
AI
64832000-10-24 Andrew Innes <andrewi@gnu.org>
6484
6485 * dired.c (directory_files_internal_unwind): New function.
6486 (directory_files_internal): Use it to ensure closedir is called
6487 even if expand-file-name or file-attributes throw, eg. because of
6488 a user interrupt. Also enable immediate_quit while calling
6489 re_search, so that matching can be interrupted as well.
6490
b94fdf61
AI
64912000-10-24 Andrew Innes <andrewi@gnu.org>
6492
6493 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6494 NT-Emacs only.
6495 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6496 so that re_search functions only quit when callers expect them to.
6497
64982000-10-24 Kenichi Handa <handa@etl.go.jp>
6499
6500 * regex.c (regex_compile): Change the way of handling a range from
6501 a char less than 256 to a char not less than 256.
6502
1946f901
GM
65032000-10-24 Gerd Moellmann <gerd@gnu.org>
6504
7ae2f10f
GM
6505 * window.c (size_window): Prevent setting window's width or
6506 height to a negative value (esp. with XSETFASTINT).
6507
5dcab13e
GM
6508 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6509 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6510 (protect_malloc_state) [GC_MALLOC_CHECK &&
6511 GC_PROTECT_MALLOC_STATE]: New function.
6512 (PROTECT_MALLOC_STATE): New macro.
6513 (__malloc_initialize, morecore, _malloc_internal)
6514 (_free_internal) _realloc_internal): Use it to make _heapinfo
6515 read-only outside of gmalloc.
6516
63e1b552
GM
6517 * keymap.c: Update copyright.
6518
1946f901
GM
6519 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6520 a symbol.
6521
4fa09beb
GM
65222000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6523
6524 * filelock.c (unlock_all_files): Use unlock_file to expand each
6525 buffer's file_truename before trying remove its lock file.
6526
23afac01
EZ
65272000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6528
6529 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6530 or CRLF, decode EOLs.
6531
04448b95
KH
65322000-10-24 Kenichi Handa <handa@etl.go.jp>
6533
6534 * window.c (Fdisplay_buffer): Fix doc.
6535
3090a5a5
JR
65362000-10-23 Jason Rumney <jasonr@gnu.org>
6537
6538 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6539 ASCII font of default fontset on Windows.
6540
6541 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6542 xterm.c comment below).
6543
6544 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6545
a83fee2c
GM
65462000-10-23 Gerd Moellmann <gerd@gnu.org>
6547
6548 * xterm.c (x_connection_closed): Reset handling_signal.
6549
52283633 6550 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6551
6ffdb539
MB
65522000-10-23 Miles Bader <miles@gnu.org>
6553
6554 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6555 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6556 maintain old behavior.
6557 * minibuf.c (Fminibuffer_complete): Likewise.
6558
7f1c969b
MB
65592000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6560
6561 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6562 that when a font can't be exactly centered, it errs up rather than
6563 down.
6564
23afac01 65652000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6566
52283633 6567 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6568
1a578e9b
AC
65692000-10-23 Andrew Choi <akochoi@i-cable.com>
6570
6571 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6572
6573 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6574 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6575
6576 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6577 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6578 syms_of_search, x_term_init, and init_keyboard before calling
6579 init_window_once. Also, call syms_of_xmenu.
6580
6581 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6582 default fontset to Monaco.
6583
6584 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6585 NewMacWindow and DisposeMacWindow.
6586 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6587 instead of calling NewMacWindow and setting fields of
6588 f->output_data.mac directly. Call init_frame_faces.
6589 (Fdelete_frame) [macintosh]: Remove unused code.
6590 (Fmodify_frame_parameters) [macintosh]: Call
6591 x_set_frame_parameters instead of mac_set_frame_parameters.
6592
6593 * frame.h [macintosh]: Define menu_bar_lines field in struct
6594 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6595
6596 * keyboard.c [macintosh]: Include macterm.h.
6597 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6598 and menu_bar_activate_event type events as for X and NT.
6599 (make_lispy_event) [macintosh]: Construct lisp events of type
6600 MENU_BAR_EVENT as for X and NT.
6601
6602 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6603 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6604 (sys_subshell) [macintosh]: Remove definition entirely.
6605 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6606 Vwindow_system_version here. Remove initialization of
6607 Vx_bitmap_file_path.
6608 (read_input_waiting): Correct the number of parameters passed to
6609 read_socket_hook.
6610 Move all Macintosh functions to mac/mac.c.
6611
6612 * term.c [macintosh]: Include macterm.h.
6613
6614 * window.c [macintosh]: Include macterm.h.
6615
6616 * xdisp.c [macintosh]: Include macterm.h. Declare
6617 set_frame_menubar and pending_menu_activation.
6618 (echo_area_display) [macintosh]: Do not return if terminal frame
6619 is the selected frame.
6620 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6621 Allow only the selected frame to set menu bar.
6622 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6623 calling FRAME_EXTERNAL_MENU_BAR (f).
6624 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6625
6626 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6627 and check_x. Declare XCreateGC. Define x_create_gc and
6628 x_free_gc. Initialize font_sort_order.
6629 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6630 but call x_list_fonts instead of w32_list_fonts.
6631 (Finternal_face_x_get_resource) [macintosh]: Do not call
6632 display_x_get_resource.
6633 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6634 (realize_x_face) [macintosh]: Load the font if it is specified in
6635 ATTRS.
52283633 6636 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6637
1ffbabe3
SM
66382000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6639
6640 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6641 is nil: since we go to the end of submap anyway, we'd end up
6642 setting nil to nil.
6643 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6644 doesn't obey autoload.
6645
bed43f1d
EZ
66462000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6647
1ffbabe3 6648 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6649
ea4233a7
JR
66502000-10-21 Jason Rumney <jasonr@gnu.org>
6651
6652 * w32term.c (w32_cache_char_metrics): Double check that font is
6653 really fixed pitch before trusting tmPitchAndFamily.
6654
f3d3c491
AI
66552000-10-21 Andrew Innes <andrewi@gnu.org>
6656
6657 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6658
6659 * w32term.h: Extern decl for w32_cache_char_metrics.
6660
6661 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6662
6663 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6664 (w32_unload_font): Free per_char array if present.
6665
6666 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6667 cached information in emulated XFontStruct to handle common cases
6668 quickly. Do not allocate XCharStruct for return.
6669 (w32_native_per_char_metric): New function.
6670 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6671 allocating one.
6672 (x_produce_glyphs): Don't get an HDC. Change calls to
6673 w32_per_char_metric to match arg change above. Remove calls to
6674 free results.
6675 (w32_get_glyph_overhangs): Ditto.
6676 (w32_cache_char_metrics): New function.
6677
6678 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6679 ($(BLD)/casefiddle.$(O)): Remove compile command.
6680 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6681 ($(BLD)/dispnew.obj):
6682 ($(BLD)/keyboard.obj):
6683 ($(BLD)/w32inevt.obj):
6684 ($(BLD)/w32bdf.obj):
6685 ($(BLD)/alloc.obj):
6686 ($(BLD)/buffer.obj):
6687 ($(BLD)/editfns.obj):
6688 ($(BLD)/emacs.obj):
6689 ($(BLD)/fileio.obj):
6690 ($(BLD)/fns.obj):
6691 ($(BLD)/indent.obj):
6692 ($(BLD)/insdel.obj):
6693 ($(BLD)/intervals.obj):
6694 ($(BLD)/minibuf.obj):
6695 ($(BLD)/print.obj):
6696 ($(BLD)/scroll.obj):
6697 ($(BLD)/sysdep.obj):
6698 ($(BLD)/textprop.obj):
6699 ($(BLD)/widget.obj):
f3d3c491
AI
6700 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6701 ($(BLD)/term.obj): Add dependency on dispextern.h.
6702
52283633
SM
6703 * makefile.nt ($(BLD)\dispnew.obj):
6704 ($(BLD)\keyboard.obj):
6705 ($(BLD)\w32inevt.obj):
6706 ($(BLD)\w32bdf.obj):
6707 ($(BLD)\alloc.obj):
6708 ($(BLD)\buffer.obj):
6709 ($(BLD)\editfns.obj):
6710 ($(BLD)\emacs.obj):
6711 ($(BLD)\fileio.obj):
6712 ($(BLD)\fns.obj):
6713 ($(BLD)\indent.obj):
6714 ($(BLD)\insdel.obj):
6715 ($(BLD)\intervals.obj):
6716 ($(BLD)\minibuf.obj):
6717 ($(BLD)\print.obj):
6718 ($(BLD)\scroll.obj):
6719 ($(BLD)\sysdep.obj):
6720 ($(BLD)\textprop.obj):
6721 ($(BLD)\widget.obj):
f3d3c491
AI
6722 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6723 ($(BLD)\term.obj): Add dependency on dispextern.h
6724
18ad4821
EZ
67252000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6726
6727 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6728 with an additional argument of Qt.
6729
de54681a
MB
67302000-10-21 Miles Bader <miles@gnu.org>
6731
6732 * window.c (pos_fully_visible_in_window_p): New function.
6733 (Fpos_visible_in_window_p): Add FULLY argument.
6734 Use pos_fully_visible_in_window_p.
6735 (window_scroll_pixel_based, window_scroll_line_based): Update
6736 calls to Fpos_visible_in_window_p.
6737 * lisp.h (Fpos_visible_in_window_p): Update prototype
6738
13c844fb
GM
67392000-10-20 Gerd Moellmann <gerd@gnu.org>
6740
6741 * alloc.c (toplevel): Conditionalize compilation of mem_*
6742 functions differently.
52283633 6743
d9506268
JR
67442000-10-20 Jason Rumney <jasonr@gnu.org>
6745
6746 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6747 mem_init where it used to be. mem_z etc not defined otherwise.
6748
8094989b
GM
67492000-10-20 Gerd Moellmann <gerd@gnu.org>
6750
6751 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6752 GC_MALLOC_CHECK.
6753 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6754 structure definition and related variabled to the top of the file.
6755 Include this code when GC_MALLOC_CHECK is defined.
6756 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6757 register/unregister allocated region.
6758 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6759 which isn't allocated.
6760 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6761 something which is already in use.
6762 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6763 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6764 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6765 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6766
6767 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6768 _malloc_internal instead of malloc.
6769 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6770 of free.
6771
ea456eb4
AI
67722000-10-20 Andrew Innes <andrewi@gnu.org>
6773
6774 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6775 Windows.
6776 (my_strftime) <macro>: Don't use macro arg list when redefining as
6777 _strftime_copytm.
6778 (my_strftime) <function>: Supply 0 as ut argument.
6779
e64c3a75
JR
67802000-10-19 Jason Rumney <jasonr@altavista.net>
6781
6782 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6783 including dispextern.h, as it stops faces from working.
6784
6785 * w32fns.c (Fx_create_frame): Don't bother calling
6786 face-set-after-frame-default since the caller does it for us
6787 anyway. Clean up calls to x_get_arg to be consistent with X.
6788
6789 * w32term.c (x_produce_glyphs): Handle
6790 unibyte_display_via_language_environment correctly.
6791 (w32_draw_box_rect): Fix the calculation of width and height.
6792
6793 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6794 as it has stopped working.
6795 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6796 menu-bar.
6797
17401c97
GM
67982000-10-19 Gerd Moellmann <gerd@gnu.org>
6799
6800 * eval.c (skip_debugger): Prevent a compiler warning.
6801 (Fcondition_case): Likewise.
6802 (Fbacktrace_frame): Use a null interactive spec.
6803
773272d8
KH
68042000-10-19 Kenichi Handa <handa@etl.go.jp>
6805
6806 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6807
a42943e9
GM
68082000-10-18 Gerd Moellmann <gerd@gnu.org>
6809
e50517d9
GM
6810 * strftime.c: Sync with glibc, file version 1.78.
6811 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6812 should no longer be used according to ISO 8601.
6813
9035a35a
GM
6814 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6815 no map for meta_prefix_char, don't try to use it as a keymap.
6816 Instead, if T_OK is non-zero, look up a default binding, if any,
6817 otherwise, if T_OK is zero, return nil.
6818
a42943e9
GM
6819 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6820 (x_to_xcolors, png_load): Use x_query_color.
6821
52283633
SM
6822 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6823 New functions.
a42943e9
GM
6824 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6825 which can be slow.
6826 (x_copy_color, x_alloc_lighter_color): Likewise.
6827
6828 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6829 (x_query_color, x_query_colors): Add prototype.
6830
6831 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6832 check_string_bytes only if not noninteractive, increase count to 50.
6833
00de2987
MB
68342000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6835
6836 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6837 markers correctly.
6838
54918e2b
GM
68392000-10-17 Gerd Moellmann <gerd@gnu.org>
6840
1f0b3fd2
GM
6841 * alloc.c (pure_bytes_used): Renamed from pureptr.
6842 (ALIGN): New macro.
6843 (pure_alloc): New function.
6844 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6845 Use it.
6846 (Fpurecopy): Use PURE_POINTER_P.
6847
68c5d1db
GM
6848 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6849 PT has moved backward.
52283633 6850
9a038881
GM
6851 * xdisp.c (cursor_row_p): Take continued lines into account.
6852
361b097f
GM
6853 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6854 string's size_byte.
6855 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6856 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6857 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6858 string allocated.
6859
54918e2b
GM
6860 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6861 of selective display off while searching for the next line start.
6862
03ed0806
KH
68632000-10-17 Kenichi Handa <handa@etl.go.jp>
6864
6865 * Makefile.in (term.o): Depend on dispextern.h.
6866
7e05cdaf
SM
68672000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6868
6869 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6870
a6801fd1
GM
68712000-10-16 Gerd Moellmann <gerd@gnu.org>
6872
483de32b
GM
6873 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6874 the iterator at the beginning, so that they can be set later on,
6875 for instance in reseat_at_next_visible_line_start, without being
6876 overwritten.
6877
a6801fd1
GM
6878 * xfns.c (pbm_format): Add :foreground and :background keywords.
6879 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6880 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6881
dbf1fcc1
EZ
68822000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6883
6884 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6885
52283633 6886 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6887
6888 * msdos.c (IT_set_face): Compare highlighted face with the default
6889 face, and invert colors if these faces' colors are identical.
6890 (Fmsdos_remember_default_colors): Don't swap foreground and
6891 background colors in initial_colors[].
6892 (IT_set_frame_parameters): Don't swap frame's foreground and
6893 background pixels. If ALIST includes "(reverse . t)", swap
6894 foreground-color and background-color properties in frame's
6895 param_alist. If the original frame's param_alist doesn't specify
6896 the colors, store unspecified-fg and unspecified-bg, reversed if
6897 required.
6898
6899 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6900 the colors are unspecified and reversed, reverse fore- and back-
6901 ground in the returned value.
6902 (Fframe_parameter): Ditto.
6903
b41fe2c3 69042000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6905
3a6b59d9
GM
6906 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6907 get_last_unchanged_at_beg_row.
6908 (find_first_unchanged_at_end_row): Renamed from
6909 get_first_unchanged_at_end_row.
6910 (find_first_unchanged_at_end_row): Convert assertions to
6911 unconditional tests which abort. When looking for a row in
6912 unchanged text, don't go further back than first_text_row.
6913
b41fe2c3
GM
6914 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6915 Don't add in the last line's height when deciding if the new
6916 position is below the scroll margin.
9d1af64f 6917
b41fe2c3 69182000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6919
6920 * editfns.c (Fconstrain_to_field): Check carefully for field
6921 boundaries if either OLD_POS or NEW_POS has a non-nil field
6922 property, even if they're the same.
6923
c412cb7b
KH
69242000-10-16 Kenichi Handa <handa@etl.go.jp>
6925
6926 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6927 height for XFillRectangle.
6928
5586f3eb
SM
69292000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6930
6931 * syntax.c (Fstring_to_syntax): New function extracted from
6932 Fmodify_syntax_entry.
6933 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6934 (skip_chars, Fforward_comment): Remove unused variables.
6935 (syms_of_syntax): Add defsubr for string-to-syntax.
6936 (describe_syntax): Add code for comment and string fences.
6937
db785038
SM
69382000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6939
6940 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6941 Do the meta->esc mapping. Call get_keyelt before returning.
6942 Start scanning from the second element (the first is always `keymap')
6943 to make it easier to detect when we reach a parent map.
6944 Handle the case of inheriting from a symbol whose function is a map.
6945 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6946 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6947 (get_keyelt, Flookup_key): Update call to access_keymap.
6948 Remove the meta->esc mappings.
6949 (define_as_prefix): Delete old disabled code.
6950 (menu_item_p): New function.
6951 (where_is_internal_1): Skip over the few remaining menu items.
6952 * lisp.h (access_keymap): Update prototype.
6953 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6954 Update call to access_keymap.
6955 (follow_key, read_key_sequence): Update calls to access_keymap.
6956 Remove the meta->esc mappings.
6957
cafafe0b
GM
69582000-10-13 Gerd Moellmann <gerd@gnu.org>
6959
a2e2a7f6
GM
6960 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6961 with additional argument.
6962
cafafe0b
GM
6963 * xdisp.c (cursor_row_p): New function.
6964 (try_cursor_movement, display_line): Use it.
52283633 6965
cafafe0b
GM
6966 * xdisp.c (append_space): Also save/restore iterator's current
6967 character and its length.
6968
6969 * xdisp.c (init_from_display_pos): Add an assertion.
6970 (handle_stop): Don't set iterator's add_overlay_start.
6971 (handle_invisible_prop): Likewise.
6972 (load_overlay_strings): If text under an overlay is invisible,
6973 take both before- and after-strings into account when the iterator
6974 is positioned either at the start or at the end of the overlay.
6975 (forward_to_next_line_start): Rewritten.
6976 (reseat_at_next_visible_line_start): Rewritten.
6977 (set_iterator_to_next): Add parameter RESEAT_P.
6978
6979 * dispextern.h (struct it): Remove member add_overlay_start.
6980 (set_iterator_to_next): Change prototype.
6981
c744452b
KH
69822000-10-13 Kenichi Handa <handa@etl.go.jp>
6983
6984 * coding.c (code_convert_region): Be sure to initialize
6985 coding->category_idx.
e4a3f4e1
KH
6986 (decode_coding_string): Set coding->src_multibyte and
6987 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6988 (encode_coding_string): Set coding->src_multibyte and
6989 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6990
321fd26f
SM
69912000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6992
6993 * xfns.c (Fx_create_frame): Don't bother calling
6994 face-set-after-frame-default since the caller does it for us anyway.
6995
76832439
EZ
69962000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6997
6998 * window.c (coordinates_in_window): Fix detection of vertical line
6999 on character terminals.
7000
2483cf58
GM
70012000-10-12 Gerd Moellmann <gerd@gnu.org>
7002
7003 * editfns.c (save_excursion_save): Additionally record the
7004 selected window.
7005 (save_excursion_restore): If buffer was visible in a window, and a
7006 different window was selected, and the old selected window is
7007 still live, restore point in that window.
7008
eb991b25
KH
70092000-10-12 Kenichi Handa <handa@etl.go.jp>
7010
8a0eba09
KH
7011 * xterm.c (x_produce_glyphs): Handle
7012 unibyte_display_via_language_environment correctly.
7013
20401fcc
KH
7014 * regex.c (regex_compile): Change the way of handling a range from
7015 unibyte char to multibyte char.
7016
7017 * syntax.c (skip_chars): Change the way of handling a range from
7018 unibyte char to multibyte char.
7019
eb991b25
KH
7020 * process.c (read_process_output): Cancel previous change.
7021
365dd325
EZ
70222000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7023
c1b096cb
EZ
7024 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7025
365dd325
EZ
7026 * charset.c (Ffind_charset_string): Doc fix.
7027 (Ffind_charset_region): Doc fix.
7028
eb483c2b
KH
70292000-10-11 Kenichi Handa <handa@mule.m17n.org>
7030
7031 * process.c (read_process_output): Fix previous change. Adjust
7032 multibyteness of text to insert in a buffer by
52283633 7033 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7034
b40bfb99
AS
70352000-10-10 Andreas Schwab <schwab@suse.de>
7036
7037 * alloc.c (mark_object): Remove all workarounds installed on
7038 1993-08-08.
7039
caff31d4
KH
70402000-10-10 Kenichi Handa <handa@etl.go.jp>
7041
52283633 7042 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7043 (base64_encode_1): Make it work for a text of multibyte form.
7044 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7045 case. Don't call str_to_multibyte because base64_decode_1
7046 produces correct multibyte form for eight-bit codes.
52283633 7047 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7048 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7049 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7050 codes.
7051
7052 * charset.h (CHAR_STRING): Optimized for single byte characters.
7053
cba026ef
AS
70542000-10-09 Andreas Schwab <schwab@suse.de>
7055
7056 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7057 -1 after socket is closed, to fall through to error processing.
7058
1e21fe48
EZ
70592000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7060
7061 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7062 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7063 background-color, change also the colors of the default face for
7064 this frame.
7065
a640322e
EZ
70662000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7067
7068 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7069 them extern (they are defined on xfaces.c).
7070 (syms_of_msdos): Don't intern and don't staticpro
7071 Qbackground_color and Qforeground_color.
7072
a115794c
EZ
70732000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7074
7075 * frame.c (Fframe_parameter): For non-windowed frames, if
7076 f->param_alist says foreground or background color is unspecified,
7077 call tty_color_name to return the color name computed from the
7078 frame's current colors.
7079
f5533b63
DL
70802000-10-06 Dave Love <fx@gnu.org>
7081
7082 * terminfo.c (ospeed): Don't declare.
7083
7084 * sysdep.c: Don't include string.h.
7085 (h_errno): Declare conditional also on TRY_AGAIN.
7086
7087 * charset.c (Ffind_charset_string): Doc fix.
7088
52283633 7089 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7090 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7091 error messages.
7092
2b06561a
DL
70932000-10-05 Dave Love <fx@gnu.org>
7094
7095 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7096 position like menu-bar.
7097
ca839c85
GM
70982000-10-05 Gerd Moellmann <gerd@gnu.org>
7099
7100 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7101
7102 * xdisp.c (handle_single_display_prop): Use safe_call1.
7103 (safe_call): Renamed from call_function.
7104 (safe_call1): New function.
7105 (handle_fontified_prop): Use safe_call1 instead of call1.
7106 (safe_eval): Renamed from eval_form.
7107 (safe_eval_handler): Renamed from eval_handler.
7108 (handle_single_display_prop, display_mode_element): Use safe_eval
7109 instead of eval_form.
7110
7111 * xfaces.c (merge_face_heights): Use safe_call instead of
7112 call_function.
7113
7114 * keyboard.c (show_help_echo): Use safe_call instead of
7115 call_function; use safe_eval instead of eval_form.
7116
7117 * lisp.h (safe_call): Renamed from call_function.
7118 (safe_eval): Renamed from eval_form.
7119 (safe_call1): Add prototype.
7120
a3489ece
MB
71212000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7122
7123 * xfns.c (image_ascent): Rearrange ascent calculation for the
7124 has-a-font case.
7125
35810b6f
SM
71262000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7127
7128 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7129 (where_is_internal_1): Don't bother ignoring menu-items any more.
7130
3dc78168
GM
71312000-10-04 Gerd Moellmann <gerd@gnu.org>
7132
7133 * keyboard.c (update_menu_bindings): New variable.
7134 (parse_menu_item): Use AREF. If update_menu_bindings
7135 is 0, don't update menu bindings.
7136 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7137
1efc2bb9
EZ
71382000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7139
7140 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7141 to `mark_object'.
7142
3f679f55
SM
71432000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7144
7145 * syntax.c (forw_comment): Match nestedness of ender/starter.
7146 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7147 (prev_char_comstart_first): Remove.
7148 (back_comment): Check two-char comment markers more carefully
7149 to better handle overlapping cases like *//* or /* */* */ ...
7150 Match nestedness of ender/starter.
7151
2021ab61
DL
71522000-10-02 Dave Love <fx@gnu.org>
7153
7154 * config.in (HAVE_GAI_STRERROR): Add undef.
7155
7156 * process.c (Fopen_network_stream): Use it.
7157
7158 * m/alpha.h (NO_REMAP): Don't define.
7159
64e6cc18
GM
71602000-10-02 Gerd Moellmann <gerd@gnu.org>
7161
7162 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7163 return with a string converted to an integer or vice versa when
7164 Vmocklisp_arguments is t.
7165 (Fsignal): Likewise. The function can return for `quit'.
7166 (struct gcpro): Declare member `var' to point to a volatile
7167 Lisp_Object.
7168
7169 * eval.c (error): Prevent compiler warning.
7170
b1904cd9
SM
71712000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7172
7173 * keymap.c (keymap_memberp): New function.
7174 (Fset_keymap_parent): Use it.
7175 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7176 Use keymap_memberp to avoid creating cycles.
7177 (access_keymap): Use KEYMAPP.
7178
71c9ec51
GM
71792000-09-30 Gerd Moellmann <gerd@gnu.org>
7180
7181 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7182 gai_strerror. Make sure xerrno is set if connect fails. Improve
7183 error recovery.
71c9ec51 7184
c70c6b58
JR
71852000-09-29 Jason Rumney <jasonr@gnu.org>
7186
7187 * w32term.c (w32_char_font_type, w32_encode_char)
7188 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7189 (w32_bdf_per_char_metric): New function.
7190 (w32_per_char_metric): Use it.
7191 (x_draw_glyph_string_background): Always draw background for BDF
7192 glyphs.
7193
7194 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7195 GDI object which is a scarce resource.
7196
7197 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7198 (get_quoted_string): Fix limit on memchr search.
7199 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7200 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7201 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7202 (get_cached_font_char, cache_char_offset): Use macro
7203 BDF_CODEPOINT_RANGE_COVER_P.
7204 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7205 (clear_cached_bitmap_slots): New function.
7206 (GET_HEX_VALUE): G-Z, g-z are not hex.
7207 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7208 (get_bitmap_with_cache): Use new cache implementation.
7209 (create_offscreen_bitmap): New function.
7210 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7211
7212 * w32term.c (x_produce_glyphs): If the distance from the current
7213 position to the next tab stop is less than a canonical character
7214 width, use the tab stop after that.
7215 (x_draw_glyphs): Handle case START and END are out of bounds more
7216 carefully.
7217 (x_clear_mouse_face): Block/unblock input.
7218 (x_display_and_set_cursor): Don't show a hollow box cursor for
7219 buffers whose cursor_type is nil.
7220
fe01239f
GM
72212000-09-29 Gerd Moellmann <gerd@gnu.org>
7222
52283633 7223 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7224
7225 * dispextern.h (updating_frame): Declare extern.
7226
e7c52f1f
AS
72272000-09-29 Andreas Schwab <schwab@suse.de>
7228
7229 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7230
de6e1f7c
GM
72312000-09-29 Gerd Moellmann <gerd@gnu.org>
7232
25126faa
GM
7233 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7234 use its function definition.
7235 (tool_bar_items): Likewise.
7236
de6e1f7c 7237 * lisp.h (fatal): Declare NO_RETURN.
52283633 7238
454ee39b
KH
72392000-09-29 Kenichi Handa <handa@etl.go.jp>
7240
7241 * keymap.c: Remove the line "#undef NULL".
7242
96301c5f
GM
72432000-09-28 Gerd Moellmann <gerd@gnu.org>
7244
52283633 7245 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7246
efffeeb4
DL
72472000-09-28 Dave Love <fx@gnu.org>
7248
ecb8b666
DL
7249 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7250
dc3cd20f
DL
7251 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7252
7253 * .gdbinit (xreload): Note its need on GNU/Linux.
7254
efffeeb4
DL
7255 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7256 r_alloc, r_alloc_free.
7257
8610d903
KH
72582000-09-28 Kenichi Handa <handa@etl.go.jp>
7259
7260 * syntax.c (skip_chars): Handle negation correctly.
7261
8901d1ac
GM
72622000-09-27 Gerd Moellmann <gerd@gnu.org>
7263
6f22f1ad
GM
7264 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7265 with non-zero FORCE_P argument.
7266
52283633 7267 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7268 Add assertions.
7269
7270 * xdisp.c (window_box_height): Add an assertion.
7271
7272 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7273 tool-bar than is available.
7274 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7275
36f1966f
DL
72762000-09-27 Dave Love <fx@gnu.org>
7277
efffeeb4 7278 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7279
31d929e5
GM
72802000-09-26 Gerd Moellmann <gerd@gnu.org>
7281
c98863bf
GM
7282 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7283 instead of BITS_PER_INT.
7284 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7285 EMACS_UINT, respectively.
7286 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7287
7288 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7289
7290 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7291
77072ab1
GM
7292 * window.c (freeze_window_starts): Construct last argument for
7293 foreach_window differently.
7294
7295 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7296
7297 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7298 EMACS_UINT instead of `int' and `unsigned int'.
7299 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7300
7301 * frame.h (struct frame): Make the `nothing' member of union
7302 output_data an EMACS_INT.
7303
52283633 7304 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7305 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7306 size in the sdata structure.
7307 (SDATA_NBYTES, SDATA_DATA): New macros.
7308 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7309 differently for the different layout of the sdata structure.
7310 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7311 in sdata.
7312 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7313 Check that size recorded in the string size and size recorded in
7314 the sdata structure agree.
7315
3e60b029
DL
73162000-09-25 Dave Love <fx@gnu.org>
7317
7318 * buffer.c: Include stdio.h.
7319
7320 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7321
3e60b029
DL
7322 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7323
7324 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7325 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7326 (__malloc_extra_blocks): Declare as __malloc_size_t.
7327
8ff16b4e
GM
73282000-09-25 Gerd Moellmann <gerd@gnu.org>
7329
755a2ccd
GM
7330 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7331
d8b4516f
GM
7332 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7333 (read_char): If help-echo is showing, preserve the echo area
7334 when redisplaying.
7335
7336 * xdisp.c (help_echo_showing_p): New variable.
7337 (set_message): Reset it to 0.
7338 (init_xdisp): Initialize help_echo_showing_p.
7339
7340 * dispextern.h (help_echo_showing_p): Declare extern.
7341
7342 * config.in: Fix typo in __GNUC_MINOR__.
7343
7344 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7345
b11af2dd
GM
7346 * s/freebsd.h (POSIX_SIGNALS): Define.
7347
8ff16b4e
GM
7348 * xterm.c (x_clear_mouse_face): Block/unblock input.
7349
844eb643
DL
73502000-09-24 Dave Love <fx@gnu.org>
7351
7352 * fns.c (base64_encode_1): Fix last change.
7353
b30ab1b3
GM
73542000-09-22 Gerd Moellmann <gerd@gnu.org>
7355
7356 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7357
7358 * xdisp.c (try_window_reusing_current_matrix): More fixes
7359 for the case window has a header-line.
7360
c6cbe5f0
DL
73612000-09-22 Dave Love <fx@gnu.org>
7362
4c7c1f3f
DL
7363 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7364 a doc string.
7365
7366 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7367
c6cbe5f0
DL
7368 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7369
550a625e
GM
73702000-09-21 Gerd Moellmann <gerd@gnu.org>
7371
4c7c1f3f 7372 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7373 for GCC >= 2.5.
7374
52283633
SM
7375 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7376 Declare NO_RETURN.
fca99116 7377
80d26f99
GM
7378 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7379 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7380 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7381 warnings.
52283633 7382
80d26f99
GM
7383 * marker.c (byte_char_debug_check): Return void.
7384
623a0aae
GM
7385 * xfns.c (Fx_create_frame): Set default frame parameter value
7386 for tool-bar-lines to 1.
7387
7388 * dispnew.c (scrolling_window): Compare y-positions of rows
7389 equal at the start. Some simplification.
7390
7391 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7392 reused rows' y-position in the case window has a header-line, and
7393 new window start is greater than old window start.
7394
42ac0ae5
GM
7395 * process.c (process_sent_to): New variable.
7396 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7397 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7398 Declare more parameters volatile.
7399
550a625e
GM
7400 * lread.c (Vrecursive_load_depth_limit): New variable.
7401 (Fload): Check recursive loads whose recursion depth exceeds
7402 Vrecursive_load_depth_limit.
7403 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7404
8320414c
GM
74052000-09-20 Gerd Moellmann <gerd@gnu.org>
7406
f46c275e
GM
7407 * fileio.c (Fread_file_name): Doc fix.
7408
7409 * editfns.c (Fmessage_or_box): Doc fix.
7410
7411 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7412
b7e11c5b 7413 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7414
8320414c
GM
7415 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7416 symbols are specified, add color translations to the cache.
52283633 7417 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7418 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7419 xpm_cache_color.
7420 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7421 structures to xpm_init_color_cache.
7422
da1608d9
GM
74232000-09-19 Gerd Moellmann <gerd@gnu.org>
7424
52283633 7425 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7426
6badfa25
AI
74272000-09-19 Andrew Innes <andrewi@gnu.org>
7428
7429 * makefile.nt (bootstrap-emacs): Don't change directory.
7430
3a5f42bb
KH
74312000-09-19 Kenichi Handa <handa@etl.go.jp>
7432
1b7649bd
KH
7433 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7434
3a5f42bb
KH
7435 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7436 If output buffer is too small, signal an appropriated error.
7437
9f83cf0b
DL
74382000-09-18 Dave Love <fx@gnu.org>
7439
52283633 7440 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7441 (current_active_maps): Remove redundant get_local_map call.
7442
28c7826c
GM
74432000-09-18 Gerd Moellmann <gerd@gnu.org>
7444
5cefa566
GM
7445 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7446 cursor for buffers whose cursor_type is nil.
52283633 7447
6fed3546
GM
7448 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7449 a feature to implement that is already implemented.
7450 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7451 warnings.
7452
7453 * xfns.c (x_clear_image_1): New function.
7454 (x_clear_image): Use it.
52283633 7455 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7456
05b1f851
GM
7457 * dispnew.c (update_window): Move test for invisible lines
7458 at the top to update_window_line.
7459 (update_window_line): Handle invisible lines here.
7460
f4779de9
GM
7461 * xfns.c (clear_image_cache): Clear current matrices of all
7462 frames sharing an image cache. Block input while freeing
7463 images. Fix timestamp comparison.
7464 (x_clear_image): Also free the mask.
7465
28c7826c
GM
7466 * xfns.c (lookup_image): Block input while loading the image so
7467 that we won't get interrupted in a state where the image isn't yet
7468 set up completely.
7469 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7470 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7471 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7472 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7473
b7412313
GM
74742000-09-16 Gerd Moellmann <gerd@gnu.org>
7475
7476 * dispnew.c (update_window): Make sure to make desired rows
7477 current even if they are completely invisible at the top
7478 of a window.
7479
47e351a3
GM
74802000-09-15 Gerd Moellmann <gerd@gnu.org>
7481
7f8f1edc
GM
7482 * xfns.c (lookup_image): Build mask before applying an algorithm.
7483 Recognize algorithm `disabled'.
7484 (cross_disabled_images): New variable.
7485 (COLOR_INTENSITY): New macro.
7486 (x_detect_edges): Use COLOR_INTENSITY.
7487 (x_disable_image): New function.
7488 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7489
7490 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7491 disabled state, don't apply an image transformation algorithm if
7492 the user specified an image for the disabled state. Use
28c7826c 7493 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7494 user hasn't specified an image.
7495
ebb8f116
GM
7496 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7497 allocation functions with the XPM lib.
7498 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7499 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7500 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7501 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7502 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7503 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7504 functions, if possible, because these handle color allocation
7505 failure more gracefully.
7506 (Fimage_mask_p): New function.
7507
47e351a3
GM
7508 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7509 (Qedge_detection, Qheuristic): New symbols.
7510 (syms_of_xfns): Initialize new symbols.
7511 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7512 `algorithm (edge-detection ...)'.
7513 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7514 (tiff_format, gif_format, gs_format): Add `:mask'.
7515 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7516 (GIF_MASK, GS_MASK): New enumerators.
7517 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7518 (emboss_matrix, laplace_matrix): New variables.
7519 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7520 (x_edge_detection): New functions.
7521 (x_laplace): Rewritten in terms of x_detect_edges.
7522 (x_build_heuristic_mask): If image has a mask, free it.
7523
fe83b953
AI
75242000-09-14 Andrew Innes <andrewi@gnu.org>
7525
7526 * makefile.w32-in: Revert to Unix line endings.
7527
3021e816
AI
75282000-09-14 Andrew Innes <andrewi@gnu.org>
7529
7530 * makefile.w32-in: Standardize indentation somewhat.
7531 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7532 cater for differences between shells.
7533
7534 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7535
2a32b5ea
GM
75362000-09-14 Gerd Moellmann <gerd@gnu.org>
7537
7538 * xterm.c (x_produce_glyphs): If the distance from the current
7539 position to the next tab stop is less than a canonical character
7540 width, use the tab stop after that.
7541
b4331e96
DL
75422000-09-14 Dave Love <fx@gnu.org>
7543
7544 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7545
ef9e4345
GM
75462000-09-14 Gerd Moellmann <gerd@gnu.org>
7547
085536c2
GM
7548 * xdisp.c (handle_fontified_prop): While running fontification
7549 functions, bind `fontification-functions' and
7550 `after-change-functions' to nil.
7551
ef9e4345
GM
7552 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7553 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7554
7555 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7556
7557 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7558 USE_MMAP_FOR_BUFFERS.
7559
7560 * insdel.c (make_gap): Use enlarge_buffer_text.
7561
7562 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7563 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7564 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7565 from former r_alloc_* functions in ralloc.c.
52283633 7566 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7567 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7568 (mmap_init) [REL_ALLOC_MMAP]: New function.
7569 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7570 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7571 BUFFER_FREE.
7572
7573 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7574 (enlarge_buffer_text): Add prototype.
7575
7576 * ralloc.c: Remove everything having to do with the use of mmap.
7577
f8608968
GM
75782000-09-13 Gerd Moellmann <gerd@gnu.org>
7579
2a494b2d
GM
7580 * sound.c (Fplay_sound): Doc fix.
7581
8c907a56
GM
7582 * keyboard.c: Avoid some more compiler warnings.
7583 (parse_tool_bar_item): Ignore cached key bindings.
7584
f8608968
GM
7585 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7586 and allocation of Lisp data.
7587
6ab70e9a
GM
75882000-09-12 Gerd Moellmann <gerd@gnu.org>
7589
d12d0a9b
GM
7590 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7591 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7592 defaults first.
7593
6ab70e9a
GM
7594 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7595
63c36c3c
KH
75962000-09-12 Miyashita Hisashi <himi@meadowy.org>
7597
7598 * ccl.c: Comment fixed.
7599 (MAX_MAP_SET_LEVEL): Increased to 30.
7600 (PUSH_MAPPING_STACK): Enclose with do-while block.
7601 (POP_MAPPING_STACK): Likewise.
7602 (stack_idx_of_map_multiple): New variable.
7603 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7604 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7605 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7606 (ccl_driver) <CCL_MapSingle>: Likewise.
7607 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7608 with the case where looking up process reaches to the end of
7609 map-set, and call CCL programs as the above change.
7610
7ee3bd7b
GM
76112000-09-11 Gerd Moellmann <gerd@gnu.org>
7612
8ec8a5ec
GM
7613 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7614 that might be clobbered by longjmp.
7615 (check_x_display_info, x_decode_color, create_frame_xic)
7616 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7617 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7618
f74b0705
GM
7619 * lread.c (init_lread): Set Vloads_in_progress to nil.
7620 (Fload): Show list of recursively loaded files, when signaling an
7621 error.
7622
7ee3bd7b
GM
7623 * lread.c (Vloads_in_progress): New variable.
7624 (record_load_unwind): New function.
7625 (Fload): Check for recursive loads.
7626 (syms_of_lread): Initialize Vloads_in_progress.
7627 (read_integer, read1): Avoid some compiler warnings.
7628
7629 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7630 compiler warnings.
7631
974e1e5b
MB
76322000-09-11 Miles Bader <miles@gnu.org>
7633
7634 * editfns.c (Fbuffer_string): Doc fix.
7635
9824c4e3
GM
76362000-09-10 Gerd Moellmann <gerd@gnu.org>
7637
7638 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7639
6a72fdd1
KR
76402000-09-09 Ken Raeburn <raeburn@gnu.org>
7641
7642 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7643 whether to include other header files.
7644
28e6fb66
GM
76452000-09-09 Gerd Moellmann <gerd@gnu.org>
7646
52283633 7647 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7648 by Fmemq as a boolean.
28e6fb66 7649
7f8b6551
SM
76502000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7651
7652 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7653
a8710abf
GM
76542000-09-08 Gerd Moellmann <gerd@gnu.org>
7655
d1a02881
GM
7656 * ralloc.c (mmap_fd): Remove initializer which can make it
7657 read-only in a dumped Emacs.
7658 (mmap_fd_1): New variable.
7659 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7660 restore it from there.
7661 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7662 unconditionally so that mmap_fd can be initialized there.
7663 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7664 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7665 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7666
c454aac1
GM
7667 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7668
7669 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7670 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7671
fc653ef2
GM
7672 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7673
3015eec0
GM
7674 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7675 inheritance.
7676
bfe0ee88
GM
7677 * xdisp.c (try_window_id): When trying to locate cursor in
7678 unchanged rows at the top, handle the case that we can't find it.
7679
a8710abf
GM
7680 * xterm.c (x_draw_glyphs): Handle case START and END are out
7681 of bounds more carefully.
7682
6b7d4ae4
DL
76832000-09-08 Dave Love <fx@gnu.org>
7684
423193c5
DL
7685 * s/sol2.h (REL_ALLOC_MMAP): Define.
7686 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7687
7688 * ralloc.c: Don't include string.h (redundant).
7689 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7690 [!MAP_ANON]: Include fcntl.h.
7691 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7692 (r_alloc, r_re_alloc, r_alloc_free)
7693 (mmap_enlarge, mmap_set_vars): Use it.
7694 (r_alloc_init_fd): New function.
7695 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7696 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7697 malloc type.
7698
7699 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7700 Remove vm-limit.o.
7701
6b7d4ae4
DL
7702 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7703 change to __NetBSD__.
7704
44d31981
KH
77052000-09-08 Kenichi Handa <handa@etl.go.jp>
7706
7707 * search.c (compile_pattern): Check the multibyteness of cached
7708 string and PATTERN.
7709
aad40737
MB
77102000-09-08 Miles Bader <miles@gnu.org>
7711
7712 * xfaces.c (default_face_vector): Function removed.
7713 (Finternal_merge_in_global_face): Restore old global/local
7714 attribute override order. Use inline loop instead of calling
7715 default_face_vector.
7716
91a211b5
GM
77172000-09-07 Gerd Moellmann <gerd@gnu.org>
7718
7719 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7720 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7721 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7722 where necessary, in case POINTER_TYPE is `void'.
7723
03419440
EZ
77242000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7725
7726 * frame.c (make_terminal_frame): Initialize frame foreground and
7727 background colors to unspecified, for the initial instance of an
7728 MSDOS frame.
7729
f46f845b
GM
77302000-09-07 Gerd Moellmann <gerd@gnu.org>
7731
24f76fbf
GM
7732 * ralloc.c (mmap_find): Fix overlap computation.
7733 (mmap_enlarge): Compute nbytes before trying to find an
7734 overlapping region.
7735
f46f845b
GM
7736 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7737 instead of `!='.
7738
7739 * lread.c (syms_of_lread): Change value of regexp
7740 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7741
7742 * xmenu.c (xdialog_show): When looking up the selection in
7743 menu_items, take `quote' boundaries into account; this corresponds
7744 to a nil ITEM in x-popup-dialog.
7745
3c014385
KH
77462000-09-07 Kenichi Handa <handa@etl.go.jp>
7747
fd6f711b
KH
7748 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7749 not 0x81.
7750 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7751
3c014385 7752 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7753 encoding, not decoding. Fix the handling of latin-jisx0201.
7754 Check for the charset katakana-jisx0201 too.
3c014385 7755 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7756 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7757
0da3ecef
GM
77582000-09-07 Gerd Moellmann <gerd@gnu.org>
7759
ab0ee409
GM
7760 * xfaces.c (Vparam_value_alist): New variable.
7761 (syms_of_xfaces): Initialize it.
7762 (Finternal_set_lisp_face_attribute): Avoid more consing.
7763
7764 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7765 specially.
7766 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7767 (Qbackground_mode): New variable.
7768 (syms_of_frame_1): Initialize Qbackground_mode.
7769
7770 * lisp.h (Qdisplay): Declare extern.
1091dd67 7771
0da3ecef
GM
7772 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7773 change face on all frames, and change the default for new frames.
7774
b14654b9
DL
77752000-09-07 Dave Love <fx@gnu.org>
7776
7777 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7778
d24fd56f
KH
77792000-09-07 Kenichi Handa <handa@etl.go.jp>
7780
794f3670
KH
7781 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7782
0fddd0dc
KH
7783 * charset.c: Include composite.h
7784 (lisp_string_width): New function.
7785 (Fstring_width): Call lisp_string_width instead of strwidth.
7786
7787 * Makefile.in (charset.o): Depends on composite.h.
7788
d24fd56f
KH
7789 * process.c (read_process_output): Before inserting the decoded
7790 text in the buffer, adjust the multibyteness.
7791
fa0b693c
GM
77922000-09-06 Gerd Moellmann <gerd@gnu.org>
7793
52283633 7794 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7795 buffer's text buffer is null, map new memory.
7796
0a58f946
GM
7797 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7798 POINTER_TYPE and size_t.
7799 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7800 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7801 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7802 [REL_ALLOC_MMAP]: New macros.
7803 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7804 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7805 [REL_ALLOC_MMAP]: New functions.
7806
7807 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7808 before and after unexec.
7809
7810 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7811 text buffers if necessary.
7812
7813 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7814 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7815 in prototypes.
7816
fa0b693c
GM
7817 * config.in (HAVE_MMAP): Add #undef.
7818
877055f6
GM
78192000-09-05 Gerd Moellmann <gerd@gnu.org>
7820
08ba3862
GM
7821 * frame.c (Qdisplay_type): New variable.
7822 (syms_of_frame_1): Initialize it.
7823 (Fframe_parameter): New function that avoids consing.
7824 (syms_of_frame): Defsubr it.
7825
66ffe51c
GM
7826 * buffer.c (Fother_buffer): Consider buffers as invisible when
7827 they are displayed in a window on an invisible frame.
7828
877055f6
GM
7829 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7830 get-largest-window always return nil.
7831
bb970e67
GM
78322000-09-04 Gerd Moellmann <gerd@gnu.org>
7833
7834 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7835 variable; recognize Emacs 19 elc files.
7836
7a3d0e0e
MB
78372000-09-04 Miles Bader <miles@gnu.org>
7838
7839 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7840 before initially popping up the menu, so the menu doesn't flash
52283633 7841 when the face settings are significantly different from the defaults.
7a3d0e0e 7842
14473664
SM
78432000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7844
7845 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7846 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7847 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7848 (BIT_UNIBYTE): Remove.
7849 (re_match_2_internal): Delete corresponding code and streamline the
7850 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7851 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7852 (re_wctype_t): New type.
7853 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7854 (regex_compile): Use them and fix handling of overly long char classes.
7855
c1174479
AI
78562000-09-03 Andrew Innes <andrewi@gnu.org>
7857
f8803e97
AI
7858 * makefile.w32-in: Change to DOS line endings.
7859
c1174479
AI
7860 * s/ms-w32.h (ORDINARY_LINK): New define.
7861
7862 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7863 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7864
7865 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7866 (distclean): Delete them here instead.
7867
44ef7cf6
AI
7868 * w32proc.c (compare_env): Convert to uppercase for comparison,
7869 not lowercase, to match how the native Windows shell works.
7870
49b3bd82
JR
78712000-09-03 Jason Rumney <jasonr@gnu.org>
7872
7873 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7874 CVS changes the line-ends when checking in/out on DOS/Windows.
7875
7876 * makefile.nt (emacs): Do not change directory to run temacs, as
7877 the load-path is set relative to current directory.
7878
a3d35a39
MB
78792000-09-03 Miles Bader <miles@gnu.org>
7880
7881 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7882
d276b0cf
GM
78832000-09-02 Gerd Moellmann <gerd@gnu.org>
7884
715e84c9
GM
7885 * xdisp.c (redisplay_mode_lines): New function.
7886 (display_mode_lines): Return number of mode lines displayed.
7887 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7888 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7889
8892f40b
GM
7890 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7891 string.h and strings.h.
7892 (index) [HAVE_INDEX]: Add prototype.
7893
d276b0cf
GM
7894 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7895 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7896
7897 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7898 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7899
38404229
GM
79002000-09-01 Gerd Moellmann <gerd@gnu.org>
7901
7902 * lread.c (read1): Accept `?' as symbol constituent, for
7903 compatiblity with XEmacs.
7904
c0f9ea08
SM
79052000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7906
7907 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7908 (struct re_pattern_buffer): Remove newline_anchor.
7909 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7910 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7911 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7912 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7913 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7914 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7915 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7916 Get rid of references to newline_anchor.
7917 (regcomp): Allocate and precompute a fastmap.
7918
8c0f83fe
GM
79192000-08-31 Gerd Moellmann <gerd@gnu.org>
7920
7921 * lread.c (openp): GCPRO local variable `filename'.
7922
4bb91c68
SM
79232000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7924
7925 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7926
7927 * regex.c: Merge some changes from GNU libc. Add prototypes.
7928 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7929 Use memcmp and memcpy instead of bcopy and bcmp.
7930 (init_syntax_once): Use ISALNUM.
7931 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7932 (REG_UNSET_VALUE): Remove. Use NULL instead.
7933 (REG_UNSET, re_match_2_internal): Use NULL.
7934 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7935 New macros.
7936 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7937 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7938 (regex_compile): In handle_interval, return an error rather than try to
7939 unfetch the interval if we can't find the closing brace.
7940 Obey the RE_NO_GNU_OPS syntax bit.
7941 (TOLOWER): New macro.
7942 (regcomp): Use it.
7943 (regexec): Allocate regs.start and regs.end as one block.
7944
5226a931
GM
79452000-08-30 Gerd Moellmann <gerd@gnu.org>
7946
868dd24b
GM
7947 * xdisp.c (echo_area_display): Check display_completed instead
7948 of calling detect_input_pending.
7949
7950 * dispnew.c (update_frame): Only set display_completed here; move
7951 the update_begin and update_end calls here from update_frame_1.
7952 (update_frame_1): Don't set display_completed here, don't call
7953 update_begin/update_end.
7954
5226a931
GM
7955 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7956 instead of store_frame_param.
7957
2a8bd25f
GM
79582000-08-29 Gerd Moellmann <gerd@gnu.org>
7959
7960 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7961 desired window matrix hasn't been displayed, use the current row
7962 instead. Make sure that only those frame rows are updated for
7963 which there exists a corresponding enabled desired row.
52283633 7964
ba3478d9
MB
79652000-08-29 Miles Bader <miles@gnu.org>
7966
7967 * xfaces.c (default_face_vector): New function.
7968 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7969
87d0f685
GM
79702000-08-29 Gerd Moellmann <gerd@gnu.org>
7971
7972 * lread.c (openp): Prevent temporary string passed to
7973 Ffile_readable_p from being garbage collected.
7974
6fa86045
DL
79752000-08-28 Dave Love <fx@gnu.org>
7976
7977 * keymap.c (store_in_keymap): Add `static' to declaration.
7978
bb17930d
GM
79792000-08-28 Gerd Moellmann <gerd@gnu.org>
7980
7981 * emacs.c, callint.c, doc.c, editfns.c
7982 (toplevel) [HAVE_STRING_H]: Include string.h.
7983 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7984 (index): Remove prototypes which might conflict with non-standard
7985 definitions of index/strchr.
7986
7987 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7988 (rindex): Define only if !HAVE_RINDEX.
7989
7990 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7991
7992 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7993
87188200
MB
79942000-08-28 Miles Bader <miles@gnu.org>
7995
7996 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7997 made inconsistent by a font-related attribute in FROM.
7998 (merge_face_inheritance): Add function comment.
7999
41a68aef
KH
80002000-08-28 Kenichi Handa <handa@etl.go.jp>
8001
8002 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8003 the 4th arg (PREV_EVENT) Qt to suppress input method.
8004
f7c436c1
SM
80052000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8006
0b32bf0e
SM
8007 * regex.c: Indent cpp directives and remove parens after `defined'.
8008 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8009 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8010 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8011 (re_compile_pattern): Use size_t for length.
8012 (init_syntax_once): Move to a better place.
8013 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8014 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8015
f7c436c1
SM
8016 * syntax.c (back_comment): Detect cases where a comment-starter is
8017 actually inside another comment as in: /* a // b */ c // d \n.
8018 Make it clear that `comstart_pos' is unused for nested comments.
8019
8020 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8021 (KEYMAPP): New macro.
8022 (Fkeymap_parent, Fset_keymap_parent): Use it.
8023 (fix_submap_inheritance): Mark it static.
8024 (define_as_prefix, describe_buffer_bindings, describe_command)
8025 (describe_translation, describe_map): Complete prototypes.
8026
8027 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8028
8029 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8030 to better match the key-lookup behavior.
8031
6288c62f
GM
80322000-08-27 Gerd Moellmann <gerd@gnu.org>
8033
8034 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8035 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8036
e931344e
EZ
80372000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8038
8039 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8040 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8041 (xterm.o): Depend on coding.h
8042
d10dfeef
KH
80432000-08-26 Kenichi Handa <handa@etl.go.jp>
8044
8045 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8046 the corresponding '#endif'.
8047
2d73e8d3
MB
80482000-08-26 Miles Bader <miles@gnu.org>
8049
8050 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8051 * xfaces.c (QCinherit): New variable.
8052 (syms_of_xfaces): Initialize it.
8053 (LFACE_INHERIT): New macro.
8054 (Finternal_get_lisp_face_attribute)
52283633 8055 (merge_face_vector_with_property)
2d73e8d3
MB
8056 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8057 (check_lface_attrs): Allow new types of face height. Check
8058 inherit attribute.
8059 (CYCLE_CHECK): New macro.
8060 (merge_face_inheritance): New function.
8061 (merge_face_vectors): Merge inherited faces too. Add F and
8062 CYCLE_CHECK arguments.
8063 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8064 (lookup_named_face, lookup_derived_face, realize_named_face)
8065 (face_at_string_position, face_at_buffer_position): Supply
8066 new F and CYCLE_CHECK arguments to merge_face_vectors.
8067 (merge_face_heights): New function.
52283633 8068 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8069 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8070 handle relative face heights.
8071 (lface_same_font_attributes_p): Compare heights using EQ.
8072
6ce974d4
KH
80732000-08-26 Kenichi Handa <handa@etl.go.jp>
8074
8075 * charset.c (char_to_string): Check the character validity.
52283633 8076 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8077
dc1e502d
SM
80782000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8079
8080 * regex.c (PUSH_FAILURE_COUNT): New macro.
8081 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8082 Handle popping of a register's or a counter's data.
8083 (POP_FAILURE_POINT): Use the new name.
8084 (re_match_2_internal): Push counter data on the stack for succeed_n,
8085 jump_n and set_number_at and remove misleading dead code in succeed_n.
8086
bd9d0f3f
GM
80872000-08-25 Gerd Moellmann <gerd@gnu.org>
8088
8089 * xdisp.c (redisplay_internal): If considering all windows on all
8090 frames, update the display for each frame as soon as possible,
8091 instead of first building all desired matrices for all frames, and
8092 then updating them all.
8093 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8094
aa5b8e15
GM
80952000-08-24 Gerd Moellmann <gerd@gnu.org>
8096
17494071
GM
8097 * bytecode.c (mark_byte_stack): Add a comment.
8098
52283633
SM
8099 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8100 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8101 a graphical frame.
8102
c543db81
KH
81032000-08-24 Kenichi Handa <handa@etl.go.jp>
8104
d246d5f5
KH
8105 * minibuf.c (do_completion): Always use compare-string, not
8106 string-equal because the latter doesn't pay attention to
8107 multibyteness of strings.
8108
c543db81
KH
8109 * process.c (create_process): Don't setup raw-text coding here.
8110 (Fopen_network_stream): Don't set coding->src_multibyte and
8111 coding->dst_multibyte here.
8112 (read_process_output): For process filter, return unibyte string
8113 if default-enable-multibyte-characters is nil.
8114 (send_process): If OBJECT is multibyte text, be sure to encoded it
8115 by the specified coding system for the process. Otherwise, setup
8116 raw-text coding.
52283633 8117 (init_process): Don't initialize default-process-coding-system here.
c543db81 8118
9b47cfe0
EZ
81192000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8120
8121 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8122 <scroll-down-aggressively>: Likewise.
8123
f5a36960
KH
81242000-08-23 Kenichi Handa <handa@etl.go.jp>
8125
8126 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8127 zero. Set coding->produced_char correctly.
8128
69a7ffa7
AI
81292000-08-22 Andrew Innes <andrewi@gnu.org>
8130
8131 * makefile.w32-in: New file.
8132
8133 * unexw32.c (unexec): Ignore old_name, and use the actual location
8134 of the current executable instead. Base new_name on this.
8135
8136 * w32proc.c (create_child): Remove reference to security
8137 descriptor, which isn't needed and doesn't compile with mingw32.
8138
8139 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8140 up dllimport attributes.
8141 (x_update_window_end): Update prototype.
8142
8143 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8144 extern, which screws up dllimport attributes.
8145
8146 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8147 up dllimport attributes.
8148
8149 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8150 screws up dllimport attributes.
8151
8152 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8153 up dllimport attributes.
8154 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8155 screws up dllimport attributes.
8156
8157 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8158 up dllimport attributes.
8159
8160 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8161 screws up dllimport attributes.
8162
8163 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8164 screws up dllimport attributes.
8165
8166 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8167 up dllimport attributes.
8168
8169 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8170 unnecessary extern, which screws up dllimport attributes.
8171 (main): Ditto.
8172
8173 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8174 up dllimport attributes.
8175
8176 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8177 unnecessary extern, which screws up dllimport attributes.
8178
8179 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8180 screws up dllimport attributes.
8181
8182 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8183 up dllimport attributes.
8184
8185 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8186
52283633
SM
8187 * w32bdf.c (search_file_line):
8188 (set_bdf_font_info):
8189 (seek_char):
8190 (w32_get_bdf_glyph):
69a7ffa7
AI
8191 (w32_BDF_to_x_font): Fix compile warnings.
8192
52283633 8193 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8194
8195 * w32select.c: Include keyboard.h before frame.h.
8196
8197 * w32fns.c (max): Define macro.
8198 (JOHAB_CHARSET): Define if not known.
8199 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8200 (Fx_show_tip): Synch with X version.
8201
8202 * w32xfns.c: Include keyboard.h before frame.h.
8203
8204 * w32fns.c: Include keyboard.h before frame.h.
8205
8206 * w32term.c: Include keyboard.h before frame.h.
8207
8208 * fontset.c: Include keyboard.h before frame.h.
8209
8210 * w32inevt.c: Include keyboard.h before frame.h.
8211 (MOUSE_MOVED): Define if not known.
8212
8213 * minibuf.c: Include keyboard.h before frame.h.
8214
8215 * keyboard.c: Include keyboard.h before frame.h.
8216
8217 * indent.c: Include keyboard.h before frame.h.
8218
8219 * dispnew.c: Include keyboard.h before frame.h.
8220
8221 * buffer.c: Include keyboard.h before frame.h.
8222
8223 * alloc.c: Include keyboard.h before frame.h.
8224
8225 * print.c: Include keyboard.h before frame.h.
8226
8227 * process.c: Include keyboard.h before frame.h.
8228
8229 * scroll.c: Include keyboard.h before frame.h.
8230
8231 * sysdep.c: Include keyboard.h before frame.h.
8232
8233 * term.c: Include keyboard.h before frame.h.
8234
8235 * window.c: Include keyboard.h before frame.h.
8236
8237 * xdisp.c: Include keyboard.h before frame.h.
8238 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8239
8240 * frame.c: Include keyboard.h before frame.h.
8241
8242 * w32heap.h: Undefine min, max.
8243
8244 * w32gui.h: Undefine min, max.
8245
8246 * unexw32.c: Change PUCHAR to PCHAR.
8247 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8248 (relocate_offset):
8249 (get_section_info):
69a7ffa7
AI
8250 (copy_executable_and_dump_data): Remove unnecessary static defs.
8251 (copy_executable_and_dump_data): Fix compile warnings.
8252
8253 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8254
8255 * w32console.c (min): Define macro.
8256 (clear_frame, write_glyphs): Fix compile warning.
8257
52283633 8258 * w32proc.c (compare_env):
69a7ffa7
AI
8259 (find_child_console): Fix compile warning.
8260
8261 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8262 sys_errlist instead of _sys_errlist.
8263 (get_emacs_configuration_options): New function.
8264
8265 * s/ms-w32.h (sys_nerr): Provide default definition.
8266 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8267 name with _ prepended.
8268 (NSIG): Define if not known.
8269 (get_emacs_configuration): Provide extern declaration.
8270 (get_emacs_configuration_options): Provide extern declaration.
8271 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8272
8273 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8274 (map_w32_filename):
69a7ffa7
AI
8275 (read_unc_volume): Fix compile warning.
8276
8277 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8278 definitions from being used.
8279
8280 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8281
52283633 8282 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8283 (open_unc_volume): Make arg const.
8284
8285 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8286 (read_input_waiting): Remove excess parameter.
8287
8288 * w32.c (init_environment): Call _access.
8289 (check_windows_init_file): Call _close.
8290 (init_user_info): Call _putenv.
8291 (init_environment): Call _putenv and _strdup.
8292 (init_ntproc): Reset volume info cache on startup.
8293
8294 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8295 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8296 cannot override the CRT malloc.
8297
8298 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8299 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8300
8301 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8302 unless we are linking with a static CRT.
8303 (RVA_TO_PTR): Cast result to unsigned char*.
8304
8305 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8306 (add_volume_info): Use xstrdup.
8307
25060080
SM
83082000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8309
8310 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8311 (do_completion, Fminibuffer_complete_word): Use it.
8312 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8313 var so it can take non-boolean values.
8314
6917e6bb
GM
83152000-08-21 Gerd Moellmann <gerd@gnu.org>
8316
acb7cc89 8317 * editfns.c (find_field): Formatting changes.
52283633 8318 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8319 changed to prototypes, some new protypes added, some functions
8320 made static.
8321
8322 * lisp.h (set_time_zone_rule): Add prototype.
8323 (use_dialog_box): External declaration.
8324
0bbfdc25
GM
8325 * keyboard.c (gen_help_event): Add parameter SIZE.
8326 (kbd_buffer_events_waiting): Slightly rewritten.
8327 (clear_event): New function.
8328 (kbd_buffer_get_event): Use it, and clear the input_events of
8329 HELP_EVENTs.
8330 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8331 don't fill the newly created array with nils.
8332 (toplevel): Convert some old-style function forward declarations
8333 to prototypes.
8334
8335 * keyboard.h (gen_help_event): Change prototype.
8336
8337 * xterm.c (XTread_socket): Change calls to gen_help_event.
8338
8339 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8340
6917e6bb
GM
8341 * eval.c (Fmacroexpand): Doc fix.
8342
e5cd3d11
JR
83432000-08-20 Jason Rumney <jasonr@gnu.org>
8344
8345 * w32term.h (x_display_info_for_display): Remove as this function
8346 does not exist on W32.
8347
8348 * w32term.c (help_echo_window): New variable.
8349 (syms_of_w32term): staticpro it.
8350 (note_mode_line_highlight): Set it.
8351 (XTextExtents16): Removed as there is no equivalent on W32.
8352 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8353 the X way of doing this will not work for W32.
8354 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8355 (x_draw_image_foreground): Avoid drawing outside of the clip area
8356 when image doesn't have a mask.
8357 (note_mouse_highlight): Process overlays in the right order of
8358 priority. Set help_echo_window.
8359 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8360 because that's more visible for large images.
8361
8362 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8363 name to single_keymap_panes.
8364 (w32_menu_show): Set wv->title when dealing with titles.
8365 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8366
6e69ab8c
MB
83672000-08-21 Miles Bader <miles@gnu.org>
8368
8369 * minibuf.c (do_completion): Try again if we rewrite the input
8370 string, but no completion was done, so that any completion message
8371 will be correct.
8372
511bd4eb
GM
83732000-08-20 Gerd Moellmann <gerd@gnu.org>
8374
8375 * xfaces.c (lface_equal_p): Compare strings differently.
8376 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8377 (realize_tty_face): Use them.
8378 (syms_of_xfaces): Initialize new variables.
8379 (map_tty_color): New function, extracted from realize_tty_face.
8380 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8381 foreground or background color, store the new color name in the
8382 realized face; previous code trying to do this had no effect.
8383 (realize_tty_face): Use map_tty_color.
8384 (Fclear_face_cache): Set face_change_count and ensure thorough
8385 redisplay.
8386
1433385f
GM
83872000-08-19 Gerd Moellmann <gerd@gnu.org>
8388
511bd4eb
GM
8389 * undo.c (record_first_change, record_marker_adjustment): Don't
8390 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8391
419ac0a2
KH
83922000-08-18 Kenichi Handa <handa@etl.go.jp>
8393
8394 * coding.c (decode_coding_string): Set members consumed,
8395 consumed_char, produced, produced_char of *coding correctly. If
8396 decode_coding doesn't consume any byte, don't try anymore.
8397 (encode_coding_string): Likewise.
8398
7eb9e30d
GM
83992000-08-18 Gerd Moellmann <gerd@gnu.org>
8400
511bd4eb
GM
8401 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8402 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8403
8404 * xdisp.c (redisplay_internal): Compare windows for equality with
8405 EQ, instead of applying XWINDOW to something that might not
8406 be a window.
52283633 8407
dd34a735
KH
84082000-08-18 Kenichi Handa <handa@etl.go.jp>
8409
8410 * fontset.c (Finternal_char_font): Search only the selected frame
8411 for a window of the current buffer.
8412
385ff9e3
GM
84132000-08-18 Gerd Moellmann <gerd@gnu.org>
8414
511bd4eb 8415 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8416 Lisp_Objects.
8417
385ff9e3
GM
8418 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8419 second half of a HELP_EVENT is found at the start of kbd_buffer.
8420
d6abb4c7
MB
84212000-08-18 Miles Bader <miles@gnu.org>
8422
4618074a
MB
8423 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8424
d6abb4c7
MB
8425 * editfns.c (save_restriction_save): Rewrite to use markers.
8426 (save_restriction_restore): Rewrite to understand new form of data
8427 saved by save_restriction_save.
8428 (Fsave_restriction): Remove cautionary note in doc-string.
8429
a7b28523
GM
84302000-08-17 Gerd Moellmann <gerd@gnu.org>
8431
8432 * fileio.c (build_annotations): Add a comment explaining the
8433 return value of format-annotate-function. Replace a spurious call
8434 to Flength with a CONSP test. Call format-annotate-function with
8435 a fifth arg specifying how many times the function is been called
8436 in a row, to let it choose temporary buffers appropriately.
8437
03c9ed77
DL
84382000-08-17 Dave Love <fx@gnu.org>
8439
8440 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8441 declare make_temp_name twice.
8442
52283633 8443 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8444 (unreadpure): Give it an arg.
8445
8446 * unexalpha.c: Prototype fatal_unexec, mark_x,
8447 update_dynamic_symbols. Declare unexec as void.
8448
8449 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8450 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8451
8452 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8453 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8454
8455 * alloca.c: Use #error.
8456 [POINTER_TYPE]: Use it.
8457
8458 * eval.c (Fdefvar): Doc fix.
8459
8460 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8461 INITIALIZE_INTERVAL.
8462
8463 * buffer.h: Avoid DECLARE_INTERVALS.
8464
8465 * config.in: Add size_t.
8466
aae41d97
EZ
84672000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8468
8469 * w16select.c (set_clipboard_data): If there's not enough memory
8470 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8471 expects. In case of other failures, return 3.
8472 (system_error_msg): New error message.
8473 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8474 system_error_msg.
8475
65aa5e85
GM
84762000-08-16 Gerd Moellmann <gerd@gnu.org>
8477
8478 * term.c (write_glyphs): Also turn off inverse video after turning
8479 off other appearances in case TS_exit_attribute_mode is not equal
8480 to TS_end_standout_mode.
8481 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8482 with the same face.
8483 (turn_off_face): Reset standout_mode only if
8484 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8485 is equal to TS_end_standout_mode.
8486
ece23901
KH
84872000-08-16 Kenichi Handa <handa@etl.go.jp>
8488
9d7bcb2e
KH
8489 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8490 sequence at the end of the source block.
8491
ece23901
KH
8492 * ccl.c (Fccl_program_p): Docstring modified.
8493 (Fccl_execute): Likewise.
8494 (Fccl_execute_on_string): Likewise.
8495
5e30eaa2
EZ
84962000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8497
8498 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8499
290602fd
KH
85002000-08-16 Kenichi Handa <handa@etl.go.jp>
8501
8502 The following changes are mainly to fix bugs of
8503 encode/decode-coding-string failing if encoding/decoding return
8504 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8505 variable conversion_buffer.
8506
8507 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8508 decrement dst_end to avoid buffer overflow in the later call of
8509 string_as_multibyte
8510
8511 * coding.h (conversion_buffer_size, conversion_buffer)
8512 (get_conversion_buffer): Extern deleted.
8513
8514 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8515 (conversion_buffer, conversion_buffer_size): Variables deleted.
8516 (get_conversion_buffer): Function deleted.
8517 (struct conversion_buffer): New structure.
8518 (MAX_ALLOCA): New macro.
8519 (allocate_conversion_buffer): New macro.
8520 (extend_conversion_buffer, free_conversion_buffer): New functions.
8521 (ccl_coding_driver): Set coding->result.
8522 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8523 this is the last block of source.
8524 (encode_coding): Likewise. Handle the source block as the last
8525 one only when the whole source text is consumed.
8526 (decode_coding_string): Handle the case that the output buffer is
8527 too small to decode the whole source text. Use
8528 allocate_conversion_buffer, extend_conversion_buffer and
8529 free_conversion_buffer, not get_conversion_buffer.
8530 (encode_coding_string): Likewise.
8531 (init_coding): Function deleted.
52283633 8532 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8533
8534 * emacs.c (main): Don't call init_coding.
8535
52283633 8536 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8537
8538 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8539 (insert_glyphs): Likewise.
8540
8541 * w32console.c (write_glyphs): Use a locally declared
8542 conversion_buffer.
8543
b9f80d41
EZ
85442000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8545
8546 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8547 member of display_info is NULL.
8548
32dc52f7
GM
85492000-08-15 Gerd Moellmann <gerd@gnu.org>
8550
52283633 8551 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8552
32dc52f7 8553 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8554 appearances with capability `me'.
32dc52f7
GM
8555 (write_glyphs): Switch on inverse video before each face change.
8556
4eb22d33
DL
85572000-08-14 Dave Love <fx@gnu.org>
8558
8559 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8560 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8561 (lisp_free): Declare and make static.
8562
8563 * window.c: Fix embedded comment.
8564 (syms_of_window): Fix doc string.
8565
90cbf47e
GM
85662000-08-14 Gerd Moellmann <gerd@gnu.org>
8567
52283633 8568 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8569 make sure to print `C-' before `M-', like in the manual.
8570
440fc135
GM
85712000-08-11 Gerd Moellmann <gerd@gnu.org>
8572
8573 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8574 since they aren't relocated anymore.
52283633 8575 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8576
8577 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8578 partially visible line which is smaller than the window's height.
440fc135 8579
6e264fad
KH
85802000-08-11 Kenichi Handa <handa@etl.go.jp>
8581
8582 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8583 the multibyte form of eight-bit-control characters.
6e264fad
KH
8584 (Fccl_execute_on_string): Initialize ccl->multibyte.
8585
8586 * ccl.h (struct ccl_program): New member multibyte.
8587
8588 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8589
c371f69a
KH
85902000-08-11 Kenichi Handa <handa@etl.go.jp>
8591
8592 * regex.c (regex_compile) <normal_char>: Pay attention to
8593 multibyteness.
8594 (analyse_first) <exactn>: Setup fastmap correctly for
8595 eight-bit-control characters.
8596
85972000-08-11 Kenichi Handa <handa@etl.go.jp>
8598
52283633 8599 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8600
8601 * keyboard.c (make_lispy_event): Handle the new event type
8602 multibyte_char_keystroke.
8603
8604 * xterm.c: Include coding.h.
8605 (XTread_socket): Work around a bug of XmbLookupString. If the
8606 input is from XIM, decode it according to the current locale. In
8607 that case, generate multibyte_char_keystroke events.
8608
b8ddbe71
KH
86092000-08-11 Kenichi Handa <handa@etl.go.jp>
8610
8611 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8612 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8613
47589c8c
GM
86142000-08-10 Gerd Moellmann <gerd@gnu.org>
8615
8616 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8617 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8618 (move_it_in_display_line_to): Record iterator's ascent and descent
8619 before producing glyphs, and restore them when we know the glyph
8620 doesn't fit on the line.
8621 (move_it_to): Restructured so that it's easier to debug. If
8622 moving to a vpos, and not moving to an x or character position,
8623 stop as soon as the specified vpos is reached; don't move further
8624 into that line because that might change the computed line height.
8625 (try_cursor_movement): New function, extracted from the cursor
8626 movement branch of redisplay_window. If ending on a partially
8627 visible line, don't try to scroll if the cursor line is taller
8628 than the window.
8629 (redisplay_window): Use try_cursor_movement.
8630
8631 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8632 because that function doesn't cope with variable-height lines.
8633
8634 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8635 box cursor because that's better visible for large images.
52283633 8636
c51bacd6
MB
86372000-08-10 Miles Bader <miles@gnu.org>
8638
8639 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8640
bea56df7
GM
86412000-08-10 Gerd Moellmann <gerd@gnu.org>
8642
8643 * xdisp.c (Vmessages_buffer_name): New variable.
8644 (message_dolog): Use it.
8645 (syms_of_xdisp): Initialize it.
8646
99cd7364
EZ
86472000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8648
52283633 8649 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8650 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8651 redundant now that keyboard.h is included.
8652
7d093d56
EZ
86532000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8654
8655 * keyboard.c (kbd_buffer_events_waiting): New function.
8656
8657 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8658
8659 * msdos.c: Include keyboard.h.
8660 (XMenuActivate): Empty no_event events from the event buffer. If
8661 no events are left after that, call clear_input_pending.
8662 (mouse_clear_clicks): New function, code moved from mouse_init.
8663 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8664 mouse driver to ``forget'' any past clicks.
8665
8666 * Makefile.in (msdos.o): Depend on keyboard.h.
8667
41e757a6
GM
86682000-08-09 Gerd Moellmann <gerd@gnu.org>
8669
8e7bd231
GM
8670 * lisp.h (input_pending): External declaration.
8671
8672 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8673
8e7bd231
GM
8674 * xdisp.c (echo_area_display): Display thoroughly if input is
8675 pending. Bind redisplay-dont-pause to t during the redisplay.
8676 in case input is pending.
8677
8678 * dispnew.c (Qredisplay_dont_pause): New variable.
8679 (syms_of_display): Initialize and staticpro it.
8680 (update_frame_1): Don't interrupt the display for pending input if
8681 redisplay_dont_pause is set.
52283633 8682
43028b7e
GM
8683 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8684
41e757a6
GM
8685 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8686
2f2174fa
KH
86872000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8688
8689 * callproc.c (Fcall_process): Terminate the unwind-protect around
8690 the post-read-conversion of coding system.
8691
0a6fd67e
MB
8692 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8693 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8694 * buffer.h (overlays_at): Update prototype.
8695 * xdisp.c (next_overlay_change): Update call to overlays_at.
8696 * xfaces.c (face_at_buffer_position): Likewise.
8697 * textprop.c (Fget_char_property): Likewise.
8698 * xterm.c (note_mouse_highlight): Likewise.
8699
0c80756e
MB
8700 * minibuf.c (do_completion): Don't consider a simple change of
8701 case as `completion'.
8702
975f250a
KR
87032000-08-08 Ken Raeburn <raeburn@gnu.org>
8704
52283633 8705 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8706 * undo.c (record_delete): Make sure last_point_position_buffer is
8707 a buffer before comparing pointers.
8708
8709 * coding.h (decode_coding_string): Declare.
8710
8711 * intervals.h (Fprevious_single_char_property_change): Declare.
8712
8713 * textprop.c (Fprevious_single_char_property_change): Don't do
8714 arithmetic directly on lisp objects.
8715
52283633 8716 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8717
8718 * keyboard.h (menu_item_eval_property): Declare.
8719
8720 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8721 reuse as buffer name, instead of recreating (and discarding) every
8722 time a message is logged.
8723 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8724 (current_message_1, truncate_message_1, set_message_1)
8725 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8726 (current_message, truncate_echo_area, display_echo_area)
8727 (resize_echo_area_axactly): Changed calls.
b347b3fd 8728
975f250a 8729 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8730 Lisp object.
975f250a 8731 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8732 must be an integer, not a Lisp object.
975f250a 8733
46dc9912
KH
87342000-08-08 Kenichi Handa <handa@etl.go.jp>
8735
8736 * charset.c (Fchar_width): Doc fix.
8737
9f6d1a6c
GM
87382000-08-08 Gerd Moellmann <gerd@gnu.org>
8739
8740 * charset.c (Fstring_width): Doc fix.
8741
ff3d9573
GM
87422000-08-07 Gerd Moellmann <gerd@gnu.org>
8743
41e757a6 8744 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8745 line, clear ascent and descent members of the iterator structure;
8746 the height of the continued line does not affect the height of the
8747 continuation line.
8748 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8749 line taller than the window.
8750 (redisplay_window) <forced window start>: Handle case that the
8751 middle of the window is not found in any row.
8752 (dump_glyph_row): Show more information.
8753 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8754 first text line in a glyph matrix.
8755
8756 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8757 of the clip area when image doesn't have a mask.
8758
70fc58b3
GM
8759 * fns.c (sweep_weak_table): Fix survival conditions for
8760 key-or-value and key-and-value weakness.
8761
8762 * .gdbinit (xhashtable): New command.
8763
ac0e96ee
GM
8764 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8765 tables out of the list of all weak hash tables.
8766
ff3d9573
GM
8767 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8768 a new buffer is created, make sure echo_area_buffer[] references
8769 the new buffer.
8770
e0d8827b
EZ
87712000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8772
8773 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8774 the doc string.
8775
c6f35378
KH
87762000-08-07 Kenichi Handa <handa@etl.go.jp>
8777
8778 * syntax.c (skip_chars): Fix previous change. Make the handling
8779 of unibyte string consistent with that of regex search.
8780
1fd4c450
GM
87812000-08-05 Gerd Moellmann <gerd@gnu.org>
8782
e49aa397
GM
8783 * xmenu.c (popup_get_selection): Use xfree instead of free.
8784
8785 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8786
8787 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8788
8789 * callproc.c (child_setup): Use xfree instead of free.
8790
8791 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8792 instead of malloc.
8793 (run_mac_command, closedir): Use `xfree' instead of `free'.
8794
8795 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8796
8797 * eval.c (error): Use xfree instead of free.
8798
1fd4c450
GM
8799 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8800
8801 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8802 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8803
82d497fc
KH
88042000-08-05 Kenichi Handa <handa@etl.go.jp>
8805
8806 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8807 conversion.
8808
59f953a2
NF
88092000-08-04 Noah Friedman <friedman@splode.com>
8810
8811 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8812 docstring.
8813
688351f2
GM
88142000-08-04 Gerd Moellmann <gerd@gnu.org>
8815
8816 * syntax.c (skip_chars): Fix typo in error message.
8817
2dad51cc
AS
88182000-08-04 Andreas Schwab <schwab@suse.de>
8819
8820 * m/ia64.h: Moved from s/ia64.h.
8821
99bb2c60
KH
88222000-08-04 Kenichi Handa <handa@etl.go.jp>
8823
082a1df2
KH
8824 * process.c (read_process_output): Big simplification. Handle
8825 composition and post-read-conversion of coding system correctly.
8826 (send_process): Handle composition correctly.
8827
8828 * callproc.c (Fcall_process): Handle post-read-conversion of
8829 coding system if any.
8830
99bb2c60
KH
8831 * coding.c (decode_coding_iso2022): More strict check for handling
8832 single shifting.
082a1df2
KH
8833 (coding_restore_composition): Pay attention to the case that
8834 cmp_data is not set properly (because of invalid code in the
8835 source text).
8836 (run_pre_post_conversion_on_str): Include text properties in the
8837 resulting string.
8838 (decode_coding_string): Set members of coding correctly.
99bb2c60 8839
f4988be7
GM
88402000-08-03 Gerd Moellmann <gerd@gnu.org>
8841
8842 * s/ia64.h: New file.
8843
8844 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8845 Use NULL instead of 0 at the end of variable argument list of
8846 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8847 sizeof (int) < sizeof (void *).
8848
8849 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8850 of variable argument lists of XtVaGetValues and XtVaSetValues.
8851
8852 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8853 variable argument lists of XtVaGetValues and XtVaSetValues.
8854
ead53494
GM
88552000-08-02 Gerd Moellmann <gerd@gnu.org>
8856
8857 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8858 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8859
8860 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8861 prototype.
8862
8863 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8864 in call to Fsingle_key_description.
8865
8866 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8867 Callers changed.
8868
88692000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8870
8871 * window.c (display_buffer_reuse_frames): New variable.
8872 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8873 frames displaying BUFFER.
52283633 8874 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8875
10b0f752
MB
88762000-08-01 Miles Bader <miles@gnu.org>
8877
8878 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8879 when to constrain NEW_POS (they were pretty screwed up before).
8880
16425c4a
EZ
88812000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8882
8883 * msdos.c (run_msdos_command): Save and restore the master
8884 environment, for the case that child_setup signals an error.
8885 When mirroring slashes in DOS shell commands, don't fail when
8886 argv[2] has embedded blanks.
da288c14
EZ
8887 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8888 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8889 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8890
8891 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8892 using alloca; free it after run_msdos_command returns.
8893
27f73852
DL
88942000-07-27 Dave Love <fx@gnu.org>
8895
52283633
SM
8896 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8897 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8898
8899 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8900
c0261b5e
EZ
89012000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8902
8903 * editfns.c (lisp_time_argument): Fix last change.
8904
b548072f
GM
89052000-07-27 Gerd Moellmann <gerd@gnu.org>
8906
3ab82477
GM
8907 * fns.c (Fdelete): Make it work on vectors and strings in addition
8908 to lists.
8909
b548072f
GM
8910 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8911 (syms_of_fns): Initialize new variables.
52283633 8912 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8913 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8914 weakness, with t meaning the same as `key-and-value'.
8915
91ae8751
KH
89162000-07-27 Kenichi Handa <handa@etl.go.jp>
8917
8918 * coding.h (struct coding_system): Member safe_charset deleted.
8919
8920 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8921 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8922 New variables.
91ae8751
KH
8923 (coding_safe_chars): New function.
8924 (CODING_SAFE_CHAR_P): New macro.
8925 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8926 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8927 (detect_coding_iso2022): New local variable safe_chars.
8928 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8929 safe_charsets member of the coding system.
8930 (decode_coding_iso2022): New local variable safe_chars.
8931 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8932 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8933 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8934 (ENCODE_UNSAFE_CHARACTER): New macro.
8935 (encode_coding_iso2022): New local variable safe_chars. Check
8936 unsafe chars.
8937 (setup_coding_system): Delete the code to initialize
8938 coding->safe_charses
8939 (intersection, find_safe_codings): New functions.
8940 (Ffind_coding_systems_region_internal): New function.
8941 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8942 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8943 variable and initialize it.
8944
8945 * fns.c (char_table_ref_and_index): New function.
8946
8947 * lisp.h (char_table_ref_and_index): Add prototype.
8948
34a7a267
SS
89492000-07-26 Sam Steingold <sds@gnu.org>
8950
8951 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8952 (Ffloat_time): New built-in Lisp function.
34a7a267 8953
a95cb10a
GM
89542000-07-26 Gerd Moellmann <gerd@gnu.org>
8955
3353ef5a
GM
8956 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8957 for the character code.
8958
8959 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8960 GNU/Linux.
8961
a95cb10a
GM
8962 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8963 if called for a popup menu.
8964 (xmenu_show): Store help string in widget values.
8965
b4a12321
DL
89662000-07-26 Dave Love <fx@gnu.org>
8967
8968 * syswait.h: Move some definitions.
8969 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8970 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8971 perspicuous definitions.
8972 (WTERMSIG): Fix bit pattern used.
8973
13f5ad37
KH
89742000-07-26 Kenichi Handa <handa@etl.go.jp>
8975
8976 * print.c (print_object): If vector printing is truncated, print
8977 "..." to indicate it as well as the case of list printing.
8978
070fe99c
GM
89792000-07-25 Gerd Moellmann <gerd@gnu.org>
8980
969065c3
GM
8981 * xdisp.c (next_element_from_display_vector): Improve comments.
8982
8983 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8984 for the character code, and the rest for the face id as in 20.x.
8985 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8986
8987 * window.c (window_display_table): Cleaned up.
8988
070fe99c
GM
8989 * syntax.c (Fforward_word): Add last arg nil in call of
8990 Fconstrain_to_field.
8991
bad77ef7
EZ
89922000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8993
969065c3 8994 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8995 identical but for the letter-case, don't call
8996 barf_or_query_if_file_exists.
bad77ef7 8997
c28da489
MB
89982000-07-25 Miles Bader <miles@gnu.org>
8999
9000 * editfns.c (find_field): Honor special `boundary' fields.
9001 (Qboundary): New variables.
9002 (syms_of_editfns): Initialize Qboundary.
9003 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9004 Use scan_buffer instead of find_before_next_newline, because it
9005 allows us to detect the boundary case where there's a newline at
9006 the search limit.
9007 * lisp.h (Fconstrain_to_field): Update external declaration.
9008
e3c31fd5
GM
90092000-07-24 Gerd Moellmann <gerd@gnu.org>
9010
9011 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9012 if that is nil.
c28da489 9013
c66c29a2
DL
90142000-07-24 Dave Love <fx@gnu.org>
9015
9016 * s/sunos4-0.h, s/sol2.h:
9017 (LIBS_TERMCAP): Move from m/sparc.h.
9018
9019 * m/sparc.h (TERMINFO): Moved to system files (probably only
9020 relevant for sunos4 judging by its vintage).
9021 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9022 __arch64__.
9023
fbe0a958
EZ
90242000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9025
9026 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9027 name to single_keymap_panes.
9028
7d88e5c9
AS
90292000-07-24 Andreas Schwab <schwab@suse.de>
9030
9031 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9032
e024b101
GM
90332000-07-24 Gerd Moellmann <gerd@gnu.org>
9034
9035 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9036 parameters instead of using int parameters. Expect FN to accept
9037 EMACS_INT parameters.
9038 (display_echo_area, resize_echo_area_axactly, current_message)
9039 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9040 with new argument list.
9041 (resize_mini_window_1): New callback function.
9042 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9043 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9044
25c1a9ce
KH
90452000-07-24 Kenichi Handa <handa@etl.go.jp>
9046
9047 * fontset.c (fontset_ref): Remove INLINE declaration.
9048 (fontset_ref_via_base): Likewise.
9049 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9050 to downcase.
9051
7f987ac0
EZ
90522000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9053
9054 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9055 correct order of priority. If help echo was found in an overlay,
9056 use that overlay as the object in which the help echo was found.
9057
e2db3069
MB
90582000-07-22 Miles Bader <miles@gnu.org>
9059
9060 * textprop.c (Fprevious_single_char_property_change): The initial
9061 property value should be from the position preceding POSITION, not
9062 following it.
9063
5e3203e4
EZ
90642000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9065
9066 * coding.c (syms_of_coding): Doc fix for
9067 inhibit-iso-escape-detection.
9068
62145073
GM
90692000-07-21 Gerd Moellmann <gerd@gnu.org>
9070
c20aeb83
GM
9071 * xterm.c (note_mouse_highlight): Process overlays in the right
9072 order of priority.
34a7a267 9073
743934db
GM
9074 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9075
9076 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9077 overlay, use that overlay as the object in which the help was found.
743934db 9078
d1dc7e43 9079 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9080
62145073
GM
9081 * window.c (foreach_window): Instead of a fake variable argument
9082 list, take one USER_DATA argument.
9083 (foreach_window_1): Likewise, and call callback functions with two
9084 args, the window and USER_DATA.
9085 (struct check_window_data): New struct.
9086 (check_window_containing): Use it.
9087 (window_from_coordinates): Set up a struct check_window_data for
9088 foreach_window.
9089 (add_window_to_list, freeze_window_start): Change parameters
9090 according to new calling convention.
9091
9092 * window.h (foreach_window): Change prototype.
9093
9094 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9095
90962000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9097
9098 * xmenu.c (menu_help_callback): Call show_help_echo with
9099 additional arguments OBJECT and POS.
9100
11270583
KH
91012000-07-21 Kenichi Handa <handa@etl.go.jp>
9102
07b14857
KH
9103 * data.c (Faset): Allow storing any multibyte character in a
9104 string. Convert unibyte string to multibyte if necessary.
9105
11270583
KH
9106 * xfns.c (x_encode_text): New function.
9107 (x_set_name): Use x_encode_text.
9108 (x_set_title): Likewise.
9109
9110 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9111
9112 * xterm.h (x_encode_text): Add prototype.
9113
bc75b4fd
DL
91142000-07-20 Dave Love <fx@gnu.org>
9115
9116 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9117 xfree, not free.
9118
48c14970
EZ
91192000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9120
9121 * msdos.c (help_echo_window): New variable.
9122 (syms_of_msdos): Initialize and staticpro it.
9123 (IT_note_mode_line_highlight): Set help_echo_window.
9124 (IT_note_mouse_highlight): Ditto.
9125 (dos_rawgetc): Store help_echo_window in the second event produced
9126 for HELP_EVENTs.
9127
9128 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9129 Record the object that generated the help echo and the position of
9130 that object in help_echo_object and help_echo_pos. Record that
9131 some glyphs in a row are displayed in mouse-face.
9132 (IT_update_begin): Don't clear mouse highlight unless one of the
9133 enabled glyph rows is marked as being displayed in mouse-face.
9134 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9135 and position recorded in help_echo_object and help_echo_pos to the
9136 event queue.
9137 (IT_menu_display): Accept a new argument PN: the pane number of
9138 the current menu pane. Record the pane number and the item
9139 number of the item which has associated help string.
9140 (XMenuActivate): Update the prototype for help_callback in
9141 function declaration. Call IT_menu_display with the current menu
9142 pane number as an additional argument. Call help_callback with
9143 two additional arguments: the pane number and the item number of
9144 the menu item associated with the help text.
9145 (help_echo_object, help_echo_pos): New variables.
9146 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9147
9148 * msdos.h (XMenuActivate): Update prototype.
9149
4279296d
GM
91502000-07-19 Gerd Moellmann <gerd@gnu.org>
9151
47db06aa
GM
9152 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9153 Add some more prototypes.
9154
9155 * xterm.c, xterm.h: Add some more prototypes.
9156
9157 * lisp.h (Fnext_single_char_property_change): Add prototype.
9158
9159 * dispnew.c (direct_output_for_insert): Remove confusing
9160 outer local variable mouse_face_overwritten_p.
9161 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9162
4279296d
GM
9163 * alloc.c (allocate_string_data): Don't copy old string contents.
9164
670acd62
KH
91652000-07-19 Kenichi Handa <handa@etl.go.jp>
9166
9167 * coding.c (code_convert_region): Delete text properties before
9168 shrinking the conversion region.
9169
7cea38bc
GM
91702000-07-18 Gerd Moellmann <gerd@gnu.org>
9171
dc1cac59
GM
9172 * dispnew.c (update_text_area): Write the whole row if it
9173 has mouse-face in it.
9174
85a8aca9
GM
9175 * xfaces.c (face-alternative-font-family-alist): Remove
9176 DEFVAR_LISP; staticpro instead.
9177
34a7a267 9178 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9179 new arguments.
9180
9181 * keyboard.c (show_help_echo): Add parameter WINDOW.
9182 (read_char): Call show_help_echo with window extracted from Lisp
9183 help event.
9184 (gen_help_event): Add parameter WINDOW.
9185
9186 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9187
9188 * xterm.c (help_echo_window): New variable.
52283633 9189 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9190 (XTread_socket): Pass help_echo_window to gen_help_event.
9191 (syms_of_xterm): Initialize and staticpro help_echo_window.
9192
f8276b77
DL
91932000-07-18 Dave Love <fx@gnu.org>
9194
52283633 9195 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9196
088831a6
GM
91972000-07-18 Gerd Moellmann <gerd@gnu.org>
9198
3d6cd763
GM
9199 * alloc.c (allocate_string_data): If string had already data
9200 assigned, copy old contents to new string data.
9201
9202 * coding.c (syms_of_coding): Fix typo in spelling of variable
9203 `inhibit-iso-escape-detection'.
9204
088831a6
GM
9205 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9206
9207 * Makefile.in: Add dependencies on dispextern.h.
9208 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9209 `free'; both can conflict with system header files.
9210
bc8a8d55
KH
92112000-07-18 Kenichi Handa <handa@etl.go.jp>
9212
9213 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9214 undefined.
9215
069f5950
DL
92162000-07-18 Dave Love <fx@gnu.org>
9217
9218 * window.c (Fwindow_list): Declare arg `window'.
9219
aa96c820
KH
92202000-07-18 Kenichi Handa <handa@etl.go.jp>
9221
9222 * coding.c (setup_coding_system): Don't override the explicitly
9223 specified designations.
9224
06be8d32
MB
92252000-07-15 Miles Bader <miles@gnu.org>
9226
9227 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9228 from `text_property_eq' and `text_property_stickiness', respectively.
9229 (find_field, Fconstrain_to_field, char_property_eq)
9230 (char_property_stickiness): Changed to call char-property functions
9231 instead of text-property-only ones.
9232
9233 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9234 `next_single_char_property_change'). Do more error checking, and
9235 cleanup limit behavior.
9236 (Fprevious_single_char_property_change): New function.
9237 (syms_of_textprop): Initialize new subrs.
9238
9239 * xdisp.c (display_prop_end, invisible_text_between_p):
9240 Call Fnext_single_char_property_change instead of
9241 next_single_char_property_change.
9242
3fddcdc3
JR
92432000-07-15 Jason Rumney <jasonr@gnu.org>
9244
9245 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9246 after menu is finished with.
9247 (add_menu_item): Only consider wv->title as a menu title.
9248 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9249
9250 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9251 null title.
9252 (FONT_REGEXP): Remove unused macro, and its sub-components.
9253 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9254
9255 * w32term.c (help_echo_object, help_echo_pos): New variables.
9256 (note_mode_line_highlight): Store additional information about the
9257 help-echo in help_echo_object and help_echo_pos. Check both
9258 `local-map' and `keymap' properties for changing the cursor
9259 (note_mouse_highlight): Store additional information about the
9260 help-echo in help_echo_object and help_echo_pos.
9261 (note_tool_bar_highlight): Set help_echo_object to nil and
9262 help_echo_pos to -1.
9263 (w32_read_socket): Use gen_help_event instead of filling
9264 input_events manually.
9265 (syms_of_w32term): Staticpro help_echo_object.
9266 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9267 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9268 (x_clear_mouse_face): New function.
9269 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9270 (x_update_window_begin): No need to turn off the mouse
9271 highlight here.
9272 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9273 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9274 (x_fill_stretch_glyph_string): Consume runs of stretch
9275 glyphs instead of a single one.
9276 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9277 with new argument list.
9278 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9279 (x_append_glyph, x_append_composite_glyph)
9280 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9281 changes in struct glyph starting 1999-12-27. See comments for
9282 xterm.c on 2000-07-05.
9283
178c5d9c
SS
92842000-07-14 Sam Steingold <sds@gnu.org>
9285
9286 * xfaces.c (realize_x_face): Fix the last patch:
9287 check `default_face' before dereferencing.
9288
6fe533f6
DL
92892000-07-14 Dave Love <fx@gnu.org>
9290
069f5950 9291 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9292
dd7b81cf
KH
92932000-07-14 Kenichi Handa <handa@etl.go.jp>
9294
0693904a 9295 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9296 default_face's fontset, not using the default fontset.
0693904a 9297
dd7b81cf
KH
9298 * coding.c (inhibit_iso_escape_detection): New variable.
9299 (syms_of_coding): Make it a Lisp variable.
9300 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9301 nonzero, ignore ISO2022's escape sequence.
9302
d5aa31d8
GM
93032000-07-14 Gerd Moellmann <gerd@gnu.org>
9304
e5acf0ca
GM
9305 * alloca.c (malloc) [emacs]: Define as xmalloc.
9306
bd23a692
GM
9307 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9308 use that instead of the mouse position. Add parameters DX and DY.
9309
9310 * dispextern.h (Fx_show_tip): Adjust number of parameters
9311 in prototype.
9312
9662da0b
GM
9313 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9314 if HELP is a function, call it with OBJECT and POS as parameters
9315 to get the help to display.
9316 (gen_help_event, kbd_buffer_store_help_event): New functions.
9317 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9318 (read_char): Call show_help_echo with new parameters.
9319
178c5d9c 9320 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9321 Add prototypes.
9322
9323 * xterm.c (help_echo_object, help_echo_pos): New variables.
9324 (note_mode_line_highlight): Store additional information about the
9325 help-echo in help_echo_object and help_echo_pos. Check both
9326 `local-map' and `keymap' properties for changing the cursor
9327 (note_mouse_highlight): Store additional information about the
9328 help-echo in help_echo_object and help_echo_pos.
9329 (note_tool_bar_highlight): Set help_echo_object to nil and
9330 help_echo_pos to -1.
9331 (XTread_socket): Use gen_help_event instead of filling
9332 input_events manually.
9333 (syms_of_xterm): Staticpro help_echo_object.
9334
9335 * xmenu.c (menu_highlight_callback): Use
9336 kbd_buffer_store_help_event instead of setting up and input_event
9337 structure manually.
9338
9339 * xdisp.c (eval_form): GCPRO argument sexpr.
9340 (call_function): New function.
9341 (handle_single_display_prop): Use call_function and FUNCTIONP
9342 instead of checking whether if font_height is a symbol and
9343 using eval_form.
9344
9345 * eval.c (internal_condition_case_2): New function.
9346
9347 * lisp.h (FUNCTIONP): New macro.
9348 (internal_condition_case_2, call_function): Add prototypes.
9349
d5aa31d8
GM
9350 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9351 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9352 Always set `arg' member of input_events.
9353 (construct_menu_click): Unused function removed.
9354
9355 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9356
9357 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9358 (construct_drag_n_drop, x_scroll_bar_handle_click)
9359 (w32_read_socket): Always set `arg' member of input_events.
9360
9361 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9362
9363 * lisp.h (eval_form): Add prototype.
9364
9365 * xdisp.c (eval_form): Make it externally visible.
9366
0f1a9b23
GM
93672000-07-13 Gerd Moellmann <gerd@gnu.org>
9368
9369 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9370 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9371 consing. For prefix events, store the frame in the `arg' slot of
9372 the event, otherwise store the key there.
9373 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9374 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9375
9376 * xmenu.c (menu_highlight_callback): Store help string in the
9377 `arg' member of the input event; don't cons.
9378 (menubar_selection_callback): Use the `arg' slot of input events
9379 to queue additional information, instead of consing.
9380
9381 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9382
9383 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9384 TOOL_BAR_EVENTs.
9385 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9386
9387 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9388 input events to queue additional information, instead of consing.
9389
9390 * keyboard.c (kbd_buffer_gcpro): Renamed from
9391 kbd_buffer_frame_or_window. Now used for all Lisp objects
9392 referenced from the input queue.
9393 (kbd_buffer_store_event): Always use structure assignment for
9394 copying input events. Record all Lisp objects referenced from
9395 events in kbd_buffer_gcpro.
9396 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9397 differently from input events. Test for prefix menu_bar_events
9398 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9399 event in kbd_buffer_gcpro to nil.
9400 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9401 frame_or_window is equal to its arg member as prefix events.
9402 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9403 used by an input event to nil.
9404 (init_keyboard): Use two times the size of the input queue
9405 for kbd_buffer_gcpro.
9406 (syms_of_keyboard): Likewise.
9407
52283633
SM
9408 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9409 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9410
9411 * termhooks.h (struct input_event): Add member `arg'.
9412 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9413 (USER_SIGNAL_EVENT): Renamed from user_signal.
9414
9415 * xfaces.c (ASET): Remove definition.
9416
9417 * lisp.h (AREF, ASET, ASIZE): New macros.
9418
9419 * fontset.c (AREF, ASIZE): Remove definitions.
9420
9421 * fns.c (AREF): Remove definition.
178c5d9c 9422
0f1a9b23
GM
9423 * composite.c (AREF): Remove definition.
9424
712eaef2
GM
94252000-07-12 Gerd Moellmann <gerd@gnu.org>
9426
d8ee7803
GM
9427 * dispnew.c (redraw_overlapped_rows): Add missing local.
9428 (scrolling_window): Remove debug code.
9429
712eaef2
GM
9430 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9431 Before scrolling, turn off a mouse-highlight in the window
9432 being scrolled.
9433
9434 * xterm.c (x_update_window_end): Add parameter
9435 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9436 redisplay in XTframe_up_to_date.
9437 (x_clear_mouse_face): New function.
9438 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9439
9440 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9441 current glyph row.
9442 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9443 it when any row is written to that contains glyphs highlighted in
9444 mouse-face.
9445 (update_window): Call the window update end hook with new
9446 parameter MOUSE_FACE_OVERWRITTEN_P.
9447 (direct_output_for_insert): Give up if row contains mouse-face.
9448
9449 * dispextern.h (struct redisplay_interface): Add parameter
9450 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9451 (clear_mouse_face): New function pointer member.
9452
02010917
SM
94532000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9454
9455 * syntax.c (back_comment): Use one switch rather than a few `if's.
9456 Obey open_paren_in_column_0_is_defun_start.
9457 When reverting to the `slow' method, try to nicely handle the case
9458 of nested comments by checking that the comment-starter we found
9459 does indeed match the comment-ender.
9460 (scan_sexps_forward, scan_sexps_forward):
9461 Ignore excessive opening parenthesis rather than throwing an error.
9462
d76c03ea
GM
94632000-07-11 Gerd Moellmann <gerd@gnu.org>
9464
9465 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9466 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9467
9468 * dispnew.c (direct_output_forward_char): Give up if currently
9469 displaying a message instead of the minibuffer contents.
9470
9471 * xterm.c (x_update_window_begin): No need to turn off the mouse
9472 highlight here.
9473 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9474 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9475
9476 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9477 compare the mouse_face_p flags of both rows.
9478
9479 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9480
d55ead18
EZ
94812000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9482
9483 * keyboard.c (show_help_echo): Accept additional parameter
9484 ok_to_overwrite_keystroke_echo.
9485 (read_char): Call show_help_echo with a zero
9486 ok_to_overwrite_keystroke_echo argument.
52283633 9487 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9488 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9489 ok_to_overwrite_keystroke_echo argument.
9490 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9491 non-zero ok_to_overwrite_keystroke_echo argument.
9492
df75b1a3
GM
94932000-07-10 Gerd Moellmann <gerd@gnu.org>
9494
4b92c49a
GM
9495 * xdisp.c (try_window_id): If changes are all below what is
9496 displayed in the window, and point is in the window, we still
9497 might have to find point on the display.
9498
9499 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9500 glyphs instead of a single one.
9501 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9502 with new argument list.
9503 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9504
df75b1a3
GM
9505 * keymap.c (get_keymap_1): Add comment that this function can GC.
9506 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9507 comment that functions can GC.
9508 (Fset_keymap_parent): GCPRO arg KEYMAP.
9509
4314cf3e
EZ
95102000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9511
9512 * msdos.c (XMenuActivate): After exiting the menu, restore the
9513 echo area message and erase it.
9514
ab49ce15
KH
95152000-07-10 Kenichi Handa <handa@etl.go.jp>
9516
9517 * fontset.c (Ffontset_info): Make the return value more compatible
9518 with that of Emacs 20.
9519
090a072f
GM
95202000-07-07 Gerd Moellmann <gerd@gnu.org>
9521
9522 * eval.c (Fsignal): Handle case that backtrace_list is null.
9523
f92de4a6
KH
95242000-07-07 Kenichi Handa <handa@etl.go.jp>
9525
9526 * ccl.c (Fccl_execute): Typo fixed.
9527
dd8888a1
GM
95282000-07-06 Gerd Moellmann <gerd@gnu.org>
9529
e5c81191 9530 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9531
dd8888a1
GM
9532 * window.c (Fwindow_list): Reverse list at the end.
9533 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9534 means allow windows on OWINDOW's frame, only.
9535 (window_loop): Simplified; use Fwindow_list.
9536
9537 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9538
485266d0
GM
95392000-07-05 Gerd Moellmann <gerd@gnu.org>
9540
9541 * xterm.c (XTread_socket): Increment handling_signal at the start,
9542 decrement it at the end.
9543
9544 * eval.c (handling_signal): New variable.
9545 (Fsignal): Abort if handling_signal is non-zero.
9546
9547 * lisp.h (handling_signal): External declaration.
178c5d9c 9548
485266d0
GM
9549 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9550
80fcd514
KR
95512000-07-05 Ken Raeburn <raeburn@gnu.org>
9552
9553 Sound support for NetBSD through "Linux emulation" support:
9554 * config.in (HAVE_SOUNDCARD_H): Undef.
9555 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9556 * Makefile.in (LIBSOUND): New variable.
9557 (LIBES): Include it.
52283633
SM
9558 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9559 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9560 (vox_open): Use DEFAULT_SOUND_DEVICE.
9561 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9562
d5c5cddd
GM
95632000-07-05 Gerd Moellmann <gerd@gnu.org>
9564
9565 * print.c (print_error_message): If Vsignaling_function is set,
9566 show it in *Messages*.
9567
9568 * lisp.h (Vsignaling_function): External declaration.
9569
9570 * eval.c (Vsignaling_function): New variable.
9571 (Fsignal): Compute it.
9572 (syms_of_eval): Staticpro it.
9573
65171e3a
DL
95742000-07-05 Dave Love <fx@gnu.org>
9575
9576 * syswait.h: Use the autoconf recommended approach. Old code
9577 #if'd out in case we need to revert.
9578
178c5d9c 9579 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9580
e2c46326
AI
95812000-07-05 Andrew Innes <andrewi@gnu.org>
9582
9583 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9584 when non-NULL instead of __morecore, to take account of buffer
9585 memory. This also solves a problem with spurious memory warnings
9586 on Windows.
9587
9588 * ralloc.c: Make real_morecore non-static.
9589
9590 * eval.c (internal_condition_case): Comment out abort if
9591 interrupt_input_blocked is not zero.
9592
9593 * makefile.nt: Add support for `bootstrap' and related targets.
9594 Include minimal debug info in emacs.exe in release build.
9595 Remove all dependencies on lisp.h, and fixup some others.
9596
9597 * w32.c (init_environment): Install code from 20.7 for providing
9598 default values for environment variables, based on the
9599 executable's own location.
52283633 9600 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9601 (sys_socket): Install socket inheritance bug fix from 20.7.
9602
9603 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9604 here via blockinput.h).
9605
a027a91b
SM
96062000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9607
e4b31601
SM
9608 * w32menu.c (w32_menu_display_help):
9609 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9610
9611 * keyboard.h (show_help_echo): Declare.
9612
9613 * keyboard.c (show_help_echo): New function, extracted from read_char.
9614 Feval its `msg' argument if it's a cons cell.
9615 (read_char): Use it.
4cf8d9d5 9616 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9617
178c5d9c 9618 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9619 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9620 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9621 (dos_rawgetc):
9622 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9623 (note_tool_bar_highlight, w32_read_socket):
9624 Do not gratuitously ignore non-string `help-echo' properties.
9625
88d75730
GM
96262000-07-05 Gerd Moellmann <gerd@gnu.org>
9627
969f7e79
GM
9628 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9629
71201b00
GM
9630 * window.c (delete_all_subwindows): Reset Vwindow_list.
9631
88d75730
GM
9632 * xterm.c (x_append_glyph, x_append_composite_glyph)
9633 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9634 changes in struct glyph starting 1999-12-27. Some bit-fields of
9635 struct glyph were not set, which made glyphs unequal when compared
9636 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9637 effects were the result. This also depended on the contents of
9638 memory returned by xmalloc. If flickering happens again, activate
9639 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9640 gone with that, chances are that it is caused by something similar.
88d75730
GM
9641
9642 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9643
88d75730
GM
9644 * dispextern.h: Add some comments.
9645
9646 * window.c (add_window_to_list): Add parameter LIST.
9647 (window_list): Order list so that, for each frame, windows are
9648 in canonical order, and so that frames appear in the list in
9649 the order given by Vframe_list.
9650 (next_window): Reverse the handling of NEXT_P.
9651
53654733
GM
96522000-07-04 Gerd Moellmann <gerd@gnu.org>
9653
87efd256
GM
9654 * window.c (Vwindow_list): New variable.
9655 (make_window, delete_window): Set Vwindow_list to nil.
9656 (check_window_containing): New function.
9657 (window_from_coordinates): Rewritten.
9658 (add_window_to_list, window_list, candidate_window_p)
9659 (decode_next_window_args, next_window): New functions.
52283633 9660 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9661 (Fwindow_list): New function.
9662 (Fother_window): Cleaned up.
9663 (foreach_window): Add a longer "variable argument list". Let
9664 callback function return 0 to indicate that cycling over windows
9665 should stop.
9666 (foreach_window_1): Likewise.
9667 (freeze_window_start): Return int.
9668 (init_window): New function.
9669 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9670
9671 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9672 input_event with bzero.
9673 (main): Call init_window.
9674
53654733
GM
9675 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9676 a menu filter.
9677
4a8c194f
KH
96782000-07-04 Kenichi Handa <handa@etl.go.jp>
9679
9680 * composite.h (make_composition_value_copy): Extern it.
9681
9682 * composite.c (make_composition_value_copy): New function.
9683
9684 * editfns.c (Fformat): While copying text properties, make each
9685 composition property value a copy.
9686
9687 * fns.c (concat): While copying text properties, make each
9688 composition property value a copy.
9689
831a6cb0
GM
96902000-07-03 Gerd Moellmann <gerd@gnu.org>
9691
2f516940
GM
9692 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9693
178c5d9c 9694 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9695 marked already.
9696
831a6cb0
GM
9697 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9698 include those frames as candidates which have their focus
9699 redirected to the minibuffer frame.
9700
d9c4f922
SM
97012000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9702
9703 * fns.c (Fputhash): Return `value' rather than nil.
9704
3780bc22
GM
97052000-06-30 Gerd Moellmann <gerd@gnu.org>
9706
97d176db
GM
9707 * frame.c (next_frame): Don't check focus redirection in case
9708 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9709 unless their focus is redirected, which contradicts the
9710 specification of next-frame, and leads to infinite loops in
9711 certain situations when cycling through windows with next-window.
9712
dca9961d
KH
97132000-06-30 Kenichi Handa <handa@etl.go.jp>
9714
9715 * coding.c (code_convert_region): Even if the length of text is
9716 zero, try to convert it if coding->type is coding_type_ccl.
9717 (decode_coding_string, encode_coding_string): Likewise.
9718
d5483ab1
GM
97192000-06-28 Gerd Moellmann <gerd@gnu.org>
9720
af5c25e1 9721 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9722 the display if windows_or_buffers_changed.
af5c25e1
GM
9723
9724 * dispnew.c (struct row_entry): New structure.
9725 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9726 (row_table_size, old_lines, new_lines, old_lines_size)
9727 (new_lines_size, run_pool, runs_size, runs): New variables.
9728 (add_row_entry): New function.
9729 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9730 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9731 holding them in local variables. Use a larger hash table whose
9732 size depends on glyph matrix sizes. Don't use bzero to clear the
9733 hash table; instead, clear used slots only.
9734
9735 * fns.c (next_almost_prime): Make it externally visible.
9736
9737 * lisp.h (next_almost_prime): Add prototype.
9738
d5483ab1
GM
9739 * s/isc4-0.h (sigunblock): Define.
9740
9741 * s/sco5.h (sigunblock): Define.
9742
93e40f40
DL
97432000-06-27 Dave Love <fx@gnu.org>
9744
9745 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9746 (moved to osf5-0.h).
9747 [!NOT_C_CODE]: Protect string.h stuff.
9748
9749 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9750 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9751
3c4b7685
GM
97522000-06-27 Gerd Moellmann <gerd@gnu.org>
9753
97d176db 9754 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9755 below the last line from the needed window height.
9756
32cad0aa
SM
97572000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9758
9759 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9760 (Fwidget_get): Use it.
9761 (syms_of_fns): Defsubr it.
9762
2c69ced2
GM
97632000-06-26 Gerd Moellmann <gerd@gnu.org>
9764
178c5d9c 9765 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9766 display info for XIM.
9767 (xim_open_dpy): Likewise.
9768 (xim_close_dpy): Don't free the display info's XIM.
9769
9770 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9771
9772 * config.in (USE_XIM): New define.
9773
3fc720e4
GM
9774 * keymap.c (get_keyelt): For menu-items containing a `:filter
9775 FILTER', apply FILTER to the menu-item's definition to get the
9776 real definition to use.
9777
9778 * lisp.h (QCfilter): External declaration.
9779
2c69ced2
GM
9780 * xfns.c (Fimage_size): New function.
9781 (syms_of_xfns): Defsubr it.
9782
f978b2a2
AS
97832000-06-26 Andreas Schwab <schwab@suse.de>
9784
9785 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9786 Fstring_as_unibyte.
9787
94cc7892
DL
97882000-06-25 Dave Love <fx@gnu.org>
9789
52283633 9790 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9791
9792 * Makefile.in (blockinput.h): Depend on atimer.h.
9793 (atimer.h): Depend on systime.h.
9794
52283633 9795 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9796
52283633 9797 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9798
9799 * lisp.h (swap_in_global_binding): Declare.
9800
b8c24556
KR
98012000-06-24 Ken Raeburn <raeburn@gnu.org>
9802
9803 * process.c (Fopen_network_stream): Turn off atimers for duration
9804 of call to connect. (Patch from Gerd.)
9805
8cf8560b
DL
98062000-06-23 Dave Love <fx@gnu.org>
9807
511c7541
DL
9808 * ralloc.c: Maybe include unistd.h
9809
8cf8560b
DL
9810 * emacs.c (setgrp): Undefine before defining.
9811 (malloc_warning, set_time_zone_rule, index): Prototype.
9812
9813 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9814 HAVE_STRUCT_TIMEZONE.
9815
9816 * s/osf1.h: Move string.h hack here from alpha.h and make it
9817 conditional.
9818 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9819 _XOPEN_SOURCE.
9820 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9821 (SOCKLEN_TYPE): Don't define.
9822
9823 * m/alpha.h: Remove string.h hack.
9824
9825 * s/osf5-0.h: New file.
9826
9827 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9828 include time.h, done by systime.h.
9829 [__FreeBSD__]: Remove redundant includes.
9830
3fc720e4 9831 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9832 (delete_temp_file): Return Qnil to avoid warning.
9833
9834 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9835
9836 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9837 HAVE_X_WINDOWS.
9838
9839 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9840
9841 * composite.h (compose_text): Declare.
9842
9843 * xterm.c: Don't include sys/types.h unconditionally. Don't
9844 protect its inclusion with !USG (following xmenu.c).
9845
ea055732
GM
98462000-06-23 Gerd Moellmann <gerd@gnu.org>
9847
9848 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9849 in x_create_frame.
9850
74b01b80
EZ
98512000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9852
9853 * coding.c (decode_eol_post_ccl): Special handling for undecided
9854 and inconsistent EOL types.
9855
64f3a166
GM
98562000-06-22 Gerd Moellmann <gerd@gnu.org>
9857
16cf31f7
GM
9858 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9859 trough color and main window's background color.
9860
52283633 9861 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9862
9863 * xterm.h (Xt_app_con): External declaration.
9864
9865 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9866
486a103d
GM
9867 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9868
64f3a166
GM
9869 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9870 (handle_invisible_prop): Record the start of invisible text in
9871 it->add_overlay_start.
9872 (struct overlay_entry): Add member `overlay'.
9873 (handle_overlay_change): Simplify.
9874 (next_overlay_string): After having processed overlay strings at the
9875 end of the buffer, record that fact in
9876 it->overlay_strings_at_end_processed_p.
9877 (compare_overlay_entries): If before- and after-strings come
9878 from the same overlay, let before-strings come first.
9879 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9880 (load_overlay_strings): Take it->add_overlay_start into account
9881 when adding overlay strings.
9882
9883 * dispextern.h (struct it): Add member add_overlay_start.
9884
bb746ea6
DL
98852000-06-22 Dave Love <fx@gnu.org>
9886
9887 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9888
9889 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9890
a8f573f3
KH
98912000-06-22 Kenichi Handa <handa@etl.go.jp>
9892
9893 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9894 is greater than 0.
9895
9f2bbc92
DL
98962000-06-21 Dave Love <fx@gnu.org>
9897
178c5d9c 9898 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9899
3ee5041c
SM
99002000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9901
9902 * syntax.c (back_comment): Simplify string-parity counting (with
9903 the added benefit of handling multiple string-styles as long as
9904 they are not intertwined).
9905 Jump to the slow code as soon as a comment starter is found in
9906 a "string_lossage" position. Fixes the case: " /* " /* " */.
9907
4c343001
DL
99082000-06-21 Dave Love <fx@gnu.org>
9909
9910 * Makefile.in: Use GETLOADAVG_LIBS.
9911
9912 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9913 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9914
e6365855
SM
99152000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9916
9917 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9918 (Fforward_comment, scan_lists):
9919 Check the comstyle of single-char comment-starters.
9920 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9921 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9922 Check the comstyle of single-char comment-starters.
9923 Clarify control-flow around the Scomment case.
e6365855 9924
5700d2cc
DL
99252000-06-20 Dave Love <fx@gnu.org>
9926
d355bd8a
SM
9927 * fns.c (make_hash_table, maybe_resize_hash_table):
9928 Cast arg of next_almost_prime.
5700d2cc 9929
178c5d9c 9930 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9931
9932 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9933 and unistd.h.
9934
4a27bdfb
GM
99352000-06-20 Gerd Moellmann <gerd@gnu.org>
9936
a61d762c 9937 * keyboard.c (adjust_point_for_property): Check if display
52283633 9938 property should be treated as intangible by looking at its value.
a61d762c 9939
178c5d9c 9940 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9941 (display_prop_intangible_p): New functions.
9942
9943 * dispextern.h (display_prop_intangible_p): Add prototype.
9944
9945 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9946
4a27bdfb
GM
9947 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9948 argument to sigprocmask.
9949
9950 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9951 argument to sigprocmask.
9952
9953 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9954 sigprocmask_set, and pass a pointer to it to sigprocmask.
9955
9956 * sysdep.c (sigprocmask_set): New variable.
9957
9958 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9959 report_file_error.
9960
427ec082
SS
99612000-06-20 Sam Steingold <sds@gnu.org>
9962
9963 * xrdb.c: Don't declare xmalloc, xrealloc.
9964
8972fe79 99652000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9966
9967 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9968 (re_comp): Cast gettext return value to avoid complaints when
9969 !HAVE_LIBINTL.
9970
074b6efe
DL
99712000-06-20 Dave Love <fx@gnu.org>
9972
52283633 9973 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9974
5700d2cc 9975 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9976
d355bd8a 9977 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9978
9979 * m/alpha.h: Don't declare xmalloc, xrealloc.
9980
0af4f205
DL
9981 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9982
9983 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9984
9985 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9986
9987 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9988 HAVE_GETWD.
9989
074b6efe
DL
9990 * keyboard.h (poll_for_input_1): Declare.
9991
9992 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9993
9994 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9995
9996 * doprnt.c: Don't declare xmalloc, xrealloc.
9997
9998 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9999 (getenv, ctime, getwd): Removed.
10000 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10001
10002 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10003 x_set_tool_bar_lines.
10004
10005 * config.in: Add HAVE_GETWD. Move some definitions above
10006 machine/system includes.
10007
68a5e97b
KH
100082000-06-20 Kenichi Handa <handa@etl.go.jp>
10009
95417e1e
KH
10010 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10011
68a5e97b
KH
10012 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10013 contain information about ENCODING.
10014
10015 * fontset.c (FONTSET_ASCII): Use the first element of char table
10016 for an ASCII font, not defalt slot.
10017 (fontset_ref_via_base): If FONTSET doesn't contain information for
10018 C, try the default fontset.
10019 (make_fontset): Don't copy the default fontset.
10020 (fontset_font_pattern): Likewise.
10021 (accumulate_font_info): If ELT is nil, use the corresponding
10022 element in the default fontset.
10023
3b4fa1b2
DL
100242000-06-19 Dave Love <fx@gnu.org>
10025
943e731c
DL
10026 * syntax.c (Fparse_partial_sexp): Doc fix.
10027
10028 * regex.h: Test PROTOTYPES as well as __STDC__.
10029
3b4fa1b2
DL
10030 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10031 errno, strerror. Put text after #endif in comment.
10032
52283633 10033 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10034
10035 * xterm.c (x_frame_of_widget): Likewise.
10036
cdf0357b
GM
100372000-06-19 Gerd Moellmann <gerd@gnu.org>
10038
10039 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10040 to Vfundamental_mode_abbrev_table.
10041
10042 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10043 bogus objects are marked. This slows down GC by ~80 percent, but
10044 it might be worth trying when debugging GC-related problems.
10045 This feature requires conservative stack marking to be enabled.
10046
10047 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10048 returns XLookupChars, reset `modifiers' to zero.
10049
998e9f8c
DL
100502000-06-19 Dave Love <fx@gnu.org>
10051
10052 * mktime.c: Unprotoized.
10053
18e21ce8 100542000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10055
10056 * data.c (set_internal): If variable is frame-local,
10057 store the new value immediately into the frame parameter alist.
10058
140c4ac6
KR
100592000-06-19 Ken Raeburn <raeburn@gnu.org>
10060
14358466
KR
10061 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10062 in the custom handler pointer.
10063
140c4ac6
KR
10064 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10065 value, or checks for CHAR_META can fail when Lisp_Object is a
10066 union type.
10067 * keymap.c (get_keyelt): Likewise.
10068
10d7bf84
KH
100692000-06-19 Kenichi Handa <handa@etl.go.jp>
10070
10071 * ccl.h (struct ccl_program): New member eol_type.
10072 (struct ccl_spec): New member cr_carryover.
10073
10074 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10075 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10076
10077 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10078 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10079 (decode_eol_post_ccl): New function.
10080 (decode_coding): Don't detect EOL format here for CCL based coding
10081 systems.
10082 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10083 decode_eol_post_ccl after running the CCL program.
10084 (code_convert_region): Don't detect EOL format here for CCL based
10085 coding systems.
10086 (decode_coding_string): Likewise.
10087
52e386c2
KR
100882000-06-18 Ken Raeburn <raeburn@gnu.org>
10089
10090 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10091 when treating it as an integer.
10092
10093 * coding.h (encode_coding_string): Declare.
10094
10095 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10096 it as an integer.
10097
10098 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10099 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10100 to be passed to get_local_map.
10101
10102 * sound.c (Fplay_sound): Don't call make_number on
10103 Frun_hook_with_args count argument.
10104
10105 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10106 for lisp objects in X event structure data field, when lisp
10107 objects are represented with unions.
10108 (x_scroll_bar_to_input_event): Ditto.
10109
b357b9d4
KR
101102000-06-16 Ken Raeburn <raeburn@gnu.org>
10111
10112 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10113 termination of string. Fix sense of test whether
10114 Vline_number_display_limit is an integer.
b357b9d4 10115
a871441d
GM
101162000-06-16 Gerd Moellmann <gerd@gnu.org>
10117
a9021acd
GM
10118 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10119 only if HAVE_X_WINDOWS.
10120
6344985d
GM
10121 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10122 of titles.
10123
427ec082 10124 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10125 out of bounds.
10126
228b083e
EZ
101272000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10128
10129 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10130 of its headers.
10131
c25b53a2
KH
101322000-06-15 Kenichi Handa <handa@etl.go.jp>
10133
10134 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10135 start of the while loop.
10136
a6981b11
GM
101372000-06-15 Gerd Moellmann <gerd@gnu.org>
10138
e9924e52
GM
10139 * atimer.c (alarm_signal_handler): Add forward declaration.
10140
a6981b11
GM
10141 * data.c (set_internal): Remove debug code.
10142
25fa6deb
GM
101432000-06-14 Gerd Moellmann <gerd@gnu.org>
10144
dce6b995
GM
10145 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10146
9f817ea4
GM
10147 * unexec.c (toplevel) [COFF]: Include coff.h.
10148
10149 * s/lynxos.h: New file.
10150
10151 * keymap.c (Fsingle_key_description): Enclose function key and
10152 event symbol names in angle brackets.
10153
8a4e3c0c
GM
10154 * xdisp.c (setup_echo_area_for_printing): Call
10155 message_log_maybe_newline if message_buf_print is not set.
10156
10157 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10158 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10159 function does something useful even when message_buf_print is
10160 already set.
10161
52283633
SM
10162 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10163 New variables.
25fa6deb
GM
10164 (ensure_echo_area_buffers): Initialize echo buffer's
10165 truncate lines setting to nil.
10166 (with_echo_area_buffer): Don't set the echo buffer's truncate
10167 lines setting here.
8a4e3c0c 10168 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10169 of message_truncate_lines.
10170 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10171 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10172 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10173
10174 * keyboard.c (read_char): Bind message-truncate-lines to t
10175 while displaying a help-echo.
10176
10177 * lisp.h (Qmessage_truncate_lines): External declaration.
10178
163dcff3
GM
101792000-06-13 Gerd Moellmann <gerd@gnu.org>
10180
1681ead6
GM
10181 * xdisp.c (Vline_number_display_limit): Renamed from
10182 line_number_display_limit.
10183 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10184 Extend documentation string. Initialize
10185 Vline_number_display_limit to nil meaning no limit.
10186 (decode_mode_spec): Use Vline_number_display_limit with its new
10187 meaning.
10188
163dcff3
GM
10189 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10190
18e21ce8 101912000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10192
10193 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10194
163dcff3
GM
10195 * xfns.c (x_set_frame_parameters): Comment fix.
10196
10197 * frame.c (store_frame_param): Call swap_in_global_binding if the
10198 variable's current binding was chosen based on this frame.
10199
10200 * data.c (swap_in_global_binding): New function.
10201
a704139d
EZ
102022000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10203
10204 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10205 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10206
9b6610db
EZ
102072000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10208
10209 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10210
c68833d2
JR
102112000-06-12 Jason Rumney <jasonr@gnu.org>
10212
10213 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10214
10215 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10216
10217 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10218
10219 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10220
ed1056b3
GM
102212000-06-12 Gerd Moellmann <gerd@gnu.org>
10222
10223 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10224 (syms_of_xfaces): Defsubr Sdump_colors.
10225 (x_free_colors): Don't treat b&w specially on default visual.
10226 (x_free_dpy_colors): New function.
10227 (free_face_colors): Don't check visual class; it's done
10228 in x_free_colors.
10229
10230 * xterm.c (x_frame_of_widget): New function.
10231 (x_alloc_nearest_color_for_widget): Use it.
10232 (x_copy_dpy_color): New function.
10233 (x_destroy_window): Free various colors.
10234
5050a2ef
KH
102352000-06-12 Kenichi Handa <handa@etl.go.jp>
10236
10237 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10238
10239 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10240
10241 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10242
10243 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10244
10245 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10246
fb1b041d
DL
102472000-06-11 Dave Love <fx@gnu.org>
10248
10249 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10250
ff96b5f4
EZ
102512000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10252
10253 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10254
db8eeecd
GM
102552000-06-11 Gerd Moellmann <gerd@gnu.org>
10256
ed1056b3 10257 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10258 to `XEvent *'.
10259
49b71c5f
KH
102602000-06-10 Kenichi Handa <handa@etl.go.jp>
10261
c479bd55
KH
10262 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10263 (regex_compile): Fix the code for handling the case of single byte
10264 char and multibyte char being mixed in a range within [...].
10265
ff6a65c2
KH
10266 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10267 and dst_multibyte members of coding.
10268
49b71c5f
KH
10269 * charset.c (update_charset_table): Update the table
10270 bytes_by_char_head.
10271 (init_charset_once): Initialize elements of bytes_by_char_head to
10272 1 except for leading codes for private charases.
10273
10274 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10275 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10276
9e80b57d
KR
102772000-06-09 Ken Raeburn <raeburn@gnu.org>
10278
10279 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10280 access the data it doesn't point to.
10281
f83fe4b4
GM
102822000-06-08 Gerd Moellmann <gerd@gnu.org>
10283
10284 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10285 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10286 event queue. This is necessary because Emacs otherwise won't
10287 perform a switch-frame to a new frame until some other event, for
10288 example a keystroke event, forces it to do so. This has various
10289 effects, one visible being that the cursor of a frame created with
10290 C-x 5 2 or switched to with a window manager key binding like
10291 A-TAB stays hollow because selected_window isn't on the newly
10292 focused frame until the switch-frame is performed.
10293
10294 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10295 generating a switch-frame event if necessary.
10296
10297 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10298
10299 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10300 it's an integer.
10301
0890801b
KH
103022000-06-08 Kenichi Handa <handa@etl.go.jp>
10303
52283633 10304 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10305
173cbca8
GM
103062000-06-07 Gerd Moellmann <gerd@gnu.org>
10307
3091c2a6
GM
10308 * window.c (displayed_window_lines): Take empty lines at
10309 the bottom of a window into account.
427ec082 10310
f38952fe
GM
10311 * window.c (displayed_window_lines): New function.
10312 (Fmove_to_window_line): Use displayed_window_lines to determine
10313 the number of lines to move, instead of using the window's height.
10314
10315 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10316 to stop reading, even if the form read sets point to a different
10317 value when evaluated.
10318
427ec082 10319 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10320 put the cursor.
10321
6ba6c818
KH
103222000-06-07 Kenichi Handa <handa@etl.go.jp>
10323
10324 * fileio.c (e_write): Free composition data if stored in
10325 coding->cmp_data.
10326
5f1aea9a
GM
103272000-06-06 Gerd Moellmann <gerd@gnu.org>
10328
666852af
GM
10329 * xdisp.c (display_line): Set row's and iterator's
10330 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10331 Set cursor even if row ends in the middle of a character.
10332 (dump_glyph_row): Print values of new flags.
10333 (redisplay_window) <cursor movement in unchanged window>: When
10334 point has been moved forward, and PT is at the end of the cursor
10335 row, don't place the cursor in the next row if the cursor row ends
10336 in the middle of a character or at ZV.
10337
10338 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10339 (struct glyph_row): Add starts_in_middle_of_char_p and
10340 ends_in_middle_of_char_p.
10341 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10342 ends_in_middle_of_char_p flag.
10343 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10344
d13f3e2e
GM
10345 * term.c (append_glyph): Revert change of 2000-06-06.
10346
10347 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10348 padding glyph not fitting on line as whole character not
10349 fitting on line.
10350
5f1aea9a
GM
10351 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10352 this isn't true for images with `:ascent 100'.
10353
10cda9b0
KH
103542000-06-06 Kenichi Handa <handa@etl.go.jp>
10355
ed00559d
KH
10356 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10357 as modified if it is originally unmodified.
10358
10cda9b0
KH
10359 * term.c (encode_terminal_code): Change the way to check if
10360 terminal coding does any conversion.
10361 (append_glyph): Set glyph->pixel_width correctly.
10362
10363 * xdisp.c (display_line): While checking line continuation, pay
10364 attention to a padding glyph.
10365
1969fae2
GM
103662000-06-05 Gerd Moellmann <gerd@gnu.org>
10367
10368 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10369
162ccef4
DL
103702000-06-05 Dave Love <fx@gnu.org>
10371
f19f32dd
DL
10372 * xdisp.c: Include fontset.h.
10373
10374 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10375
10376 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10377
10378 * dispnew.c: Conditionally include term.h.
10379
10380 * coding.h: Declare code_convert_string_norecord.
10381
10382 * frame.h (struct frame): Use volatile unconditionally.
10383
10384 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10385
10386 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10387
10388 * systime.h: Protect against multiple inclusion.
10389 (timezone) [USG5_4]: Define as time_t.
10390
10391 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10392 (Foptimize_char_table, make_temp_name): Declare.
10393
10394 * Makefile.in (xdisp.o): Depend on fontset.h.
10395
10396 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10397
10398 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10399 (Foptimize_char_table, make_temp_name): Declare.
10400
427ec082 10401 * s/irix4-0.h:
162ccef4
DL
10402 * s/irix5-0.h:
10403 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10404
2082fe81
DL
104052000-06-02 Dave Love <fx@gnu.org>
10406
10407 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10408
dcf671d2
GM
104092000-06-02 Gerd Moellmann <gerd@gnu.org>
10410
10411 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10412 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10413 be freed.
10414
10415 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10416 glyph, use the ASCII NUL character to determine the face.
10417
d42122a3
DL
104182000-06-02 Dave Love <fx@gnu.org>
10419
10420 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10421 (VFORK_RETURN_TYPE): Remove.
427ec082 10422
d42122a3
DL
10423 * config.in: Add NO_MATHERR.
10424
dd432f16
DL
104252000-06-01 Dave Love <fx@gnu.org>
10426
90aa4ea8
DL
10427 * cmds.c (internal_self_insert): Don't check
10428 Vbefore_change_function, Vafter_change_function.
10429
10430 * insdel.c (signal_before_change, signal_after_change): Likewise.
10431
10432 * buffer.c (Vbefore_change_function, Vafter_change_function):
10433 Variables and their initializations deleted.
10434
2330c9d4
DL
10435 * callint.c (Fcall_interactively): Doc fix.
10436
dd432f16
DL
10437 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10438
bf9e8804
DL
104392000-05-31 Dave Love <fx@gnu.org>
10440
10441 * textprop.c: Revert last change -- duplicated.
10442
3694b4ab
GM
104432000-05-31 Gerd Moellmann <gerd@gnu.org>
10444
10445 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10446 in #if 0.
10447
10448 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10449
f14156cd
JR
104502000-05-31 Jason Rumney <jasonr@gnu.org>
10451
8119aab8
JR
10452 * search.c (Fre_search_forward, Fre_search_backward)
10453 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10454
f14156cd
JR
10455 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10456
4aab9be3
JR
104572000-05-30 Jason Rumney <jasonr@gnu.org>
10458
10459 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10460 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10461
52283633 10462 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10463
10464 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10465 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10466 expand a nil default_filename.
10467
10468 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10469 pointer to glyph_to_pixel_coords, not a frame.
10470
10471 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10472 coding.h to dependencies.
10473
10474 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10475
10476 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10477 window pointer to be consistent with w32term.c and xterm.c.
10478
10479 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10480 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10481 (Qline_spacing, Qcenter): New variables.
10482 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10483 (x_set_line_spacing): New function.
52283633 10484 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10485 (x_specified_cursor_type): New function.
10486 (x_set_cursor_type): Use it.
10487 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10488 and icon strings.
10489 (validate_x_resource_name, x_get_resource_string): Measure lengths
10490 of external strings in bytes.
10491 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10492 GetTextExtentPoint32 with NULL title.
10493 (Fx_create_frame): Initialize Qline_spacing.
10494 (w32_load_system_font): Initialize font->double_byte_p.
10495 (x_to_w32_charset): Use Vw32_charset_info_alist.
10496 (Image, busy cursor, tooltip functions): Merged changes from
10497 xfns.c. Not yet functional on Windows.
10498
10499 * w32gui.h (W32FontStruct): Add double_byte_p member.
10500
10501 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10502 (emacs_button_translation): Use it.
10503 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10504 in `mask' to be set.
10505
10506 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10507 menu strings.
10508
10509 * w32term.c: Format and doc changes to bring closer to xterm.c.
10510 (w32_char_font_type): New enum.
10511 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10512 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10513 (w32_encode_char): New function.
10514 (x_encode_char): Removed.
10515 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10516 x_encode_char and w32_font_is_double_byte.
10517 (x_produce_image_glyph): Use image_ascent.
10518 (x_produce_glyphs): Use new version of w32_per_char_metric and
10519 handle NULL return value. Allow extra line spacing.
10520 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10521 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10522 w32_font_type member of glyph instead.
10523 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10524 (fast_find_position): Make sure not to consider rows not visible
10525 in the window.
10526 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10527 w32_menu_display_help with input blocked, as it can abort.
10528 (x_display_and_set_cursor): Choose cursor depending
10529 on buffer-local value of cursor_type.
10530 (x_draw_bar_cursor): Add parameter WIDTH.
10531
10532 * w32term.h (CP_DEFAULT): Define.
10533 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10534
10fc3187
GM
105352000-05-30 Gerd Moellmann <gerd@gnu.org>
10536
10537 * search.c (Fre_search_forward, Fre_search_backward)
10538 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10539
d0555360
KH
105402000-05-30 Kenichi Handa <handa@etl.go.jp>
10541
10542 * coding.c (detect_coding_iso2022): Fix code for checking
10543 CODING_CATEGORY_MASK_ISO_8_2.
10544
f1ad044f
SM
105452000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10546
10547 * regex.c (PREFETCH_NOLIMIT): New function.
10548 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10549
84ec3b4b
GM
105502000-05-29 Gerd Moellmann <gerd@gnu.org>
10551
66254a13
GM
10552 * syntax.c (find_defun_start): Move test for
10553 open_paren_in_column_0_is_defun_start outside of the loop.
10554
49e70dec
GM
10555 * xdisp.c (redisplay_window): Really switch buffers when
10556 displaying mode lines, and temporarily set selected_frame to the
10557 frame of the window that's redisplayed.
10558
84ec3b4b
GM
10559 * xfaces.c (free_realized_faces): Block/unblock input.
10560 (free_realized_multibyte_face): Ditto.
10561
869a3a14
DL
105622000-05-29 Dave Love <fx@gnu.org>
10563
10564 * textprop.c (Qkeymap): New variable.
10565 (syms_of_textprop): Intern it.
10566
10567 * keymap.c: Include intervals.h.
10568 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10569
10570 * Makefile.in (keymap.o): Depend on intervals.h.
10571
10572 * keyboard.c (menu_bar_items, tool_bar_items)
10573 (Fexecute_extended_command): Deal with `keymap' property.
10574 (read_key_sequence): Track map from `keymap' property as well as
10575 `local_map'.
10576
10577 * intervals.c (get_local_map): Extra arg to allow looking for
10578 `keymap' too.
10579
10580 * intervals.h (map_property): New enum.
10581 (get_local_map): Extra arg using it.
10582 (Qkeymap): Declare.
10583
84ec3b4b 10584 * lisp.h (get_local_map): Don't declare here.
869a3a14 10585
89d0c844
KH
105862000-05-29 Kenichi Handa <handa@etl.go.jp>
10587
10588 * Makefile.in (callproc.o): Depend on composite.h.
10589
10590 * callproc.c: Include composite.h.
10591 (Fcall_process): Handle composition correctly.
10592
10593 * coding.h (coding_allocate_composition_data): Extern it.
10594 (coding_restore_composition): Likewise.
10595
10596 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10597 yet allocated, finish decoding with result
10598 CODING_FINISH_INSUFFICIENT_CMP.
10599 (coding_allocate_composition_data): Make it non-static.
10600 (coding_restore_composition): Likewise.
10601
797a084a
EZ
106022000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10603
10604 * charset.c (syms_of_charset): Revert last change.
10605
cf872af5
EZ
106062000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10607
10608 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10609 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10610 Handa.
cf872af5 10611
5b1ae051
EZ
106122000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10613
10614 * charset.c (syms_of_charset): Set width of character sets
10615 eight-bit-control and eight-bit-graphic to 1 column.
10616
34ec9ebe
GM
106172000-05-26 Gerd Moellmann <gerd@gnu.org>
10618
10619 * config.in (HAVE_SPEED_T): New define.
10620
10621 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10622 `extern speed_t'.
10623
dd854dc2
DL
106242000-05-26 Dave Love <fx@gnu.org>
10625
10626 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10627
10628 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10629 (Fsubr_arity): New function.
10630 (syms_of_data): Install them.
10631
ba9f8f95
KH
106322000-05-26 Kenichi Handa <handa@etl.go.jp>
10633
0f3e0672
KH
10634 * charset.c (init_charset_once): Set the table bytes_by_char_head
10635 correctly.
10636
cebefb44
KH
10637 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10638 the default fontset to what Emacs uses by default.
0f3e0672
KH
10639 (check_registry_encoding): This function deleted.
10640 (Fset_fontset_font): Remove the adhoc condition for the default
10641 fontset. Allow cons in FONTNAME.
cebefb44 10642
0f3e0672
KH
10643 * fns.c (map_char_table): Ignore char-table entries for
10644 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10645
7a18af49
KR
106462000-05-25 Ken Raeburn <raeburn@gnu.org>
10647
10648 * emacs.c (main): Initialize keyboard syms before initializing
10649 window code, so face names are available.
10650
d2af47df
SM
106512000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10652
10653 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10654 of an anchor at the beginning of a shy-group.
10655
fc6a6a4e
GM
106562000-05-25 Gerd Moellmann <gerd@gnu.org>
10657
10658 * xdisp.c (handle_invisible_prop): Don't try to skip over
10659 invisible text if end of text is already reached.
10660
005f0d35
DL
106612000-05-25 Dave Love <fx@gnu.org>
10662
02513cdd
DL
10663 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10664
005f0d35
DL
10665 * coding.c (encode_eol): Add null statement after label.
10666
89f6ca4e
EZ
106672000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10668
10669 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10670 2000-05-20.
10671
a4e1759e
KH
106722000-05-25 Kenichi Handa <handa@etl.go.jp>
10673
10674 * ccl.c (ccl_driver): Fix previous change.
10675
eacfd7fe
KH
106762000-05-25 Kenichi Handa <handa@etl.go.jp>
10677
46ab33a9
KH
10678 * coding.c (run_pre_post_conversion_on_str): Set point to the
10679 beginning of buffer before calling coding->post_read_conversion.
10680 (decode_coding_string): Give correct args to
10681 run_pre_post_conversion_on_str.
10682 (encode_coding_string): Likewise.
10683
eacfd7fe
KH
10684 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10685 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10686 eight-bit-graphic correctly.
10687
f8569325
DL
106882000-05-24 Kenichi HANDA <handa@etl.go.jp>
10689
10690 * fileio.c (Finsert_file_contents): Even if a file is not found,
10691 execute codes for setting up coding system. Call
10692 after-insert-file-functions unconditionally.
10693
04545643
GM
106942000-05-24 Gerd Moellmann <gerd@gnu.org>
10695
10696 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10697 BSD_PGRPS are not defined.
10698
747d90ea
KH
106992000-05-24 Kenichi Handa <handa@etl.go.jp>
10700
10701 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10702 DESCRIPTION.
10703 (syms_of_charset): Avoid building same strings.
10704
716e3b88
GM
107052000-05-23 Gerd Moellmann <gerd@gnu.org>
10706
10707 * lread.c (Fload): Add a comment about the meaning of
10708 Vuser_init_file being t.
10709
10710 * puresize.h (BASE_PURESIZE): Increase to 675000.
10711
10712 * s/gnu-linux.h (setpgrp): Don't define it here because this
10713 prevents compilation on GNU/Linux systems with glib 2.2.
10714
10715 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10716 as setpgid.
427ec082 10717
9aeb39fa
EZ
107182000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10719
10720 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10721 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10722 version.
10723 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10724
29ced61b
KH
107252000-05-23 Kenichi Handa <handa@etl.go.jp>
10726
52283633 10727 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10728
3d80f24d
KH
10729 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10730
52283633 10731 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10732
29ced61b
KH
10733 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10734
d7e00792
KH
107352000-05-22 Kenichi Handa <handa@etl.go.jp>
10736
c9d80d38
KH
10737 * keyboard.c (read_char): Allow character codes 128..255 to be
10738 handled by input-method-function.
10739
d7e00792
KH
10740 * insdel.c (adjust_markers_for_replace): Fix previous change.
10741 (adjust_after_replace): If PREV_TEXT is nil, call
10742 adjust_markers_for_insert, not adjust_markers_for_replace.
10743
087121cc 107442000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10745
087121cc
GM
10746 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10747 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10748 [HAVE_GRANDPT]: Define.
10749 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10750
10751 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10752 like SYSV_PTYS.
10753
10754 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10755
10756 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10757
c9671f81
KH
107582000-05-20 Kenichi Handa <handa@etl.go.jp>
10759
10760 The following changes are to handle 8-bit characters in a
10761 multibyte buffer/string without facing with byte combining
10762 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10763 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10764
10765 * Makefile.in (fns.o): Depend on charset.h.
10766
10767 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10768 convert it to unibyte.
10769 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10770
10771 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10772 apparent char boundary.
10773 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10774 0x80..0x9F to/from multibyte form.
10775
10776 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10777 to unibyte.
10778
10779 * callproc.c (Fcall_process): Always encode an argument string if
10780 it is multibyte. Setup src_multibyte and dst_multibyte members of
10781 process_coding properly.
ce75fd23 10782
c9671f81
KH
10783 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10784 SPLIT_NON_ASCII_CHAR.
10785
10786 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10787 as is.
10788 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10789
52283633 10790 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10791 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10792 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10793 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10794 and eight-bit-graphic.
10795 (char_to_string): Likewise. Signal an error for too large
10796 character code.
10797 (char_printable_p): Return 0 for 8-bit characters.
10798 (update_charset_table): Update iso_charset_table only when a final
10799 character is non-negative.
10800 (find_charset_in_text): Renamed from find_charset_in_str.
10801 Arguments and return value changed. Callers changed.
10802 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10803 be -1 if CHARSET is used only internally.
10804 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10805 eight-bit-graphic.
10806 (Fcharset_after): Simplified.
10807 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10808 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10809 (multibyte_chars_in_text): Simplified by assuming there's no
10810 invalid multibyte sequence.
52283633
SM
10811 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10812 (str_as_unibyte): New functions.
10813 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10814 (init_charset_once): Initialization for
10815 LEADING_CODE_8_BIT_CONTROL.
10816 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10817 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10818 eight-bit-control and eight-bit-graphic.
10819
52283633
SM
10820 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10821 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10822 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10823 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10824 (CHARSET_REVERSE_CHARSET): Likewise.
10825 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10826 eight-bit-graphic.
10827 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10828 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10829 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10830 encounter an invalid multibyte sequence.
10831 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10832 sequence is always valid.
10833 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10834 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10835 (CHAR_STRING): For 8-bit characters, call char_to_string.
10836 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10837 multibyte sequence is always valid.
10838 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10839 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10840 (str_as_unibyte): Extern them.
c9671f81 10841 (BCOPY_SHORT): Fix a bug.
52283633 10842 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10843 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10844 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10845 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10846
bd4bde7f 10847 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10848 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10849 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10850 (EMIT_BYTES): New macros.
10851 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10852 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10853 macros deleted.
10854 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10855 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10856 check the validity of multibyte sequence.
10857 (decode_coding_emacs_mule): New function.
10858 (encode_coding_emacs_mule): New macro.
10859 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10860 the source.
10861 (DECODE_ISO_CHARACTER): Just return a character code.
10862 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10863 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10864 EMIT_CHAR to produced decoded characters. Exit the loop only by
10865 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10866 block here.
10867 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10868 only position codes for an invalid character.
10869 (encode_designation_at_bol): Return new destination pointer. 5th
10870 arg DSTP is changed to DST.
10871 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10872 from the source by ONE_MORE_CHAR. Don't handle the case of last
10873 block here.
10874 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10875 macros deleted.
52283633
SM
10876 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10877 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10878 TWO_MORE_BYTES to fetch a byte from the source.
10879 (encode_eol): Pay attention to coding->src_multibyte.
10880 (detect_coding, detect_eol): Preserve members src_multibyte and
10881 dst_multibyte.
10882 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10883 (encoding_buffer_size): Set magnification to 3 for all coding
10884 systems that require encoding.
10885 (ccl_coding_driver): For decoding, be sure that the result is
10886 valid multibyte sequence.
10887 (decode_coding): Initialize coding->errors and coding->result.
10888 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10889 and raw-text, always call decode_eol. Handle the case of last
10890 block here. If not coding->dst_multibyte, convert the resulting
10891 sequence to unibyte.
10892 (encode_coding): Initialize coding->errors and coding->result.
10893 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10894 and raw-text, always call encode_eol. Handle the case of last
10895 block here.
10896 (shrink_decoding_region, shrink_encoding_region): Detect cases
10897 that we can't skip data more rigidly.
10898 (code_convert_region): Setup src_multibyte and dst_multibyte
10899 members of coding. For decoding, if the buffer is multibyte,
10900 convert the source sequence to unibyte in advance. For encoding,
10901 if the buffer is multibyte, convert the resulting sequence to
10902 multibyte afterward.
10903 (run_pre_post_conversion_on_str): New function.
10904 (code_convert_string): Deleted and divided into the following two.
10905 (decode_coding_string, encode_coding_string): New functions.
10906 (code_convert_string1, code_convert_string_norecord): Call one of
10907 above.
10908 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10909 MAKE_NON_ASCII_CHAR.
52283633
SM
10910 (Fset_terminal_coding_system_internal)
10911 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10912 and dst_multibyte members.
10913 (init_coding_once): Initialize iso_code_class with new enum
10914 ISO_control_0 and ISO_control_1.
10915
10916 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10917 devided into ISO_control_0 and ISO_control_1.
10918 (struct coding_system): New members src_multibyte, dst_multibyte,
10919 errors, and result. Delete member fake_multibyte.
10920 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10921 nonzero.
10922 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10923 nonzero.
10924
10925 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10926 (Faset): Likewise.
10927
10928 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10929 multibyte form.
10930 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10931 combining occurs.
10932 (Ftranspose_region): Delete codes for handling byte combining.
10933
10934 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10935 dst_multibyte members of coding. On handling REPLACE on unibyte
10936 buffer, convert the result of decode_coding to unibyte. On
10937 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10938 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10939 multibyteness of the source (buffer or string).
10940
10941 * fns.c (concat): Handle 8-bit characters correctly.
10942 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10943 unibyte in the result.
10944 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10945 valid multibyte form in the result.
10946 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10947 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10948 return -1, signal an error.
10949 (base64_encode_1): New arg MULTIBYTE. Get each character by
10950 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10951 character is found, return -1.
10952 (Fbase64_decode_region): Delete codes for handling byte-combining.
10953 Treat each decoded byte as a unibyte character.
10954 (Fbase64_decode_string): Return unibyte string.
10955 (Fcompare_strings, concat, string_byte_to_char): Use
10956 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10957 FETCH_STRING_CHAR_ADVANCE.
10958 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10959 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10960
10961 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10962 SPLIT_NON_ASCII_CHAR.
10963 (fontset_ref_via_base, fontset_set): Likewise
10964
10965 * insdel.c (adjust_markers_for_record_delete): Deleted.
10966 (adjust_markers_for_insert): Argument changed. Caller changed.
10967 (adjust_markers_for_replace): Likewise.
52283633
SM
10968 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10969 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10970 (copy_text): Delete unused local varialbe c_save. For converting
10971 to multibyte, be sure to make all 8-bit characters in valid
10972 multibyte form.
10973 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10974 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10975 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10976 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10977 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10978 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10979 handling byte combining.
10980 (adjust_before_replace): Deleted.
427ec082 10981
c9671f81
KH
10982 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10983 SPLIT_NON_ASCII_CHAR.
10984 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10985 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10986 (Fkey_description): Likewise.
10987
10988 * lread.c (read1): On reading multibyte string, be sure to make
10989 all 8-bit chararacters in valid multibyte form.
10990 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10991
10992 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10993 unconditionally.
10994
10995 * process.c (Fstart_process): GCPRO current_dir before calling
10996 Ffind_operation_coding_system. Encode arguments here.
10997 (create_process): Don't encode arguments here. Setup
10998 src_multibyte and dst_multibyte members of struct coding.
10999 (read_process_output): Setup src_multibyte and dst_multibyte
11000 members of struct coding. If the output is to multibyte buffer,
11001 always decode the output of the process. Adjust the
52283633 11002 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11003 (send_process): Setup coding->src_multibyte according to the
11004 multibyteness of the source.
11005
52283633 11006 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11007 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11008 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11009
52283633 11010 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11011
11012 * w16select.c (Fw16_set_clipboard_data): Setup members
11013 src_multibyte and dst_multibyte of coding. Adjusted for the
11014 change for find_charset_in_str.
11015 (Fw16_get_clipboard_data): Likewise.
11016
11017 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11018 dst_multibyte of coding.
11019 (x_to_w32_font): Likewise.
11020
11021 * w32select.c (Fw32_set_clipboard_data): Setup members
11022 src_multibyte and dst_multibyte of coding. Adjusted for the
11023 change for find_charset_in_str.
11024 (Fw32_get_clipboard_data): Likewise.
11025
11026 * xdisp.c (get_next_display_element): Handle 8-bit characters
11027 correctly.
52283633
SM
11028 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11029 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11030
11031 * xselect.c (selection_data_to_lisp_data): Setup members
11032 src_multibyte and dst_multibyte of coding. Adjusted for the
11033 change for find_charset_in_str.
11034 (lisp_data_to_selection_data): Likewise.
11035
5f64c9e0
GM
110362000-05-19 Gerd Moellmann <gerd@gnu.org>
11037
52283633 11038 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11039
5f64c9e0
GM
11040 * dispextern.h (Vimage_types): Add extern declaration.
11041
11042 * xdisp.c (Vimage_types): Moved here from xfns.c.
11043 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11044
11045 * xfns.c (Vimages_types): Moved to xdisp.c.
11046 (syms_of_xfns): Move `image-types' to xdisp.c.
11047
11048 * w32fns.c (Vimage_types): Removed.
11049 (syms_of_w32fns): Remove `image-types'.
11050
813086ea
KH
110512000-05-18 Kenichi Handa <handa@etl.go.jp>
11052
11053 * fns.c (map_char_table): Pay attention to character number of
11054 charset. Check the validity of charset at the first level. For
11055 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11056 the default value.
11057
11058 * fontset.c: Include "buffer.h".
11059 (fs_load_font): If the face has fontset, record the face ID in
11060 that fontset.
11061 (Finternal_char_font): New function.
11062 (accumulate_font_info): New function.
11063 (Ffontset_info): Rewritten for the new fontset implementation.
11064 (syms_of_fontset): Register Vdefault_fontset in the first element
11065 of Vfontset_table. Include Vdefault_fontset in
11066 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11067 function.
11068
bdaebbf0
DL
110692000-05-16 Dave Love <fx@gnu.org>
11070
11071 * m/iris5d.h: Deleted -- unused.
11072
cb613bb8
GM
110732000-05-16 Gerd Moellmann <gerd@gnu.org>
11074
b15f3b77
GM
11075 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11076 `invalid' instead of `illegal'.
11077
11078 * indent.c (Fmove_to_column): When ending within a tab, insert
11079 spaces first so that markers at the end of the tab get adjusted.
11080
835c1b36
GM
11081 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11082 buffer list that wasn't selected in that frame.
11083
cb613bb8
GM
11084 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11085 is needed on mescaline, use a 2 char prefix, and call
11086 make_temp_name with second arg non-zero.
11087
11088 * fileio.c (make_temp_name): New function, extracted from
11089 Fmake_temp_name.
11090 (Fmake_temp_name): Use it.
11091
f685bea9
EZ
110922000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11093
52283633 11094 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11095
a1b8d58b
GM
110962000-05-15 Gerd Moellmann <gerd@gnu.org>
11097
11098 * Makefile.in (lisp): Add env.elc.
11099
11100 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11101
a265079f
GM
111022000-05-12 Gerd Moellmann <gerd@gnu.org>
11103
11104 * search.c (Freplace_match): Handle case of `\N' in the
11105 replacement when there's no group N.
11106
da4496b6
GM
111072000-05-11 Gerd Moellmann <gerd@gnu.org>
11108
0ace421a
GM
11109 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11110 of the message to message_dolog.
11111
1172eb8d
GM
11112 * keyboard.c (read_char): Don't clear current message for help
11113 events; let the code handling help events handle this. Change
11114 code detecting help events that should be ignored.
11115
da4496b6
GM
11116 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11117 we're interating over a string.
11118
0623e40f
DL
111192000-05-09 Dave Love <fx@gnu.org>
11120
11121 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11122 that offset before writing. Move gcpro region past call of
11123 Ffile_regular_p.
11124
bae2503b
DL
111252000-05-04 Dave Love <fx@gnu.org>
11126
11127 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11128
ec82fb2f
GM
111292000-05-04 Gerd Moellmann <gerd@gnu.org>
11130
11131 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11132 of inserted characters when BUF equals the current buffer, and PT
11133 is in front of or equal to FROM.
11134
cbf18892
GM
111352000-05-03 Gerd Moellmann <gerd@gnu.org>
11136
4ff40dd0
GM
11137 * xdisp.c (handle_single_display_prop): If display property value
11138 is invalid, or something not supported on the frame, restore
11139 iterator's position to what it was initially. Make sure to return
11140 0 for invalid and unsupported property values.
11141
cbf18892
GM
11142 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11143 that x_per_char_metric returns null.
11144
1b0672c3
GM
111452000-05-02 Gerd Moellmann <gerd@gnu.org>
11146
576da55d
GM
11147 * xterm.h (struct face): Add forward declaration.
11148 (struct image): Ditto.
11149 (image_ascent): Add prototype.
11150
11151 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11152 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11153 image_ascent instead of using IMAGE_ASCENT.
11154
11155 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11156 (IMAGE_ASCENT): Removed.
11157
11158 * xfns.c (Qcenter): New variable.
11159 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11160 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11161 (image_ascent): New function.
11162 (lookup_image): Recognize `:ascent center'.
11163 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11164 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11165 (xbm_load): Don't set image's ascent here.
11166 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11167 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11168 check ascent values here.
11169 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11170 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11171 (syms_of_xfns): Initialize Qcenter.
11172
1b0672c3
GM
11173 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11174 to the limits, increase the limits.
11175
0d7811ed
KH
111762000-05-01 Kenichi Handa <handa@etl.go.jp>
11177
11178 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11179 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11180
a943a5ca
GM
111812000-04-28 Gerd Moellmann <gerd@gnu.org>
11182
11183 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11184 taller than the window.
11185
5dba1e29
KH
111862000-04-28 Kenichi Handa <handa@etl.go.jp>
11187
11188 * xfaces.c (realize_x_face): Fix the argument of the second
11189 xassert. BASE_FACE may not be a face for ASCII.
11190
353964e3
GM
111912000-04-27 Gerd Moellmann <gerd@gnu.org>
11192
c76e04a8
GM
11193 * print.c (print_object): Treat print-length < 0 as nil.
11194
11195 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11196
11197 * s/freebsd.h (TERMCAP_OBJ): Removed.
11198 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11199
11200 * lread.c (read1): Don't treat period followed by certain
11201 characters as symbol start.
11202
11203 * xfns.c (slurp_file): New function.
11204 (xbm_image_p): Handle case of in-memory XBM files.
11205 (xbm_scan): Rewritten to work on memory buffers instead of files.
11206 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11207 Work on memory buffers instead of files. If DATA is null test
11208 if buffer looks like an in-memory XBM file.
11209 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11210 memory buffers instead of files.
11211 (xbm_file_p): New function.
11212 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11213
353964e3
GM
11214 * lread.c (end_of_file_error): New function.
11215 (read1): Call it instead of signaling `end-of-file' directly.
11216
427ec082 11217 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11218 with Fprinc instead of Fprin1.
11219
24d744ac
KR
112202000-04-26 Ken Raeburn <raeburn@gnu.org>
11221
11222 * window.c (freeze_window_start): Check that minibuffer scroll
11223 window isn't nil before extracting the window structure pointer
11224 from it.
11225
11226 * undo.c (record_delete): If we hit the end of the undo list, stop
11227 picking elements apart.
11228
7464346d
GM
112292000-04-26 Gerd Moellmann <gerd@gnu.org>
11230
11231 * xdisp.c (display_line): If lines are continued, restore
11232 iterator's ascent/descent information to the values before the
11233 first glyph not fitting on the line.
11234
612839b6
GM
112352000-04-25 Gerd Moellmann <gerd@gnu.org>
11236
11237 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11238 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11239
11240 * dispnew.c (increment_matrix_positions): Renamed from
11241 increment_glyph_matrix_buffer_positions.
11242 (increment_row_positions): Renamed from
11243 increment_glyph_row_buffer_positions.
11244
11245 * dispextern.h: Change names of renamed functions from dispnew.c
11246 in prototypes.
11247
cc181e95
GM
112482000-04-24 Gerd Moellmann <gerd@gnu.org>
11249
abfcc168
GM
11250 * fileio.c (Fdo_auto_save): Create directories for auto-save
11251 list file if necessary.
11252
cc181e95
GM
11253 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11254 from buffer or frame.
11255 (automatic_hscrolling_p): New variable.
11256 (hscroll_windows): Scroll windows horizontally only if automatic
11257 hscrolling is allowed.
11258 (syms_of_xdisp): New variable `automatic-hscrolling'.
11259
11260 * frame.h (struct frame): Add member extra_line_spacing.
11261
11262 * xfns.c (x_set_line_spacing): New function.
11263 (Fx_create_frame): Set line spacing from resources.
11264 (Qline_spacing): New variable.
11265 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11266
cc181e95
GM
11267 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11268
11269 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11270 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11271 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11272 extra_line_spacing from default value.
11273 (init_buffer_once): Initialize default value of extra_line_spacing.
11274
11275 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11276 and extra3.
11277
11278 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11279 prompt_width. Add extra line spacing.
11280
11281 * term.c (produce_glyphs): Remove reference to struct it's
11282 prompt_width.
11283
11284 * dispextern.h (struct it): Remove member prompt_width, add
11285 extra_line_spacing.
11286
58827478
GM
112872000-04-22 Gerd Moellmann <gerd@gnu.org>
11288
11289 * dispnew.c (update_frame_line): When writing a whole line, make
11290 sure cursor is in the right row afterwards, otherwise a use of
11291 capability `ch' in cmgoto might leave the cursor in the row below.
11292
25a87f42
GM
112932000-04-21 Gerd Moellmann <gerd@gnu.org>
11294
11295 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11296
11297 * keyboard.c (timer_check): Fix typo in comment.
11298
54edf5c2
KH
112992000-04-21 Kenichi Handa <handa@etl.go.jp>
11300
11301 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11302 name change: ch -> character.
11303
3a64eef5
GM
113042000-04-20 Gerd Moellmann <gerd@gnu.org>
11305
11306 * keyboard.c (echo_message_buffer): New variable.
11307 (echo_now): Set echo_message_buffer to the echo area buffer used
11308 to display the echo.
11309 (cancel_echoing): Reset echo_message_buffer to nil.
11310 (read_char): Code rewritten that handles canceling an echo or
11311 echoing a dash, respectively.
11312
11313 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11314 directory doesn't exist.
11315
6142fdcb
DL
113162000-04-19 Dave Love <fx@gnu.org>
11317
11318 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11319 (concat): Don't allow numeric args.
11320 (Fconcat): Doc change.
6142fdcb 11321
ac6b5352
SM
113222000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11323
11324 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11325 instead define end_match(1|2) more carefully.
11326 Use GET_CHAR_BEFORE_2 for `begline'.
11327
cb9215e4
GM
113282000-04-19 Gerd Moellmann <gerd@gnu.org>
11329
5e3dac3f
GM
11330 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11331 on 64-bit systems where NULL is defined as `0'.
11332
11333 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11334 the `variable argument list' to make it work on Alpha.
11335
cb9215e4
GM
11336 * m/alpha.h (_LP64) [!_LP64]: Define.
11337 (ORDINARY_LINK): Define for NetBSD.
11338
11339 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11340
f532dca0
DL
113412000-04-19 Dave Love <fx@gnu.org>
11342
c750667e
DL
11343 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11344 change.
11345
11346 * Makefile.in (LIBS): Don't use.
11347 (GETLOADAVG_OBJ): Define again.
11348 (otherobj): Add GETLOADAVG_OBJ.
11349
f532dca0
DL
11350 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11351
1c7e22fd
GM
113522000-04-18 Gerd Moellmann <gerd@gnu.org>
11353
f6d3257b
GM
11354 * lread.c (read_filtered_event): Cancel and start busy cursor.
11355
427ec082 11356 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11357 that the per-character metrics may be null.
11358
e10f64e7
GM
113592000-04-17 Gerd Moellmann <gerd@gnu.org>
11360
0daee095
GM
11361 * buffer.c (clone_per_buffer_values): New function.
11362 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11363 clone_per_buffer_values if CLONE is not nil.
11364
e10f64e7
GM
11365 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11366
38687d43
DL
113672000-04-16 Dave Love <fx@gnu.org>
11368
11369 * Makefile.in: Remove obsolete localcpp stuff.
11370 (GETLOADAVG_OBJ): Don't define.
11371 (obj): Move LIBOBJS...
11372 (otherobj): ... to here.
11373 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11374 whitespace-only lines after the continuation (Irix).
11375
c21c7262
GM
113762000-04-14 Gerd Moellmann <gerd@gnu.org>
11377
11378 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11379
11380 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11381
314767c0
DL
113822000-04-14 Dave Love <fx@gnu.org>
11383
11384 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11385 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11386 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11387 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11388 NLIST_STRUCT.
11389
11390 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11391 autoconfiscated HAVE_GETLOADAVG.
11392
11393 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11394 BROKEN_MKTIME.
11395
a2522dca
GM
113962000-04-14 Gerd Moellmann <gerd@gnu.org>
11397
11398 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11399 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11400
33744b5d
DL
114012000-04-14 Dave Love <fx@gnu.org>
11402
c21c7262 11403 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11404 (INTERVAL_SRC): Convert to make variable.
11405 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11406 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11407 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11408 add LIBOBJS.
11409 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11410 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11411 (shortlisp): Add facemenu, float-sup, frame.
11412 (SOME_MACHINE_LISP): Remove them from here.
11413 (LIBES): Change unused LDLIBS to autoconf LIBS.
11414
11415 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11416
9d3d5916
KH
114172000-04-14 Kenichi Handa <handa@etl.go.jp>
11418
11419 * composite.c (update_compositions): If FROM and TO are not in a
11420 valid range, do nothing.
11421
198e3c7a
GM
114222000-04-13 Gerd Moellmann <gerd@gnu.org>
11423
52283633 11424 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11425
52283633 11426 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11427
11428 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11429 as TERMCAP_OBJ.
11430
055a28c9
EZ
114312000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11432
11433 * fileio.c (a_write): Remove redundant semi-colons.
11434 (e_write): Return -1 if failed to write all the data.
11435 This fixes the changes made at 1999-12-15.
11436
f5c75033
DL
114372000-04-12 Dave Love <fx@gnu.org>
11438
11439 * fns.c (mapcar1): Test for null vals to support mapc.
11440 (Fmapc): New function.
11441
0c3cfc51
EZ
114422000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11443
11444 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11445 (IT_frame_up_to_date): Support the buffer local value of
11446 cursor-type, if defined.
11447
33465a31
DL
114482000-04-10 Dave Love <fx@gnu.org>
11449
11450 * editfns.c (preceding-char, following-char): Doc fix.
11451
6ed56568
KR
114522000-04-10 Ken Raeburn <raeburn@gnu.org>
11453
11454 * Makefile.in (temacs): Revert 2000-03-12 change.
11455
7cf80d4e
JR
114562000-04-10 Jason Rumney <jasonr@gnu.org>
11457
11458 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11459
34f3f342
GM
114602000-04-10 Gerd Moellmann <gerd@gnu.org>
11461
1a1b1895
GM
11462 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11463 area buffer, if it's not set up yet.
11464
34f3f342
GM
11465 * indent.c (compute_motion): Set immediate_quit.
11466
be0dbdab
GM
114672000-04-09 Gerd Moellmann <gerd@gnu.org>
11468
52283633 11469 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11470 (realize_tty_face): Suppress boldness if colors are the inverse of
11471 the default colors, and tty_suppress_bold_inverse_default_colors_p
11472 is set.
11473 (Ftty_suppress_bold_inverse_default_colors): New function.
11474 (syms_of_xfaces): Defsubr it.
11475
be0dbdab
GM
11476 * buffer.c (Frestore_buffer_modified_p): New function.
11477 (syms_of_buffer): Defsubr it.
11478
e8413c3b
KR
114792000-04-08 Ken Raeburn <raeburn@gnu.org>
11480
87f67317
KR
11481 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11482 charset id (int) argument, not a charset (Lisp_Object).
11483
e8413c3b
KR
11484 * coding.h (code_convert_string): Declare.
11485 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11486 object, as the fourth argument to code_convert_string.
11487
52283633 11488 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11489 (Fset_fontset_font): Use EQ to compare lisp objects.
11490
7c752c80
KR
114912000-04-05 Ken Raeburn <raeburn@gnu.org>
11492
c0333abc
KR
11493 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11494 a pointer that looks like a lisp object.
11495 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11496 zero, instead see whether it's an integer object, since they can't
11497 have intervals.
11498 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11499
52283633
SM
11500 * dispnew.c (allocate_matrices_for_frame_redisplay)
11501 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11502 to convert between (unsigned) int values and lisp integers.
11503 * keyboard.c (read_key_sequence): Likewise.
11504 * lread.c (substitute_object_recurse): Likewise.
11505 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11506 * minibuf.c (do_completion, Fminibuffer_complete_word)
11507 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11508 * term.c (produce_special_glyphs): Likewise.
11509
11510 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11511 * print.c (print_preprocess, print_object): Likewise.
11512
11513 * search.c (compile_pattern): Use NILP when checking for nil.
11514
74e49b38
KR
11515 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11516 __OPTIMIZE__]: Provide a GNU C macro version that handles
11517 lisp-object unions.
11518 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11519 field, to better cope with ENABLE_CHECKING and calls that modify a
11520 Lisp_Object using its old value.
11521
685e5ed2
GM
115222000-04-04 Gerd Moellmann <gerd@gnu.org>
11523
c407c570
GM
11524 * window.c (compare_window_configurations): Signal an error
11525 if parameters C1 or C2 aren't window configurations.
11526
685e5ed2
GM
11527 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11528 AFTER_POTENTIAL_GC calls around calls to functions that can
11529 signal an error and thus invoke the debugger.
11530
587a49ab
GM
115312000-04-03 Gerd Moellmann <gerd@gnu.org>
11532
62f20204
GM
11533 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11534 an error if decoding fails.
11535
587a49ab
GM
11536 * keyboard.c (lispy_mouse_names): Variable removed.
11537 (Vlispy_mouse_stem): New variable.
11538 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11539 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11540 for any mouse button number. Increase size of mouse_syms and
11541 button_down_location as needed. Call modify_event_symbol with
11542 different arguments.
11543 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11544 Call modify_event_symbol with different arguments.
11545 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11546 for any button number. Call modify_event_symbol with different
11547 arguments.
11548 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11549 Accept a string for NAME_ALIST_OR_STEM.
11550
11551 * lisp.h (larger_vector): Add prototype.
11552
11553 * fns.c (larger_vector): Make externally visible.
11554
11555 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11556
2d1675e4
SM
115572000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11558
11559 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11560 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11561 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11562 we are between str1 and str2.
11563 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11564 (PATFETCH): Use `TRANSLATE'.
11565 (PATFETCH_RAW): Fetch multibyte char if applicable.
11566 (PATUNFETCH): Remove.
11567 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11568 When writing a char, write it directly into the pattern buffer rather
11569 than going needlessly through a temp char-array.
11570 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11571 multibyte magic and remove the useless `#ifdef emacs'.
11572 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11573 buffer.
11574
11575 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11576 conditional on `emacs'.
11577
11578 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11579
cc2d8c6b
KR
115802000-04-01 Ken Raeburn <raeburn@gnu.org>
11581
11582 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11583 non-union-type versions of XMARK and friends here, because XMARK
11584 and friends won't work on an integer field if NO_UNION_TYPE is not
11585 defined.
52283633 11586 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11587
52283633 11588 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11589 (syms_of_composite): Delete local var NARGS, pass an int as first
11590 argument to Fmake_hash_table.
11591
2387b382
KR
11592 * editfns.c (text_property_stickiness): Use NILP to test
11593 Lisp_Object boolean value.
11594 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11595 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11596 problems reading from and changing the same lisp value in an
11597 XSETSTRING call.
11598
27660e89
GM
115992000-04-01 Gerd Moellmann <gerd@gnu.org>
11600
11601 * term.c (TN_no_color_video): New variable.
11602 (term_init): Intitialize TN_no_color_video.
11603 (enum no_color_bit): New enumeration.
11604 (MAY_USE_WITH_COLORS_P): New macro.
11605 (turn_on_face): Use it to determine if attributes may be used
11606 combined with colors.
11607
3578db3c
KR
116082000-04-01 Ken Raeburn <raeburn@gnu.org>
11609
11610 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11611 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11612 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11613 proper accessor macros.
11614 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11615 (grow_mini_window): Fix typo getting int value of root->height.
11616
6fc556fd
KR
11617 * xdisp.c (compute_string_pos): Fix order of arguments to
11618 string_pos_nchars_ahead.
11619 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11620 count arg to variable-arg routines like Frun_hook_with_args and
11621 Fformat.
587a49ab
GM
11622 (back_to_previous_visible_line_start)
11623 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11624 fixed-arg routines like Fget_char_property and Fmake_string.
11625 (reconsider_clip_changes): Use XINT when comparing integer lisp
11626 objects, or passing them as int arguments.
587a49ab
GM
11627 (mark_window_display_accurate, insert_left_trunc_glyphs)
11628 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11629 storing or passing integer values as lisp objects.
11630 (set_cursor_from_row, highlight_trailing_whitespace): Use
11631 INTEGERP, not implicit test against zero, for glyph object.
11632 (try_window_id): Don't use make_number when we want an int value.
11633
11634 * xfaces.c (xlfd_symbolic_value): Make last argument a
11635 Lisp_Object, to be consistent with callers.
11636 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11637 (lface_hash): Apply XFASTINT to lisp values before folding in.
11638
11639 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11640 fill in window width and height. Pass an int, not a lisp object,
11641 as first arg to Finsert.
11642
6e7b2457
GM
116432000-04-01 Gerd Moellmann <gerd@gnu.org>
11644
610d841e
GM
11645 * xfaces.c (realize_basic_faces): Block input while realizing
11646 the faces.
11647
6e7b2457
GM
11648 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11649
11650 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11651
aa110c0c
GM
116522000-03-31 Gerd Moellmann <gerd@gnu.org>
11653
11654 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11655 or ASCII, handle case that per-char metric is null.
aa110c0c 11656
8801a864
KR
116572000-03-30 Ken Raeburn <raeburn@gnu.org>
11658
c6129d7e
KR
11659 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11660
52283633
SM
11661 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11662 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11663 pointer, using eassert.
11664 * frame.h (XFRAME): Likewise.
11665
52283633
SM
11666 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11667 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11668 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11669 * data.c (set_internal): Likewise.
52283633
SM
11670 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11671 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11672 * fileio.c (auto_save_1): Likewise.
11673 * insdel.c (check_markers): Likewise.
11674 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11675 * undo.c (record_insert): Likewise.
11676 * vmsproc.c (child_sig): Likewise.
11677 * window.c (unshow_buffer, window_loop): Likewise.
11678 * xterm.c (x_erase_phys_cursor): Likewise.
11679
8e7af858
GM
116802000-03-30 Gerd Moellmann <gerd@gnu.org>
11681
11682 * xfns.c (free_image_cache): Free the cache structure itself
11683 last, after all its members have been freed.
11684
11685 * lisp.h (xstrdup): Add prototype.
11686
11687 * alloc.c (xstrdup): Moved here from xfaces.c.
11688 (allocating_for_lisp): Variable removed.
52283633 11689 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11690
11691 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11692 of Fsymbol_value.
11693 (xstrdup): Moved to alloc.c.
11694
e0b8c689
KR
116952000-03-29 Ken Raeburn <raeburn@gnu.org>
11696
b96f9fb7
KR
11697 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11698
11699 * emacs.c (main): Fix sense of no-loadup test.
11700
e0b8c689
KR
11701 * config.in (ENABLE_CHECKING): Undef.
11702
11703 * lisp.h (struct interval): Replace "parent" field with a union of
11704 interval pointer and Lisp_Object; add new bitfield to use as
11705 discriminant. Change other flag fields to bitfields.
11706 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11707 is defined and the supplied test fails, print a message and abort.
11708 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11709
11710 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11711 pointers; abort if the value looks like a lisp object.
52283633
SM
11712 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11713 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11714 Modify for new interval parent definition.
11715
52283633
SM
11716 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11717 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11718 addressable lisp object in the interval structure.
11719 (die): New function.
11720 (suppress_checking): New variable.
11721
11722 * intervals.c (interval_start_pos): Just return 0 if there's no
11723 parent object.
11724
f83c5440
GM
117252000-03-29 Gerd Moellmann <gerd@gnu.org>
11726
11727 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11728 and earlier Emacs versions.
11729
11730 * keyboard.c (Ftop_level): Cancel busy-cursor.
11731
11732 * eval.c (call_debugger): Cancel busy-cursor.
11733
fdce64ff
KH
117342000-03-29 Kenichi Handa <handa@etl.go.jp>
11735
11736 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11737 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11738
f6a3f532
SM
117392000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11740
11741 * regex.c (analyse_first): New function obtained by ripping out most
11742 of re_compile_fastmap and generalizing it a little bit so that it
11743 can also just return whether a given (sub)pattern can match the empty
11744 string or not.
11745 (regex_compile): Use `analyse_first' to decide whether the loop-check
11746 needs to be done or not for *, +, *? and +? (the loop check is costly
11747 for non-greedy repetition).
11748 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11749
e9b309ac
DL
117502000-03-28 Dave Love <fx@gnu.org>
11751
52283633 11752 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11753
e9b309ac
DL
11754 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11755
ed0767d8
SM
117562000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11757
11758 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11759 an expression.
11760 (enum re_opcode_t): Update description of succeed_n.
11761 (PATFETCH): Always define.
11762 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11763 operators, char classes, shy-groups and intervals).
11764 Optimize special cases of intervals so as to only use succeed_n and
11765 jump_n when really needed.
11766 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11767 that we don't have to handle the special cases any more.
11768 Simplify on_failure_jump handling as well.
11769
e11e7e46
JR
117702000-03-28 Jason Rumney <jasonr@gnu.org>
11771
11772 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11773
88faab89
GM
117742000-03-27 Gerd Moellmann <gerd@gnu.org>
11775
182ff242
GM
11776 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11777
11778 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11779
182ff242
GM
11780 * alloc.c (mark_maybe_object): New function.
11781 (mark_memory): Use it.
11782 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11783 (setjmp_tested_p, longjmp_done): New variables.
11784 (test_setjmp): New function.
11785 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11786 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11787
c1005d06
GM
11788 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11789 to DEC_TEXT_POS and INC_TEXT_POS.
11790
11791 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11792 with parameter MULTIBYTE_P.
11793
52283633 11794 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11795
7439e5b9 11796 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11797 buffers because it looks for multibyte character byte sequences
11798 which don't exist in unibyte text.
7439e5b9 11799
d9c545da
GM
11800 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11801
11fd416e 11802 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11803 [DEBUG_X_COLORS]: New functions.
11804 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11805
11806 * xfns.c (x_set_cursor_color): Get color reference counts right.
11807
11808 * xterm.c (x_copy_color): New function.
11809 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11810
11811 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11812 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11813 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11814 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11815 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11816 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11817 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11818 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11819 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11820 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11821
11fd416e
GM
11822 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11823 names for handling per-buffer variables.
d9c545da
GM
11824
11825 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11826 instead of MAX_BUFFER_LOCAL_VARS.
11827 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11828
11829 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11830
88faab89
GM
11831 * xfns.c (x_specified_cursor_type): New function.
11832 (x_set_cursor_type): Use it.
11833
11834 * buffer.h (struct buffer): Add cursor_type.
11835
d80f42b7
SM
118362000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11837
11838 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11839 (print_partial_compiled_pattern, re_compile_fastmap):
11840 Handle new opcode.
d80f42b7
SM
11841 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11842 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11843 executing it as well as when popping it off the stack to find infinite
11844 loops in non-greedy repetition operators.
11845
89e80928
GM
118462000-03-26 Gerd Moellmann <gerd@gnu.org>
11847
3d4ff2dd
GM
11848 * doc.c (Qfunction_documentation): New variable.
11849 (syms_of_doc): Initialize Qfunction_documentation.
11850 (Fdocumentation): If FUNCTION is a symbol with non-nil
11851 `function-documentation' property, return a documentation derived
11852 from that.
11853
bd96bd79
GM
11854 * buffer.c (syms_of_buffer): Add default-cursor-type.
11855 (init_buffer_once): Don't let cursor_type have a local value
11856 in every buffer.
11857
19d1bc27
GM
11858 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11859 on buffer-local value of cursor_type.
11860 (x_draw_bar_cursor): Add parameter WIDTH.
11861
11862 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11863 (init_buffer_once): Set default cursor_type value to t.
11864 Mark cursor_type as local everywhere.
11865 (syms_of_buffer): New per-buffer variable cursor-type.
11866
89e80928
GM
11867 * buffer.h (struct buffer): Remove member local_var_flags,
11868 add local_flags.
11869 (MAX_BUFFER_LOCAL_VARS): New macro.
11870 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11871 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11872 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11873 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11874
52283633 11875 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11876
11877 * category.c (Fset_category_table): Use new macros for per-buffer
11878 variables.
11879
11880 * buffer.c (buffer_permanent_local_flags): Make a char array.
11881 (max_buffer_local_idx): New variable.
11882 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11883 for new handling of per-buffer variables.
11884 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11885 (init_buffer_once): Initialize per-buffer vars differently.
11886 Set max_buffer_local_idx.
11887
11888 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11889 variables.
11890
52283633 11891 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11892
11893 * data.c (do_symval_forwarding, store_symval_forwarding)
11894 (find_symbol_value, set_internal, default_value, Fset_default)
11895 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11896 per-buffer variables.
11897
11898 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11899
9a0dd3dc
GM
119002000-03-24 Gerd Moellmann <gerd@gnu.org>
11901
b68c375f
GM
11902 * xterm.c (x_term_init): Unblock input around call1 of
11903 Qvendor_specific_keysyms.
11904
9a0dd3dc
GM
11905 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11906 (find_defun_start): Consider an open parenthesis in column 0
11907 a defun start only if open_paren_in_column_0_is_defun_start is set.
11908 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11909
7973e637
SM
119102000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11911
11912 * eval.c (Fautoload): Add entry in load-history (if after dump).
11913 * lread.c (load-history): Update docstring.
11914
39210e90
GM
119152000-03-24 Gerd Moellmann <gerd@gnu.org>
11916
11917 * indent.c (Fvertical_motion): Always use the current buffer.
11918 Temporarily change the window's buffer, if necessary.
11919
72db3ab5
GM
119202000-03-23 Gerd Moellmann <gerd@gnu.org>
11921
11922 * xterm.c (fast_find_position): Make sure not to consider rows
11923 not visible in the window.
11924
990b2375
SM
119252000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11926
11927 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11928 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11929
ff4df011
JR
119302000-03-22 Jason Rumney <jasonr@gnu.org>
11931
11932 * w32menu.c (single_submenu): Set help string to NULL if none.
11933 (w32_menu_show): Set help string correctly.
11934 (add-menu-item): Set help string in MIIM_DATA for menu item.
11935 Load SetMenuItemInfoA explicitly.
11936 (w32_menu_display_help): New function.
427ec082 11937
ff4df011
JR
11938 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11939 (QCdata): Moved to xdisp.c.
11940
11941 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11942 (Vw32_charset_to_codepage_alist): Removed.
11943 (Vw32_charset_info_alist): New variable.
52283633
SM
11944 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11945 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11946 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11947 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11948 with TODO comment.
11949 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11950 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11951 Define Vw32_charset_info_alist and w32_charset symbols.
11952
119532000-03-22 Jason Rumney <jasonr@gnu.org>
11954
11955 * makefile.nt (w32bdf.obj): Update dependencies.
11956
11957 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11958
11959 * w32fns.c: Include fontset.h after dispextern.h.
11960 (Fx_create_frame): Do not create fontset.
11961 (w32_load_system_font): Doc fix.
11962 (Fx_close_connection): Free full_name if it is not shared.
11963
11964 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11965 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11966 Callers updated.
ff4df011
JR
11967 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11968 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11969 (w32_font_is_double_byte): New function, needs body.
11970 (x_append_glyph): Set glyph->glyph_not_available_p.
11971 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11972 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11973 character, convert it to a unibyte character.
11974 (struct glyph_string): Delete member `charset'.
11975 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11976 calculating it is found.
11977 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11978 the case that per char metric is not available correctly.
11979 (x_fill_glyph_string): Handle the case that the specific glyph is
11980 not available correctly.
11981 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11982 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11983 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11984 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11985 fontset. Don't call FS_LOAD_FONT.
11986
439d5cb4
KR
119872000-03-22 Ken Raeburn <raeburn@gnu.org>
11988
11989 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11990 (INT_LISPLIKE): New macro.
11991 (NULL_INTERVAL_P): Use it.
52283633
SM
11992 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11993 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11994 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11995
11996 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11997 explicit references to "parent" field of struct interval and
11998 associated unclean type conversions.
52283633
SM
11999 * intervals.c (create_root_interval, root_interval, rotate_right)
12000 (rotate_left, balance_possible_root_interval, split_interval_right)
12001 (split_interval_left, interval_start_pos, find_interval)
12002 (next_interval, previous_interval, update_interval)
12003 (adjust_intervals_for_insertion, delete_node, delete_interval)
12004 (adjust_intervals_for_deletion, merge_interval_right)
12005 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12006 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12007 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12008 Likewise.
12009 * syntax.c (update_syntax_table): Likewise.
12010
12011 * intervals.c (reproduce_tree_obj): New function, like
12012 reproduce_tree but takes a Lisp_Object for the parent. Declare
12013 with prototype.
12014 (graft_intervals_into_buffer): Use it when appropriate.
12015 (reproduce_tree): Declare with prototype.
12016 (balance_possible_root_interval): Check that the parent is a lisp
12017 object before trying to examine its type.
12018
ee1c5b21
GM
120192000-03-22 Gerd Moellmann <gerd@gnu.org>
12020
12021 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12022 as strings only if both are known to be strings.
12023
12024 * s/openbsd.h (LIBS_TERMCAP): Undef.
12025
1fb352e0
SM
120262000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12027
12028 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12029 definitions for non-Emacs compilation.
12030 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12031 outside of `#ifdef emacs'.
12032 (print_partial_compiled_pattern): Update.
12033 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12034 (re_compile_fastmap): Merge handling of charset and charset_not (for
12035 emacs and non-emacs compilation as well).
12036 Similarly for (not)categoryspec and (not)syntaxspec.
12037 Don't use the fastmap when reaching `anychar' since the added
12038 complexity is not justified.
12039 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12040 and (not)syntaxspec. Merge (not)categoryspec.
12041
fdaa1f77
KH
120422000-03-22 Kenichi Handa <handa@etl.go.jp>
12043
52283633
SM
12044 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12045 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12046 --without-x.
fdaa1f77 12047
d152fb46
DL
120482000-03-21 Dave Love <fx@gnu.org>
12049
12050 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12051 doc string.
12052
d2cafc8c
GM
120532000-03-21 Gerd Moellmann <gerd@gnu.org>
12054
12055 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12056 (lface_fully_specified_p): Don't check contents of
12057 LFACE_FONT_INDEX because that attribute is optional.
12058 (realize_x_face): Remove now unwarranted xassert.
12059
9111d4b5
KH
120602000-03-21 Kenichi HANDA <handa@etl.go.jp>
12061
12062 The following changes are to make font selection based on
12063 characters, not charset. In addition, they recover fontset
12064 facilities while utilizing the new font selection mechanism.
12065
6c4bfdc0
KH
12066 * Makefile.in (fontset.o): Depend on dispextern.h.
12067
12068 * alloc.c (mark_face_cache): Don't mark face->registry.
12069
9111d4b5
KH
12070 * dispextern.h (struct glyph): New member glyph_not_available_p.
12071 Use 22 bits for face_id.
12072 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12073 (struct face): Delete member registry, new member ascii_face.
12074 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12075 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12076 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12077 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12078
12079 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12080 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12081 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12082 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12083 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12084 (fs_free_face_fontset, fontset_font_pattern)
12085 (face_suitable_for_char_p, face_for_char)
12086 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12087 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12088 (FS_LOAD_FACE_FONT): New macro.
12089
12090 * fontset.c: All codes rewritten or adjusted for the change of
12091 fontset implementation. Now fontset is represented by char table.
52283633
SM
12092 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12093 Variables removed.
9111d4b5 12094 (my_strcasecmp): Function removed.
52283633 12095 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12096 (AREF, ASIZE): New macros.
52283633
SM
12097 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12098 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12099 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12100 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12101 (fontset_id_valid_p, font_family_registry, fontset_name)
12102 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12103 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12104 New functions.
12105 (fs_load_font): New arg FACE. Caller changed.
12106 (fs_query_fontset): Argument changed. Caller changed.
12107 (Fquery_fontset): call fs_query_fontset.
12108 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12109 Functions removed.
52283633
SM
12110 (clear_fontset_elements, check_registry_encoding)
12111 (check_fontset_name): New functions.
9111d4b5
KH
12112 (syms_of_fontset): Set char-table-extra-slots property of fontset
12113 to 3. Staticpro and initialize Vfontset_table and
12114 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12115
12116 * frame.h (struct frame): Member `fontset_data' removed.
12117 (FRAME_FONTSET_DATA): Macro removed.
12118
12119 * frame.c (make_frame): Don't allocate f->fontset_data.
12120 (Fdelete_frame): Don't free f->fontset_data.
12121
6c4bfdc0
KH
12122 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12123
9111d4b5
KH
12124 * xdisp.c (charset_at_position): Function removed.
12125 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12126 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12127 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12128 Likewise.
12129 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12130 FACE_FOR_CHARSET.
52283633
SM
12131 (get_next_display_element, append_space)
12132 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12133
12134 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12135 Variables removed.
12136 (clear_font_table, frame_update_line_height, load_face_font):
12137 Adjusted for the change of fontset implementation.
12138 (load_face_fontset_font): Function removed.
12139 (pixel_point_size): New function.
12140 (font_list): Argument type changed. Caller changed.
12141 (LFACE_FONT): New macro.
12142 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12143 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12144 Lisp_Object. Determine the font name by actually loading a font
12145 by the specified pattern. Set LFACE_FONT (lface) to the specified
12146 pattern. Even if a font is not found, don't try alternatives.
12147 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12148 (set_font_frame_param): If `font' is specified in lface, use it.
12149 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12150 (lface_same_font_attributes_p): Likewise.
12151 (make_realized_face): Arguent changed. Caller changed. Set
12152 face->ascii_face to face itself.
12153 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12154 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12155 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12156 (free_realized_multibyte_face): New function.
12157 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12158 changed. Caller changed.
12159 (try_font_list): Argument type changed.
12160 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12161 (choose_face_font): Argument changed. Handle fontset properly.
12162 (choose_face_fontset_font): Function removed.
12163 (realize_default_face, realize_named_face): Don't remove the
12164 former face here.
12165 (realize_face): Argument changed. Caller changed. Remove face
52283633 12166 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12167 (realize_x_face): Argument changed. Caller changed. For a
12168 multibyte character, share fontset with base_face. For a single
52283633 12169 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12170 (realize_tty_face): Argument changed. Caller changed.
12171 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12172 (face_at_buffer_position): Don't check multibyte_p for returning
12173 DEFAULT_FACE_ID.
12174 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12175 FACE_SUITABLE_FOR_CHARSET_P.
12176 (syms_of_xfaces): Remove code for Qx_charset_registry and
12177 Vface_default_registry.
12178
6c4bfdc0
KH
12179 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12180 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12181 (x_per_char_metric): Don't try FONT->default_char. Even if
12182 pcm->width is zero, glyph bits may exist.
12183 (x_encode_char): Always initialize char2b->byte1.
12184 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12185 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12186 (x_append_glyph): Set glyph->glyph_not_available_p.
12187 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12188 it->charset. Handle the case that per char metric is not
12189 available. If it->multibyte_p is zero and it->c is a multibyte
12190 character, convert it to a unibyte character.
12191 (struct glyph_string): Delete member `charset'.
12192 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12193 the case that per char metric is not available correctly.
12194 (x_fill_glyph_string): Handle the case that the specific glyph is
12195 not available correctly.
12196 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12197 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12198 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12199 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12200 fontset. Don't call FS_LOAD_FONT.
12201
12202 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12203 (x_create_tip_frame): Likewise.
12204 (Fx_close_connection): Free full_name of font_info.
12205
12206 * fns.c (optimize_sub_char_table): New function.
12207 (Foptimize_char_table): New function.
12208 (syms_of_fns): Defsubr Soptimize_char_table.
12209
b33dd3b0
GM
122102000-03-20 Gerd Moellmann <gerd@gnu.org>
12211
12212 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12213 only if buffer is displayed in some window.
12214
12215 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12216 (try_window_reusing_current_matrix): Don't call scroll run
12217 function if run's current and desired position are the same;
12218 this prevents cursor flickering.
12219
4e8a9132
SM
122202000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12221
12222 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12223
12224 * regex.c (RE_STRING_CHAR): New macro.
12225 (GET_CHAR_AFER_2): Remove.
12226 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12227 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12228 (print_partial_compiled_pattern, re_compile_fastmap)
12229 (re_match_2_internal): Remove on_failure_jump_exclusive.
12230 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12231 optimization only need to work for * (ie. can use of_keep_string_jump).
12232 Remove the special case for .*\n since it is now covered by the general
12233 optimization.
12234 (re_search_2): Don't bother with `room'.
12235 (skip_one_char): New function.
12236 (skip_noops): Simplify since `memory' is not needed any more.
12237 (mutually_exclusive_p): Restructure slightly to use `switch' and
12238 add handling for "all" remaining cases.
12239 (re_match_2_internal): Change on_failure_jump_smart to use
12240 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12241 rather than on_failure_jump_exclusive.
12242
2136fdd4
GM
122432000-03-19 Gerd Moellmann <gerd@gnu.org>
12244
12245 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12246 number of bits per RGB because it's everywhere used as the depth
12247 of the visual.
12248
12249 * term.c (calculate_costs): Remove code dealing with X frames.
12250
18e21ce8 122512000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12252
12253 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12254
d7b511c4
GM
122552000-03-18 Gerd Moellmann <gerd@gnu.org>
12256
12257 * lread.c (read_integer): Unread the last char not consumed.
12258
16b5d424
GM
122592000-03-17 Gerd Moellmann <gerd@gnu.org>
12260
12261 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12262 which are in the process of being deleted.
16b5d424 12263
1fa28578
GM
122642000-03-16 Gerd Moellmann <gerd@gnu.org>
12265
83488cce
GM
12266 * Makefile.in (mostlyclean): Add `*.core'.
12267 (clean): Add `bootstrap-emacs'.
12268
1fa28578
GM
12269 * lread.c (read_integer): New function.
12270 (read1): Support read syntax #o, #x, #b, #r.
12271
99633e97
SM
122722000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12273
1fa28578
GM
12274 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12275 make sure POINTER_TO_OFFSET gives the same value before and after
12276 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12277 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12278 (debug): Now only active if > 0 rather than if != 0.
12279 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12280 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12281 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12282 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12283 (store_op1, store_op2, insert_op1, insert_op2)
12284 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12285 (group_in_compile_stack): Move to after its arg's types are
12286 declared and add a prototype.
99633e97 12287 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12288 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12289 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12290 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12291 indentation of the greedy-op and shy-group code.
99633e97
SM
12292 (at_(beg|end)line_loc_p): Fix argument's types.
12293 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12294 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12295 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12296 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12297 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12298 QUIT unconditionally.
99633e97 12299
699238d9
GM
123002000-03-15 Gerd Moellmann <gerd@gnu.org>
12301
12302 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12303 a sole completion.
12304
12305 * process.c (send_process): Add a hint that the function
12306 can call Lisp code to its comment.
12307
12308 * lread.c (load_dangerous_libraries): New variable.
12309 (Vbytecomp_version_regexp): New variable.
12310 (safe_to_load_p): New function.
12311 (Fload): Handle files not compiled with Emacs specially.
12312 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12313
34e23e5a
GM
123142000-03-14 Gerd Moellmann <gerd@gnu.org>
12315
9c763cca
GM
12316 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12317
12318 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12319 support functions only if HAVE_X11R6_XIM is defined.
12320 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12321
12322 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12323
12324 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12325 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12326 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12327
12328 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12329 (HAVE_X11R6_XIM): Define.
12330
12331 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12332
34e23e5a
GM
12333 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12334 If set, call XSynchronize.
12335
66f0296e
SM
123362000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12337
34e23e5a
GM
12338 * regex.c: Declare a new type `re_char' used throughout the code
12339 for the string char type. It's `const unsigned char' to match the
12340 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12341 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12342 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12343 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12344 code duplication.
66f0296e
SM
12345
12346 * charset.h (GET_CHAR_AFTER_2): Remove.
12347 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12348
854a025c
KR
123492000-03-12 Ken Raeburn <raeburn@gnu.org>
12350
12351 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12352 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12353 of them try to use backquotes.
12354
b9d2c7e2
DL
123552000-03-12 Dave Love <fx@gnu.org>
12356
12357 * unexelf.c: Restore changes of 1999-10-19.
12358 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12359 fix its type and alignment; copy it from current process.
12360
5e5dff44
GM
123612000-03-12 Gerd Moellmann <gerd@gnu.org>
12362
9b2f3c38
GM
12363 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12364 has been found. Fix bug not computing timer's predecessor.
12365
427ec082 12366 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12367 file name.
12368
e1cff360
GM
12369 * window.c (Fsave_window_excursion): Doc fix.
12370
52283633 12371 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12372
e411ce4b
EZ
123732000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12374
12375 * msdos.c (vga_installed): New function, code moved from
12376 dos_set_window_size.
12377 (Qbar, Qcursor_type, outside_cursor): New variables.
12378 (syms_of_msdos): Intern and staticpro them.
12379 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12380 shape used outside Emacs when called for the first time.
12381 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12382 cursor shape used outside Emacs.
12383 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12384 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12385 type has changed.
12386 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12387 parameters specify the cursor. Make qreverse a global
12388 variable (renamed to Qreverse).
12389
80460654
GM
123902000-03-09 Gerd Moellmann <gerd@gnu.org>
12391
12392 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12393
95cd4c40
SM
123942000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12395
12396 This is a big redesign of failure-stack and register handling, prompted
12397 by bugs revealed when trying to add shy-groups. Overall, what happened
12398 is that loops are now structured a little differently, groups can be
12399 shy and the code is a little simpler.
12400
12401 * regex.h: Update the copyright.
12402 (RE_SHY_GROUPS): New value.
12403 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12404 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12405
80460654
GM
12406 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12407 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12408 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12409 for (start|stop)_memory since they now only take one argument (the
12410 second has becomes unnecessary).
52283633 12411 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12412 (print_compiled_pattern): Use %ld to printf long ints and flush to
12413 make debugging a little easier.
95cd4c40
SM
12414 (union fail_stack_elt): Make the integer unsigned.
12415 (struct fail_stack_type): Add a `frame' element.
12416 (INIT_FAIL_STACK): Init `frame' as well.
12417 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12418 (DEBUG_PUSH, DEBUG_POP): Remove.
12419 (NUM_REG_ITEMS): Remove.
12420 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12421 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12422 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12423 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12424 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12425 New macros.
80460654
GM
12426 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12427 address pushed is not the destination of the jump but the source
12428 of it instead.
95cd4c40
SM
12429 (NUM_FAILURE_ITEMS): Remove.
12430 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12431 registers before the actual failure point). Don't hardcode any
12432 meaning for str==NULL anymore.
95cd4c40 12433 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12434 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12435 Remove.
95cd4c40
SM
12436 (REG_UNSET_VALUE): Use NULL (why not?).
12437 (compile_range): Remove declaration since it doesn't exist.
12438 (struct compile_stack_elt_t): Remove inner_group_offset.
12439 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12440 (regex_grow_registers): Remove dead code.
12441 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12442 (regex_compile): Add shy-groups Change loops to use
12443 on_failure_jump_smart&jump instead of
12444 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12445 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12446 variable to me). Use `jump' instead of `jump_past_alt' and don't
12447 bother with push_dummy_failure in alternatives since it is now
12448 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12449 emacs' for (re)allocating the stack.
12450 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12451 from loop when bufp->can_be_null rather than jumping to `done'.
12452 Avoid jumping backwards so as to ensure termination. Use
12453 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12454 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12455 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12456 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12457 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12458 (lowest_active_reg, highest_active_reg)
12459 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12460 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12461 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12462 variables. Push register (in `start_memory') on the stack rather
12463 than storing it in old_reg(start|end). Remove the cycle detection
12464 from `stop_memory', replaced by the use of on_failure_jump_loop
12465 for greedy loops. Add code for the new on_failure_jump_<foo>.
12466 Remove ad-hoc code in `on_failure_jump' to push more registers in
12467 the case of a loop. Take out code from `maybe_pop_jump' into
12468 separate functions and adapt it to the semantics of
12469 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12470 and push_dummy_failure. Remove dummy_failure handling and
12471 handling of `failures to jump to on_failure_jump' (this last one
12472 was already dead code, it seems).
12473 (group_match_null_string_p, alt_match_null_string_p)
12474 (common_op_match_null_string_p): Remove.
95cd4c40 12475
7397acc4
DL
124762000-03-08 Dave Love <fx@gnu.org>
12477
12478 * config.in: Don't depend on __STDC__ for volatile.
12479 Add POINTER_TYPE, PTR, PROTOTYPES.
12480
12481 * hftctl.c, strftime.c: Use PROTOTYPES.
12482 * eval.c (find_handler_clause): Likewise.
12483
12484 * mem-limits.h: Use POINTER_TYPE.
12485
12486 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12487 (memory_warnings): Declare using POINTER_TYPE.
12488
5e91ff9e
GM
124892000-03-08 Gerd Moellmann <gerd@gnu.org>
12490
feab4fba
GM
12491 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12492
52283633 12493 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12494
5e91ff9e
GM
12495 * xfns.c: Remove obsolete code in #if 0.
12496 (Fx_focus_frame): New function.
12497
a735b7e1
KH
124982000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12499
12500 * coding.c (coding_category_name): Add coding-category-utf-8,
12501 coding-category-utf-16-be, coding-category-utf-16-le.
12502 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12503 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12504 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12505 (detect_coding_utf_8): New function.
12506 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12507 UTF_16_LOW_SURROGATE_P): New macros.
12508 (detect_coding_utf_16): New function
12509 (detect_coding_mask): When priorities are specified, skip any
12510 categories that have `nil' coding-system. Fix bug of returning
12511 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12512 returns a mask not set in PRIORITIES.
12513 (detect_eol_type_in_2_octet_form): New function.
12514 (detect_eol): selects detect_eol_type_XXX to call according to
12515 cooding->category_idx.
12516 (detect_coding_system): Remove `nil' coding-system in the result.
12517 (Fupdate_coding_systems_internal): Update all coding-categories.
12518
52283633
SM
12519 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12520 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12521 New macros.
12522 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12523 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12524 (CODING_CATEGORY_IDX_UTF_16_LE)
12525 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12526 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12527 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12528 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12529
9994cc69
GM
125302000-03-07 Gerd Moellmann <gerd@gnu.org>
12531
e9b4e5ff
GM
12532 * doc.c (Fdocumentation_property): If value is not a string,
12533 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12534
f7daf1e1
GM
12535 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12536 close the display with XtCloseDisplay. This caused a bus error
12537 on OpenWindows.
12538
9994cc69
GM
12539 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12540 complete but not unique.
12541
4336c705
GM
125422000-03-06 Gerd Moellmann <gerd@gnu.org>
12543
18bb0684
GM
12544 * process.c (send_process): Remove local variable `procname' that
12545 might become invalid when a GC happens. Instead, access the
12546 process name slot directly.
12547
4336c705
GM
12548 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12549 orig_height if set.
12550
12551 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12552 orig_height if set.
12553
515d0d0e
EZ
125542000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12555
12556 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12557 glyph matrices have been freed.
12558
100b3cbb
GM
125592000-03-05 Gerd Moellmann <gerd@gnu.org>
12560
50df5e5a 12561 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12562 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12563
12564 * xfns.c (QCdata): Moved to xdisp.c.
12565
12566 * xdisp.c (QCdata): Moved here from xfns.c.
12567 (syms_of_xdisp): Initialize QCdata.
12568
12569 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12570
12571 * window.c (coordinates_in_window): Use
12572 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12573 FRAME_INTERNAL_BORDER_WIDTH.
12574
100b3cbb 12575 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12576 it is obviously invalid.
100b3cbb
GM
12577
12578 * xterm.c (x_term_init): Create a colormap if not using the
12579 default visual.
12580
12581 * xterm.h (select_visual): Change prototype.
12582
12583 * xfns.c (select_visual): Rewritten. Recognize user-specified
12584 visual classes.
12585 (visual_classes): New variable.
12586
64d739c4
GM
125872000-03-04 Gerd Moellmann <gerd@gnu.org>
12588
12589 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12590 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12591 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12592 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12593 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12594 XtNcolormap resources.
12595 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12596 (Fx_create_frame): Initialize color members of x_output structure.
12597 (xpm_load): Pass colormap to XPM lib.
12598
12599 * xfaces.c (x_free_colors): Access colormap of frame using
12600 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12601 when default colormap is used.
12602
12603 * xterm.c (x_term_init): Set Colormap member of x_display_info
12604 structure. Copy colormap if resource `privateColormap' is
12605 specified (PseudoColor only).
12606 (x_setup_relief_color): Access colormap of frame using
12607 FRAME_X_COLORMAP.
12608
12609 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12610 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12611
c3cee013
JR
126122000-03-04 Jason Rumney <jasonr@gnu.org>
12613
12614 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12615 other non-platform-specific equivalents.
64d739c4 12616 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12617 specific functions and macros as their w32 equivalents where
12618 non-platform-specifics are not available.
12619 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12620 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12621 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12622 (frame_update_line_height): Use macros to access f->output_data.
12623 (defined_color): Remove FIXME comments; fixed.
12624 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12625 into #ifdef blocks. Add WINDOWSNT blocks.
12626 (Fx_list_fonts): Use macros for accessing font data.
12627 (set_lface_from_font_name): Different default fonts for X and
12628 WINDOWSNT.
12629 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12630 scalable for backward compatibility.
64d739c4 12631 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12632 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12633
64d739c4 12634 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12635 syms_of_w32faces.
12636
12637 * makefile.nt (w32faces.obj): Remove.
12638 (xfaces.obj): Add.
12639
807cc41c
JR
126402000-03-03 Jason Rumney <jasonr@gnu.org>
12641
12642 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12643 correct parameters.
12644
0007072a
KR
126452000-03-03 Ken Raeburn <raeburn@gnu.org>
12646
12647 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12648 standard ELF definitions here if the system header does not.
12649
71a6ba55
GM
126502000-03-03 Gerd Moellmann <gerd@gnu.org>
12651
12652 * xterm.c (PER_CHAR_METRIC): Removed.
12653 (x_per_char_metric_1, x_default_char): New functions.
12654 (x_per_char_metric): If font's default char is invalid, return
12655 metrics of a suitably chosen usable default char.
12656 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12657 char, replace occurrences of unprintable chars with a suitably
12658 chosen usable default char.
71a6ba55 12659
900fa1f1
GM
126602000-03-02 Gerd Moellmann <gerd@gnu.org>
12661
42f55fe0
GM
12662 * xterm.c (note_mouse_highlight): Return quickly if frame's
12663 glyph matrices have been freed.
12664
12665 * dispnew.c (free_glyphs): Block input while freeing matrices.
12666
900fa1f1
GM
12667 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12668
52283633
SM
12669 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12670 Use x_free_colors.
900fa1f1
GM
12671
12672 * dispextern.h (x_free_colors): Add prototype.
12673
12674 * xfaces.c (x_free_colors): New function.
12675 (unload_color, free_face_colors): Use it.
12676
2f950292
EZ
126772000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12678
12679 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12680
12681 * window.c [MSDOS]: Include msdos.h.
12682
54d04320
DL
126832000-03-02 Dave Love <fx@gnu.org>
12684
12685 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12686
12687 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12688 set C_OPTIMIZE_SWITCH for gcc.
12689
0ba93ac4
KH
126902000-03-02 Kenichi Handa <handa@etl.go.jp>
12691
12692 * coding.c (coding_save_composition): Be sure to allocate
12693 composition data area in coding even if there's no composition in
12694 the current run.
12695
a2bc11d4
JR
126962000-03-01 Jason Rumney <jasonr@gnu.org>
12697
12698 * w32term.c: Equivalent changes to those made to xterm.c on
12699 2000-02-25 and 2000-02-24.
12700
12701 * w32fns.c: Equivalent changes to those made to xfns.c on
12702 2000-02-25 and 2000-02-21.
12703
12704 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12705 correct line-end convention is followed.
12706
12707 * w32menu.c [HAVE_BOXES]: Remove #undef.
12708 (single_keymap_panes): Remove code for simulating checkmarks.
12709 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12710 Remove code for drawing simulated checkmarks.
12711 (w32_menu_show): make unibyte help string correctly.
12712 (add_menu_item): draw standard Windows checkmarks. Draw radio
12713 buttons as radio buttons if possible.
12714
72d19d75
GM
127152000-03-01 Gerd Moellmann <gerd@gnu.org>
12716
2df636f4
GM
12717 * sysdep.c (start_of_text): Don't define this function for NetBSD
12718 with ELF.
12719
427ec082 12720 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12721 Don't define.
12722 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12723 (LINKER): Don't undef if __NetBSD__ is defined.
12724
12725 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12726
12727 * fileio.c [__NetBSD__]: Define `unix'.
12728
72d19d75
GM
12729 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12730
ed4d0512
GM
127312000-02-29 Gerd Moellmann <gerd@gnu.org>
12732
50b1039f
GM
12733 * atimer.c (start_atimer): Don't abort when timers are stopped.
12734 (append_atimer_lists): New function.
12735 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12736 arbitrary lists of stopped and running atimers.
12737
ed4d0512
GM
12738 * atimer.c (cancel_atimer): Handle canceling an atimer when
12739 some timers are stopped.
12740
12741 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12742 after canceling it.
12743
12744 * fns.c (maybe_resize_hash_table): Handle case of new size
12745 coming out as being the same as old size.
12746
387023ee
JR
127472000-02-27 Jason Rumney <jasonr@gnu.org>
12748
12749 * makefile.nt: Add atimer.h to dependencies.
12750 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12751 * w32console.c: Only disable window system features for dispextern.h
12752 (initialize_w32_display): Build a display info for the console.
12753 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12754 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12755 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12756 as 2 button mice.
12757 * w32gui.h (struct W32FontStruct): Revert last change after change
12758 to xdisp.c.
12759 * w32menu.c (single_submenu): Set up help string.
12760 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12761 (w32_dialog_show): Set up help string.
12762 * w32term.c (w32_display_info_for_display): Remove unused function.
12763 (w32_draw_bitmap): Use pre-built bitmaps.
12764 (w32_initialize_display_info): New function to initialize parts of
12765 display info that are common to both GUI and console frames.
12766 (w32_term_init): Use w32_initialize_display_info. Do not set
12767 Vw32_num_mouse_buttons here, as it is not called for console
12768 frames. Build bitmaps for indicating truncated lines etc.
12769 (x_delete_display): Destroy pre-built bitmaps.
12770 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12771 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12772
4516715a
DL
127732000-02-27 Dave Love <fx@gnu.org>
12774
12775 * lisp.h: Add a bunch of prototypes.
12776
171ca836
KH
127772000-02-26 Kenichi Handa <handa@etl.go.jp>
12778
12779 * keyboard.c (read_char): Set `usec' correctly.
12780
4013921d
KH
127812000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12782
12783 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12784 `lambda', set reg[RRR] to the map index.
12785 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12786 reg[RRR] to 0. Otherwise, set it to -1.
12787
9244a058
GM
127882000-02-25 Gerd Moellmann <gerd@gnu.org>
12789
2df636f4 12790 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12791
18e21ce8 127922000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12793
f43d79c1
GM
12794 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12795 and contains a `:', prepend `/:'.
12796
12797 * window.c (select_window_1): If selected_window is nil,
12798 don't "swap out" the buffer's point.
12799 (Fset_window_configuration): Set selected_window to nil
12800 before calling Fselect_window.
12801 (unshow_buffer): Don't set point in buffer from window's point
12802 if another more recently selected window also shows the buffer.
12803
bed0c171
GM
128042000-02-25 Gerd Moellmann <gerd@gnu.org>
12805
449c3c52
GM
12806 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12807
f5b58615
GM
12808 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12809 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12810 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12811 New variables.
f5b58615
GM
12812 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12813 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12814 (hide_busy_cursor): New functions.
12815 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12816
12817 * minibuf.c (read_minibuf): Cancel busy-cursor.
12818
12819 * keyboard.c (command_loop_1): Call start_busy_cursor before
12820 Fcommand_execute and cancel_busy_cursor after it.
12821 (timer_check): Remove busy-cursor code.
12822 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12823 cursor timer.
12824
12825 * process.c (wait_reading_process_input): Remove busy-cursor code.
12826
12827 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12828 Fx_hide_busy_cursor.
12829
12830 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12831 Remove prototyoes.
12832 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12833
12834 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12835
12836 * xterm.c (XTread_socket): Remove busy-cursor code.
12837
4eb8436f
GM
12838 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12839 (build_frame_matrix_from_leaf_window): Put code handling
12840 glyph row's not being a slice of a frame row in #if 0.
12841 (sync_window_with_frame_matrix_rows): New function.
12842 (frame_row_to_window): New function.
12843 (mirror_line_dance): Handle copies between windows.
12844
3cb65b0e
GM
12845 * lread.c (Fload): Use `xfree' instead of `free'.
12846 (init_obarray): Use `xmalloc' instead of `malloc'.
12847
bed0c171
GM
12848 * window.c (Fset_window_buffer): Set WINDOW to the window
12849 after decoding.
2add4349
GM
12850 (coordinates_in_window): Take frame's internal border width
12851 into account.
bed0c171 12852
42088c12
GM
128532000-02-24 Gerd Moellmann <gerd@gnu.org>
12854
12855 * xterm.c (x_display_and_set_cursor): Display cursor of
12856 non-selected windows depending on the setting of
12857 cursor_in_non_selected_windows.
12858
12859 * xdisp.c (cursor_in_non_selected_windows): New variable.
12860 (syms_of_xdisp): DEFVAR_BOOL it.
12861
d1e103b2
GM
128622000-02-23 Gerd Moellmann <gerd@gnu.org>
12863
723e779c
GM
12864 * data.c (Fstring_to_number): If number is greater than what
12865 fits into an integer, return a float.
12866
d1e103b2
GM
12867 * eval.c (specbind): Remove references to
12868 keyword_symbols_constant_flag.
12869
12870 * data.c (keyword_symbols_constant_flag): Removed.
12871 (Fmakunbound, set_internal, syms_of_data): Remove references to
12872 keyword_symbols_constant_flag.
12873
12874 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12875
214f877f
KH
128762000-02-23 Kenichi Handa <handa@etl.go.jp>
12877
12878 * syntax.c (multibyte_syntax_as_symbol): New variable.
12879 (syms_of_syntax): Declare it as a Lisp variable.
12880 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12881 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12882 nonzero, treat all multibyte characters as symbol.
52283633 12883 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12884
130adcb7
EZ
128852000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12886
3cb65b0e 12887 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12888 a deleted frame.
130adcb7 12889
17cbbf95
GM
128902000-02-21 Gerd Moellmann <gerd@gnu.org>
12891
12892 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12893
12894 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12895 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12896
beb0bc36
DL
128972000-02-21 Dave Love <fx@gnu.org>
12898
12899 * frame.c (Vmouse_position_function): New variable.
12900 (Fmouse_position): Use it.
12901 (syms_of_frame): Install it.
12902
12903 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12904
1d92afcd
GM
129052000-02-20 Gerd Moellmann <gerd@gnu.org>
12906
12907 * fileio.c (Finsert_file_contents): Unbind the binding of
12908 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12909
12910 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12911 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12912 (specbind, unbind_to): Handle most common case of non-constant
12913 symbol with trivial value specially.
12914
12915 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12916
18e21ce8 129172000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12918
12919 * data.c (Fmake_variable_buffer_local): Doc fix.
12920 Init found_for_buffer to 0.
12921 (Fmake_variable_frame_local): If the variable has already
12922 been buffer-local, set the check_frame field.
12923
1d4311c3
EZ
129242000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12925
12926 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12927 produced for CODING_MODE_LAST_BLOCK requires.
12928
2dc95ddd
DL
129292000-02-18 Dave Love <fx@gnu.org>
12930
12931 * keyboard.c (echo_keystrokes): Remove declaration.
12932 (Vecho_keystrokes) New variable.
12933 (read_char, record_menu_key, read_key_sequence): Use it to allow
12934 use of float value.
12935 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12936
12937 * lread.c: Undef feature selection macros before defining.
12938
f0930f35
GM
129392000-02-18 Gerd Moellmann <gerd@gnu.org>
12940
12941 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12942 for symbols other than the symbol in question.
12943
e3d4de90
DL
129442000-02-17 Dave Love <fx@gnu.org>
12945
12946 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12947
0b378936
GM
129482000-02-17 Gerd Moellmann <gerd@gnu.org>
12949
d621caf7
GM
12950 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12951
0b378936
GM
12952 * alloc.c (enum mem_type): Compile unconditionally.
12953
3b451f74
EZ
129542000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12955
12956 * xfaces.c (tty_defined_color): Don't return faulire indication
12957 for unspecified-fg and unspecified-bg pseudo-colors.
12958
10689a01
GM
129592000-02-17 Gerd Moellmann <gerd@gnu.org>
12960
1216f5e4
GM
12961 * alloc.c (mark_object): Don't mark symbol names in pure space.
12962 (gc_sweep): Don't unmark symbol names in pure space.
12963
12964 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12965 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12966 [GC_MARK_STACK]: New defines.
427ec082 12967 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12968 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12969
12970 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12971
12972 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12973 allocate_buffer instead of xmalloc.
12974
12975 * alloc.c (toplevel): Include setjmp.h.
12976 (PURE_POINTER_P): New define.
12977 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12978 (Vdead) [GC_MARK_STACK]: New variable.
12979 (lisp_malloc): Add parameter TYPE, call mem_insert if
12980 GC_MARK_STACK is defined.
12981 (allocate_buffer): New function.
427ec082 12982 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12983 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12984 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12985 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12986 (MEM_NIL) [GC_MARK_STACK]: New define.
12987 (struct mem_node) [GC_MARK_STACK]: New structure.
12988 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12989 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12990 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12991 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12992 (mark_stack) [GC_MARK_STACK]: New functions.
12993 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12994 (clear_marks): Removed.
12995 (gc_sweep): Set free conses' car, free floats' type, free
12996 symbols' function to Vdead. Use lisp_free to free buffers.
12997 (init_alloc_once): Initialize Vdead.
12998 (survives_gc_p): Return non-zero for pure objects.
12999
13000 * alloc.c: Add comments throughout the file.
13001
2503c8b1
GM
13002 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13003 that unblocks alarms.
13004
8389e1e2
GM
13005 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13006 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13007 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13008
10689a01 13009 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13010
bfc17d18
KH
130112000-02-17 Kenichi Handa <handa@etl.go.jp>
13012
4a09dee0
KH
13013 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13014 avoid infinite error signaling. Allocate sufficient memory for
13015 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13016
2b927d02
SM
130172000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13018
13019 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13020 depends on the previous behavior.
13021
b49cb764
GM
130222000-02-16 Gerd Moellmann <gerd@gnu.org>
13023
13024 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13025
99e95407
GM
130262000-02-15 Gerd Moellmann <gerd@gnu.org>
13027
13028 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13029
13030 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13031 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13032 write(2).
13033
6ffd3cf7
RS
130342000-02-15 Richard M. Stallman <rms@gnu.org>
13035
13036 * data.c (set_internal): Don't make variable buffer-local
13037 if within a let-binding for the same buffer.
13038 (let_shadows_buffer_binding_p): New function.
13039
13040 * eval.c (specbind): For buffer-local value,
13041 record the current buffer also.
13042 (unbind_to): Cope with that change.
13043
cad53475
GM
130442000-02-15 Gerd Moellmann <gerd@gnu.org>
13045
13046 * window.c (Fsave_window_excursion): Doc fix.
13047
1aa963c8
SM
130482000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13049
13050 * syntax.c (back_comment): Make sure we only consider comment-starters
13051 of the relevant style and return -1 in case of a failure to find the
13052 beginning of the comment.
13053 (Fforward_comment): If back_comment fails, go back to the position just
13054 after the comment-end.
13055 (scan_lists): Add comment describing a very minor bug.
13056
b9b84fd3
SM
130572000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13058
13059 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13060 `completion-regexp-list' in the docstring.
13061
3a28db80
DL
130622000-02-14 Dave Love <fx@gnu.org>
13063
13064 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13065
fb4a568d
SM
130662000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13067
13068 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13069 to Emacs' syntax. Also fix the comment about set/not-set meanings
13070 since Emacs syntax is not the value 0 any more.
13071 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13072 since it's now part of RE_SYNTAX_EMACS.
13073
1063ebb5
DL
130742000-02-12 Dave Love <fx@gnu.org>
13075
52283633 13076 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13077
fb07a302
GM
130782000-02-12 Gerd Moellmann <gerd@gnu.org>
13079
13080 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13081
aaf2320c
DL
130822000-02-12 Dave Love <fx@gnu.org>
13083
13084 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13085
13086 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13087 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13088 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13089
13090 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13091
13092 * s/nextstep.h: Don't define HAVE_ALLOCA.
13093
13094 * config.in: Add vfork bits.
13095
eedf8bde
GM
130962000-02-12 Gerd Moellmann <gerd@gnu.org>
13097
13098 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13099 unwind function to undo the effect of stopping atimers.
13100
52283633 13101 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13102
13103 * atimer.c (stopped_atimers): New variable.
13104 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13105 New functions.
13106
13107 * atimer.h (stop_other_atimers, run_all_atimers)
13108 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13109
eedf8bde
GM
13110 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13111
8476c2f8
KR
131122000-02-11 Ken Raeburn <raeburn@gnu.org>
13113
13114 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13115 library may depend on jpeg.
13116 (atimer.o): Depends on atimer.c.
13117
0e85e4a3
KH
131182000-02-11 Kenichi Handa <handa@etl.go.jp>
13119
13120 * insdel.c (del_range_1): Call update_compositions.
13121 (del_range_both): Call update_compositions just once..
13122
97fa0cc8
DL
131232000-02-10 Dave Love <fx@gnu.org>
13124
13125 * xfns.c (create_frame_xic): Fix initialization of automatic
13126 aggregates for pcc.
13127
25566a3c
KH
131282000-02-09 Kenichi Handa <handa@etl.go.jp>
13129
13130 * ccl.c (CCL_MAKE_CHAR): New macro.
13131 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13132 registers by CCL_MAKE_CHAR before calling translate_char.
13133 <CCL_TranslateCharacterConstTbl> Likewise.
13134
69da54ba
DL
131352000-02-08 Dave Love <fx@gnu.org>
13136
13137 * lread.c (__EXTENSIONS__): Define.
13138
f7136ee8
GM
131392000-02-08 Gerd Moellmann <gerd@gnu.org>
13140
13141 * puresize.h (BASE_PURESIZE): Increase to 650000.
13142
7768790b
EZ
131432000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13144
13145 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13146 the help message.
13147
38fd211b
EZ
131482000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13149
13150 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13151 md, mh, mb, mr, and me to the fake termcap entry.
13152
66e4690f
KR
131532000-02-06 Ken Raeburn <raeburn@gnu.org>
13154
13155 * sound.c (sound_cleanup): Don't call device close routine if the
13156 function pointer is null.
13157
a75dfea0
AI
131582000-02-06 Andrew Innes <andrewi@gnu.org>
13159
13160 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13161 around image definitions and prototypes.
13162 (gamma_correct) [WINDOWSNT]: New prototype.
13163
13164 * w32term.c (x_make_frame_visible): Replace call to
13165 input_poll_signal with poll_for_input.
13166
13167 * window.c [WINDOWSNT]: Include w32term.h.
13168
13169 * xdisp.c [WINDOWSNT]: Include w32term.h.
13170
13171 * makefile.nt: Add dependencies on w32gui.h.
13172 (OBJ1): Include atimer.obj.
13173 ($(BLD)\atimer.obj): New dependency rule.
13174
13175 * w32.c (sigmask): New function (does nothing).
13176 (sigunblock): Ditto.
13177
13178 * frame.c [WINDOWSNT]: Include w32term.h.
13179
13180 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13181
13182 * lread.c (syms_of_lread): Fix literal newlines.
13183
13184 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13185 the string constant limit (2048 bytes) in MSVC.
13186 (main): Ditto.
13187
59ddecde
GM
131882000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13189
52283633 13190 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13191 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13192 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13193 dispatch the event.
13194
07590973
DL
131952000-02-04 Dave Love <fx@gnu.org>
13196
13197 * fileio.c: Remove some unused vars.
13198 (_GNU_SOURCE): Define (for euidaccess).
13199
13200 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13201
13202 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13203 gcpro1, gcpro2.
13204 (read_minibuf): Deal with allow_props correctly.
13205
649351f9
EZ
132062000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13207
13208 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13209
66e4690f 132102000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13211
13212 * search.c (compile_pattern): If a cache entry has a nil regexp,
13213 fill in that entry instead of clobbering a previously cached
13214 string regexp.
13215
66e4690f 132162000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13217
13218 * puresize.h (BASE_PURESIZE): Increase to 610000.
13219
d240a249
GM
132202000-02-02 Gerd Moellmann <gerd@gnu.org>
13221
13222 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13223 can GC.
13224
ca91fb26
KH
132252000-02-02 Kenichi Handa <handa@etl.go.jp>
13226
25660570
KH
13227 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13228 instead of incrementing ic directly.
13229 <CCL_WriteExprConst> Likewise.
13230 <ccl_set_expr>: Set ic to jump_address.
13231
ca91fb26
KH
13232 * fileio.c (e_write): Fix the handling of
13233 CODING_FINISH_INSUFFICIENT_SRC.
13234
2ede9689
DL
132352000-02-01 Dave Love <fx@gnu.org>
13236
13237 * editfns.c (Fpropertize): Doc fix.
13238
13239 * process.c (Fstart_process): Doc fix.
13240
13241 * eval.c: Fix various doc strings not to duplicate information
13242 from help-manyarg-func-alist.
13243
52283633 13244 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13245
13246 * doc.c (Vhelp_manyarg_func_alist): New variable.
13247 (Fdocumentation): Use it.
13248 (syms_of_doc): Define it.
13249
b6680a0e
GM
132502000-01-31 Gerd Moellmann <gerd@gnu.org>
13251
2cb750ba
GM
13252 * xterm.c (xim_open_dpy): Remove unused local variable.
13253
52283633 13254 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13255
13256 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13257 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13258
b6680a0e
GM
13259 * fns.c (sweep_weak_table): New function.
13260 (sweep_weak_hash_tables): Use it. Keep on marking until there
13261 is no more change.
13262
994c5afe
GM
132632000-01-30 Gerd Moellmann <gerd@gnu.org>
13264
13265 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13266 that XTread_socket does not crash by trying to call XNoOp on a
13267 closed display.
427ec082 13268
f00276e3
JR
132692000-01-30 Jason Rumney <jasonr@gnu.org>
13270
13271 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13272 Change selected_frame to SELECTED_FRAME ().
13273 (w32_console_mouse_position): Remove #ifndef MULE from around
13274 `insist' parameter.
13275
13276 * makefile.nt: Remove dosfns.obj.
13277
13278 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13279
13280 * w32fns.c (w32_defined_color): Check for valid frame before
13281 applying gamma correction. Eliminate dependency on frame elsewhere.
13282 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13283 (w32_to_x_font): Use resx and resy not height_in and width_in.
13284 (x_to_w32_font): Doc fix.
13285 (xlfd_strip_height): New function to strip and return font height.
13286 (w32_font_match): Compare height separately from rest of xlfd
13287 spec, using xlfd_strip_height.
13288
13289 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13290 width_in. Use w32_defined_color in place of defined_color.
13291
13292 * w32faces.c: Merge more of DOS and X specifics in preparation for
13293 merge with xfaces.c.
13294 (defined_color): Remove FIXME comment.
13295 (tty_color_name): Provide w32-specific function.
13296 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13297
13298 * w32console.c (turn_on_face, turn_off_face): Removed.
13299 (w32_face_attributes): New function.
13300 (Global_variables): Reduce scope where possible.
13301 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13302 fill attribute.
13303 (hl_mode): Don't modify text attributes.
13304 (write_glyphs): Don't do anything if len <= 0. Use
13305 w32_face_attributes to get attributes for drawing. Write
13306 terminating codes using char_attr_normal.
13307 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13308 (update_begin, update_end): Likewise.
13309 (vga_stdcolor_name): New function.
13310 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13311 (Fset_screen_color): Remove char_attr_reverse.
13312
b08e8bb2
GM
133132000-01-29 Gerd Moellmann <gerd@gnu.org>
13314
13315 * xfns.c (xic_set_preeditarea): Take window parameter and
13316 window-relative pixel-positions.
13317
13318 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13319 is its frame's selected window.
13320 (xim_instantiate_callback): Likewise.
13321
13322 * xfns.c (x_create_im): Removed.
13323 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13324 (supported_xim_styles): Renamed from supported_styles.
13325 (best_xim_style): Renamed from best_style.
13326 (create_frame_xic): Renamed from xic_create_frame.
13327 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13328
b08e8bb2
GM
133292000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13330
13331 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13332 our frames, call XFilterEvent with 2nd parameter `None'.
13333 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13334 returning XBufferOverflow.
52283633 13335 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13336 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13337 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13338 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13339 (xim_initialize, xim_close)
13340 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13341 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13342 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13343 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13344
13345 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13346 and `xim_styles'.
13347 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13348 `xic_style' and `xic_xfs'.
13349 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13350 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13351 (FRAME_XIM): Removed.
13352
13353 * xfns.c (supported_styles): New variable.
13354 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13355 (xic_create_xfontset, best_style, xic_create_frame)
13356 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13357 (xic_set_xfontset): New functions.
13358
142e109c
DL
133592000-01-28 Dave Love <fx@gnu.org>
13360
13361 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13362
13363 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13364
b02786f9
GM
133652000-01-28 Gerd Moellmann <gerd@gnu.org>
13366
d060bc9f
GM
13367 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13368 for *scratch* if it already existed.
13369
b02786f9
GM
13370 * emacs.c (USAGE): New macro.
13371 (main): Use it to display usage information.
13372
2c52d7e4
EZ
133732000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13374
13375 Support for the menu-help feature:
13376
52283633 13377 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13378
13379 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13380 part of the line to the termscript file.
13381 (IT_clear_to_end): Clear the entire line, not just its beginning.
13382 (menu_help_message, prev_menu_help_message): New variables.
13383 (IT_menu_make_room): Make room for the help_text member.
13384 (IT_menu_display): New argument disp_help; all callers changed.
13385 If disp_help is non-zero, store the help text of the active menu
13386 item in menu_help_message.
13387 (XMenuAddPane): Initialize the help_text member to NULL.
13388 (XMenuAddSelection): New argument help_text. Store it in the
13389 XMenu structure.
13390 (XMenuActivate): New argument help_callback. If the value of
13391 menu_help_message has changed since the last time, display the
13392 menu help message text while waiting for the mouse to move. Clear
13393 the echo area before exiting.
13394 (XMenuDestroy): Free the help_text member.
13395
ffe0bcd1
GM
133962000-01-27 Gerd Moellmann <gerd@gnu.org>
13397
13398 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13399 XMenuAddSelection. Pass help callback to XMenuActivate.
13400 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13401
50dbd23f
EZ
134022000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13403
13404 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13405 and EMACS_SET_USECS.
13406
f5941bf8
GM
134072000-01-26 Dave Love <fx@gnu.org>
13408
6c67ddee
DL
13409 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13410
f5941bf8
GM
13411 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13412 an error may be signalled.
13413
9e49c990
GM
134142000-01-26 Gerd Moellmann <gerd@gnu.org>
13415
fc3cb460
GM
13416 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13417 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13418
9e49c990
GM
13419 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13420
d0c037d8
GM
134212000-01-25 Gerd Moellmann <gerd@gnu.org>
13422
13423 * charset.c (Fstring): If there is a multibyte char among
13424 the args, always return a multibyte string.
13425
e12489f9
GM
134262000-01-25 Gerd Moellmann <gerd@gnu.org>
13427
13428 * sysdep.c (sys_select): Turn atimers off and on instead of
13429 recording and restoring old alarm handler
13430
13431 * process.c (toplevel): Include atimer.h.
13432 (create_process_1): Rewritten.
13433 (create_process): Use atimers instead of alarm.
13434 (wait_reading_process_input) [hpux]: Turn atimers off instead
13435 of turning off SIGALRM.
13436 (wait_reading_process_input): Turn off atimers instead off
13437 calling stop_polling.
13438
13439 * emacs.c (main): Call init_atimer.
13440
13441 * keyboard.c (toplevel): Include systime.h and atimer.h.
13442 (polling_for_input): Removed because unused.
13443 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13444 (poll_timer): New variable.
13445 (poll_for_input, poll_for_input_1): New functions.
13446 (start_polling, stop_polling): Rewritten.
13447
13448 * keyboard.h (polling_for_input): Removed.
427ec082 13449
e12489f9
GM
13450 * atimer.h, atimer.c: New files.
13451
13452 * Makefile.in (obj): Add atimer.o.
13453 (atimer.o): New target.
13454
13455 * blockinput.h (pending_atimers): Add extern declaration.
13456 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13457
13458 * lisp.h (popup_activated_flag): Add extern declaration.
13459
13460 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13461 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13462 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13463
13464 * xterm.c (toplevel): Include atimer.h.
13465 (toolkit_scroll_bar_interaction): New variable.
13466 (Fxt_process_timeouts): Removed.
13467 (x_process_timeouts): New function.
13468 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13469 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13470 (x_make_frame_visible): Call poll_for_input_1 instead of
13471 input_poll_signal. Don't call alarm.
13472 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13473
1e5279b9
DL
134742000-01-24 Dave Love <fx@gnu.org>
13475
6c67ddee 13476 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13477 Don't use -cckr -- apparently not now necessary.
13478
edf6aeb8
EZ
134792000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13480
13481 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13482 screen boundary.
13483
9badad41
JR
134842000-01-23 Jason Rumney <jasonr@gnu.org>
13485
13486 * w32fns.c (w32_defined_color): Apply gamma correction before
13487 trying to map to the palette.
13488 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13489 to w32_clear_rect.
13490
13491 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13492 here. Callers changed to always pass real device context.
13493 (w32_draw_bitmap): Likewise.
13494 (w32_get_glyph_overhangs): Likewise.
52283633 13495 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13496 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13497 pfnSetScrollInfo and SetScrollRange.
13498 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13499 back into MULE characters after decoding them.
13500 (x_get_glyph_face_and_encoding): Likewise.
13501 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13502 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13503 (x_produce_glyphs): Calculate per char metrics for a character
13504 that we know exists in default font when font_not_found_p is true.
13505
63bd786b
JR
135062000-01-22 Jason Rumney <jasonr@gnu.org>
13507
13508 * makefile.nt (intervals.obj, composite.obj): New modules.
13509 (composite.h): Added as dependency where appropriate.
13510
13511 * w32gui.h (XGCValue): New struct for emulating X GCs.
13512
13513 * w32term.h (XCharStruct): New struct for emulating X.
13514
13515 * w32console.c (turn_on_face, turn_off_face): New functions.
13516 (change_line_highlight): New prototype for new redisplay.
13517 (write_glyphs): Support multibyte text. Support faces.
13518
52283633 13519 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13520
13521 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13522 throughout. struct frame * in place of FRAME_PTR.
13523 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13524 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13525 (w32_get_arg): Renamed from x_get_arg.
13526 (Fx_file_dialog): New function.
13527 (w32_list_fonts): Check cache before asking system.
13528 (Vw32_enable_synthesized_fonts): New variable.
13529 (Vw32_enable_italics): Obsolete, removed.
13530
13531 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13532 Use SELECTED_FRAME macro.
13533
13534 * w32menu.c: Add skeleton support for help strings on menus.
13535 (add_menu_item): Native checkbox and radio support added, but not
13536 yet enabled due to bugs.
13537 (push_menu_item): Add parameters type, selection and help.
13538 Callers updated.
13539 Formatting changes to reduce unnecessary diffs with xmenu.c.
13540
13541 * w32select.c (Fw32_set_clipboard_data): Update call to
13542 find_charset_in_str.
13543
13544 * w32term.c: Complete rewrite for new redisplay based on new
13545 xterm.c with necessary sections merged back in from old w32term.c.
13546
6ffd3cf7 135472000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13548
13549 * data.c (set_internal): Further fix in same criterion.
13550
6ffd3cf7 135512000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13552
13553 * data.c (set_internal): Fix the criteria for whether
13554 to swap out the old cached binding.
13555
60af03f1
DL
135562000-01-19 Dave Love <fx@gnu.org>
13557
13558 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13559
f9be074f
KH
135602000-01-18 Kenichi Handa <handa@etl.go.jp>
13561
13562 * regex.c (re_compile_fastmap): While checking a range table for
13563 `charset', skip flag bits for a character class correctly.
13564
52b8dbf9
GM
135652000-01-17 Gerd Moellmann <gerd@gnu.org>
13566
d36100c9
GM
13567 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13568
52283633 13569 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13570
13571 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13572 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13573
13574 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13575 MENU_ITEMS_ITEM_.*.
13576 (MENU_ITEMS_ITEM_HELP): New enumerator.
13577 (push_menu_item): Add parameter HELP. Record help in menu_items.
13578 (single_menu_item, single_submenu, list_of_items): Call
13579 push_menu_item with new parameter.
13580 (single_submenu): Set help string in widget value.
13581 (menu_highlight_callback): New function.
13582 (set_frame_menubar): Call lw_create_widget with new
13583 parameter list.
13584 (xmenu_show, xdialog_show): Ditto.
13585
3139018f
GM
135862000-01-13 Gerd Moellmann <gerd@gnu.org>
13587
13588 * sound.c (Fplay_sound): Improve doc string.
13589
83c8f461
RS
135902000-01-11 Richard M. Stallman <rms@gnu.org>
13591
13592 * lisp.h (set_internal): Enter the new arg.
13593
13594 * eval.c (specbind): Record buffer-local variables specially,
13595 indicating which buffer's binding was saved.
13596 (unbind_to): Restore buffer-local variables specially
13597 in the proper buffer.
13598
13599 * data.c (set_internal): New arg BUF.
427ec082 13600
83c8f461
RS
13601 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13602 * data.c (Fset): Pass new arg to set_internal.
13603 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13604
1fab1775
GM
136052000-01-11 Gerd Moellmann <gerd@gnu.org>
13606
52283633 13607 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13608
83c8f461 136092000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13610
13611 * minibuf.c (Ftry_completion): Doc fix.
13612
7a85e4df
GM
136132000-01-11 Gerd Moellmann <gerd@gnu.org>
13614
13615 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13616 vector, too.
13617
a970dae4
AS
136182000-01-11 Andreas Schwab <schwab@suse.de>
13619
13620 * coding.c (code_convert_region): Initialize total_skip.
13621
c65d14ee
DL
136222000-01-08 Dave Love <fx@gnu.org>
13623
13624 * eval.c (Fuser_variable_p): Check customizability too.
13625
834938d2
GM
136262000-01-07 Gerd Moellmann <gerd@gnu.org>
13627
13628 * minibuf.c (Fcompleting_read): Doc fix.
13629
e0303cd6
GM
136302000-01-05 Gerd Moellmann <gerd@gnu.org>
13631
8a26744b
GM
13632 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13633 -L /usr/local/lib.
13634
e0303cd6
GM
13635 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13636 Check that input style is supported before trying to create an
13637 IC for it.
13638 (x_window): Call x_create_im.
427ec082 13639
2e471eb5
GM
136402000-01-04 Gerd Moellmann <gerd@gnu.org>
13641
560a7bd2
GM
13642 * xfns.c (current_gif_memory_src): New variable.
13643 (gif_load): Record the address of the current memory source
13644 in current_gif_memory_src.
13645 (gif_read_from_memory): Use current_gif_memory_src.
13646
f9ee84a3
GM
13647 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13648 macros statement form.
13649
d1299cde
GM
13650 * sound.c (struct sound): Renamed from struct sound_file.
13651 (struct sound): Add members `data' and `header_size'.
13652 (enum sound_attr): Add SOUND_DATA.
13653 (current_sound, current_sound_device): Variables renamed from
13654 sound_file and sound_device.
13655 (parse_sound): Parse :data.
13656 (parse_sound): Handle sound data in strings.
13657 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13658 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13659 needed header size.
13660 (wav_play, au_play): Play sounds from string data.
13661
2e471eb5
GM
13662 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13663
13664 * lisp.h: Add prototype for allocate_string_data.
13665
52283633 13666 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13667
13668 * alloc.c (mark_buffer): Remove code in #if 0.
13669 (gc_sweep): Ditto.
13670 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13671 (strings_consed): New variable.
13672 (allocate_string): Set it.
13673 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13674 (Fmemory_use_counts): Return strings_consed. Use Flist.
13675
13676 * alloc.c: General cleanup in comments etc. Remove conditional
13677 compilation for `standalone'.
13678
13679 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13680
13681 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13682 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13683 (DONT_COPY_FLAG): Removed.
13684 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13685 (struct sdata, struct sblock): New
13686 (struct string_block): Rewritten.
13687 (STRINGS_IN_STRING_BLOCK): New macro.
13688 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13689 (large_sblocks, string_blocks, string_free_list): New variables.
13690 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13691 (init_strings): Rewritten.
13692 (allocate_string, allocate_string_data, compact_small_strings)
13693 (free_large_strings, sweep_strings): New functions.
13694 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13695 (struct string_block_head, current_string_block)
13696 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13697 (STRING_PAD): Removed.
13698 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13699 (Fgarbage_collect): Don't set mark bit in large strings.
13700 (mark_object): Mark strings differently. Mark symbol names
13701 differently.
13702 (survives_gc_p): Test marked strings differently.
427ec082 13703 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13704 symbol names.
13705 (compact_strings): Removed.
13706
42608ba8
EZ
137072000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13708
13709 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13710 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13711
e0a09e1a
KH
137122000-01-04 Kenichi Handa <handa@etl.go.jp>
13713
dd9f0750 13714 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13715 in a non-empty buffer.
dd9f0750 13716
3c0f3b15 13717 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13718
44cd3ae5
GM
137192000-01-03 Gerd Moellmann <gerd@gnu.org>
13720
13721 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13722 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13723
13724 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13725
c182a70f
EZ
137262000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13727
13728 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13729 need to test for MSDOS frames.
13730
24480d5b
EZ
137312000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13732
13733 * dosfns.c (unspecified_colors): Remove.
13734 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13735 unspecified_bg.
13736 (msdos_stdcolor_name): Return strings for unspecified fore- and
13737 back-ground colors.
13738
13739 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13740 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13741 (tty_color_name): Return Lisp strings for unspecified fore- and
13742 back-ground colors.
13743 (Finternal_set_lisp_face_attribute): Remove the special treatment
13744 for Qunspecified_{f,b}g.
52283633 13745 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13746
047f434a
GM
137472000-01-03 Gerd Moellmann <gerd@gnu.org>
13748
13749 * xdisp.c (reseat_at_next_visible_line_start): Position before
13750 newline only if ending up on a newline.
13751 (next_element_from_ellipsis): Return success. Handle case of
52283633 13752 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13753 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13754 returns 0.
13755
d684c676
EZ
137562000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13757
13758 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13759 (Fcolor_supported_p): Renamed from face-color-supported-p.
13760
5fe1d139
EZ
137612000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13762
13763 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13764 list of colors renamed to tty-defined-color-alist.
13765 (tty_color_name): Pass the frame to tty-color-by-index.
13766 (realize_tty_face): tty-color-alist is now a function which
13767 accepts the frame as argument.
13768
52283633 13769 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13770
816be8b8
EZ
137712000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13772
13773 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13774 encode_terminal_code.
13775
b635321e
EZ
137762000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13777
13778 * dispnew.c (mode_line_string): Support termcap frames as well.
13779
9b784e96
GM
137802000-01-01 Gerd Moellmann <gerd@gnu.org>
13781
27189709
GM
13782 * syntax.c (Fforward_word): Undo previous change.
13783
13784 * editfns.c (Fconstrain_to_field): Don't constrain if
13785 inhibit-field-text-motion is non-nil.
13786 (Fline_beginning_position): Undo previous change.
13787 (Fline_end_position): Ditto.
13788
13789 * syntax.c (Fforward_word): Notice field boundaries only if
13790 inhibit-field-text-motion is nil.
13791
13792 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13793
13794 * editfns.c (Vinhibit_field_text_motion): New variable.
13795 (inhibit-field-text-motion): New DEFVAR_LISP.
13796 (Fline_beginning_position, Fline_end_position): Notice field
13797 boundaries only if inhibit-field-text-motion is nil.
13798
45158a91
GM
13799 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13800 All calls adjusted.
13801 (x_build_heuristic_mask): Likewise.
13802 (xbm_load_image_from_file): Change error output.
13803 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13804 (gif_load, gs_load, x_kill_gs_process): Ditto.
13805
9b784e96
GM
13806 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13807 color indices when accessing raster pixels.
63cec32f
GM
13808 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13809 one of :file or :data.
13810 (enum pbm_keyword_index): Add PBM_DATA.
13811 (pbm_format): Add :data.
13812 (pbm_image_p): Allow either :file or :data.
13813 (pbm_read_file): New function.
13814 (pbm_scan_number): Rewritten to read from string.
13815 (pbm_load): Support :data.
9b784e96 13816
2cb085db 13817See ChangeLog.8 for earlier changes.
6922b018
KH
13818
13819;; Local Variables:
49b3bd82 13820;; coding: iso-2022-7bit
6922b018 13821;; End:
2a34a036
GM
13822
13823 Copyright (C) 2001 Free Software Foundation, Inc.
13824 Copying and distribution of this file, with or without modification,
13825 are permitted provided the copyright notice and this notice are preserved.