Update usage of CHECK_ macros (remove unused second argument).
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e6bff182
RS
12001-11-02 Richard M. Stallman <rms@gnu.org>
2
3 * textprop.c (Fget_char_property): Doc fix.
4
9ba48103
PJ
52001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
6
7 * process.c (Fstart_process): Add usage to doc-string.
8
9 * data.c (Fsetq_default): Ditto.
10
11 * callint.c (Finteractive): Ditto.
12
c22e59e1
SM
132001-11-01 Stefan Monnier <monnier@cs.yale.edu>
14
15 * macros.c: Don't include keymap.h any more.
16
9271ed2c
RS
172001-11-01 Richard M. Stallman <rms@gnu.org>
18
e6bff182
RS
19 * data.c (Fmake_local_variable): Doc fix.
20
21 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
22 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
23
9271ed2c
RS
24 * keymap.c (Fdescribe_buffer_bindings): Print character property
25 bindings along with or instead of the buffer local map.
26 Make the overriding maps override what they should.
27
8b8bd9c6
PJ
282001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
29
30 * window.c (grow_mini_window): Fix typo in comment.
31
27188d11
GM
322001-11-01 Gerd Moellmann <gerd@gnu.org>
33
7b49b9d2
GM
34 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
35 (XTset_vertical_scroll_bar): Likewise.
36
43f7c3ea
GM
37 * xfns.c (x_build_heuristic_mask): Use four_corners_best
38 instead of IMAGE_BACKGROUND.
c22e59e1 39
b350c2e5
GM
40 * xfns.c (four_corners_best): Reindent.
41
c22e59e1 42 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
43 Handle :box so that it is possible to specify sexprs.
44
d576358b
PJ
452001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
46
47 * xfaces.c (Finternal_merge_in_global_face): Reindent.
48 (Fface_font): Ditto.
49 (Finternal_set_alternative_font_registry_alist): Ditto.
50 (Ftty_suppress_bold_inverse_default_colors): Ditto.
51
52 * xfns.c (x-get-resource): Reindent.
53
bf00d461
EZ
542001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
55
56 * s/hpux11.h: New file.
57
4e10df59
PJ
582001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
59
2b209b97
PJ
60 * emacs.c (USAGE1): Show command line option --no-window-system
61 instead of --no-windows in usage.
62 (standard_args): Rename --no-windows to --no-window-system.
63 (bug_reporting_address): Follow Emacs coding conventions.
64
9dbc9081
PJ
65 * eval.c (Fcommandp): Doc fix.
66 Change doc-string comments to `new style' [w/`doc:' keyword].
67
4e10df59
PJ
68 * frame.c (Fframe_live_p): Doc fix.
69
70 * buffer.c (selective-display-ellipses): Doc fix.
71
dd387b25
GM
722001-10-31 Gerd Moellmann <gerd@gnu.org>
73
fe957e65
GM
74 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
75
dd387b25
GM
76 * xfaces.c (realize_x_face): If C is not a single-byte character,
77 set the face's colors_copied_bitwise_p instead of the defaulted_p
78 members which have a different meaning.
79 (free_face_colors): Do nothing for a face whose colors have been
80 copied bitwise.
81
c22e59e1 82 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 83
2e1280f8
PJ
842001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
85
687784e8
PJ
86 * marker.c, mocklisp.c: Change doc-string comments to `new style'
87 [w/`doc:' keyword].
2e1280f8 88
b9d9a9b9
GM
892001-10-31 Gerd Moellmann <gerd@gnu.org>
90
91 * fns.c (require_unwind): Return Lisp_Object.
92
48400103
PJ
932001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
94
fa1361cb
PJ
95 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
96 (last-input-char): Revert doc-string to be the same as the
97 doc-string of `last-input-event'.
98
48400103
PJ
99 * xdisp.c: Fix typos in comments.
100
eafa3196
GM
1012001-10-31 Gerd Moellmann <gerd@gnu.org>
102
103 * window.c (grow_mini_window): Handle case that the root
104 window is already smaller than the nominal mininum height.
105
747d3f2a
SM
1062001-10-30 Stefan Monnier <monnier@cs.yale.edu>
107
bf9bb76f
SM
108 * emacs.c (main): Don't call keys_of_macros any more.
109
110 * lisp.h (keys_of_macros): Remove.
111
112 * macros.c (keys_of_macros): Remove.
113
747d3f2a
SM
114 * xfaces.c (Fface_attribute_relative_p): Declare args.
115
5e905a57
JR
1162001-10-30 Jason Rumney <jasonr@gnu.org>
117
118 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
119 (enum_font_cb2): Ignore fonts with vertical orientation.
120
3a426197
RS
1212001-10-30 Richard M. Stallman <rms@gnu.org>
122
123 * keyboard.c (Finput_pending_p): Doc fix.
124
a742d646
GM
1252001-10-30 Gerd Moellmann <gerd@gnu.org>
126
259cf6bc
GM
127 * xterm.c (x_after_update_window_line): Don't run the code
128 clearing in borders for rows whose visible height is 0.
129
3f99f948
GM
130 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
131 resized_p flag is set. If not set, use the much less flickering
132 method previously used.
133
134 * dispnew.c (change_frame_size_1): Set frame's resized_p.
135
136 * frame.h (struct frame) <resized_p>: New member.
137
b4a3be43
GM
138 * lread.c (to_multibyte): Ensure read_buffer is at least twice
139 as large as the number of bytes to convert.
747d3f2a 140
a742d646
GM
141 * lread.c (to_multibyte): New function.
142 (read1): Use it.
143
cacbb9e9
EZ
1442001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
145
146 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
147
99cb6b2f
GM
1482001-10-30 Gerd Moellmann <gerd@gnu.org>
149
327f42ee 150 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
151 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
152 if the row's fill_line_p is set and drawing the last glyph with
153 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 154
99cb6b2f
GM
155 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
156
8e8223e2
SM
1572001-10-29 Stefan Monnier <monnier@cs.yale.edu>
158
159 * xmenu.c: Include coding.h and charset.h.
160 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
161 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
162 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
163 Explicitly set wv->help. Use `TRUE' rather than `True'.
164 (menu_help_callback): Use empty_string.
165
166 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
167 (Fx_popup_dialog): Explicitly init f.
168 (w32_menu_display_help): Use empty_string.
169
4d083a8f
RS
1702001-10-29 Richard M. Stallman <rms@gnu.org>
171
b2304472
RS
172 * fns.c (Frequire): Detect recursive try to require the same
173 feature 3 or more levels deep, and get error.
174 (require_unwind): New subroutine.
175 (require_nesting_list): New variable.
176 (syms_of_fns): Init and staticpro it.
177
4d083a8f
RS
178 * print.c (print_object): Clarify indication of insertion type.
179
2fe41216
EZ
1802001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
181
90480000
EZ
182 * coding.c (syms_of_coding): Document that locale-coding-system is
183 used for decoding input on X.
184
2fe41216
EZ
185 * window.c (Fscroll_left, Fscroll_right): Doc fix.
186
74e79967
PJ
1872001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
188
189 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
190 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
191
60ebcfe8
GM
1922001-10-29 Gerd Moellmann <gerd@gnu.org>
193
9a7bdceb
GM
194 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
195 use NO_CURSOR if cursor_in_non_selected_windows is false.
196
3f08fcd2
GM
197 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
198 the slant attribute if FRAME is t.
199
0ccfdad2
GM
200 * xfns.c (x_set_internal_border_width): Set frame garbaged
201 when X window doesn't exist yet.
202
ef253080
GM
203 * xterm.c (x_after_update_window_line): Clear internal border
204 in different circumstances.
205
60ebcfe8
GM
206 * xterm.c (XTread_socket) <KeyPress>: Don't use
207 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
208 <handa@etl.go.jp>.
209
73d25f9c
EZ
2102001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
211
212 * m/ibms390.h: New file. From Adam Thornton
213 <athornton@sinenomine.net>.
214
cac1daf0
GM
2152001-10-28 Gerd Moellmann <gerd@gnu.org>
216
053b3256
GM
217 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
218
cac1daf0
GM
219 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
220 a loop counter.
221
13b1a09c
PJ
2222001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
223
186486eb
PJ
224 * emacs.c: Use argv[0] instead of emacs when -t was specified.
225
4707d2d0
PJ
226 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
227 keyword].
228 Fix typos in comments.
229
d883731c
PJ
230 * emacs.c (bug_reporting_address): New function.
231 Use it when displaying usage message.
232
04012254
PJ
233 * minibuf.c (read_minibuf): Remove unused external declaration of
234 variable `Qread_only'.
235
13b1a09c
PJ
236 * keymap.c (access_keymap): Remove unused variable `charset'.
237
5bbf4378
MB
2382001-10-28 Miles Bader <miles@gnu.org>
239
240 * xfaces.c (merge_face_heights): Handle TO being relative as well.
241 Remove #ifdef'd-out code.
242 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
243 (syms_of_xfaces): Initialize them.
244
1ce1e4ee
JR
2452001-10-27 Jason Rumney <jasonr@gnu.org>
246
247 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
248 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
249 position using the system caret.
250
251 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
252 (w32_system_caret_height, w32_system_caret_x)
253 (w32_system_caret_y): New variables for tracking system caret.
254 (w32_initialize): Initialize them.
c2d53558 255 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 256
c2d53558
SM
257 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
258 New messages types.
1ce1e4ee
JR
259
260 * w32term.c (note_mouse_highlight): Clear old help_echo.
261
4e30ce42
PJ
2622001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
263
bb4600a4
PJ
264 * xterm.c: Fix typo in a comment.
265
7db35a48
PJ
266 * emacs.c: Fix typos in comments.
267 Remove unnecessary spaces.
268 Change doc-string comments to `new style' [w/`doc:' keyword].
269 (USAGE2): Fix typos in usage string.
270
a7248e4f
PJ
271 * xterm.c: Fix typo in a comment.
272
4e30ce42
PJ
273 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
274 emacs.c.
275
62725a92
GM
2762001-10-27 Gerd Moellmann <gerd@gnu.org>
277
798dbe1f 278 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 279 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
280 farther backward when target_y was not reached.
281
62725a92
GM
282 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
283 Display errno only if non-zero.
284 (sound_warning): New function.
285 (vox_configure): Don't treat failing to set sample rate as error.
286 (various places): Improve error messages.
287
d4e34d24
EZ
2882001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
289
944e6f60
EZ
290 * fileio.c (Faccess_file): Run the argument filename through
291 Fexpand_file_name, before using it.
292
d4e34d24
EZ
293 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
294 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
295
38d2af0c
GM
2962001-10-26 Gerd Moellmann <gerd@gnu.org>
297
da80a8d5
GM
298 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
299
38d2af0c
GM
300 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
301 Fix clearing in the case of scroll bars on the right.
c2d53558 302
56f508dd
EZ
3032001-10-26 Juanma Barranquero <lektu@terra.es>
304
305 * w32gui.h (XImage): Add a dummy typedef.
306
fbd5ceb2
GM
3072001-10-26 Gerd Moellmann <gerd@gnu.org>
308
c2d53558 309 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 310
b23236fb
EZ
3112001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
312
313 * frame.c (Fframe_parameter): Fix last change.
314
5d991fc4
EZ
315 * fileio.c: Revert last change (which removed old commented-out
316 version of expand-file-name). Add a comment that explains why
317 this old version should not be removed.
318
879eadc3
GM
3192001-10-25 Gerd Moellmann <gerd@gnu.org>
320
75700ff2
GM
321 * frame.c (Fframe_parameter): Fix a bug whereby some
322 ``artificial'' frame parameters, like `minibuffer' were not
323 obtained by calling Fframe_parameters.
324
dfe92a6a
GM
325 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
326 cursor differently.
327
879eadc3
GM
328 * xdisp.c (move_it_vertically_backward): Compute line height
329 differently. Add heuristic to try to be more compatible to 20.x.
330
e1010ebe
SM
3312001-10-25 Stefan Monnier <monnier@cs.yale.edu>
332
d73a471b
SM
333 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
334
d6da5a06
GM
335 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
336 boolean.
e1010ebe 337
f66bd220
MB
3382001-10-25 Miles Bader <miles@gnu.org>
339
340 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
341 BG is a pointer to a structure, not a structure.
342 (gif_format, png_format): Add missing commas.
343
d436d538
RS
3442001-10-24 Richard M. Stallman <rms@gnu.org>
345
346 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 347 (syms_of_xfaces): Defsubr it.
d436d538 348
075c507b
PJ
3492001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
350
351 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
352 variable `area'.
353
d492b584
PJ
3542001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
355
c2d53558 356 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 357
e2a57b34
MB
3582001-10-25 Miles Bader <miles@gnu.org>
359
360 * dispextern.h (struct image): Add `background',
361 `background_valid', and `background_transparent' fields.
362 (image_background, image_background_transparent): New declarations.
363 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
364 * xfns.c (image_background, image_background_transparent)
365 (four_corners_best): New functions.
c2d53558 366 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
367 (gs_format): Add `:background' entry.
368 (lookup_image): Set IMG's background color if specified.
369 (pbm_load, xbm_load_image, png_load): Set IMG's background field
370 when appropriate.
371 (x_clear_image_1): Reset `background_valid' and
372 `background_transparent_valid' fields.
373 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
374 calculating it here. Set IMG's background_transparent field.
375 (enum xpm_keyword_index): Add XPM_BACKGROUND.
376 (enum png_keyword_index): Add PNG_BACKGROUND.
377 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
378 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
379 (enum gif_keyword_index): Add GIF_BACKGROUND.
380 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 381 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
382 Pre-calculate image background color where necessary.
383 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
384 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
385 color to use for image glyph reliefs.
386
b547b6e8
GM
3872001-10-24 Gerd Moellmann <gerd@gnu.org>
388
d9e3b8c6
GM
389 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
390 in full-width rows.
c2d53558 391
b547b6e8
GM
392 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
393 Fix clearing of area not covered by scroll bar.
394
2beb36f9
PJ
3952001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
396
397 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
398 and `real_start'.
c2d53558 399 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
400 (glyph_rect): Remove unused variable `area'.
401
76cb5e06
GM
4022001-10-24 Gerd Moellmann <gerd@gnu.org>
403
bdbdebff 404 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
405
406 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
407 (row_containing_pos): Take additional argument DY.
408 Treat rows ending in middle of char differently.
62e33982
GM
409 (display_line): Handle tabs on window systems differently.
410
411 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
412 with additional argument.
413
414 * dispextern.h (row_containing_pos): Adjust prototype.
415
76cb5e06
GM
416 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
417 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
418 (try_window_id, try_window_reusing_current_matrix)
419 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
420 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
421
996fee11
PJ
4222001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
423
c9e60620
PJ
424 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
425 gnuemacs).
426 (HAVE_BOXES): Fix typo in comment.
427 (push_menu_pane): Fix typo in comment.
428
3b552d56
PJ
429 * xdisp.c: (display_prop_string_p): Remove unused local declaration
430 of `Qwhen'.
431 (single_display_prop_string_p): Remove unused local declarations
432 of `Qwhen' and `Qmargin'.
433 (string_buffer_position): Remove unused variable `around'.
434 (store_frame_title): Remove unused variable `width'.
435
15c565ac
PJ
436 * window.c: Don't define max.
437 (coordinates_in_window): Remove unused variable `uy'.
438
a8818eb9
PJ
439 * widget.c: Don't define max.
440
996fee11
PJ
441 * process.c: Don't define max.
442 (create_process): Remove unused variable `buffer'.
443
496e1a5b
GM
4442001-10-23 Gerd Moellmann <gerd@gnu.org>
445
c2d53558 446 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 447
5905ae8b
EZ
4482001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
449
450 * xfaces.c (Finternal_set_lisp_face_attribute)
451 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
452 frame is on a windowed display.
453
24db49fb
GM
4542001-10-23 Gerd Moellmann <gerd@gnu.org>
455
c2d53558
SM
456 * dispnew.c (sync_window_with_frame_matrix_rows):
457 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
458 of marginal areas.
459
c2d53558 460 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 461
f0487f05
EZ
4622001-10-23 Andreas Schwab <schwab@suse.de>
463
464 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
465 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
466
f0a48a01
GM
4672001-10-23 Gerd Moellmann <gerd@gnu.org>
468
c2d53558 469 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
470 REAL_END. Notice if cursor gets overwritten.
471 (notice_overwritten_cursor): Take X positions as parameters.
472 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
473 around call to x_draw_glyphs.
474
a50a10a0
PJ
4752001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
476
fc11dff0
PJ
477 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
478 instead of C) and usage.
a50a10a0 479
fc11dff0
PJ
480 * editfns.c (char-to-string): Fix argument names (use CHAR instead
481 of C) and usage.
a50a10a0
PJ
482
483 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
484 `left', `max_width' and `max_height'.
485
8738febd
GM
4862001-10-23 Gerd Moellmann <gerd@gnu.org>
487
488 * xdisp.c (display_line): For a tab continued to the next line,
489 set row's ends_in_middle_of_char_p.
490
653c329b
GM
4912001-10-22 Gerd Moellmann <gerd@gnu.org>
492
493 * xdisp.c (display_line): Fix computation of continuation lines
494 width for TABs.
495
f958c5ac
PJ
4962001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
497
7ba51063
PJ
498 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
499 `Qlaplace'.
500
f958c5ac
PJ
501 * fileio.c: Remove unused code.
502
eb360291
MB
5032001-10-22 Miles Bader <miles@gnu.org>
504
505 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
506 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
507 Remove `DOC_STRINGS_IN_COMMENTS' cases.
508
98515cf0
JR
5092001-10-21 Jason Rumney <jasonr@gnu.org>
510
511 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
512
93026d88
EZ
5132001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
514
515 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
516 (Finsert_string): Avoid the multi-line string literals warning.
517
c9a95b79
MB
5182001-10-22 Miles Bader <miles@gnu.org>
519
520 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
521 (Fdocumentation): Don't use it.
522 (syms_of_doc): Don't initialize it.
523
524 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
525 * print.c (Fwith_output_to_temp_buffer): Likewise.
526 * window.c (Fsave_window_excursion): Likewise.
c2d53558 527 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 528 (Fsave_restriction): Likewise.
c2d53558
SM
529 * eval.c (Frun_hooks, Frun_hook_with_args)
530 (Frun_hook_with_args_until_failure)
531 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
532 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
533 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
534 (Funwind_protect, Fcondition_case): Likewise.
535 * coding.c (Ffind_operation_coding_system): Likewise.
536 * keyboard.c (Ftrack_mouse): Likewise.
537
a3b10252
MB
5382001-10-21 Miles Bader <miles@gnu.org>
539
c2d53558 540 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
541 (Fmake_hash_table): Add usage: string to doc string.
542 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 543 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
544 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
545 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
546 (Fml_prefix_argument_loop): Likewise.
547
c6f73eec
PJ
5482001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
549
c2d53558 550 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 551
c6f73eec
PJ
552 * sysdep.c (init_sys_modes): Change doc-string comments to `new
553 style' [w/`doc:' keyword].
554
555 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
556 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
557 comments to `new style' [w/`doc:' keyword].
558
3cf3436e
JR
5592001-10-21 Jason Rumney <jasonr@gnu.org>
560
561 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
562
c169b8f1
JR
563 * w32term.c (remember_mouse_glyph): New function.
564 (w32_mouse_position): Use it.
565 (note_mouse_movement): If the mouse moved off the glyph, remember
566 its new position.
c2d53558 567
4fdd691b
JR
568 * w32term.h (struct w32_output): Correct spelling of x_compatible.
569 (w32_display_info): Add mouse_face_overlay.
570
c169b8f1
JR
571 * w32term.c (notice_overwritten_cursor): Renamed from
572 note_overwritten_text_cursor. Rewritten to take glyph widths into
573 account.
574 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
575 (fast_find_string_pos): New function.
576 (fast_find_position): Return the correct vpos. Add parameter
577 STOP. In the final row, stop before glyphs having STOP as object.
578 Don't consider glyphs that are not from a buffer.
579 (fast_find_position) [0]: Add a presumably more correct version
580 for after 21.1.
581 (expose_window_tree, expose_frame): Don't compute intersections here.
582 (expose_window): Do it here instead.
583 (expose_window_tree, expose_window, expose_line): Return 1 when
584 overwriting mouse-face.
585 (expose_window): If W is the window currently being updated, mark
586 the frame garbaged.
587 (expose_frame): If mouse-face was overwritten, redo it.
588 (x_use_underline_position_properties): New variable.
589 (syms_of_xterm): DEFVAR_BOOL it.
590 (x_draw_glyph_string): Add comment to use it in future.
591 (x_draw_glyph_string): Restore clipping after drawing box.
592 Fix a computation of the underline position.
593 (w32_get_glyph_string_clip_rect): Minor cleanup.
594 (x_fill_stretch_glyph_string): Remove an assertion.
595 (x_produce_glyphs): Don't convert multibyte characters
596 to unibyte characters in unibyte buffers.
597 (cursor_in_mouse_face_p): New function.
598 (x_draw_stretch_glyph_string): Use it to choose a different GC
599 when drawing a cursor within highlighted text. Don't draw
600 background again if it has already been drawn.
601 (x_draw_glyph_string_box): Don't draw a full-width
602 box just because the glyph row's full_width_p flag is set.
603 (x_draw_glyphs): Fix computation of rightmost x for
604 full-width rows.
605 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
606 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
607 change bottom shadow accordingly. Some cleanup.
608 (x_update_window_end): Handle overwritten mouse face
609 also for tool bar windows.
610 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
611 DRAW is DRAW_IMAGE_RAISED.
612 (clear_mouse_face): Return 1 if text with mouse face was
613 actually redrawn. Make the function static. Reset
614 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
615 optimize away highlighting if we pass over that same overlay again.
616 (note_mouse_highlight): Call mouse_face_overlay_overlaps
617 to detect a case where we have to highlight a different region
618 despite not having left the currently highlighted region.
619 Set mouse_face_overlay in the x_display_info. Avoid changing the
620 mouse pointer shape when show_mouse_face has already done it, or
621 there is no need. Handle mouse-face and help-echo in strings.
622 (glyph_rect): New function.
623 (w32_mouse_position): Use it to raise the threshold for mouse
624 movement event generation.
625 (w32_initialize_display_info): Initialize the x_display_info's
626 mouse_face_overlay.
627 (w32_set_vertical_scroll_bar): Don't clear a zero height
628 or width area.
629 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
630 a widget to zero height.
631
3cf3436e 632 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 633 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
634 equivalents in menu_items.
635 (w32_menu_show): Don't overwrite an item's name with its key
636 description in case the description is a multibyte string.
637 (single_submenu): Some cleanup.
638
639 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
640 (postprocess_image): New function.
641 (lookup_image): Call it for all image types except PostScript.
642 (x_kill_gs_process): Call postprocess_image.
643 (tiff_error_handler, tiff_warning_handler): New functions.
644 (tiff_load): Install them as handlers.
645 (x_kill_gs_process): Recognize if someone has cleared the image
646 cache under us.
647 (valid_image_p): Protect better against invalid image
648 specifications. Previous code could signal an error.
649 (Fx_hide_tip, Fshow_tip): Doc fix.
650 (Fv_max_tooltip_size): New variable.
651 (syns_of_xfns): DEFVAR_LISP it.
652 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
653 window buffer to *tip* right after creating the frame. Set frame's
654 window_width. Use a maximum tooltip size specified by
655 Vx_max_tooltip_size, if that has valid contents.
656 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
657 Make sure the tooltip is completely visible.
658 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
659 (Fx_create_frame): Adjust the frame's height for presence
660 of the tool bar before calling x_figure_window_size.
661 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
662 when the window gets smaller.
663 (x_set_foreground_color): Set frame's cursor_pixel.
664 (x_set_foreground_color, x_set_background_color): Cleaned up.
665 (x_set_font): Handle case of x_new_fontset returning the same name
666 as before, although there was a change in fontsets.
667
386ca361
MB
6682001-10-21 Miles Bader <miles@gnu.org>
669
c2d53558 670 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
671 (Flogxor): Add usage: string to doc string.
672 * charset.c (Fstring): Likewise.
673 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
674 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
675
14ff1ee0
PJ
6762001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
677
03be2694
PJ
678 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
679
680 * alloc.c: Reindent DEFUNs with doc: keywords.
681
682 * abbrev.c (Finsert_abbrev_table_description): Reindent.
683
14ff1ee0
PJ
684 * frame.c: Change doc-string comments to `new style' [w/`doc:'
685 keyword].
686
71431a0e
GM
6872001-10-20 Gerd Moellmann <gerd@gnu.org>
688
6aa97356 689 * (Version 21.1 released.)
71431a0e 690
39f624fa
PJ
6912001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
692
c2d53558 693 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
694
695 * xdisp.c (invisible_text_between_p): Put prototype inside #if
696 0 because unused.
697
698 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
699 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
700 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 701
abcce93a
MB
7022001-10-20 Miles Bader <miles@gnu.org>
703
704 The following changes remove the glyph_row `inverse_p' field,
705 which is never set anymore, due to other changes:
706
707 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
708 (reassert_line_highlight, change_line_highlight): Declarations removed.
709 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
710 (line_hash_code, row_equal_p, fake_current_matrices)
711 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
712 (update_frame_line, update_frame_line, update_frame_line):
713 Don't use `inverse_p' field.
714 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
715 change_line_highlight_hook.
716 (XTreassert_line_highlight, x_change_line_highlight):
717 Functions removed.
c2d53558 718 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
719 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
720 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
721 `inverse_p' field.
c2d53558 722 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
723 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
724 (w32_reassert_line_highlight, x_change_line_highlight):
725 Functions removed.
726 * w32console.c (reassert_line_highlight, change_line_highlight):
727 Functions removed.
728 (initialize_w32_display): Don't set reassert_line_highlight_hook
729 or change_line_highlight_hook.
730 (hl_mode): Function removed.
c2d53558
SM
731 (reset_terminal_modes, set_terminal_modes, update_begin)
732 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
733 (clear_frame, ins_del_lines): Don't call it.
734 * termhooks.h (reassert_line_highlight_hook)
735 (change_line_highlight_hook): Declarations removed.
736 * term.c (reassert_line_highlight_hook)
737 (change_line_highlight_hook): Variables removed.
738 (reassert_line_highlight, change_line_highlight): Functions removed.
739 * msdos.c (IT_reassert_line_highlight)
740 (IT_change_line_highlight): Functions removed.
741 (internal_terminal_init): Don't set reassert_line_highlight_hook
742 or change_line_highlight_hook.
743 (highlight): Variable removed.
c2d53558 744 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
745 (IT_set_terminal_modes): Don't set or use it.
746
747 The following changes remove inverse-video support for terminals
748 that use a `magic cookie' standout mode. Due to changes in the
749 way mode-lines are displayed, such support no longer works
750 anyway, and it's probable that almost no one uses such terminals
751 anymore:
752
753 * term.c (standout_requested): Variable removed.
754 (update_end, highlight_if_desired): Don't use it.
755 (chars_wasted, copybuf): Variables removed.
756 (write_standout_marker): Function removed.
c2d53558 757 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
758 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
759 Don't use `chars_wasted' or `copybuf'.
760 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
761 Set `costs_set' to true.
762 (cursor_to, clear_end_of_line): Test `costs_set' instead of
763 `chars_wasted'.
764 (clear_end_of_line): Function removed.
765 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
766 (clear_to_end): Call `clear_end_of_line' instead of
767 `clear_end_of_line_raw'.
54800acb
MB
768 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
769 (term_init): Don't set them.
770 Turn off any standout/underline modes that require magic cookies.
c2d53558 771 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
772 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
773 Remove special processing for magic-cookie standout modes.
774 (turn_off_face, turn_on_face): Remove special processing for
775 underline magic-cookie glitch.
abcce93a 776
0b5f679f
RS
7772001-10-19 Richard M. Stallman <rms@gnu.org>
778
779 * eval.c (syms_of_eval): Doc fixes.
780
5a4a5bd4
GM
7812001-10-19 Gerd Moellmann <gerd@gnu.org>
782
783 * xdisp.c (redisplay_internal): Don't clear echo area if the
784 mini-window is selected.
785
79f1f96c
MB
7862001-10-19 Miles Bader <miles@gnu.org>
787
b57c2708
MB
788 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
789 doesn't take precedence if the affected property's value is nil.
790
791 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
792
79f1f96c
MB
793 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
794 with fields and suggest using `forward-line' to avoid them.
795 * editfns.c (Fline_beginning_position, Fline_end_position):
796 Clarify documentation.
797
ef879104
SM
7982001-10-18 Stefan Monnier <monnier@cs.yale.edu>
799
800 * keymap.c (current_minor_maps): `override' only shadows its
801 correspondent in minor-mode-map-alist, not the whole tail.
802
97f4db8c
AI
8032001-10-18 Andrew Innes <andrewi@gnu.org>
804
805 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
806 optimization. The fontp->encoding array was not being initialized
807 correctly when compiled with optimizations by MSVC.
808
e6b70fd8
GM
8092001-10-18 Gerd Moellmann <gerd@gnu.org>
810
30903479 811 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 812
0e804d38
AI
8132001-10-17 Andrew Innes <andrewi@gnu.org>
814
815 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
816
817 * w32fns.c (w32_load_system_font): Cache codepage for font, in
818 font_info.charset field.
819
820 * w32term.c (w32_encode_char): Get cached codepage from font_info,
821 rather than working it out by calling w32_codepage_for_font for
822 every glyph.
823
66e5868a
AI
8242001-10-17 Andrew Innes <andrewi@gnu.org>
825
826 * w32term.c (w32_read_socket): Determine clipping rectangle for
827 the entire frame, including areas covered by scrollbars and the
828 menubar. This avoids internal arguments about whether a frame is
829 fully obscured or not.
830
15b00083
GM
8312001-10-17 Gerd Moellmann <gerd@gnu.org>
832
23e8bd86
GM
833 * xdisp.c (try_window_id): Undo last change. Give up if
834 window ends in strings.
30903479 835
9c6ba6d1 836 * xdisp.c (try_window_id): Don't display lines after the window
30903479 837 end if the rest of the window after the window end was already blank.
23e8bd86 838
30903479 839 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
840 for the release of 21.1.
841
30903479 842 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 843
945220bd
MB
8442001-10-17 Miles Bader <miles@gnu.org>
845
846 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
847 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
848 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
849 Change doc-string comments to `new style' [w/`doc:' keyword].
850 (DOC_STRINGS_IN_COMMENTS): Macro removed.
851 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
852 out make-docfile.
853
14242528
MB
8542001-10-16 Miles Bader <miles@gnu.org>
855
856 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
857
3ddf952f
GM
8582001-10-16 Gerd Moellmann <gerd@gnu.org>
859
860 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
861 *scratch*.
862
f3fbd155
KR
8632001-10-16 Ken Raeburn <raeburn@gnu.org>
864
865 Avoid the assumption that car and cdr slots of cons cells are
866 addressable lvalues; this allows for easier experimentation with
867 other lisp implementations that may not permit such accesses for
868 various reasons. Not quite complete -- buffer.c still needs some
869 work, and w32/mac files need rechecking -- so compile-time
870 enforcement is left disabled for now.
871
872 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 873 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
874 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
875 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
876 (XSETCAR, XSETCDR): New macros.
877 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
878 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
879 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
880 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
881 XSETCDR.
882 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
883 * buffer.c (record_buffer, Fbury_buffer)
884 (swap_out_buffer_local_variables, recenter_overlay_lists)
885 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
886 fields of a cons cell respectively.
887 * callint.c (quotify_args, Fcall_interactively): Likewise.
888 * ccl.c (Fregister_code_conversion_map): Likewise.
889 * coding.c (detect_coding_system): Likewise.
890 * composite.c (get_composition_id, make_composition_value_copy):
891 Likewise.
30903479
SM
892 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
893 (swap_in_symval_forwarding, set_internal, Fset_default)
894 (Fmake_variable_buffer_local, Fmake_local_variable)
895 (Fmake_variable_frame_local): Likewise.
f3fbd155 896 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 897 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 898 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
899 * minibuf.c (get_minibuffer): Likewise.
900 * search.c (Fmatch_data): Likewise.
901 * textprop.c (extend_property_ranges): Likewise.
c2d53558 902 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
903 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
904 Likewise.
905 * w32term.c (x_delete_display): Likewise.
906 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
907 Likewise.
c2d53558 908 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 909 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 910 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
911 (Fread_file_name): Use XSETCAR.
912 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
913 CHECK_NUMBER_CDR.
914 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
915 * frame.c (Fmake_terminal_frame): Use XSETCDR.
916 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
917 CHECK_NUMBER_CDR.
918 * keyboard.c (read_char): Alter list traversal to avoid taking the
919 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
920 (parse_menu_item): Use XSETCAR and XSETCDR.
921 (reach_char_x_menu_prompt): Use XSETCAR.
922 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
923 (Fcommand_execute): Use XSETCDR.
924 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
925 (openp): Change list traversal to avoid using XCAR as lvalue.
926 (read_list): Use XSETCDR.
927 * process.c (wait_reading_process_input): Change wait_for_cell
928 handling to avoid taking addresses of cons cell slots.
30903479
SM
929 * xselect.c (x_own_selection, x_handle_selection_clear)
930 (x_clear_frame_selections): Use XSETCDR.
931 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
932 (x_handle_property_notify, x_get_foreign_selection)
933 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 934
502150e5
PJ
9352001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
936
018ba359
PJ
937 * buffer.c: Put doc strings in comments.
938
30903479 939 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 940
b56ba8de
SS
9412001-10-15 Sam Steingold <sds@gnu.org>
942
943 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
944
6a0b793a
PJ
9452001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
946
30903479
SM
947 * process.c (process-inherit-coding-system-flag)
948 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
949 in comment.
950
a1f17501 951 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 952 arguments. Put doc strings in comments.
a65da641
PJ
953
954 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 955
aa601ad0
GM
9562001-10-15 Gerd Moellmann <gerd@gnu.org>
957
30903479 958 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 959
aa601ad0
GM
960 * window.c (select_window_1): Unfreeze window start. Remove a
961 doubled test for WINDOW being live.
962
288148a1
PJ
9632001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
964
dd8d1e71
PJ
965 * fns.c (Fmapconcat): Fix typo in a doc string.
966
288148a1
PJ
967 * dispnew.c (Fsleep_for): Fix typo in a doc string.
968
9f5eb4a3
GM
9692001-10-15 Gerd Moellmann <gerd@gnu.org>
970
971 * xterm.c (x_draw_glyph_string): Restore clipping after
972 drawing box.
973
dbae44c8
PJ
9742001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
975
30903479 976 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 977
0c88c937
SM
9782001-10-14 Stefan Monnier <monnier@cs.yale.edu>
979
56378db4
GM
980 * indent.c (skip_invisible): Use new retval of
981 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 982
845e4cf4
SM
983 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
984 If a parent is reached and noinherit is set, exit immediately.
985 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
986
0c88c937
SM
987 * s/ms-w32.h (EXEC_SUFFIXES):
988 * s/msdos.h (EXEC_SUFFIXES):
989 * process.h (EXEC_SUFFIXES): Remove.
990
991 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
992 (decode_suffixes): Remove.
993
994 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
995 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
996 (invisible_ellipsis_p): Remove.
0c88c937
SM
997
998 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
999 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1000 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1001 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1002 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1003
d19be8a9
PJ
10042001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1005
04d7d066
PJ
1006 * lisp.h (Ftop_level): Add prototype.
1007
d624284c
PJ
1008 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1009 (XTread_socket): Improve style of comments to follow other
1010 comments.
1011
a87414f9
PJ
1012 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1013 is already prototyped in included lisp.h).
1014
d19be8a9
PJ
1015 * frame.c (Fset_mouse_position): Improve style of comment to
1016 follow other comments.
1017 (Fset_mouse_pixel_position): Improve style of comment to follow
1018 other comments.
1019 (Fmake_frame_visible): Doc fix and typo in comment.
1020 (Fmake_frame_invisible): Doc fix and typo in comment.
1021 (Ficonify_frame): Fix typo in comment.
1022
c061c855
GM
10232001-10-14 Gerd Moellmann <gerd@gnu.org>
1024
37f6b5b6 1025 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1026 * term.c, alloc.c: Put doc strings in comments.
c061c855 1027
e641b454
GM
10282001-10-13 Gerd Moellmann <gerd@gnu.org>
1029
1030 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1031 Provide definitions for doc strings in comments.
1032
1033 * fns.c: Put doc strings in comments.
1034
51724e26
EZ
10352001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1036
1037 * dired.c (file_name_completion): Ignore a candidate directory if
1038 it matches an element in completion-ignored-extensions that ends
1039 in a slash.
1040 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1041 feature in the doc string.
1042 (Ffile_name_completion): Ditto.
1043
be5fc59b
SM
10442001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1045
5a1373f3
SM
1046 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1047
1048 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1049
1050 * lisp.h (Fprovide): Update prototype.
1051 (Ffeaturep, invisible_p): Remove.
1052
bbc4a3d3 1053 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1054 (DOLIST, LOOP_PROPVAL): New macros.
1055 (invisible_p, invisible_ellipsis_p): Use them.
1056 (invisible_noellipsis_p): New function.
1057 (syms_of_xdisp): Use empty_string.
1058
1059 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1060
1061 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1062 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1063
1064 * print.c (Fwith_output_to_temp_buffer): Align with
1065 internal_with_output_to_temp_buffer.
1066 (print_preprocess): Use traverse_intervals_noorder.
1067 (print_object): Update call to traverse_intervals.
1068
1069 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1070 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1071
1072 * intervals.c (traverse_intervals_noorder): New function.
1073 (search_for_interval, count_intervals): Use it.
1074 (traverse_intervals): Use less stack space and drop `depth' arg.
1075
1076 * fns.c (Ffeaturep): Add new `subfeature' arg.
1077 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1078 (Qsubfeatures): New var.
1079 (syms_of_fns): Initialize it.
1080
026f408d
SM
1081 * keymap.c (Fkey_description): Use empty_string.
1082 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1083 (syms_of_keymap): Setup inheritance between maps.
1084 Don't export Sdescribe_bindings_internal any more.
1085
be5fc59b
SM
1086 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1087
3365175e
GM
10882001-10-12 Gerd Moellmann <gerd@gnu.org>
1089
1090 * xterm.c (notice_overwritten_cursor): Renamed from
1091 note_overwritten_text_cursor. Rewritten to take glyph widths into
1092 account.
1093
2ab7765c
EZ
10942001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1095
1096 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1097 multi-line strings without a trailing "\n\".
1098
311346bb
PJ
10992001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1100
1101 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1102 defined.
1103
2168e04d
SM
11042001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1105
026f408d
SM
1106 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1107
c0ec53ad
SM
1108 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1109 * w32proc.c (sys_spawnve):
1110 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1111 * w32.c (check_windows_init_file):
1112 * sound.c (Fplay_sound):
026f408d 1113 * emacs.c (init_cmdargs):
c0ec53ad
SM
1114 * process.c (Fstart_process): Update calls to openp.
1115
1116 * callproc.c (Vexec_suffixes): New var.
1117 (Fcall_process): Update call to openp.
1118 (decode_suffixes): New function.
1119 (syms_of_callproc): Init exec-suffixes.
1120
1121 * lread.c (Vload_suffixes, default_suffixes): New vars.
1122 (openp): Take a lisp list of suffixes.
1123 Check for file-name-handlers even if the file was absolute already.
1124 (syms_of_lread): Declare load-suffixes.
1125 (Fload): Fix up call to openp.
1126 Don't bother checking for file-name-handler at the very beginning.
1127
f6333468
SM
1128 * keymap.h (Fcopy_keymap): Don't export.
1129
1130 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1131 (Vload_suffixes, Vexec_suffixes): Declare.
1132 (openp): Update prototype.
f6333468
SM
1133
1134 * emacs.c (empty_string): New var.
1135 (syms_of_emacs): Initialize it.
1136
1137 * search.c (wordify): Use it.
1138
1139 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1140 selected window if it's not displayed there. Handle the case
1141 when the window is dedicated.
1142 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1143
1144 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1145
2168e04d
SM
1146 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1147 Remove left_ok and right_ok.
1148 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1149 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1150 new meaning of b_property.
1151
1152 * syntax.c (update_syntax_table): Simplify.
1153 (Fforward_comment): Don't skip quoted chars when going backward.
1154
13d95cc0
GM
11552001-10-11 Gerd Moellmann <gerd@gnu.org>
1156
beb0990f
GM
1157 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1158 in case I is of some unsigned type, in which case
1159 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1160 comparison becomes bogus.
1161
cb938d46
GM
1162 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1163 (Fuser_full_name): Fix bug treating a float as a fixnum.
1164
1165 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1166
1167 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1168
13d95cc0
GM
1169 * lisp.h (circular_list_error): Add prototype.
1170
1171 * data.c (Qcircular_list): New variable.
1172 (circular_list_error): New function.
1173 (syms_of_data): Initialize it Qcircular_list.
1174
e35f6ff7
SM
11752001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1176
1177 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1178 casefiddle.c, buffer.c: Include keymap.h.
1179
619632ac
GM
11802001-10-10 Gerd Moellmann <gerd@gnu.org>
1181
1182 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1183 options. From Dave Love <d.love@dl.ac.uk>.
1184
5e5388f6
GM
11852001-10-09 Gerd Moellmann <gerd@gnu.org>
1186
1187 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1188 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1189
14a3dff7
GM
1190 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1191 unsigned char.
1192 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1193
76ba8daf
AI
11942001-10-08 Andrew Innes <andrewi@gnu.org>
1195
1196 * lisp.h [max]: Undef min and max before redefining them.
1197
1198 * w32gui.h: Do not undef min and max.
1199
1200 * w32heap.h: Do not undef min and max.
1201
1202 * s/ms-w32.h: Do not undef min and max.
1203
166253cb
SM
12042001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1205
1206 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1207
0c4d9527
SS
12082001-10-08 Sam Steingold <sds@gnu.org>
1209
1210 * keymap.c (current-active-maps): Quote newlines (compilation error).
1211
14bfa771
EZ
12122001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1213
1214 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1215 bindings.elc, since otherwise doc strings in bindings.el get wrong
1216 offsets in etc/DOC.
1217
bdb7aa47
SM
12182001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1219
9985827f
SM
1220 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1221
1222 * keyboard.h (map_prompt): Remove.
1223
1224 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1225 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1226
bdb7aa47
SM
1227 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1228
1229 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1230
1231 * keyboard.c (map_prompt): Remove.
1232 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1233 Use Fkeymap_prompt.
1234
1235 * keymap.h: New file. Extracted from lisp.h.
1236
9985827f
SM
1237 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1238 (accessible_keymaps_1): New function.
1239 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1240 (Fwhere_is_internal): Use Fcurrent_active_maps.
1241 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1242 Insert in current buffer rather than standard-output.
1243 Don't call `help-mode'. Export to elisp.
1244 (describe_buffer_bindings): New wrapper.
1245 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1246 and Sdescribe_buffer_bindings.
1247
402c9a51
GM
12482001-10-08 Gerd Moellmann <gerd@gnu.org>
1249
9985827f 1250 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1251 Remove code setting signal handler.
1252
9985827f 1253 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1254 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1255
3fe81fdf
PJ
12562001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1257
1258 * keyboard.c: Don't define min/max.
1259
55fa7820
GM
12602001-10-08 Gerd Moellmann <gerd@gnu.org>
1261
9985827f 1262 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1263 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1264 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1265 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1266 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1267 Don't define min/max.
1268
1269 * lisp.h (min, max): New macros.
1270
55fa7820
GM
1271 * puresize.h (BASE_PURESIZE): Increase to 725000.
1272
1aad31e4
PJ
12732001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1274
9180dc8c
PJ
1275 * xfaces.c (free_frame_menubar): Add prototype.
1276
01f67d2c
PJ
1277 * lisp.h (init_window): Add prototype.
1278
1279 * editfns.c: Include ctype.h.
1280
1281 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1282 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1283 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1284 variable `sb'.
1285
5f351ff1
PJ
1286 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1287 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1288 `popup_activated_flag' and `title'.
1289
479dfe87
PJ
1290 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1291
dff49fc8
PJ
1292 * emacs.c (main): Remove extra `;'.
1293
248ac615
PJ
1294 * atimer.h (struct atimer): Fix typos in a comment.
1295
1296 * atimer.c: Fix typo.
1297
af232c7d
PJ
1298 * Makefile.in: Fix typo.
1299
1300 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1301
d876f455
MB
13022001-10-07 Miles Bader <miles@gnu.org>
1303
1304 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1305
0037e2f2
KR
13062001-10-07 Ken Raeburn <raeburn@gnu.org>
1307
b056f36d
KR
1308 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1309 Lisp_Object.
1310
0037e2f2
KR
1311 * lisp.h (Ffield_end): Declare.
1312
1a4372ef
GM
13132001-10-07 Gerd Moellmann <gerd@gnu.org>
1314
a4a74e8c
GM
1315 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1316
1317 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1318
1319 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1320
1321 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1322
1a4372ef
GM
1323 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1324 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1325
1326 * alloc.c (inhibit_garbage_collection): Simplify.
1327 (Fmemory_use_counts): Ditto.
1328
9985827f 1329 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1330 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1331 most-negative-fixnum.
1332
9985827f 1333 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1334 (FIXNUM_OVERFLOW_P): New macros.
1335
4650e362
MB
13362001-10-06 Miles Bader <miles@gnu.org>
1337
1338 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1339 scroll_bar_bottom_shadow_pixel fields.
1340 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1341 for the shadows, and tell the toolkit about them if we succeed.
1342 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1343 Free scroll-bar shadow colors.
1344 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1345 Free scroll-bar shadow colors when the background color changes.
1346 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1347 Initialize scroll-bar shadow-color fields.
1348
ace64e0a
GM
13492001-10-05 Gerd Moellmann <gerd@gnu.org>
1350
1351 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1352
ec66bdc7
MB
13532001-10-05 Miles Bader <miles@gnu.org>
1354
9985827f
SM
1355 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1356 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1357 New functions (were in simple.el).
9985827f 1358 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1359 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1360 (syms_of_minibuf): Initialize them.
1361
a0fb4492
GM
13622001-10-05 Gerd Moellmann <gerd@gnu.org>
1363
1364 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1365 (tiff_load): Install them as error and warning handler.
1366
0bcf87c1
AI
13672001-10-04 Andrew Innes <andrewi@gnu.org>
1368
1369 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1370 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1371 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1372 (x_to_w32_charset): Handle private format for unknown charsets.
1373 Handle wildcards in charset spec, by ignoring them.
1374 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1375 "*-" prefix from charset.
1376 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1377 handle the truncated font spec form constructed by font_list_1, so
1378 that we correctly identify the charset fields. Don't remove "*-"
1379 prefix from charset.
1380 (w32_list_synthesized_fonts): Fix argument to alloca.
1381
c89e4bc5
GM
13822001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1383
1384 * window.h (MINI_WINDOW_P): Use NILP.
1385
1386 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1387
1388 * termhooks.h (struct input_event): Use proper type for `kind'.
1389
13902001-10-04 Gerd Moellmann <gerd@gnu.org>
1391
1392 This handles unknown keysyms better than before. For example,
1393 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1394 Emacs formerly completely ignored F5. With the change, it derives
1395 a key symbol from the name of the X keysym, `ccaron' in this case.
1396 Reported by Martin Buchholz.
1397
1398 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1399 unknown keysyms.
1400
1401 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1402 that EVENT->code isn't a function key, use the keysym's name.
1403
14042001-10-04 Gerd Moellmann <gerd@gnu.org>
1405
1406 FOREACH is a macro that should make it easier to loop over Lisp
1407 lists with checks for cycles and proper lists.
1408
1409 * lisp.h (LIST_END_P, FOREACH): New macros.
1410
14112001-10-04 Gerd Moellmann <gerd@gnu.org>
1412
1413 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1414 called for a lost connection. Prevent dumping core in this case.
1415 Instead print the X error, and exit. On user request.
1416
1417 * xterm.c (error_msg): New variable.
1418 (x_fatal_error_signal): New function.
1419 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1420 as fatal_error_signal_hook around the call to XtCloseDisplay.
1421
1422 * emacs.c (fatal_error_signal_hook): New variable.
1423 (fatal_error_signal): Call that function.
1424
14252001-10-04 Gerd Moellmann <gerd@gnu.org>
1426
1427 With this, Emacs prints how much pure storage it will
1428 approximately need in case pure storage overflows while dumping.
1429
1430 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1431 New variables.
1432 (init_alloc_once): Initialize new variables.
1433 (PURE_POINTER_P): Use new variables.
1434 (pure_alloc): If pure storage overflows, allocate from the heap.
1435 (check_pure_size): New function.
1436 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1437
1438 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1439 (check_pure_size): Add prototype.
1440
1441 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1442
14432001-10-04 Gerd Moellmann <gerd@gnu.org>
1444
1445 This adds a post-gc-hook that's run with GC inhibited.
1446 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1447
1448 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1449 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1450 (Fgarbage_collect): Run post-gc-hook.
1451
14522001-10-04 Gerd Moellmann <gerd@gnu.org>
1453
1454 This adds `defvaralias' and `indirect-variable'. Changes not
1455 directly related to this feature are there to gain the same
1456 performance again as before variable aliases.
1457
1458 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1459 code to get and set symbol values, to take defvaralias into account.
1460
1461 (Note: the new `constant' bit-flag in symbols would make it
1462 possible to define arbitrary read-only variables, e.g. with
1463 `defconst'.)
1464
1465 Documentation is in lispref/variables.texi. Added to NEWS.
1466
1467 * lisp.h (enum symbol_interned): New enumeration.
1468 (struct Lisp_Symbol): Remove member `obarray', add
1469 `indirect_variable', `constant', and `interned'.
1470 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1471 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1472 (indirect_variable): Add prototype.
1473
1474 * print.c (print_preprocess, print_object): Test internedness of
1475 symbols differently.
1476
1477 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1478 bit-fields.
1479 (init_obarray): Likewise for t and nil.
1480
1481 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1482 (Fdefvaralias): New function.
1483 (specbind): Simplify the test if symbol is a constant.
1484 (syms_of_eval): Defsubr Fdefvaralias.
1485
1486 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1487 (Qcyclic_variable_indirection): New variable.
1488 (Fkeywordp): Check for internedness differently.
1489 (Fmakunbound): Simplify the test if symbol is a constant.
1490 (indirect_variable, Findirect_variable): New functions.
1491 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1492 aliased symbol.
1493 (let_shadows_buffer_binding_p): Check for variable aliases.
1494 (set_internal): Simplify the test if SYMBOL is a constant.
1495 If SYMBOL has a buffer-local value and is an alias, use the aliased
1496 symbol instead.
1497 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1498 Sindirect_variable.
1499
1500 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1501 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1502 set directly.
1503
1504 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1505
1506 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1507 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1508 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1509
ab952a4f
GM
15102001-10-04 Gerd Moellmann <gerd@gnu.org>
1511
1512 * Branch for 21.1.
b56ba8de 1513
ba88ff28
MB
15142001-10-03 Miles Bader <miles@gnu.org>
1515
1516 * callproc.c (syms_of_callproc): Explicitly state in the
1517 documentation for `process-environment' that earlier entries take
1518 precedence over later ones.
1519
ae1a9581
MB
15202001-10-02 Miles Bader <miles@gnu.org>
1521
1522 * textprop.c (Fnext_char_property_change)
1523 (Fprevious_char_property_change): Remove reference to non-existant
1524 argument OBJECT from doc-string.
1525
257e3f57
GM
15262001-10-01 Gerd Moellmann <gerd@gnu.org>
1527
1528 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1529 (try_window_id): Skip back over lines ending in a newline from a
1530 string.
1531
1532 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1533 New bit flag
1534
c1f29759
RS
15352001-10-01 Richard M. Stallman <rms@gnu.org>
1536
1537 * search.c (Freplace_match): Doc fix.
1538
c30dce3d
AI
15392001-09-28 Andrew Innes <andrewi@gnu.org>
1540
1541 * w32menu.c (set_frame_menubar): Take into account that
1542 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1543 <raeburn@gnu.org>.
1544
03be5931
EZ
15452001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1546
1547 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1548
75bec752
PJ
15492001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1550
1551 * s/gnu-linux.h: Fix a typo in comment.
1552
83100e0a
AS
15532001-09-28 Andreas Schwab <schwab@suse.de>
1554
1555 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1556 nocombreloc, in case -z combreloc is the default.
1557
a74b48cf
GM
15582001-09-28 Gerd Moellmann <gerd@gnu.org>
1559
1560 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1561 really going on here.
1562
09c4719e
SM
15632001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1564
1565 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1566
f7d5d963
EZ
15672001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1568
1569 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1570 utf-8, menu-bar, and latin-N.
1571 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1572 unconditionally now.
1573 (lisp): Add latin-N, since they are preloaded.
1574
9240e746
GM
15752001-09-27 Gerd Moellmann <gerd@gnu.org>
1576
14531065
GM
1577 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1578 to the left. Some cleanup.
1579
9240e746
GM
1580 * xdisp.c (display_mode_element): One more case where a string's
1581 multibyteness should be used for display.
1582
edd1e654
GM
15832001-09-26 Gerd Moellmann <gerd@gnu.org>
1584
b02439c8
GM
1585 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1586 reading at EOF.
1587
032906b1 1588 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1589 of the only temporarily set echoing flag for deciding when
032906b1
GM
1590 the cancel echoing.
1591
1592 * keyboard.c (echo_kboard): Make externally visible.
1593
1594 * lisp.h (echo_kboard): Declare extern.
1595
cb617e7c 1596 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1597 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1598 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1599 this round of redisplay if make_cursor_line_fully_visible fails.
1600 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1601 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1602
1603 * dispextern.h (required_matrix_width, required_matrix_height):
1604 Add prototypes.
1605
09c4719e
SM
1606 * dispnew.c (required_matrix_width, required_matrix_height):
1607 New functions.
cb617e7c 1608 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1609 (allocate_matrices_for_frame_redisplay: Use them.
1610 Remove parameters CH_DIM.
cb617e7c 1611
edd1e654
GM
1612 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1613 and selected_window to the frame of the window whose mode-lines
1614 are displayed, and to the window itself.
1615 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1616 here.
edd1e654 1617
924b604c
GM
16182001-09-25 Gerd Moellmann <gerd@gnu.org>
1619
daba7643
GM
1620 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1621 the image cache under us.
1622
b7a22712 1623 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1624 with a string value, use that string's multibyteness for displaying.
b7a22712 1625
ad648212
GM
1626 * keyboard.c (read_char): Don't clear a message for a switch-frame
1627 event. From Stefan Monnier <monnier@cs.yale.edu>.
1628
9f8531e5
GM
1629 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1630 version for after 21.1.
1631
1632 * xdisp.c (row_containing_pos): Make externally visible.
1633
1634 * dispextern.h (row_containing_pos): Add prototype.
1635
924b604c
GM
1636 * process.c (send_process): Disable composition if from_byte < 0.
1637 From Kenichi Handa <handa@etl.go.jp>.
1638
6f3f0db4
GM
16392001-09-24 Gerd Moellmann <gerd@gnu.org>
1640
c69c0ebc
GM
1641 * xterm.c (refreshicon): Function removed.
1642
d1182bc4
GM
1643 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1644
1645 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1646
1647 * xterm.c (toplevel): Remove includes in #if 0.
1648
6f3f0db4
GM
1649 * process.c (sigchld_handler) [LINUX]: Don't return from
1650 the signal handler at the end of the loop.
1651
59957f85
GM
16522001-09-21 Gerd Moellmann <gerd@gnu.org>
1653
09c4719e
SM
1654 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1655 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1656
a0528984
EZ
16572001-09-21 Markus Rost <rost@math.ohio-state.edu>
1658
1659 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1660
db92b288
GM
16612001-09-20 Gerd Moellmann <gerd@gnu.org>
1662
3fed8ad5
GM
1663 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1664 since this function can be called during GC.
1665
db92b288
GM
1666 * callproc.c (Fcall_process): Handle errors from pipe(2).
1667 (child_setup): Delete code in #ifdef vipc.
1668
7121b85a
GM
16692001-09-19 Gerd Moellmann <gerd@gnu.org>
1670
72f62cb5
GM
1671 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1672 (display_mode_element): Display the string from decode_mode_spec
1673 depending on its multibyteness.
1674
a2697022
GM
1675 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1676
7121b85a
GM
1677 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1678
bfc97351
GM
16792001-09-18 Gerd Moellmann <gerd@gnu.org>
1680
c9063433
GM
1681 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1682 recursive_edit_unwind.
1683 (recursive_edit_unwind): Set kboard state according to
1684 SINGLE-KBOARD.
1685
3fbdba3e
GM
1686 * buffer.c (modify_overlay): Don't do nothing if START == END;
1687 This can still be a modification, for example when an overlay has
1688 a before-string or after-string.
1689 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1690 an overlay with before-string or after-string.
1691
1270031d
GM
1692 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1693 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1694
bfc97351
GM
1695 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1696 first_unchanged_at_end_row is in front of
1697 last_unchanged_at_beg_row. This code should be removed after the
1698 release of 21.1.
1699
d8a973aa
GM
17002001-09-17 Gerd Moellmann <gerd@gnu.org>
1701
e18c8b8d
GM
1702 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1703 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1704
d8a973aa
GM
1705 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1706 versions >= 2.95.
1707
ed7d6ba4
EZ
17082001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1709
1710 * dired.c (Ffile_attributes): Doc fix.
1711
551629f9
GM
17122001-09-14 Gerd Moellmann <gerd@gnu.org>
1713
1714 * fileio.c (Ffile_symlink_p): Fix last change.
1715
1716 * filelock.c (current_lock_owner): Fix last change.
1717
4c8c7926
GM
17182001-09-13 Gerd Moellmann <gerd@gnu.org>
1719
620c4704
GM
1720 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1721 take that to mean that the buffer is too small.
1722
81c3310d
GM
1723 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1724 that to mean that the buffer is too small.
1725
06fd3792
GM
1726 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1727 current buffer's multibyteness when discarding the iterator's
1728 stack.
1729
4c8c7926
GM
1730 * xfns.c (Fx_window_property): Handle case that property gets
1731 deleted between the two calls to XGetWindowProperty.
1732
9a72e4c1
GM
17332001-09-11 Gerd Moellmann <gerd@gnu.org>
1734
bd819d14 1735 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1736
a41edd99
GM
1737 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1738 in addition to read-only.
1739
1740 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1741 to t in addition to read-only.
1742
1743 * lisp.h (Qinhibit_modification_hooks): Declare.
1744
1745 * insdel.c (Qinhibit_modification_hooks): New variable.
1746 (syms_of_insdel): Initialize and staticpro it.
1747
d4881c6a
GM
1748 * textprop.c (verify_interval_modification): Don't run
1749 modification-hooks if inhibit_modification_hooks.
1750
1751 * dispnew.c (set_window_cursor_after_update): Fix code
1752 finding glyph row containing cursor when cursor_in_echo_area
1753 is >= 0.
1754
9a72e4c1
GM
1755 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1756 (add_to_log): Use bcopy instead of strcpy.
1757 (init_from_display_pos): Use an explicit loop over bytes in
1758 overlay strings instead of calling index.
1759
f4a374a1
GM
17602001-09-10 Gerd Moellmann <gerd@gnu.org>
1761
300e57bd
GM
1762 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1763
1764 * dispnew.c (direct_output_for_insert): Don't change IT's
1765 stop_charpos to something in front of its current position.
1766
f4a374a1
GM
1767 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1768 `format'.
1769
7e4cbc91
RS
17702001-09-10 Richard M. Stallman <rms@gnu.org>
1771
1772 * frame.c (Fmouse_position): Doc fix.
1773
6afad91e
GM
17742001-09-07 Gerd Moellmann <gerd@gnu.org>
1775
1776 * xdisp.c (init_from_display_pos): Don't compare the result
1777 of calling index with NULL.
1778
f76e0368
GM
17792001-09-06 Gerd Moellmann <gerd@gnu.org>
1780
1781 * xfns.c (x_set_background_color): Don't change the colors
1782 of the X window of scroll bar widgets.
1783
9ead1b60
AI
17842001-09-05 Andrew Innes <andrewi@gnu.org>
1785
1786 * w32fns.c (w32_createwindow): Undo last change.
1787
c3b497b3
GM
17882001-09-05 Gerd Moellmann <gerd@gnu.org>
1789
08e1d6df
GM
1790 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1791
c3b497b3
GM
1792 * xdisp.c (string_buffer_position): Use *single_char_property*
1793 functions instead of the *single_property* functions.
b56ba8de 1794
8f860180
AI
17952001-09-04 Andrew Innes <andrewi@gnu.org>
1796
9a72e4c1
GM
1797 * w32term.c (w32_read_socket): Add more information to debugging
1798 output.
8f860180
AI
1799
1800 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1801 from Emacs frames, so that calls to GetClipBox in w32term.c
1802 correctly report when part of a frame is visible (including
1803 scrollbars, etc). This prevents repeated redrawing of frames when
1804 only a scrollbar is visible.
1805 (w32_wnd_proc): Add more frame information to debugging output.
1806
2ee1aa00
SM
18072001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1808
1809 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1810
e3b22517
GM
18112001-09-03 Gerd Moellmann <gerd@gnu.org>
1812
7e376260
GM
1813 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1814 help-echo for a string which doesn't have help-echo itself, use
1815 get-char-property to obtain the help-echo from the string's buffer
1816 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1817 have mouse-face, look ``under'' the string for mouse-face from an
1818 overlay.
1819 (fast_find_position): Add parameter STOP. In the final row, stop
1820 before glyphs having STOP as object. Don't consider glyphs that
1821 are not from a buffer.
1822
e3b22517
GM
1823 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1824
9a249bba
EZ
18252001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1826
1827 * fns.c (Fmd5): Doc fix.
1828
c9979669
GM
18292001-08-31 Gerd Moellmann <gerd@gnu.org>
1830
1831 * composite.c (update_compositions): Do nothing if
1832 inhibit-modification-hooks is set.
1833
9584e63a
GM
18342001-08-30 Gerd Moellmann <gerd@gnu.org>
1835
986ec8f2 1836 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1837 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1838 glyph matrices etc. in a core dump.
1839
92a25631
GM
1840 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1841 (syms_of_xdisp): Initialize them.
1842 (handle_single_display_prop): Don't change point, bind `object',
1843 `position', and `buffer-position' instead to the object having the
2ee1aa00 1844 `display' property, position in the object and position in the buffer.
92a25631 1845
9584e63a
GM
1846 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1847 of the buffer if REPLACE is non-nil.
1848
d38633a3
GM
18492001-08-29 Gerd Moellmann <gerd@gnu.org>
1850
1851 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1852
f4fccc1e
EZ
18532001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1854
1855 * w32term.c (x_set_glyph_string_background_width)
1856 (show_mouse_face): Track the last changes in xterm.c.
1857
eaaa65b0
GM
18582001-08-28 Gerd Moellmann <gerd@gnu.org>
1859
7b0870b2
GM
1860 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1861 string's background width so that multi-line mouse-face is drawn
1862 to the right edge of the window.
1863 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1864 glyphs.
1865
6b6e2422 1866 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1867 before inserting/writing glyphs.
6b6e2422 1868
eaaa65b0
GM
1869 * xdisp.c (display_mode_element): Use string_byte_to_char to
1870 determine character positions in strings, use chars_in_text
1871 instead of strwidth.
1872 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1873 a matrix as parameter; this is easier to use from GDB.
1874
9ad62cf8
MB
18752001-08-28 Miles Bader <miles@gnu.org>
1876
2ee1aa00
SM
1877 * textprop.c (Fprevious_single_char_property_change)
1878 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1879
32171635
GM
18802001-08-27 Gerd Moellmann <gerd@gnu.org>
1881
47d57b22
GM
1882 * fileio.c (Finsert_file_contents): Allocate, restore, and
1883 free composition data in the case of REPLACE not being nil.
1884
1885 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1886 there exist overlay strings with newlines at POS.
1887 (text_outside_line_unchanged_p): Return 0 if changes start at
1888 START and overlays exist at START. Likewise for END.
1889 (try_window_id): Give up if init_to_row_end returns 0.
1890
32171635
GM
1891 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1892 unconditionally.
1893
e1249666
GM
18942001-08-24 Gerd Moellmann <gerd@gnu.org>
1895
33954c45
GM
1896 * keymap.c (access_keymap): Return the cdr of the binding of
1897 a generic character instead of its definition (KEY . BINDING).
1898
e1249666
GM
1899 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1900 to 0 also in the REPLACE case.
1901
fb4c6c96
AC
19022001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1903
1904 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1905 open to determine whether file is readable (as for DOS_NT).
1906
59ecf80b
GM
19072001-08-23 Gerd Moellmann <gerd@gnu.org>
1908
1909 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1910 coding.type is coding_type_no_conversion or coding_type_raw_text,
1911 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1912 non-nil instead of just setting enable_multibyte_characters in the
1913 buffer to nil.
1914
40e33037
GM
19152001-08-22 Gerd Moellmann <gerd@gnu.org>
1916
374388c3
GM
1917 * dispextern.h (struct face_cache): Add member
1918 menu_face_changed_p.
1919
1920 * xfaces.c (menu_face_changed_default): New variable.
1921 (menu_face_changed_count): Variable removed.
1922 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1923 the menu_face_changed_default flag, otherwise set the FRAME's
1924 menu_face_changed_p flag if the `menu' face has been changed.
1925 Prevent calling set_font_frame_param if FRAME is t.
1926 (make_face_cache): Initialize cache's menu_face_changed_p
1927 from menu_face_changed_default.
1928 (realize_basic_faces): Look into the frame's face cache to
1929 determine if the menu appearance needs updating.
1930
40e33037
GM
1931 * keymap.c (access_keymap): Fix last change to not consider
1932 IDX when it has modifiers.
1933
859ea4b8
GM
19342001-08-21 Gerd Moellmann <gerd@gnu.org>
1935
1936 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1937 . BINDING) exists, where GENERIC-CHAR is the generic character of
1938 the charset of IDX, return BINDING unless there exists a binding
1939 for IDX itself.
1940
e8660d73
GM
19412001-08-16 Gerd Moellmann <gerd@gnu.org>
1942
cca1b1d7
GM
1943 * xrdb.c (SYSV): Don't define on Solaris 2.
1944 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1945
e8660d73 1946 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1947 of the screen line, not text line, containing IT's current position.
e8660d73 1948
93aba6fc
GM
19492001-08-15 Gerd Moellmann <gerd@gnu.org>
1950
288d4e06
GM
1951 * window.c (window_scroll_pixel_based): Don't recenter if
1952 PT is partially visible in the window.
1953
3452efc2
SM
1954 * xterm.c (expose_window_tree, expose_window, expose_line):
1955 Return 1 when overwriting mouse-face.
82f053ab
GM
1956 (expose_frame): If mouse-face was overwritten, redo it.
1957
93aba6fc
GM
1958 * xfaces.c (x_update_menu_appearance): Don't call
1959 set_frame_menubar, let the next redisplay do it.
1960
858a55c1
AI
19612001-08-14 Andrew Innes <andrewi@gnu.org>
1962
1963 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1964 drawing glyph string.
1965
3a990b67
EZ
19662001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1967
1968 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1969 running HI-UX/MPP.
1970
04386463
GM
19712001-08-14 Gerd Moellmann <gerd@gnu.org>
1972
1973 * xfaces.c (x_update_menu_appearance): Save and restore value of
1974 interrupt_input_blocked.
1975
3e6385a4
GM
19762001-08-13 Gerd Moellmann <gerd@gnu.org>
1977
b0e619b4
GM
1978 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1979 a line start, move back to the line start.
3452efc2 1980
0de73d5a
GM
1981 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1982 exactly when a mini-buffer is active.
1983
3e6385a4
GM
1984 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1985 in units of 1/8 character on non window-system frames.
1986 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1987
d1b5f629
EZ
19882001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1989
1990 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1991 a doc string.
1992
eaa2319f
GM
19932001-08-09 Gerd Moellmann <gerd@gnu.org>
1994
8e3189f0
GM
1995 * keyboard.c (Vpre_help_message): New variable.
1996 (syms_of_keyboard): Initialize and staticpro it.
1997 (show_help_echo): Record current message before displaying a
1998 help-echo, and restore that message when clearing the help.
1999
eaa2319f
GM
2000 * xfns.c (x_create_im): Remove prototype.
2001
2002 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2003
2004 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2005
eaa2319f
GM
20062001-08-08 Gerd Moellmann <gerd@gnu.org>
2007
2008 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2009 windows whose height has changed, disable partially visible lines.
eaa2319f 2010
17fdcfc8
GM
20112001-08-07 Gerd Moellmann <gerd@gnu.org>
2012
22d01aed 2013 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2014 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2015
17fdcfc8
GM
2016 * xdisp.c (start_display): Don't try to determine the continuation
2017 lines width if lines are truncated. It's superfluous and leads to
2018 incorrect results if POS is not visible in the window after
2019 reseating the iterator at the previous line start.
2020
8e3fe78e
GM
20212001-08-06 Gerd Moellmann <gerd@gnu.org>
2022
2023 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2024
98a8938c
GM
20252001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2026
2027 * alloc.c (init_stack): Remove declaration.
2028
18f9986a
GM
20292001-08-03 Gerd Moellmann <gerd@gnu.org>
2030
5e1f85e0
GM
2031 * keyboard.c (read_key_sequence): Check that key is an integer
2032 before comparing it with quit_char.
2033 (add_command_key): Use larger_vector.
2034 (read_char_x_menu_prompt): Instead of converting symbol and
2035 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2036 which cannot be confused with valid events.
5e1f85e0
GM
2037 (read_char): When reading from Vunread_command_events, check for
2038 events of the form (EVENT . disabled) instead of
2039 (EVENT . nil).
2040
18f9986a
GM
2041 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2042 a float, determine the max height from the frame's height.
2043
fbc7f2a6
GM
20442001-08-02 Gerd Moellmann <gerd@gnu.org>
2045
2046 * xdisp.c (redisplay_internal): Take message_cleared_p into
2047 account only if minibuf_level == 0.
2048
81b1a79d
GM
20492001-08-01 Gerd Moellmann <gerd@gnu.org>
2050
e5c60873
GM
2051 * xdisp.c (redisplay_internal): Add a check for the last
2052 displayed message.
3452efc2 2053
6e019995
GM
2054 * xdisp.c (message_cleared_p): New variable.
2055 (clear_message): Set message_cleared_p when clearing the current
2056 message.
2057 (redisplay_internal): Look at message_cleared_p to capture
2058 the case that the echo area should be cleared.
2059
308a74d8
GM
2060 * keyboard.c (command_loop_1): Fix spelling of
2061 resize_echo_area_exactly.
2062
3452efc2 2063 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2064
2065 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2066
81b1a79d
GM
2067 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2068 current matrix when the window gets smaller.
2069
ada329e6
EZ
20702001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2071
2072 * print.c (strout): Cast the character passed to insert_char to
2073 unsigned char, to avoid sign extension when it is promoted to int.
2074
ed86208c
GM
20752001-07-31 Gerd Moellmann <gerd@gnu.org>
2076
2077 * fileio.c (Finsert_file_contents): Don't treat a return value
2078 of 0 from emacs_read as an IO error.
2079
6594ac22
GM
20802001-07-30 Gerd Moellmann <gerd@gnu.org>
2081
cef68af5
GM
2082 * keyboard.c (abs): New macro.
2083 (double_click_fuzz): New variable.
2084 (make_lispy_event): Use it to determine what makes a double-click.
2085 (syms_of_keyboard): DEFVAR_INT it.
2086
6594ac22
GM
2087 * xmenu.c (set_frame_menubar): Take into account that
2088 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2089 <raeburn@gnu.org>.
2090
75c5350a
GM
20912001-07-27 Gerd Moellmann <gerd@gnu.org>
2092
2093 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2094
2095 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2096 of row's visible height.
2097
2098 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2099 deal with the first overlay string having an image `display' property.
2100 (try_window_reusing_current_matrix, compute_line_metrics):
2101 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2102 row is invisible above and part of the row is at the same time
2103 invisible below the window.
2104
ac49effe
GM
21052001-07-26 Gerd Moellmann <gerd@gnu.org>
2106
2107 * xfns.c (x-show-tip): Doc fix.
3452efc2 2108
ac49effe
GM
2109 * xfns.c (Vx_max_tooltip_size): New variable.
2110 (syms_of_xfns): DEFVAR_LISP it.
2111 (Fx_show_tip): Set frame's window_width to the width of the
2112 window. Use a maximum tooltip size specified by
2113 Vx_max_tooltip_size, if that has valid contents.
2114 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2115
8c3b00cb
AI
21162001-07-26 Andrew Innes <andrewi@gnu.org>
2117
2118 * w32term.c (x_display_list): New variable.
2119 (w32_term_init): Set it.
2120
2121 * w32term.h (x_display_list): New extern.
2122
16098288
GM
21232001-07-26 Gerd Moellmann <gerd@gnu.org>
2124
2125 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2126 is non-nil, instead of when redisplaying_p is non-zero.
2127 See comment there.
16098288
GM
2128 (mark_window_display_accurate_1): Add an assertion.
2129
64c5be50
GM
21302001-07-25 Gerd Moellmann <gerd@gnu.org>
2131
e743f599
GM
2132 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2133
563b384d
GM
2134 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2135 events so that we get a chance of processing expose events.
2136
64c5be50
GM
2137 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2138
296808a5
GM
21392001-07-24 Gerd Moellmann <gerd@gnu.org>
2140
2141 * xfns.c (valid_image_p): Protect better against invalid image
2142 specifications. Previous code could signal an error.
2143
5247262a
GM
21442001-07-23 Gerd Moellmann <gerd@gnu.org>
2145
3452efc2 2146 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2147 presence of display table entries.
2148 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2149
dd42b31a
GM
2150 * dispnew.c (adjust_glyph_matrix): In the optimization for
2151 windows whose height has changed, use the new window height
2152 to compute which rows to invalidate.
2153
9e5a7f2a
GM
2154 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2155 (MAX_10_EXP): New macro.
2156 (Fformat): Use it.
2157
5247262a
GM
2158 * coding.c (code_convert_region): Handle the multibyte case if
2159 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2160
177ab8ce
GM
21612001-07-20 Gerd Moellmann <gerd@gnu.org>
2162
6e07c0a5
GM
2163 * dispextern.h (struct face): Change type of `stipple' to
2164 int; it's an ID.
2165
177ab8ce
GM
2166 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2167
b5b80599
GM
21682001-07-19 Gerd Moellmann <gerd@gnu.org>
2169
4e2a256b
GM
2170 * dispnew.c (update_window): Don't set the cursor at the end
2171 of the update if display update has been paused.
2172
3452efc2 2173 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2174
c1fd9232
KR
21752001-07-18 Ken Raeburn <raeburn@gnu.org>
2176
2177 * fns.c (Fset_char_table_default): Check that a charset is defined
2178 before checking its dimension.
2179
928a85c1
KR
21802001-07-17 Ken Raeburn <raeburn@gnu.org>
2181
2182 * coding.c (setup_coding_system): Don't do any designation based
2183 on reg_bits if charset is not yet defined.
2184
fb4c6c96 2185 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2186 pointer, using eassert.
2187
de11c1ea
GM
21882001-07-17 Gerd Moellmann <gerd@gnu.org>
2189
3452efc2
SM
2190 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2191 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2192
467f1209
GM
21932001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2194
2195 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2196
c3d6be34
GM
21972001-07-16 Gerd Moellmann <gerd@gnu.org>
2198
c1d61a7d
GM
2199 * fileio.c (unwind_read): Function removed.
2200 (read_non_regular, read_non_regular_quit): New functions.
2201 (Finsert_file_contents): When reading from non-regular files,
2202 arrange to catch a `quit' and terminate the loop. Rearrange
2203 code so that a `quit' when reading from a regular file doesn't
2204 insert text in the buffer.
2205
c3d6be34
GM
2206 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2207 Clear faces afterwards.
2208 (clear_font_table): Take a x_display_info parameter. Don't free
2209 fonts being the default font of any frame on the given display.
2210
e06aa1f9
GM
22112001-07-13 Gerd Moellmann <gerd@gnu.org>
2212
2213 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2214 instead of CHAR_STRING which can signal an error.
2215
2216 * charset.c (char_to_string_1): Extracted from char_to_string.
2217 Return -1 instead of signaling an error.
2218 (char_to_string): Use it.
2219
2220 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2221
176c92e6
SM
22222001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2223
2224 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2225 is t, don't try to append anything to it.
2226
1c56232f
EZ
22272001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2228
2229 * dired.c (file_name_completion): Pass dp->d_name to
2230 Fstring_match, not elt, which is always nil here.
2231
1d2b2268
GM
22322001-07-12 Gerd Moellmann <gerd@gnu.org>
2233
2234 * xselect.c (x_decline_selection_request): Handle errors
2235 caused by receivers that have vanished.
2236
2237 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2238 ignoring events on foreign windows in #if 0. Always dispatch
2239 the event after checking it with x_handle_property_notify.
2240
2241 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2242 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2243 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2244 (toplevel): Add prototypes for file-local functions.
2245 (x_atom_to_symbol): Remove DPYINFO parameter.
2246
fe5a0162
SM
22472001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2248
2249 * w32menu.c (menubar_selection_callback, w32_menu_show):
2250 Initialize `entry' to nil.
2251 (w32_dialog_show): Remove unused `save_wv' variable.
2252 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2253
a777242c
GM
22542001-07-11 Gerd Moellmann <gerd@gnu.org>
2255
8ee5b6a3
GM
2256 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2257
d0e2444e
GM
2258 * fileio.c (unwind_read): Print a message when discarding inserted
2259 text or switching the buffer to unibyte. Change parameter.
2260 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2261
a777242c
GM
2262 * fileio.c (unwind_read): New function.
2263 (Finsert_file_contents): Record it as unwind-function for
2264 the case that reading is interrupted by C-g.
2265
ae794295
GM
22662001-07-10 Gerd Moellmann <gerd@gnu.org>
2267
fe5a0162 2268 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2269 update when scrolling_window returns 0.
2270
6b05fae3
GM
2271 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2272
2273 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2274 for the case that x_decode_color signals an error.
6b05fae3 2275
ae794295
GM
2276 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2277
bb6e8cee
GM
22782001-07-09 Gerd Moellmann <gerd@gnu.org>
2279
2280 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2281 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2282 around ioctls.
2283
36b40a8a
EZ
22842001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2285
24b97d4b
EZ
2286 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2287 doc string line for dos-timezone-offset.
2288
36b40a8a
EZ
2289 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2290 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2291 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2292 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2293
2294 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2295
0967b4b0
GM
22962001-07-05 Gerd Moellmann <gerd@gnu.org>
2297
f25cfe53
GM
2298 * sound.c: Include Emacs' header files with #include "...".
2299
0967b4b0
GM
2300 * eval.c (specbind): Additionally record the buffer that was
2301 current when a buffer-local or frame-local variable was bound.
2302
c347a1c3
GM
23032001-07-04 Gerd Moellmann <gerd@gnu.org>
2304
2305 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2306 to unibyte characters in unibyte buffers.
2307
6332ca8a
GM
23082001-07-03 Gerd Moellmann <gerd@gnu.org>
2309
38472d44
GM
2310 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2311 the frame on the binding stack. Change format of entries for
2312 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2313 (unbind_to): Handle unbinding a frame-local variable.
2314
6332ca8a 2315 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2316 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2317 (dump_glyph_row): Print row's continuation_lines_width.
2318 (try_window_id): Take the shortcut if ZV is visible in the
2319 window, but there are actually no changes at ZV.
2320
63d1b174
GM
23212001-07-02 Gerd Moellmann <gerd@gnu.org>
2322
4c175203
GM
2323 * xterm.h (x_free_dpy_colors): Add prototype.
2324
2325 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2326 right number of arguments.
2327
0b54ce28
GM
2328 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2329 ($(lwlibdir)TAGS): New target.
4c175203 2330 (TAGS): Fix dependency list.
0b54ce28 2331
63d1b174
GM
2332 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2333 with input blocked.
2334
d827466c
GM
23352001-06-30 Gerd Moellmann <gerd@gnu.org>
2336
2337 * emacs.c (main): Remove extern declaration for sys_nerr, which
2338 isn't used and causes a compilation error with GCC 3.0 on
2339 FreeBSD 4.3.
2340
b5cb1ada
GM
23412001-06-27 Gerd Moellmann <gerd@gnu.org>
2342
a5d3ec3f 2343 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2344 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2345 (toplevel): Include <signal.h> and syssignal.h.
2346
b5cb1ada
GM
2347 * sound.c (vox_configure, vox_close): Turn off atimers
2348 around ioctls.
2349
d9bad487
GM
23502001-06-26 Gerd Moellmann <gerd@gnu.org>
2351
fdbb67fe
GM
2352 * keyboard.c (read_char) <non_reread>: Record the previous idle
2353 start time before calling timer_stop_idle.
2354 (read_char) <reread_first>: After processing a help-echo event,
2355 restore the previous idle start time.
2356
d9bad487
GM
2357 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2358 the start of invisible text.
2359 (setup_for_ellipsis): New function.
2360 (next_overlay_string): After all overlay strings have been
2361 processed, display an ellipsis if necessary.
2362 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2363 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2364
2365 * dispextern.h (struct iterator_stack_entry): Add member
2366 display_ellipsis_p.
2367
2b9c25e0
GM
23682001-06-25 Gerd Moellmann <gerd@gnu.org>
2369
80de57df
GM
2370 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2371 on the value of the wait-for-wm frame parameter.
2372
2373 * xterm.h (struct x_output): Add member wait_for_wm.
2374
2375 * xfns.c (Qwait_for_wm): New variable.
2376 (x_frame_parms): Add entry for `wait-for-wm".
2377 (x_set_wait_for_wm): New function.
2378 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2379 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2380
2b9c25e0
GM
2381 * xdisp.c (try_window_id) <all changes below window end>: Don't
2382 take this shortcut if ZV is visible in the window.
2383 (try_window_id): When checking for window start being in changed
2384 text, don't check that the buffer's size has changed.
2385
f772775c
RS
23862001-06-23 Richard M. Stallman <rms@gnu.org>
2387
2388 * minibuf.c (Fcompleting_read): Doc fix.
2389
fa9090b8
GM
23902001-06-19 Gerd Moellmann <gerd@gnu.org>
2391
2392 * composite.c (Ffind_composition_internal): Accept ZV
2393 and a string's end position as POS.
2394
f6f1beba
GM
23952001-06-18 Gerd Moellmann <gerd@gnu.org>
2396
2397 * composite.c (Ffind_composition_internal): Check POS
2398 for validity.
2399
0ae83348
EZ
24002001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2401
2402 * editfns.c (Fmessage_box): If the frame is not under a window
2403 system, output the message in the echo area.
2404
e4cdc335
RS
24052001-06-14 Richard M. Stallman <rms@gnu.org>
2406
2407 * xdisp.c (try_window_id): When EOB is visible, don't treat
2408 insertion at EOB as if it were "off the bottom of the screen."
2409
a55a5f3c
AI
24102001-06-11 Andrew Innes <andrewi@gnu.org>
2411
2412 * w32proc.c (create_child): Add new parameter is_gui_app.
2413 (w32_executable_type): Add new parameter is_gui_app.
2414 (sys_spawnve): Use it.
2415 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2416 SIGQUIT. This matches better how the signals are interpreted by
2417 MSVC compiled programs.
2418 (syms_of_ntproc): Update docstring.
2419
1b85dc1c
SM
24202001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2421
2422 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2423 well otherwise note_mouse_highlight might optimize away highlighting
2424 if we pass over that same overlay again.
2425
b75f8eab
EZ
24262001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2427
2428 * lread.c (Fload): Document that the argument is run via
2429 substitute-in-file-name.
2430
94843cc1
GM
24312001-05-31 Gerd Moellmann <gerd@gnu.org>
2432
b14659e6
GM
2433 * Makefile.in (bootstrap-doc): New target.
2434 (bootstrap-emacs): Depend on it.
2435
0894672f
GM
2436 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2437 auto-save-list-file-name when shutting down Emacs, because
2438 creating the directory might signal an error, and leaves
2439 Emacs in a strange state.
2440
94843cc1
GM
2441 * term.c: (tty_cursor_hidden): New variable.
2442 (update_begin): Don't call tty_hide_cursor. Clean up.
2443 (update_end, set_terminal_window, set_scroll_region): Clean up.
2444 (ring_bell, reset_terminal_modes): Clean up.
2445 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2446 on tty_cursor_hidden.
2447 (write_glyphs): Call tty_hide_cursor.
2448
db3a49a6
SM
24492001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2450
2451 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2452
8bd189fb
GM
24532001-05-30 Gerd Moellmann <gerd@gnu.org>
2454
6f1be3b9
GM
2455 * xfns.c (enum image_value_type): New enumerator
2456 IMAGE_STRING_OR_NIL_VALUE.
2457 (parse_image_spec): Handle it.
2458 (xbm_format, pbm_format): Use it for :foreground and :background.
2459 (xbm_load, pbm_load): Check for nil color names.
2460
8bd189fb
GM
2461 * xterm.c (note_mouse_highlight): If an overlapping overlay
2462 exists, but we find that we highlight the same overlay as before,
2463 don't do the highlighting again.
2464
7bdba03c
GM
24652001-05-29 Gerd Moellmann <gerd@gnu.org>
2466
4c329aa8
GM
2467 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2468 Protect unibyte strings created by replacing their multibyte
2469 equivalents in menu_items.
2470
e15e2828
GM
2471 * keymap.c (Fsingle_key_description): NUL-terminate the string
2472 buffer before calling build_string.
2473
7bdba03c
GM
2474 * callproc.c (Fcall_process): Deal with decode_coding returning
2475 CODING_FINISH_INCONSISTENT_EOL.
2476
89c8dc6c
GM
24772001-05-28 Gerd Moellmann <gerd@gnu.org>
2478
db3a49a6 2479 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2480 an item's name with its key description in case the description
2481 is a multibyte string.
2482
2483 * keymap.c (Fsingle_key_description): Create a multibyte string
2484 only if necessary.
2485
eb04d6cd
GM
2486 * macros.c (Fstart_kbd_macro): Doc fix.
2487
8bd6307f
GM
2488 * xterm.c (cursor_in_mouse_face_p): New function.
2489 (x_draw_stretch_glyph_string): Use it to choose a different GC
2490 when drawing a cursor within highlighted text.
2491
e26c4089
GM
2492 * editfns.c (char_property_eq): Put in #if 0.
2493
2494 * indent.c (string_display_width): Put in #if 0.
2495
2496 * lread.c (Fload): Remove unused label.
2497
89c8dc6c
GM
2498 * termcap.c (speeds): Put in #if 0.
2499
9a1211f2
GM
25002001-05-18 Gerd Moellmann <gerd@gnu.org>
2501
29148a3f
GM
2502 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2503
9a1211f2
GM
2504 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2505 transformation matrix by 10.
2506
09393d07
GM
25072001-05-16 Gerd Moellmann <gerd@gnu.org>
2508
2509 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2510 only if it's equal to the former foreground pixel color.
db3a49a6 2511 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2512 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2513
460e6bae
GM
25142001-05-16 Dave Love <fx@gnu.org>
2515
2516 * insdel.c (signal_before_change, signal_after_change): Consider a
2517 local change hook which changes the buffer.
99c78ce8
GM
2518
2519 * process.c (read_process_output): Don't call signal_after_change
2520 and update_compositions after insert_from_string_before_markers.
2521
dbcf3c03
GM
25222001-05-16 Gerd Moellmann <gerd@gnu.org>
2523
a90b3d3c
GM
2524 * xfaces.c (split_font_name): Use the right field when
2525 checking for `[...]' syntax.
2526
1b7818b4
GM
2527 * buffer.c (copy_overlays): New function.
2528 (clone_per_buffer_values): Use it.
2529
2530 * buffer.h (OVERLAY_PLIST): New macro.
2531
9bae8781
GM
2532 * keymap.c (Fsingle_key_description): Replace a build_string with
2533 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2534
dbcf3c03
GM
2535 * fontset.c (Ffontset_info): Check that face is non-null
2536 before accessing its fields.
2537
8a1ae4dd
GM
25382001-05-15 Gerd Moellmann <gerd@gnu.org>
2539
18a0a39e
GM
2540 * keyboard.c (read_key_sequence): Prevent generating a fake
2541 prefix key twice.
2542
e335b66a
GM
2543 * xfaces.c (split_font_name): Handle `[...]' for the right
2544 font name fields.
2545
8a1ae4dd
GM
2546 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2547 of CCL_STAT_INVALID_CMD.
2548
3cf80731
SM
25492001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2550
33568849
SM
2551 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2552 in <var> has no default value yet.
2553
3cf80731
SM
2554 * xfaces.c (try_alternative_families): First try the FAMILY.
2555 And if nothing is found in the end, try again with scalable fonts.
2556 (try_font_list): Let try_alternative_families do a bit more of
2557 the work. Only use FAMILY if it is not nil.
2558 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2559
933b0249
GM
25602001-05-14 Gerd Moellmann <gerd@gnu.org>
2561
58e5af83
GM
2562 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2563 pointer shape when show_mouse_face has already done it.
33568849 2564
58e5af83 2565 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2566 full-width rows.
2567
7b16a6bf
GM
2568 * xfaces.c (split_font_name): Make sure to leave the loop
2569 with the right value of `i'.
3cf80731 2570
933b0249
GM
2571 * xfaces.c (split_font_name): Handle matrix transformations
2572 in the pixel and point size fields of XLFD font names.
2573 (xlfd_point_size): Likewise.
2574
dddcbf00
EZ
25752001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2576
3cf80731 2577 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2578 (x_to_w32_font): Add prototype.
2579
7689ef0b
EZ
2580 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2581 redefining, to avoid compiler warnings.
2582
e7c15bba
EZ
2583 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2584
dddcbf00
EZ
2585 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2586 (w32_get_bdf_glyph): Cast between unsigned char and char when
2587 passing arguments to subroutines, to shut up compiler warnings.
2588 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2589 GET_HEX_VAL.
2590
2591 * xfaces.c: Include keyboard.h before frame.h, not after it.
2592
2593 * widget.c: Include keyboard.h before frame.h.
2594
2595 * w32term.h (struct image, struct face): Forward declaration, to
2596 avoid compiler warnings.
2597
7bd2d083
GM
25982001-05-11 Gerd Moellmann <gerd@gnu.org>
2599
47e72862
GM
2600 * keyboard.c (read_key_sequence): Don't modify events when
2601 generating fake prefix keys (mode-line, scroll-bar, ...) since
2602 this prevents proper processing of such events when pushed back
2603 into unread-command-events.
2604
dd5f324b
GM
2605 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2606 actually redrawn. Make the function static.
2607 (note_mouse_highlight): Fix a case where the mouse cursor
2608 was changed back to the text cursor.
2609
2610 * xterm.h (clear_mouse_face): Remove prototype.
2611
d88a79d4
GM
2612 * xdisp.c (try_window_id): Fix the fix and set the right
2613 window_end_vpos.
2614
2615 * xdisp.c (try_window_id): Fix computation of window end in the
2616 case that lines were deleted at the end of the window. Add some
2617 more debug_method_adds.
0416532f 2618
7bd2d083
GM
2619 * xfaces.c (try_alternative_families): New function.
2620 (try_font_list): Use it. If ATTRS specifies a family, check
2621 fonts from that family first.
2622 (choose_face_font): Remove code setting the family part of
2623 the pattern to nil.
2624
23fca891
GM
26252001-05-10 Gerd Moellmann <gerd@gnu.org>
2626
ff9aa2ca
GM
2627 * xdisp.c (try_window_id): Fix case of all changes before
2628 the window start.
7b2654b5 2629
23fca891
GM
2630 * xdisp.c (try_window_id): Add some xasserts.
2631
e9726794
GM
26322001-05-09 Gerd Moellmann <gerd@gnu.org>
2633
2634 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2635
9e53a675
GM
26362001-05-09 Dave Love <fx@gnu.org>
2637
2638 * xdisp.c (GIVE_UP): Fix for K&R C.
2639
0d487c52
GM
26402001-05-09 Gerd Moellmann <gerd@gnu.org>
2641
fe88d421
GM
2642 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2643
0d487c52
GM
2644 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2645 back to the text cursor shape without need.
2646
1e9fc92e
GM
26472001-05-07 Gerd Moellmann <gerd@gnu.org>
2648
a2a6232e
GM
2649 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2650
2651 * dispextern.h (inverse_video): Declare extern.
2652
1e9fc92e
GM
2653 * keyboard.c (delete_kboard): Handle the case that selected_frame
2654 has been deleted in the course of x_connection_closed.
2655
12949a7f
EZ
26562001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2657
7b2654b5
SM
2658 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2659 Fix the change from 2001-04-30.
12949a7f 2660
2fa2f461
GM
26612001-05-03 Gerd Moellmann <gerd@gnu.org>
2662
a779d213
GM
2663 * xfns.c (file_dialog_unmap_cb): New function.
2664 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2665 where a dialog is closed via the window manager.
2666
7b2654b5 2667 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2668 the window start or all below the window end mostly rewritten.
2669 (redisplay_window): Move the tests if try_window_id is
2670 applicable to try_window_id.
2671 (GIVE_UP): New macro.
2672
3356df63
GM
26732001-05-02 Gerd Moellmann <gerd@gnu.org>
2674
a39202f6 2675 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2676 currently being updated, mark the frame garbaged.
2677 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2678 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2679
3356df63
GM
2680 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2681 again if it has already been drawn.
2682
a9d2fd1d
SM
26832001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2684
2685 * syntax.c (update_syntax_table): Check that oldi has the same
2686 properties as old_prop before deciding not to invalidate.
2687
c95fc5f1
GM
26882001-04-30 Gerd Moellmann <gerd@gnu.org>
2689
a9793e45
GM
2690 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2691 read-only text that is so because of text properties.
2692
c95fc5f1 2693 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2694 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2695 windows that are components of a Lucid menu bar.
2696
5a5d9185
GM
26972001-04-27 Gerd Moellmann <gerd@gnu.org>
2698
2699 * term.c (turn_on_face): Fix reverse video handling on terminals
2700 that don't support colors.
2701
ba973f7a
GM
27022001-04-26 Gerd Moellmann <gerd@gnu.org>
2703
2704 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2705 a non-buffer.
2706
8c56a983
GM
27072001-04-25 Gerd Moellmann <gerd@gnu.org>
2708
a728644c
GM
2709 * term.c (toggle_highlight): New function.
2710 (turn_on_face): Change handling of reverse video.
2711
7b2654b5
SM
2712 * process.c (wait_reading_process_input):
2713 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2714
bfd8410f
GM
2715 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2716 of the number of overlays to check.
2717
be2488ca
GM
2718 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2719
8c56a983
GM
2720 * xdisp.c (try_window_id): Fix a case where window_end_pos
2721 and window_end_bytepos were not adjusted.
2722
522d42f7
GM
27232001-04-23 Gerd Moellmann <gerd@gnu.org>
2724
2725 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2726 zero instead of -1.
2727
78c1afb6
EZ
27282001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2729
a9d2fd1d
SM
2730 * process.c (wait_reading_process_input) [!subprocesses]:
2731 Don't reference waiting_for_user_input_p, it's not defined in the
2732 branch without async subprocesses support.
78c1afb6 2733
a2fab450
GM
27342001-04-19 Gerd Moellmann <gerd@gnu.org>
2735
a122a38e
GM
2736 * keyboard.c (delete_kboard): Prevent a dangling reference
2737 from current_kboard to KB, which is freed.
2738
a9d2fd1d
SM
2739 * process.c (wait_reading_process_input):
2740 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2741 read_key_sequence aware of buffer changes from under it.
2742
0f8d6dc7
GM
27432001-04-18 Gerd Moellmann <gerd@gnu.org>
2744
eeffb293
GM
2745 * xfaces.c (Qscalable_fonts_allowed): New variable.
2746 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2747 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2748 removed.
eeffb293 2749 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2750 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2751 for scalable-fonts-allowed to t.
eeffb293 2752
0f8d6dc7
GM
2753 * fileio.c (Finsert_file_contents): If the file size returned from
2754 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2755 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2756
eec2d1de
EZ
27572001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2758
2759 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2760 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2761 (__memalign_hook): Make the two prototypes consistent.
2762
f4f480bd
GM
27632001-04-17 Gerd Moellmann <gerd@gnu.org>
2764
2765 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2766 matrix of mini-windows.
2767
52283633
SM
27682001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2769
2770 * intervals.c (find_interval): Don't rebalance during signal handling.
2771
ec2423c9
GM
27722001-04-11 Gerd Moellmann <gerd@gnu.org>
2773
30cb0001 2774 * fns.c: Include blockinput.h.
52283633 2775
ec2423c9
GM
2776 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2777
719d83ad
GM
27782001-04-10 Gerd Moellmann <gerd@gnu.org>
2779
60f8d735
GM
2780 * fns.c (Fcompare_strings): Fix return values.
2781
afffeb57
GM
2782 * window.c (window_scroll): Change the meaning of N to mean
2783 N screen-fulls or N lines.
2784 (window_scroll_pixel_based, window_scroll_line_based)
2785 (scroll_command, Fscroll_other_window): Change accordingly.
2786
52283633
SM
2787 * window.c (window_scroll_pixel_based, Frecenter):
2788 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2789 height of the window.
2790
2791 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2792 instead of using it.last_visible_y for the height of the window.
52283633 2793
719d83ad 2794 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2795 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2796
2797 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2798 able to write to hidden and system files. From Dan Holmsand
2799 <dan@eyebee.com>.
719d83ad 2800
8ddf3ee1
GM
2801 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2802 Holmsand <dan@eyebee.com>.
719d83ad 2803
522ed7fb
GM
28042001-04-09 Gerd Moellmann <gerd@gnu.org>
2805
9170e5d4
GM
2806 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2807
522ed7fb
GM
2808 * window.c (window_internal_height): Return 1 less if the
2809 window has a header line.
2810
2811 * xdisp.c (try_window_id): When scrolling on a terminal, take
2812 the change of window_internal_height into account.
2813
ceeb3d7d
EZ
28142001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2815
2816 * gmalloc.c (align): If the argument SIZE would overflow
2817 __malloc_ptrdiff_t, fail right away.
2818
63685b9d
GM
28192001-04-06 Gerd Moellmann <gerd@gnu.org>
2820
2821 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2822 Make sure the tooltip is completely visible.
2823 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2824
2825 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2826
2827 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2828
3ffb33bb
DL
28292001-04-06 Dave Love <fx@gnu.org>
2830
52283633
SM
2831 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2832 Fix test of `from'.
3ffb33bb 2833
869fb12c
GM
28342001-04-06 Gerd Moellmann <gerd@gnu.org>
2835
52283633 2836 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2837
869fb12c
GM
2838 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2839
441bf856
GM
28402001-04-05 Gerd Moellmann <gerd@gnu.org>
2841
4d664b04
GM
2842 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2843
52283633 2844 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2845
30ca89f5
GM
2846 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2847 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2848
2849 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2850 shell widget's position only if it is non-null.
2851
52283633
SM
2852 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2853 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2854
81a81c0f
GM
2855 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2856 FILENAME to bring it in synch with the documentation.
2857
441bf856
GM
2858 * xfaces.c (realizing_basic_faces_p): Renamed from
2859 realize_default_face_p.
2860 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2861 (realize_default_face): Don't set the flag.
2862
702a1e8e
GM
28632001-04-04 Gerd Moellmann <gerd@gnu.org>
2864
1013f4e3
GM
2865 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2866
52283633
SM
2867 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2868
1013f4e3
GM
2869 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2870 the buffer that was used for echoing.
2871
702a1e8e
GM
2872 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2873 (first_font_matching): Removed unused function.
2874 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2875 (may_use_scalable_font_p): Remove parameter FONT; rename
2876 parameter NAME to FONT.
2877 (x_face_list_fonts): Fix missing bounds check.
2878 (realizing_default_face_p): New variable.
2879 (realize_default_face): Set and clear that flag.
2880 (x_face_list_fonts): When called during the realization of the
2881 default face, and no matching fonts are found when ignoring
2882 scalable fonts and fonts matching a regexp from
2883 face-ignored-fonts, try without ignoring fonts.
2884
f9dbcda4
GM
28852001-04-03 Gerd Moellmann <gerd@gnu.org>
2886
ad18ffb1
GM
2887 * xfns.c (postprocess_image): New function.
2888 (lookup_image): Call it for all image types except PostScript.
2889 (x_kill_gs_process): Call postprocess_image.
2890
f9dbcda4
GM
2891 * xterm.c (x_use_underline_position_properties): New variable.
2892 (x_draw_glyph_string): Use it.
2893 (syms_of_xterm): DEFVAR_BOOL it.
2894
651f03b6
GM
28952001-04-02 Gerd Moellmann <gerd@gnu.org>
2896
2897 * xterm.c (x_alloc_nearest_color_1): New function.
2898 (x_alloc_nearest_color): Use it.
2899 (x_color_cells): Take a Display as argument, instead of a frame.
2900 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2901 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2902 (x_initialize): Register cvt_string_to_pixel as resource converter
2903 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2904
73d75a62
GM
29052001-03-30 Gerd Moellmann <gerd@gnu.org>
2906
b2046df8
GM
2907 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2908 (set_iterator_to_next): If a string from a display property ends,
2909 consider the case that this might also be the end of an
2910 overlay string having the display property.
2911
52283633 2912 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2913
87d8eba4
GM
2914 * xdisp.c (reseat_to_string): Undo last change.
2915
73d75a62
GM
2916 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2917 matrix of a window when the header line changes, when
2918 new rows are allocated, or when the width changes.
2919
911a2406
EZ
29202001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2921
52283633 2922 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2923
aea51abe
EZ
29242001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2925
2926 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2927 deprecated.
2928
176bc847
GM
29292001-03-29 Gerd Moellmann <gerd@gnu.org>
2930
ed31fabf
GM
2931 * data.c (Fsubr_interactive_form): New function.
2932 (syms_of_data): Defsubr it.
2933
176bc847
GM
2934 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2935 (live_float_p, live_misc_p): Return 1 only if the offset of the
2936 pointer in its block is >= 0.
2937
e59d0e9d
GM
29382001-03-28 Paul Eggert <eggert@twinsun.com>
2939
2940 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2941 microseconds calcuation. Avoid double-rounding problem.
2942 In doc string, warn that the result is approximate.
2943
f827b862
GM
29442001-03-28 Gerd Moellmann <gerd@gnu.org>
2945
30a3f61c
GM
2946 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2947 bind `inhibit-eval-during-redisplay' to t.
2948
2949 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2950
2951 * xdisp.c (inhibit_eval_during_redisplay)
2952 (Qinhibit_eval_during_redisplay): New variables.
2953 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2954 don't eval, return nil instead.
2955 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2956 Initialize Qinhibit_eval_during_redisplay.
2957
e719f5ae
GM
2958 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2959 the iterator's multibyte_p flag.
2960
deb2613a
GM
2961 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2962 instead of setting it to zero; it's incremented for each frame
2963 where the menu face is changed.
2964
52283633
SM
2965 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2966 change bottom shadow accordingly.
2967
2968 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2969 intersections here.
2970 (expose_window): Do it here instead.
52283633 2971 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2972
f827b862
GM
2973 * bytecode.c (BYTE_CODE_QUIT): New macro.
2974 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2975
4bde0ebb
GM
29762001-03-27 Gerd Moellmann <gerd@gnu.org>
2977
607ec83c
GM
2978 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2979 Give up if matrix starts in an ellipsis.
2980 (init_from_display_pos): Do nothing if POS doesn't specify
2981 a dpvec_index but the iterator has such a position.
2982
0245398f
GM
2983 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2984
aba25348
GM
2985 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2986 x/y position is (0, 0) after destroying the menu bar, restore
2987 its original position.
2988
4bde0ebb
GM
2989 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2990 (init_from_display_pos): Use it.
2991 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2992
8cdb267e
GM
29932001-03-26 Gerd Moellmann <gerd@gnu.org>
2994
2995 * xdisp.c (try_window_id): Undo last change.
2996
9948db79
EZ
29972001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2998
2999 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3000
3001 * buffer.c (syms_of_buffer): Doc fix.
3002
2eddf899
GM
30032001-03-26 Gerd Moellmann <gerd@gnu.org>
3004
3005 * xfaces.c (x_update_menu_appearance): Use local variable
3006 popup_path for setting font resources.
3007
6c145d35
EZ
30082001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3009
6a65b1b5
EZ
3010 * frame.c (Fframe_list): Don't reference tip_frame if
3011 HAVE_WINDOW_SYSTEM is not defined.
3012
6c145d35
EZ
3013 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3014 <wl@gnu.org>.
3015
d74c1900
GM
30162001-03-25 Gerd Moellmann <gerd@gnu.org>
3017
20fbd925
GM
3018 * xdisp.c (init_from_display_pos): Test invisible property
3019 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3020
927c5b3b
GM
3021 * xdisp.c (redisplay_internal) <update one window>: Make sure
3022 last_arrow_position and last_arrow_string are set.
3023
d74c1900
GM
3024 * frame.c (Fframe_list): Don't return a tooltip frame.
3025
091f8878
GM
30262001-03-23 Gerd Moellmann <gerd@gnu.org>
3027
52283633
SM
3028 * xdisp.c (mark_window_display_accurate_1): New function,
3029 extracted from mark_window_display_accurate.
3030 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3031 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3032 (mark_window_display_accurate): Use it.
3033 (redisplay_internal): Use it for the selected window.
3034 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3035 for the selected frame.
3036
ac90c44f
GM
3037 * xdisp.c Use make_number, for readability.
3038 (try_window_id): Disable rows below the window end.
3039 (try_window_reusing_current_matrix): Use cursor_row_p.
3040 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3041 of rows.
3042 (init_from_display_pos): If POS specifies a position in a display
3043 vector, maybe get the iterator set up for that ellipsis.
43c09969 3044
091f8878
GM
3045 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3046
991786dd
EZ
30472001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3048
3049 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3050
6c29b43c
GM
30512001-03-23 Gerd Moellmann <gerd@gnu.org>
3052
3053 * xfaces.c (x_update_menu_appearance): Use a different path
3054 for Lucid popup menus.
3055
d8731202
SM
30562001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3057
3058 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3059
3060 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3061 (string_buffer_position): Use `make_number'.
3062
f61a541b
GM
30632001-03-22 Gerd Moellmann <gerd@gnu.org>
3064
3c9e997b
GM
3065 * xfaces.c (x_update_menu_appearance): Renamed from
3066 x_set_menu_face_resources. Use different resources for popups.
3067
3068 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3069 (GC_CHECK_STRING_BYTES): Don't define.
3070
364cd450
GM
3071 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3072 Removed, together with subroutines.
3073 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3074 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3075
d8731202
SM
3076 * dispextern.h (x_set_menu_resources_from_menu_face):
3077 Remove prototype.
364cd450 3078
d8731202 3079 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3080 Remove calls to x_set_menu_resources_from_menu_face.
3081
d8731202
SM
3082 * xfaces.c (xm_set_menu_resources_from_menu_face):
3083 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3084
3085 * xmenu.c: Include widget.h.
3086 (single_submenu): Return int. Some cleanup.
3087 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3088
140330de
GM
30892001-03-21 Gerd Moellmann <gerd@gnu.org>
3090
3091 * xterm.c (x_update_window_end): Handle overwritten mouse face
3092 also for tool bar windows.
3093 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3094 DRAW is DRAW_IMAGE_RAISED.
3095
1741905c
GM
30962001-03-20 Gerd Moellmann <gerd@gnu.org>
3097
fa88947e
GM
3098 * print.c (syms_of_print): Doc fixes.
3099
1741905c
GM
3100 * fns.c (Fmd5): Doc fix.
3101
ade0bee1
GM
31022001-03-19 Gerd Moellmann <gerd@gnu.org>
3103
357e7376
GM
3104 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3105 Clear area of the frame not occupied by the scroll bar.
3106
c2c097cc
GM
3107 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3108 tip frame's root window buffer to *tip* right after creating
3109 the frame.
3110
ade0bee1
GM
3111 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3112 is an integer don't have to be for space characters.
3113
88c6e37e
GM
31142001-03-16 Gerd Moellmann <gerd@gnu.org>
3115
52283633
SM
3116 * indent.c (current_column, current_column_1, Fmove_to_column)
3117 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3118
c62eed76
KH
31192001-03-15 Kenichi Handa <handa@etl.go.jp>
3120
3121 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3122 drawing glyph string.
3123
c899e7e6
GM
31242001-03-15 Gerd Moellmann <gerd@gnu.org>
3125
d0bbfc99
GM
3126 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3127 (command_loop_1): Undo last change.
3128
03d1a189
GM
3129 * xterm.c (fast_find_position): Return the correct vpos.
3130
c899e7e6 3131 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3132 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3133 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3134 Call store_symval_forwarding with BUF null.
3135 (set_internal): Call store_symval_forwarding with the BUF
3136 parameter passed to set_internal. Formerly, the value was always
3137 set in the current buffer; the buffer recorded in specbind for
3138 this case wasn't used.
3139 (arith_driver): Reindent.
3140
52283633
SM
3141 * buffer.c (swap_out_buffer_local_variables):
3142 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3143
3144 * lisp.h (store_symval_forwarding): Change prototype.
3145
3146 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3147
57ac7c81
GM
31482001-03-14 Gerd Moellmann <gerd@gnu.org>
3149
697617d9
GM
3150 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3151 FOR_DELETION. Avoid resizing the mini-window of the selected
3152 frame if FOR_DELETION is set.
3153 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3154 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3155 signature.
3156
3157 * window.c (Fset_window_configuration): Change call to
3158 do_switch_frame to new format.
3159
3160 * keyboard.c (quit_throw_to_read_char): Change call to
3161 do_switch_frame to new format.
3162
3163 * lisp.h (do_switch_frame): Change prototype.
3164
819dce0f
GM
3165 * frame.c (Fframe_parameters): In the `buffer-list' frame
3166 parameter, store the buffer list of FRAME, not the list of the
3167 selected frame.
3168
57ac7c81
GM
3169 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3170 box just because the glyph row's full_width_p flag is set.
3171
65008712
GM
31722001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3173
3174 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3175 skip the padding blanks inserted in extend_face_to_end_of_line,
3176 before checking for trailing whitespace.
3177
159cf431
GM
31782001-03-13 Gerd Moellmann <gerd@gnu.org>
3179
52283633 3180 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3181 Remove special handling for LessTif/Motif.
3182 (toplevel): Don't include Xm/Xm.h.
3183
52283633
SM
3184 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3185 Remove workaround code for LessTif; it doesn't work anymore.
3186
2564ea1b 3187 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3188 Xm/ScrollBarP.h.
afcdc0a1 3189
52283633
SM
3190 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3191 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3192 contemporary LessTif.
3193
52283633
SM
3194 * xfaces.c (xm_set_menu_resources_from_menu_face):
3195 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3196
159cf431
GM
3197 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3198 removing button grabs.
3199
c6f7429a
KH
32002001-03-13 Kenichi Handa <handa@etl.go.jp>
3201
cb82d767
KH
3202 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3203 and clip-large-size-font as obsolete.
3204
c6f7429a
KH
3205 * lread.c (read_multibyte): Check the validity of multibyte
3206 sequence. If invalid, return the first byte.
3207
760cefb5
GM
32082001-03-12 Gerd Moellmann <gerd@gnu.org>
3209
3210 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3211 before running the command; timer functions or process
3212 filters may have set it.
3213
5141f9d0
EZ
32142001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3215
3216 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3217 Doc fix.
3218
b6a15240
GM
32192001-03-12 Gerd Moellmann <gerd@gnu.org>
3220
3221 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3222 to sprintf.
3223
95522746
GM
32242001-03-09 Gerd Moellmann <gerd@gnu.org>
3225
db14cfc5
GM
3226 * dispextern.h (string_buffer_position): Add prototype.
3227
52283633 3228 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3229 (single_display_prop_string_p): New functions.
3230
3231 * xterm.c (note_mouse_highlight): If there's no help-echo on
3232 a string, look at the buffer text ``under'' it.
3233
3234 * keyboard.c (make_lispy_event): Add string info to the event,
3235 analogous to what's done on mode lines.
3236 (read_key_sequence): For a click on a string, consider `local-map'
3237 and `keymap' of that string.
3238
52283633
SM
3239 * keyboard.c (make_lispy_event, make_lispy_movement):
3240 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3241
3242 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3243
3244 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3245 POS; return void.
3246
95522746
GM
3247 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3248 flags argument to emacs_open; it seems to conflict with O_EXCL.
3249
898a399d
KH
32502001-03-09 Kenichi Handa <handa@etl.go.jp>
3251
28cd4910
KH
3252 * composite.h (struct composition): Change types of members;
3253 glyph_len to unsigned, width to unsigned short.
898a399d 3254
4cdf6a6c
AI
32552001-03-08 Andrew Innes <andrewi@gnu.org>
3256
3257 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3258 menu titles.
3259
129004d3
GM
32602001-03-08 Gerd Moellmann <gerd@gnu.org>
3261
221dd3e7
GM
3262 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3263 instead of nil.
3264
52283633 3265 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3266 help-echo in strings.
3267 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3268 (fast_find_string_pos): New function.
3269
52283633
SM
3270 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3271 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3272
3273 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3274 Handle `mouse-face'.
3275
3276 * dispextern.h (face_at_string_position): Change prototype.
3277
52283633 3278 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3279
129004d3
GM
3280 * keyboard.c (make_lispy_event): Avoid generating drag events
3281 if the mouse hasn't actually moved to another buffer position.
52283633 3282
80c8ab8c
DL
32832001-03-08 Dave Love <fx@gnu.org>
3284
129004d3 3285 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3286
989521fd
GM
32872001-03-08 Gerd Moellmann <gerd@gnu.org>
3288
3289 * process.c (Fset_process_window_size): Fix a typo.
3290
bb5c338d
KH
32912001-03-08 Kenichi Handa <handa@etl.go.jp>
3292
3293 * coding.c (detect_coding_sjis): Do more rigid check.
3294 (detect_coding_big5): Likewise.
3295 (decode_coding_sjis_big5): Likewise.
3296 (Fdetect_coding_region): Call detect_coding_system with tailing
3297 anchor byte `\0' for more rigid detection.
52283633 3298 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3299 (Fdetect_coding_string): Likewise.
3300
8b8f9197
SM
33012001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3302
3303 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3304 a string before extracting its data.
3305
3bdf2660
GM
33062001-03-07 Gerd Moellmann <gerd@gnu.org>
3307
3308 * window.c (Frecenter): Rewrite code handling negative values
3309 of ARG on graphical frames.
3310
33112001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3312
3313 * window.c (displayed_window_lines): If W->start is outside the
3314 accessible portion of the buffer, call start_display with BEGV or
3315 ZV instead of W->start.
3316
471f86b9
GM
33172001-03-07 Gerd Moellmann <gerd@gnu.org>
3318
2ab62c6c
GM
3319 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3320
471f86b9
GM
3321 * process.c (Fset_process_filter): Don't crash if the input
3322 file descriptor of PROCESS is closed.
3323 (Fset_process_window_size): Likewise.
3324
101922c3
GM
33252001-03-06 Kenichi Handa <handa@etl.go.jp>
3326
3327 * xterm.c (XTflash): Make the timeout of select shorter, and call
3328 select repeatedly until the desired time expires.
3329
45d051a7
GM
33302001-03-06 Gerd Moellmann <gerd@gnu.org>
3331
3332 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3333
3334 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3335
3336 * lisp.h (Vwindow_list): Declare extern.
3337
8f372c46
EZ
33382001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3339
3340 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3341
f16a7aa5
GM
33422001-03-06 Gerd Moellmann <gerd@gnu.org>
3343
157ae273
GM
3344 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3345 to detect a case where we have to highlight a different region
3346 despite not having left the currently highlighted region.
3347 Set mouse_face_overlay in the x_display_info.
45d051a7 3348 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3349
3350 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3351
3352 * buffer.c (mouse_face_overlay_overlaps): New function.
3353
3354 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3355 (Qmouse_face): Declare extern.
3356
f16a7aa5
GM
3357 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3358 if face_change_count is non-zero.
3359
827afcac
KH
33602001-03-06 Kenichi Handa <handa@etl.go.jp>
3361
3362 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3363 that the source is unibyte.
3364
14c7242e
DL
33652001-03-05 Dave Love <fx@gnu.org>
3366
827afcac 3367 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3368
c28b847b
GM
33692001-03-05 Gerd Moellmann <gerd@gnu.org>
3370
3371 * minibuf.c (read_minibuf): Clean up the binding stack if
3372 called noninteractively.
3373
b86644f2
KH
33742001-03-05 Kenichi Handa <handa@etl.go.jp>
3375
3376 * coding.c (syms_of_coding): Docstring modified.
3377
203682cc 33782001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3379
3380 * charset.c (char_to_string): If a single byte char has modifier
3381 bits that can't be reflected to the character code, ignore them
45d051a7 3382 instead of signaling an error.
b86644f2 3383
e30bd7b7
EZ
33842001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3385
3386 * s/msdos.h: Update copyright notice.
3387
3388 * dosfns.h: Update copyright notice.
3389
3390 * dosfns.c: Update copyright notice.
3391
3392 * msdos.c: Update copyright notice.
3393
b52b65bd
GM
33942001-03-02 Gerd Moellmann <gerd@gnu.org>
3395
3396 * xterm.c (glyph_rect): New function.
3397 (XTmouse_position): Use it to raise the threshold for mouse
3398 movement event generation.
3399
53c4b1e6
EZ
34002001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3401
3402 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3403 specifies (reverse . t), reverse the initial screen colors.
3404 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3405 but we are reversing the colors, set bg_set, not fg_set.
3406 Likewise for setting background-color and reversing: set fg_set.
3407 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3408 in effect.
3409
3410 * xfaces.c (Finternal_set_lisp_face_attribute)
3411 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3412 parameters alist.
3413
f964b4d7
GM
34142001-03-02 Gerd Moellmann <gerd@gnu.org>
3415
ef53d75e
GM
3416 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3417 to a single slash in the middle of file names.
3418
52283633 3419 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3420 Accept only alphanumeric time zone names.
3421
f964b4d7
GM
3422 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3423 or width area.
3424 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3425 a widget to zero height.
52283633 3426
c3c45f65
GM
34272001-03-01 Gerd Moellmann <gerd@gnu.org>
3428
3429 * window.c (Fwindow_end): Call move_it_past_eol only if
3430 ending up on a partially visible line.
3431
028d739a
DL
34322001-03-01 Dave Love <fx@gnu.org>
3433
3434 * ccl.c (Fccl_execute): Doc fix.
3435
57c5889c
GM
34362001-03-01 Gerd Moellmann <gerd@gnu.org>
3437
35f59f6b
GM
3438 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3439 of the tool bar before calling x_figure_window_size.
3440
f84ff02c
GM
3441 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3442 NULL after destroying it, otherwise XTread_socket can access a
3443 destroyed widget when input is unblocked.
3444
8b8f9197 3445 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3446
57c5889c
GM
3447 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3448 same name as before, although there was a change in fontsets.
3449
224227d1
KR
34502001-02-28 Ken Raeburn <raeburn@gnu.org>
3451
4560730a
KR
3452 * lisp.h (Fframe_parameter): Declare.
3453
224227d1 3454 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3455 Lisp_Object.
224227d1 3456
ece93c02
GM
34572001-02-28 Gerd Moellmann <gerd@gnu.org>
3458
11ef99b9
GM
3459 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3460 NULL instead.
3461
3462 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3463 NULL instead.
3464
ece93c02
GM
3465 * alloc.c (toplevel): Include process.h.
3466 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3467 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3468 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3469 (allocate_vector, allocate_hash_table, allocate_window)
3470 (allocate_frame, allocate_process, allocate_other_vector):
3471 New functions.
ece93c02
GM
3472 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3473 (mark_maybe_pointer): New function.
52283633 3474 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3475 remain and not Lisp_Objects.
3476 (min_heap_address, max_heap_address): New variables.
3477 (mem_find): Return MEM_NIL if START is below min_heap_address or
3478 above max_heap_address.
3479 (mem_insert): Compute min_heap_address and max_heap_address.
3480
3481 * process.c (make_process): Use allocate_process.
3482
3483 * frame.c (make_frame): Use allocate_frame.
3484
3485 * window.c (make_window, make_dummy_parent): Use allocate_window.
3486 (Fcurrent_window_configuration): Use allocate_other_vector.
3487
3488 * lisp.h (allocate_vectorlike): Remove prototype.
3489 (allocate_vector, allocate_other_vector, allocate_frame)
3490 (allocate_window, allocate_process, allocate_hash_table):
3491 Add prototypes.
3492
3493 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3494 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3495
063af457
KH
34962001-02-27 Kenichi Handa <handa@etl.go.jp>
3497
3498 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3499 treat the produced bytes as a valid multibyte sequence.
3500
3501 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3502 (ccl_driver) <CCL_WriteMultibyteChar2>:
3503 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3504 <ccl_finish>: Set ccl->eight_bit_control properly.
3505
3506 * ccl.h (struct ccl_program): New member eight_bit_control.
3507
f58c6494
SM
35082001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3509
3510 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3511 accessible_keymaps_char_table.
3512 (accessible_keymaps_char_table): Obey `is_metized'.
3513 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3514 Lisp_Object.
3515
c596c392
GM
35162001-02-26 Gerd Moellmann <gerd@gnu.org>
3517
3518 * dispnew.c: Check HAVE_TERM_H before including term.h.
3519
425de386
AI
35202001-02-24 Andrew Innes <andrewi@gnu.org>
3521
3522 * makefile.w32-in: Update copyright notice.
3523
2ba11bbd
SM
35242001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3525
3526 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3527
66c56ed1
KH
35282001-02-24 Kenichi Handa <handa@etl.go.jp>
3529
4c1593ce
KH
3530 * Makefile.in (lisp): Add international/utf-8.elc.
3531
66c56ed1
KH
3532 * fontset.c (Fnew_fontset): Fix handling of the case that an
3533 element of FONTLIST is a cons of family and registry.
3534
796ead7e
JR
35352001-02-23 Jason Rumney <jasonr@gnu.org>
3536
3537 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3538 to height unconditionally.
3539
3540 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3541 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3542 (x_insert_glyphs): Call window_box_left to obtain the left
3543 x-coordinate of the area to shift.
3544
3545 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3546 safe_run_hooks.
3547
f6839838
AI
35482001-02-22 Andrew Innes <andrewi@gnu.org>
3549
52283633 3550 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3551 ($(BLD)\dispnew.obj):
3552 ($(BLD)\editfns.obj):
3553 ($(BLD)\fileio.obj):
3554 ($(BLD)\filelock.obj):
3555 ($(BLD)\keyboard.obj):
3556 ($(BLD)\w32proc.obj):
3557 ($(BLD)\process.obj):
3558 ($(BLD)\sysdep.obj): Ditto.
3559
3560 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3561 header files.
52283633
SM
3562 ($(BLD)/dispnew.$(O)):
3563 ($(BLD)/editfns.$(O)):
3564 ($(BLD)/fileio.$(O)):
3565 ($(BLD)/filelock.$(O)):
3566 ($(BLD)/keyboard.$(O)):
3567 ($(BLD)/w32proc.$(O)):
3568 ($(BLD)/process.$(O)):
f6839838
AI
3569 ($(BLD)/sysdep.$(O)): Ditto.
3570
c224f70b
GM
35712001-02-22 Gerd Moellmann <gerd@gnu.org>
3572
51695746
GM
3573 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3574 at the start of the function, check that the \n in it->c is
3575 from the iterator's current position.
52283633 3576
a61b7058
GM
3577 * xdisp.c (handle_single_display_prop): Add parameter
3578 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3579 properties which replace the display of text with something else.
3580 (handle_display_prop): Call handle_single_display_prop with
3581 additional argument saying if we already replaced text display
3582 with something else. Use AREF.
52283633 3583 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3584 (decode_mode_spec_coding): Use AREF and ASIZE.
3585
3473f362
GM
3586 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3587 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3588 * vmstime.h: Files removed.
52283633 3589
2bb58df3
GM
3590 * unexencap.c, unexfx2800.c: Files removed.
3591
c224f70b
GM
3592 * dispnew.c (direct_output_for_insert): Give up if we are showing
3593 a message or just cleared the message because we might need to
3594 resize the echo area window or display an empty echo area.
3595
ffc9ff0c
GM
35962001-02-21 Gerd Moellmann <gerd@gnu.org>
3597
0528abe1
GM
3598 * xdisp.c (redisplay_internal): Do the
3599 mark_window_display_accurate after all windows have been
3600 redisplayed because this call resets flags in buffers which are
3601 needed for proper redisplay.
3602
52283633
SM
3603 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3604 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3605 the old names.
3606
52283633
SM
3607 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3608 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3609
3610 * msdos.h (struct x_output): Rename busy_window to
3611 hourglass_window, busy_p to hourglass_p.
3612
52283633
SM
3613 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3614 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3615
3616 * xfns.c: Rename everything containing *busy_cursor* and similar
3617 to *hourglass*.
3618 (syms_of_w32fns): Rename x-busy-pointer-shape to
3619 x-hourglass-pointer-shape, display-busy-cursor to
3620 display-hourglass, busy-cursor-delay to hourglass-delay.
3621
3622 * w32fns.c: Rename everything containing *busy_cursor* and similar
3623 to *hourglass*.
3624 (syms_of_w32fns): Rename x-busy-pointer-shape to
3625 x-hourglass-pointer-shape, display-busy-cursor to
3626 display-hourglass, busy-cursor-delay to hourglass-delay.
3627
3628 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3629 of its busy_p flag.
3630
3631 * dispextern.h (start_hourglass, cancel_hourglass)
3632 (display_hourglass_p): Renamed from *busy_cursor*.
3633
ab2c5f0a
GM
36342001-02-20 Gerd Moellmann <gerd@gnu.org>
3635
d17e49a8
GM
3636 * keyboard.c (read_char): When an event from unread-command-events
3637 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3638
fa97adf6
GM
3639 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3640 equal to the current buffer.
3641
ab2c5f0a
GM
3642 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3643 nil, otherwise we're left with truncate_lines t when a message
3644 is printed with message-truncate-lines bound to t.
3645
aeac019e
GM
36462001-02-19 Gerd Moellmann <gerd@gnu.org>
3647
c8bc6f65
GM
3648 * window.c (Fmove_to_window_line): Undo last change.
3649 (displayed_window_lines): Call line_bottom_y to determine
3650 the line's bottom position.
3651
3652 * dispextern.h (line_bottom_y): Add prototype.
3653
52283633 3654 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3655 (pos_visible_p): Use it.
3656
980a2d69
GM
3657 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3658 set redisplaying_p to 0 here instead of in Frecursive_edit.
3659 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3660 set redisplaying_p.
3661
52283633 3662 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3663 New variables.
3664 (syms_of_xdisp): Initialize new variables.
3665 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3666 Specbind `inhibit-menubar-update' when updating the menu bar.
3667
65048e97
GM
3668 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3669 safe_run_hooks.
3670
3671 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3672 safe_run_hooks.
3673
a57c4026
GM
3674 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3675 is null.
3676
aeac019e
GM
3677 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3678 to the start of the file.
3679
76846b31
GM
36802001-02-16 Gerd Moellmann <gerd@gnu.org>
3681
f3f053f3 3682 * window.c (set_window_buffer): Fix last change.
52283633 3683
f3f053f3
GM
3684 * window.c (set_window_buffer): Set window's vscroll to 0.
3685
dad75588
GM
3686 * window.c (coordinates_in_window): Increase width of area
3687 where the vertical line can be dragged.
3688
c220b753
GM
3689 * xterm.c (x_set_glyph_string_background_width): Extend the
3690 background face to the end of the drawing area in the text
3691 area, only.
3692
c56b1c1b
GM
3693 * xdisp.c (handle_single_display_prop): Set iterator's position
3694 to where the `display' property starts, like for images.
3695 (dump_glyph): New function.
3696 (dump_glyph_row): Use it. Dump info about marginal areas.
3697
3698 * dispnew.c (direct_output_for_insert): Recognize more cases where
3699 glyphs can be written instead of being inserted.
3700
3701 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3702 the left x-coordinate of the area to shift.
3703
76846b31
GM
3704 * dired.c (directory_files_internal): Set result list to nil
3705 before retrying.
3706
0fc71a77
KH
37072001-02-15 Kenichi Handa <handa@etl.go.jp>
3708
3709 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3710 invalid multibyte sequence, treat *SRC as a character of
3711 eight-bit-graphic.
3712
25078b54
EZ
37132001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3714
3715 * textprop.c (Fset_text_properties): Doc fix.
3716
8399f8a0
GM
37172001-02-15 Gerd Moellmann <gerd@gnu.org>
3718
3719 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3720
9a2a6f73
DL
37212001-02-14 Dave Love <fx@gnu.org>
3722
3723 * coding.c: Doc and message fixes.
3724
bf853fee
AI
37252001-02-14 Andrew Innes <andrewi@gnu.org>
3726
3727 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3728 Emacs frame above the screen size.
3729
78c663d8
GM
37302001-02-14 Gerd Moellmann <gerd@gnu.org>
3731
3732 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3733
7cc9f69f
GM
37342001-02-13 Gerd Moellmann <gerd@gnu.org>
3735
0a411995
GM
3736 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3737 case that TO ends up beyond ZV after running before-change-functions.
3738
5ddc1b75
GM
3739 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3740 the selected window if it is showing the buffer in question.
3741
7cc9f69f
GM
3742 * dired.c (directory_files_internal): Initialize errno.
3743 (toplevel): Include errno.h.
3744
2e6621ca
GM
37452001-02-13 Kenichi Handa <handa@etl.go.jp>
3746
3747 * xfaces.c (best_matching_font): New parameter width_ratio.
3748 Multiply avgwidth by width_ratio.
3749 (choose_face_font): Call best_matching_font with width_ratio
3750 calculated from the column width of C.
3751
60222d69
AI
37522001-02-12 Andrew Innes <andrewi@gnu.org>
3753
3754 The following changes are to draw box lines inside characters area
3755 if line-width is negative.
52283633 3756
60222d69
AI
3757 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3758 face->box_line_width is negative.
3759 (x_produce_stretch_glyph): Likewise.
3760 (x_produce_glyphs): Likewise.
3761 (x_estimate_mode_line_height): Likewise.
3762 (x_draw_glyph_string_background): Likewise.
3763 (x_draw_glyph_string_foreground): Likewise.
3764 (x_draw_composite_glyph_string_foreground): Likewise.
3765 (x_draw_glyph_string_box): Likewise.
3766 (x_draw_image_foreground): Likewise.
3767 (x_draw_image_relief): Likewise.
3768 (x_draw_image_foreground_1): Likewise.
3769 (x_draw_image_glyph_string): Likewise.
3770
9804b846
KH
37712001-02-09 Kenichi Handa <handa@etl.go.jp>
3772
3773 The following changes are to draw box lines inside characters area
3774 if line-width is negative.
52283633 3775
9804b846
KH
3776 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3777 face->box_line_width is negative.
3778 (x_produce_stretch_glyph): Likewise.
3779 (x_produce_glyphs): Likewise.
3780 (x_estimate_mode_line_height): Likewise.
3781 (x_draw_glyph_string_background): Likewise.
3782 (x_draw_glyph_string_foreground): Likewise.
3783 (x_draw_composite_glyph_string_foreground): Likewise.
3784 (x_draw_glyph_string_box): Likewise.
3785 (x_draw_image_foreground): Likewise.
3786 (x_draw_image_relief): Likewise.
3787 (x_draw_image_foreground_1): Likewise.
3788 (x_draw_image_glyph_string): Likewise.
3789
3790 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3791 and :line-width can be negative.
52283633 3792 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3793
49be9f70
JR
37942001-02-09 Jason Rumney <jasonr@gnu.org>
3795
3796 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3797 characters the same as ASCII and latin-1.
3798 (x_display_and_set_cursor): Check for the focus frame's selected
3799 window instead of selected_window.
3800 (x_after_update_window_line): Don't clear if frame's internal
3801 border width is zero.
3802 (x_new_font): Don't change a tooltip's size.
3803 (w32_initialize): Set char_ins_del_ok to 1.
3804
3805 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3806 (x_set_font): If font hasn't changed, avoid recomputing
3807 faces and other things.
52283633
SM
3808 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3809 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3810 (x_create_tip_frame): Prevent changing the tooltip's
3811 background color by specifying a color for the default font
3812 in .Xdefaults.
3813 (Qcancel_timer): New variable.
3814 (syms_of_w32fns): Initialize and staticpro it.
3815 (Fx_hide_tip, Fx_show_tip): Use it.
3816 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3817 the timer.
3818 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3819
3820 * w32.c (init_environment): Duplicate local string before putenv.
3821
555e35d2
SZ
38222001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3823
3824 * charset.c (Fstring): A typo.
3825
19c92c94
KH
38262001-02-09 Kenichi Handa <handa@etl.go.jp>
3827
e47a1c33
KH
3828 * charset.c (Fstring): If all arguments are less than 256, return
3829 a unibyte string.
3830
3831 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3832 return a unibyte string.
3833
19c92c94
KH
3834 * coding.c (code_convert_region): After detecting a coding, if
3835 nothing found, set coding->composing to COMPOSITION_NO.
3836 (decode_coding_string): Likewise.
3837
d8e675f5
SM
38382001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3839
3840 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3841 to avoid overflow.
3842
bd503487
KH
38432001-02-07 Kenichi Handa <handa@etl.go.jp>
3844
3845 * charset.c (parse_str_to_multibyte): New function.
3846
3847 * charset.h (parse_str_to_multibyte): Extern it.
3848
3849 * print.c (print_string): If we are going to print a unibyte
3850 string into a multibyte buffer, convert the string to multibyte by
3851 str_to_multibyte.
3852
a8370d72
AI
38532001-02-06 Andrew Innes <andrewi@gnu.org>
3854
3855 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3856 been created. It seems we can get sent window messages such as
3857 WM_ERASEBKGND before we properly update a frame.
3858
c363a1d6
GM
38592001-02-06 Gerd Moellmann <gerd@gnu.org>
3860
3861 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3862 Avoid some unnecessary cursor positioning.
3863
a08332c0
GM
38642001-02-05 Gerd Moellmann <gerd@gnu.org>
3865
52283633 3866 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3867 (LFACE_AVGWIDTH): New macro.
3868 (LFACEP): Use AREF.
3869 (check_lface_attrs): Check LFACE_AVGWIDTH.
3870 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3871 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3872 (merge_face_vectors): Check LFACE_AVGWIDTH.
3873 (Finternal_make_lisp_face): Use AREF.
3874 (xm_set_menu_resources_from_menu_face)
3875 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3876 (Finternal_lisp_face_empty_p): Use AREF.
3877 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3878 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3879 Compare average widths..
3880 (best_matching_font): Arrange for comparing average widths.
3881
52283633
SM
3882 * dispextern.h (enum lface_attribute_index):
3883 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3884
5cb3c8d4
DL
38852001-02-05 Dave Love <fx@gnu.org>
3886
3887 * puresize.h: Revert last change following loadup.el change.
3888
193fba87
AI
38892001-02-05 Andrew Innes <andrewi@gnu.org>
3890
3891 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3892 invocation of temacs, to work with Windows 2000.
3893 (bootstrap-emacs): Ditto.
3894
e16f52ce
GM
38952001-02-05 Gerd Moellmann <gerd@gnu.org>
3896
7a58ab59
GM
3897 * xterm.c (x_display_and_set_cursor): Check for the focus
3898 frame's selected window instead of selected_window.
3899
e89aaabd
GM
3900 * xdisp.c (try_scrolling): If point is in the line below the
3901 window, make sure to move the iterator at least a canonical
3902 char height down.
3903
52283633 3904 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3905
789ce875
KH
39062001-02-05 Kenichi Handa <handa@etl.go.jp>
3907
52283633
SM
3908 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3909 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3910 (ccl_driver): If the CCL program is terminated because of
3911 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3912 destination instead of throwing them away.
3913
20b28f82
GM
39142001-02-02 Gerd Moellmann <gerd@gnu.org>
3915
79fb38c0
GM
3916 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3917 faces and other things.
3918
20b28f82
GM
3919 * xdisp.c (get_next_display_element): Fix case of empty
3920 display table entry.
3921
5a72551e
EZ
39222001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3923
eb24d0bf
EZ
3924 * editfns.c (Fconstrain_to_field): Doc fix.
3925
6a3f48c7
EZ
3926 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3927 into `thoroughly', to make it consistent with the doc string.
3928
5a72551e
EZ
3929 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3930
01acdb05
GM
39312001-02-01 Gerd Moellmann <gerd@gnu.org>
3932
0353b28f
GM
3933 * search.c (search_buffer): Call set_search_regs with a byte
3934 position, not a character position.
3935
01acdb05
GM
3936 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3937 minibuffer-only,
3938
e86b5133
EZ
39392001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3940
3941 * frame.c (Fmodify_frame_parameters): Doc fix.
3942
7442878f
GM
39432001-01-31 Gerd Moellmann <gerd@gnu.org>
3944
01acdb05
GM
3945 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3946 identifier which is not reserved by Standard C.
52283633 3947
7442878f
GM
3948 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3949
3950 * window.c (enum window_part): New enumeration.
3951 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3952 Qright_bitmap_area.
3953 (coordinates_in_window): Return an enumerator from enum
3954 window_part. Fix handling of right scroll bar.
3955 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3956 `right-fringe' instead of `left-bitmap-area' and
3957 `right-bitmap-area'. Use enumerators from enum window_part
3958 instead of hard-coded integers.
52283633
SM
3959 (check_window_containing, window_from_coordinates):
3960 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3961 (syms_of_window): Replace Qleft_bitmap_area and
3962 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3963
7c132cba
EZ
39642001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3965
3966 * editfns.c (Fformat_time_string): Doc fix.
3967
c359dd9e
SM
39682001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3969
3970 * keymap.c (Fwhere_is_internal): Use the first valid binding
3971 if no ascii binding is found (when firstonly is t).
3972
ce070307
GM
39732001-01-31 Gerd Moellmann <gerd@gnu.org>
3974
b4f30ec5
GM
3975 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3976 instead of Finteractive_p.
3977
3978 * lisp.h (interactive_p): Add prototype.
3979
3980 * eval.c (interactive_p): New function.
3981 (Finteractive_p): Use it.
3982
ce070307
GM
3983 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3984
f57b6e64
DL
39852001-01-31 Dave Love <fx@gnu.org>
3986
d61c7afe
DL
3987 * .gdbinit (hook-run): Define to run xreload.
3988
f57b6e64
DL
3989 * textprop.c (Fset_text_properties): Fix newline in doc string.
3990
eef93f99
GM
39912001-01-30 Gerd Moellmann <gerd@gnu.org>
3992
52283633
SM
3993 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3994 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3995
3996 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3997 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3998 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3999
4000 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4001 height.
4002
d9c1f6f9
DL
40032001-01-30 Dave Love <fx@gnu.org>
4004
4005 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4006 AFTER_POTENTIAL_GC.
4007
e8f044a0
GM
40082001-01-29 Gerd Moellmann <gerd@gnu.org>
4009
52283633
SM
4010 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4011 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4012
8e1db7b3
EZ
40132001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4014
4015 * textprop.c (Fset_text_properties): Doc fix.
4016
4eefd9d2
GM
40172001-01-29 Gerd Moellmann <gerd@gnu.org>
4018
4019 * xdisp.c (forward_to_next_line_start): Remove xassert.
4020
fccb8288
EZ
40212001-01-29 Jason Rumney <jasonr@gnu.org>
4022
4eefd9d2 4023 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4024 returning without releasing it.
4025
76581eab
KH
40262001-01-29 Kenichi Handa <handa@etl.go.jp>
4027
4028 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4029 for '^', '$', and '\0'.
4030
83a96b4d
AC
40312001-01-28 Andrew Choi <akochoi@i-cable.com>
4032
5604ec34
AC
4033 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4034 regex for '^', '$', and '\0'.
4035
83a96b4d
AC
4036 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4037 only if current_sblock has been initialized.
4038
4039 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4040 terminal frame even if it is the only visible frame.
4041
c09a6440
KH
40422001-01-28 Kenichi Handa <handa@etl.go.jp>
4043
4044 * fontset.c (font_family_registry): Even if FONTNAME conform to
4045 XLFD, if it specifies other fields than family and registry,
52283633 4046 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4047 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4048 a signle byte character. Don't set FAMILY part to nil here.
4049 It is handled by the caller choose_face_font.
c09a6440
KH
4050 (Fnew_fontset): Call font_family_registry with FORCE 0.
4051 (Fset_fontset_font): Likewise.
4052
4dcd74e6
GM
40532001-01-27 Gerd Moellmann <gerd@gnu.org>
4054
4055 * xdisp.c (display_line): Don't treat a newline as fitting
4056 on the line.
4057
d2906bf8
GM
40582001-01-26 Gerd Moellmann <gerd@gnu.org>
4059
0130fe1a
GM
4060 * window.c (size_window): Set the window's orig_top to nil when
4061 changing heights, so that a future shrink_mini_window won't
4062 restore a bogus height.
4063
550f0e6a
GM
4064 * frame.c (do_switch_frame): If selected frame has a mini-window,
4065 resize that to exact size.
4066
b7b20fbd
GM
4067 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4068
a47b7816
GM
4069 * xdisp.c (display_line): Simplify check for glyphs fitting
4070 entirely in the line.
4071
d2906bf8
GM
4072 * xfns.c (xic_style): New variable.
4073 (create_frame_xic): Move static variable to global scope for
550f0e6a 4074 the case that `static' gets defined away.
d2906bf8 4075
73df2b1e
KH
40762001-01-26 Kenichi Handa <handa@etl.go.jp>
4077
4078 * coding.c (decode_coding): Set a flag for inhibiting
4079 inconsistent eol.
4080 (code_convert_region): Always set saved_coding_symbol.
4081 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4082 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4083
6613cfc4
GM
40842001-01-25 Gerd Moellmann <gerd@gnu.org>
4085
c5e6e06b
GM
4086 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4087 XClearArea.
4088
4089 * xterm.c (x_after_update_window_line): Don't clear if frame's
4090 internal border width is zero.
4091 (x_clear_area): New function.
4092 (x_after_update_window_line, x_clear_end_of_line)
4093 (x_scroll_bar_create, x_scroll_bar_set_handle)
4094 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4095 instead of XClearArea.
4096
4097 * xterm.h (x_clear_area): Add prototype.
4098
6613cfc4
GM
4099 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4100 which doesn't seem necessary anymore with Lesstif 0.92.
4101
650cc6cc
DL
41022001-01-25 Dave Love <fx@gnu.org>
4103
34ac3367
DL
4104 * puresize.h (BASE_PURESIZE): Up to 720000.
4105
650cc6cc
DL
4106 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4107
5e37dc22
GM
41082001-01-25 Gerd Moellmann <gerd@gnu.org>
4109
e1e441f9
GM
4110 * xdisp.c (echo_area_display): Don't call redisplay_internal
4111 when Emacs is shutting down. We can't run hooks etc. that
4112 would be necessary to do a redisplay.
4113
5e37dc22
GM
4114 * lread.c (read_integer): Use type EMACS_INT instead of int.
4115
0fb94c7f
EZ
41162001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4117
4118 * ccl.c (ccl_driver): Fix last change.
4119
e3778624
KH
41202001-01-25 Kenichi Handa <handa@etl.go.jp>
4121
4122 * ccl.h (sturct ccl_program): New member suppress_error.
4123
bb264518 4124 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4125 insert error message to the output.
4126 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4127
4128 * coding.h (struct coding_system): New member suppress_error.
4129
4130 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4131 (Fset_terminal_coding_system_internal): Set the member
4132 suppress_error to 1.
4133 (Fset_safe_terminal_coding_system_internal): Likewise.
4134
245ed2b1
SM
41352001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4136
4137 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4138 as if it was a `charset'.
4139
f9aaedb6
GM
41402001-01-24 Gerd Moellmann <gerd@gnu.org>
4141
4142 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4143 value in where_is_cache; the next lookup in the cache returns
4144 something bogus if we do.
4145
c3902c3e
EZ
41462001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4147
4148 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4149 if HAVE_WINDOW_SYSTEM isn't defined.
4150
3497f73e
GM
41512001-01-24 Gerd Moellmann <gerd@gnu.org>
4152
e7e41584
GM
4153 * fns.c (sweep_weak_table): Fix code taking items out of
4154 the hash collision chain. Some cleanup.
4155
3497f73e
GM
4156 * xterm.c (x_new_font): Don't change a tooltip's size.
4157
4158 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4159 background color by specifying a color for the default font
4160 in .Xdefaults.
4161
3d48e687
KH
41622001-01-24 Kenichi Handa <handa@etl.go.jp>
4163
96531b20
KH
4164 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4165 a workaround for SunOS 4's cc.
4166 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4167 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4168 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4169 statement.
3d48e687 4170
a30629d2
GM
41712001-01-23 Gerd Moellmann <gerd@gnu.org>
4172
4173 * xterm.c (x_set_window_size_1): New function extracted from
4174 x_set_window_size.
4175 (x_set_window_size): Use it.
4176 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4177 doesn't have a widget, like tooltips.
4178
5a43decf
EZ
41792001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4180
52283633 4181 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4182
b0e98867
KH
41832001-01-23 Kenichi Handa <handa@etl.go.jp>
4184
4185 * fns.c (Fset_char_table_default): Fix to make sub char-table
4186 correctly.
4187
50606b4c
GM
41882001-01-22 Gerd Moellmann <gerd@gnu.org>
4189
cb2ddc53 4190 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4191 a desired tool bar string, even if there are no tool bar items.
4192
57c28064
GM
4193 * xdisp.c (Ftool_bar_lines_needed): New function.
4194 (syms_of_xdisp): Defsubr it.
4195
50606b4c
GM
4196 * editfns.c (Fformat): Don't extend text properties from arguments
4197 to padding chars in the result.
4198
2f169c38
EZ
41992001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4200
4201 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4202
0f32f023
AI
42032001-01-20 Andrew Innes <andrewi@gnu.org>
4204
52283633 4205 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4206 (w32_initialize): Don't set term hooks that aren't actually needed
4207 in windowed mode.
4208
4209 * xfaces.c (realize_default_face):
4210 (realize_face):
4211 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4212
4213 * xdisp.c (handle_single_display_prop): Remove references to
4214 FRAME_W32_CONSOLE_P.
4215
52283633 4216 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4217
4218 * frame.h (output_method): Remove output_w32_console method.
4219 (FRAME_W32_CONSOLE_P): Remove macro.
4220
4221 * frame.c (Qw32_console): Remove variable.
4222 (Fframep): Remove references to it.
4223 (syms_of_frame): Ditto.
4224 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4225
4226 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4227 redefinition.
4228
7173eada
KH
42292001-01-20 Kenichi Handa <handa@etl.go.jp>
4230
4231 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4232
755b45ce
AI
42332001-01-19 Andrew Innes <andrewi@gnu.org>
4234
4235 * w32.c (init_environment): Add a version-independent site-lisp
4236 directory to EMACSLOADPATH, after the version dependent one.
4237
0a949811
GM
42382001-01-19 Gerd Moellmann <gerd@gnu.org>
4239
8501998a
GM
4240 * editfns.c (Fbuffer_substring): Doc fix.
4241
52283633
SM
4242 * xdisp.c (message_dolog, message2, message2_nolog):
4243 Rename parameter LEN to NBYTES.
0a949811 4244
e6ebcbbe
KH
42452001-01-19 Kenichi Handa <handa@etl.go.jp>
4246
200ecca2
KH
4247 * charset.c (strwidth): Use c_string_width.
4248 (c_string_width): New function.
4249 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4250 Caller changed.
4251
4252 * charset.h (c_string_width, lisp_string_width): Extern them.
4253
52283633 4254 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4255
e6ebcbbe
KH
4256 * indent.c (check_composition): Check validity of composition.
4257
200ecca2
KH
4258 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4259 characters by calling c_string_width.
4260 (x_consider_frame_title): Get byte length of frame tile string
4261 correctly.
4262 (display_mode_element): Pay attention to width of non-ASCII
4263 characters by calling strwidth.
4264
8692ca92
GM
42652001-01-18 Gerd Moellmann <gerd@gnu.org>
4266
8962e303
GM
4267 * xfns.c (Qcancel_timer): New variable.
4268 (syms_of_xfns): Initialize and staticpro it.
4269 (Fx_hide_tip, Fx_show_tip): Use it.
4270 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4271 the timer.
4272 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4273
91523be9
GM
4274 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4275
4276 * window.h (WINDOW_LIVE_P): New macro.
4277
b0b7ed0e
GM
4278 * window.c (window_size_fixed): New variable.
4279 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4280 the doc string.
4281
06bccf8e
GM
4282 * eval.c (specbind): If binding a per-buffer variable which
4283 doesn't have a buffer-local value in the current buffer, change
4284 the global value by changing the value of the symbol bound in all
4285 buffers not having their own value, to make it consistent with
4286 what happens with other buffer-local variables.
4287
8692ca92
GM
4288 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4289
4290 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4291 when searching for a newline.
4292
bb3a3b50
KH
42932001-01-18 Kenichi Handa <handa@etl.go.jp>
4294
4295 * xdisp.c (display_string): Fix previous change.
4296
c2cc16fa
JR
42972001-01-18 Jason Rumney <jasonr@gnu.org>
4298
4299 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4300 GLYPH_DEBUG is defined.
4301 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4302 true for images with `:ascent 100'.
4303 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4304 meantime, use face MOUSE_FACE_ID.
4305 If first glyph isn't a character glyph, use the ASCII NUL
4306 character to determine the face.
4307 (expose_area): Do not treat left margin specially.
4308 (note_mode_line_highlight): If no local_map, check global keymap.
4309 (note_mouse_highlight): Initialize overlay.
52283633 4310 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4311 (show_scroll_bars): Remove unused function.
4312 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4313 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4314 Clip to row.
52283633 4315 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4316 (x_free_frame_resources): Unload relief colors.
4317
9c11f79e
GM
43182001-01-17 Gerd Moellmann <gerd@gnu.org>
4319
3aec8722 4320 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4321 get_next_display_element when the newline is already found.
4322 This may change the iterator's position, when its current position is
3aec8722
GM
4323 equal to the iterator's stop_charpos.
4324
f3ffc2c3
GM
4325 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4326 zero, use this method only at the end of a line.
4327
52283633 4328 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4329 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4330 if SCALABLE_FONTS_P is set.
52283633 4331
d26d6fd9
GM
4332 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4333 so that scalable fonts are included.
4334
9c11f79e
GM
4335 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4336 In the cache, use a key containing the information if scalable
4337 fonts are included.
4338 (x_load_font): Adapt to change of keys in the font cache.
4339
43402001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4341
d26d6fd9
GM
4342 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4343 XListFonts to take advantage of font caching.
4344
9c11f79e
GM
4345 * xterm.c (x_list_fonts): Ensure caching font information when
4346 called for a null frame, which is the case frequently when Emacs
4347 starts.
4348
51446987
GM
43492001-01-17 Gerd Moellmann <gerd@gnu.org>
4350
f864120f
GM
4351 * xfns.c (QCconversion): Replaces QCalgorithm.
4352
4353 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4354
4355 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4356 of :algorithm.
52283633 4357
e37d1417
GM
4358 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4359 not everything could be displayed.
4360
51446987
GM
4361 * line.h, x-list-font.c: Files removed because unused.
4362
9ad4f3e5
AI
43632001-01-17 Andrew Innes <andrewi@gnu.org>
4364
4365 * dired.c (directory_files_internal): Convert result from readdir
4366 to a unibyte string initially, to avoid possible misinterpretation
4367 of some bytes as the internal form of Emacs characters.
4368
2eda09b5
KH
43692001-01-17 Kenichi Handa <handa@etl.go.jp>
4370
4371 * fns.c (concat): Be sure to avoid putting the same `composition'
4372 property on the adjacent regions.
4373
826f3788
GM
43742001-01-16 Gerd Moellmann <gerd@gnu.org>
4375
52283633 4376 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4377 (Fscroll_right, Fscroll_left): Set it here instead, if called
4378 interactively.
4379
d57b83b3
GM
4380 * buffer.c (Fset_buffer_modified_p): Set buffer's
4381 prevent_redisplay_optimizations_p flag.
4382
826f3788 4383 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4384 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4385 with additional arg.
4386
4387 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4388 Change prototype.
826f3788 4389
826f3788
GM
4390 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4391 FROM_WHERE, for debugging.
4392
261d788b
KH
43932001-01-16 Kenichi Handa <handa@etl.go.jp>
4394
4395 * ccl.c (Fregister_ccl_program): Handle the return value of
4396 resolve_symbol_ccl_program correctly.
52283633 4397 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4398
bccee4f2
GM
43992001-01-15 Gerd Moellmann <gerd@gnu.org>
4400
e4ded23c
GM
4401 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4402 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4403
4404 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4405 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4406 the display; we didn't open it.
4407
bccee4f2
GM
4408 * dispnew.c (save_or_restore_current_matrices): Function removed.
4409 (save_current_matrix, restore_current_matrix): New functions.
4410 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4411 restore the frame's current matrix. Due to the glyph pointer
4412 setup done in adjust_glyph_matrix, there is no easy way to make
4413 saving the current matrix in the desired matrix generally correct,
4414 so don't try it.
4415
ebeccffa
KH
44162001-01-15 Kenichi Handa <handa@etl.go.jp>
4417
4418 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4419 truncation glyphs.
4420 (display_line): Optimize for wide characters.
e4ded23c 4421 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4422 partially. On ttys, produce more than one truncation glyph for
4423 multi-column characters that don't fit on the line.
4424
64388126
KH
44252001-01-13 Kenichi Handa <handa@etl.go.jp>
4426
52283633
SM
4427 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4428 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4429
8edb0a6f
JR
44302001-01-13 Jason Rumney <jasonr@gnu.org>
4431
4432 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4433 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4434 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4435 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4436
52283633
SM
4437 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4438 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4439 (x_draw_image_glyph_string): Adapt to change of image margins.
4440
4441 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4442 variables.
4443
4444 * w32bdf.c (search_file_line, get_cached_font_char)
4445 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4446
4447 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4448
4449 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4450 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4451 (Fw32_send_sys_command): Remove unused variables.
4452 (w32_msg_pump): Add parentheses.
4453
4454 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4455 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4456 Add parentheses.
4457
4956d1ef
GM
44582001-01-12 Gerd Moellmann <gerd@gnu.org>
4459
b30623be
GM
4460 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4461 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4462 being a pair of margins.
4463 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4464 to DEFVAR_LISP. Extend doc.
4465
4466 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4467 margins.
4468 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4469 pair of integers `(X . Y)', use X for the horizontal and Y for the
4470 vertical margin.
4471 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4472 (parse_image_spec): Check it.
52283633
SM
4473 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4474 (tiff_format, gif_format, gs_format):
4475 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4476
52283633
SM
4477 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4478 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4479 (x_draw_image_glyph_string): Adapt to the change of image margins.
4480
4481 * dispextern.h (struct image): Replace member `margin' with
4482 `hmargin' and `vmargin'.
4483
4554cc79
GM
4484 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4485 and GLYPHS.
4486
4487 * dispnew.c (update_text_area): Put code which decrements the
4488 stop position when the row's face extends to the end of the
3bffc665 4489 line in #if 0.
4554cc79 4490
3cccce8d
GM
4491 * xfns.c (x_set_mouse_color): Fix color allocation.
4492
4956d1ef
GM
4493 * keyboard.c: Call get_local_map with new argument list.
4494
4495 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4496
4497 * intervals.h (enum map_property): Removed.
4498 (get_local_map): Change prototype.
4499
4500 * keymap.c: Call get_local_map with new argument list.
4501 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4502
2c2ff7f2
GM
45032001-01-11 Gerd Moellmann <gerd@gnu.org>
4504
a23887b9
GM
4505 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4506 of the size needed for the tool bar string. For the last image,
4507 use a `display' property that reaches to the end of the string.
4508
a7ee2d2e
GM
4509 * xselect.c (selection_request_dpyinfo): New variable.
4510 (x_handle_selection_request): Set it.
4511 (x_selection_request_lisp_error): Don't call
4512 x_decline_selection_request if selection request's display has
4513 been closed.
4514
52283633
SM
4515 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4516 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4517
457b792c
GM
45182001-01-10 Dave Love <fx@gnu.org>
4519
4520 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4521 ${SOME_MACHINE_LISP}, not ${lisp}.
4522
c1efd260
GM
45232001-01-10 Gerd Moellmann <gerd@gnu.org>
4524
52283633
SM
4525 * xdisp.c (display_line): On ttys, produce more than one truncation
4526 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4527
ac95a621
GM
4528 * xselect.c (x_reply_selection_request): Add a comment.
4529
c1efd260
GM
4530 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4531 XkbGetNames instead of XkbGetKeyboard.
4532
1bfb1345
DL
45332001-01-10 Dave Love <fx@gnu.org>
4534
4535 * sysdep.c (random): Revert the declaration.
4536
38119822
GM
45372001-01-09 Gerd Moellmann <gerd@gnu.org>
4538
52283633
SM
4539 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4540 Call function string_bytes.
35f464a7
GM
4541 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4542
4543 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4544 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4545 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4546 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4547 the current sblock.
4548 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4549 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4550 after sweeping strings, and at the end.
4551 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4552
38119822
GM
4553 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4554 ensure that pop_message is called.
4555
4556 * keyboard.c (Fexecute_extended_command): Use a
4557 record_unwind_protect to ensure that pop_message is called.
4558
4559 * lisp.h (push_message_unwind): Add prototype.
4560
4561 * xdisp.c (push_message_unwind): New function.
4562
4563 * fileio.c (do_auto_save_unwind): Do the pop_message here
4564 instead of in Fdo_auto_save.
4565 (Fdo_auto_save): Don't call pop_message.
4566
f47a9ec4
KR
45672001-01-08 Ken Raeburn <raeburn@gnu.org>
4568
4569 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4570 in inner block.
4571
a758f97d
GM
45722001-01-08 Gerd Moellmann <gerd@gnu.org>
4573
6d0afc03
GM
4574 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4575 when increasing window's vscroll.
4576
a758f97d
GM
4577 * macros.c (Qkbd_macro_termination_hook): New variable.
4578 (syms_of_macros): Initialize and staticpro it.
4579 (pop_kbd_macro): Run kbd-macro-termination-hook.
4580
4581 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4582
1bfb1345 45832001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4584
4585 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4586 arglist, for documentation's sake.
4587
0dac6924
AI
45882001-01-06 Andrew Innes <andrewi@gnu.org>
4589
4590 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4591 of *.pdb.
4592
8182406a
AI
45932001-01-05 Andrew Innes <andrewi@gnu.org>
4594
4595 * term.c (update_end): Don't check updating_frame; for some reason
4596 this can be 0 sometimes, such as after dismissing a popup menu,
4597 and isn't necessary given the explicit frame argument.
4598
3828218c
GM
45992001-01-05 Gerd Moellmann <gerd@gnu.org>
4600
4601 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4602 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4603
2f5ded21
GM
46042001-01-04 Gerd Moellmann <gerd@gnu.org>
4605
52283633 4606 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4607
4608 * xfns.c (x_create_tip_frame): Preserve the value of
4609 face_change_count around the creation of the tip frame.
52283633 4610
2f5ded21
GM
4611 * xfns.c (last_show_tip_args): New variable.
4612 (compute_tip_xy): New function.
4613 (Fx_show_tip): Reuse an existing tip frame, if possible.
4614 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4615
dfad65fa
DL
46162001-01-04 Dave Love <fx@gnu.org>
4617
64d4ec0f
DL
4618 * editfns.c (Fformat): Doc fix.
4619
dfad65fa
DL
4620 * systime.h (set_file_times): Prototype.
4621
4622 * widget.h (EmacsFrameSetCharSize_): Prototype.
4623
4624 * sysdep.c (random, srandom): Declare explicitly.
4625
4626 * dispextern.h (move_it_vertically_backward): Declare.
4627
85fe3b5e
GM
46282001-01-04 Gerd Moellmann <gerd@gnu.org>
4629
0f2ac578
GM
4630 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4631 like in Fx_create_frame.
4632
482cca61
GM
4633 * xfaces.c (set_font_frame_param): Don't do anything for
4634 non-graphical frames.
4635
85fe3b5e
GM
4636 * window.c (Fdelete_other_windows): Set window's window_end_valid
4637 to nil when changing the window's start. Don't change the
4638 window's start when its top position hasn't changed. If we do,
4639 this will set the window's optional_new_start, which act's like a
4640 force_start during redisplay with C-x 1 M-> under particular
4641 circumstances (see report from Per Starback to emacs-pretest-bug
4642 from 2000-12-13.).
4643
3e99d3b4
GM
46442001-01-03 Gerd Moellmann <gerd@gnu.org>
4645
a77dc1ec
GM
4646 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4647 short cut at the start of the function. Add an assertion.
4648 (reseat_at_next_visible_line_start): Add an assertion.
4649
2f3cad6c
GM
4650 * window.c (Frecenter): When changing the window start, set the
4651 window's window_end_valid to nil.
4652 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4653
4654 * dispextern.h (move_it_past_eol): Add prototype.
4655
4656 * xdisp.c (move_it_past_eol): New function.
4657
3e99d3b4
GM
4658 * window.c (Fwindow_end): Doc fix.
4659
46602001-01-03 Dave Love <fx@gnu.org>
4661
52283633 4662 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4663
bafb434c
GM
46642001-01-03 Gerd Moellmann <gerd@gnu.org>
4665
4666 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4667 the enabled_p flag of the glyph row at window_end_vpos to 0.
4668 (handle_single_display_prop): Fix last change.
4669
5297fb00
RS
46702001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4671
4672 * window.c (Frecenter): Doc fix.
4673
13d6a61c
AI
46742001-01-02 Andrew Innes <andrewi@gnu.org>
4675
4676 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4677
4678 * frame.h (output_method): Add output_w32_console method.
4679 (FRAME_W32_CONSOLE_P): New macro.
4680
4681 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4682 use output_w32_console method.
4683 (Qw32_console): New Lisp_Object.
4684 (Fframep): Return it.
4685 (syms_of_frame): Init it.
52283633 4686 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4687
4688 * xfaces.c (realize_default_face): Set face foreground and
4689 background to unspecified for w32_console frames.
4690 (realize_face): Realize face cache for w32_console frames.
4691 (realize_tty_face): Accept w32_console frames.
4692
52283633 4693 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4694 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4695 necessary, even if running interactively.
4696
4697 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4698 w32_console frames.
4699
52283633
SM
4700 * w32term.c (x_update_begin):
4701 (x_update_end):
4702 (x_clear_frame):
4703 (x_ins_del_lines):
4704 (x_change_line_highlight):
4705 (x_delete_glyphs):
4706 (w32_ring_bell):
4707 (x_update_begin):
4708 (x_update_end):
4709 (w32_reassert_line_highlight):
4710 (w32_frame_rehighlight):
13d6a61c
AI
4711 (w32_frame_raise_lower): Do nothing if not w32 frame.
4712
4713 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4714
4715 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4716 system doesn't tell us directly.
4717 (Fx_display_visual_class): Implement properly.
4718
d6bb0c0d
GM
47192001-01-02 Gerd Moellmann <gerd@gnu.org>
4720
4721 * window.c (Frecenter): Handle centering in graphical frames
4722 specially. Centering on the basis of line counts doesn't work
4723 reliably with variable-height lines.
52283633 4724
315f5865
EZ
47252001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4726
4727 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4728 and al[].
4729
52283633 4730 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4731 (update_compositions): Remove unused variable `hook'.
4732
4733 * intervals.c (get_local_map): Remove unused variable `tem'.
4734
4735 * doprnt.c (doprnt1): Remove unused variable `size'.
4736
4737 * fns.c (Flength): Remove unused variable `tail'.
4738 (Fdelete): Remove unused variable `size'.
4739
4740 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4741 and `gcpro2'.
4742
52283633 4743 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4744
4745 * data.c (find_symbol_value): Remove extra 3rd argument in the
4746 call to swap_in_symval_forwarding.
4747
52283633 4748 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4749
4750 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4751 (trivial_regexp_p): Remove unused variable `c'.
4752 (boyer_moore): Remove unused variable `k'.
4753
4754 * indent.c (current_column): Remove unused variable `stopchar'.
4755 (Fcompute_motion): Remove unused variable `contin'.
4756
4757 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4758
4759 * dired.c (directory_files_internal): Fix a typo in a comment.
4760 Remove an unused variable `handler'.
52283633 4761 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4762 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4763 on BSD4_2.
4764
52283633 4765 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4766
4767 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4768 and `buf'.
4769 (Fmarker_insertion_type): Remove unused variable `buf'.
4770
4771 * insdel.c (make_gap): Remove unused variable `result'.
4772
52283633 4773 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4774 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4775 (menu_bar_items): Remove unused function-scope variable `tem'.
4776
4777 * fontset.c (fontset_ref): Remove unused variable `i'.
4778 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4779 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4780 (make_fontset_for_ascii_face): Remove unused variable `name'.
4781 (fs_load_font): Remove unused variable `font_idx'.
52283633 4782 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4783 (list_fontsets): Remove unused variable `tail'.
4784 (Fnew_fontset): Remove unused variables `family' and `registry'.
4785 (accumulate_font_info): Remove unused variable `tmp'.
4786 (Ffontset_font): Remove unused variable `id'.
4787 (syms_of_fontset): Remove unused variable `i'.
4788
4789 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4790 to x_term_init.
4791 (lookup_image): Remove unused variable `file'.
4792 (xbm_load): Remove unused variables `bitmap_data', `height', and
4793 `width'. Remove function-local variable `i', leave the
4794 block-local one.
4795 (gif_load): Remove unused variable `inc'.
4796
52283633 4797 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4798 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4799 leave only the one in the inner block.
4800
4801 * xfaces.c (face_fontset, realize_default_face): Remove unused
4802 variable `fontset'.
4803 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4804
4805 * term.c (encode_terminal_code): Remove unused variable `c'.
4806
4807 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4808 char *' instead of `char *'.
4809
4810 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4811 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4812 (Fchar_category_set): Remove unused variables `val', `charset',
4813 `c1' and `c2'.
4814
52283633
SM
4815 * coding.c (detect_coding_iso2022, setup_coding_system):
4816 Remove unused variable `i'.
315f5865
EZ
4817 (detect_coding_mask): Remove unused variable `idx'.
4818 (detect_coding): Remove unused variable `i'.
4819 (ccl_coding_driver): Remove unused variable `result'.
4820 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4821 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4822 (encode_coding_string): Remove unused variables `gcpro1' and
4823 `saved_coding_symbol'.
4824 (Ffind_coding_systems_region_internal): Remove function-local
4825 variable args[], leave only the block-local one.
4826 (code_convert_region1): Remove unused variable `len'.
4827
4828 * charset.c (char_printable_p): Remove unused variable `chars'.
4829 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4830 (str_to_multibyte): Remove unused variable `c'.
4831
4832 * window.c (size_window): Remove block-local variable `min_size'.
4833
4834 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4835 `header_line_height'.
4836 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4837 enum display_element_type.
4838
1a8a9daf
GM
48392001-01-02 Gerd Moellmann <gerd@gnu.org>
4840
6dde6abc 4841 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4842 statements that call X. Save away the error message in a local copy.
4843
1883b2c6
GM
4844 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4845 the start.
4846
a13be207
GM
4847 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4848 in or at the start of invisible text.
4849
1a8a9daf
GM
4850 * dispnew.c (update_window): Don't check_current_matrix_flags.
4851
3608c0f9
JR
48522001-01-01 Jason Rumney <jasonr@gnu.org>
4853
4854 * w32fns.c (x_figure_window_size): Do not allow new_height and
4855 new_width of frame to override specified values.
4856
abb1acc4
KH
48572000-12-30 Kenichi Handa <handa@etl.go.jp>
4858
52283633 4859 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4860
762a68ec
GM
48612000-12-29 Gerd Moellmann <gerd@gnu.org>
4862
52283633 4863 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4864 (update_window) [GLYPH_DEBUG]: Call it.
4865 (scrolling_window): Prevent including current rows which are below
4866 what's displayed in the window.
4867
4868 * xdisp.c (try_window_reusing_current_matrix)
4869 <new start <= old start>: Disable rows in the current matrix
4870 which are below the window after scrolling.
52283633 4871
762a68ec
GM
4872 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4873 is zero. It's not worth the complexity.
4874 (invisible_text_between_p): Put in #if 0 because unused.
4875
2d5912c1
GM
48762000-12-28 Gerd Moellmann <gerd@gnu.org>
4877
46f6a258
GM
4878 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4879 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4880
89f93679
GM
4881 * keyboard.c (echo_char): If C is an integer, always call
4882 push_key_description. Former code could signal an invalid
4883 character error.
4884
4885 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4886 If set, print multibyte text.
4887 (Fsingle_key_description): Call push_key_description with
4888 FORCE_MULTIBYTE set.
4889 (describe_buffer_bindings): Likewise.
4890
4891 * lisp.h (push_key_description): Add prototype.
4892
c06017fb
GM
4893 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4894 around the call to redisplay_internal.
4895
f1d2ce7f
GM
4896 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4897
2d5912c1
GM
4898 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4899
9371f831
KH
49002000-12-28 Kenichi Handa <handa@etl.go.jp>
4901
4902 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4903 (ccl_driver): New local variable `extra_bytes'.
4904
4905 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4906
52283633
SM
4907 * coding.c (setup_coding_system):
4908 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4909 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4910
0c80628a
KH
49112000-12-28 Kenichi Handa <handa@etl.go.jp>
4912
4913 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4914 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4915 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4916 (decode_composition_emacs_mule): New function.
4917 (decode_coding_emacs_mule): Decode composition sequence by calling
4918 decode_composition_emacs_mule.
4919 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4920 (encode_coding_emacs_mule): Changed from macro to function.
4921 If a text contains compositions, encode them correctly.
0c80628a
KH
4922 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4923 that decoding and encoding are required.
4924
3e32cc27
GM
49252000-12-27 Gerd Moellmann <gerd@gnu.org>
4926
5e25feee
GM
4927 * xfaces.c (PT_PER_INCH): New macro.
4928 (xlfd_point_size): Compute real point size from font's pixel size.
4929 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4930 instead of 72.
4931
892d8fcd
GM
4932 * .gdbinit: Comment out the line pointing to the Lesstif source
4933 directory.
4934
12c8b416
GM
4935 * window.c (Frecenter): Use displayed_window_lines instead
4936 of window_internal_height.
4937
6061fbf0
GM
4938 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4939 instead of x-toolkit-scroll-bars-p.
4940 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4941
4942 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4943 instead of x-toolkit-scroll-bars-p.
4944 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4945
3e32cc27
GM
4946 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4947 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4948 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4949 New variables.
4950 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4951 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4952 (build_frame_matrix_from_leaf_window): Remove unused code.
4953 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4954 redisplay history.
4955 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4956 (update_window) [GLYPH_DEBUG]: Likewise.
4957 (syms_of_display): Defsubr dump-redisplay-history.
4958
31798cfe
GM
49592000-12-23 Gerd Moellmann <gerd@gnu.org>
4960
f717c2ba
GM
4961 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4962 the end of the prompt. Set echo_after_prompt to the offset
4963 of echoptr in echobuf.
4964
aeb2b8fc
GM
4965 * xdisp.c (init_from_display_pos): Pop until the iterator's
4966 stack is empty; there may be frames for stretch or images
4967 on the stack.
4968
31798cfe
GM
4969 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4970 (save_or_restore_current_matrix): New function for the same
4971 purpose, but more efficient.
4972 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4973
f8156156
EZ
49742000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4975
4976 * xdisp.c (syms_of_xdisp): Fix last change.
4977
bdd6d4e8
GM
49782000-12-23 Gerd Moellmann <gerd@gnu.org>
4979
4980 * xdisp.c (syms_of_xdisp): Doc fix.
4981
4982 * xdisp.c (redisplay_window): Remove label restore_buffers;
4983 use finish_scroll_bars instead to make sure that scroll bars
4984 are redeemed. If we don't do this, flickering can result from
4985 scroll bars being destroyed and recreated.
4986
9436cdf9
JR
49872000-12-22 Jason Rumney <jasonr@gnu.org>
4988
4989 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4990 in the wrong colors when the foreground is not black.
4991 (expose_window): Don't redraw the window that's currently being
4992 updated.
4993
951f9df5
GM
49942000-12-22 Gerd Moellmann <gerd@gnu.org>
4995
856ff7a7
GM
4996 * window.c (size_window): When setting the window's too_small_ok
4997 flag, compare old size with minimum size depending on WIDTH_P,
4998 don't compare with window_min_width.
52283633 4999
951f9df5
GM
5000 * window.c (delete_window): Simplify somewhat.
5001 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5002 freeing window matrices. The flag windows_or_buffers_changed is
5003 set, so the next redisplay will consider all windows; this should
5004 suffice.
5005
886bc933
KH
50062000-12-22 Kenichi Handa <handa@etl.go.jp>
5007
5008 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5009
5010 * ccl.h (struct ccl_program): New member cr_consumed.
5011
5012 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5013 (CCL_READ_CHAR): Handle EOL conversion here.
5014 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5015
177f4e88
GM
50162000-12-21 Gerd Moellmann <gerd@gnu.org>
5017
52283633 5018 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5019
5020 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5021 otherwise tabs of different size compare equal.
5022
5023 * callint.c (Fcall_interactively): Prevent a compiler warning.
5024
5025 * print.c (print_unwind): Return nil.
5026 (PRINTDECLARE): Initialize all local variables.
5027 (print_preprocess): Add a default case.
5028
8e15274f
GM
5029 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5030
5031 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5032
52283633 5033 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5034 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5035
5036 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5037
5038 * dispnew.c (ensure_frame_matrix): Removed.
5039 (save_frame_matrix, restore_frame_matrix): New functions.
5040 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5041
5042 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5043 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5044
99012074
AI
50452000-12-21 Andrew Innes <andrewi@gnu.org>
5046
5047 * w32term.c (x_update_begin): Regenerate the palette here, rather
5048 than for each window.
5049
5050 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5051 palette is NULL, since this corrupts memory! Also get
5052 display_info reference from frame.
5053
29ef7d2d
JR
50542000-12-21 Jason Rumney <jasonr@gnu.org>
5055
5056 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5057
5058 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5059 to avoid returning without releasing it.
3e27fa1f 5060
3f9d67a6
KH
50612000-12-21 Kenichi Handa <handa@etl.go.jp>
5062
587fc3f9
KH
5063 * keymap.c (push_key_description): Don't convert eight-bit-control
5064 and eight-bit-graphic to multibyte character.
5065
3f9d67a6
KH
5066 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5067 generic character and CODE1 is nil, return the smallest character
5068 in CHARSET.
5069
774ba8c9
DL
50702000-12-20 Dave Love <fx@gnu.org>
5071
5072 * s/osf5-0.h (NSIG): Don't redefine.
5073
88416888
SM
50742000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5075
5076 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5077 excluding menu-bar and tool-bar.
5078 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5079 (menu_item_p): Remove.
5080 (where_is_internal_1): Don't ignore menu-items.
5081
a6426c6f
GM
50822000-12-20 Gerd Moellmann <gerd@gnu.org>
5083
03ff8aab
GM
5084 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5085 into account.
5086
5087 * window.c (make_window): Initialize window's min_hscroll.
5088 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5089 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5090 to zero.
5091 (struct saved_window): New member min_hscroll.
5092 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5093 (Fset_window_configuration): Set window's min_hscroll.
5094 (save_window_save): Save window's min_hscroll.
5095 (compare_window_configurations): Compare min_hscroll values.
5096
5097 * window.h (struct window): New member min_hscroll.
5098
5099 * keyboard.c (echo_prompt): Prevent a compiler warning.
5100
8de4aaf8
GM
5101 * xdisp.c (try_cursor_movement): Fix last change. The real
5102 condition is that PT is at the end of the row, and should
5103 be displayed at the start of the next row.
52283633 5104
3f7e3031
GM
5105 * xdisp.c (try_cursor_movement): If we end on a partially
5106 visible line, end we already decided to scroll, return -1.
5107
a6426c6f
GM
5108 * dispextern.h (ensure_frame_matrix): Add prototype.
5109
5110 * window.c (delete_window, Fsplit_window)
5111 (Fset_window_configuration): Call ensure_frame_matrix.
5112
52283633
SM
5113 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5114 New functions.
a6426c6f
GM
5115 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5116 completed, call fake_current_matrices instead of marking frame
5117 garbaged.
5118
57fa2774
JR
51192000-12-20 Jason Rumney <jasonr@gnu.org>
5120
5121 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5122
d925df90
EZ
51232000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5124
5125 * fns.c (Frequire): Doc fix.
5126
7b93a85b
GM
51272000-12-19 Gerd Moellmann <gerd@gnu.org>
5128
52283633 5129 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5130
c74e645b
GM
5131 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5132 currently displaying a message.
5133
7b93a85b
GM
5134 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5135 xterm.h.
5136 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5137
90d97e64
AI
51382000-12-18 Andrew Innes <andrewi@gnu.org>
5139
5140 * w32.c (w32_strerror): New function.
5141
5142 * w32.h (w32_strerror): New extern.
5143
5144 * w32fns.c (Fw32_shell_execute): Use it.
5145
91c9e6ce
GM
51462000-12-18 Gerd Moellmann <gerd@gnu.org>
5147
5148 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5149
6f4745e2
EZ
51502000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5151
5152 * msdos.c (IT_set_face): Obey inverse_video.
5153
c9e088ce
KH
51542000-12-18 Kenichi Handa <handa@etl.go.jp>
5155
5156 * dired.c (directory_files_internal): Always return decoded filenames.
5157
c3695f5f
GM
51582000-12-18 Gerd Moellmann <gerd@gnu.org>
5159
52d8e4ff
GM
5160 * xterm.c (x_connection_closed): Prevent being called recursively
5161 because of an error condition in XtCloseDisplay.
52283633 5162
62be9979
GM
5163 * xdisp.c (init_iterator): If noninteractive, and the frame's
5164 face cache is null, make one.
5165
52283633 5166 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5167
c3695f5f
GM
5168 * process.c (wait_reading_process_input): Check for pending
5169 input when running timers.
5170
78555fbe
EZ
51712000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5172
52283633 5173 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5174
b2b36264
KH
51752000-12-18 Kenichi Handa <handa@etl.go.jp>
5176
5177 * process.c (read_process_output): Don't run a filter if the code
5178 decoder produces nothing but carryover.
5179
9c543fbf
AI
51802000-12-17 Andrew Innes <andrewi@gnu.org>
5181
5182 * w32.c (sys_rename): Only check errno against EEXIST, and not
5183 EACCES, when determining whether rename failed because the target
5184 exists. This was resulting in indefinite looping on Windows 9x if
5185 the source file was locked by another process.
5186
5187 * w32fns.c (Ffile_system_info): New function.
5188 (syms_of_w32fns): Defsubr it.
5189
10c2b5a8
GM
51902000-12-17 Gerd Moellmann <gerd@gnu.org>
5191
b0228ace
GM
5192 * window.c (coordinates_in_window): Fix computation for
5193 position on vertical line between mode lines.
5194
10c2b5a8
GM
5195 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5196 Don't alter tip_frame or tip_window.
5197 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5198 was deleted.
5199
c844a81a
GM
5200 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5201 Don't alter tip_frame or tip_window.
5202 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5203 was deleted.
5204
6c825f8e
EZ
52052000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5206
5207 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5208 be consistent with the doc string. Reported by NAKAJIMA Mikio
5209 <minakaji@osaka.email.ne.jp>.
5210
af4bb4c8
KH
52112000-12-16 Kenichi Handa <handa@etl.go.jp>
5212
5213 * xfaces.c (Vface_ignored_fonts): New variable.
5214 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5215 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5216
8062e53a
GM
52172000-12-15 Gerd Moellmann <gerd@gnu.org>
5218
e87b8809
GM
5219 * dispnew.c (update_window): Detect pending input every nth line
5220 updated, i.e. do it depending on real work done, and not on the
5221 vpos of the line.
5222
5223 * xterm.c (expose_window): Don't redraw the window that's
5224 currently being updated.
5225
a6768cc5
GM
5226 * window.c (Fset_window_point): Remove test for
5227 cursor_in_non_selected_windows.
5228
4ea7fdca
GM
5229 * lread.c (read1): Recognize end of file after `\\'.
5230
8062e53a
GM
5231 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5232 not unwind_create_frame.
5233
bb7959c1
GM
52342000-12-15 Dave Love <fx@gnu.org>
5235
5236 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5237 bcopy & al.
5238
5239 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5240
ced04c42
KH
52412000-12-15 Kenichi Handa <handa@etl.go.jp>
5242
c5443913
KH
5243 * coding.c (setup_coding_system): Clear all members of the struct
5244 coding_system at first.
bc137305
KH
5245 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5246 argument.
5247 (code_convert_region): Don't override coding->src_multibyte and
5248 coding->dst_multibyte.
c5443913 5249
ced04c42
KH
5250 * fns.c (Fmd5): Docstring improved.
5251
c2d7f289
MB
52522000-12-15 Miles Bader <miles@gnu.org>
5253
5254 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5255 are actually marked as mode-lines; otherwise use
5256 estimate_mode_line_height.
5257
9d7d9263
GM
52582000-12-14 Gerd Moellmann <gerd@gnu.org>
5259
5260 * editfns.c (Fformat): Prevent a buffer overrun when the format
5261 specifies a precision.
5262
7cf0153a
EZ
52632000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5264
5265 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5266 argument is outside the range [2..3].
5267
1de0f662
AI
52682000-12-14 Andrew Innes <andrewi@gnu.org>
5269
5270 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5271 nothing to do. Bind inhibit-quit.
5272 (tip_frame): Make it a Lisp_Object.
5273 (x_create_tip_frame): Set tip_frame after it has been added to
5274 Vframe_list.
5275 (Fx_show_tip): Don't set tip_frame here.
52283633 5276 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5277 (unwind_create_frame, unwind_create_tip_frame): New functions.
5278 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5279 while a frame is only partially constructed.
5280
5281 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5282 (x_free_frame_resources): New function.
5283 (x_destroy_window): Use it.
5284
02387dcc
GM
52852000-12-14 Gerd Moellmann <gerd@gnu.org>
5286
5287 * xfns.c (Fx_backspace_delete_keys_p): New function.
5288 (syms_of_xfns): Defsubr it.
5289
5290 * config.in (HAVE_XKBGETKEYBOARD): Add.
5291
0544ef49
KH
52922000-12-14 Kenichi Handa <handa@etl.go.jp>
5293
98d62747
KH
5294 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5295 Always store string in multibyte representation in echobuf.
5296 (echo_char): Always store string in multibyte representation in
5297 echobuf.
5298 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5299 (read_key_sequence): Adjusted for the change of echo_prompt.
5300
a20193cd
KH
5301 * fns.c (Fmd5): Docstring improved.
5302
191b83b6
KH
5303 * lisp.h (detect_coding_system): Prototype adjusted.
5304
0544ef49
KH
5305 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5306 (detect_coding_emacs_mule, detect_coding_iso2022,)
5307 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5308 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5309 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5310 (detect_coding_mask, detect_coding_system): New argument
5311 MULTIBYTEP. Callers changed.
1da1bb05
KH
5312 (decode_coding_string): Set coding->src_multibyte and
5313 coding->dst_multibyte before calling detect_coding and detect_eol.
5314 Update them after some coding system is detected.
52283633 5315
d5b3eb1b
SM
53162000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5317
5318 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5319
5320 * keyboard.c (menu_bar_items, tool_bar_items):
5321 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5322
f7f8bb69
GM
53232000-12-13 Gerd Moellmann <gerd@gnu.org>
5324
52283633 5325 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5326 New variables.
5327 (unwind_create_frame, unwind_create_tip_frame): New functions.
5328 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5329 while a frame is only partially constructed.
5330
5331 * xterm.h (x_free_frame_resources): Declare.
5332
5333 * xterm.c (x_free_frame_resources): New function.
5334 (x_destroy_window): Use it.
5335
e10da507
GM
5336 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5337 don't interrupt the update for pending input initially, i.e.
5338 update at least some lines.
5339
5340 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5341
d5b3eb1b 5342 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5343
5344 * xfns.c (gray_bitmap_bits): Declare `char *'.
5345
90aa2856
GM
53462000-12-12 Gerd Moellmann <gerd@gnu.org>
5347
5348 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5349 lines start with a relief line.
5350
a308c9cd
DL
53512000-12-12 Dave Love <fx@gnu.org>
5352
5353 * window.c (Fdisplay_buffer): Doc fix.
5354 (Fwindow_list): Remove unused var.
5355
5356 * buffer.h (mmap_set_vars): Declare.
5357
5358 * window.h (Fset_window_point): Declare.
5359
d575011f
EZ
53602000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5361
bf6282d2 5362 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5363 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5364 variable `area'. When looking for a row under (X,Y), give up if some
5365 of the previous rows is not enabled.
d575011f 5366
ecf4d726
GM
53672000-12-12 Gerd Moellmann <gerd@gnu.org>
5368
2ebf6139
GM
5369 * window.c (Fset_window_point): If displaying cursors in windows
5370 other than the selected window, make sure redisplay updates
5371 other windows to show the new value of point in the window.
5372
5373 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5374
bfdb75ee
GM
5375 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5376 the buffer is the sole visible buffer when in the mini-buffer.
5377
52283633 5378 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5379 Bind `inhibit-read-only' to t.
5380 (unwind_with_echo_area_buffer): Use AREF.
5381
c0006262
GM
5382 * xfns.c (Fx_hide_tip): Simplified.
5383
52283633
SM
5384 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5385 instead of `1'.
e9a59cad 5386
ecf4d726
GM
5387 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5388
e5959a9a
GM
53892000-12-11 Gerd Moellmann <gerd@gnu.org>
5390
a3642e49 5391 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5392
44b5a125
GM
5393 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5394 nothing to do. Bind inhibit-quit.
5395 (tip_frame): Make it a Lisp_Object.
5396 (x_create_tip_frame): Set tip_frame after it has been added to
5397 Vframe_list.
5398 (Fx_show_tip): Don't set tip_frame here.
5399
5400 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5401
5402 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5403 Lisp_Object.
5404
5405 * dispextern.h: Change external declaration of tip_frame.
5406
d990421f
GM
5407 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5408 return an empty string.
5409
4db87380
GM
5410 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5411 of the window's update_mode_line flag, since the former is set by
5412 force-mode-line-update, not the latter. This makes
5413 column-number-mode slightly faster.
52283633 5414
e5959a9a
GM
5415 * xdisp.c (try_window_id) <all changes above window start>:
5416 Set the cursor.
5417
169fe44e
GM
54182000-12-11 Paul Eggert <eggert@twinsun.com>
5419
5420 * config.in (HAVE_FTELLO): Remove.
5421 (HAVE_FSEEKO): Add.
5422 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5423 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5424 HAVE_FTELLO.
5425 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5426 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5427
59ec59ae
MB
54282000-12-11 Miles Bader <miles@gnu.org>
5429
5430 * window.c (displayed_window_lines): Don't round up when
5431 converting empty space at bottom to lines.
ff904dd6
MB
5432 Handle non-newline-terminated final lines properly.
5433 (Fwindow_text_height): New function (used to be in lisp).
5434 (syms_of_window): Initialize it.
59ec59ae 5435
42ebfa31
SM
54362000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5437
5438 * syntax.c (scan_lists): Check that the right quote char has the
5439 right Sstring syntax when jumping over strings.
5440 (init_syntax_once): Use Smax rather than 13.
5441
5cdb3cf3
MB
54422000-12-09 Miles Bader <miles@gnu.org>
5443
5444 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5445 with PARTIALLY, inverting the sense.
5446 (window_scroll_pixel_based): Scroll partially visible lines into
5447 place if we hit the beginning or end of the buffer.
a12167c5
MB
5448 (displayed_window_lines): Don't include partially visible lines.
5449 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5450
842b2a94
GM
54512000-12-08 Gerd Moellmann <gerd@gnu.org>
5452
5453 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5454
5455 * tparam.c (tparam1): Change the way buffers are reallocated to be
5456 portable and less obfuscated.
5457
5458 * termcap.c (tgetent): Change the way buffers are reallocated to
5459 be portable and less obfuscated.
5460
5461 * macros.c (store_kbd_macro_char): Change the way buffers are
5462 reallocated to be portable and less obfuscated.
5463
5464 * lread.c (read1): Change the way buffers are reallocated to be
5465 portable and less obfuscated.
5466
5467 * doc.c (Fsubstitute_command_keys): Change the way buffers
5468 are reallocated so that it is portable.
5469
137cad7c
EZ
54702000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5471
5472 * dosfns.c (Ffile_system_info): New function.
5473 (syms_of_dosfns): Defsubr it.
5474
5c7f629c
SM
54752000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5476
5477 * alloc.c (gc_sweep): Add comment.
5478
959e647d
GM
54792000-12-07 Gerd Moellmann <gerd@gnu.org>
5480
52283633
SM
5481 * sound.c (vox_configure): Change order of ioctls.
5482 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5483 Ignore errors when changing volume.
5484 (vox_close): Don't reset the device.
5485
926b7e5e
GM
5486 * process.c (read_process_output): Make sure the process marker's
5487 position is valid when the process buffer is changed in
5488 after-change functions. W3 does that.
52283633 5489
959e647d
GM
5490 * xfns.c (x_free_gcs): New function.
5491
5492 * xterm.h (x_free_gcs): Add prototype.
5493
5494 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5495 freeing GCs here.
5496
5497 * xterm.c (x_destroy_window): Call x_free_gcs so that
5498 resources of non-toolkit X windows will be freed.
5499
478ea067
AI
55002000-12-07 Andrew Innes <andrewi@gnu.org>
5501
5502 * w32fns.c (xlfd_charset_of_font): Fix last change.
5503
fbee3231
DL
55042000-12-06 Dave Love <fx@gnu.org>
5505
67292061
DL
5506 * md5.h (__P): Don't define -- it comes from config.h.
5507
fbee3231
DL
5508 * strftime.c: Change some #if foo to #ifdef foo.
5509
4ee87dbb
AI
55102000-12-06 Andrew Innes <andrewi@gnu.org>
5511
5512 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5513
52283633 5514 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5515 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5516 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5517
9765b4a4
GM
55182000-12-06 Gerd Moellmann <gerd@gnu.org>
5519
d285b373
GM
5520 * alloc.c (gc_sweep): Prevent symbols read during loadup
5521 from being freed.
5522
384333ee
GM
5523 * xdisp.c (underlying_face_id): New function.
5524 (handle_face_prop, face_before_or_after_it_pos): Use it
5525 to determine the face ``under'' a string. Let strings inherit
5526 the face of the buffer under them.
5527
5528 * xfaces.c (face_at_string_position): Update function comment.
52283633 5529
d4b72d58
GM
5530 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5531 matrix if the window's left position has changed; we need to
5532 redraw it in this case.
5533
5534 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5535
e1d05387
GM
5536 * window.c (coordinates_in_window): Check mouse on mode-line or
5537 header-line first.
5538
eb1b0c74
GM
5539 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5540 advertized by the function documentation.
5541
d94d636f
GM
5542 * window.c (syms_of_window): Doc fix.
5543
3887b449
GM
5544 * sound.c (vox_configure): Set volume for left and right channel.
5545 (sound_cleanup): Return nil.
5546
efc8f57a
GM
5547 * xdisp.c (move_it_by_lines): Fix paren typo.
5548
9765b4a4
GM
5549 * xterm.c (x_load_font): Don't use the font's max_bounds for
5550 computing the height of the font. If max_bounds' ascent or
5551 descent are greater than the font's ascent or descent, this means
5552 glyphs overlap, which should be handled now by redisplay.
5553
6529ed87
GM
5554 * window.c (Veven_window_heights): New variable.
5555 (syms_of_window): DEFVAR_LISP it.
5556 (Fdisplay_buffer): Check Veven_window_heights before evening the
5557 window heights.
52283633 5558
0eb2ecde
MB
55592000-12-06 Miles Bader <miles@gnu.org>
5560
5561 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5562 update `default-frame-alist' instead of setting no frame parameters.
5563
03d7a167
KH
55642000-12-06 Kenichi Handa <handa@etl.go.jp>
5565
5566 * composite.c (update_compositions): Fix typo (use the correct
5567 variable).
5568
5f8803c2
JR
55692000-12-05 Jason Rumney <jasonr@gnu.org>
5570
5571 * md5.h: Remove underscores from function declarations.
5572 (__attribute__, __alignof__) [!__GNUC__]: Define.
5573
5574 * md5.c: Delay include of md5.h until after namespace cleaning.
5575
c28a075b
JR
5576 * makefile.w32-in (fns.o): Depend on md5.h
5577 (md5.o): New target.
5578 (sunfns.o): Remove.
5579
5580 * makefile.nt: Likewise.
5581
ff3c7056
JR
55822000-12-05 Jason Rumney <jasonr@altavista.net>
5583
5584 * w32term.c (expose_area): Complete last change.
5585
0c21eeeb
KR
55862000-12-05 Ken Raeburn <raeburn@gnu.org>
5587
5588 * minibuf.c: Include intervals.h.
5589
f201d732
JR
55902000-12-05 Jason Rumney <jasonr@gnu.org>
5591
5592 * w32term.c (x_produce_glyphs): If a font for a component of
5593 a composition is not found, use 1 pixel dot ascent and 0 dot
5594 descent value to avoid displaying terribly tall empty boxes.
5595 (expose_area): Pass x-coordinate relative to the exposed
5596 area to x_draw_glyphs instead of a window-relative coordinate.
5597
21999ab9
GM
55982000-12-05 Gerd Moellmann <gerd@gnu.org>
5599
4d2036e4
GM
5600 * xdisp.c (next_element_from_ellipsis): Save face before selective
5601 display in saved_face_id, and set face_before_selective_p.
5602 (reseat_1): Reset face_before_selective_p.
5603 (append_space, extend_face_to_end_of_line): If iterator's
5604 face_before_selective_p is set, use the face from saved_face_id.
5605 (extend_face_to_end_of_line): For tty frames, make sure to
5606 use the right face id when producing spaces at the end of
5607 the line.
5608
5609 * dispextern.h (struct it): Add face_before_selective_p.
5610
52be17cc
GM
5611 * keyboard.c (record_char): Don't record identical help-echo
5612 events in recent_keys.
5613
8a4f36cc
GM
5614 * xterm.c [USE_X_TOOLKIT]: Close the display.
5615 (xim_close_dpy): Handle case that the display has been closed.
5616
57d6e381
GM
5617 * xterm.c (x_destroy_window): Reset the frame's X window after
5618 destroying it.
5619
21999ab9
GM
5620 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5621 variable window_width.
5622 (line_draw_cost): Fix code skipping over spaces at the end of the
5623 line when must_write_spaces is not set.
5624 (scrolling_window): Fix code inserting runs in list of all runs.
5625
91372bb7
KH
56262000-12-05 Kenichi Handa <handa@etl.go.jp>
5627
5628 * coding.c (setup_coding_system): Be sure to initialize
5629 coding->category_idx.
5630
6c083b4c
GM
56312000-12-04 Gerd Moellmann <gerd@gnu.org>
5632
0c68ce6f 5633 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5634
6452929e
GM
5635 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5636 area to x_draw_glyphs instead of a window-relative coordinate.
5637
d7f31e22
GM
5638 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5639 error in the message.
5640
ae18aa3b
GM
5641 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5642 timer after having read a key. It's not good for code reading
5643 several keys in a loop, like an input method.
5644
caa15ef7
GM
5645 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5646 record undo information for format-decode.
5647
5648 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5649 current buffer is read-only, not if it isn't.
5650
6c083b4c
GM
5651 * keyboard.c (record_char): Record `help-echo' input events
5652 in recent_keys only if they display some help. Don't record
5653 `help-echo' events as macro char.
5654
caa15ef7
GM
56552000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5656
5657 * editfns.c (save_excursion_restore): Don't move point
5658 in another window if it is showing the wrong buffer.
5659 Avoid the call to Fwindow_live_p, for speed.
5660
5a13529b
KH
56612000-12-04 Kenichi Handa <handa@etl.go.jp>
5662
e225faa7
KH
5663 * xfaces.c (struct font_name): New member registry_priority.
5664 (split_font_name): Initialize the above member to zero.
5665 (concat_font_list): New function.
5666 (font_list): Include fonts of all alternative registries.
5667 (FONT_POINT_SIZE_QUANTUM): New macro.
5668 (better_font_p): Ignore point size difference less than
5669 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5670
e89648b4
KH
5671 * xterm.c (x_produce_glyphs): If a font for a component of
5672 a composition is not found, use 1 pixel dot ascent and 0 dot
5673 descent value to avoid displaying terribly tall empty boxes.
5674
5a13529b
KH
5675 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5676
d7935eb6
KR
56772000-12-03 Ken Raeburn <raeburn@gnu.org>
5678
5679 * coding.h (code_convert_string1): Declare.
5680
5681 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5682
52283633 5683 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5684
0dd5e255
JR
56852000-12-02 Jason Rumney <jasonr@gnu.org>
5686
5687 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5688 correctly for single byte character case.
5689 (w32_per_char_metric): Do not try to make any assumptions about
5690 the metrics of BDF fonts.
250cfece 5691 (x_estimate_mode_line_height): If `mode-line' face
52283633 5692 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5693 (note_mouse_highlight): Change the cursor shape on the vertical
5694 border between windows [not enabled].
5695
5696 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5697
5698 * w32fns.c (Fx_create_frame): Reintroduce the call to
5699 face-set-after-frame-defaults.
5700 (Vx_window_horizontal_drag_shape): New variable.
5701 (syms_of_xfns): DEFVAR_LISP it.
5702 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5703 enabled].
0dd5e255 5704
b5d8d2ca
GM
57052000-12-02 Simon Josefsson <simon@josefsson.org>
5706
5707 * fns.c (Fmd5): Use a different logic to decide the coding system
5708 to use.
5709
5710 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5711
fbb87147
EZ
57122000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5713
52283633 5714 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5715
447e9da0
GM
57162000-12-01 Gerd Moellmann <gerd@gnu.org>
5717
7708ced0
GM
5718 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5719 height for YNegative.
5720 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5721 height; also see comment there.
5722
447e9da0
GM
5723 * window.c (coordinates_in_window): Handle computations for
5724 positions on the vertical bar and fringes differently for
5725 window-system frames. Consider some pixels near the vertical bar
5726 as on the bar if the frame doesn't have vertical scroll bars.
5727 Associate positions between mode or header lines with the
5728 right window, the left one.
5729
86d1db20
JR
57302000-12-01 Jason Rumney <jasonr@gnu.org>
5731
5732 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5733
5734 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5735 invalid frame.
5736
a1d58e5b
GM
57372000-12-01 Gerd Moellmann <gerd@gnu.org>
5738
52283633 5739 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5740 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5741 (save_window_save, Fset_window_configuration): Save/restore
5742 window's orig_top and orig_height.
5743
89c609af
JR
57442000-12-01 Jason Rumney <jasonr@gnu.org>
5745
4d177746 5746 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5747
89c609af
JR
5748 * w32fns.c (x_set_cursor_color): Fix last change.
5749
eccc05db
GM
57502000-11-30 Gerd Moellmann <gerd@gnu.org>
5751
31b6671b
GM
5752 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5753 sure that the next redisplay displays the minibuffer, so that
5754 the cursor will be replaced with what the minibuffer wants.
5755
eccc05db
GM
5756 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5757 #ifndef instead of using #if.
5758 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5759 USE_TOOLKIT_SCROLL_BARS is defined.
5760
162de750
JR
57612000-11-30 Jason Rumney <jasonr@gnu.org>
5762
5763 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5764 x_display_cursor.
5765
693c4692
GM
57662000-11-30 Gerd Moellmann <gerd@gnu.org>
5767
5768 * fns.c (Fmd5): Doc fix.
5769
b5d8d2ca 57702000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5771
5772 * fns.c (Fmd5): New function.
5773 (syms_of_fns): Defsubr md5.
5774
5775 * Makefile.in (obj): Add md5.o
5776
b02cd40b
GM
57772000-11-30 Gerd Moellmann <gerd@gnu.org>
5778
edfb795e
GM
5779 * md5.h, md5.c: New files, taken from glibc.
5780
df3aedcf
GM
5781 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5782
b02cd40b 5783 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5784 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5785
8b5176cd
SM
57862000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5787
5788 * eval.c (Frun_hooks): Allow 0 arguments.
5789
346598f1
GM
57902000-11-29 Gerd Moellmann <gerd@gnu.org>
5791
f9396e03
GM
5792 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5793 is over the menu bar widget, say it's not on the frame.
5794
4a967a9b
GM
5795 * xfns.c (Fx_create_frame): Reintroduce the call to
5796 face-set-after-frame-defaults.
5797
346598f1
GM
5798 * eval.c (Fsignal): Reset handling_signal.
5799
222456a1
JR
58002000-11-28 Jason Rumney <jasonr@gnu.org>
5801
5802 * w32menu.c (add_menu_item): Reset menu item text when changing
5803 type to radio button.
5804
8049ddc0
GM
58052000-11-28 Gerd Moellmann <gerd@gnu.org>
5806
346598f1 5807 * xselect.c: Update copyright.
f4f4ee4d 5808
bebe4a2c
GM
5809 * window.c (coordinates_in_window): If on a mode or header line,
5810 but sufficiently close to its start, return ``on vertical
5811 border''. This gives us a way to drag windows horizontally when
5812 using toolkit scroll bars.
5813
5814 * xterm.c (note_mouse_highlight): Change the cursor shape
5815 on the vertical border between windows.
5816
5817 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5818
5819 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5820 (syms_of_xfns): DEFVAR_LISP it.
5821 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5822
8d2c2642
GM
5823 * textprop.c (text_read_only): New function.
5824 (verify_interval_modification): Use it instead of signaling
5825 `text-read-only'. This makes it easier to catch this error
52283633 5826 with a breakpoint.:
8d2c2642 5827
52283633 5828 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5829 not end of line, which includes CR.
5830
5a2bae6c
KH
58312000-11-28 Kenichi Handa <handa@etl.go.jp>
5832
5833 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5834 include no-conversion.
5835
ae31f84d
JR
58362000-11-27 Jason Rumney <jasonr@gnu.org>
5837
5838 * w32fns.c (w32_load_system_font): Always mark font as double byte
5839 if codepage is unicode.
5840
67f1cf4c
GM
58412000-11-27 Gerd Moellmann <gerd@gnu.org>
5842
4a74d071 5843 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5844 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5845
902ae620
GM
5846 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5847 `vertical-line', `mode-line' and `header-line' events.
5848
5849 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5850 of a character, a TAB for instance. This is easier than to set
5851 up the iterator exactly, and it's not a frequent case, so the
5852 additional effort wouldn't really pay off.
5853
c1e279c2
AC
58542000-11-26 Andrew Choi <akochoi@i-cable.com>
5855
67f1cf4c 5856 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5857 init_window_once.
5858
a609568a
JR
58592000-11-25 Jason Rumney <jasonr@gnu.org>
5860
52283633
SM
5861 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5862 Args to window_from_coordinates should be pixel coordinates.
48b21762 5863
a609568a
JR
5864 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5865 redisplay handles them properly.
5866
a658d039
MB
58672000-11-25 Miles Bader <miles@gnu.org>
5868
5869 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5870
d3416cca
JR
58712000-11-24 Jason Rumney <jasonr@gnu.org>
5872
5873 * w32.c (init_environment): Set LANG environment variable based on
5874 locale settings, if not set.
5875
5876 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5877 making tool bar smaller. When clearing the frame, also
5878 clear current matrices. Clear frame when tool bar disappears.
5879 Don't use more lines for the tool-bar than is available.
5880 (x_change_window_heights): New function.
5881
ba193890
GM
58822000-11-24 Gerd Moellmann <gerd@gnu.org>
5883
2be8f184
GM
5884 * xdisp.c (init_from_display_pos): If POS says we're already after
5885 an overlay string ending at POS, make sure to pop the iterator
5886 because it will be in front of that overlay string. When POS is
5887 ZV, we've thereby also ``processed'' overlay strings at ZV.
5888
ba193890
GM
5889 * xfaces.c (lface_from_face_name): Function comment fix.
5890
1862a24e
MB
58912000-11-24 Miles Bader <miles@gnu.org>
5892
5893 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5894 apply `mode-line-inverse-video' -- zero means force display using
5895 the default face, non-zero means display using the specialized face.
5896 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5897
f07fa1b8
KH
58982000-11-23 Kenichi Handa <handa@etl.go.jp>
5899
5900 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5901 hard coded `4'.
5902
2bcdf662
EZ
59032000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5904
5905 * coding.c (decode_coding_emacs_mule): Fix the case of
5906 CODING_EOL_LF, which used uninitialized value of c.
5907
ba8299ff
SM
59082000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5909
5910 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5911
f4117c4d
GM
59122000-11-22 Gerd Moellmann <gerd@gnu.org>
5913
03e757c1
GM
5914 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5915 buffer object.
5916
f4117c4d
GM
5917 * frame.h (struct frame): Replace desired_tool_bar_items,
5918 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5919 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5920
5921 * frame.c (make_frame): Change initialization of tool bar
5922 items accordingly.
5923
5924 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5925 Change references to members deleted from struct frame to use the
f4117c4d
GM
5926 new ones.
5927
5928 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5929 references to members deleted from struct frame to use the new ones.
f4117c4d 5930
52283633 5931 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5932
5933 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5934
5935 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5936 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5937 from struct frame to use the new ones.
5938
f8e2f3f2
MB
59392000-11-23 Miles Bader <miles@gnu.org>
5940
5941 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5942 the face's inverse-video attribute, rather than overriding it.
5943
60e8e0a5
GM
59442000-11-22 Gerd Moellmann <gerd@gnu.org>
5945
5946 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5947 making tool bar smaller.
5948
92dd1b29
DL
59492000-11-22 Dave Love <fx@gnu.org>
5950
5951 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5952
e672fdce
MB
59532000-11-22 Miles Bader <miles@gnu.org>
5954
3a17d6cc
MB
5955 * keyboard.c (Vminibuffer_message_timeout): New variable.
5956 (command_loop_1): Use it to determine message timeout.
5957 (syms_of_keyboard): Initialize it.
5958
60e8e0a5 5959 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5960
e9655d81
KH
59612000-11-22 Kenichi Handa <handa@etl.go.jp>
5962
5963 * sysdep.c: Move the code for declaring h_errno after #include
5964 <netdb.h>.
5965
77270fac
GM
59662000-11-21 Gerd Moellmann <gerd@gnu.org>
5967
cd913aae
GM
5968 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5969 the menu bar when the tooltip is unmapped.
5970
77270fac
GM
5971 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5972 sole visible buffer when we're currently in the mini-buffer, and
5973 give up if so.
52283633 5974
556635d6
JR
59752000-11-21 Jason Rumney <jasonr@gnu.org>
5976
5977 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5978 put on the clipboard.
5979 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5980 copy of what Emacs last put there. If they are the same, do not
52283633 5981 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5982
5b7bde64
MB
59832000-11-22 Miles Bader <miles@gnu.org>
5984
5985 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5986 (syms_of_minibuf): Initialize it.
5987 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5988 to prompt, don't make read-only.
5989
ff23e1dd
GM
59902000-11-21 Gerd Moellmann <gerd@gnu.org>
5991
52283633
SM
5992 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5993 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5994
7aaf4388
GM
5995 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5996
f5f47add 5997 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5998
ff23e1dd
GM
5999 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6000
37c35586
KH
60012000-11-21 Kenichi Handa <handa@etl.go.jp>
6002
6003 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6004 ... #endif scope.
6005
ff9ab414
GM
60062000-11-20 Gerd Moellmann <gerd@gnu.org>
6007
52283633 6008 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6009 screen supports it.
6010
29a01b72
GM
6011 * s/gnu-linux.h: Don't use `#cpu'.
6012
09dfdf85
GM
6013 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6014 not defined in mman.h.
6015
52283633 6016 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6017 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6018 and store an index in the XClientMessageEvent. Storing a
6019 Lisp_Object or pointer can fail on a 64 bit system, since X only
6020 transfers 32 bits.
52283633
SM
6021 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6022
81459ac9
DL
60232000-11-20 Dave Love <fx@gnu.org>
6024
6025 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6026
56c13ae6
GM
60272000-11-20 Gerd Moellmann <gerd@gnu.org>
6028
6029 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6030
495a6df3
KH
60312000-11-20 Kenichi Handa <handa@etl.go.jp>
6032
2bcf3714
KH
6033 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6034 by WIDTH.
6035
495a6df3
KH
6036 * alloc.c (make_string): Fix previous change. Be sure to make
6037 unibyte string correctly.
6038
6d950f4c
GM
60392000-11-19 Gerd Moellmann <gerd@gnu.org>
6040
39b39373
GM
6041 * window.c (Fwindow_list): Change parameter list to be XEmacs
6042 compatible.
6043 (window_list_1): New function.
6044 (window_loop): Use it instead of Fwindow_list.
6045
b95b34e5
GM
6046 * sysdep.c (emacs_ospeed): New variable.
6047 (toplevel): Don't declare ospeed extern.
6048 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6049
6050 * termcap.c (ospeed): Remove.
6051 (tputs) [!emacs]: Remove unused code.
6052 (tgetent): Avoid a compiler warning.
6053
e83dc917
GM
6054 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6055 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6056 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6057
6058 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6059 removed.
6060 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6061 Take the X display as additional argument.
6062 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6063 `Widget' is a pointer type that's not easily stored in Lisp_Object
6064 form in a portable way.
52283633 6065
6d950f4c
GM
6066 * dispnew.c (update_text_area): Fix last change.
6067
e47306e6
GM
60682000-11-18 Gerd Moellmann <gerd@gnu.org>
6069
fb3cd89b
GM
6070 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6071
6072 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6073 clear current matrices.
6074
edaa9aed
GM
6075 * buffer.c (mmap_enlarge): Don't print a message on stderr
6076 if mapping new memory at the end of the existing region fails.
6077
e47306e6
GM
6078 * dispnew.c (update_text_area): Don't skip over equal glyphs
6079 when the last current glyph overlaps the glyph to its right.
6080
509633e3
MB
60812000-11-18 Miles Bader <miles@gnu.org>
6082
6083 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6084 lines that *end* with "..." too (that's the most common case!).
6085
d392e9c5
GM
60862000-11-18 Gerd Moellmann <gerd@gnu.org>
6087
67988445
GM
6088 * xdisp.c (resize_mini_window): Temporarily change to the
6089 mini-window's buffer if necessary.
1bfdbe43 6090
d392e9c5
GM
6091 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6092 the tooltip obscures less text under it.
6093
60942000-11-17 Gerd Moellmann <gerd@gnu.org>
6095
6096 * puresize.h (BASE_PURESIZE): Increase to 700000.
6097
92bb977f
JR
60982000-11-18 Jason Rumney <jasonr@gnu.org>
6099
6100 * w32term.c (w32_draw_bitmap): Use face to set colors.
6101
26fbf20b
DL
61022000-11-17 Dave Love <fx@gnu.org>
6103
6104 * lread.c (Fload): Fix #ifdef for pcc.
6105
100b593b
GM
61062000-11-17 Gerd Moellmann <gerd@gnu.org>
6107
6108 * xdisp.c (pos_visible_p): Compute the default character height
6109 differently.
6110
a288d0d1
GM
61112000-11-16 Gerd Moellmann <gerd@gnu.org>
6112
cac94de6 6113 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6114 knowing the line's height; use the default font's height in that case.
cac94de6 6115
a288d0d1
GM
6116 * xfaces.c (weight_table): Add `demi' with the same meaning as
6117 `demibold'.
6118
981fb6f6
KH
61192000-11-16 Kenichi Handa <handa@etl.go.jp>
6120
2cca872d 6121 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6122 (clear_glyph_row): Delete local static variable null_row.
6123
e5fa381b
JR
61242000-11-15 Jason Rumney <jasonr@gnu.org>
6125
6126 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6127 (w32_alloc_lighter_color): Use new brightness calculations from
6128 xterm.c. Scale delta to be in the range expected by W32.
6129 (w32_draw_relief_rect): Use frame relief colors.
6130
8e42f043
GM
61312000-11-15 Gerd Moellmann <gerd@gnu.org>
6132
6d133d1f
GM
6133 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6134 (Qinhibit_default_face_x_resources): New variable.
6135 (syms_of_frame): Initialize it.
6136 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6137
6138 * xdisp.c (pos_visible_p): Improve function comment.
6139
6140 * lisp.h (BINDING_STACK_SIZE): New macro.
6141
8e42f043
GM
6142 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6143 reading the directory if readdir returns null and errno is EAGAIN
6144 or EINTR.
6145
e8c87124
SM
61462000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6147
6148 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6149 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6150 Set amount_to_scroll to max of dx and scroll_step so that
6151 scroll-conservatively doesn't defeat scroll-step>1.
6152 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6153 scroll-conservatively for line-at-a-time scrolling.
6154
5f0c971d
GM
61552000-11-14 Gerd Moellmann <gerd@gnu.org>
6156
6157 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6158 extra argument.
6159
6160 * xdisp.c (current_mode_line_height, current_header_line_height):
6161 New variables.
6162 (init_xdisp): Initialize them.
6163 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6164 and use exact mode line heights if it is set.
6165
6166 * lisp.h (pos_visible_p): Change prototype.
6167
6168 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6169 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6170 and current_header_line_height first.
52283633
SM
6171 (current_mode_line_height, current_header_line_height):
6172 Declare extern.
5f0c971d 6173
d7361edf
MB
61742000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6175
6176 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6177 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6178 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6179
ee5e440a
MB
61802000-11-14 Miles Bader <miles@gnu.org>
6181
6182 * xterm.c (x_alloc_lighter_color): Include an additive component
6183 too for dark colors, because FACTOR isn't enough.
6184 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6185 New macros.
6186
5ca020fc
GM
61872000-11-13 Gerd Moellmann <gerd@gnu.org>
6188
6189 * keyboard.c (show_help_echo): Call message3_nolog with number of
6190 bytes in the help string as 2nd parameter, instead of the number
6191 of characters.
6192
9d348294
MB
61932000-11-13 Miles Bader <miles@gnu.org>
6194
6195 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6196 (Fload): Use new openp return protocol.
6197 Don't try to use Vload_source_file_function to load .elc files.
6198 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6199 openp return protocol.
6200 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6201
1729bb9a
KH
62022000-11-11 Kenichi Handa <handa@etl.go.jp>
6203
4e677396
KH
6204 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6205
6206 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6207 Defined these macros.
6208 (NLIST_STRUCT): Avoid re-defining it.
6209
1729bb9a
KH
6210 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6211 -I/usr/contrib/X11R6/include.
6212 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6213
a82fe213
JR
62142000-11-10 Jason Rumney <jasonr@gnu.org>
6215
6216 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6217
6218 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6219 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6220
6221 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6222 (Qw32_charset_vietnamese): New symbol.
6223 (xlfd_charset_of_font): New function.
6224 (w32_load_system_font): Use it.
6225 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6226 when Vw32_charset_info_alist is nil to ensure default face always
6227 has font. Use Fcar and Fcdr for safety.
6228 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6229 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6230 pseudo-codepages for special cases.
6231 (w32_to_x_font): New parameter to allow charset portion to be
6232 specified where there is many to one mapping. Callers changed.
6233 (w32_list_fonts): Avoid listing fonts that won't display.
6234
52d89894
GM
62352000-11-10 Gerd Moellmann <gerd@gnu.org>
6236
6237 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6238 (font_list_1): Renamed from font_list.
6239 (font_list): New function, trying alternative registries from
6240 Vface_alternative_font_registry_alist.
6241 (Finternal_set_alternative_font_registry_alist): New function.
6242 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6243 Vface_alternative_font_registry_alist.
6244 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6245
651cd3da
KR
62462000-11-09 Ken Raeburn <raeburn@gnu.org>
6247
6248 * lisp.h (Flooking_at): Declare.
6249
388ac098
GM
62502000-11-09 Gerd Moellmann <gerd@gnu.org>
6251
778fbc46 6252 * dired.c (directory_files_internal): Fix a braino.
52283633 6253
388ac098
GM
6254 * dired.c (directory_files_internal): Add missing GCPRO's.
6255 Some cleanup.
6256
ecaedde1
GM
62572000-11-08 Gerd Moellmann <gerd@gnu.org>
6258
f7eb32aa
GM
6259 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6260 (resize_mini_window): Return quickly if Vresize_mini_window is
6261 nil. Don't return if Vmax_mini_window_height is nil.
6262
6263 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6264 (syms_of_xdisp): Initialize them.
6265 (resize_mini_window): Act according to the setting of
6266 Vresize_mini_window.
6267 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6268
ecaedde1
GM
6269 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6270 scroll bar widget after configuring it, so that it will appear at
6271 the right position from the start.
6272 (XTredeem_scroll_bar): Cleaned up.
6273
3747ef2c
KH
62742000-11-08 Kenichi Handa <handa@etl.go.jp>
6275
6276 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6277 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6278 division by two.
6279
6280 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6281
03391420
DL
62822000-11-07 Dave Love <fx@gnu.org>
6283
7758f1c1 6284 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6285
6286 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6287
b5de343d
GM
62882000-11-07 Gerd Moellmann <gerd@gnu.org>
6289
acad3c0b
GM
6290 * window.c (Fset_window_configuration): Don't try to preserve
6291 point in the current buffer, if that buffer is displayed in more
6292 than one window.
6293
b5de343d
GM
6294 * xfaces.c (lookup_named_face): If default face isn't realized,
6295 try to realize it. Return -1 if not successful.
6296 (Fx_list_fonts): Handle case that face cannot be determined.
6297 (Fface_font): Likewise.
6298
cdb1fe49
GM
62992000-11-06 Gerd Moellmann <gerd@gnu.org>
6300
6301 * window.c (displayed_window_lines): Detect partially
6302 visible lines at the bottom correctly.
6303
d3a67486
SM
63042000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6305
6306 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6307 when ensuring we don't do visit in indirect buffer.
6308
ff8dd5d5
KH
63092000-11-06 Kenichi Handa <handa@etl.go.jp>
6310
6311 * composite.h (compose_chars_in_text): Add prototype.
6312
6313 * composite.c (Vcomposition_function_table): New variable.
6314 (Qcomposition_function_table): New variable.
6315 (run_composition_function): Call
6316 Vcompose_chars_after_function with three arguments.
6317 (compose_chars_in_text): New function.
6318 (syms_of_composite): Modified the doc-string of
6319 Vcompose_chars_after_function. Declare composition-function-table
6320 as a lisp variable, and initialize it.
6321
6322 * xfns.c (x_encode_text): Suppress producing escape sequences for
6323 composition.
6324
6325 * xselect.c: Include composite.h.
6326 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6327
d1145f85
AI
63282000-11-05 Andrew Innes <andrewi@gnu.org>
6329
6330 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6331
6332 * sysdep.c (read_input_waiting): Remove extraneous argument to
6333 read_socket_hook.
6334
6335 * w32fns.c (Fx_server_version): Include w32_build_number in the
6336 return list.
6337
6338 * w32heap.c (w32_build_number): New variable.
6339 (cache_system_info): Set it.
6340
6341 * w32heap.h (w32_build_number): Add extern.
6342
6343 * emacs.c (syms_of_emacs): Update docstring for
6344 system-configuration, to reflect the actual usage on MS-Windows.
6345
e85ee976
GM
63462000-10-31 Gerd Moellmann <gerd@gnu.org>
6347
26dcb81b
GM
6348 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6349 process idle timers while waiting for another event.
6350
52283633 6351 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6352 the default face are colored.
6353
e85ee976
GM
6354 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6355 window height hasn't changed.
6356
01b220b6
JR
63572000-10-31 Jason Rumney <jasonr@gnu.org>
6358
6359 * w32term.c (x_produce_glyphs): Handle composite characters.
6360 (x_draw_glyph_string_foreground)
6361 (x_draw_composite_glyph_string_foreground): Restore old font.
6362
4e6b7204
MB
63632000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6364
6365 * minibuf.c (read_minibuf): Reset the undo history just before
6366 starting the recursive-edit.
6367
d4358b37
GM
63682000-10-30 Gerd Moellmann <gerd@gnu.org>
6369
563f68f1
GM
6370 * xfaces.c (menu_face_change_count): New variable.
6371 (Finternal_set_lisp_face_attribute): Increment it for changes
6372 of the `menu' face.
6373 (realize_basic_faces): Reflect changes in the `menu' faces
6374 in menu bars.
6375
82e274d1
GM
6376 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6377 dy obtained from the iterator's y-position after moving from
6378 scroll_margin_pos to PT; see comment there.
52283633 6379
0dbf9fd2
GM
6380 * xdisp.c (safe_eval_handler): Call add_to_log.
6381
906b3b14
GM
6382 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6383 is not a symbol or string.
6384
d4358b37
GM
6385 * xdisp.c (echo_area_display): Don't perform a display update from
6386 inside redisplay. The update will happen anyway at the end of
6387 redisplay, and it can confuse redisplay (GC messages while
6388 redisplaying, for instance.)
6389
70c825df
SM
63902000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6391
cf9b4b0b
SM
6392 * xrdb.c (x_load_resources): Use the class name in the defaults.
6393
70c825df
SM
6394 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6395 (regex_compile): Catch bogus \(\1\).
6396
a1d34b1e
GM
63972000-10-30 Gerd Moellmann <gerd@gnu.org>
6398
cae71efe
GM
6399 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6400 RGB values.
52283633 6401
35efe0a1
GM
6402 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6403 we have a color cache, check that the cached color equals the
6404 allocated color. If not, clear the color cache.
6405
1d3baf74
GM
6406 * window.c (displayed_window_lines): Change buffers if necessary.
6407 Fix computation of displayed lines.
6408
a1d34b1e
GM
6409 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6410 update_menu_bindings to DEFVAR_BOOL.
6411
70737ea9
KH
64122000-10-30 Kenichi Handa <handa@etl.go.jp>
6413
70c825df 6414 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6415
fa0cb51d
KH
6416 * puresize.h (BASE_PURESIZE): Increase to 680000.
6417
70737ea9
KH
6418 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6419
0e4c08e8
JR
64202000-10-29 Jason Rumney <jasonr@gnu.org>
6421
6422 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6423
6424 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6425 (w32_cache_char_metrics): Handle possibility that 'x' does not
6426 exist in a BDF font.
6427 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6428
6429 * w32bdf.h (bdffont): Add nchars.
6430
6431 * w32bdf.c (set_bdf_font_info): Set it.
6432 (w32_BDF_TextOut): Swap byte order of double byte characters.
6433 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6434
45b84006
EZ
64352000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6436
6437 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6438 don't override the colors in frame's param_alist, unless they are
6439 unspecified.
6440
6441 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6442 reverse the effect of the highlight flag.
6443
caf9deee
KR
64442000-10-27 Ken Raeburn <raeburn@gnu.org>
6445
6446 * window.h (Fwindow_live_p): Declare.
6447
ae0b9b46
KR
6448 * undo.c (record_delete): Check that last_undo_buffer is really a
6449 buffer before applying XBUFFER to it.
6450
6451 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6452 Faref.
6453
02067692
SM
64542000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6455
6456 * lisp.h (KEYMAPP): New macro.
6457 (get_keymap): Remove.
6458 (get_keymap_1): Rename get_keymap.
6459
6460 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6461
6462 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6463
6464 * xmenu.c (single_submenu): Use KEYMAPP.
6465 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6466 Use KEYMAPP rather than Fkeymapp.
6467
6468 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6469
6470 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6471 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6472 Use KEYMAPP rather than Fkeymapp.
6473 (single_submenu): Use KEYMAPP.
6474 (w32_menu_show, w32_dialog_show): Use TRUE.
6475
6476 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6477
6478 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6479 (Fkeymapp): Use KEYMAPP.
6480 (get_keymap): Rename from get_keymap_1. Remove old def.
6481 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6482 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6483 (Fminor_mode_key_binding): Don't raise an error if the binding
6484 is not a keymap.
6485 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6486 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6487
6488 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6489 Allow Vspecial_event_map to be autoloaded.
6490 (menu_bar_items): Fetch the keymap rather than using keymapp.
6491 (menu_bar_one_keymap): No need to follow func-indirect any more.
6492 (parse_menu_item): get_keymap_1 -> get_keymap.
6493 (tool_bar_items): Fetch the keymap rather than using keymapp.
6494 (read_key_sequence): Use KEYMAPP.
6495
6496 * intervals.c (get_local_map): Use get_keymap rather than following
6497 function-indirections explicitly.
6498
6499 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6500
f9d80af3
JR
65012000-10-27 Jason Rumney <jasonr@gnu.org>
6502
6503 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6504 point, as Windows has oversized fonts.
6505
6506 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6507
a3ba27da
GM
65082000-10-27 Gerd Moellmann <gerd@gnu.org>
6509
6510 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6511 (freehook, reallochook): Handle null pointer arguments.
6512 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6513
aa3b80cc
SM
65142000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6515
6516 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6517 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6518 Giving in to popular pressure to shut up the compiler with casts.
6519
e24e84cc
GM
65202000-10-27 Gerd Moellmann <gerd@gnu.org>
6521
6522 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6523 signed value, and use a default value computed from the font's
6524 maximum descent.
6525
05ea7ef2
MB
65262000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6527
6528 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6529 that specify a negative underline position can still use underlines.
6530
6531 * window.c (Fpos_visible_in_window_p): Make POS default to
6532 WINDOW's point, not the current buffer's point.
6533
0b95284b
DL
65342000-10-26 Dave Love <fx@gnu.org>
6535
6536 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6537 when it's necessary.
6538
6c5b90af
GM
65392000-10-26 Gerd Moellmann <gerd@gnu.org>
6540
8b6d9dc9
GM
6541 * window.c (size_window): Compute size difference from sum of old
6542 child window sizes instead of from parent's size.
6543
6bc92b2e
GM
6544 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6545 Handle obscured lines at the top of the window.
6546
6547 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6548 down after the last error condition check.
6549
6c5b90af
GM
6550 * frame.c (Fdelete_frame): Run delete-frame-hook.
6551
42f92d4d
KH
65522000-10-26 Kenichi Handa <handa@etl.go.jp>
6553
6554 * coding.c (decode_coding): Fix previous change (check also
6555 CODING_MODE_LAST_BLOCK).
6556
d97151cb
SM
65572000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6558
e7efc503
SM
6559 * regex.c: More `unsigned char' -> `re_char' changes.
6560 Also change several `int' into `re_wchar_t'.
6561 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6562 (PUSH_FAILURE_POINTER): Don't cast any more.
6563 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6564 We want GCC to complain, since this piece of code makes
6565 re_match non-reentrant, which *should* be fixed.
6566 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6567 (EXTEND_BUFFER): Use RETALLOC.
6568 (SET_LIST_BIT): Don't cast.
6569 (re_wchar_t): New type.
6570 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6571 that those two functions will always properly return.
6572 (IMMEDIATE_QUIT_CHECK): Cast to void.
6573 (analyse_first): Use recursion rather than an explicit stack.
6574 (re_compile_fastmap): Can't fail anymore.
6575 (re_search_2): Don't check re_compile_fastmap for failure.
6576 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6577 Now also sets the new value (passed in a new argument).
6578 (re_match_2_internal): Use it.
6579 Also, use a new var `reg' of type size_t when looping through regs
6580 rather than reuse the inappropriate `mcnt'.
6581
d97151cb
SM
6582 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6583 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6584 (where_is_internal): Renamed from Fwhere_is_internal.
6585 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6586 (Fwhere_is_internal): New function wrapping where_is_internal.
6587 (where_is_internal_1): Handle the case where we're filling the cache.
6588 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6589
d5789b65
MB
65902000-10-25 Miles Bader <miles@gnu.org>
6591
6592 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6593
4ecda532
GM
65942000-10-25 Gerd Moellmann <gerd@gnu.org>
6595
6596 * window.c (pos_fully_visible_p): Removed.
6597 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6598 if position is visible and/or fully visible.
6599
6600 * lisp.h (pos_visible_p): Add prototype.
6601
6602 * xdisp.c (pos_visible_p): New function.
6603
68c3a137
KH
66042000-10-25 Kenichi Handa <handa@etl.go.jp>
6605
6606 * process.c (send_process): If OBJECT is t, it means that the data
6607 is from C string, but we should encode it. Before calling
6608 setup_raw_text_coding_system, be sure to flush out data by the
6609 previous coding system.
6610
7ae1c032
MB
66112000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6612
ff4dcd4b
MB
6613 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6614 assignment of startpos to prev when startpos == pos.
6615
7ae1c032
MB
6616 * editfns.c (find_field): Set the field stickiness correctly from
6617 overlay fields. Use renamed `text_property_stickiness'.
6618 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6619 Only check text properties, not overlays.
7ae1c032
MB
6620 * textprop.c (get_char_property_and_overlay): New function.
6621 (Fget_char_property): Use it.
6622 * intervals.h (get_char_property_and_overlay): Add declaration.
6623
49801145
SM
66242000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6625
6626 * keymap.c: Use AREF, ASET and ASIZE macros.
6627 (Fmake_sparse_keymap): Docstring fix.
6628 (synkey): Remove.
6629 (shadow_lookup): Move up.
6630 Handle the case where lookup-key returns an integer.
6631 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6632 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6633 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6634 Simplify/rewrite the keymap-finding code.
6635 Add check for command shadowing, using shadow_lookup.
6636
39e776cd
SM
66372000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6638
6639 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6640 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6641 a symbol.
6642
2488aba5
AI
66432000-10-24 Andrew Innes <andrewi@gnu.org>
6644
6645 * dired.c (directory_files_internal_unwind): New function.
6646 (directory_files_internal): Use it to ensure closedir is called
6647 even if expand-file-name or file-attributes throw, eg. because of
6648 a user interrupt. Also enable immediate_quit while calling
6649 re_search, so that matching can be interrupted as well.
6650
b94fdf61
AI
66512000-10-24 Andrew Innes <andrewi@gnu.org>
6652
6653 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6654 NT-Emacs only.
6655 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6656 so that re_search functions only quit when callers expect them to.
6657
66582000-10-24 Kenichi Handa <handa@etl.go.jp>
6659
6660 * regex.c (regex_compile): Change the way of handling a range from
6661 a char less than 256 to a char not less than 256.
6662
1946f901
GM
66632000-10-24 Gerd Moellmann <gerd@gnu.org>
6664
7ae2f10f
GM
6665 * window.c (size_window): Prevent setting window's width or
6666 height to a negative value (esp. with XSETFASTINT).
6667
5dcab13e
GM
6668 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6669 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6670 (protect_malloc_state) [GC_MALLOC_CHECK &&
6671 GC_PROTECT_MALLOC_STATE]: New function.
6672 (PROTECT_MALLOC_STATE): New macro.
6673 (__malloc_initialize, morecore, _malloc_internal)
6674 (_free_internal) _realloc_internal): Use it to make _heapinfo
6675 read-only outside of gmalloc.
6676
63e1b552
GM
6677 * keymap.c: Update copyright.
6678
1946f901
GM
6679 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6680 a symbol.
6681
4fa09beb
GM
66822000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6683
6684 * filelock.c (unlock_all_files): Use unlock_file to expand each
6685 buffer's file_truename before trying remove its lock file.
6686
23afac01
EZ
66872000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6688
6689 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6690 or CRLF, decode EOLs.
6691
04448b95
KH
66922000-10-24 Kenichi Handa <handa@etl.go.jp>
6693
6694 * window.c (Fdisplay_buffer): Fix doc.
6695
3090a5a5
JR
66962000-10-23 Jason Rumney <jasonr@gnu.org>
6697
6698 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6699 ASCII font of default fontset on Windows.
6700
6701 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6702 xterm.c comment below).
6703
6704 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6705
a83fee2c
GM
67062000-10-23 Gerd Moellmann <gerd@gnu.org>
6707
6708 * xterm.c (x_connection_closed): Reset handling_signal.
6709
52283633 6710 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6711
6ffdb539
MB
67122000-10-23 Miles Bader <miles@gnu.org>
6713
6714 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6715 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6716 maintain old behavior.
6717 * minibuf.c (Fminibuffer_complete): Likewise.
6718
7f1c969b
MB
67192000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6720
6721 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6722 that when a font can't be exactly centered, it errs up rather than
6723 down.
6724
23afac01 67252000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6726
52283633 6727 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6728
1a578e9b
AC
67292000-10-23 Andrew Choi <akochoi@i-cable.com>
6730
6731 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6732
6733 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6734 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6735
6736 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6737 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6738 syms_of_search, x_term_init, and init_keyboard before calling
6739 init_window_once. Also, call syms_of_xmenu.
6740
6741 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6742 default fontset to Monaco.
6743
6744 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6745 NewMacWindow and DisposeMacWindow.
6746 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6747 instead of calling NewMacWindow and setting fields of
6748 f->output_data.mac directly. Call init_frame_faces.
6749 (Fdelete_frame) [macintosh]: Remove unused code.
6750 (Fmodify_frame_parameters) [macintosh]: Call
6751 x_set_frame_parameters instead of mac_set_frame_parameters.
6752
6753 * frame.h [macintosh]: Define menu_bar_lines field in struct
6754 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6755
6756 * keyboard.c [macintosh]: Include macterm.h.
6757 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6758 and menu_bar_activate_event type events as for X and NT.
6759 (make_lispy_event) [macintosh]: Construct lisp events of type
6760 MENU_BAR_EVENT as for X and NT.
6761
6762 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6763 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6764 (sys_subshell) [macintosh]: Remove definition entirely.
6765 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6766 Vwindow_system_version here. Remove initialization of
6767 Vx_bitmap_file_path.
6768 (read_input_waiting): Correct the number of parameters passed to
6769 read_socket_hook.
6770 Move all Macintosh functions to mac/mac.c.
6771
6772 * term.c [macintosh]: Include macterm.h.
6773
6774 * window.c [macintosh]: Include macterm.h.
6775
6776 * xdisp.c [macintosh]: Include macterm.h. Declare
6777 set_frame_menubar and pending_menu_activation.
6778 (echo_area_display) [macintosh]: Do not return if terminal frame
6779 is the selected frame.
6780 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6781 Allow only the selected frame to set menu bar.
6782 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6783 calling FRAME_EXTERNAL_MENU_BAR (f).
6784 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6785
6786 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6787 and check_x. Declare XCreateGC. Define x_create_gc and
6788 x_free_gc. Initialize font_sort_order.
6789 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6790 but call x_list_fonts instead of w32_list_fonts.
6791 (Finternal_face_x_get_resource) [macintosh]: Do not call
6792 display_x_get_resource.
6793 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6794 (realize_x_face) [macintosh]: Load the font if it is specified in
6795 ATTRS.
52283633 6796 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6797
1ffbabe3
SM
67982000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6799
6800 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6801 is nil: since we go to the end of submap anyway, we'd end up
6802 setting nil to nil.
6803 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6804 doesn't obey autoload.
6805
bed43f1d
EZ
68062000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6807
1ffbabe3 6808 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6809
ea4233a7
JR
68102000-10-21 Jason Rumney <jasonr@gnu.org>
6811
6812 * w32term.c (w32_cache_char_metrics): Double check that font is
6813 really fixed pitch before trusting tmPitchAndFamily.
6814
f3d3c491
AI
68152000-10-21 Andrew Innes <andrewi@gnu.org>
6816
6817 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6818
6819 * w32term.h: Extern decl for w32_cache_char_metrics.
6820
6821 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6822
6823 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6824 (w32_unload_font): Free per_char array if present.
6825
6826 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6827 cached information in emulated XFontStruct to handle common cases
6828 quickly. Do not allocate XCharStruct for return.
6829 (w32_native_per_char_metric): New function.
6830 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6831 allocating one.
6832 (x_produce_glyphs): Don't get an HDC. Change calls to
6833 w32_per_char_metric to match arg change above. Remove calls to
6834 free results.
6835 (w32_get_glyph_overhangs): Ditto.
6836 (w32_cache_char_metrics): New function.
6837
6838 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6839 ($(BLD)/casefiddle.$(O)): Remove compile command.
6840 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6841 ($(BLD)/dispnew.obj):
6842 ($(BLD)/keyboard.obj):
6843 ($(BLD)/w32inevt.obj):
6844 ($(BLD)/w32bdf.obj):
6845 ($(BLD)/alloc.obj):
6846 ($(BLD)/buffer.obj):
6847 ($(BLD)/editfns.obj):
6848 ($(BLD)/emacs.obj):
6849 ($(BLD)/fileio.obj):
6850 ($(BLD)/fns.obj):
6851 ($(BLD)/indent.obj):
6852 ($(BLD)/insdel.obj):
6853 ($(BLD)/intervals.obj):
6854 ($(BLD)/minibuf.obj):
6855 ($(BLD)/print.obj):
6856 ($(BLD)/scroll.obj):
6857 ($(BLD)/sysdep.obj):
6858 ($(BLD)/textprop.obj):
6859 ($(BLD)/widget.obj):
f3d3c491
AI
6860 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6861 ($(BLD)/term.obj): Add dependency on dispextern.h.
6862
52283633
SM
6863 * makefile.nt ($(BLD)\dispnew.obj):
6864 ($(BLD)\keyboard.obj):
6865 ($(BLD)\w32inevt.obj):
6866 ($(BLD)\w32bdf.obj):
6867 ($(BLD)\alloc.obj):
6868 ($(BLD)\buffer.obj):
6869 ($(BLD)\editfns.obj):
6870 ($(BLD)\emacs.obj):
6871 ($(BLD)\fileio.obj):
6872 ($(BLD)\fns.obj):
6873 ($(BLD)\indent.obj):
6874 ($(BLD)\insdel.obj):
6875 ($(BLD)\intervals.obj):
6876 ($(BLD)\minibuf.obj):
6877 ($(BLD)\print.obj):
6878 ($(BLD)\scroll.obj):
6879 ($(BLD)\sysdep.obj):
6880 ($(BLD)\textprop.obj):
6881 ($(BLD)\widget.obj):
f3d3c491
AI
6882 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6883 ($(BLD)\term.obj): Add dependency on dispextern.h
6884
18ad4821
EZ
68852000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6886
6887 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6888 with an additional argument of Qt.
6889
de54681a
MB
68902000-10-21 Miles Bader <miles@gnu.org>
6891
6892 * window.c (pos_fully_visible_in_window_p): New function.
6893 (Fpos_visible_in_window_p): Add FULLY argument.
6894 Use pos_fully_visible_in_window_p.
6895 (window_scroll_pixel_based, window_scroll_line_based): Update
6896 calls to Fpos_visible_in_window_p.
6897 * lisp.h (Fpos_visible_in_window_p): Update prototype
6898
13c844fb
GM
68992000-10-20 Gerd Moellmann <gerd@gnu.org>
6900
6901 * alloc.c (toplevel): Conditionalize compilation of mem_*
6902 functions differently.
52283633 6903
d9506268
JR
69042000-10-20 Jason Rumney <jasonr@gnu.org>
6905
6906 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6907 mem_init where it used to be. mem_z etc not defined otherwise.
6908
8094989b
GM
69092000-10-20 Gerd Moellmann <gerd@gnu.org>
6910
6911 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6912 GC_MALLOC_CHECK.
6913 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6914 structure definition and related variabled to the top of the file.
6915 Include this code when GC_MALLOC_CHECK is defined.
6916 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6917 register/unregister allocated region.
6918 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6919 which isn't allocated.
6920 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6921 something which is already in use.
6922 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6923 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6924 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6925 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6926
6927 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6928 _malloc_internal instead of malloc.
6929 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6930 of free.
6931
ea456eb4
AI
69322000-10-20 Andrew Innes <andrewi@gnu.org>
6933
6934 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6935 Windows.
6936 (my_strftime) <macro>: Don't use macro arg list when redefining as
6937 _strftime_copytm.
6938 (my_strftime) <function>: Supply 0 as ut argument.
6939
e64c3a75
JR
69402000-10-19 Jason Rumney <jasonr@altavista.net>
6941
6942 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6943 including dispextern.h, as it stops faces from working.
6944
6945 * w32fns.c (Fx_create_frame): Don't bother calling
6946 face-set-after-frame-default since the caller does it for us
6947 anyway. Clean up calls to x_get_arg to be consistent with X.
6948
6949 * w32term.c (x_produce_glyphs): Handle
6950 unibyte_display_via_language_environment correctly.
6951 (w32_draw_box_rect): Fix the calculation of width and height.
6952
6953 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6954 as it has stopped working.
6955 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6956 menu-bar.
6957
17401c97
GM
69582000-10-19 Gerd Moellmann <gerd@gnu.org>
6959
6960 * eval.c (skip_debugger): Prevent a compiler warning.
6961 (Fcondition_case): Likewise.
6962 (Fbacktrace_frame): Use a null interactive spec.
6963
773272d8
KH
69642000-10-19 Kenichi Handa <handa@etl.go.jp>
6965
6966 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6967
a42943e9
GM
69682000-10-18 Gerd Moellmann <gerd@gnu.org>
6969
e50517d9
GM
6970 * strftime.c: Sync with glibc, file version 1.78.
6971 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6972 should no longer be used according to ISO 8601.
6973
9035a35a
GM
6974 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6975 no map for meta_prefix_char, don't try to use it as a keymap.
6976 Instead, if T_OK is non-zero, look up a default binding, if any,
6977 otherwise, if T_OK is zero, return nil.
6978
a42943e9
GM
6979 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6980 (x_to_xcolors, png_load): Use x_query_color.
6981
52283633
SM
6982 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6983 New functions.
a42943e9
GM
6984 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6985 which can be slow.
6986 (x_copy_color, x_alloc_lighter_color): Likewise.
6987
6988 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6989 (x_query_color, x_query_colors): Add prototype.
6990
6991 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6992 check_string_bytes only if not noninteractive, increase count to 50.
6993
00de2987
MB
69942000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6995
6996 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6997 markers correctly.
6998
54918e2b
GM
69992000-10-17 Gerd Moellmann <gerd@gnu.org>
7000
1f0b3fd2
GM
7001 * alloc.c (pure_bytes_used): Renamed from pureptr.
7002 (ALIGN): New macro.
7003 (pure_alloc): New function.
7004 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7005 Use it.
7006 (Fpurecopy): Use PURE_POINTER_P.
7007
68c5d1db
GM
7008 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7009 PT has moved backward.
52283633 7010
9a038881
GM
7011 * xdisp.c (cursor_row_p): Take continued lines into account.
7012
361b097f
GM
7013 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7014 string's size_byte.
7015 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7016 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7017 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7018 string allocated.
7019
54918e2b
GM
7020 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7021 of selective display off while searching for the next line start.
7022
03ed0806
KH
70232000-10-17 Kenichi Handa <handa@etl.go.jp>
7024
7025 * Makefile.in (term.o): Depend on dispextern.h.
7026
7e05cdaf
SM
70272000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7028
7029 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7030
a6801fd1
GM
70312000-10-16 Gerd Moellmann <gerd@gnu.org>
7032
483de32b
GM
7033 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7034 the iterator at the beginning, so that they can be set later on,
7035 for instance in reseat_at_next_visible_line_start, without being
7036 overwritten.
7037
a6801fd1
GM
7038 * xfns.c (pbm_format): Add :foreground and :background keywords.
7039 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7040 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7041
dbf1fcc1
EZ
70422000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7043
7044 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7045
52283633 7046 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7047
7048 * msdos.c (IT_set_face): Compare highlighted face with the default
7049 face, and invert colors if these faces' colors are identical.
7050 (Fmsdos_remember_default_colors): Don't swap foreground and
7051 background colors in initial_colors[].
7052 (IT_set_frame_parameters): Don't swap frame's foreground and
7053 background pixels. If ALIST includes "(reverse . t)", swap
7054 foreground-color and background-color properties in frame's
7055 param_alist. If the original frame's param_alist doesn't specify
7056 the colors, store unspecified-fg and unspecified-bg, reversed if
7057 required.
7058
7059 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7060 the colors are unspecified and reversed, reverse fore- and back-
7061 ground in the returned value.
7062 (Fframe_parameter): Ditto.
7063
b41fe2c3 70642000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7065
3a6b59d9
GM
7066 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7067 get_last_unchanged_at_beg_row.
7068 (find_first_unchanged_at_end_row): Renamed from
7069 get_first_unchanged_at_end_row.
7070 (find_first_unchanged_at_end_row): Convert assertions to
7071 unconditional tests which abort. When looking for a row in
7072 unchanged text, don't go further back than first_text_row.
7073
b41fe2c3
GM
7074 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7075 Don't add in the last line's height when deciding if the new
7076 position is below the scroll margin.
9d1af64f 7077
b41fe2c3 70782000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7079
7080 * editfns.c (Fconstrain_to_field): Check carefully for field
7081 boundaries if either OLD_POS or NEW_POS has a non-nil field
7082 property, even if they're the same.
7083
c412cb7b
KH
70842000-10-16 Kenichi Handa <handa@etl.go.jp>
7085
7086 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7087 height for XFillRectangle.
7088
5586f3eb
SM
70892000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7090
7091 * syntax.c (Fstring_to_syntax): New function extracted from
7092 Fmodify_syntax_entry.
7093 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7094 (skip_chars, Fforward_comment): Remove unused variables.
7095 (syms_of_syntax): Add defsubr for string-to-syntax.
7096 (describe_syntax): Add code for comment and string fences.
7097
db785038
SM
70982000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7099
7100 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7101 Do the meta->esc mapping. Call get_keyelt before returning.
7102 Start scanning from the second element (the first is always `keymap')
7103 to make it easier to detect when we reach a parent map.
7104 Handle the case of inheriting from a symbol whose function is a map.
7105 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7106 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7107 (get_keyelt, Flookup_key): Update call to access_keymap.
7108 Remove the meta->esc mappings.
7109 (define_as_prefix): Delete old disabled code.
7110 (menu_item_p): New function.
7111 (where_is_internal_1): Skip over the few remaining menu items.
7112 * lisp.h (access_keymap): Update prototype.
7113 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7114 Update call to access_keymap.
7115 (follow_key, read_key_sequence): Update calls to access_keymap.
7116 Remove the meta->esc mappings.
7117
cafafe0b
GM
71182000-10-13 Gerd Moellmann <gerd@gnu.org>
7119
a2e2a7f6
GM
7120 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7121 with additional argument.
7122
cafafe0b
GM
7123 * xdisp.c (cursor_row_p): New function.
7124 (try_cursor_movement, display_line): Use it.
52283633 7125
cafafe0b
GM
7126 * xdisp.c (append_space): Also save/restore iterator's current
7127 character and its length.
7128
7129 * xdisp.c (init_from_display_pos): Add an assertion.
7130 (handle_stop): Don't set iterator's add_overlay_start.
7131 (handle_invisible_prop): Likewise.
7132 (load_overlay_strings): If text under an overlay is invisible,
7133 take both before- and after-strings into account when the iterator
7134 is positioned either at the start or at the end of the overlay.
7135 (forward_to_next_line_start): Rewritten.
7136 (reseat_at_next_visible_line_start): Rewritten.
7137 (set_iterator_to_next): Add parameter RESEAT_P.
7138
7139 * dispextern.h (struct it): Remove member add_overlay_start.
7140 (set_iterator_to_next): Change prototype.
7141
c744452b
KH
71422000-10-13 Kenichi Handa <handa@etl.go.jp>
7143
7144 * coding.c (code_convert_region): Be sure to initialize
7145 coding->category_idx.
e4a3f4e1
KH
7146 (decode_coding_string): Set coding->src_multibyte and
7147 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7148 (encode_coding_string): Set coding->src_multibyte and
7149 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7150
321fd26f
SM
71512000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7152
7153 * xfns.c (Fx_create_frame): Don't bother calling
7154 face-set-after-frame-default since the caller does it for us anyway.
7155
76832439
EZ
71562000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7157
7158 * window.c (coordinates_in_window): Fix detection of vertical line
7159 on character terminals.
7160
2483cf58
GM
71612000-10-12 Gerd Moellmann <gerd@gnu.org>
7162
7163 * editfns.c (save_excursion_save): Additionally record the
7164 selected window.
7165 (save_excursion_restore): If buffer was visible in a window, and a
7166 different window was selected, and the old selected window is
7167 still live, restore point in that window.
7168
eb991b25
KH
71692000-10-12 Kenichi Handa <handa@etl.go.jp>
7170
8a0eba09
KH
7171 * xterm.c (x_produce_glyphs): Handle
7172 unibyte_display_via_language_environment correctly.
7173
20401fcc
KH
7174 * regex.c (regex_compile): Change the way of handling a range from
7175 unibyte char to multibyte char.
7176
7177 * syntax.c (skip_chars): Change the way of handling a range from
7178 unibyte char to multibyte char.
7179
eb991b25
KH
7180 * process.c (read_process_output): Cancel previous change.
7181
365dd325
EZ
71822000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7183
c1b096cb
EZ
7184 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7185
365dd325
EZ
7186 * charset.c (Ffind_charset_string): Doc fix.
7187 (Ffind_charset_region): Doc fix.
7188
eb483c2b
KH
71892000-10-11 Kenichi Handa <handa@mule.m17n.org>
7190
7191 * process.c (read_process_output): Fix previous change. Adjust
7192 multibyteness of text to insert in a buffer by
52283633 7193 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7194
b40bfb99
AS
71952000-10-10 Andreas Schwab <schwab@suse.de>
7196
7197 * alloc.c (mark_object): Remove all workarounds installed on
7198 1993-08-08.
7199
caff31d4
KH
72002000-10-10 Kenichi Handa <handa@etl.go.jp>
7201
52283633 7202 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7203 (base64_encode_1): Make it work for a text of multibyte form.
7204 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7205 case. Don't call str_to_multibyte because base64_decode_1
7206 produces correct multibyte form for eight-bit codes.
52283633 7207 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7208 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7209 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7210 codes.
7211
7212 * charset.h (CHAR_STRING): Optimized for single byte characters.
7213
cba026ef
AS
72142000-10-09 Andreas Schwab <schwab@suse.de>
7215
7216 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7217 -1 after socket is closed, to fall through to error processing.
7218
1e21fe48
EZ
72192000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7220
7221 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7222 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7223 background-color, change also the colors of the default face for
7224 this frame.
7225
a640322e
EZ
72262000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7227
7228 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7229 them extern (they are defined on xfaces.c).
7230 (syms_of_msdos): Don't intern and don't staticpro
7231 Qbackground_color and Qforeground_color.
7232
a115794c
EZ
72332000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7234
7235 * frame.c (Fframe_parameter): For non-windowed frames, if
7236 f->param_alist says foreground or background color is unspecified,
7237 call tty_color_name to return the color name computed from the
7238 frame's current colors.
7239
f5533b63
DL
72402000-10-06 Dave Love <fx@gnu.org>
7241
7242 * terminfo.c (ospeed): Don't declare.
7243
7244 * sysdep.c: Don't include string.h.
7245 (h_errno): Declare conditional also on TRY_AGAIN.
7246
7247 * charset.c (Ffind_charset_string): Doc fix.
7248
52283633 7249 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7250 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7251 error messages.
7252
2b06561a
DL
72532000-10-05 Dave Love <fx@gnu.org>
7254
7255 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7256 position like menu-bar.
7257
ca839c85
GM
72582000-10-05 Gerd Moellmann <gerd@gnu.org>
7259
7260 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7261
7262 * xdisp.c (handle_single_display_prop): Use safe_call1.
7263 (safe_call): Renamed from call_function.
7264 (safe_call1): New function.
7265 (handle_fontified_prop): Use safe_call1 instead of call1.
7266 (safe_eval): Renamed from eval_form.
7267 (safe_eval_handler): Renamed from eval_handler.
7268 (handle_single_display_prop, display_mode_element): Use safe_eval
7269 instead of eval_form.
7270
7271 * xfaces.c (merge_face_heights): Use safe_call instead of
7272 call_function.
7273
7274 * keyboard.c (show_help_echo): Use safe_call instead of
7275 call_function; use safe_eval instead of eval_form.
7276
7277 * lisp.h (safe_call): Renamed from call_function.
7278 (safe_eval): Renamed from eval_form.
7279 (safe_call1): Add prototype.
7280
a3489ece
MB
72812000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7282
7283 * xfns.c (image_ascent): Rearrange ascent calculation for the
7284 has-a-font case.
7285
35810b6f
SM
72862000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7287
7288 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7289 (where_is_internal_1): Don't bother ignoring menu-items any more.
7290
3dc78168
GM
72912000-10-04 Gerd Moellmann <gerd@gnu.org>
7292
7293 * keyboard.c (update_menu_bindings): New variable.
7294 (parse_menu_item): Use AREF. If update_menu_bindings
7295 is 0, don't update menu bindings.
7296 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7297
1efc2bb9
EZ
72982000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7299
7300 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7301 to `mark_object'.
7302
3f679f55
SM
73032000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7304
7305 * syntax.c (forw_comment): Match nestedness of ender/starter.
7306 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7307 (prev_char_comstart_first): Remove.
7308 (back_comment): Check two-char comment markers more carefully
7309 to better handle overlapping cases like *//* or /* */* */ ...
7310 Match nestedness of ender/starter.
7311
2021ab61
DL
73122000-10-02 Dave Love <fx@gnu.org>
7313
7314 * config.in (HAVE_GAI_STRERROR): Add undef.
7315
7316 * process.c (Fopen_network_stream): Use it.
7317
7318 * m/alpha.h (NO_REMAP): Don't define.
7319
64e6cc18
GM
73202000-10-02 Gerd Moellmann <gerd@gnu.org>
7321
7322 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7323 return with a string converted to an integer or vice versa when
7324 Vmocklisp_arguments is t.
7325 (Fsignal): Likewise. The function can return for `quit'.
7326 (struct gcpro): Declare member `var' to point to a volatile
7327 Lisp_Object.
7328
7329 * eval.c (error): Prevent compiler warning.
7330
b1904cd9
SM
73312000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7332
7333 * keymap.c (keymap_memberp): New function.
7334 (Fset_keymap_parent): Use it.
7335 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7336 Use keymap_memberp to avoid creating cycles.
7337 (access_keymap): Use KEYMAPP.
7338
71c9ec51
GM
73392000-09-30 Gerd Moellmann <gerd@gnu.org>
7340
7341 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7342 gai_strerror. Make sure xerrno is set if connect fails. Improve
7343 error recovery.
71c9ec51 7344
c70c6b58
JR
73452000-09-29 Jason Rumney <jasonr@gnu.org>
7346
7347 * w32term.c (w32_char_font_type, w32_encode_char)
7348 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7349 (w32_bdf_per_char_metric): New function.
7350 (w32_per_char_metric): Use it.
7351 (x_draw_glyph_string_background): Always draw background for BDF
7352 glyphs.
7353
7354 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7355 GDI object which is a scarce resource.
7356
7357 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7358 (get_quoted_string): Fix limit on memchr search.
7359 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7360 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7361 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7362 (get_cached_font_char, cache_char_offset): Use macro
7363 BDF_CODEPOINT_RANGE_COVER_P.
7364 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7365 (clear_cached_bitmap_slots): New function.
7366 (GET_HEX_VALUE): G-Z, g-z are not hex.
7367 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7368 (get_bitmap_with_cache): Use new cache implementation.
7369 (create_offscreen_bitmap): New function.
7370 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7371
7372 * w32term.c (x_produce_glyphs): If the distance from the current
7373 position to the next tab stop is less than a canonical character
7374 width, use the tab stop after that.
7375 (x_draw_glyphs): Handle case START and END are out of bounds more
7376 carefully.
7377 (x_clear_mouse_face): Block/unblock input.
7378 (x_display_and_set_cursor): Don't show a hollow box cursor for
7379 buffers whose cursor_type is nil.
7380
fe01239f
GM
73812000-09-29 Gerd Moellmann <gerd@gnu.org>
7382
52283633 7383 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7384
7385 * dispextern.h (updating_frame): Declare extern.
7386
e7c52f1f
AS
73872000-09-29 Andreas Schwab <schwab@suse.de>
7388
7389 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7390
de6e1f7c
GM
73912000-09-29 Gerd Moellmann <gerd@gnu.org>
7392
25126faa
GM
7393 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7394 use its function definition.
7395 (tool_bar_items): Likewise.
7396
de6e1f7c 7397 * lisp.h (fatal): Declare NO_RETURN.
52283633 7398
454ee39b
KH
73992000-09-29 Kenichi Handa <handa@etl.go.jp>
7400
7401 * keymap.c: Remove the line "#undef NULL".
7402
96301c5f
GM
74032000-09-28 Gerd Moellmann <gerd@gnu.org>
7404
52283633 7405 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7406
efffeeb4
DL
74072000-09-28 Dave Love <fx@gnu.org>
7408
ecb8b666
DL
7409 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7410
dc3cd20f
DL
7411 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7412
7413 * .gdbinit (xreload): Note its need on GNU/Linux.
7414
efffeeb4
DL
7415 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7416 r_alloc, r_alloc_free.
7417
8610d903
KH
74182000-09-28 Kenichi Handa <handa@etl.go.jp>
7419
7420 * syntax.c (skip_chars): Handle negation correctly.
7421
8901d1ac
GM
74222000-09-27 Gerd Moellmann <gerd@gnu.org>
7423
6f22f1ad
GM
7424 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7425 with non-zero FORCE_P argument.
7426
52283633 7427 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7428 Add assertions.
7429
7430 * xdisp.c (window_box_height): Add an assertion.
7431
7432 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7433 tool-bar than is available.
7434 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7435
36f1966f
DL
74362000-09-27 Dave Love <fx@gnu.org>
7437
efffeeb4 7438 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7439
31d929e5
GM
74402000-09-26 Gerd Moellmann <gerd@gnu.org>
7441
c98863bf
GM
7442 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7443 instead of BITS_PER_INT.
7444 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7445 EMACS_UINT, respectively.
7446 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7447
7448 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7449
7450 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7451
77072ab1
GM
7452 * window.c (freeze_window_starts): Construct last argument for
7453 foreach_window differently.
7454
7455 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7456
7457 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7458 EMACS_UINT instead of `int' and `unsigned int'.
7459 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7460
7461 * frame.h (struct frame): Make the `nothing' member of union
7462 output_data an EMACS_INT.
7463
52283633 7464 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7465 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7466 size in the sdata structure.
7467 (SDATA_NBYTES, SDATA_DATA): New macros.
7468 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7469 differently for the different layout of the sdata structure.
7470 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7471 in sdata.
7472 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7473 Check that size recorded in the string size and size recorded in
7474 the sdata structure agree.
7475
3e60b029
DL
74762000-09-25 Dave Love <fx@gnu.org>
7477
7478 * buffer.c: Include stdio.h.
7479
7480 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7481
3e60b029
DL
7482 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7483
7484 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7485 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7486 (__malloc_extra_blocks): Declare as __malloc_size_t.
7487
8ff16b4e
GM
74882000-09-25 Gerd Moellmann <gerd@gnu.org>
7489
755a2ccd
GM
7490 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7491
d8b4516f
GM
7492 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7493 (read_char): If help-echo is showing, preserve the echo area
7494 when redisplaying.
7495
7496 * xdisp.c (help_echo_showing_p): New variable.
7497 (set_message): Reset it to 0.
7498 (init_xdisp): Initialize help_echo_showing_p.
7499
7500 * dispextern.h (help_echo_showing_p): Declare extern.
7501
7502 * config.in: Fix typo in __GNUC_MINOR__.
7503
7504 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7505
b11af2dd
GM
7506 * s/freebsd.h (POSIX_SIGNALS): Define.
7507
8ff16b4e
GM
7508 * xterm.c (x_clear_mouse_face): Block/unblock input.
7509
844eb643
DL
75102000-09-24 Dave Love <fx@gnu.org>
7511
7512 * fns.c (base64_encode_1): Fix last change.
7513
b30ab1b3
GM
75142000-09-22 Gerd Moellmann <gerd@gnu.org>
7515
7516 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7517
7518 * xdisp.c (try_window_reusing_current_matrix): More fixes
7519 for the case window has a header-line.
7520
c6cbe5f0
DL
75212000-09-22 Dave Love <fx@gnu.org>
7522
4c7c1f3f
DL
7523 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7524 a doc string.
7525
7526 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7527
c6cbe5f0
DL
7528 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7529
550a625e
GM
75302000-09-21 Gerd Moellmann <gerd@gnu.org>
7531
4c7c1f3f 7532 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7533 for GCC >= 2.5.
7534
52283633
SM
7535 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7536 Declare NO_RETURN.
fca99116 7537
80d26f99
GM
7538 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7539 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7540 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7541 warnings.
52283633 7542
80d26f99
GM
7543 * marker.c (byte_char_debug_check): Return void.
7544
623a0aae
GM
7545 * xfns.c (Fx_create_frame): Set default frame parameter value
7546 for tool-bar-lines to 1.
7547
7548 * dispnew.c (scrolling_window): Compare y-positions of rows
7549 equal at the start. Some simplification.
7550
7551 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7552 reused rows' y-position in the case window has a header-line, and
7553 new window start is greater than old window start.
7554
42ac0ae5
GM
7555 * process.c (process_sent_to): New variable.
7556 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7557 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7558 Declare more parameters volatile.
7559
550a625e
GM
7560 * lread.c (Vrecursive_load_depth_limit): New variable.
7561 (Fload): Check recursive loads whose recursion depth exceeds
7562 Vrecursive_load_depth_limit.
7563 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7564
8320414c
GM
75652000-09-20 Gerd Moellmann <gerd@gnu.org>
7566
f46c275e
GM
7567 * fileio.c (Fread_file_name): Doc fix.
7568
7569 * editfns.c (Fmessage_or_box): Doc fix.
7570
7571 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7572
b7e11c5b 7573 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7574
8320414c
GM
7575 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7576 symbols are specified, add color translations to the cache.
52283633 7577 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7578 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7579 xpm_cache_color.
7580 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7581 structures to xpm_init_color_cache.
7582
da1608d9
GM
75832000-09-19 Gerd Moellmann <gerd@gnu.org>
7584
52283633 7585 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7586
6badfa25
AI
75872000-09-19 Andrew Innes <andrewi@gnu.org>
7588
7589 * makefile.nt (bootstrap-emacs): Don't change directory.
7590
3a5f42bb
KH
75912000-09-19 Kenichi Handa <handa@etl.go.jp>
7592
1b7649bd
KH
7593 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7594
3a5f42bb
KH
7595 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7596 If output buffer is too small, signal an appropriated error.
7597
9f83cf0b
DL
75982000-09-18 Dave Love <fx@gnu.org>
7599
52283633 7600 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7601 (current_active_maps): Remove redundant get_local_map call.
7602
28c7826c
GM
76032000-09-18 Gerd Moellmann <gerd@gnu.org>
7604
5cefa566
GM
7605 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7606 cursor for buffers whose cursor_type is nil.
52283633 7607
6fed3546
GM
7608 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7609 a feature to implement that is already implemented.
7610 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7611 warnings.
7612
7613 * xfns.c (x_clear_image_1): New function.
7614 (x_clear_image): Use it.
52283633 7615 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7616
05b1f851
GM
7617 * dispnew.c (update_window): Move test for invisible lines
7618 at the top to update_window_line.
7619 (update_window_line): Handle invisible lines here.
7620
f4779de9
GM
7621 * xfns.c (clear_image_cache): Clear current matrices of all
7622 frames sharing an image cache. Block input while freeing
7623 images. Fix timestamp comparison.
7624 (x_clear_image): Also free the mask.
7625
28c7826c
GM
7626 * xfns.c (lookup_image): Block input while loading the image so
7627 that we won't get interrupted in a state where the image isn't yet
7628 set up completely.
7629 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7630 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7631 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7632 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7633
b7412313
GM
76342000-09-16 Gerd Moellmann <gerd@gnu.org>
7635
7636 * dispnew.c (update_window): Make sure to make desired rows
7637 current even if they are completely invisible at the top
7638 of a window.
7639
47e351a3
GM
76402000-09-15 Gerd Moellmann <gerd@gnu.org>
7641
7f8f1edc
GM
7642 * xfns.c (lookup_image): Build mask before applying an algorithm.
7643 Recognize algorithm `disabled'.
7644 (cross_disabled_images): New variable.
7645 (COLOR_INTENSITY): New macro.
7646 (x_detect_edges): Use COLOR_INTENSITY.
7647 (x_disable_image): New function.
7648 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7649
7650 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7651 disabled state, don't apply an image transformation algorithm if
7652 the user specified an image for the disabled state. Use
28c7826c 7653 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7654 user hasn't specified an image.
7655
ebb8f116
GM
7656 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7657 allocation functions with the XPM lib.
7658 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7659 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7660 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7661 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7662 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7663 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7664 functions, if possible, because these handle color allocation
7665 failure more gracefully.
7666 (Fimage_mask_p): New function.
7667
47e351a3
GM
7668 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7669 (Qedge_detection, Qheuristic): New symbols.
7670 (syms_of_xfns): Initialize new symbols.
7671 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7672 `algorithm (edge-detection ...)'.
7673 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7674 (tiff_format, gif_format, gs_format): Add `:mask'.
7675 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7676 (GIF_MASK, GS_MASK): New enumerators.
7677 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7678 (emboss_matrix, laplace_matrix): New variables.
7679 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7680 (x_edge_detection): New functions.
7681 (x_laplace): Rewritten in terms of x_detect_edges.
7682 (x_build_heuristic_mask): If image has a mask, free it.
7683
fe83b953
AI
76842000-09-14 Andrew Innes <andrewi@gnu.org>
7685
7686 * makefile.w32-in: Revert to Unix line endings.
7687
3021e816
AI
76882000-09-14 Andrew Innes <andrewi@gnu.org>
7689
7690 * makefile.w32-in: Standardize indentation somewhat.
7691 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7692 cater for differences between shells.
7693
7694 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7695
2a32b5ea
GM
76962000-09-14 Gerd Moellmann <gerd@gnu.org>
7697
7698 * xterm.c (x_produce_glyphs): If the distance from the current
7699 position to the next tab stop is less than a canonical character
7700 width, use the tab stop after that.
7701
b4331e96
DL
77022000-09-14 Dave Love <fx@gnu.org>
7703
7704 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7705
ef9e4345
GM
77062000-09-14 Gerd Moellmann <gerd@gnu.org>
7707
085536c2
GM
7708 * xdisp.c (handle_fontified_prop): While running fontification
7709 functions, bind `fontification-functions' and
7710 `after-change-functions' to nil.
7711
ef9e4345
GM
7712 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7713 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7714
7715 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7716
7717 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7718 USE_MMAP_FOR_BUFFERS.
7719
7720 * insdel.c (make_gap): Use enlarge_buffer_text.
7721
7722 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7723 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7724 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7725 from former r_alloc_* functions in ralloc.c.
52283633 7726 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7727 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7728 (mmap_init) [REL_ALLOC_MMAP]: New function.
7729 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7730 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7731 BUFFER_FREE.
7732
7733 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7734 (enlarge_buffer_text): Add prototype.
7735
7736 * ralloc.c: Remove everything having to do with the use of mmap.
7737
f8608968
GM
77382000-09-13 Gerd Moellmann <gerd@gnu.org>
7739
2a494b2d
GM
7740 * sound.c (Fplay_sound): Doc fix.
7741
8c907a56
GM
7742 * keyboard.c: Avoid some more compiler warnings.
7743 (parse_tool_bar_item): Ignore cached key bindings.
7744
f8608968
GM
7745 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7746 and allocation of Lisp data.
7747
6ab70e9a
GM
77482000-09-12 Gerd Moellmann <gerd@gnu.org>
7749
d12d0a9b
GM
7750 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7751 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7752 defaults first.
7753
6ab70e9a
GM
7754 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7755
63c36c3c
KH
77562000-09-12 Miyashita Hisashi <himi@meadowy.org>
7757
7758 * ccl.c: Comment fixed.
7759 (MAX_MAP_SET_LEVEL): Increased to 30.
7760 (PUSH_MAPPING_STACK): Enclose with do-while block.
7761 (POP_MAPPING_STACK): Likewise.
7762 (stack_idx_of_map_multiple): New variable.
7763 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7764 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7765 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7766 (ccl_driver) <CCL_MapSingle>: Likewise.
7767 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7768 with the case where looking up process reaches to the end of
7769 map-set, and call CCL programs as the above change.
7770
7ee3bd7b
GM
77712000-09-11 Gerd Moellmann <gerd@gnu.org>
7772
8ec8a5ec
GM
7773 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7774 that might be clobbered by longjmp.
7775 (check_x_display_info, x_decode_color, create_frame_xic)
7776 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7777 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7778
f74b0705
GM
7779 * lread.c (init_lread): Set Vloads_in_progress to nil.
7780 (Fload): Show list of recursively loaded files, when signaling an
7781 error.
7782
7ee3bd7b
GM
7783 * lread.c (Vloads_in_progress): New variable.
7784 (record_load_unwind): New function.
7785 (Fload): Check for recursive loads.
7786 (syms_of_lread): Initialize Vloads_in_progress.
7787 (read_integer, read1): Avoid some compiler warnings.
7788
7789 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7790 compiler warnings.
7791
974e1e5b
MB
77922000-09-11 Miles Bader <miles@gnu.org>
7793
7794 * editfns.c (Fbuffer_string): Doc fix.
7795
9824c4e3
GM
77962000-09-10 Gerd Moellmann <gerd@gnu.org>
7797
7798 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7799
6a72fdd1
KR
78002000-09-09 Ken Raeburn <raeburn@gnu.org>
7801
7802 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7803 whether to include other header files.
7804
28e6fb66
GM
78052000-09-09 Gerd Moellmann <gerd@gnu.org>
7806
52283633 7807 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7808 by Fmemq as a boolean.
28e6fb66 7809
7f8b6551
SM
78102000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7811
7812 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7813
a8710abf
GM
78142000-09-08 Gerd Moellmann <gerd@gnu.org>
7815
d1a02881
GM
7816 * ralloc.c (mmap_fd): Remove initializer which can make it
7817 read-only in a dumped Emacs.
7818 (mmap_fd_1): New variable.
7819 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7820 restore it from there.
7821 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7822 unconditionally so that mmap_fd can be initialized there.
7823 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7824 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7825 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7826
c454aac1
GM
7827 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7828
7829 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7830 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7831
fc653ef2
GM
7832 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7833
3015eec0
GM
7834 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7835 inheritance.
7836
bfe0ee88
GM
7837 * xdisp.c (try_window_id): When trying to locate cursor in
7838 unchanged rows at the top, handle the case that we can't find it.
7839
a8710abf
GM
7840 * xterm.c (x_draw_glyphs): Handle case START and END are out
7841 of bounds more carefully.
7842
6b7d4ae4
DL
78432000-09-08 Dave Love <fx@gnu.org>
7844
423193c5
DL
7845 * s/sol2.h (REL_ALLOC_MMAP): Define.
7846 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7847
7848 * ralloc.c: Don't include string.h (redundant).
7849 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7850 [!MAP_ANON]: Include fcntl.h.
7851 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7852 (r_alloc, r_re_alloc, r_alloc_free)
7853 (mmap_enlarge, mmap_set_vars): Use it.
7854 (r_alloc_init_fd): New function.
7855 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7856 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7857 malloc type.
7858
7859 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7860 Remove vm-limit.o.
7861
6b7d4ae4
DL
7862 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7863 change to __NetBSD__.
7864
44d31981
KH
78652000-09-08 Kenichi Handa <handa@etl.go.jp>
7866
7867 * search.c (compile_pattern): Check the multibyteness of cached
7868 string and PATTERN.
7869
aad40737
MB
78702000-09-08 Miles Bader <miles@gnu.org>
7871
7872 * xfaces.c (default_face_vector): Function removed.
7873 (Finternal_merge_in_global_face): Restore old global/local
7874 attribute override order. Use inline loop instead of calling
7875 default_face_vector.
7876
91a211b5
GM
78772000-09-07 Gerd Moellmann <gerd@gnu.org>
7878
7879 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7880 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7881 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7882 where necessary, in case POINTER_TYPE is `void'.
7883
03419440
EZ
78842000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7885
7886 * frame.c (make_terminal_frame): Initialize frame foreground and
7887 background colors to unspecified, for the initial instance of an
7888 MSDOS frame.
7889
f46f845b
GM
78902000-09-07 Gerd Moellmann <gerd@gnu.org>
7891
24f76fbf
GM
7892 * ralloc.c (mmap_find): Fix overlap computation.
7893 (mmap_enlarge): Compute nbytes before trying to find an
7894 overlapping region.
7895
f46f845b
GM
7896 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7897 instead of `!='.
7898
7899 * lread.c (syms_of_lread): Change value of regexp
7900 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7901
7902 * xmenu.c (xdialog_show): When looking up the selection in
7903 menu_items, take `quote' boundaries into account; this corresponds
7904 to a nil ITEM in x-popup-dialog.
7905
3c014385
KH
79062000-09-07 Kenichi Handa <handa@etl.go.jp>
7907
fd6f711b
KH
7908 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7909 not 0x81.
7910 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7911
3c014385 7912 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7913 encoding, not decoding. Fix the handling of latin-jisx0201.
7914 Check for the charset katakana-jisx0201 too.
3c014385 7915 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7916 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7917
0da3ecef
GM
79182000-09-07 Gerd Moellmann <gerd@gnu.org>
7919
ab0ee409
GM
7920 * xfaces.c (Vparam_value_alist): New variable.
7921 (syms_of_xfaces): Initialize it.
7922 (Finternal_set_lisp_face_attribute): Avoid more consing.
7923
7924 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7925 specially.
7926 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7927 (Qbackground_mode): New variable.
7928 (syms_of_frame_1): Initialize Qbackground_mode.
7929
7930 * lisp.h (Qdisplay): Declare extern.
1091dd67 7931
0da3ecef
GM
7932 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7933 change face on all frames, and change the default for new frames.
7934
b14654b9
DL
79352000-09-07 Dave Love <fx@gnu.org>
7936
7937 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7938
d24fd56f
KH
79392000-09-07 Kenichi Handa <handa@etl.go.jp>
7940
794f3670
KH
7941 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7942
0fddd0dc
KH
7943 * charset.c: Include composite.h
7944 (lisp_string_width): New function.
7945 (Fstring_width): Call lisp_string_width instead of strwidth.
7946
7947 * Makefile.in (charset.o): Depends on composite.h.
7948
d24fd56f
KH
7949 * process.c (read_process_output): Before inserting the decoded
7950 text in the buffer, adjust the multibyteness.
7951
fa0b693c
GM
79522000-09-06 Gerd Moellmann <gerd@gnu.org>
7953
52283633 7954 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7955 buffer's text buffer is null, map new memory.
7956
0a58f946
GM
7957 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7958 POINTER_TYPE and size_t.
7959 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7960 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7961 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7962 [REL_ALLOC_MMAP]: New macros.
7963 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7964 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7965 [REL_ALLOC_MMAP]: New functions.
7966
7967 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7968 before and after unexec.
7969
7970 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7971 text buffers if necessary.
7972
7973 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7974 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7975 in prototypes.
7976
fa0b693c
GM
7977 * config.in (HAVE_MMAP): Add #undef.
7978
877055f6
GM
79792000-09-05 Gerd Moellmann <gerd@gnu.org>
7980
08ba3862
GM
7981 * frame.c (Qdisplay_type): New variable.
7982 (syms_of_frame_1): Initialize it.
7983 (Fframe_parameter): New function that avoids consing.
7984 (syms_of_frame): Defsubr it.
7985
66ffe51c
GM
7986 * buffer.c (Fother_buffer): Consider buffers as invisible when
7987 they are displayed in a window on an invisible frame.
7988
877055f6
GM
7989 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7990 get-largest-window always return nil.
7991
bb970e67
GM
79922000-09-04 Gerd Moellmann <gerd@gnu.org>
7993
7994 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7995 variable; recognize Emacs 19 elc files.
7996
7a3d0e0e
MB
79972000-09-04 Miles Bader <miles@gnu.org>
7998
7999 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8000 before initially popping up the menu, so the menu doesn't flash
52283633 8001 when the face settings are significantly different from the defaults.
7a3d0e0e 8002
14473664
SM
80032000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8004
8005 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8006 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8007 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8008 (BIT_UNIBYTE): Remove.
8009 (re_match_2_internal): Delete corresponding code and streamline the
8010 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8011 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8012 (re_wctype_t): New type.
8013 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8014 (regex_compile): Use them and fix handling of overly long char classes.
8015
c1174479
AI
80162000-09-03 Andrew Innes <andrewi@gnu.org>
8017
f8803e97
AI
8018 * makefile.w32-in: Change to DOS line endings.
8019
c1174479
AI
8020 * s/ms-w32.h (ORDINARY_LINK): New define.
8021
8022 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8023 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8024
8025 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8026 (distclean): Delete them here instead.
8027
44ef7cf6
AI
8028 * w32proc.c (compare_env): Convert to uppercase for comparison,
8029 not lowercase, to match how the native Windows shell works.
8030
49b3bd82
JR
80312000-09-03 Jason Rumney <jasonr@gnu.org>
8032
8033 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8034 CVS changes the line-ends when checking in/out on DOS/Windows.
8035
8036 * makefile.nt (emacs): Do not change directory to run temacs, as
8037 the load-path is set relative to current directory.
8038
a3d35a39
MB
80392000-09-03 Miles Bader <miles@gnu.org>
8040
8041 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8042
d276b0cf
GM
80432000-09-02 Gerd Moellmann <gerd@gnu.org>
8044
715e84c9
GM
8045 * xdisp.c (redisplay_mode_lines): New function.
8046 (display_mode_lines): Return number of mode lines displayed.
8047 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8048 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8049
8892f40b
GM
8050 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8051 string.h and strings.h.
8052 (index) [HAVE_INDEX]: Add prototype.
8053
d276b0cf
GM
8054 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8055 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8056
8057 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8058 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8059
38404229
GM
80602000-09-01 Gerd Moellmann <gerd@gnu.org>
8061
8062 * lread.c (read1): Accept `?' as symbol constituent, for
8063 compatiblity with XEmacs.
8064
c0f9ea08
SM
80652000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8066
8067 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8068 (struct re_pattern_buffer): Remove newline_anchor.
8069 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8070 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8071 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8072 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8073 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8074 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8075 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8076 Get rid of references to newline_anchor.
8077 (regcomp): Allocate and precompute a fastmap.
8078
8c0f83fe
GM
80792000-08-31 Gerd Moellmann <gerd@gnu.org>
8080
8081 * lread.c (openp): GCPRO local variable `filename'.
8082
4bb91c68
SM
80832000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8084
8085 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8086
8087 * regex.c: Merge some changes from GNU libc. Add prototypes.
8088 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8089 Use memcmp and memcpy instead of bcopy and bcmp.
8090 (init_syntax_once): Use ISALNUM.
8091 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8092 (REG_UNSET_VALUE): Remove. Use NULL instead.
8093 (REG_UNSET, re_match_2_internal): Use NULL.
8094 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8095 New macros.
8096 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8097 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8098 (regex_compile): In handle_interval, return an error rather than try to
8099 unfetch the interval if we can't find the closing brace.
8100 Obey the RE_NO_GNU_OPS syntax bit.
8101 (TOLOWER): New macro.
8102 (regcomp): Use it.
8103 (regexec): Allocate regs.start and regs.end as one block.
8104
5226a931
GM
81052000-08-30 Gerd Moellmann <gerd@gnu.org>
8106
868dd24b
GM
8107 * xdisp.c (echo_area_display): Check display_completed instead
8108 of calling detect_input_pending.
8109
8110 * dispnew.c (update_frame): Only set display_completed here; move
8111 the update_begin and update_end calls here from update_frame_1.
8112 (update_frame_1): Don't set display_completed here, don't call
8113 update_begin/update_end.
8114
5226a931
GM
8115 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8116 instead of store_frame_param.
8117
2a8bd25f
GM
81182000-08-29 Gerd Moellmann <gerd@gnu.org>
8119
8120 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8121 desired window matrix hasn't been displayed, use the current row
8122 instead. Make sure that only those frame rows are updated for
8123 which there exists a corresponding enabled desired row.
52283633 8124
ba3478d9
MB
81252000-08-29 Miles Bader <miles@gnu.org>
8126
8127 * xfaces.c (default_face_vector): New function.
8128 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8129
87d0f685
GM
81302000-08-29 Gerd Moellmann <gerd@gnu.org>
8131
8132 * lread.c (openp): Prevent temporary string passed to
8133 Ffile_readable_p from being garbage collected.
8134
6fa86045
DL
81352000-08-28 Dave Love <fx@gnu.org>
8136
8137 * keymap.c (store_in_keymap): Add `static' to declaration.
8138
bb17930d
GM
81392000-08-28 Gerd Moellmann <gerd@gnu.org>
8140
8141 * emacs.c, callint.c, doc.c, editfns.c
8142 (toplevel) [HAVE_STRING_H]: Include string.h.
8143 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8144 (index): Remove prototypes which might conflict with non-standard
8145 definitions of index/strchr.
8146
8147 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8148 (rindex): Define only if !HAVE_RINDEX.
8149
8150 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8151
8152 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8153
87188200
MB
81542000-08-28 Miles Bader <miles@gnu.org>
8155
8156 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8157 made inconsistent by a font-related attribute in FROM.
8158 (merge_face_inheritance): Add function comment.
8159
41a68aef
KH
81602000-08-28 Kenichi Handa <handa@etl.go.jp>
8161
8162 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8163 the 4th arg (PREV_EVENT) Qt to suppress input method.
8164
f7c436c1
SM
81652000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8166
0b32bf0e
SM
8167 * regex.c: Indent cpp directives and remove parens after `defined'.
8168 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8169 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8170 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8171 (re_compile_pattern): Use size_t for length.
8172 (init_syntax_once): Move to a better place.
8173 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8174 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8175
f7c436c1
SM
8176 * syntax.c (back_comment): Detect cases where a comment-starter is
8177 actually inside another comment as in: /* a // b */ c // d \n.
8178 Make it clear that `comstart_pos' is unused for nested comments.
8179
8180 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8181 (KEYMAPP): New macro.
8182 (Fkeymap_parent, Fset_keymap_parent): Use it.
8183 (fix_submap_inheritance): Mark it static.
8184 (define_as_prefix, describe_buffer_bindings, describe_command)
8185 (describe_translation, describe_map): Complete prototypes.
8186
8187 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8188
8189 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8190 to better match the key-lookup behavior.
8191
6288c62f
GM
81922000-08-27 Gerd Moellmann <gerd@gnu.org>
8193
8194 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8195 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8196
e931344e
EZ
81972000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8198
8199 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8200 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8201 (xterm.o): Depend on coding.h
8202
d10dfeef
KH
82032000-08-26 Kenichi Handa <handa@etl.go.jp>
8204
8205 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8206 the corresponding '#endif'.
8207
2d73e8d3
MB
82082000-08-26 Miles Bader <miles@gnu.org>
8209
8210 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8211 * xfaces.c (QCinherit): New variable.
8212 (syms_of_xfaces): Initialize it.
8213 (LFACE_INHERIT): New macro.
8214 (Finternal_get_lisp_face_attribute)
52283633 8215 (merge_face_vector_with_property)
2d73e8d3
MB
8216 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8217 (check_lface_attrs): Allow new types of face height. Check
8218 inherit attribute.
8219 (CYCLE_CHECK): New macro.
8220 (merge_face_inheritance): New function.
8221 (merge_face_vectors): Merge inherited faces too. Add F and
8222 CYCLE_CHECK arguments.
8223 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8224 (lookup_named_face, lookup_derived_face, realize_named_face)
8225 (face_at_string_position, face_at_buffer_position): Supply
8226 new F and CYCLE_CHECK arguments to merge_face_vectors.
8227 (merge_face_heights): New function.
52283633 8228 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8229 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8230 handle relative face heights.
8231 (lface_same_font_attributes_p): Compare heights using EQ.
8232
6ce974d4
KH
82332000-08-26 Kenichi Handa <handa@etl.go.jp>
8234
8235 * charset.c (char_to_string): Check the character validity.
52283633 8236 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8237
dc1e502d
SM
82382000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8239
8240 * regex.c (PUSH_FAILURE_COUNT): New macro.
8241 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8242 Handle popping of a register's or a counter's data.
8243 (POP_FAILURE_POINT): Use the new name.
8244 (re_match_2_internal): Push counter data on the stack for succeed_n,
8245 jump_n and set_number_at and remove misleading dead code in succeed_n.
8246
bd9d0f3f
GM
82472000-08-25 Gerd Moellmann <gerd@gnu.org>
8248
8249 * xdisp.c (redisplay_internal): If considering all windows on all
8250 frames, update the display for each frame as soon as possible,
8251 instead of first building all desired matrices for all frames, and
8252 then updating them all.
8253 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8254
aa5b8e15
GM
82552000-08-24 Gerd Moellmann <gerd@gnu.org>
8256
17494071
GM
8257 * bytecode.c (mark_byte_stack): Add a comment.
8258
52283633
SM
8259 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8260 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8261 a graphical frame.
8262
c543db81
KH
82632000-08-24 Kenichi Handa <handa@etl.go.jp>
8264
d246d5f5
KH
8265 * minibuf.c (do_completion): Always use compare-string, not
8266 string-equal because the latter doesn't pay attention to
8267 multibyteness of strings.
8268
c543db81
KH
8269 * process.c (create_process): Don't setup raw-text coding here.
8270 (Fopen_network_stream): Don't set coding->src_multibyte and
8271 coding->dst_multibyte here.
8272 (read_process_output): For process filter, return unibyte string
8273 if default-enable-multibyte-characters is nil.
8274 (send_process): If OBJECT is multibyte text, be sure to encoded it
8275 by the specified coding system for the process. Otherwise, setup
8276 raw-text coding.
52283633 8277 (init_process): Don't initialize default-process-coding-system here.
c543db81 8278
9b47cfe0
EZ
82792000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8280
8281 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8282 <scroll-down-aggressively>: Likewise.
8283
f5a36960
KH
82842000-08-23 Kenichi Handa <handa@etl.go.jp>
8285
8286 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8287 zero. Set coding->produced_char correctly.
8288
69a7ffa7
AI
82892000-08-22 Andrew Innes <andrewi@gnu.org>
8290
8291 * makefile.w32-in: New file.
8292
8293 * unexw32.c (unexec): Ignore old_name, and use the actual location
8294 of the current executable instead. Base new_name on this.
8295
8296 * w32proc.c (create_child): Remove reference to security
8297 descriptor, which isn't needed and doesn't compile with mingw32.
8298
8299 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8300 up dllimport attributes.
8301 (x_update_window_end): Update prototype.
8302
8303 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8304 extern, which screws up dllimport attributes.
8305
8306 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8307 up dllimport attributes.
8308
8309 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8310 screws up dllimport attributes.
8311
8312 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8313 up dllimport attributes.
8314 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8315 screws up dllimport attributes.
8316
8317 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8318 up dllimport attributes.
8319
8320 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8321 screws up dllimport attributes.
8322
8323 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8324 screws up dllimport attributes.
8325
8326 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8327 up dllimport attributes.
8328
8329 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8330 unnecessary extern, which screws up dllimport attributes.
8331 (main): Ditto.
8332
8333 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8334 up dllimport attributes.
8335
8336 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8337 unnecessary extern, which screws up dllimport attributes.
8338
8339 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8340 screws up dllimport attributes.
8341
8342 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8343 up dllimport attributes.
8344
8345 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8346
52283633
SM
8347 * w32bdf.c (search_file_line):
8348 (set_bdf_font_info):
8349 (seek_char):
8350 (w32_get_bdf_glyph):
69a7ffa7
AI
8351 (w32_BDF_to_x_font): Fix compile warnings.
8352
52283633 8353 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8354
8355 * w32select.c: Include keyboard.h before frame.h.
8356
8357 * w32fns.c (max): Define macro.
8358 (JOHAB_CHARSET): Define if not known.
8359 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8360 (Fx_show_tip): Synch with X version.
8361
8362 * w32xfns.c: Include keyboard.h before frame.h.
8363
8364 * w32fns.c: Include keyboard.h before frame.h.
8365
8366 * w32term.c: Include keyboard.h before frame.h.
8367
8368 * fontset.c: Include keyboard.h before frame.h.
8369
8370 * w32inevt.c: Include keyboard.h before frame.h.
8371 (MOUSE_MOVED): Define if not known.
8372
8373 * minibuf.c: Include keyboard.h before frame.h.
8374
8375 * keyboard.c: Include keyboard.h before frame.h.
8376
8377 * indent.c: Include keyboard.h before frame.h.
8378
8379 * dispnew.c: Include keyboard.h before frame.h.
8380
8381 * buffer.c: Include keyboard.h before frame.h.
8382
8383 * alloc.c: Include keyboard.h before frame.h.
8384
8385 * print.c: Include keyboard.h before frame.h.
8386
8387 * process.c: Include keyboard.h before frame.h.
8388
8389 * scroll.c: Include keyboard.h before frame.h.
8390
8391 * sysdep.c: Include keyboard.h before frame.h.
8392
8393 * term.c: Include keyboard.h before frame.h.
8394
8395 * window.c: Include keyboard.h before frame.h.
8396
8397 * xdisp.c: Include keyboard.h before frame.h.
8398 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8399
8400 * frame.c: Include keyboard.h before frame.h.
8401
8402 * w32heap.h: Undefine min, max.
8403
8404 * w32gui.h: Undefine min, max.
8405
8406 * unexw32.c: Change PUCHAR to PCHAR.
8407 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8408 (relocate_offset):
8409 (get_section_info):
69a7ffa7
AI
8410 (copy_executable_and_dump_data): Remove unnecessary static defs.
8411 (copy_executable_and_dump_data): Fix compile warnings.
8412
8413 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8414
8415 * w32console.c (min): Define macro.
8416 (clear_frame, write_glyphs): Fix compile warning.
8417
52283633 8418 * w32proc.c (compare_env):
69a7ffa7
AI
8419 (find_child_console): Fix compile warning.
8420
8421 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8422 sys_errlist instead of _sys_errlist.
8423 (get_emacs_configuration_options): New function.
8424
8425 * s/ms-w32.h (sys_nerr): Provide default definition.
8426 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8427 name with _ prepended.
8428 (NSIG): Define if not known.
8429 (get_emacs_configuration): Provide extern declaration.
8430 (get_emacs_configuration_options): Provide extern declaration.
8431 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8432
8433 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8434 (map_w32_filename):
69a7ffa7
AI
8435 (read_unc_volume): Fix compile warning.
8436
8437 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8438 definitions from being used.
8439
8440 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8441
52283633 8442 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8443 (open_unc_volume): Make arg const.
8444
8445 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8446 (read_input_waiting): Remove excess parameter.
8447
8448 * w32.c (init_environment): Call _access.
8449 (check_windows_init_file): Call _close.
8450 (init_user_info): Call _putenv.
8451 (init_environment): Call _putenv and _strdup.
8452 (init_ntproc): Reset volume info cache on startup.
8453
8454 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8455 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8456 cannot override the CRT malloc.
8457
8458 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8459 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8460
8461 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8462 unless we are linking with a static CRT.
8463 (RVA_TO_PTR): Cast result to unsigned char*.
8464
8465 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8466 (add_volume_info): Use xstrdup.
8467
25060080
SM
84682000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8469
8470 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8471 (do_completion, Fminibuffer_complete_word): Use it.
8472 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8473 var so it can take non-boolean values.
8474
6917e6bb
GM
84752000-08-21 Gerd Moellmann <gerd@gnu.org>
8476
acb7cc89 8477 * editfns.c (find_field): Formatting changes.
52283633 8478 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8479 changed to prototypes, some new protypes added, some functions
8480 made static.
8481
8482 * lisp.h (set_time_zone_rule): Add prototype.
8483 (use_dialog_box): External declaration.
8484
0bbfdc25
GM
8485 * keyboard.c (gen_help_event): Add parameter SIZE.
8486 (kbd_buffer_events_waiting): Slightly rewritten.
8487 (clear_event): New function.
8488 (kbd_buffer_get_event): Use it, and clear the input_events of
8489 HELP_EVENTs.
8490 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8491 don't fill the newly created array with nils.
8492 (toplevel): Convert some old-style function forward declarations
8493 to prototypes.
8494
8495 * keyboard.h (gen_help_event): Change prototype.
8496
8497 * xterm.c (XTread_socket): Change calls to gen_help_event.
8498
8499 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8500
6917e6bb
GM
8501 * eval.c (Fmacroexpand): Doc fix.
8502
e5cd3d11
JR
85032000-08-20 Jason Rumney <jasonr@gnu.org>
8504
8505 * w32term.h (x_display_info_for_display): Remove as this function
8506 does not exist on W32.
8507
8508 * w32term.c (help_echo_window): New variable.
8509 (syms_of_w32term): staticpro it.
8510 (note_mode_line_highlight): Set it.
8511 (XTextExtents16): Removed as there is no equivalent on W32.
8512 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8513 the X way of doing this will not work for W32.
8514 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8515 (x_draw_image_foreground): Avoid drawing outside of the clip area
8516 when image doesn't have a mask.
8517 (note_mouse_highlight): Process overlays in the right order of
8518 priority. Set help_echo_window.
8519 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8520 because that's more visible for large images.
8521
8522 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8523 name to single_keymap_panes.
8524 (w32_menu_show): Set wv->title when dealing with titles.
8525 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8526
6e69ab8c
MB
85272000-08-21 Miles Bader <miles@gnu.org>
8528
8529 * minibuf.c (do_completion): Try again if we rewrite the input
8530 string, but no completion was done, so that any completion message
8531 will be correct.
8532
511bd4eb
GM
85332000-08-20 Gerd Moellmann <gerd@gnu.org>
8534
8535 * xfaces.c (lface_equal_p): Compare strings differently.
8536 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8537 (realize_tty_face): Use them.
8538 (syms_of_xfaces): Initialize new variables.
8539 (map_tty_color): New function, extracted from realize_tty_face.
8540 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8541 foreground or background color, store the new color name in the
8542 realized face; previous code trying to do this had no effect.
8543 (realize_tty_face): Use map_tty_color.
8544 (Fclear_face_cache): Set face_change_count and ensure thorough
8545 redisplay.
8546
1433385f
GM
85472000-08-19 Gerd Moellmann <gerd@gnu.org>
8548
511bd4eb
GM
8549 * undo.c (record_first_change, record_marker_adjustment): Don't
8550 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8551
419ac0a2
KH
85522000-08-18 Kenichi Handa <handa@etl.go.jp>
8553
8554 * coding.c (decode_coding_string): Set members consumed,
8555 consumed_char, produced, produced_char of *coding correctly. If
8556 decode_coding doesn't consume any byte, don't try anymore.
8557 (encode_coding_string): Likewise.
8558
7eb9e30d
GM
85592000-08-18 Gerd Moellmann <gerd@gnu.org>
8560
511bd4eb
GM
8561 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8562 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8563
8564 * xdisp.c (redisplay_internal): Compare windows for equality with
8565 EQ, instead of applying XWINDOW to something that might not
8566 be a window.
52283633 8567
dd34a735
KH
85682000-08-18 Kenichi Handa <handa@etl.go.jp>
8569
8570 * fontset.c (Finternal_char_font): Search only the selected frame
8571 for a window of the current buffer.
8572
385ff9e3
GM
85732000-08-18 Gerd Moellmann <gerd@gnu.org>
8574
511bd4eb 8575 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8576 Lisp_Objects.
8577
385ff9e3
GM
8578 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8579 second half of a HELP_EVENT is found at the start of kbd_buffer.
8580
d6abb4c7
MB
85812000-08-18 Miles Bader <miles@gnu.org>
8582
4618074a
MB
8583 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8584
d6abb4c7
MB
8585 * editfns.c (save_restriction_save): Rewrite to use markers.
8586 (save_restriction_restore): Rewrite to understand new form of data
8587 saved by save_restriction_save.
8588 (Fsave_restriction): Remove cautionary note in doc-string.
8589
a7b28523
GM
85902000-08-17 Gerd Moellmann <gerd@gnu.org>
8591
8592 * fileio.c (build_annotations): Add a comment explaining the
8593 return value of format-annotate-function. Replace a spurious call
8594 to Flength with a CONSP test. Call format-annotate-function with
8595 a fifth arg specifying how many times the function is been called
8596 in a row, to let it choose temporary buffers appropriately.
8597
03c9ed77
DL
85982000-08-17 Dave Love <fx@gnu.org>
8599
8600 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8601 declare make_temp_name twice.
8602
52283633 8603 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8604 (unreadpure): Give it an arg.
8605
8606 * unexalpha.c: Prototype fatal_unexec, mark_x,
8607 update_dynamic_symbols. Declare unexec as void.
8608
8609 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8610 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8611
8612 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8613 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8614
8615 * alloca.c: Use #error.
8616 [POINTER_TYPE]: Use it.
8617
8618 * eval.c (Fdefvar): Doc fix.
8619
8620 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8621 INITIALIZE_INTERVAL.
8622
8623 * buffer.h: Avoid DECLARE_INTERVALS.
8624
8625 * config.in: Add size_t.
8626
aae41d97
EZ
86272000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8628
8629 * w16select.c (set_clipboard_data): If there's not enough memory
8630 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8631 expects. In case of other failures, return 3.
8632 (system_error_msg): New error message.
8633 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8634 system_error_msg.
8635
65aa5e85
GM
86362000-08-16 Gerd Moellmann <gerd@gnu.org>
8637
8638 * term.c (write_glyphs): Also turn off inverse video after turning
8639 off other appearances in case TS_exit_attribute_mode is not equal
8640 to TS_end_standout_mode.
8641 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8642 with the same face.
8643 (turn_off_face): Reset standout_mode only if
8644 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8645 is equal to TS_end_standout_mode.
8646
ece23901
KH
86472000-08-16 Kenichi Handa <handa@etl.go.jp>
8648
9d7bcb2e
KH
8649 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8650 sequence at the end of the source block.
8651
ece23901
KH
8652 * ccl.c (Fccl_program_p): Docstring modified.
8653 (Fccl_execute): Likewise.
8654 (Fccl_execute_on_string): Likewise.
8655
5e30eaa2
EZ
86562000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8657
8658 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8659
290602fd
KH
86602000-08-16 Kenichi Handa <handa@etl.go.jp>
8661
8662 The following changes are mainly to fix bugs of
8663 encode/decode-coding-string failing if encoding/decoding return
8664 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8665 variable conversion_buffer.
8666
8667 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8668 decrement dst_end to avoid buffer overflow in the later call of
8669 string_as_multibyte
8670
8671 * coding.h (conversion_buffer_size, conversion_buffer)
8672 (get_conversion_buffer): Extern deleted.
8673
8674 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8675 (conversion_buffer, conversion_buffer_size): Variables deleted.
8676 (get_conversion_buffer): Function deleted.
8677 (struct conversion_buffer): New structure.
8678 (MAX_ALLOCA): New macro.
8679 (allocate_conversion_buffer): New macro.
8680 (extend_conversion_buffer, free_conversion_buffer): New functions.
8681 (ccl_coding_driver): Set coding->result.
8682 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8683 this is the last block of source.
8684 (encode_coding): Likewise. Handle the source block as the last
8685 one only when the whole source text is consumed.
8686 (decode_coding_string): Handle the case that the output buffer is
8687 too small to decode the whole source text. Use
8688 allocate_conversion_buffer, extend_conversion_buffer and
8689 free_conversion_buffer, not get_conversion_buffer.
8690 (encode_coding_string): Likewise.
8691 (init_coding): Function deleted.
52283633 8692 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8693
8694 * emacs.c (main): Don't call init_coding.
8695
52283633 8696 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8697
8698 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8699 (insert_glyphs): Likewise.
8700
8701 * w32console.c (write_glyphs): Use a locally declared
8702 conversion_buffer.
8703
b9f80d41
EZ
87042000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8705
8706 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8707 member of display_info is NULL.
8708
32dc52f7
GM
87092000-08-15 Gerd Moellmann <gerd@gnu.org>
8710
52283633 8711 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8712
32dc52f7 8713 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8714 appearances with capability `me'.
32dc52f7
GM
8715 (write_glyphs): Switch on inverse video before each face change.
8716
4eb22d33
DL
87172000-08-14 Dave Love <fx@gnu.org>
8718
8719 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8720 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8721 (lisp_free): Declare and make static.
8722
8723 * window.c: Fix embedded comment.
8724 (syms_of_window): Fix doc string.
8725
90cbf47e
GM
87262000-08-14 Gerd Moellmann <gerd@gnu.org>
8727
52283633 8728 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8729 make sure to print `C-' before `M-', like in the manual.
8730
440fc135
GM
87312000-08-11 Gerd Moellmann <gerd@gnu.org>
8732
8733 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8734 since they aren't relocated anymore.
52283633 8735 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8736
8737 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8738 partially visible line which is smaller than the window's height.
440fc135 8739
6e264fad
KH
87402000-08-11 Kenichi Handa <handa@etl.go.jp>
8741
8742 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8743 the multibyte form of eight-bit-control characters.
6e264fad
KH
8744 (Fccl_execute_on_string): Initialize ccl->multibyte.
8745
8746 * ccl.h (struct ccl_program): New member multibyte.
8747
8748 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8749
c371f69a
KH
87502000-08-11 Kenichi Handa <handa@etl.go.jp>
8751
8752 * regex.c (regex_compile) <normal_char>: Pay attention to
8753 multibyteness.
8754 (analyse_first) <exactn>: Setup fastmap correctly for
8755 eight-bit-control characters.
8756
87572000-08-11 Kenichi Handa <handa@etl.go.jp>
8758
52283633 8759 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8760
8761 * keyboard.c (make_lispy_event): Handle the new event type
8762 multibyte_char_keystroke.
8763
8764 * xterm.c: Include coding.h.
8765 (XTread_socket): Work around a bug of XmbLookupString. If the
8766 input is from XIM, decode it according to the current locale. In
8767 that case, generate multibyte_char_keystroke events.
8768
b8ddbe71
KH
87692000-08-11 Kenichi Handa <handa@etl.go.jp>
8770
8771 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8772 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8773
47589c8c
GM
87742000-08-10 Gerd Moellmann <gerd@gnu.org>
8775
8776 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8777 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8778 (move_it_in_display_line_to): Record iterator's ascent and descent
8779 before producing glyphs, and restore them when we know the glyph
8780 doesn't fit on the line.
8781 (move_it_to): Restructured so that it's easier to debug. If
8782 moving to a vpos, and not moving to an x or character position,
8783 stop as soon as the specified vpos is reached; don't move further
8784 into that line because that might change the computed line height.
8785 (try_cursor_movement): New function, extracted from the cursor
8786 movement branch of redisplay_window. If ending on a partially
8787 visible line, don't try to scroll if the cursor line is taller
8788 than the window.
8789 (redisplay_window): Use try_cursor_movement.
8790
8791 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8792 because that function doesn't cope with variable-height lines.
8793
8794 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8795 box cursor because that's better visible for large images.
52283633 8796
c51bacd6
MB
87972000-08-10 Miles Bader <miles@gnu.org>
8798
8799 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8800
bea56df7
GM
88012000-08-10 Gerd Moellmann <gerd@gnu.org>
8802
8803 * xdisp.c (Vmessages_buffer_name): New variable.
8804 (message_dolog): Use it.
8805 (syms_of_xdisp): Initialize it.
8806
99cd7364
EZ
88072000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8808
52283633 8809 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8810 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8811 redundant now that keyboard.h is included.
8812
7d093d56
EZ
88132000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8814
8815 * keyboard.c (kbd_buffer_events_waiting): New function.
8816
8817 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8818
8819 * msdos.c: Include keyboard.h.
8820 (XMenuActivate): Empty no_event events from the event buffer. If
8821 no events are left after that, call clear_input_pending.
8822 (mouse_clear_clicks): New function, code moved from mouse_init.
8823 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8824 mouse driver to ``forget'' any past clicks.
8825
8826 * Makefile.in (msdos.o): Depend on keyboard.h.
8827
41e757a6
GM
88282000-08-09 Gerd Moellmann <gerd@gnu.org>
8829
8e7bd231
GM
8830 * lisp.h (input_pending): External declaration.
8831
8832 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8833
8e7bd231
GM
8834 * xdisp.c (echo_area_display): Display thoroughly if input is
8835 pending. Bind redisplay-dont-pause to t during the redisplay.
8836 in case input is pending.
8837
8838 * dispnew.c (Qredisplay_dont_pause): New variable.
8839 (syms_of_display): Initialize and staticpro it.
8840 (update_frame_1): Don't interrupt the display for pending input if
8841 redisplay_dont_pause is set.
52283633 8842
43028b7e
GM
8843 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8844
41e757a6
GM
8845 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8846
2f2174fa
KH
88472000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8848
8849 * callproc.c (Fcall_process): Terminate the unwind-protect around
8850 the post-read-conversion of coding system.
8851
0a6fd67e
MB
8852 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8853 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8854 * buffer.h (overlays_at): Update prototype.
8855 * xdisp.c (next_overlay_change): Update call to overlays_at.
8856 * xfaces.c (face_at_buffer_position): Likewise.
8857 * textprop.c (Fget_char_property): Likewise.
8858 * xterm.c (note_mouse_highlight): Likewise.
8859
0c80756e
MB
8860 * minibuf.c (do_completion): Don't consider a simple change of
8861 case as `completion'.
8862
975f250a
KR
88632000-08-08 Ken Raeburn <raeburn@gnu.org>
8864
52283633 8865 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8866 * undo.c (record_delete): Make sure last_point_position_buffer is
8867 a buffer before comparing pointers.
8868
8869 * coding.h (decode_coding_string): Declare.
8870
8871 * intervals.h (Fprevious_single_char_property_change): Declare.
8872
8873 * textprop.c (Fprevious_single_char_property_change): Don't do
8874 arithmetic directly on lisp objects.
8875
52283633 8876 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8877
8878 * keyboard.h (menu_item_eval_property): Declare.
8879
8880 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8881 reuse as buffer name, instead of recreating (and discarding) every
8882 time a message is logged.
8883 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8884 (current_message_1, truncate_message_1, set_message_1)
8885 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8886 (current_message, truncate_echo_area, display_echo_area)
8887 (resize_echo_area_axactly): Changed calls.
b347b3fd 8888
975f250a 8889 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8890 Lisp object.
975f250a 8891 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8892 must be an integer, not a Lisp object.
975f250a 8893
46dc9912
KH
88942000-08-08 Kenichi Handa <handa@etl.go.jp>
8895
8896 * charset.c (Fchar_width): Doc fix.
8897
9f6d1a6c
GM
88982000-08-08 Gerd Moellmann <gerd@gnu.org>
8899
8900 * charset.c (Fstring_width): Doc fix.
8901
ff3d9573
GM
89022000-08-07 Gerd Moellmann <gerd@gnu.org>
8903
41e757a6 8904 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8905 line, clear ascent and descent members of the iterator structure;
8906 the height of the continued line does not affect the height of the
8907 continuation line.
8908 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8909 line taller than the window.
8910 (redisplay_window) <forced window start>: Handle case that the
8911 middle of the window is not found in any row.
8912 (dump_glyph_row): Show more information.
8913 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8914 first text line in a glyph matrix.
8915
8916 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8917 of the clip area when image doesn't have a mask.
8918
70fc58b3
GM
8919 * fns.c (sweep_weak_table): Fix survival conditions for
8920 key-or-value and key-and-value weakness.
8921
8922 * .gdbinit (xhashtable): New command.
8923
ac0e96ee
GM
8924 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8925 tables out of the list of all weak hash tables.
8926
ff3d9573
GM
8927 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8928 a new buffer is created, make sure echo_area_buffer[] references
8929 the new buffer.
8930
e0d8827b
EZ
89312000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8932
8933 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8934 the doc string.
8935
c6f35378
KH
89362000-08-07 Kenichi Handa <handa@etl.go.jp>
8937
8938 * syntax.c (skip_chars): Fix previous change. Make the handling
8939 of unibyte string consistent with that of regex search.
8940
1fd4c450
GM
89412000-08-05 Gerd Moellmann <gerd@gnu.org>
8942
e49aa397
GM
8943 * xmenu.c (popup_get_selection): Use xfree instead of free.
8944
8945 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8946
8947 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8948
8949 * callproc.c (child_setup): Use xfree instead of free.
8950
8951 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8952 instead of malloc.
8953 (run_mac_command, closedir): Use `xfree' instead of `free'.
8954
8955 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8956
8957 * eval.c (error): Use xfree instead of free.
8958
1fd4c450
GM
8959 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8960
8961 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8962 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8963
82d497fc
KH
89642000-08-05 Kenichi Handa <handa@etl.go.jp>
8965
8966 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8967 conversion.
8968
59f953a2
NF
89692000-08-04 Noah Friedman <friedman@splode.com>
8970
8971 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8972 docstring.
8973
688351f2
GM
89742000-08-04 Gerd Moellmann <gerd@gnu.org>
8975
8976 * syntax.c (skip_chars): Fix typo in error message.
8977
2dad51cc
AS
89782000-08-04 Andreas Schwab <schwab@suse.de>
8979
8980 * m/ia64.h: Moved from s/ia64.h.
8981
99bb2c60
KH
89822000-08-04 Kenichi Handa <handa@etl.go.jp>
8983
082a1df2
KH
8984 * process.c (read_process_output): Big simplification. Handle
8985 composition and post-read-conversion of coding system correctly.
8986 (send_process): Handle composition correctly.
8987
8988 * callproc.c (Fcall_process): Handle post-read-conversion of
8989 coding system if any.
8990
99bb2c60
KH
8991 * coding.c (decode_coding_iso2022): More strict check for handling
8992 single shifting.
082a1df2
KH
8993 (coding_restore_composition): Pay attention to the case that
8994 cmp_data is not set properly (because of invalid code in the
8995 source text).
8996 (run_pre_post_conversion_on_str): Include text properties in the
8997 resulting string.
8998 (decode_coding_string): Set members of coding correctly.
99bb2c60 8999
f4988be7
GM
90002000-08-03 Gerd Moellmann <gerd@gnu.org>
9001
9002 * s/ia64.h: New file.
9003
9004 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9005 Use NULL instead of 0 at the end of variable argument list of
9006 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9007 sizeof (int) < sizeof (void *).
9008
9009 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9010 of variable argument lists of XtVaGetValues and XtVaSetValues.
9011
9012 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9013 variable argument lists of XtVaGetValues and XtVaSetValues.
9014
ead53494
GM
90152000-08-02 Gerd Moellmann <gerd@gnu.org>
9016
9017 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9018 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9019
9020 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9021 prototype.
9022
9023 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9024 in call to Fsingle_key_description.
9025
9026 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9027 Callers changed.
9028
90292000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9030
9031 * window.c (display_buffer_reuse_frames): New variable.
9032 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9033 frames displaying BUFFER.
52283633 9034 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9035
10b0f752
MB
90362000-08-01 Miles Bader <miles@gnu.org>
9037
9038 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9039 when to constrain NEW_POS (they were pretty screwed up before).
9040
16425c4a
EZ
90412000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9042
9043 * msdos.c (run_msdos_command): Save and restore the master
9044 environment, for the case that child_setup signals an error.
9045 When mirroring slashes in DOS shell commands, don't fail when
9046 argv[2] has embedded blanks.
da288c14
EZ
9047 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9048 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9049 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9050
9051 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9052 using alloca; free it after run_msdos_command returns.
9053
27f73852
DL
90542000-07-27 Dave Love <fx@gnu.org>
9055
52283633
SM
9056 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9057 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9058
9059 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9060
c0261b5e
EZ
90612000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9062
9063 * editfns.c (lisp_time_argument): Fix last change.
9064
b548072f
GM
90652000-07-27 Gerd Moellmann <gerd@gnu.org>
9066
3ab82477
GM
9067 * fns.c (Fdelete): Make it work on vectors and strings in addition
9068 to lists.
9069
b548072f
GM
9070 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9071 (syms_of_fns): Initialize new variables.
52283633 9072 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9073 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9074 weakness, with t meaning the same as `key-and-value'.
9075
91ae8751
KH
90762000-07-27 Kenichi Handa <handa@etl.go.jp>
9077
9078 * coding.h (struct coding_system): Member safe_charset deleted.
9079
9080 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9081 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9082 New variables.
91ae8751
KH
9083 (coding_safe_chars): New function.
9084 (CODING_SAFE_CHAR_P): New macro.
9085 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9086 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9087 (detect_coding_iso2022): New local variable safe_chars.
9088 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9089 safe_charsets member of the coding system.
9090 (decode_coding_iso2022): New local variable safe_chars.
9091 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9092 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9093 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9094 (ENCODE_UNSAFE_CHARACTER): New macro.
9095 (encode_coding_iso2022): New local variable safe_chars. Check
9096 unsafe chars.
9097 (setup_coding_system): Delete the code to initialize
9098 coding->safe_charses
9099 (intersection, find_safe_codings): New functions.
9100 (Ffind_coding_systems_region_internal): New function.
9101 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9102 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9103 variable and initialize it.
9104
9105 * fns.c (char_table_ref_and_index): New function.
9106
9107 * lisp.h (char_table_ref_and_index): Add prototype.
9108
34a7a267
SS
91092000-07-26 Sam Steingold <sds@gnu.org>
9110
9111 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9112 (Ffloat_time): New built-in Lisp function.
34a7a267 9113
a95cb10a
GM
91142000-07-26 Gerd Moellmann <gerd@gnu.org>
9115
3353ef5a
GM
9116 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9117 for the character code.
9118
9119 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9120 GNU/Linux.
9121
a95cb10a
GM
9122 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9123 if called for a popup menu.
9124 (xmenu_show): Store help string in widget values.
9125
b4a12321
DL
91262000-07-26 Dave Love <fx@gnu.org>
9127
9128 * syswait.h: Move some definitions.
9129 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9130 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9131 perspicuous definitions.
9132 (WTERMSIG): Fix bit pattern used.
9133
13f5ad37
KH
91342000-07-26 Kenichi Handa <handa@etl.go.jp>
9135
9136 * print.c (print_object): If vector printing is truncated, print
9137 "..." to indicate it as well as the case of list printing.
9138
070fe99c
GM
91392000-07-25 Gerd Moellmann <gerd@gnu.org>
9140
969065c3
GM
9141 * xdisp.c (next_element_from_display_vector): Improve comments.
9142
9143 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9144 for the character code, and the rest for the face id as in 20.x.
9145 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9146
9147 * window.c (window_display_table): Cleaned up.
9148
070fe99c
GM
9149 * syntax.c (Fforward_word): Add last arg nil in call of
9150 Fconstrain_to_field.
9151
bad77ef7
EZ
91522000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9153
969065c3 9154 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9155 identical but for the letter-case, don't call
9156 barf_or_query_if_file_exists.
bad77ef7 9157
c28da489
MB
91582000-07-25 Miles Bader <miles@gnu.org>
9159
9160 * editfns.c (find_field): Honor special `boundary' fields.
9161 (Qboundary): New variables.
9162 (syms_of_editfns): Initialize Qboundary.
9163 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9164 Use scan_buffer instead of find_before_next_newline, because it
9165 allows us to detect the boundary case where there's a newline at
9166 the search limit.
9167 * lisp.h (Fconstrain_to_field): Update external declaration.
9168
e3c31fd5
GM
91692000-07-24 Gerd Moellmann <gerd@gnu.org>
9170
9171 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9172 if that is nil.
c28da489 9173
c66c29a2
DL
91742000-07-24 Dave Love <fx@gnu.org>
9175
9176 * s/sunos4-0.h, s/sol2.h:
9177 (LIBS_TERMCAP): Move from m/sparc.h.
9178
9179 * m/sparc.h (TERMINFO): Moved to system files (probably only
9180 relevant for sunos4 judging by its vintage).
9181 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9182 __arch64__.
9183
fbe0a958
EZ
91842000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9185
9186 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9187 name to single_keymap_panes.
9188
7d88e5c9
AS
91892000-07-24 Andreas Schwab <schwab@suse.de>
9190
9191 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9192
e024b101
GM
91932000-07-24 Gerd Moellmann <gerd@gnu.org>
9194
9195 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9196 parameters instead of using int parameters. Expect FN to accept
9197 EMACS_INT parameters.
9198 (display_echo_area, resize_echo_area_axactly, current_message)
9199 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9200 with new argument list.
9201 (resize_mini_window_1): New callback function.
9202 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9203 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9204
25c1a9ce
KH
92052000-07-24 Kenichi Handa <handa@etl.go.jp>
9206
9207 * fontset.c (fontset_ref): Remove INLINE declaration.
9208 (fontset_ref_via_base): Likewise.
9209 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9210 to downcase.
9211
7f987ac0
EZ
92122000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9213
9214 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9215 correct order of priority. If help echo was found in an overlay,
9216 use that overlay as the object in which the help echo was found.
9217
e2db3069
MB
92182000-07-22 Miles Bader <miles@gnu.org>
9219
9220 * textprop.c (Fprevious_single_char_property_change): The initial
9221 property value should be from the position preceding POSITION, not
9222 following it.
9223
5e3203e4
EZ
92242000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9225
9226 * coding.c (syms_of_coding): Doc fix for
9227 inhibit-iso-escape-detection.
9228
62145073
GM
92292000-07-21 Gerd Moellmann <gerd@gnu.org>
9230
c20aeb83
GM
9231 * xterm.c (note_mouse_highlight): Process overlays in the right
9232 order of priority.
34a7a267 9233
743934db
GM
9234 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9235
9236 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9237 overlay, use that overlay as the object in which the help was found.
743934db 9238
d1dc7e43 9239 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9240
62145073
GM
9241 * window.c (foreach_window): Instead of a fake variable argument
9242 list, take one USER_DATA argument.
9243 (foreach_window_1): Likewise, and call callback functions with two
9244 args, the window and USER_DATA.
9245 (struct check_window_data): New struct.
9246 (check_window_containing): Use it.
9247 (window_from_coordinates): Set up a struct check_window_data for
9248 foreach_window.
9249 (add_window_to_list, freeze_window_start): Change parameters
9250 according to new calling convention.
9251
9252 * window.h (foreach_window): Change prototype.
9253
9254 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9255
92562000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9257
9258 * xmenu.c (menu_help_callback): Call show_help_echo with
9259 additional arguments OBJECT and POS.
9260
11270583
KH
92612000-07-21 Kenichi Handa <handa@etl.go.jp>
9262
07b14857
KH
9263 * data.c (Faset): Allow storing any multibyte character in a
9264 string. Convert unibyte string to multibyte if necessary.
9265
11270583
KH
9266 * xfns.c (x_encode_text): New function.
9267 (x_set_name): Use x_encode_text.
9268 (x_set_title): Likewise.
9269
9270 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9271
9272 * xterm.h (x_encode_text): Add prototype.
9273
bc75b4fd
DL
92742000-07-20 Dave Love <fx@gnu.org>
9275
9276 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9277 xfree, not free.
9278
48c14970
EZ
92792000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9280
9281 * msdos.c (help_echo_window): New variable.
9282 (syms_of_msdos): Initialize and staticpro it.
9283 (IT_note_mode_line_highlight): Set help_echo_window.
9284 (IT_note_mouse_highlight): Ditto.
9285 (dos_rawgetc): Store help_echo_window in the second event produced
9286 for HELP_EVENTs.
9287
9288 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9289 Record the object that generated the help echo and the position of
9290 that object in help_echo_object and help_echo_pos. Record that
9291 some glyphs in a row are displayed in mouse-face.
9292 (IT_update_begin): Don't clear mouse highlight unless one of the
9293 enabled glyph rows is marked as being displayed in mouse-face.
9294 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9295 and position recorded in help_echo_object and help_echo_pos to the
9296 event queue.
9297 (IT_menu_display): Accept a new argument PN: the pane number of
9298 the current menu pane. Record the pane number and the item
9299 number of the item which has associated help string.
9300 (XMenuActivate): Update the prototype for help_callback in
9301 function declaration. Call IT_menu_display with the current menu
9302 pane number as an additional argument. Call help_callback with
9303 two additional arguments: the pane number and the item number of
9304 the menu item associated with the help text.
9305 (help_echo_object, help_echo_pos): New variables.
9306 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9307
9308 * msdos.h (XMenuActivate): Update prototype.
9309
4279296d
GM
93102000-07-19 Gerd Moellmann <gerd@gnu.org>
9311
47db06aa
GM
9312 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9313 Add some more prototypes.
9314
9315 * xterm.c, xterm.h: Add some more prototypes.
9316
9317 * lisp.h (Fnext_single_char_property_change): Add prototype.
9318
9319 * dispnew.c (direct_output_for_insert): Remove confusing
9320 outer local variable mouse_face_overwritten_p.
9321 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9322
4279296d
GM
9323 * alloc.c (allocate_string_data): Don't copy old string contents.
9324
670acd62
KH
93252000-07-19 Kenichi Handa <handa@etl.go.jp>
9326
9327 * coding.c (code_convert_region): Delete text properties before
9328 shrinking the conversion region.
9329
7cea38bc
GM
93302000-07-18 Gerd Moellmann <gerd@gnu.org>
9331
dc1cac59
GM
9332 * dispnew.c (update_text_area): Write the whole row if it
9333 has mouse-face in it.
9334
85a8aca9
GM
9335 * xfaces.c (face-alternative-font-family-alist): Remove
9336 DEFVAR_LISP; staticpro instead.
9337
34a7a267 9338 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9339 new arguments.
9340
9341 * keyboard.c (show_help_echo): Add parameter WINDOW.
9342 (read_char): Call show_help_echo with window extracted from Lisp
9343 help event.
9344 (gen_help_event): Add parameter WINDOW.
9345
9346 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9347
9348 * xterm.c (help_echo_window): New variable.
52283633 9349 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9350 (XTread_socket): Pass help_echo_window to gen_help_event.
9351 (syms_of_xterm): Initialize and staticpro help_echo_window.
9352
f8276b77
DL
93532000-07-18 Dave Love <fx@gnu.org>
9354
52283633 9355 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9356
088831a6
GM
93572000-07-18 Gerd Moellmann <gerd@gnu.org>
9358
3d6cd763
GM
9359 * alloc.c (allocate_string_data): If string had already data
9360 assigned, copy old contents to new string data.
9361
9362 * coding.c (syms_of_coding): Fix typo in spelling of variable
9363 `inhibit-iso-escape-detection'.
9364
088831a6
GM
9365 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9366
9367 * Makefile.in: Add dependencies on dispextern.h.
9368 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9369 `free'; both can conflict with system header files.
9370
bc8a8d55
KH
93712000-07-18 Kenichi Handa <handa@etl.go.jp>
9372
9373 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9374 undefined.
9375
069f5950
DL
93762000-07-18 Dave Love <fx@gnu.org>
9377
9378 * window.c (Fwindow_list): Declare arg `window'.
9379
aa96c820
KH
93802000-07-18 Kenichi Handa <handa@etl.go.jp>
9381
9382 * coding.c (setup_coding_system): Don't override the explicitly
9383 specified designations.
9384
06be8d32
MB
93852000-07-15 Miles Bader <miles@gnu.org>
9386
9387 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9388 from `text_property_eq' and `text_property_stickiness', respectively.
9389 (find_field, Fconstrain_to_field, char_property_eq)
9390 (char_property_stickiness): Changed to call char-property functions
9391 instead of text-property-only ones.
9392
9393 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9394 `next_single_char_property_change'). Do more error checking, and
9395 cleanup limit behavior.
9396 (Fprevious_single_char_property_change): New function.
9397 (syms_of_textprop): Initialize new subrs.
9398
9399 * xdisp.c (display_prop_end, invisible_text_between_p):
9400 Call Fnext_single_char_property_change instead of
9401 next_single_char_property_change.
9402
3fddcdc3
JR
94032000-07-15 Jason Rumney <jasonr@gnu.org>
9404
9405 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9406 after menu is finished with.
9407 (add_menu_item): Only consider wv->title as a menu title.
9408 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9409
9410 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9411 null title.
9412 (FONT_REGEXP): Remove unused macro, and its sub-components.
9413 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9414
9415 * w32term.c (help_echo_object, help_echo_pos): New variables.
9416 (note_mode_line_highlight): Store additional information about the
9417 help-echo in help_echo_object and help_echo_pos. Check both
9418 `local-map' and `keymap' properties for changing the cursor
9419 (note_mouse_highlight): Store additional information about the
9420 help-echo in help_echo_object and help_echo_pos.
9421 (note_tool_bar_highlight): Set help_echo_object to nil and
9422 help_echo_pos to -1.
9423 (w32_read_socket): Use gen_help_event instead of filling
9424 input_events manually.
9425 (syms_of_w32term): Staticpro help_echo_object.
9426 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9427 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9428 (x_clear_mouse_face): New function.
9429 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9430 (x_update_window_begin): No need to turn off the mouse
9431 highlight here.
9432 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9433 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9434 (x_fill_stretch_glyph_string): Consume runs of stretch
9435 glyphs instead of a single one.
9436 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9437 with new argument list.
9438 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9439 (x_append_glyph, x_append_composite_glyph)
9440 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9441 changes in struct glyph starting 1999-12-27. See comments for
9442 xterm.c on 2000-07-05.
9443
178c5d9c
SS
94442000-07-14 Sam Steingold <sds@gnu.org>
9445
9446 * xfaces.c (realize_x_face): Fix the last patch:
9447 check `default_face' before dereferencing.
9448
6fe533f6
DL
94492000-07-14 Dave Love <fx@gnu.org>
9450
069f5950 9451 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9452
dd7b81cf
KH
94532000-07-14 Kenichi Handa <handa@etl.go.jp>
9454
0693904a 9455 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9456 default_face's fontset, not using the default fontset.
0693904a 9457
dd7b81cf
KH
9458 * coding.c (inhibit_iso_escape_detection): New variable.
9459 (syms_of_coding): Make it a Lisp variable.
9460 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9461 nonzero, ignore ISO2022's escape sequence.
9462
d5aa31d8
GM
94632000-07-14 Gerd Moellmann <gerd@gnu.org>
9464
e5acf0ca
GM
9465 * alloca.c (malloc) [emacs]: Define as xmalloc.
9466
bd23a692
GM
9467 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9468 use that instead of the mouse position. Add parameters DX and DY.
9469
9470 * dispextern.h (Fx_show_tip): Adjust number of parameters
9471 in prototype.
9472
9662da0b
GM
9473 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9474 if HELP is a function, call it with OBJECT and POS as parameters
9475 to get the help to display.
9476 (gen_help_event, kbd_buffer_store_help_event): New functions.
9477 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9478 (read_char): Call show_help_echo with new parameters.
9479
178c5d9c 9480 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9481 Add prototypes.
9482
9483 * xterm.c (help_echo_object, help_echo_pos): New variables.
9484 (note_mode_line_highlight): Store additional information about the
9485 help-echo in help_echo_object and help_echo_pos. Check both
9486 `local-map' and `keymap' properties for changing the cursor
9487 (note_mouse_highlight): Store additional information about the
9488 help-echo in help_echo_object and help_echo_pos.
9489 (note_tool_bar_highlight): Set help_echo_object to nil and
9490 help_echo_pos to -1.
9491 (XTread_socket): Use gen_help_event instead of filling
9492 input_events manually.
9493 (syms_of_xterm): Staticpro help_echo_object.
9494
9495 * xmenu.c (menu_highlight_callback): Use
9496 kbd_buffer_store_help_event instead of setting up and input_event
9497 structure manually.
9498
9499 * xdisp.c (eval_form): GCPRO argument sexpr.
9500 (call_function): New function.
9501 (handle_single_display_prop): Use call_function and FUNCTIONP
9502 instead of checking whether if font_height is a symbol and
9503 using eval_form.
9504
9505 * eval.c (internal_condition_case_2): New function.
9506
9507 * lisp.h (FUNCTIONP): New macro.
9508 (internal_condition_case_2, call_function): Add prototypes.
9509
d5aa31d8
GM
9510 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9511 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9512 Always set `arg' member of input_events.
9513 (construct_menu_click): Unused function removed.
9514
9515 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9516
9517 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9518 (construct_drag_n_drop, x_scroll_bar_handle_click)
9519 (w32_read_socket): Always set `arg' member of input_events.
9520
9521 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9522
9523 * lisp.h (eval_form): Add prototype.
9524
9525 * xdisp.c (eval_form): Make it externally visible.
9526
0f1a9b23
GM
95272000-07-13 Gerd Moellmann <gerd@gnu.org>
9528
9529 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9530 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9531 consing. For prefix events, store the frame in the `arg' slot of
9532 the event, otherwise store the key there.
9533 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9534 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9535
9536 * xmenu.c (menu_highlight_callback): Store help string in the
9537 `arg' member of the input event; don't cons.
9538 (menubar_selection_callback): Use the `arg' slot of input events
9539 to queue additional information, instead of consing.
9540
9541 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9542
9543 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9544 TOOL_BAR_EVENTs.
9545 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9546
9547 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9548 input events to queue additional information, instead of consing.
9549
9550 * keyboard.c (kbd_buffer_gcpro): Renamed from
9551 kbd_buffer_frame_or_window. Now used for all Lisp objects
9552 referenced from the input queue.
9553 (kbd_buffer_store_event): Always use structure assignment for
9554 copying input events. Record all Lisp objects referenced from
9555 events in kbd_buffer_gcpro.
9556 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9557 differently from input events. Test for prefix menu_bar_events
9558 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9559 event in kbd_buffer_gcpro to nil.
9560 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9561 frame_or_window is equal to its arg member as prefix events.
9562 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9563 used by an input event to nil.
9564 (init_keyboard): Use two times the size of the input queue
9565 for kbd_buffer_gcpro.
9566 (syms_of_keyboard): Likewise.
9567
52283633
SM
9568 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9569 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9570
9571 * termhooks.h (struct input_event): Add member `arg'.
9572 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9573 (USER_SIGNAL_EVENT): Renamed from user_signal.
9574
9575 * xfaces.c (ASET): Remove definition.
9576
9577 * lisp.h (AREF, ASET, ASIZE): New macros.
9578
9579 * fontset.c (AREF, ASIZE): Remove definitions.
9580
9581 * fns.c (AREF): Remove definition.
178c5d9c 9582
0f1a9b23
GM
9583 * composite.c (AREF): Remove definition.
9584
712eaef2
GM
95852000-07-12 Gerd Moellmann <gerd@gnu.org>
9586
d8ee7803
GM
9587 * dispnew.c (redraw_overlapped_rows): Add missing local.
9588 (scrolling_window): Remove debug code.
9589
712eaef2
GM
9590 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9591 Before scrolling, turn off a mouse-highlight in the window
9592 being scrolled.
9593
9594 * xterm.c (x_update_window_end): Add parameter
9595 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9596 redisplay in XTframe_up_to_date.
9597 (x_clear_mouse_face): New function.
9598 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9599
9600 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9601 current glyph row.
9602 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9603 it when any row is written to that contains glyphs highlighted in
9604 mouse-face.
9605 (update_window): Call the window update end hook with new
9606 parameter MOUSE_FACE_OVERWRITTEN_P.
9607 (direct_output_for_insert): Give up if row contains mouse-face.
9608
9609 * dispextern.h (struct redisplay_interface): Add parameter
9610 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9611 (clear_mouse_face): New function pointer member.
9612
02010917
SM
96132000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9614
9615 * syntax.c (back_comment): Use one switch rather than a few `if's.
9616 Obey open_paren_in_column_0_is_defun_start.
9617 When reverting to the `slow' method, try to nicely handle the case
9618 of nested comments by checking that the comment-starter we found
9619 does indeed match the comment-ender.
9620 (scan_sexps_forward, scan_sexps_forward):
9621 Ignore excessive opening parenthesis rather than throwing an error.
9622
d76c03ea
GM
96232000-07-11 Gerd Moellmann <gerd@gnu.org>
9624
9625 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9626 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9627
9628 * dispnew.c (direct_output_forward_char): Give up if currently
9629 displaying a message instead of the minibuffer contents.
9630
9631 * xterm.c (x_update_window_begin): No need to turn off the mouse
9632 highlight here.
9633 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9634 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9635
9636 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9637 compare the mouse_face_p flags of both rows.
9638
9639 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9640
d55ead18
EZ
96412000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9642
9643 * keyboard.c (show_help_echo): Accept additional parameter
9644 ok_to_overwrite_keystroke_echo.
9645 (read_char): Call show_help_echo with a zero
9646 ok_to_overwrite_keystroke_echo argument.
52283633 9647 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9648 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9649 ok_to_overwrite_keystroke_echo argument.
9650 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9651 non-zero ok_to_overwrite_keystroke_echo argument.
9652
df75b1a3
GM
96532000-07-10 Gerd Moellmann <gerd@gnu.org>
9654
4b92c49a
GM
9655 * xdisp.c (try_window_id): If changes are all below what is
9656 displayed in the window, and point is in the window, we still
9657 might have to find point on the display.
9658
9659 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9660 glyphs instead of a single one.
9661 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9662 with new argument list.
9663 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9664
df75b1a3
GM
9665 * keymap.c (get_keymap_1): Add comment that this function can GC.
9666 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9667 comment that functions can GC.
9668 (Fset_keymap_parent): GCPRO arg KEYMAP.
9669
4314cf3e
EZ
96702000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9671
9672 * msdos.c (XMenuActivate): After exiting the menu, restore the
9673 echo area message and erase it.
9674
ab49ce15
KH
96752000-07-10 Kenichi Handa <handa@etl.go.jp>
9676
9677 * fontset.c (Ffontset_info): Make the return value more compatible
9678 with that of Emacs 20.
9679
090a072f
GM
96802000-07-07 Gerd Moellmann <gerd@gnu.org>
9681
9682 * eval.c (Fsignal): Handle case that backtrace_list is null.
9683
f92de4a6
KH
96842000-07-07 Kenichi Handa <handa@etl.go.jp>
9685
9686 * ccl.c (Fccl_execute): Typo fixed.
9687
dd8888a1
GM
96882000-07-06 Gerd Moellmann <gerd@gnu.org>
9689
e5c81191 9690 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9691
dd8888a1
GM
9692 * window.c (Fwindow_list): Reverse list at the end.
9693 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9694 means allow windows on OWINDOW's frame, only.
9695 (window_loop): Simplified; use Fwindow_list.
9696
9697 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9698
485266d0
GM
96992000-07-05 Gerd Moellmann <gerd@gnu.org>
9700
9701 * xterm.c (XTread_socket): Increment handling_signal at the start,
9702 decrement it at the end.
9703
9704 * eval.c (handling_signal): New variable.
9705 (Fsignal): Abort if handling_signal is non-zero.
9706
9707 * lisp.h (handling_signal): External declaration.
178c5d9c 9708
485266d0
GM
9709 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9710
80fcd514
KR
97112000-07-05 Ken Raeburn <raeburn@gnu.org>
9712
9713 Sound support for NetBSD through "Linux emulation" support:
9714 * config.in (HAVE_SOUNDCARD_H): Undef.
9715 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9716 * Makefile.in (LIBSOUND): New variable.
9717 (LIBES): Include it.
52283633
SM
9718 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9719 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9720 (vox_open): Use DEFAULT_SOUND_DEVICE.
9721 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9722
d5c5cddd
GM
97232000-07-05 Gerd Moellmann <gerd@gnu.org>
9724
9725 * print.c (print_error_message): If Vsignaling_function is set,
9726 show it in *Messages*.
9727
9728 * lisp.h (Vsignaling_function): External declaration.
9729
9730 * eval.c (Vsignaling_function): New variable.
9731 (Fsignal): Compute it.
9732 (syms_of_eval): Staticpro it.
9733
65171e3a
DL
97342000-07-05 Dave Love <fx@gnu.org>
9735
9736 * syswait.h: Use the autoconf recommended approach. Old code
9737 #if'd out in case we need to revert.
9738
178c5d9c 9739 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9740
e2c46326
AI
97412000-07-05 Andrew Innes <andrewi@gnu.org>
9742
9743 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9744 when non-NULL instead of __morecore, to take account of buffer
9745 memory. This also solves a problem with spurious memory warnings
9746 on Windows.
9747
9748 * ralloc.c: Make real_morecore non-static.
9749
9750 * eval.c (internal_condition_case): Comment out abort if
9751 interrupt_input_blocked is not zero.
9752
9753 * makefile.nt: Add support for `bootstrap' and related targets.
9754 Include minimal debug info in emacs.exe in release build.
9755 Remove all dependencies on lisp.h, and fixup some others.
9756
9757 * w32.c (init_environment): Install code from 20.7 for providing
9758 default values for environment variables, based on the
9759 executable's own location.
52283633 9760 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9761 (sys_socket): Install socket inheritance bug fix from 20.7.
9762
9763 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9764 here via blockinput.h).
9765
a027a91b
SM
97662000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9767
e4b31601
SM
9768 * w32menu.c (w32_menu_display_help):
9769 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9770
9771 * keyboard.h (show_help_echo): Declare.
9772
9773 * keyboard.c (show_help_echo): New function, extracted from read_char.
9774 Feval its `msg' argument if it's a cons cell.
9775 (read_char): Use it.
4cf8d9d5 9776 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9777
178c5d9c 9778 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9779 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9780 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9781 (dos_rawgetc):
9782 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9783 (note_tool_bar_highlight, w32_read_socket):
9784 Do not gratuitously ignore non-string `help-echo' properties.
9785
88d75730
GM
97862000-07-05 Gerd Moellmann <gerd@gnu.org>
9787
969f7e79
GM
9788 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9789
71201b00
GM
9790 * window.c (delete_all_subwindows): Reset Vwindow_list.
9791
88d75730
GM
9792 * xterm.c (x_append_glyph, x_append_composite_glyph)
9793 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9794 changes in struct glyph starting 1999-12-27. Some bit-fields of
9795 struct glyph were not set, which made glyphs unequal when compared
9796 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9797 effects were the result. This also depended on the contents of
9798 memory returned by xmalloc. If flickering happens again, activate
9799 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9800 gone with that, chances are that it is caused by something similar.
88d75730
GM
9801
9802 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9803
88d75730
GM
9804 * dispextern.h: Add some comments.
9805
9806 * window.c (add_window_to_list): Add parameter LIST.
9807 (window_list): Order list so that, for each frame, windows are
9808 in canonical order, and so that frames appear in the list in
9809 the order given by Vframe_list.
9810 (next_window): Reverse the handling of NEXT_P.
9811
53654733
GM
98122000-07-04 Gerd Moellmann <gerd@gnu.org>
9813
87efd256
GM
9814 * window.c (Vwindow_list): New variable.
9815 (make_window, delete_window): Set Vwindow_list to nil.
9816 (check_window_containing): New function.
9817 (window_from_coordinates): Rewritten.
9818 (add_window_to_list, window_list, candidate_window_p)
9819 (decode_next_window_args, next_window): New functions.
52283633 9820 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9821 (Fwindow_list): New function.
9822 (Fother_window): Cleaned up.
9823 (foreach_window): Add a longer "variable argument list". Let
9824 callback function return 0 to indicate that cycling over windows
9825 should stop.
9826 (foreach_window_1): Likewise.
9827 (freeze_window_start): Return int.
9828 (init_window): New function.
9829 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9830
9831 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9832 input_event with bzero.
9833 (main): Call init_window.
9834
53654733
GM
9835 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9836 a menu filter.
9837
4a8c194f
KH
98382000-07-04 Kenichi Handa <handa@etl.go.jp>
9839
9840 * composite.h (make_composition_value_copy): Extern it.
9841
9842 * composite.c (make_composition_value_copy): New function.
9843
9844 * editfns.c (Fformat): While copying text properties, make each
9845 composition property value a copy.
9846
9847 * fns.c (concat): While copying text properties, make each
9848 composition property value a copy.
9849
831a6cb0
GM
98502000-07-03 Gerd Moellmann <gerd@gnu.org>
9851
2f516940
GM
9852 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9853
178c5d9c 9854 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9855 marked already.
9856
831a6cb0
GM
9857 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9858 include those frames as candidates which have their focus
9859 redirected to the minibuffer frame.
9860
d9c4f922
SM
98612000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9862
9863 * fns.c (Fputhash): Return `value' rather than nil.
9864
3780bc22
GM
98652000-06-30 Gerd Moellmann <gerd@gnu.org>
9866
97d176db
GM
9867 * frame.c (next_frame): Don't check focus redirection in case
9868 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9869 unless their focus is redirected, which contradicts the
9870 specification of next-frame, and leads to infinite loops in
9871 certain situations when cycling through windows with next-window.
9872
dca9961d
KH
98732000-06-30 Kenichi Handa <handa@etl.go.jp>
9874
9875 * coding.c (code_convert_region): Even if the length of text is
9876 zero, try to convert it if coding->type is coding_type_ccl.
9877 (decode_coding_string, encode_coding_string): Likewise.
9878
d5483ab1
GM
98792000-06-28 Gerd Moellmann <gerd@gnu.org>
9880
af5c25e1 9881 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9882 the display if windows_or_buffers_changed.
af5c25e1
GM
9883
9884 * dispnew.c (struct row_entry): New structure.
9885 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9886 (row_table_size, old_lines, new_lines, old_lines_size)
9887 (new_lines_size, run_pool, runs_size, runs): New variables.
9888 (add_row_entry): New function.
9889 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9890 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9891 holding them in local variables. Use a larger hash table whose
9892 size depends on glyph matrix sizes. Don't use bzero to clear the
9893 hash table; instead, clear used slots only.
9894
9895 * fns.c (next_almost_prime): Make it externally visible.
9896
9897 * lisp.h (next_almost_prime): Add prototype.
9898
d5483ab1
GM
9899 * s/isc4-0.h (sigunblock): Define.
9900
9901 * s/sco5.h (sigunblock): Define.
9902
93e40f40
DL
99032000-06-27 Dave Love <fx@gnu.org>
9904
9905 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9906 (moved to osf5-0.h).
9907 [!NOT_C_CODE]: Protect string.h stuff.
9908
9909 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9910 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9911
3c4b7685
GM
99122000-06-27 Gerd Moellmann <gerd@gnu.org>
9913
97d176db 9914 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9915 below the last line from the needed window height.
9916
32cad0aa
SM
99172000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9918
9919 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9920 (Fwidget_get): Use it.
9921 (syms_of_fns): Defsubr it.
9922
2c69ced2
GM
99232000-06-26 Gerd Moellmann <gerd@gnu.org>
9924
178c5d9c 9925 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9926 display info for XIM.
9927 (xim_open_dpy): Likewise.
9928 (xim_close_dpy): Don't free the display info's XIM.
9929
9930 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9931
9932 * config.in (USE_XIM): New define.
9933
3fc720e4
GM
9934 * keymap.c (get_keyelt): For menu-items containing a `:filter
9935 FILTER', apply FILTER to the menu-item's definition to get the
9936 real definition to use.
9937
9938 * lisp.h (QCfilter): External declaration.
9939
2c69ced2
GM
9940 * xfns.c (Fimage_size): New function.
9941 (syms_of_xfns): Defsubr it.
9942
f978b2a2
AS
99432000-06-26 Andreas Schwab <schwab@suse.de>
9944
9945 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9946 Fstring_as_unibyte.
9947
94cc7892
DL
99482000-06-25 Dave Love <fx@gnu.org>
9949
52283633 9950 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9951
9952 * Makefile.in (blockinput.h): Depend on atimer.h.
9953 (atimer.h): Depend on systime.h.
9954
52283633 9955 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9956
52283633 9957 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9958
9959 * lisp.h (swap_in_global_binding): Declare.
9960
b8c24556
KR
99612000-06-24 Ken Raeburn <raeburn@gnu.org>
9962
9963 * process.c (Fopen_network_stream): Turn off atimers for duration
9964 of call to connect. (Patch from Gerd.)
9965
8cf8560b
DL
99662000-06-23 Dave Love <fx@gnu.org>
9967
511c7541
DL
9968 * ralloc.c: Maybe include unistd.h
9969
8cf8560b
DL
9970 * emacs.c (setgrp): Undefine before defining.
9971 (malloc_warning, set_time_zone_rule, index): Prototype.
9972
9973 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9974 HAVE_STRUCT_TIMEZONE.
9975
9976 * s/osf1.h: Move string.h hack here from alpha.h and make it
9977 conditional.
9978 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9979 _XOPEN_SOURCE.
9980 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9981 (SOCKLEN_TYPE): Don't define.
9982
9983 * m/alpha.h: Remove string.h hack.
9984
9985 * s/osf5-0.h: New file.
9986
9987 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9988 include time.h, done by systime.h.
9989 [__FreeBSD__]: Remove redundant includes.
9990
3fc720e4 9991 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9992 (delete_temp_file): Return Qnil to avoid warning.
9993
9994 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9995
9996 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9997 HAVE_X_WINDOWS.
9998
9999 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10000
10001 * composite.h (compose_text): Declare.
10002
10003 * xterm.c: Don't include sys/types.h unconditionally. Don't
10004 protect its inclusion with !USG (following xmenu.c).
10005
ea055732
GM
100062000-06-23 Gerd Moellmann <gerd@gnu.org>
10007
10008 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10009 in x_create_frame.
10010
74b01b80
EZ
100112000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10012
10013 * coding.c (decode_eol_post_ccl): Special handling for undecided
10014 and inconsistent EOL types.
10015
64f3a166
GM
100162000-06-22 Gerd Moellmann <gerd@gnu.org>
10017
16cf31f7
GM
10018 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10019 trough color and main window's background color.
10020
52283633 10021 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10022
10023 * xterm.h (Xt_app_con): External declaration.
10024
10025 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10026
486a103d
GM
10027 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10028
64f3a166
GM
10029 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10030 (handle_invisible_prop): Record the start of invisible text in
10031 it->add_overlay_start.
10032 (struct overlay_entry): Add member `overlay'.
10033 (handle_overlay_change): Simplify.
10034 (next_overlay_string): After having processed overlay strings at the
10035 end of the buffer, record that fact in
10036 it->overlay_strings_at_end_processed_p.
10037 (compare_overlay_entries): If before- and after-strings come
10038 from the same overlay, let before-strings come first.
10039 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10040 (load_overlay_strings): Take it->add_overlay_start into account
10041 when adding overlay strings.
10042
10043 * dispextern.h (struct it): Add member add_overlay_start.
10044
bb746ea6
DL
100452000-06-22 Dave Love <fx@gnu.org>
10046
10047 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10048
10049 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10050
a8f573f3
KH
100512000-06-22 Kenichi Handa <handa@etl.go.jp>
10052
10053 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10054 is greater than 0.
10055
9f2bbc92
DL
100562000-06-21 Dave Love <fx@gnu.org>
10057
178c5d9c 10058 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10059
3ee5041c
SM
100602000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10061
10062 * syntax.c (back_comment): Simplify string-parity counting (with
10063 the added benefit of handling multiple string-styles as long as
10064 they are not intertwined).
10065 Jump to the slow code as soon as a comment starter is found in
10066 a "string_lossage" position. Fixes the case: " /* " /* " */.
10067
4c343001
DL
100682000-06-21 Dave Love <fx@gnu.org>
10069
10070 * Makefile.in: Use GETLOADAVG_LIBS.
10071
10072 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10073 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10074
e6365855
SM
100752000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10076
10077 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10078 (Fforward_comment, scan_lists):
10079 Check the comstyle of single-char comment-starters.
10080 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10081 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10082 Check the comstyle of single-char comment-starters.
10083 Clarify control-flow around the Scomment case.
e6365855 10084
5700d2cc
DL
100852000-06-20 Dave Love <fx@gnu.org>
10086
d355bd8a
SM
10087 * fns.c (make_hash_table, maybe_resize_hash_table):
10088 Cast arg of next_almost_prime.
5700d2cc 10089
178c5d9c 10090 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10091
10092 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10093 and unistd.h.
10094
4a27bdfb
GM
100952000-06-20 Gerd Moellmann <gerd@gnu.org>
10096
a61d762c 10097 * keyboard.c (adjust_point_for_property): Check if display
52283633 10098 property should be treated as intangible by looking at its value.
a61d762c 10099
178c5d9c 10100 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10101 (display_prop_intangible_p): New functions.
10102
10103 * dispextern.h (display_prop_intangible_p): Add prototype.
10104
10105 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10106
4a27bdfb
GM
10107 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10108 argument to sigprocmask.
10109
10110 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10111 argument to sigprocmask.
10112
10113 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10114 sigprocmask_set, and pass a pointer to it to sigprocmask.
10115
10116 * sysdep.c (sigprocmask_set): New variable.
10117
10118 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10119 report_file_error.
10120
427ec082
SS
101212000-06-20 Sam Steingold <sds@gnu.org>
10122
10123 * xrdb.c: Don't declare xmalloc, xrealloc.
10124
8972fe79 101252000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10126
10127 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10128 (re_comp): Cast gettext return value to avoid complaints when
10129 !HAVE_LIBINTL.
10130
074b6efe
DL
101312000-06-20 Dave Love <fx@gnu.org>
10132
52283633 10133 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10134
5700d2cc 10135 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10136
d355bd8a 10137 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10138
10139 * m/alpha.h: Don't declare xmalloc, xrealloc.
10140
0af4f205
DL
10141 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10142
10143 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10144
10145 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10146
10147 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10148 HAVE_GETWD.
10149
074b6efe
DL
10150 * keyboard.h (poll_for_input_1): Declare.
10151
10152 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10153
10154 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10155
10156 * doprnt.c: Don't declare xmalloc, xrealloc.
10157
10158 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10159 (getenv, ctime, getwd): Removed.
10160 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10161
10162 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10163 x_set_tool_bar_lines.
10164
10165 * config.in: Add HAVE_GETWD. Move some definitions above
10166 machine/system includes.
10167
68a5e97b
KH
101682000-06-20 Kenichi Handa <handa@etl.go.jp>
10169
95417e1e
KH
10170 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10171
68a5e97b
KH
10172 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10173 contain information about ENCODING.
10174
10175 * fontset.c (FONTSET_ASCII): Use the first element of char table
10176 for an ASCII font, not defalt slot.
10177 (fontset_ref_via_base): If FONTSET doesn't contain information for
10178 C, try the default fontset.
10179 (make_fontset): Don't copy the default fontset.
10180 (fontset_font_pattern): Likewise.
10181 (accumulate_font_info): If ELT is nil, use the corresponding
10182 element in the default fontset.
10183
3b4fa1b2
DL
101842000-06-19 Dave Love <fx@gnu.org>
10185
943e731c
DL
10186 * syntax.c (Fparse_partial_sexp): Doc fix.
10187
10188 * regex.h: Test PROTOTYPES as well as __STDC__.
10189
3b4fa1b2
DL
10190 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10191 errno, strerror. Put text after #endif in comment.
10192
52283633 10193 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10194
10195 * xterm.c (x_frame_of_widget): Likewise.
10196
cdf0357b
GM
101972000-06-19 Gerd Moellmann <gerd@gnu.org>
10198
10199 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10200 to Vfundamental_mode_abbrev_table.
10201
10202 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10203 bogus objects are marked. This slows down GC by ~80 percent, but
10204 it might be worth trying when debugging GC-related problems.
10205 This feature requires conservative stack marking to be enabled.
10206
10207 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10208 returns XLookupChars, reset `modifiers' to zero.
10209
998e9f8c
DL
102102000-06-19 Dave Love <fx@gnu.org>
10211
10212 * mktime.c: Unprotoized.
10213
18e21ce8 102142000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10215
10216 * data.c (set_internal): If variable is frame-local,
10217 store the new value immediately into the frame parameter alist.
10218
140c4ac6
KR
102192000-06-19 Ken Raeburn <raeburn@gnu.org>
10220
14358466
KR
10221 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10222 in the custom handler pointer.
10223
140c4ac6
KR
10224 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10225 value, or checks for CHAR_META can fail when Lisp_Object is a
10226 union type.
10227 * keymap.c (get_keyelt): Likewise.
10228
10d7bf84
KH
102292000-06-19 Kenichi Handa <handa@etl.go.jp>
10230
10231 * ccl.h (struct ccl_program): New member eol_type.
10232 (struct ccl_spec): New member cr_carryover.
10233
10234 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10235 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10236
10237 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10238 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10239 (decode_eol_post_ccl): New function.
10240 (decode_coding): Don't detect EOL format here for CCL based coding
10241 systems.
10242 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10243 decode_eol_post_ccl after running the CCL program.
10244 (code_convert_region): Don't detect EOL format here for CCL based
10245 coding systems.
10246 (decode_coding_string): Likewise.
10247
52e386c2
KR
102482000-06-18 Ken Raeburn <raeburn@gnu.org>
10249
10250 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10251 when treating it as an integer.
10252
10253 * coding.h (encode_coding_string): Declare.
10254
10255 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10256 it as an integer.
10257
10258 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10259 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10260 to be passed to get_local_map.
10261
10262 * sound.c (Fplay_sound): Don't call make_number on
10263 Frun_hook_with_args count argument.
10264
10265 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10266 for lisp objects in X event structure data field, when lisp
10267 objects are represented with unions.
10268 (x_scroll_bar_to_input_event): Ditto.
10269
b357b9d4
KR
102702000-06-16 Ken Raeburn <raeburn@gnu.org>
10271
10272 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10273 termination of string. Fix sense of test whether
10274 Vline_number_display_limit is an integer.
b357b9d4 10275
a871441d
GM
102762000-06-16 Gerd Moellmann <gerd@gnu.org>
10277
a9021acd
GM
10278 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10279 only if HAVE_X_WINDOWS.
10280
6344985d
GM
10281 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10282 of titles.
10283
427ec082 10284 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10285 out of bounds.
10286
228b083e
EZ
102872000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10288
10289 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10290 of its headers.
10291
c25b53a2
KH
102922000-06-15 Kenichi Handa <handa@etl.go.jp>
10293
10294 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10295 start of the while loop.
10296
a6981b11
GM
102972000-06-15 Gerd Moellmann <gerd@gnu.org>
10298
e9924e52
GM
10299 * atimer.c (alarm_signal_handler): Add forward declaration.
10300
a6981b11
GM
10301 * data.c (set_internal): Remove debug code.
10302
25fa6deb
GM
103032000-06-14 Gerd Moellmann <gerd@gnu.org>
10304
dce6b995
GM
10305 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10306
9f817ea4
GM
10307 * unexec.c (toplevel) [COFF]: Include coff.h.
10308
10309 * s/lynxos.h: New file.
10310
10311 * keymap.c (Fsingle_key_description): Enclose function key and
10312 event symbol names in angle brackets.
10313
8a4e3c0c
GM
10314 * xdisp.c (setup_echo_area_for_printing): Call
10315 message_log_maybe_newline if message_buf_print is not set.
10316
10317 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10318 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10319 function does something useful even when message_buf_print is
10320 already set.
10321
52283633
SM
10322 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10323 New variables.
25fa6deb
GM
10324 (ensure_echo_area_buffers): Initialize echo buffer's
10325 truncate lines setting to nil.
10326 (with_echo_area_buffer): Don't set the echo buffer's truncate
10327 lines setting here.
8a4e3c0c 10328 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10329 of message_truncate_lines.
10330 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10331 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10332 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10333
10334 * keyboard.c (read_char): Bind message-truncate-lines to t
10335 while displaying a help-echo.
10336
10337 * lisp.h (Qmessage_truncate_lines): External declaration.
10338
163dcff3
GM
103392000-06-13 Gerd Moellmann <gerd@gnu.org>
10340
1681ead6
GM
10341 * xdisp.c (Vline_number_display_limit): Renamed from
10342 line_number_display_limit.
10343 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10344 Extend documentation string. Initialize
10345 Vline_number_display_limit to nil meaning no limit.
10346 (decode_mode_spec): Use Vline_number_display_limit with its new
10347 meaning.
10348
163dcff3
GM
10349 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10350
18e21ce8 103512000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10352
10353 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10354
163dcff3
GM
10355 * xfns.c (x_set_frame_parameters): Comment fix.
10356
10357 * frame.c (store_frame_param): Call swap_in_global_binding if the
10358 variable's current binding was chosen based on this frame.
10359
10360 * data.c (swap_in_global_binding): New function.
10361
a704139d
EZ
103622000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10363
10364 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10365 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10366
9b6610db
EZ
103672000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10368
10369 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10370
c68833d2
JR
103712000-06-12 Jason Rumney <jasonr@gnu.org>
10372
10373 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10374
10375 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10376
10377 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10378
10379 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10380
ed1056b3
GM
103812000-06-12 Gerd Moellmann <gerd@gnu.org>
10382
10383 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10384 (syms_of_xfaces): Defsubr Sdump_colors.
10385 (x_free_colors): Don't treat b&w specially on default visual.
10386 (x_free_dpy_colors): New function.
10387 (free_face_colors): Don't check visual class; it's done
10388 in x_free_colors.
10389
10390 * xterm.c (x_frame_of_widget): New function.
10391 (x_alloc_nearest_color_for_widget): Use it.
10392 (x_copy_dpy_color): New function.
10393 (x_destroy_window): Free various colors.
10394
5050a2ef
KH
103952000-06-12 Kenichi Handa <handa@etl.go.jp>
10396
10397 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10398
10399 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10400
10401 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10402
10403 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10404
10405 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10406
fb1b041d
DL
104072000-06-11 Dave Love <fx@gnu.org>
10408
10409 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10410
ff96b5f4
EZ
104112000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10412
10413 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10414
db8eeecd
GM
104152000-06-11 Gerd Moellmann <gerd@gnu.org>
10416
ed1056b3 10417 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10418 to `XEvent *'.
10419
49b71c5f
KH
104202000-06-10 Kenichi Handa <handa@etl.go.jp>
10421
c479bd55
KH
10422 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10423 (regex_compile): Fix the code for handling the case of single byte
10424 char and multibyte char being mixed in a range within [...].
10425
ff6a65c2
KH
10426 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10427 and dst_multibyte members of coding.
10428
49b71c5f
KH
10429 * charset.c (update_charset_table): Update the table
10430 bytes_by_char_head.
10431 (init_charset_once): Initialize elements of bytes_by_char_head to
10432 1 except for leading codes for private charases.
10433
10434 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10435 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10436
9e80b57d
KR
104372000-06-09 Ken Raeburn <raeburn@gnu.org>
10438
10439 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10440 access the data it doesn't point to.
10441
f83fe4b4
GM
104422000-06-08 Gerd Moellmann <gerd@gnu.org>
10443
10444 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10445 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10446 event queue. This is necessary because Emacs otherwise won't
10447 perform a switch-frame to a new frame until some other event, for
10448 example a keystroke event, forces it to do so. This has various
10449 effects, one visible being that the cursor of a frame created with
10450 C-x 5 2 or switched to with a window manager key binding like
10451 A-TAB stays hollow because selected_window isn't on the newly
10452 focused frame until the switch-frame is performed.
10453
10454 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10455 generating a switch-frame event if necessary.
10456
10457 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10458
10459 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10460 it's an integer.
10461
0890801b
KH
104622000-06-08 Kenichi Handa <handa@etl.go.jp>
10463
52283633 10464 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10465
173cbca8
GM
104662000-06-07 Gerd Moellmann <gerd@gnu.org>
10467
3091c2a6
GM
10468 * window.c (displayed_window_lines): Take empty lines at
10469 the bottom of a window into account.
427ec082 10470
f38952fe
GM
10471 * window.c (displayed_window_lines): New function.
10472 (Fmove_to_window_line): Use displayed_window_lines to determine
10473 the number of lines to move, instead of using the window's height.
10474
10475 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10476 to stop reading, even if the form read sets point to a different
10477 value when evaluated.
10478
427ec082 10479 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10480 put the cursor.
10481
6ba6c818
KH
104822000-06-07 Kenichi Handa <handa@etl.go.jp>
10483
10484 * fileio.c (e_write): Free composition data if stored in
10485 coding->cmp_data.
10486
5f1aea9a
GM
104872000-06-06 Gerd Moellmann <gerd@gnu.org>
10488
666852af
GM
10489 * xdisp.c (display_line): Set row's and iterator's
10490 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10491 Set cursor even if row ends in the middle of a character.
10492 (dump_glyph_row): Print values of new flags.
10493 (redisplay_window) <cursor movement in unchanged window>: When
10494 point has been moved forward, and PT is at the end of the cursor
10495 row, don't place the cursor in the next row if the cursor row ends
10496 in the middle of a character or at ZV.
10497
10498 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10499 (struct glyph_row): Add starts_in_middle_of_char_p and
10500 ends_in_middle_of_char_p.
10501 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10502 ends_in_middle_of_char_p flag.
10503 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10504
d13f3e2e
GM
10505 * term.c (append_glyph): Revert change of 2000-06-06.
10506
10507 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10508 padding glyph not fitting on line as whole character not
10509 fitting on line.
10510
5f1aea9a
GM
10511 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10512 this isn't true for images with `:ascent 100'.
10513
10cda9b0
KH
105142000-06-06 Kenichi Handa <handa@etl.go.jp>
10515
ed00559d
KH
10516 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10517 as modified if it is originally unmodified.
10518
10cda9b0
KH
10519 * term.c (encode_terminal_code): Change the way to check if
10520 terminal coding does any conversion.
10521 (append_glyph): Set glyph->pixel_width correctly.
10522
10523 * xdisp.c (display_line): While checking line continuation, pay
10524 attention to a padding glyph.
10525
1969fae2
GM
105262000-06-05 Gerd Moellmann <gerd@gnu.org>
10527
10528 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10529
162ccef4
DL
105302000-06-05 Dave Love <fx@gnu.org>
10531
f19f32dd
DL
10532 * xdisp.c: Include fontset.h.
10533
10534 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10535
10536 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10537
10538 * dispnew.c: Conditionally include term.h.
10539
10540 * coding.h: Declare code_convert_string_norecord.
10541
10542 * frame.h (struct frame): Use volatile unconditionally.
10543
10544 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10545
10546 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10547
10548 * systime.h: Protect against multiple inclusion.
10549 (timezone) [USG5_4]: Define as time_t.
10550
10551 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10552 (Foptimize_char_table, make_temp_name): Declare.
10553
10554 * Makefile.in (xdisp.o): Depend on fontset.h.
10555
10556 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10557
10558 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10559 (Foptimize_char_table, make_temp_name): Declare.
10560
427ec082 10561 * s/irix4-0.h:
162ccef4
DL
10562 * s/irix5-0.h:
10563 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10564
2082fe81
DL
105652000-06-02 Dave Love <fx@gnu.org>
10566
10567 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10568
dcf671d2
GM
105692000-06-02 Gerd Moellmann <gerd@gnu.org>
10570
10571 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10572 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10573 be freed.
10574
10575 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10576 glyph, use the ASCII NUL character to determine the face.
10577
d42122a3
DL
105782000-06-02 Dave Love <fx@gnu.org>
10579
10580 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10581 (VFORK_RETURN_TYPE): Remove.
427ec082 10582
d42122a3
DL
10583 * config.in: Add NO_MATHERR.
10584
dd432f16
DL
105852000-06-01 Dave Love <fx@gnu.org>
10586
90aa4ea8
DL
10587 * cmds.c (internal_self_insert): Don't check
10588 Vbefore_change_function, Vafter_change_function.
10589
10590 * insdel.c (signal_before_change, signal_after_change): Likewise.
10591
10592 * buffer.c (Vbefore_change_function, Vafter_change_function):
10593 Variables and their initializations deleted.
10594
2330c9d4
DL
10595 * callint.c (Fcall_interactively): Doc fix.
10596
dd432f16
DL
10597 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10598
bf9e8804
DL
105992000-05-31 Dave Love <fx@gnu.org>
10600
10601 * textprop.c: Revert last change -- duplicated.
10602
3694b4ab
GM
106032000-05-31 Gerd Moellmann <gerd@gnu.org>
10604
10605 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10606 in #if 0.
10607
10608 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10609
f14156cd
JR
106102000-05-31 Jason Rumney <jasonr@gnu.org>
10611
8119aab8
JR
10612 * search.c (Fre_search_forward, Fre_search_backward)
10613 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10614
f14156cd
JR
10615 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10616
4aab9be3
JR
106172000-05-30 Jason Rumney <jasonr@gnu.org>
10618
10619 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10620 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10621
52283633 10622 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10623
10624 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10625 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10626 expand a nil default_filename.
10627
10628 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10629 pointer to glyph_to_pixel_coords, not a frame.
10630
10631 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10632 coding.h to dependencies.
10633
10634 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10635
10636 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10637 window pointer to be consistent with w32term.c and xterm.c.
10638
10639 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10640 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10641 (Qline_spacing, Qcenter): New variables.
10642 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10643 (x_set_line_spacing): New function.
52283633 10644 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10645 (x_specified_cursor_type): New function.
10646 (x_set_cursor_type): Use it.
10647 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10648 and icon strings.
10649 (validate_x_resource_name, x_get_resource_string): Measure lengths
10650 of external strings in bytes.
10651 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10652 GetTextExtentPoint32 with NULL title.
10653 (Fx_create_frame): Initialize Qline_spacing.
10654 (w32_load_system_font): Initialize font->double_byte_p.
10655 (x_to_w32_charset): Use Vw32_charset_info_alist.
10656 (Image, busy cursor, tooltip functions): Merged changes from
10657 xfns.c. Not yet functional on Windows.
10658
10659 * w32gui.h (W32FontStruct): Add double_byte_p member.
10660
10661 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10662 (emacs_button_translation): Use it.
10663 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10664 in `mask' to be set.
10665
10666 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10667 menu strings.
10668
10669 * w32term.c: Format and doc changes to bring closer to xterm.c.
10670 (w32_char_font_type): New enum.
10671 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10672 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10673 (w32_encode_char): New function.
10674 (x_encode_char): Removed.
10675 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10676 x_encode_char and w32_font_is_double_byte.
10677 (x_produce_image_glyph): Use image_ascent.
10678 (x_produce_glyphs): Use new version of w32_per_char_metric and
10679 handle NULL return value. Allow extra line spacing.
10680 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10681 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10682 w32_font_type member of glyph instead.
10683 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10684 (fast_find_position): Make sure not to consider rows not visible
10685 in the window.
10686 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10687 w32_menu_display_help with input blocked, as it can abort.
10688 (x_display_and_set_cursor): Choose cursor depending
10689 on buffer-local value of cursor_type.
10690 (x_draw_bar_cursor): Add parameter WIDTH.
10691
10692 * w32term.h (CP_DEFAULT): Define.
10693 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10694
10fc3187
GM
106952000-05-30 Gerd Moellmann <gerd@gnu.org>
10696
10697 * search.c (Fre_search_forward, Fre_search_backward)
10698 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10699
d0555360
KH
107002000-05-30 Kenichi Handa <handa@etl.go.jp>
10701
10702 * coding.c (detect_coding_iso2022): Fix code for checking
10703 CODING_CATEGORY_MASK_ISO_8_2.
10704
f1ad044f
SM
107052000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10706
10707 * regex.c (PREFETCH_NOLIMIT): New function.
10708 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10709
84ec3b4b
GM
107102000-05-29 Gerd Moellmann <gerd@gnu.org>
10711
66254a13
GM
10712 * syntax.c (find_defun_start): Move test for
10713 open_paren_in_column_0_is_defun_start outside of the loop.
10714
49e70dec
GM
10715 * xdisp.c (redisplay_window): Really switch buffers when
10716 displaying mode lines, and temporarily set selected_frame to the
10717 frame of the window that's redisplayed.
10718
84ec3b4b
GM
10719 * xfaces.c (free_realized_faces): Block/unblock input.
10720 (free_realized_multibyte_face): Ditto.
10721
869a3a14
DL
107222000-05-29 Dave Love <fx@gnu.org>
10723
10724 * textprop.c (Qkeymap): New variable.
10725 (syms_of_textprop): Intern it.
10726
10727 * keymap.c: Include intervals.h.
10728 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10729
10730 * Makefile.in (keymap.o): Depend on intervals.h.
10731
10732 * keyboard.c (menu_bar_items, tool_bar_items)
10733 (Fexecute_extended_command): Deal with `keymap' property.
10734 (read_key_sequence): Track map from `keymap' property as well as
10735 `local_map'.
10736
10737 * intervals.c (get_local_map): Extra arg to allow looking for
10738 `keymap' too.
10739
10740 * intervals.h (map_property): New enum.
10741 (get_local_map): Extra arg using it.
10742 (Qkeymap): Declare.
10743
84ec3b4b 10744 * lisp.h (get_local_map): Don't declare here.
869a3a14 10745
89d0c844
KH
107462000-05-29 Kenichi Handa <handa@etl.go.jp>
10747
10748 * Makefile.in (callproc.o): Depend on composite.h.
10749
10750 * callproc.c: Include composite.h.
10751 (Fcall_process): Handle composition correctly.
10752
10753 * coding.h (coding_allocate_composition_data): Extern it.
10754 (coding_restore_composition): Likewise.
10755
10756 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10757 yet allocated, finish decoding with result
10758 CODING_FINISH_INSUFFICIENT_CMP.
10759 (coding_allocate_composition_data): Make it non-static.
10760 (coding_restore_composition): Likewise.
10761
797a084a
EZ
107622000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10763
10764 * charset.c (syms_of_charset): Revert last change.
10765
cf872af5
EZ
107662000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10767
10768 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10769 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10770 Handa.
cf872af5 10771
5b1ae051
EZ
107722000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10773
10774 * charset.c (syms_of_charset): Set width of character sets
10775 eight-bit-control and eight-bit-graphic to 1 column.
10776
34ec9ebe
GM
107772000-05-26 Gerd Moellmann <gerd@gnu.org>
10778
10779 * config.in (HAVE_SPEED_T): New define.
10780
10781 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10782 `extern speed_t'.
10783
dd854dc2
DL
107842000-05-26 Dave Love <fx@gnu.org>
10785
10786 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10787
10788 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10789 (Fsubr_arity): New function.
10790 (syms_of_data): Install them.
10791
ba9f8f95
KH
107922000-05-26 Kenichi Handa <handa@etl.go.jp>
10793
0f3e0672
KH
10794 * charset.c (init_charset_once): Set the table bytes_by_char_head
10795 correctly.
10796
cebefb44
KH
10797 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10798 the default fontset to what Emacs uses by default.
0f3e0672
KH
10799 (check_registry_encoding): This function deleted.
10800 (Fset_fontset_font): Remove the adhoc condition for the default
10801 fontset. Allow cons in FONTNAME.
cebefb44 10802
0f3e0672
KH
10803 * fns.c (map_char_table): Ignore char-table entries for
10804 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10805
7a18af49
KR
108062000-05-25 Ken Raeburn <raeburn@gnu.org>
10807
10808 * emacs.c (main): Initialize keyboard syms before initializing
10809 window code, so face names are available.
10810
d2af47df
SM
108112000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10812
10813 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10814 of an anchor at the beginning of a shy-group.
10815
fc6a6a4e
GM
108162000-05-25 Gerd Moellmann <gerd@gnu.org>
10817
10818 * xdisp.c (handle_invisible_prop): Don't try to skip over
10819 invisible text if end of text is already reached.
10820
005f0d35
DL
108212000-05-25 Dave Love <fx@gnu.org>
10822
02513cdd
DL
10823 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10824
005f0d35
DL
10825 * coding.c (encode_eol): Add null statement after label.
10826
89f6ca4e
EZ
108272000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10828
10829 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10830 2000-05-20.
10831
a4e1759e
KH
108322000-05-25 Kenichi Handa <handa@etl.go.jp>
10833
10834 * ccl.c (ccl_driver): Fix previous change.
10835
eacfd7fe
KH
108362000-05-25 Kenichi Handa <handa@etl.go.jp>
10837
46ab33a9
KH
10838 * coding.c (run_pre_post_conversion_on_str): Set point to the
10839 beginning of buffer before calling coding->post_read_conversion.
10840 (decode_coding_string): Give correct args to
10841 run_pre_post_conversion_on_str.
10842 (encode_coding_string): Likewise.
10843
eacfd7fe
KH
10844 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10845 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10846 eight-bit-graphic correctly.
10847
f8569325
DL
108482000-05-24 Kenichi HANDA <handa@etl.go.jp>
10849
10850 * fileio.c (Finsert_file_contents): Even if a file is not found,
10851 execute codes for setting up coding system. Call
10852 after-insert-file-functions unconditionally.
10853
04545643
GM
108542000-05-24 Gerd Moellmann <gerd@gnu.org>
10855
10856 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10857 BSD_PGRPS are not defined.
10858
747d90ea
KH
108592000-05-24 Kenichi Handa <handa@etl.go.jp>
10860
10861 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10862 DESCRIPTION.
10863 (syms_of_charset): Avoid building same strings.
10864
716e3b88
GM
108652000-05-23 Gerd Moellmann <gerd@gnu.org>
10866
10867 * lread.c (Fload): Add a comment about the meaning of
10868 Vuser_init_file being t.
10869
10870 * puresize.h (BASE_PURESIZE): Increase to 675000.
10871
10872 * s/gnu-linux.h (setpgrp): Don't define it here because this
10873 prevents compilation on GNU/Linux systems with glib 2.2.
10874
10875 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10876 as setpgid.
427ec082 10877
9aeb39fa
EZ
108782000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10879
10880 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10881 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10882 version.
10883 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10884
29ced61b
KH
108852000-05-23 Kenichi Handa <handa@etl.go.jp>
10886
52283633 10887 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10888
3d80f24d
KH
10889 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10890
52283633 10891 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10892
29ced61b
KH
10893 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10894
d7e00792
KH
108952000-05-22 Kenichi Handa <handa@etl.go.jp>
10896
c9d80d38
KH
10897 * keyboard.c (read_char): Allow character codes 128..255 to be
10898 handled by input-method-function.
10899
d7e00792
KH
10900 * insdel.c (adjust_markers_for_replace): Fix previous change.
10901 (adjust_after_replace): If PREV_TEXT is nil, call
10902 adjust_markers_for_insert, not adjust_markers_for_replace.
10903
087121cc 109042000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10905
087121cc
GM
10906 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10907 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10908 [HAVE_GRANDPT]: Define.
10909 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10910
10911 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10912 like SYSV_PTYS.
10913
10914 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10915
10916 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10917
c9671f81
KH
109182000-05-20 Kenichi Handa <handa@etl.go.jp>
10919
10920 The following changes are to handle 8-bit characters in a
10921 multibyte buffer/string without facing with byte combining
10922 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10923 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10924
10925 * Makefile.in (fns.o): Depend on charset.h.
10926
10927 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10928 convert it to unibyte.
10929 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10930
10931 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10932 apparent char boundary.
10933 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10934 0x80..0x9F to/from multibyte form.
10935
10936 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10937 to unibyte.
10938
10939 * callproc.c (Fcall_process): Always encode an argument string if
10940 it is multibyte. Setup src_multibyte and dst_multibyte members of
10941 process_coding properly.
ce75fd23 10942
c9671f81
KH
10943 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10944 SPLIT_NON_ASCII_CHAR.
10945
10946 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10947 as is.
10948 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10949
52283633 10950 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10951 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10952 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10953 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10954 and eight-bit-graphic.
10955 (char_to_string): Likewise. Signal an error for too large
10956 character code.
10957 (char_printable_p): Return 0 for 8-bit characters.
10958 (update_charset_table): Update iso_charset_table only when a final
10959 character is non-negative.
10960 (find_charset_in_text): Renamed from find_charset_in_str.
10961 Arguments and return value changed. Callers changed.
10962 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10963 be -1 if CHARSET is used only internally.
10964 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10965 eight-bit-graphic.
10966 (Fcharset_after): Simplified.
10967 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10968 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10969 (multibyte_chars_in_text): Simplified by assuming there's no
10970 invalid multibyte sequence.
52283633
SM
10971 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10972 (str_as_unibyte): New functions.
10973 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10974 (init_charset_once): Initialization for
10975 LEADING_CODE_8_BIT_CONTROL.
10976 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10977 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10978 eight-bit-control and eight-bit-graphic.
10979
52283633
SM
10980 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10981 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10982 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10983 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10984 (CHARSET_REVERSE_CHARSET): Likewise.
10985 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10986 eight-bit-graphic.
10987 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10988 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10989 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10990 encounter an invalid multibyte sequence.
10991 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10992 sequence is always valid.
10993 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10994 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10995 (CHAR_STRING): For 8-bit characters, call char_to_string.
10996 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10997 multibyte sequence is always valid.
10998 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10999 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11000 (str_as_unibyte): Extern them.
c9671f81 11001 (BCOPY_SHORT): Fix a bug.
52283633 11002 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11003 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11004 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11005 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11006
bd4bde7f 11007 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11008 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11009 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11010 (EMIT_BYTES): New macros.
11011 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11012 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11013 macros deleted.
11014 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11015 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11016 check the validity of multibyte sequence.
11017 (decode_coding_emacs_mule): New function.
11018 (encode_coding_emacs_mule): New macro.
11019 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11020 the source.
11021 (DECODE_ISO_CHARACTER): Just return a character code.
11022 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11023 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11024 EMIT_CHAR to produced decoded characters. Exit the loop only by
11025 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11026 block here.
11027 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11028 only position codes for an invalid character.
11029 (encode_designation_at_bol): Return new destination pointer. 5th
11030 arg DSTP is changed to DST.
11031 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11032 from the source by ONE_MORE_CHAR. Don't handle the case of last
11033 block here.
11034 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11035 macros deleted.
52283633
SM
11036 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11037 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11038 TWO_MORE_BYTES to fetch a byte from the source.
11039 (encode_eol): Pay attention to coding->src_multibyte.
11040 (detect_coding, detect_eol): Preserve members src_multibyte and
11041 dst_multibyte.
11042 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11043 (encoding_buffer_size): Set magnification to 3 for all coding
11044 systems that require encoding.
11045 (ccl_coding_driver): For decoding, be sure that the result is
11046 valid multibyte sequence.
11047 (decode_coding): Initialize coding->errors and coding->result.
11048 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11049 and raw-text, always call decode_eol. Handle the case of last
11050 block here. If not coding->dst_multibyte, convert the resulting
11051 sequence to unibyte.
11052 (encode_coding): Initialize coding->errors and coding->result.
11053 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11054 and raw-text, always call encode_eol. Handle the case of last
11055 block here.
11056 (shrink_decoding_region, shrink_encoding_region): Detect cases
11057 that we can't skip data more rigidly.
11058 (code_convert_region): Setup src_multibyte and dst_multibyte
11059 members of coding. For decoding, if the buffer is multibyte,
11060 convert the source sequence to unibyte in advance. For encoding,
11061 if the buffer is multibyte, convert the resulting sequence to
11062 multibyte afterward.
11063 (run_pre_post_conversion_on_str): New function.
11064 (code_convert_string): Deleted and divided into the following two.
11065 (decode_coding_string, encode_coding_string): New functions.
11066 (code_convert_string1, code_convert_string_norecord): Call one of
11067 above.
11068 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11069 MAKE_NON_ASCII_CHAR.
52283633
SM
11070 (Fset_terminal_coding_system_internal)
11071 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11072 and dst_multibyte members.
11073 (init_coding_once): Initialize iso_code_class with new enum
11074 ISO_control_0 and ISO_control_1.
11075
11076 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11077 devided into ISO_control_0 and ISO_control_1.
11078 (struct coding_system): New members src_multibyte, dst_multibyte,
11079 errors, and result. Delete member fake_multibyte.
11080 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11081 nonzero.
11082 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11083 nonzero.
11084
11085 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11086 (Faset): Likewise.
11087
11088 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11089 multibyte form.
11090 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11091 combining occurs.
11092 (Ftranspose_region): Delete codes for handling byte combining.
11093
11094 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11095 dst_multibyte members of coding. On handling REPLACE on unibyte
11096 buffer, convert the result of decode_coding to unibyte. On
11097 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11098 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11099 multibyteness of the source (buffer or string).
11100
11101 * fns.c (concat): Handle 8-bit characters correctly.
11102 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11103 unibyte in the result.
11104 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11105 valid multibyte form in the result.
11106 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11107 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11108 return -1, signal an error.
11109 (base64_encode_1): New arg MULTIBYTE. Get each character by
11110 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11111 character is found, return -1.
11112 (Fbase64_decode_region): Delete codes for handling byte-combining.
11113 Treat each decoded byte as a unibyte character.
11114 (Fbase64_decode_string): Return unibyte string.
11115 (Fcompare_strings, concat, string_byte_to_char): Use
11116 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11117 FETCH_STRING_CHAR_ADVANCE.
11118 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11119 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11120
11121 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11122 SPLIT_NON_ASCII_CHAR.
11123 (fontset_ref_via_base, fontset_set): Likewise
11124
11125 * insdel.c (adjust_markers_for_record_delete): Deleted.
11126 (adjust_markers_for_insert): Argument changed. Caller changed.
11127 (adjust_markers_for_replace): Likewise.
52283633
SM
11128 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11129 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11130 (copy_text): Delete unused local varialbe c_save. For converting
11131 to multibyte, be sure to make all 8-bit characters in valid
11132 multibyte form.
11133 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11134 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11135 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11136 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11137 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11138 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11139 handling byte combining.
11140 (adjust_before_replace): Deleted.
427ec082 11141
c9671f81
KH
11142 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11143 SPLIT_NON_ASCII_CHAR.
11144 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11145 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11146 (Fkey_description): Likewise.
11147
11148 * lread.c (read1): On reading multibyte string, be sure to make
11149 all 8-bit chararacters in valid multibyte form.
11150 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11151
11152 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11153 unconditionally.
11154
11155 * process.c (Fstart_process): GCPRO current_dir before calling
11156 Ffind_operation_coding_system. Encode arguments here.
11157 (create_process): Don't encode arguments here. Setup
11158 src_multibyte and dst_multibyte members of struct coding.
11159 (read_process_output): Setup src_multibyte and dst_multibyte
11160 members of struct coding. If the output is to multibyte buffer,
11161 always decode the output of the process. Adjust the
52283633 11162 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11163 (send_process): Setup coding->src_multibyte according to the
11164 multibyteness of the source.
11165
52283633 11166 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11167 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11168 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11169
52283633 11170 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11171
11172 * w16select.c (Fw16_set_clipboard_data): Setup members
11173 src_multibyte and dst_multibyte of coding. Adjusted for the
11174 change for find_charset_in_str.
11175 (Fw16_get_clipboard_data): Likewise.
11176
11177 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11178 dst_multibyte of coding.
11179 (x_to_w32_font): Likewise.
11180
11181 * w32select.c (Fw32_set_clipboard_data): Setup members
11182 src_multibyte and dst_multibyte of coding. Adjusted for the
11183 change for find_charset_in_str.
11184 (Fw32_get_clipboard_data): Likewise.
11185
11186 * xdisp.c (get_next_display_element): Handle 8-bit characters
11187 correctly.
52283633
SM
11188 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11189 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11190
11191 * xselect.c (selection_data_to_lisp_data): Setup members
11192 src_multibyte and dst_multibyte of coding. Adjusted for the
11193 change for find_charset_in_str.
11194 (lisp_data_to_selection_data): Likewise.
11195
5f64c9e0
GM
111962000-05-19 Gerd Moellmann <gerd@gnu.org>
11197
52283633 11198 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11199
5f64c9e0
GM
11200 * dispextern.h (Vimage_types): Add extern declaration.
11201
11202 * xdisp.c (Vimage_types): Moved here from xfns.c.
11203 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11204
11205 * xfns.c (Vimages_types): Moved to xdisp.c.
11206 (syms_of_xfns): Move `image-types' to xdisp.c.
11207
11208 * w32fns.c (Vimage_types): Removed.
11209 (syms_of_w32fns): Remove `image-types'.
11210
813086ea
KH
112112000-05-18 Kenichi Handa <handa@etl.go.jp>
11212
11213 * fns.c (map_char_table): Pay attention to character number of
11214 charset. Check the validity of charset at the first level. For
11215 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11216 the default value.
11217
11218 * fontset.c: Include "buffer.h".
11219 (fs_load_font): If the face has fontset, record the face ID in
11220 that fontset.
11221 (Finternal_char_font): New function.
11222 (accumulate_font_info): New function.
11223 (Ffontset_info): Rewritten for the new fontset implementation.
11224 (syms_of_fontset): Register Vdefault_fontset in the first element
11225 of Vfontset_table. Include Vdefault_fontset in
11226 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11227 function.
11228
bdaebbf0
DL
112292000-05-16 Dave Love <fx@gnu.org>
11230
11231 * m/iris5d.h: Deleted -- unused.
11232
cb613bb8
GM
112332000-05-16 Gerd Moellmann <gerd@gnu.org>
11234
b15f3b77
GM
11235 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11236 `invalid' instead of `illegal'.
11237
11238 * indent.c (Fmove_to_column): When ending within a tab, insert
11239 spaces first so that markers at the end of the tab get adjusted.
11240
835c1b36
GM
11241 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11242 buffer list that wasn't selected in that frame.
11243
cb613bb8
GM
11244 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11245 is needed on mescaline, use a 2 char prefix, and call
11246 make_temp_name with second arg non-zero.
11247
11248 * fileio.c (make_temp_name): New function, extracted from
11249 Fmake_temp_name.
11250 (Fmake_temp_name): Use it.
11251
f685bea9
EZ
112522000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11253
52283633 11254 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11255
a1b8d58b
GM
112562000-05-15 Gerd Moellmann <gerd@gnu.org>
11257
11258 * Makefile.in (lisp): Add env.elc.
11259
11260 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11261
a265079f
GM
112622000-05-12 Gerd Moellmann <gerd@gnu.org>
11263
11264 * search.c (Freplace_match): Handle case of `\N' in the
11265 replacement when there's no group N.
11266
da4496b6
GM
112672000-05-11 Gerd Moellmann <gerd@gnu.org>
11268
0ace421a
GM
11269 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11270 of the message to message_dolog.
11271
1172eb8d
GM
11272 * keyboard.c (read_char): Don't clear current message for help
11273 events; let the code handling help events handle this. Change
11274 code detecting help events that should be ignored.
11275
da4496b6
GM
11276 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11277 we're interating over a string.
11278
0623e40f
DL
112792000-05-09 Dave Love <fx@gnu.org>
11280
11281 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11282 that offset before writing. Move gcpro region past call of
11283 Ffile_regular_p.
11284
bae2503b
DL
112852000-05-04 Dave Love <fx@gnu.org>
11286
11287 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11288
ec82fb2f
GM
112892000-05-04 Gerd Moellmann <gerd@gnu.org>
11290
11291 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11292 of inserted characters when BUF equals the current buffer, and PT
11293 is in front of or equal to FROM.
11294
cbf18892
GM
112952000-05-03 Gerd Moellmann <gerd@gnu.org>
11296
4ff40dd0
GM
11297 * xdisp.c (handle_single_display_prop): If display property value
11298 is invalid, or something not supported on the frame, restore
11299 iterator's position to what it was initially. Make sure to return
11300 0 for invalid and unsupported property values.
11301
cbf18892
GM
11302 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11303 that x_per_char_metric returns null.
11304
1b0672c3
GM
113052000-05-02 Gerd Moellmann <gerd@gnu.org>
11306
576da55d
GM
11307 * xterm.h (struct face): Add forward declaration.
11308 (struct image): Ditto.
11309 (image_ascent): Add prototype.
11310
11311 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11312 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11313 image_ascent instead of using IMAGE_ASCENT.
11314
11315 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11316 (IMAGE_ASCENT): Removed.
11317
11318 * xfns.c (Qcenter): New variable.
11319 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11320 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11321 (image_ascent): New function.
11322 (lookup_image): Recognize `:ascent center'.
11323 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11324 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11325 (xbm_load): Don't set image's ascent here.
11326 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11327 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11328 check ascent values here.
11329 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11330 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11331 (syms_of_xfns): Initialize Qcenter.
11332
1b0672c3
GM
11333 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11334 to the limits, increase the limits.
11335
0d7811ed
KH
113362000-05-01 Kenichi Handa <handa@etl.go.jp>
11337
11338 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11339 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11340
a943a5ca
GM
113412000-04-28 Gerd Moellmann <gerd@gnu.org>
11342
11343 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11344 taller than the window.
11345
5dba1e29
KH
113462000-04-28 Kenichi Handa <handa@etl.go.jp>
11347
11348 * xfaces.c (realize_x_face): Fix the argument of the second
11349 xassert. BASE_FACE may not be a face for ASCII.
11350
353964e3
GM
113512000-04-27 Gerd Moellmann <gerd@gnu.org>
11352
c76e04a8
GM
11353 * print.c (print_object): Treat print-length < 0 as nil.
11354
11355 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11356
11357 * s/freebsd.h (TERMCAP_OBJ): Removed.
11358 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11359
11360 * lread.c (read1): Don't treat period followed by certain
11361 characters as symbol start.
11362
11363 * xfns.c (slurp_file): New function.
11364 (xbm_image_p): Handle case of in-memory XBM files.
11365 (xbm_scan): Rewritten to work on memory buffers instead of files.
11366 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11367 Work on memory buffers instead of files. If DATA is null test
11368 if buffer looks like an in-memory XBM file.
11369 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11370 memory buffers instead of files.
11371 (xbm_file_p): New function.
11372 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11373
353964e3
GM
11374 * lread.c (end_of_file_error): New function.
11375 (read1): Call it instead of signaling `end-of-file' directly.
11376
427ec082 11377 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11378 with Fprinc instead of Fprin1.
11379
24d744ac
KR
113802000-04-26 Ken Raeburn <raeburn@gnu.org>
11381
11382 * window.c (freeze_window_start): Check that minibuffer scroll
11383 window isn't nil before extracting the window structure pointer
11384 from it.
11385
11386 * undo.c (record_delete): If we hit the end of the undo list, stop
11387 picking elements apart.
11388
7464346d
GM
113892000-04-26 Gerd Moellmann <gerd@gnu.org>
11390
11391 * xdisp.c (display_line): If lines are continued, restore
11392 iterator's ascent/descent information to the values before the
11393 first glyph not fitting on the line.
11394
612839b6
GM
113952000-04-25 Gerd Moellmann <gerd@gnu.org>
11396
11397 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11398 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11399
11400 * dispnew.c (increment_matrix_positions): Renamed from
11401 increment_glyph_matrix_buffer_positions.
11402 (increment_row_positions): Renamed from
11403 increment_glyph_row_buffer_positions.
11404
11405 * dispextern.h: Change names of renamed functions from dispnew.c
11406 in prototypes.
11407
cc181e95
GM
114082000-04-24 Gerd Moellmann <gerd@gnu.org>
11409
abfcc168
GM
11410 * fileio.c (Fdo_auto_save): Create directories for auto-save
11411 list file if necessary.
11412
cc181e95
GM
11413 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11414 from buffer or frame.
11415 (automatic_hscrolling_p): New variable.
11416 (hscroll_windows): Scroll windows horizontally only if automatic
11417 hscrolling is allowed.
11418 (syms_of_xdisp): New variable `automatic-hscrolling'.
11419
11420 * frame.h (struct frame): Add member extra_line_spacing.
11421
11422 * xfns.c (x_set_line_spacing): New function.
11423 (Fx_create_frame): Set line spacing from resources.
11424 (Qline_spacing): New variable.
11425 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11426
cc181e95
GM
11427 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11428
11429 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11430 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11431 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11432 extra_line_spacing from default value.
11433 (init_buffer_once): Initialize default value of extra_line_spacing.
11434
11435 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11436 and extra3.
11437
11438 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11439 prompt_width. Add extra line spacing.
11440
11441 * term.c (produce_glyphs): Remove reference to struct it's
11442 prompt_width.
11443
11444 * dispextern.h (struct it): Remove member prompt_width, add
11445 extra_line_spacing.
11446
58827478
GM
114472000-04-22 Gerd Moellmann <gerd@gnu.org>
11448
11449 * dispnew.c (update_frame_line): When writing a whole line, make
11450 sure cursor is in the right row afterwards, otherwise a use of
11451 capability `ch' in cmgoto might leave the cursor in the row below.
11452
25a87f42
GM
114532000-04-21 Gerd Moellmann <gerd@gnu.org>
11454
11455 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11456
11457 * keyboard.c (timer_check): Fix typo in comment.
11458
54edf5c2
KH
114592000-04-21 Kenichi Handa <handa@etl.go.jp>
11460
11461 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11462 name change: ch -> character.
11463
3a64eef5
GM
114642000-04-20 Gerd Moellmann <gerd@gnu.org>
11465
11466 * keyboard.c (echo_message_buffer): New variable.
11467 (echo_now): Set echo_message_buffer to the echo area buffer used
11468 to display the echo.
11469 (cancel_echoing): Reset echo_message_buffer to nil.
11470 (read_char): Code rewritten that handles canceling an echo or
11471 echoing a dash, respectively.
11472
11473 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11474 directory doesn't exist.
11475
6142fdcb
DL
114762000-04-19 Dave Love <fx@gnu.org>
11477
11478 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11479 (concat): Don't allow numeric args.
11480 (Fconcat): Doc change.
6142fdcb 11481
ac6b5352
SM
114822000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11483
11484 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11485 instead define end_match(1|2) more carefully.
11486 Use GET_CHAR_BEFORE_2 for `begline'.
11487
cb9215e4
GM
114882000-04-19 Gerd Moellmann <gerd@gnu.org>
11489
5e3dac3f
GM
11490 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11491 on 64-bit systems where NULL is defined as `0'.
11492
11493 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11494 the `variable argument list' to make it work on Alpha.
11495
cb9215e4
GM
11496 * m/alpha.h (_LP64) [!_LP64]: Define.
11497 (ORDINARY_LINK): Define for NetBSD.
11498
11499 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11500
f532dca0
DL
115012000-04-19 Dave Love <fx@gnu.org>
11502
c750667e
DL
11503 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11504 change.
11505
11506 * Makefile.in (LIBS): Don't use.
11507 (GETLOADAVG_OBJ): Define again.
11508 (otherobj): Add GETLOADAVG_OBJ.
11509
f532dca0
DL
11510 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11511
1c7e22fd
GM
115122000-04-18 Gerd Moellmann <gerd@gnu.org>
11513
f6d3257b
GM
11514 * lread.c (read_filtered_event): Cancel and start busy cursor.
11515
427ec082 11516 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11517 that the per-character metrics may be null.
11518
e10f64e7
GM
115192000-04-17 Gerd Moellmann <gerd@gnu.org>
11520
0daee095
GM
11521 * buffer.c (clone_per_buffer_values): New function.
11522 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11523 clone_per_buffer_values if CLONE is not nil.
11524
e10f64e7
GM
11525 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11526
38687d43
DL
115272000-04-16 Dave Love <fx@gnu.org>
11528
11529 * Makefile.in: Remove obsolete localcpp stuff.
11530 (GETLOADAVG_OBJ): Don't define.
11531 (obj): Move LIBOBJS...
11532 (otherobj): ... to here.
11533 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11534 whitespace-only lines after the continuation (Irix).
11535
c21c7262
GM
115362000-04-14 Gerd Moellmann <gerd@gnu.org>
11537
11538 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11539
11540 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11541
314767c0
DL
115422000-04-14 Dave Love <fx@gnu.org>
11543
11544 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11545 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11546 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11547 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11548 NLIST_STRUCT.
11549
11550 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11551 autoconfiscated HAVE_GETLOADAVG.
11552
11553 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11554 BROKEN_MKTIME.
11555
a2522dca
GM
115562000-04-14 Gerd Moellmann <gerd@gnu.org>
11557
11558 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11559 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11560
33744b5d
DL
115612000-04-14 Dave Love <fx@gnu.org>
11562
c21c7262 11563 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11564 (INTERVAL_SRC): Convert to make variable.
11565 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11566 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11567 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11568 add LIBOBJS.
11569 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11570 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11571 (shortlisp): Add facemenu, float-sup, frame.
11572 (SOME_MACHINE_LISP): Remove them from here.
11573 (LIBES): Change unused LDLIBS to autoconf LIBS.
11574
11575 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11576
9d3d5916
KH
115772000-04-14 Kenichi Handa <handa@etl.go.jp>
11578
11579 * composite.c (update_compositions): If FROM and TO are not in a
11580 valid range, do nothing.
11581
198e3c7a
GM
115822000-04-13 Gerd Moellmann <gerd@gnu.org>
11583
52283633 11584 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11585
52283633 11586 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11587
11588 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11589 as TERMCAP_OBJ.
11590
055a28c9
EZ
115912000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11592
11593 * fileio.c (a_write): Remove redundant semi-colons.
11594 (e_write): Return -1 if failed to write all the data.
11595 This fixes the changes made at 1999-12-15.
11596
f5c75033
DL
115972000-04-12 Dave Love <fx@gnu.org>
11598
11599 * fns.c (mapcar1): Test for null vals to support mapc.
11600 (Fmapc): New function.
11601
0c3cfc51
EZ
116022000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11603
11604 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11605 (IT_frame_up_to_date): Support the buffer local value of
11606 cursor-type, if defined.
11607
33465a31
DL
116082000-04-10 Dave Love <fx@gnu.org>
11609
11610 * editfns.c (preceding-char, following-char): Doc fix.
11611
6ed56568
KR
116122000-04-10 Ken Raeburn <raeburn@gnu.org>
11613
11614 * Makefile.in (temacs): Revert 2000-03-12 change.
11615
7cf80d4e
JR
116162000-04-10 Jason Rumney <jasonr@gnu.org>
11617
11618 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11619
34f3f342
GM
116202000-04-10 Gerd Moellmann <gerd@gnu.org>
11621
1a1b1895
GM
11622 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11623 area buffer, if it's not set up yet.
11624
34f3f342
GM
11625 * indent.c (compute_motion): Set immediate_quit.
11626
be0dbdab
GM
116272000-04-09 Gerd Moellmann <gerd@gnu.org>
11628
52283633 11629 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11630 (realize_tty_face): Suppress boldness if colors are the inverse of
11631 the default colors, and tty_suppress_bold_inverse_default_colors_p
11632 is set.
11633 (Ftty_suppress_bold_inverse_default_colors): New function.
11634 (syms_of_xfaces): Defsubr it.
11635
be0dbdab
GM
11636 * buffer.c (Frestore_buffer_modified_p): New function.
11637 (syms_of_buffer): Defsubr it.
11638
e8413c3b
KR
116392000-04-08 Ken Raeburn <raeburn@gnu.org>
11640
87f67317
KR
11641 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11642 charset id (int) argument, not a charset (Lisp_Object).
11643
e8413c3b
KR
11644 * coding.h (code_convert_string): Declare.
11645 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11646 object, as the fourth argument to code_convert_string.
11647
52283633 11648 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11649 (Fset_fontset_font): Use EQ to compare lisp objects.
11650
7c752c80
KR
116512000-04-05 Ken Raeburn <raeburn@gnu.org>
11652
c0333abc
KR
11653 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11654 a pointer that looks like a lisp object.
11655 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11656 zero, instead see whether it's an integer object, since they can't
11657 have intervals.
11658 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11659
52283633
SM
11660 * dispnew.c (allocate_matrices_for_frame_redisplay)
11661 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11662 to convert between (unsigned) int values and lisp integers.
11663 * keyboard.c (read_key_sequence): Likewise.
11664 * lread.c (substitute_object_recurse): Likewise.
11665 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11666 * minibuf.c (do_completion, Fminibuffer_complete_word)
11667 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11668 * term.c (produce_special_glyphs): Likewise.
11669
11670 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11671 * print.c (print_preprocess, print_object): Likewise.
11672
11673 * search.c (compile_pattern): Use NILP when checking for nil.
11674
74e49b38
KR
11675 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11676 __OPTIMIZE__]: Provide a GNU C macro version that handles
11677 lisp-object unions.
11678 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11679 field, to better cope with ENABLE_CHECKING and calls that modify a
11680 Lisp_Object using its old value.
11681
685e5ed2
GM
116822000-04-04 Gerd Moellmann <gerd@gnu.org>
11683
c407c570
GM
11684 * window.c (compare_window_configurations): Signal an error
11685 if parameters C1 or C2 aren't window configurations.
11686
685e5ed2
GM
11687 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11688 AFTER_POTENTIAL_GC calls around calls to functions that can
11689 signal an error and thus invoke the debugger.
11690
587a49ab
GM
116912000-04-03 Gerd Moellmann <gerd@gnu.org>
11692
62f20204
GM
11693 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11694 an error if decoding fails.
11695
587a49ab
GM
11696 * keyboard.c (lispy_mouse_names): Variable removed.
11697 (Vlispy_mouse_stem): New variable.
11698 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11699 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11700 for any mouse button number. Increase size of mouse_syms and
11701 button_down_location as needed. Call modify_event_symbol with
11702 different arguments.
11703 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11704 Call modify_event_symbol with different arguments.
11705 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11706 for any button number. Call modify_event_symbol with different
11707 arguments.
11708 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11709 Accept a string for NAME_ALIST_OR_STEM.
11710
11711 * lisp.h (larger_vector): Add prototype.
11712
11713 * fns.c (larger_vector): Make externally visible.
11714
11715 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11716
2d1675e4
SM
117172000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11718
11719 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11720 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11721 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11722 we are between str1 and str2.
11723 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11724 (PATFETCH): Use `TRANSLATE'.
11725 (PATFETCH_RAW): Fetch multibyte char if applicable.
11726 (PATUNFETCH): Remove.
11727 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11728 When writing a char, write it directly into the pattern buffer rather
11729 than going needlessly through a temp char-array.
11730 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11731 multibyte magic and remove the useless `#ifdef emacs'.
11732 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11733 buffer.
11734
11735 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11736 conditional on `emacs'.
11737
11738 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11739
cc2d8c6b
KR
117402000-04-01 Ken Raeburn <raeburn@gnu.org>
11741
11742 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11743 non-union-type versions of XMARK and friends here, because XMARK
11744 and friends won't work on an integer field if NO_UNION_TYPE is not
11745 defined.
52283633 11746 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11747
52283633 11748 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11749 (syms_of_composite): Delete local var NARGS, pass an int as first
11750 argument to Fmake_hash_table.
11751
2387b382
KR
11752 * editfns.c (text_property_stickiness): Use NILP to test
11753 Lisp_Object boolean value.
11754 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11755 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11756 problems reading from and changing the same lisp value in an
11757 XSETSTRING call.
11758
27660e89
GM
117592000-04-01 Gerd Moellmann <gerd@gnu.org>
11760
11761 * term.c (TN_no_color_video): New variable.
11762 (term_init): Intitialize TN_no_color_video.
11763 (enum no_color_bit): New enumeration.
11764 (MAY_USE_WITH_COLORS_P): New macro.
11765 (turn_on_face): Use it to determine if attributes may be used
11766 combined with colors.
11767
3578db3c
KR
117682000-04-01 Ken Raeburn <raeburn@gnu.org>
11769
11770 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11771 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11772 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11773 proper accessor macros.
11774 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11775 (grow_mini_window): Fix typo getting int value of root->height.
11776
6fc556fd
KR
11777 * xdisp.c (compute_string_pos): Fix order of arguments to
11778 string_pos_nchars_ahead.
11779 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11780 count arg to variable-arg routines like Frun_hook_with_args and
11781 Fformat.
587a49ab
GM
11782 (back_to_previous_visible_line_start)
11783 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11784 fixed-arg routines like Fget_char_property and Fmake_string.
11785 (reconsider_clip_changes): Use XINT when comparing integer lisp
11786 objects, or passing them as int arguments.
587a49ab
GM
11787 (mark_window_display_accurate, insert_left_trunc_glyphs)
11788 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11789 storing or passing integer values as lisp objects.
11790 (set_cursor_from_row, highlight_trailing_whitespace): Use
11791 INTEGERP, not implicit test against zero, for glyph object.
11792 (try_window_id): Don't use make_number when we want an int value.
11793
11794 * xfaces.c (xlfd_symbolic_value): Make last argument a
11795 Lisp_Object, to be consistent with callers.
11796 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11797 (lface_hash): Apply XFASTINT to lisp values before folding in.
11798
11799 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11800 fill in window width and height. Pass an int, not a lisp object,
11801 as first arg to Finsert.
11802
6e7b2457
GM
118032000-04-01 Gerd Moellmann <gerd@gnu.org>
11804
610d841e
GM
11805 * xfaces.c (realize_basic_faces): Block input while realizing
11806 the faces.
11807
6e7b2457
GM
11808 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11809
11810 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11811
aa110c0c
GM
118122000-03-31 Gerd Moellmann <gerd@gnu.org>
11813
11814 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11815 or ASCII, handle case that per-char metric is null.
aa110c0c 11816
8801a864
KR
118172000-03-30 Ken Raeburn <raeburn@gnu.org>
11818
c6129d7e
KR
11819 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11820
52283633
SM
11821 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11822 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11823 pointer, using eassert.
11824 * frame.h (XFRAME): Likewise.
11825
52283633
SM
11826 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11827 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11828 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11829 * data.c (set_internal): Likewise.
52283633
SM
11830 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11831 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11832 * fileio.c (auto_save_1): Likewise.
11833 * insdel.c (check_markers): Likewise.
11834 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11835 * undo.c (record_insert): Likewise.
11836 * vmsproc.c (child_sig): Likewise.
11837 * window.c (unshow_buffer, window_loop): Likewise.
11838 * xterm.c (x_erase_phys_cursor): Likewise.
11839
8e7af858
GM
118402000-03-30 Gerd Moellmann <gerd@gnu.org>
11841
11842 * xfns.c (free_image_cache): Free the cache structure itself
11843 last, after all its members have been freed.
11844
11845 * lisp.h (xstrdup): Add prototype.
11846
11847 * alloc.c (xstrdup): Moved here from xfaces.c.
11848 (allocating_for_lisp): Variable removed.
52283633 11849 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11850
11851 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11852 of Fsymbol_value.
11853 (xstrdup): Moved to alloc.c.
11854
e0b8c689
KR
118552000-03-29 Ken Raeburn <raeburn@gnu.org>
11856
b96f9fb7
KR
11857 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11858
11859 * emacs.c (main): Fix sense of no-loadup test.
11860
e0b8c689
KR
11861 * config.in (ENABLE_CHECKING): Undef.
11862
11863 * lisp.h (struct interval): Replace "parent" field with a union of
11864 interval pointer and Lisp_Object; add new bitfield to use as
11865 discriminant. Change other flag fields to bitfields.
11866 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11867 is defined and the supplied test fails, print a message and abort.
11868 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11869
11870 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11871 pointers; abort if the value looks like a lisp object.
52283633
SM
11872 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11873 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11874 Modify for new interval parent definition.
11875
52283633
SM
11876 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11877 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11878 addressable lisp object in the interval structure.
11879 (die): New function.
11880 (suppress_checking): New variable.
11881
11882 * intervals.c (interval_start_pos): Just return 0 if there's no
11883 parent object.
11884
f83c5440
GM
118852000-03-29 Gerd Moellmann <gerd@gnu.org>
11886
11887 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11888 and earlier Emacs versions.
11889
11890 * keyboard.c (Ftop_level): Cancel busy-cursor.
11891
11892 * eval.c (call_debugger): Cancel busy-cursor.
11893
fdce64ff
KH
118942000-03-29 Kenichi Handa <handa@etl.go.jp>
11895
11896 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11897 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11898
f6a3f532
SM
118992000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11900
11901 * regex.c (analyse_first): New function obtained by ripping out most
11902 of re_compile_fastmap and generalizing it a little bit so that it
11903 can also just return whether a given (sub)pattern can match the empty
11904 string or not.
11905 (regex_compile): Use `analyse_first' to decide whether the loop-check
11906 needs to be done or not for *, +, *? and +? (the loop check is costly
11907 for non-greedy repetition).
11908 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11909
e9b309ac
DL
119102000-03-28 Dave Love <fx@gnu.org>
11911
52283633 11912 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11913
e9b309ac
DL
11914 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11915
ed0767d8
SM
119162000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11917
11918 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11919 an expression.
11920 (enum re_opcode_t): Update description of succeed_n.
11921 (PATFETCH): Always define.
11922 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11923 operators, char classes, shy-groups and intervals).
11924 Optimize special cases of intervals so as to only use succeed_n and
11925 jump_n when really needed.
11926 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11927 that we don't have to handle the special cases any more.
11928 Simplify on_failure_jump handling as well.
11929
e11e7e46
JR
119302000-03-28 Jason Rumney <jasonr@gnu.org>
11931
11932 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11933
88faab89
GM
119342000-03-27 Gerd Moellmann <gerd@gnu.org>
11935
182ff242
GM
11936 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11937
11938 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11939
182ff242
GM
11940 * alloc.c (mark_maybe_object): New function.
11941 (mark_memory): Use it.
11942 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11943 (setjmp_tested_p, longjmp_done): New variables.
11944 (test_setjmp): New function.
11945 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11946 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11947
c1005d06
GM
11948 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11949 to DEC_TEXT_POS and INC_TEXT_POS.
11950
11951 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11952 with parameter MULTIBYTE_P.
11953
52283633 11954 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11955
7439e5b9 11956 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11957 buffers because it looks for multibyte character byte sequences
11958 which don't exist in unibyte text.
7439e5b9 11959
d9c545da
GM
11960 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11961
11fd416e 11962 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11963 [DEBUG_X_COLORS]: New functions.
11964 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11965
11966 * xfns.c (x_set_cursor_color): Get color reference counts right.
11967
11968 * xterm.c (x_copy_color): New function.
11969 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11970
11971 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11972 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11973 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11974 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11975 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11976 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11977 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11978 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11979 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11980 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11981
11fd416e
GM
11982 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11983 names for handling per-buffer variables.
d9c545da
GM
11984
11985 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11986 instead of MAX_BUFFER_LOCAL_VARS.
11987 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11988
11989 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11990
88faab89
GM
11991 * xfns.c (x_specified_cursor_type): New function.
11992 (x_set_cursor_type): Use it.
11993
11994 * buffer.h (struct buffer): Add cursor_type.
11995
d80f42b7
SM
119962000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11997
11998 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11999 (print_partial_compiled_pattern, re_compile_fastmap):
12000 Handle new opcode.
d80f42b7
SM
12001 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12002 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12003 executing it as well as when popping it off the stack to find infinite
12004 loops in non-greedy repetition operators.
12005
89e80928
GM
120062000-03-26 Gerd Moellmann <gerd@gnu.org>
12007
3d4ff2dd
GM
12008 * doc.c (Qfunction_documentation): New variable.
12009 (syms_of_doc): Initialize Qfunction_documentation.
12010 (Fdocumentation): If FUNCTION is a symbol with non-nil
12011 `function-documentation' property, return a documentation derived
12012 from that.
12013
bd96bd79
GM
12014 * buffer.c (syms_of_buffer): Add default-cursor-type.
12015 (init_buffer_once): Don't let cursor_type have a local value
12016 in every buffer.
12017
19d1bc27
GM
12018 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12019 on buffer-local value of cursor_type.
12020 (x_draw_bar_cursor): Add parameter WIDTH.
12021
12022 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12023 (init_buffer_once): Set default cursor_type value to t.
12024 Mark cursor_type as local everywhere.
12025 (syms_of_buffer): New per-buffer variable cursor-type.
12026
89e80928
GM
12027 * buffer.h (struct buffer): Remove member local_var_flags,
12028 add local_flags.
12029 (MAX_BUFFER_LOCAL_VARS): New macro.
12030 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12031 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12032 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12033 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12034
52283633 12035 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12036
12037 * category.c (Fset_category_table): Use new macros for per-buffer
12038 variables.
12039
12040 * buffer.c (buffer_permanent_local_flags): Make a char array.
12041 (max_buffer_local_idx): New variable.
12042 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12043 for new handling of per-buffer variables.
12044 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12045 (init_buffer_once): Initialize per-buffer vars differently.
12046 Set max_buffer_local_idx.
12047
12048 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12049 variables.
12050
52283633 12051 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12052
12053 * data.c (do_symval_forwarding, store_symval_forwarding)
12054 (find_symbol_value, set_internal, default_value, Fset_default)
12055 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12056 per-buffer variables.
12057
12058 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12059
9a0dd3dc
GM
120602000-03-24 Gerd Moellmann <gerd@gnu.org>
12061
b68c375f
GM
12062 * xterm.c (x_term_init): Unblock input around call1 of
12063 Qvendor_specific_keysyms.
12064
9a0dd3dc
GM
12065 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12066 (find_defun_start): Consider an open parenthesis in column 0
12067 a defun start only if open_paren_in_column_0_is_defun_start is set.
12068 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12069
7973e637
SM
120702000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12071
12072 * eval.c (Fautoload): Add entry in load-history (if after dump).
12073 * lread.c (load-history): Update docstring.
12074
39210e90
GM
120752000-03-24 Gerd Moellmann <gerd@gnu.org>
12076
12077 * indent.c (Fvertical_motion): Always use the current buffer.
12078 Temporarily change the window's buffer, if necessary.
12079
72db3ab5
GM
120802000-03-23 Gerd Moellmann <gerd@gnu.org>
12081
12082 * xterm.c (fast_find_position): Make sure not to consider rows
12083 not visible in the window.
12084
990b2375
SM
120852000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12086
12087 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12088 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12089
ff4df011
JR
120902000-03-22 Jason Rumney <jasonr@gnu.org>
12091
12092 * w32menu.c (single_submenu): Set help string to NULL if none.
12093 (w32_menu_show): Set help string correctly.
12094 (add-menu-item): Set help string in MIIM_DATA for menu item.
12095 Load SetMenuItemInfoA explicitly.
12096 (w32_menu_display_help): New function.
427ec082 12097
ff4df011
JR
12098 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12099 (QCdata): Moved to xdisp.c.
12100
12101 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12102 (Vw32_charset_to_codepage_alist): Removed.
12103 (Vw32_charset_info_alist): New variable.
52283633
SM
12104 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12105 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12106 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12107 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12108 with TODO comment.
12109 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12110 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12111 Define Vw32_charset_info_alist and w32_charset symbols.
12112
121132000-03-22 Jason Rumney <jasonr@gnu.org>
12114
12115 * makefile.nt (w32bdf.obj): Update dependencies.
12116
12117 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12118
12119 * w32fns.c: Include fontset.h after dispextern.h.
12120 (Fx_create_frame): Do not create fontset.
12121 (w32_load_system_font): Doc fix.
12122 (Fx_close_connection): Free full_name if it is not shared.
12123
12124 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12125 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12126 Callers updated.
ff4df011
JR
12127 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12128 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12129 (w32_font_is_double_byte): New function, needs body.
12130 (x_append_glyph): Set glyph->glyph_not_available_p.
12131 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12132 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12133 character, convert it to a unibyte character.
12134 (struct glyph_string): Delete member `charset'.
12135 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12136 calculating it is found.
12137 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12138 the case that per char metric is not available correctly.
12139 (x_fill_glyph_string): Handle the case that the specific glyph is
12140 not available correctly.
12141 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12142 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12143 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12144 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12145 fontset. Don't call FS_LOAD_FONT.
12146
439d5cb4
KR
121472000-03-22 Ken Raeburn <raeburn@gnu.org>
12148
12149 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12150 (INT_LISPLIKE): New macro.
12151 (NULL_INTERVAL_P): Use it.
52283633
SM
12152 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12153 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12154 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12155
12156 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12157 explicit references to "parent" field of struct interval and
12158 associated unclean type conversions.
52283633
SM
12159 * intervals.c (create_root_interval, root_interval, rotate_right)
12160 (rotate_left, balance_possible_root_interval, split_interval_right)
12161 (split_interval_left, interval_start_pos, find_interval)
12162 (next_interval, previous_interval, update_interval)
12163 (adjust_intervals_for_insertion, delete_node, delete_interval)
12164 (adjust_intervals_for_deletion, merge_interval_right)
12165 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12166 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12167 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12168 Likewise.
12169 * syntax.c (update_syntax_table): Likewise.
12170
12171 * intervals.c (reproduce_tree_obj): New function, like
12172 reproduce_tree but takes a Lisp_Object for the parent. Declare
12173 with prototype.
12174 (graft_intervals_into_buffer): Use it when appropriate.
12175 (reproduce_tree): Declare with prototype.
12176 (balance_possible_root_interval): Check that the parent is a lisp
12177 object before trying to examine its type.
12178
ee1c5b21
GM
121792000-03-22 Gerd Moellmann <gerd@gnu.org>
12180
12181 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12182 as strings only if both are known to be strings.
12183
12184 * s/openbsd.h (LIBS_TERMCAP): Undef.
12185
1fb352e0
SM
121862000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12187
12188 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12189 definitions for non-Emacs compilation.
12190 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12191 outside of `#ifdef emacs'.
12192 (print_partial_compiled_pattern): Update.
12193 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12194 (re_compile_fastmap): Merge handling of charset and charset_not (for
12195 emacs and non-emacs compilation as well).
12196 Similarly for (not)categoryspec and (not)syntaxspec.
12197 Don't use the fastmap when reaching `anychar' since the added
12198 complexity is not justified.
12199 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12200 and (not)syntaxspec. Merge (not)categoryspec.
12201
fdaa1f77
KH
122022000-03-22 Kenichi Handa <handa@etl.go.jp>
12203
52283633
SM
12204 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12205 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12206 --without-x.
fdaa1f77 12207
d152fb46
DL
122082000-03-21 Dave Love <fx@gnu.org>
12209
12210 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12211 doc string.
12212
d2cafc8c
GM
122132000-03-21 Gerd Moellmann <gerd@gnu.org>
12214
12215 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12216 (lface_fully_specified_p): Don't check contents of
12217 LFACE_FONT_INDEX because that attribute is optional.
12218 (realize_x_face): Remove now unwarranted xassert.
12219
9111d4b5
KH
122202000-03-21 Kenichi HANDA <handa@etl.go.jp>
12221
12222 The following changes are to make font selection based on
12223 characters, not charset. In addition, they recover fontset
12224 facilities while utilizing the new font selection mechanism.
12225
6c4bfdc0
KH
12226 * Makefile.in (fontset.o): Depend on dispextern.h.
12227
12228 * alloc.c (mark_face_cache): Don't mark face->registry.
12229
9111d4b5
KH
12230 * dispextern.h (struct glyph): New member glyph_not_available_p.
12231 Use 22 bits for face_id.
12232 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12233 (struct face): Delete member registry, new member ascii_face.
12234 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12235 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12236 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12237 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12238
12239 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12240 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12241 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12242 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12243 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12244 (fs_free_face_fontset, fontset_font_pattern)
12245 (face_suitable_for_char_p, face_for_char)
12246 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12247 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12248 (FS_LOAD_FACE_FONT): New macro.
12249
12250 * fontset.c: All codes rewritten or adjusted for the change of
12251 fontset implementation. Now fontset is represented by char table.
52283633
SM
12252 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12253 Variables removed.
9111d4b5 12254 (my_strcasecmp): Function removed.
52283633 12255 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12256 (AREF, ASIZE): New macros.
52283633
SM
12257 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12258 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12259 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12260 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12261 (fontset_id_valid_p, font_family_registry, fontset_name)
12262 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12263 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12264 New functions.
12265 (fs_load_font): New arg FACE. Caller changed.
12266 (fs_query_fontset): Argument changed. Caller changed.
12267 (Fquery_fontset): call fs_query_fontset.
12268 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12269 Functions removed.
52283633
SM
12270 (clear_fontset_elements, check_registry_encoding)
12271 (check_fontset_name): New functions.
9111d4b5
KH
12272 (syms_of_fontset): Set char-table-extra-slots property of fontset
12273 to 3. Staticpro and initialize Vfontset_table and
12274 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12275
12276 * frame.h (struct frame): Member `fontset_data' removed.
12277 (FRAME_FONTSET_DATA): Macro removed.
12278
12279 * frame.c (make_frame): Don't allocate f->fontset_data.
12280 (Fdelete_frame): Don't free f->fontset_data.
12281
6c4bfdc0
KH
12282 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12283
9111d4b5
KH
12284 * xdisp.c (charset_at_position): Function removed.
12285 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12286 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12287 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12288 Likewise.
12289 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12290 FACE_FOR_CHARSET.
52283633
SM
12291 (get_next_display_element, append_space)
12292 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12293
12294 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12295 Variables removed.
12296 (clear_font_table, frame_update_line_height, load_face_font):
12297 Adjusted for the change of fontset implementation.
12298 (load_face_fontset_font): Function removed.
12299 (pixel_point_size): New function.
12300 (font_list): Argument type changed. Caller changed.
12301 (LFACE_FONT): New macro.
12302 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12303 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12304 Lisp_Object. Determine the font name by actually loading a font
12305 by the specified pattern. Set LFACE_FONT (lface) to the specified
12306 pattern. Even if a font is not found, don't try alternatives.
12307 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12308 (set_font_frame_param): If `font' is specified in lface, use it.
12309 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12310 (lface_same_font_attributes_p): Likewise.
12311 (make_realized_face): Arguent changed. Caller changed. Set
12312 face->ascii_face to face itself.
12313 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12314 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12315 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12316 (free_realized_multibyte_face): New function.
12317 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12318 changed. Caller changed.
12319 (try_font_list): Argument type changed.
12320 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12321 (choose_face_font): Argument changed. Handle fontset properly.
12322 (choose_face_fontset_font): Function removed.
12323 (realize_default_face, realize_named_face): Don't remove the
12324 former face here.
12325 (realize_face): Argument changed. Caller changed. Remove face
52283633 12326 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12327 (realize_x_face): Argument changed. Caller changed. For a
12328 multibyte character, share fontset with base_face. For a single
52283633 12329 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12330 (realize_tty_face): Argument changed. Caller changed.
12331 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12332 (face_at_buffer_position): Don't check multibyte_p for returning
12333 DEFAULT_FACE_ID.
12334 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12335 FACE_SUITABLE_FOR_CHARSET_P.
12336 (syms_of_xfaces): Remove code for Qx_charset_registry and
12337 Vface_default_registry.
12338
6c4bfdc0
KH
12339 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12340 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12341 (x_per_char_metric): Don't try FONT->default_char. Even if
12342 pcm->width is zero, glyph bits may exist.
12343 (x_encode_char): Always initialize char2b->byte1.
12344 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12345 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12346 (x_append_glyph): Set glyph->glyph_not_available_p.
12347 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12348 it->charset. Handle the case that per char metric is not
12349 available. If it->multibyte_p is zero and it->c is a multibyte
12350 character, convert it to a unibyte character.
12351 (struct glyph_string): Delete member `charset'.
12352 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12353 the case that per char metric is not available correctly.
12354 (x_fill_glyph_string): Handle the case that the specific glyph is
12355 not available correctly.
12356 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12357 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12358 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12359 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12360 fontset. Don't call FS_LOAD_FONT.
12361
12362 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12363 (x_create_tip_frame): Likewise.
12364 (Fx_close_connection): Free full_name of font_info.
12365
12366 * fns.c (optimize_sub_char_table): New function.
12367 (Foptimize_char_table): New function.
12368 (syms_of_fns): Defsubr Soptimize_char_table.
12369
b33dd3b0
GM
123702000-03-20 Gerd Moellmann <gerd@gnu.org>
12371
12372 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12373 only if buffer is displayed in some window.
12374
12375 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12376 (try_window_reusing_current_matrix): Don't call scroll run
12377 function if run's current and desired position are the same;
12378 this prevents cursor flickering.
12379
4e8a9132
SM
123802000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12381
12382 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12383
12384 * regex.c (RE_STRING_CHAR): New macro.
12385 (GET_CHAR_AFER_2): Remove.
12386 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12387 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12388 (print_partial_compiled_pattern, re_compile_fastmap)
12389 (re_match_2_internal): Remove on_failure_jump_exclusive.
12390 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12391 optimization only need to work for * (ie. can use of_keep_string_jump).
12392 Remove the special case for .*\n since it is now covered by the general
12393 optimization.
12394 (re_search_2): Don't bother with `room'.
12395 (skip_one_char): New function.
12396 (skip_noops): Simplify since `memory' is not needed any more.
12397 (mutually_exclusive_p): Restructure slightly to use `switch' and
12398 add handling for "all" remaining cases.
12399 (re_match_2_internal): Change on_failure_jump_smart to use
12400 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12401 rather than on_failure_jump_exclusive.
12402
2136fdd4
GM
124032000-03-19 Gerd Moellmann <gerd@gnu.org>
12404
12405 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12406 number of bits per RGB because it's everywhere used as the depth
12407 of the visual.
12408
12409 * term.c (calculate_costs): Remove code dealing with X frames.
12410
18e21ce8 124112000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12412
12413 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12414
d7b511c4
GM
124152000-03-18 Gerd Moellmann <gerd@gnu.org>
12416
12417 * lread.c (read_integer): Unread the last char not consumed.
12418
16b5d424
GM
124192000-03-17 Gerd Moellmann <gerd@gnu.org>
12420
12421 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12422 which are in the process of being deleted.
16b5d424 12423
1fa28578
GM
124242000-03-16 Gerd Moellmann <gerd@gnu.org>
12425
83488cce
GM
12426 * Makefile.in (mostlyclean): Add `*.core'.
12427 (clean): Add `bootstrap-emacs'.
12428
1fa28578
GM
12429 * lread.c (read_integer): New function.
12430 (read1): Support read syntax #o, #x, #b, #r.
12431
99633e97
SM
124322000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12433
1fa28578
GM
12434 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12435 make sure POINTER_TO_OFFSET gives the same value before and after
12436 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12437 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12438 (debug): Now only active if > 0 rather than if != 0.
12439 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12440 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12441 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12442 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12443 (store_op1, store_op2, insert_op1, insert_op2)
12444 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12445 (group_in_compile_stack): Move to after its arg's types are
12446 declared and add a prototype.
99633e97 12447 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12448 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12449 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12450 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12451 indentation of the greedy-op and shy-group code.
99633e97
SM
12452 (at_(beg|end)line_loc_p): Fix argument's types.
12453 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12454 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12455 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12456 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12457 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12458 QUIT unconditionally.
99633e97 12459
699238d9
GM
124602000-03-15 Gerd Moellmann <gerd@gnu.org>
12461
12462 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12463 a sole completion.
12464
12465 * process.c (send_process): Add a hint that the function
12466 can call Lisp code to its comment.
12467
12468 * lread.c (load_dangerous_libraries): New variable.
12469 (Vbytecomp_version_regexp): New variable.
12470 (safe_to_load_p): New function.
12471 (Fload): Handle files not compiled with Emacs specially.
12472 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12473
34e23e5a
GM
124742000-03-14 Gerd Moellmann <gerd@gnu.org>
12475
9c763cca
GM
12476 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12477
12478 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12479 support functions only if HAVE_X11R6_XIM is defined.
12480 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12481
12482 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12483
12484 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12485 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12486 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12487
12488 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12489 (HAVE_X11R6_XIM): Define.
12490
12491 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12492
34e23e5a
GM
12493 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12494 If set, call XSynchronize.
12495
66f0296e
SM
124962000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12497
34e23e5a
GM
12498 * regex.c: Declare a new type `re_char' used throughout the code
12499 for the string char type. It's `const unsigned char' to match the
12500 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12501 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12502 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12503 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12504 code duplication.
66f0296e
SM
12505
12506 * charset.h (GET_CHAR_AFTER_2): Remove.
12507 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12508
854a025c
KR
125092000-03-12 Ken Raeburn <raeburn@gnu.org>
12510
12511 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12512 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12513 of them try to use backquotes.
12514
b9d2c7e2
DL
125152000-03-12 Dave Love <fx@gnu.org>
12516
12517 * unexelf.c: Restore changes of 1999-10-19.
12518 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12519 fix its type and alignment; copy it from current process.
12520
5e5dff44
GM
125212000-03-12 Gerd Moellmann <gerd@gnu.org>
12522
9b2f3c38
GM
12523 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12524 has been found. Fix bug not computing timer's predecessor.
12525
427ec082 12526 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12527 file name.
12528
e1cff360
GM
12529 * window.c (Fsave_window_excursion): Doc fix.
12530
52283633 12531 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12532
e411ce4b
EZ
125332000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12534
12535 * msdos.c (vga_installed): New function, code moved from
12536 dos_set_window_size.
12537 (Qbar, Qcursor_type, outside_cursor): New variables.
12538 (syms_of_msdos): Intern and staticpro them.
12539 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12540 shape used outside Emacs when called for the first time.
12541 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12542 cursor shape used outside Emacs.
12543 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12544 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12545 type has changed.
12546 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12547 parameters specify the cursor. Make qreverse a global
12548 variable (renamed to Qreverse).
12549
80460654
GM
125502000-03-09 Gerd Moellmann <gerd@gnu.org>
12551
12552 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12553
95cd4c40
SM
125542000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12555
12556 This is a big redesign of failure-stack and register handling, prompted
12557 by bugs revealed when trying to add shy-groups. Overall, what happened
12558 is that loops are now structured a little differently, groups can be
12559 shy and the code is a little simpler.
12560
12561 * regex.h: Update the copyright.
12562 (RE_SHY_GROUPS): New value.
12563 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12564 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12565
80460654
GM
12566 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12567 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12568 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12569 for (start|stop)_memory since they now only take one argument (the
12570 second has becomes unnecessary).
52283633 12571 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12572 (print_compiled_pattern): Use %ld to printf long ints and flush to
12573 make debugging a little easier.
95cd4c40
SM
12574 (union fail_stack_elt): Make the integer unsigned.
12575 (struct fail_stack_type): Add a `frame' element.
12576 (INIT_FAIL_STACK): Init `frame' as well.
12577 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12578 (DEBUG_PUSH, DEBUG_POP): Remove.
12579 (NUM_REG_ITEMS): Remove.
12580 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12581 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12582 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12583 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12584 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12585 New macros.
80460654
GM
12586 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12587 address pushed is not the destination of the jump but the source
12588 of it instead.
95cd4c40
SM
12589 (NUM_FAILURE_ITEMS): Remove.
12590 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12591 registers before the actual failure point). Don't hardcode any
12592 meaning for str==NULL anymore.
95cd4c40 12593 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12594 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12595 Remove.
95cd4c40
SM
12596 (REG_UNSET_VALUE): Use NULL (why not?).
12597 (compile_range): Remove declaration since it doesn't exist.
12598 (struct compile_stack_elt_t): Remove inner_group_offset.
12599 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12600 (regex_grow_registers): Remove dead code.
12601 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12602 (regex_compile): Add shy-groups Change loops to use
12603 on_failure_jump_smart&jump instead of
12604 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12605 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12606 variable to me). Use `jump' instead of `jump_past_alt' and don't
12607 bother with push_dummy_failure in alternatives since it is now
12608 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12609 emacs' for (re)allocating the stack.
12610 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12611 from loop when bufp->can_be_null rather than jumping to `done'.
12612 Avoid jumping backwards so as to ensure termination. Use
12613 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12614 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12615 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12616 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12617 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12618 (lowest_active_reg, highest_active_reg)
12619 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12620 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12621 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12622 variables. Push register (in `start_memory') on the stack rather
12623 than storing it in old_reg(start|end). Remove the cycle detection
12624 from `stop_memory', replaced by the use of on_failure_jump_loop
12625 for greedy loops. Add code for the new on_failure_jump_<foo>.
12626 Remove ad-hoc code in `on_failure_jump' to push more registers in
12627 the case of a loop. Take out code from `maybe_pop_jump' into
12628 separate functions and adapt it to the semantics of
12629 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12630 and push_dummy_failure. Remove dummy_failure handling and
12631 handling of `failures to jump to on_failure_jump' (this last one
12632 was already dead code, it seems).
12633 (group_match_null_string_p, alt_match_null_string_p)
12634 (common_op_match_null_string_p): Remove.
95cd4c40 12635
7397acc4
DL
126362000-03-08 Dave Love <fx@gnu.org>
12637
12638 * config.in: Don't depend on __STDC__ for volatile.
12639 Add POINTER_TYPE, PTR, PROTOTYPES.
12640
12641 * hftctl.c, strftime.c: Use PROTOTYPES.
12642 * eval.c (find_handler_clause): Likewise.
12643
12644 * mem-limits.h: Use POINTER_TYPE.
12645
12646 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12647 (memory_warnings): Declare using POINTER_TYPE.
12648
5e91ff9e
GM
126492000-03-08 Gerd Moellmann <gerd@gnu.org>
12650
feab4fba
GM
12651 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12652
52283633 12653 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12654
5e91ff9e
GM
12655 * xfns.c: Remove obsolete code in #if 0.
12656 (Fx_focus_frame): New function.
12657
a735b7e1
KH
126582000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12659
12660 * coding.c (coding_category_name): Add coding-category-utf-8,
12661 coding-category-utf-16-be, coding-category-utf-16-le.
12662 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12663 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12664 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12665 (detect_coding_utf_8): New function.
12666 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12667 UTF_16_LOW_SURROGATE_P): New macros.
12668 (detect_coding_utf_16): New function
12669 (detect_coding_mask): When priorities are specified, skip any
12670 categories that have `nil' coding-system. Fix bug of returning
12671 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12672 returns a mask not set in PRIORITIES.
12673 (detect_eol_type_in_2_octet_form): New function.
12674 (detect_eol): selects detect_eol_type_XXX to call according to
12675 cooding->category_idx.
12676 (detect_coding_system): Remove `nil' coding-system in the result.
12677 (Fupdate_coding_systems_internal): Update all coding-categories.
12678
52283633
SM
12679 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12680 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12681 New macros.
12682 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12683 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12684 (CODING_CATEGORY_IDX_UTF_16_LE)
12685 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12686 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12687 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12688 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12689
9994cc69
GM
126902000-03-07 Gerd Moellmann <gerd@gnu.org>
12691
e9b4e5ff
GM
12692 * doc.c (Fdocumentation_property): If value is not a string,
12693 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12694
f7daf1e1
GM
12695 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12696 close the display with XtCloseDisplay. This caused a bus error
12697 on OpenWindows.
12698
9994cc69
GM
12699 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12700 complete but not unique.
12701
4336c705
GM
127022000-03-06 Gerd Moellmann <gerd@gnu.org>
12703
18bb0684
GM
12704 * process.c (send_process): Remove local variable `procname' that
12705 might become invalid when a GC happens. Instead, access the
12706 process name slot directly.
12707
4336c705
GM
12708 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12709 orig_height if set.
12710
12711 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12712 orig_height if set.
12713
515d0d0e
EZ
127142000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12715
12716 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12717 glyph matrices have been freed.
12718
100b3cbb
GM
127192000-03-05 Gerd Moellmann <gerd@gnu.org>
12720
50df5e5a 12721 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12722 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12723
12724 * xfns.c (QCdata): Moved to xdisp.c.
12725
12726 * xdisp.c (QCdata): Moved here from xfns.c.
12727 (syms_of_xdisp): Initialize QCdata.
12728
12729 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12730
12731 * window.c (coordinates_in_window): Use
12732 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12733 FRAME_INTERNAL_BORDER_WIDTH.
12734
100b3cbb 12735 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12736 it is obviously invalid.
100b3cbb
GM
12737
12738 * xterm.c (x_term_init): Create a colormap if not using the
12739 default visual.
12740
12741 * xterm.h (select_visual): Change prototype.
12742
12743 * xfns.c (select_visual): Rewritten. Recognize user-specified
12744 visual classes.
12745 (visual_classes): New variable.
12746
64d739c4
GM
127472000-03-04 Gerd Moellmann <gerd@gnu.org>
12748
12749 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12750 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12751 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12752 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12753 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12754 XtNcolormap resources.
12755 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12756 (Fx_create_frame): Initialize color members of x_output structure.
12757 (xpm_load): Pass colormap to XPM lib.
12758
12759 * xfaces.c (x_free_colors): Access colormap of frame using
12760 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12761 when default colormap is used.
12762
12763 * xterm.c (x_term_init): Set Colormap member of x_display_info
12764 structure. Copy colormap if resource `privateColormap' is
12765 specified (PseudoColor only).
12766 (x_setup_relief_color): Access colormap of frame using
12767 FRAME_X_COLORMAP.
12768
12769 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12770 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12771
c3cee013
JR
127722000-03-04 Jason Rumney <jasonr@gnu.org>
12773
12774 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12775 other non-platform-specific equivalents.
64d739c4 12776 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12777 specific functions and macros as their w32 equivalents where
12778 non-platform-specifics are not available.
12779 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12780 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12781 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12782 (frame_update_line_height): Use macros to access f->output_data.
12783 (defined_color): Remove FIXME comments; fixed.
12784 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12785 into #ifdef blocks. Add WINDOWSNT blocks.
12786 (Fx_list_fonts): Use macros for accessing font data.
12787 (set_lface_from_font_name): Different default fonts for X and
12788 WINDOWSNT.
12789 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12790 scalable for backward compatibility.
64d739c4 12791 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12792 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12793
64d739c4 12794 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12795 syms_of_w32faces.
12796
12797 * makefile.nt (w32faces.obj): Remove.
12798 (xfaces.obj): Add.
12799
807cc41c
JR
128002000-03-03 Jason Rumney <jasonr@gnu.org>
12801
12802 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12803 correct parameters.
12804
0007072a
KR
128052000-03-03 Ken Raeburn <raeburn@gnu.org>
12806
12807 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12808 standard ELF definitions here if the system header does not.
12809
71a6ba55
GM
128102000-03-03 Gerd Moellmann <gerd@gnu.org>
12811
12812 * xterm.c (PER_CHAR_METRIC): Removed.
12813 (x_per_char_metric_1, x_default_char): New functions.
12814 (x_per_char_metric): If font's default char is invalid, return
12815 metrics of a suitably chosen usable default char.
12816 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12817 char, replace occurrences of unprintable chars with a suitably
12818 chosen usable default char.
71a6ba55 12819
900fa1f1
GM
128202000-03-02 Gerd Moellmann <gerd@gnu.org>
12821
42f55fe0
GM
12822 * xterm.c (note_mouse_highlight): Return quickly if frame's
12823 glyph matrices have been freed.
12824
12825 * dispnew.c (free_glyphs): Block input while freeing matrices.
12826
900fa1f1
GM
12827 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12828
52283633
SM
12829 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12830 Use x_free_colors.
900fa1f1
GM
12831
12832 * dispextern.h (x_free_colors): Add prototype.
12833
12834 * xfaces.c (x_free_colors): New function.
12835 (unload_color, free_face_colors): Use it.
12836
2f950292
EZ
128372000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12838
12839 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12840
12841 * window.c [MSDOS]: Include msdos.h.
12842
54d04320
DL
128432000-03-02 Dave Love <fx@gnu.org>
12844
12845 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12846
12847 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12848 set C_OPTIMIZE_SWITCH for gcc.
12849
0ba93ac4
KH
128502000-03-02 Kenichi Handa <handa@etl.go.jp>
12851
12852 * coding.c (coding_save_composition): Be sure to allocate
12853 composition data area in coding even if there's no composition in
12854 the current run.
12855
a2bc11d4
JR
128562000-03-01 Jason Rumney <jasonr@gnu.org>
12857
12858 * w32term.c: Equivalent changes to those made to xterm.c on
12859 2000-02-25 and 2000-02-24.
12860
12861 * w32fns.c: Equivalent changes to those made to xfns.c on
12862 2000-02-25 and 2000-02-21.
12863
12864 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12865 correct line-end convention is followed.
12866
12867 * w32menu.c [HAVE_BOXES]: Remove #undef.
12868 (single_keymap_panes): Remove code for simulating checkmarks.
12869 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12870 Remove code for drawing simulated checkmarks.
12871 (w32_menu_show): make unibyte help string correctly.
12872 (add_menu_item): draw standard Windows checkmarks. Draw radio
12873 buttons as radio buttons if possible.
12874
72d19d75
GM
128752000-03-01 Gerd Moellmann <gerd@gnu.org>
12876
2df636f4
GM
12877 * sysdep.c (start_of_text): Don't define this function for NetBSD
12878 with ELF.
12879
427ec082 12880 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12881 Don't define.
12882 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12883 (LINKER): Don't undef if __NetBSD__ is defined.
12884
12885 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12886
12887 * fileio.c [__NetBSD__]: Define `unix'.
12888
72d19d75
GM
12889 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12890
ed4d0512
GM
128912000-02-29 Gerd Moellmann <gerd@gnu.org>
12892
50b1039f
GM
12893 * atimer.c (start_atimer): Don't abort when timers are stopped.
12894 (append_atimer_lists): New function.
12895 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12896 arbitrary lists of stopped and running atimers.
12897
ed4d0512
GM
12898 * atimer.c (cancel_atimer): Handle canceling an atimer when
12899 some timers are stopped.
12900
12901 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12902 after canceling it.
12903
12904 * fns.c (maybe_resize_hash_table): Handle case of new size
12905 coming out as being the same as old size.
12906
387023ee
JR
129072000-02-27 Jason Rumney <jasonr@gnu.org>
12908
12909 * makefile.nt: Add atimer.h to dependencies.
12910 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12911 * w32console.c: Only disable window system features for dispextern.h
12912 (initialize_w32_display): Build a display info for the console.
12913 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12914 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12915 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12916 as 2 button mice.
12917 * w32gui.h (struct W32FontStruct): Revert last change after change
12918 to xdisp.c.
12919 * w32menu.c (single_submenu): Set up help string.
12920 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12921 (w32_dialog_show): Set up help string.
12922 * w32term.c (w32_display_info_for_display): Remove unused function.
12923 (w32_draw_bitmap): Use pre-built bitmaps.
12924 (w32_initialize_display_info): New function to initialize parts of
12925 display info that are common to both GUI and console frames.
12926 (w32_term_init): Use w32_initialize_display_info. Do not set
12927 Vw32_num_mouse_buttons here, as it is not called for console
12928 frames. Build bitmaps for indicating truncated lines etc.
12929 (x_delete_display): Destroy pre-built bitmaps.
12930 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12931 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12932
4516715a
DL
129332000-02-27 Dave Love <fx@gnu.org>
12934
12935 * lisp.h: Add a bunch of prototypes.
12936
171ca836
KH
129372000-02-26 Kenichi Handa <handa@etl.go.jp>
12938
12939 * keyboard.c (read_char): Set `usec' correctly.
12940
4013921d
KH
129412000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12942
12943 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12944 `lambda', set reg[RRR] to the map index.
12945 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12946 reg[RRR] to 0. Otherwise, set it to -1.
12947
9244a058
GM
129482000-02-25 Gerd Moellmann <gerd@gnu.org>
12949
2df636f4 12950 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12951
18e21ce8 129522000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12953
f43d79c1
GM
12954 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12955 and contains a `:', prepend `/:'.
12956
12957 * window.c (select_window_1): If selected_window is nil,
12958 don't "swap out" the buffer's point.
12959 (Fset_window_configuration): Set selected_window to nil
12960 before calling Fselect_window.
12961 (unshow_buffer): Don't set point in buffer from window's point
12962 if another more recently selected window also shows the buffer.
12963
bed0c171
GM
129642000-02-25 Gerd Moellmann <gerd@gnu.org>
12965
449c3c52
GM
12966 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12967
f5b58615
GM
12968 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12969 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12970 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12971 New variables.
f5b58615
GM
12972 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12973 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12974 (hide_busy_cursor): New functions.
12975 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12976
12977 * minibuf.c (read_minibuf): Cancel busy-cursor.
12978
12979 * keyboard.c (command_loop_1): Call start_busy_cursor before
12980 Fcommand_execute and cancel_busy_cursor after it.
12981 (timer_check): Remove busy-cursor code.
12982 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12983 cursor timer.
12984
12985 * process.c (wait_reading_process_input): Remove busy-cursor code.
12986
12987 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12988 Fx_hide_busy_cursor.
12989
12990 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12991 Remove prototyoes.
12992 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12993
12994 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12995
12996 * xterm.c (XTread_socket): Remove busy-cursor code.
12997
4eb8436f
GM
12998 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12999 (build_frame_matrix_from_leaf_window): Put code handling
13000 glyph row's not being a slice of a frame row in #if 0.
13001 (sync_window_with_frame_matrix_rows): New function.
13002 (frame_row_to_window): New function.
13003 (mirror_line_dance): Handle copies between windows.
13004
3cb65b0e
GM
13005 * lread.c (Fload): Use `xfree' instead of `free'.
13006 (init_obarray): Use `xmalloc' instead of `malloc'.
13007
bed0c171
GM
13008 * window.c (Fset_window_buffer): Set WINDOW to the window
13009 after decoding.
2add4349
GM
13010 (coordinates_in_window): Take frame's internal border width
13011 into account.
bed0c171 13012
42088c12
GM
130132000-02-24 Gerd Moellmann <gerd@gnu.org>
13014
13015 * xterm.c (x_display_and_set_cursor): Display cursor of
13016 non-selected windows depending on the setting of
13017 cursor_in_non_selected_windows.
13018
13019 * xdisp.c (cursor_in_non_selected_windows): New variable.
13020 (syms_of_xdisp): DEFVAR_BOOL it.
13021
d1e103b2
GM
130222000-02-23 Gerd Moellmann <gerd@gnu.org>
13023
723e779c
GM
13024 * data.c (Fstring_to_number): If number is greater than what
13025 fits into an integer, return a float.
13026
d1e103b2
GM
13027 * eval.c (specbind): Remove references to
13028 keyword_symbols_constant_flag.
13029
13030 * data.c (keyword_symbols_constant_flag): Removed.
13031 (Fmakunbound, set_internal, syms_of_data): Remove references to
13032 keyword_symbols_constant_flag.
13033
13034 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13035
214f877f
KH
130362000-02-23 Kenichi Handa <handa@etl.go.jp>
13037
13038 * syntax.c (multibyte_syntax_as_symbol): New variable.
13039 (syms_of_syntax): Declare it as a Lisp variable.
13040 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13041 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13042 nonzero, treat all multibyte characters as symbol.
52283633 13043 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13044
130adcb7
EZ
130452000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13046
3cb65b0e 13047 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13048 a deleted frame.
130adcb7 13049
17cbbf95
GM
130502000-02-21 Gerd Moellmann <gerd@gnu.org>
13051
13052 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13053
13054 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13055 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13056
beb0bc36
DL
130572000-02-21 Dave Love <fx@gnu.org>
13058
13059 * frame.c (Vmouse_position_function): New variable.
13060 (Fmouse_position): Use it.
13061 (syms_of_frame): Install it.
13062
13063 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13064
1d92afcd
GM
130652000-02-20 Gerd Moellmann <gerd@gnu.org>
13066
13067 * fileio.c (Finsert_file_contents): Unbind the binding of
13068 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13069
13070 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13071 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13072 (specbind, unbind_to): Handle most common case of non-constant
13073 symbol with trivial value specially.
13074
13075 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13076
18e21ce8 130772000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13078
13079 * data.c (Fmake_variable_buffer_local): Doc fix.
13080 Init found_for_buffer to 0.
13081 (Fmake_variable_frame_local): If the variable has already
13082 been buffer-local, set the check_frame field.
13083
1d4311c3
EZ
130842000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13085
13086 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13087 produced for CODING_MODE_LAST_BLOCK requires.
13088
2dc95ddd
DL
130892000-02-18 Dave Love <fx@gnu.org>
13090
13091 * keyboard.c (echo_keystrokes): Remove declaration.
13092 (Vecho_keystrokes) New variable.
13093 (read_char, record_menu_key, read_key_sequence): Use it to allow
13094 use of float value.
13095 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13096
13097 * lread.c: Undef feature selection macros before defining.
13098
f0930f35
GM
130992000-02-18 Gerd Moellmann <gerd@gnu.org>
13100
13101 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13102 for symbols other than the symbol in question.
13103
e3d4de90
DL
131042000-02-17 Dave Love <fx@gnu.org>
13105
13106 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13107
0b378936
GM
131082000-02-17 Gerd Moellmann <gerd@gnu.org>
13109
d621caf7
GM
13110 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13111
0b378936
GM
13112 * alloc.c (enum mem_type): Compile unconditionally.
13113
3b451f74
EZ
131142000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13115
13116 * xfaces.c (tty_defined_color): Don't return faulire indication
13117 for unspecified-fg and unspecified-bg pseudo-colors.
13118
10689a01
GM
131192000-02-17 Gerd Moellmann <gerd@gnu.org>
13120
1216f5e4
GM
13121 * alloc.c (mark_object): Don't mark symbol names in pure space.
13122 (gc_sweep): Don't unmark symbol names in pure space.
13123
13124 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13125 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13126 [GC_MARK_STACK]: New defines.
427ec082 13127 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13128 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13129
13130 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13131
13132 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13133 allocate_buffer instead of xmalloc.
13134
13135 * alloc.c (toplevel): Include setjmp.h.
13136 (PURE_POINTER_P): New define.
13137 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13138 (Vdead) [GC_MARK_STACK]: New variable.
13139 (lisp_malloc): Add parameter TYPE, call mem_insert if
13140 GC_MARK_STACK is defined.
13141 (allocate_buffer): New function.
427ec082 13142 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13143 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13144 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13145 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13146 (MEM_NIL) [GC_MARK_STACK]: New define.
13147 (struct mem_node) [GC_MARK_STACK]: New structure.
13148 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13149 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13150 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13151 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13152 (mark_stack) [GC_MARK_STACK]: New functions.
13153 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13154 (clear_marks): Removed.
13155 (gc_sweep): Set free conses' car, free floats' type, free
13156 symbols' function to Vdead. Use lisp_free to free buffers.
13157 (init_alloc_once): Initialize Vdead.
13158 (survives_gc_p): Return non-zero for pure objects.
13159
13160 * alloc.c: Add comments throughout the file.
13161
2503c8b1
GM
13162 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13163 that unblocks alarms.
13164
8389e1e2
GM
13165 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13166 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13167 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13168
10689a01 13169 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13170
bfc17d18
KH
131712000-02-17 Kenichi Handa <handa@etl.go.jp>
13172
4a09dee0
KH
13173 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13174 avoid infinite error signaling. Allocate sufficient memory for
13175 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13176
2b927d02
SM
131772000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13178
13179 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13180 depends on the previous behavior.
13181
b49cb764
GM
131822000-02-16 Gerd Moellmann <gerd@gnu.org>
13183
13184 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13185
99e95407
GM
131862000-02-15 Gerd Moellmann <gerd@gnu.org>
13187
13188 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13189
13190 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13191 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13192 write(2).
13193
6ffd3cf7
RS
131942000-02-15 Richard M. Stallman <rms@gnu.org>
13195
13196 * data.c (set_internal): Don't make variable buffer-local
13197 if within a let-binding for the same buffer.
13198 (let_shadows_buffer_binding_p): New function.
13199
13200 * eval.c (specbind): For buffer-local value,
13201 record the current buffer also.
13202 (unbind_to): Cope with that change.
13203
cad53475
GM
132042000-02-15 Gerd Moellmann <gerd@gnu.org>
13205
13206 * window.c (Fsave_window_excursion): Doc fix.
13207
1aa963c8
SM
132082000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13209
13210 * syntax.c (back_comment): Make sure we only consider comment-starters
13211 of the relevant style and return -1 in case of a failure to find the
13212 beginning of the comment.
13213 (Fforward_comment): If back_comment fails, go back to the position just
13214 after the comment-end.
13215 (scan_lists): Add comment describing a very minor bug.
13216
b9b84fd3
SM
132172000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13218
13219 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13220 `completion-regexp-list' in the docstring.
13221
3a28db80
DL
132222000-02-14 Dave Love <fx@gnu.org>
13223
13224 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13225
fb4a568d
SM
132262000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13227
13228 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13229 to Emacs' syntax. Also fix the comment about set/not-set meanings
13230 since Emacs syntax is not the value 0 any more.
13231 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13232 since it's now part of RE_SYNTAX_EMACS.
13233
1063ebb5
DL
132342000-02-12 Dave Love <fx@gnu.org>
13235
52283633 13236 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13237
fb07a302
GM
132382000-02-12 Gerd Moellmann <gerd@gnu.org>
13239
13240 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13241
aaf2320c
DL
132422000-02-12 Dave Love <fx@gnu.org>
13243
13244 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13245
13246 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13247 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13248 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13249
13250 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13251
13252 * s/nextstep.h: Don't define HAVE_ALLOCA.
13253
13254 * config.in: Add vfork bits.
13255
eedf8bde
GM
132562000-02-12 Gerd Moellmann <gerd@gnu.org>
13257
13258 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13259 unwind function to undo the effect of stopping atimers.
13260
52283633 13261 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13262
13263 * atimer.c (stopped_atimers): New variable.
13264 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13265 New functions.
13266
13267 * atimer.h (stop_other_atimers, run_all_atimers)
13268 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13269
eedf8bde
GM
13270 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13271
8476c2f8
KR
132722000-02-11 Ken Raeburn <raeburn@gnu.org>
13273
13274 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13275 library may depend on jpeg.
13276 (atimer.o): Depends on atimer.c.
13277
0e85e4a3
KH
132782000-02-11 Kenichi Handa <handa@etl.go.jp>
13279
13280 * insdel.c (del_range_1): Call update_compositions.
13281 (del_range_both): Call update_compositions just once..
13282
97fa0cc8
DL
132832000-02-10 Dave Love <fx@gnu.org>
13284
13285 * xfns.c (create_frame_xic): Fix initialization of automatic
13286 aggregates for pcc.
13287
25566a3c
KH
132882000-02-09 Kenichi Handa <handa@etl.go.jp>
13289
13290 * ccl.c (CCL_MAKE_CHAR): New macro.
13291 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13292 registers by CCL_MAKE_CHAR before calling translate_char.
13293 <CCL_TranslateCharacterConstTbl> Likewise.
13294
69da54ba
DL
132952000-02-08 Dave Love <fx@gnu.org>
13296
13297 * lread.c (__EXTENSIONS__): Define.
13298
f7136ee8
GM
132992000-02-08 Gerd Moellmann <gerd@gnu.org>
13300
13301 * puresize.h (BASE_PURESIZE): Increase to 650000.
13302
7768790b
EZ
133032000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13304
13305 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13306 the help message.
13307
38fd211b
EZ
133082000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13309
13310 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13311 md, mh, mb, mr, and me to the fake termcap entry.
13312
66e4690f
KR
133132000-02-06 Ken Raeburn <raeburn@gnu.org>
13314
13315 * sound.c (sound_cleanup): Don't call device close routine if the
13316 function pointer is null.
13317
a75dfea0
AI
133182000-02-06 Andrew Innes <andrewi@gnu.org>
13319
13320 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13321 around image definitions and prototypes.
13322 (gamma_correct) [WINDOWSNT]: New prototype.
13323
13324 * w32term.c (x_make_frame_visible): Replace call to
13325 input_poll_signal with poll_for_input.
13326
13327 * window.c [WINDOWSNT]: Include w32term.h.
13328
13329 * xdisp.c [WINDOWSNT]: Include w32term.h.
13330
13331 * makefile.nt: Add dependencies on w32gui.h.
13332 (OBJ1): Include atimer.obj.
13333 ($(BLD)\atimer.obj): New dependency rule.
13334
13335 * w32.c (sigmask): New function (does nothing).
13336 (sigunblock): Ditto.
13337
13338 * frame.c [WINDOWSNT]: Include w32term.h.
13339
13340 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13341
13342 * lread.c (syms_of_lread): Fix literal newlines.
13343
13344 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13345 the string constant limit (2048 bytes) in MSVC.
13346 (main): Ditto.
13347
59ddecde
GM
133482000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13349
52283633 13350 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13351 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13352 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13353 dispatch the event.
13354
07590973
DL
133552000-02-04 Dave Love <fx@gnu.org>
13356
13357 * fileio.c: Remove some unused vars.
13358 (_GNU_SOURCE): Define (for euidaccess).
13359
13360 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13361
13362 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13363 gcpro1, gcpro2.
13364 (read_minibuf): Deal with allow_props correctly.
13365
649351f9
EZ
133662000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13367
13368 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13369
66e4690f 133702000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13371
13372 * search.c (compile_pattern): If a cache entry has a nil regexp,
13373 fill in that entry instead of clobbering a previously cached
13374 string regexp.
13375
66e4690f 133762000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13377
13378 * puresize.h (BASE_PURESIZE): Increase to 610000.
13379
d240a249
GM
133802000-02-02 Gerd Moellmann <gerd@gnu.org>
13381
13382 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13383 can GC.
13384
ca91fb26
KH
133852000-02-02 Kenichi Handa <handa@etl.go.jp>
13386
25660570
KH
13387 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13388 instead of incrementing ic directly.
13389 <CCL_WriteExprConst> Likewise.
13390 <ccl_set_expr>: Set ic to jump_address.
13391
ca91fb26
KH
13392 * fileio.c (e_write): Fix the handling of
13393 CODING_FINISH_INSUFFICIENT_SRC.
13394
2ede9689
DL
133952000-02-01 Dave Love <fx@gnu.org>
13396
13397 * editfns.c (Fpropertize): Doc fix.
13398
13399 * process.c (Fstart_process): Doc fix.
13400
13401 * eval.c: Fix various doc strings not to duplicate information
13402 from help-manyarg-func-alist.
13403
52283633 13404 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13405
13406 * doc.c (Vhelp_manyarg_func_alist): New variable.
13407 (Fdocumentation): Use it.
13408 (syms_of_doc): Define it.
13409
b6680a0e
GM
134102000-01-31 Gerd Moellmann <gerd@gnu.org>
13411
2cb750ba
GM
13412 * xterm.c (xim_open_dpy): Remove unused local variable.
13413
52283633 13414 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13415
13416 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13417 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13418
b6680a0e
GM
13419 * fns.c (sweep_weak_table): New function.
13420 (sweep_weak_hash_tables): Use it. Keep on marking until there
13421 is no more change.
13422
994c5afe
GM
134232000-01-30 Gerd Moellmann <gerd@gnu.org>
13424
13425 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13426 that XTread_socket does not crash by trying to call XNoOp on a
13427 closed display.
427ec082 13428
f00276e3
JR
134292000-01-30 Jason Rumney <jasonr@gnu.org>
13430
13431 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13432 Change selected_frame to SELECTED_FRAME ().
13433 (w32_console_mouse_position): Remove #ifndef MULE from around
13434 `insist' parameter.
13435
13436 * makefile.nt: Remove dosfns.obj.
13437
13438 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13439
13440 * w32fns.c (w32_defined_color): Check for valid frame before
13441 applying gamma correction. Eliminate dependency on frame elsewhere.
13442 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13443 (w32_to_x_font): Use resx and resy not height_in and width_in.
13444 (x_to_w32_font): Doc fix.
13445 (xlfd_strip_height): New function to strip and return font height.
13446 (w32_font_match): Compare height separately from rest of xlfd
13447 spec, using xlfd_strip_height.
13448
13449 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13450 width_in. Use w32_defined_color in place of defined_color.
13451
13452 * w32faces.c: Merge more of DOS and X specifics in preparation for
13453 merge with xfaces.c.
13454 (defined_color): Remove FIXME comment.
13455 (tty_color_name): Provide w32-specific function.
13456 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13457
13458 * w32console.c (turn_on_face, turn_off_face): Removed.
13459 (w32_face_attributes): New function.
13460 (Global_variables): Reduce scope where possible.
13461 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13462 fill attribute.
13463 (hl_mode): Don't modify text attributes.
13464 (write_glyphs): Don't do anything if len <= 0. Use
13465 w32_face_attributes to get attributes for drawing. Write
13466 terminating codes using char_attr_normal.
13467 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13468 (update_begin, update_end): Likewise.
13469 (vga_stdcolor_name): New function.
13470 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13471 (Fset_screen_color): Remove char_attr_reverse.
13472
b08e8bb2
GM
134732000-01-29 Gerd Moellmann <gerd@gnu.org>
13474
13475 * xfns.c (xic_set_preeditarea): Take window parameter and
13476 window-relative pixel-positions.
13477
13478 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13479 is its frame's selected window.
13480 (xim_instantiate_callback): Likewise.
13481
13482 * xfns.c (x_create_im): Removed.
13483 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13484 (supported_xim_styles): Renamed from supported_styles.
13485 (best_xim_style): Renamed from best_style.
13486 (create_frame_xic): Renamed from xic_create_frame.
13487 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13488
b08e8bb2
GM
134892000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13490
13491 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13492 our frames, call XFilterEvent with 2nd parameter `None'.
13493 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13494 returning XBufferOverflow.
52283633 13495 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13496 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13497 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13498 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13499 (xim_initialize, xim_close)
13500 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13501 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13502 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13503 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13504
13505 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13506 and `xim_styles'.
13507 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13508 `xic_style' and `xic_xfs'.
13509 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13510 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13511 (FRAME_XIM): Removed.
13512
13513 * xfns.c (supported_styles): New variable.
13514 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13515 (xic_create_xfontset, best_style, xic_create_frame)
13516 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13517 (xic_set_xfontset): New functions.
13518
142e109c
DL
135192000-01-28 Dave Love <fx@gnu.org>
13520
13521 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13522
13523 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13524
b02786f9
GM
135252000-01-28 Gerd Moellmann <gerd@gnu.org>
13526
d060bc9f
GM
13527 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13528 for *scratch* if it already existed.
13529
b02786f9
GM
13530 * emacs.c (USAGE): New macro.
13531 (main): Use it to display usage information.
13532
2c52d7e4
EZ
135332000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13534
13535 Support for the menu-help feature:
13536
52283633 13537 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13538
13539 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13540 part of the line to the termscript file.
13541 (IT_clear_to_end): Clear the entire line, not just its beginning.
13542 (menu_help_message, prev_menu_help_message): New variables.
13543 (IT_menu_make_room): Make room for the help_text member.
13544 (IT_menu_display): New argument disp_help; all callers changed.
13545 If disp_help is non-zero, store the help text of the active menu
13546 item in menu_help_message.
13547 (XMenuAddPane): Initialize the help_text member to NULL.
13548 (XMenuAddSelection): New argument help_text. Store it in the
13549 XMenu structure.
13550 (XMenuActivate): New argument help_callback. If the value of
13551 menu_help_message has changed since the last time, display the
13552 menu help message text while waiting for the mouse to move. Clear
13553 the echo area before exiting.
13554 (XMenuDestroy): Free the help_text member.
13555
ffe0bcd1
GM
135562000-01-27 Gerd Moellmann <gerd@gnu.org>
13557
13558 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13559 XMenuAddSelection. Pass help callback to XMenuActivate.
13560 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13561
50dbd23f
EZ
135622000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13563
13564 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13565 and EMACS_SET_USECS.
13566
f5941bf8
GM
135672000-01-26 Dave Love <fx@gnu.org>
13568
6c67ddee
DL
13569 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13570
f5941bf8
GM
13571 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13572 an error may be signalled.
13573
9e49c990
GM
135742000-01-26 Gerd Moellmann <gerd@gnu.org>
13575
fc3cb460
GM
13576 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13577 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13578
9e49c990
GM
13579 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13580
d0c037d8
GM
135812000-01-25 Gerd Moellmann <gerd@gnu.org>
13582
13583 * charset.c (Fstring): If there is a multibyte char among
13584 the args, always return a multibyte string.
13585
e12489f9
GM
135862000-01-25 Gerd Moellmann <gerd@gnu.org>
13587
13588 * sysdep.c (sys_select): Turn atimers off and on instead of
13589 recording and restoring old alarm handler
13590
13591 * process.c (toplevel): Include atimer.h.
13592 (create_process_1): Rewritten.
13593 (create_process): Use atimers instead of alarm.
13594 (wait_reading_process_input) [hpux]: Turn atimers off instead
13595 of turning off SIGALRM.
13596 (wait_reading_process_input): Turn off atimers instead off
13597 calling stop_polling.
13598
13599 * emacs.c (main): Call init_atimer.
13600
13601 * keyboard.c (toplevel): Include systime.h and atimer.h.
13602 (polling_for_input): Removed because unused.
13603 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13604 (poll_timer): New variable.
13605 (poll_for_input, poll_for_input_1): New functions.
13606 (start_polling, stop_polling): Rewritten.
13607
13608 * keyboard.h (polling_for_input): Removed.
427ec082 13609
e12489f9
GM
13610 * atimer.h, atimer.c: New files.
13611
13612 * Makefile.in (obj): Add atimer.o.
13613 (atimer.o): New target.
13614
13615 * blockinput.h (pending_atimers): Add extern declaration.
13616 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13617
13618 * lisp.h (popup_activated_flag): Add extern declaration.
13619
13620 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13621 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13622 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13623
13624 * xterm.c (toplevel): Include atimer.h.
13625 (toolkit_scroll_bar_interaction): New variable.
13626 (Fxt_process_timeouts): Removed.
13627 (x_process_timeouts): New function.
13628 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13629 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13630 (x_make_frame_visible): Call poll_for_input_1 instead of
13631 input_poll_signal. Don't call alarm.
13632 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13633
1e5279b9
DL
136342000-01-24 Dave Love <fx@gnu.org>
13635
6c67ddee 13636 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13637 Don't use -cckr -- apparently not now necessary.
13638
edf6aeb8
EZ
136392000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13640
13641 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13642 screen boundary.
13643
9badad41
JR
136442000-01-23 Jason Rumney <jasonr@gnu.org>
13645
13646 * w32fns.c (w32_defined_color): Apply gamma correction before
13647 trying to map to the palette.
13648 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13649 to w32_clear_rect.
13650
13651 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13652 here. Callers changed to always pass real device context.
13653 (w32_draw_bitmap): Likewise.
13654 (w32_get_glyph_overhangs): Likewise.
52283633 13655 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13656 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13657 pfnSetScrollInfo and SetScrollRange.
13658 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13659 back into MULE characters after decoding them.
13660 (x_get_glyph_face_and_encoding): Likewise.
13661 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13662 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13663 (x_produce_glyphs): Calculate per char metrics for a character
13664 that we know exists in default font when font_not_found_p is true.
13665
63bd786b
JR
136662000-01-22 Jason Rumney <jasonr@gnu.org>
13667
13668 * makefile.nt (intervals.obj, composite.obj): New modules.
13669 (composite.h): Added as dependency where appropriate.
13670
13671 * w32gui.h (XGCValue): New struct for emulating X GCs.
13672
13673 * w32term.h (XCharStruct): New struct for emulating X.
13674
13675 * w32console.c (turn_on_face, turn_off_face): New functions.
13676 (change_line_highlight): New prototype for new redisplay.
13677 (write_glyphs): Support multibyte text. Support faces.
13678
52283633 13679 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13680
13681 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13682 throughout. struct frame * in place of FRAME_PTR.
13683 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13684 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13685 (w32_get_arg): Renamed from x_get_arg.
13686 (Fx_file_dialog): New function.
13687 (w32_list_fonts): Check cache before asking system.
13688 (Vw32_enable_synthesized_fonts): New variable.
13689 (Vw32_enable_italics): Obsolete, removed.
13690
13691 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13692 Use SELECTED_FRAME macro.
13693
13694 * w32menu.c: Add skeleton support for help strings on menus.
13695 (add_menu_item): Native checkbox and radio support added, but not
13696 yet enabled due to bugs.
13697 (push_menu_item): Add parameters type, selection and help.
13698 Callers updated.
13699 Formatting changes to reduce unnecessary diffs with xmenu.c.
13700
13701 * w32select.c (Fw32_set_clipboard_data): Update call to
13702 find_charset_in_str.
13703
13704 * w32term.c: Complete rewrite for new redisplay based on new
13705 xterm.c with necessary sections merged back in from old w32term.c.
13706
6ffd3cf7 137072000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13708
13709 * data.c (set_internal): Further fix in same criterion.
13710
6ffd3cf7 137112000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13712
13713 * data.c (set_internal): Fix the criteria for whether
13714 to swap out the old cached binding.
13715
60af03f1
DL
137162000-01-19 Dave Love <fx@gnu.org>
13717
13718 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13719
f9be074f
KH
137202000-01-18 Kenichi Handa <handa@etl.go.jp>
13721
13722 * regex.c (re_compile_fastmap): While checking a range table for
13723 `charset', skip flag bits for a character class correctly.
13724
52b8dbf9
GM
137252000-01-17 Gerd Moellmann <gerd@gnu.org>
13726
d36100c9
GM
13727 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13728
52283633 13729 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13730
13731 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13732 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13733
13734 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13735 MENU_ITEMS_ITEM_.*.
13736 (MENU_ITEMS_ITEM_HELP): New enumerator.
13737 (push_menu_item): Add parameter HELP. Record help in menu_items.
13738 (single_menu_item, single_submenu, list_of_items): Call
13739 push_menu_item with new parameter.
13740 (single_submenu): Set help string in widget value.
13741 (menu_highlight_callback): New function.
13742 (set_frame_menubar): Call lw_create_widget with new
13743 parameter list.
13744 (xmenu_show, xdialog_show): Ditto.
13745
3139018f
GM
137462000-01-13 Gerd Moellmann <gerd@gnu.org>
13747
13748 * sound.c (Fplay_sound): Improve doc string.
13749
83c8f461
RS
137502000-01-11 Richard M. Stallman <rms@gnu.org>
13751
13752 * lisp.h (set_internal): Enter the new arg.
13753
13754 * eval.c (specbind): Record buffer-local variables specially,
13755 indicating which buffer's binding was saved.
13756 (unbind_to): Restore buffer-local variables specially
13757 in the proper buffer.
13758
13759 * data.c (set_internal): New arg BUF.
427ec082 13760
83c8f461
RS
13761 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13762 * data.c (Fset): Pass new arg to set_internal.
13763 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13764
1fab1775
GM
137652000-01-11 Gerd Moellmann <gerd@gnu.org>
13766
52283633 13767 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13768
83c8f461 137692000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13770
13771 * minibuf.c (Ftry_completion): Doc fix.
13772
7a85e4df
GM
137732000-01-11 Gerd Moellmann <gerd@gnu.org>
13774
13775 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13776 vector, too.
13777
a970dae4
AS
137782000-01-11 Andreas Schwab <schwab@suse.de>
13779
13780 * coding.c (code_convert_region): Initialize total_skip.
13781
c65d14ee
DL
137822000-01-08 Dave Love <fx@gnu.org>
13783
13784 * eval.c (Fuser_variable_p): Check customizability too.
13785
834938d2
GM
137862000-01-07 Gerd Moellmann <gerd@gnu.org>
13787
13788 * minibuf.c (Fcompleting_read): Doc fix.
13789
e0303cd6
GM
137902000-01-05 Gerd Moellmann <gerd@gnu.org>
13791
8a26744b
GM
13792 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13793 -L /usr/local/lib.
13794
e0303cd6
GM
13795 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13796 Check that input style is supported before trying to create an
13797 IC for it.
13798 (x_window): Call x_create_im.
427ec082 13799
2e471eb5
GM
138002000-01-04 Gerd Moellmann <gerd@gnu.org>
13801
560a7bd2
GM
13802 * xfns.c (current_gif_memory_src): New variable.
13803 (gif_load): Record the address of the current memory source
13804 in current_gif_memory_src.
13805 (gif_read_from_memory): Use current_gif_memory_src.
13806
f9ee84a3
GM
13807 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13808 macros statement form.
13809
d1299cde
GM
13810 * sound.c (struct sound): Renamed from struct sound_file.
13811 (struct sound): Add members `data' and `header_size'.
13812 (enum sound_attr): Add SOUND_DATA.
13813 (current_sound, current_sound_device): Variables renamed from
13814 sound_file and sound_device.
13815 (parse_sound): Parse :data.
13816 (parse_sound): Handle sound data in strings.
13817 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13818 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13819 needed header size.
13820 (wav_play, au_play): Play sounds from string data.
13821
2e471eb5
GM
13822 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13823
13824 * lisp.h: Add prototype for allocate_string_data.
13825
52283633 13826 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13827
13828 * alloc.c (mark_buffer): Remove code in #if 0.
13829 (gc_sweep): Ditto.
13830 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13831 (strings_consed): New variable.
13832 (allocate_string): Set it.
13833 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13834 (Fmemory_use_counts): Return strings_consed. Use Flist.
13835
13836 * alloc.c: General cleanup in comments etc. Remove conditional
13837 compilation for `standalone'.
13838
13839 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13840
13841 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13842 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13843 (DONT_COPY_FLAG): Removed.
13844 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13845 (struct sdata, struct sblock): New
13846 (struct string_block): Rewritten.
13847 (STRINGS_IN_STRING_BLOCK): New macro.
13848 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13849 (large_sblocks, string_blocks, string_free_list): New variables.
13850 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13851 (init_strings): Rewritten.
13852 (allocate_string, allocate_string_data, compact_small_strings)
13853 (free_large_strings, sweep_strings): New functions.
13854 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13855 (struct string_block_head, current_string_block)
13856 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13857 (STRING_PAD): Removed.
13858 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13859 (Fgarbage_collect): Don't set mark bit in large strings.
13860 (mark_object): Mark strings differently. Mark symbol names
13861 differently.
13862 (survives_gc_p): Test marked strings differently.
427ec082 13863 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13864 symbol names.
13865 (compact_strings): Removed.
13866
42608ba8
EZ
138672000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13868
13869 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13870 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13871
e0a09e1a
KH
138722000-01-04 Kenichi Handa <handa@etl.go.jp>
13873
dd9f0750 13874 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13875 in a non-empty buffer.
dd9f0750 13876
3c0f3b15 13877 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13878
44cd3ae5
GM
138792000-01-03 Gerd Moellmann <gerd@gnu.org>
13880
13881 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13882 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13883
13884 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13885
c182a70f
EZ
138862000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13887
13888 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13889 need to test for MSDOS frames.
13890
24480d5b
EZ
138912000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13892
13893 * dosfns.c (unspecified_colors): Remove.
13894 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13895 unspecified_bg.
13896 (msdos_stdcolor_name): Return strings for unspecified fore- and
13897 back-ground colors.
13898
13899 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13900 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13901 (tty_color_name): Return Lisp strings for unspecified fore- and
13902 back-ground colors.
13903 (Finternal_set_lisp_face_attribute): Remove the special treatment
13904 for Qunspecified_{f,b}g.
52283633 13905 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13906
047f434a
GM
139072000-01-03 Gerd Moellmann <gerd@gnu.org>
13908
13909 * xdisp.c (reseat_at_next_visible_line_start): Position before
13910 newline only if ending up on a newline.
13911 (next_element_from_ellipsis): Return success. Handle case of
52283633 13912 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13913 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13914 returns 0.
13915
d684c676
EZ
139162000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13917
13918 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13919 (Fcolor_supported_p): Renamed from face-color-supported-p.
13920
5fe1d139
EZ
139212000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13922
13923 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13924 list of colors renamed to tty-defined-color-alist.
13925 (tty_color_name): Pass the frame to tty-color-by-index.
13926 (realize_tty_face): tty-color-alist is now a function which
13927 accepts the frame as argument.
13928
52283633 13929 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13930
816be8b8
EZ
139312000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13932
13933 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13934 encode_terminal_code.
13935
b635321e
EZ
139362000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13937
13938 * dispnew.c (mode_line_string): Support termcap frames as well.
13939
9b784e96
GM
139402000-01-01 Gerd Moellmann <gerd@gnu.org>
13941
27189709
GM
13942 * syntax.c (Fforward_word): Undo previous change.
13943
13944 * editfns.c (Fconstrain_to_field): Don't constrain if
13945 inhibit-field-text-motion is non-nil.
13946 (Fline_beginning_position): Undo previous change.
13947 (Fline_end_position): Ditto.
13948
13949 * syntax.c (Fforward_word): Notice field boundaries only if
13950 inhibit-field-text-motion is nil.
13951
13952 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13953
13954 * editfns.c (Vinhibit_field_text_motion): New variable.
13955 (inhibit-field-text-motion): New DEFVAR_LISP.
13956 (Fline_beginning_position, Fline_end_position): Notice field
13957 boundaries only if inhibit-field-text-motion is nil.
13958
45158a91
GM
13959 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13960 All calls adjusted.
13961 (x_build_heuristic_mask): Likewise.
13962 (xbm_load_image_from_file): Change error output.
13963 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13964 (gif_load, gs_load, x_kill_gs_process): Ditto.
13965
9b784e96
GM
13966 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13967 color indices when accessing raster pixels.
63cec32f
GM
13968 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13969 one of :file or :data.
13970 (enum pbm_keyword_index): Add PBM_DATA.
13971 (pbm_format): Add :data.
13972 (pbm_image_p): Allow either :file or :data.
13973 (pbm_read_file): New function.
13974 (pbm_scan_number): Rewritten to read from string.
13975 (pbm_load): Support :data.
9b784e96 13976
2cb085db 13977See ChangeLog.8 for earlier changes.
6922b018
KH
13978
13979;; Local Variables:
49b3bd82 13980;; coding: iso-2022-7bit
6922b018 13981;; End:
2a34a036
GM
13982
13983 Copyright (C) 2001 Free Software Foundation, Inc.
13984 Copying and distribution of this file, with or without modification,
13985 are permitted provided the copyright notice and this notice are preserved.