(Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of treating XCAR and XCDR
[bpt/emacs.git] / src / ChangeLog
CommitLineData
aed29b97
EZ
12001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 4 (SIGMASKTYPE): Define.
aed29b97
EZ
5
6 * syssignal.h (sigunblock): Don't define if already defined.
7
6cb16f95
PJ
82001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
9
16b45be4
EZ
10 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
11 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
12 Fix typos in comments.
13
020f9b38
PJ
14 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
15 and #ifdef'd-out code.
16 Fix and reindent comments.
17
18 * mocklisp.h: Remove comment which is a copy of comment in
19 mocklisp.c.
20
6cb16f95
PJ
21 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
22 argument `i' in macros.
23
24 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
25 `i' in macros.
26
16b45be4
EZ
27 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
28 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
29 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
30 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
31 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
32 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
33 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
34 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
35 in macros.
36
37 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
38 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
39 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
40 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
41 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
42 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
43 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
44 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
45 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
46 (remove unused second argument).
47
e6bff182
RS
482001-11-02 Richard M. Stallman <rms@gnu.org>
49
50 * textprop.c (Fget_char_property): Doc fix.
51
9ba48103
PJ
522001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
53
54 * process.c (Fstart_process): Add usage to doc-string.
55
56 * data.c (Fsetq_default): Ditto.
57
58 * callint.c (Finteractive): Ditto.
59
c22e59e1
SM
602001-11-01 Stefan Monnier <monnier@cs.yale.edu>
61
62 * macros.c: Don't include keymap.h any more.
63
9271ed2c
RS
642001-11-01 Richard M. Stallman <rms@gnu.org>
65
e6bff182
RS
66 * data.c (Fmake_local_variable): Doc fix.
67
68 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
69 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
70
9271ed2c
RS
71 * keymap.c (Fdescribe_buffer_bindings): Print character property
72 bindings along with or instead of the buffer local map.
73 Make the overriding maps override what they should.
74
8b8bd9c6
PJ
752001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
76
77 * window.c (grow_mini_window): Fix typo in comment.
78
27188d11
GM
792001-11-01 Gerd Moellmann <gerd@gnu.org>
80
7b49b9d2
GM
81 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
82 (XTset_vertical_scroll_bar): Likewise.
83
43f7c3ea
GM
84 * xfns.c (x_build_heuristic_mask): Use four_corners_best
85 instead of IMAGE_BACKGROUND.
c22e59e1 86
b350c2e5
GM
87 * xfns.c (four_corners_best): Reindent.
88
c22e59e1 89 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
90 Handle :box so that it is possible to specify sexprs.
91
d576358b
PJ
922001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
93
94 * xfaces.c (Finternal_merge_in_global_face): Reindent.
95 (Fface_font): Ditto.
96 (Finternal_set_alternative_font_registry_alist): Ditto.
97 (Ftty_suppress_bold_inverse_default_colors): Ditto.
98
99 * xfns.c (x-get-resource): Reindent.
100
bf00d461
EZ
1012001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
102
103 * s/hpux11.h: New file.
104
4e10df59
PJ
1052001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
106
2b209b97
PJ
107 * emacs.c (USAGE1): Show command line option --no-window-system
108 instead of --no-windows in usage.
109 (standard_args): Rename --no-windows to --no-window-system.
110 (bug_reporting_address): Follow Emacs coding conventions.
111
9dbc9081
PJ
112 * eval.c (Fcommandp): Doc fix.
113 Change doc-string comments to `new style' [w/`doc:' keyword].
114
4e10df59
PJ
115 * frame.c (Fframe_live_p): Doc fix.
116
117 * buffer.c (selective-display-ellipses): Doc fix.
118
dd387b25
GM
1192001-10-31 Gerd Moellmann <gerd@gnu.org>
120
fe957e65
GM
121 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
122
dd387b25
GM
123 * xfaces.c (realize_x_face): If C is not a single-byte character,
124 set the face's colors_copied_bitwise_p instead of the defaulted_p
125 members which have a different meaning.
126 (free_face_colors): Do nothing for a face whose colors have been
127 copied bitwise.
128
c22e59e1 129 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 130
2e1280f8
PJ
1312001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
132
687784e8
PJ
133 * marker.c, mocklisp.c: Change doc-string comments to `new style'
134 [w/`doc:' keyword].
2e1280f8 135
b9d9a9b9
GM
1362001-10-31 Gerd Moellmann <gerd@gnu.org>
137
138 * fns.c (require_unwind): Return Lisp_Object.
139
48400103
PJ
1402001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
141
fa1361cb
PJ
142 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
143 (last-input-char): Revert doc-string to be the same as the
144 doc-string of `last-input-event'.
145
48400103
PJ
146 * xdisp.c: Fix typos in comments.
147
eafa3196
GM
1482001-10-31 Gerd Moellmann <gerd@gnu.org>
149
150 * window.c (grow_mini_window): Handle case that the root
151 window is already smaller than the nominal mininum height.
152
747d3f2a
SM
1532001-10-30 Stefan Monnier <monnier@cs.yale.edu>
154
bf9bb76f
SM
155 * emacs.c (main): Don't call keys_of_macros any more.
156
157 * lisp.h (keys_of_macros): Remove.
158
159 * macros.c (keys_of_macros): Remove.
160
747d3f2a
SM
161 * xfaces.c (Fface_attribute_relative_p): Declare args.
162
5e905a57
JR
1632001-10-30 Jason Rumney <jasonr@gnu.org>
164
165 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
166 (enum_font_cb2): Ignore fonts with vertical orientation.
167
3a426197
RS
1682001-10-30 Richard M. Stallman <rms@gnu.org>
169
170 * keyboard.c (Finput_pending_p): Doc fix.
171
a742d646
GM
1722001-10-30 Gerd Moellmann <gerd@gnu.org>
173
259cf6bc
GM
174 * xterm.c (x_after_update_window_line): Don't run the code
175 clearing in borders for rows whose visible height is 0.
176
3f99f948
GM
177 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
178 resized_p flag is set. If not set, use the much less flickering
179 method previously used.
180
181 * dispnew.c (change_frame_size_1): Set frame's resized_p.
182
183 * frame.h (struct frame) <resized_p>: New member.
184
b4a3be43
GM
185 * lread.c (to_multibyte): Ensure read_buffer is at least twice
186 as large as the number of bytes to convert.
747d3f2a 187
a742d646
GM
188 * lread.c (to_multibyte): New function.
189 (read1): Use it.
190
cacbb9e9
EZ
1912001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
192
193 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
194
99cb6b2f
GM
1952001-10-30 Gerd Moellmann <gerd@gnu.org>
196
327f42ee 197 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
198 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
199 if the row's fill_line_p is set and drawing the last glyph with
200 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 201
99cb6b2f
GM
202 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
203
8e8223e2
SM
2042001-10-29 Stefan Monnier <monnier@cs.yale.edu>
205
206 * xmenu.c: Include coding.h and charset.h.
207 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
208 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
209 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
210 Explicitly set wv->help. Use `TRUE' rather than `True'.
211 (menu_help_callback): Use empty_string.
212
213 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
214 (Fx_popup_dialog): Explicitly init f.
215 (w32_menu_display_help): Use empty_string.
216
4d083a8f
RS
2172001-10-29 Richard M. Stallman <rms@gnu.org>
218
b2304472
RS
219 * fns.c (Frequire): Detect recursive try to require the same
220 feature 3 or more levels deep, and get error.
221 (require_unwind): New subroutine.
222 (require_nesting_list): New variable.
223 (syms_of_fns): Init and staticpro it.
224
4d083a8f
RS
225 * print.c (print_object): Clarify indication of insertion type.
226
2fe41216
EZ
2272001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
228
90480000
EZ
229 * coding.c (syms_of_coding): Document that locale-coding-system is
230 used for decoding input on X.
231
2fe41216
EZ
232 * window.c (Fscroll_left, Fscroll_right): Doc fix.
233
74e79967
PJ
2342001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
235
236 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
237 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
238
60ebcfe8
GM
2392001-10-29 Gerd Moellmann <gerd@gnu.org>
240
9a7bdceb
GM
241 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
242 use NO_CURSOR if cursor_in_non_selected_windows is false.
243
3f08fcd2
GM
244 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
245 the slant attribute if FRAME is t.
246
0ccfdad2
GM
247 * xfns.c (x_set_internal_border_width): Set frame garbaged
248 when X window doesn't exist yet.
249
ef253080
GM
250 * xterm.c (x_after_update_window_line): Clear internal border
251 in different circumstances.
252
60ebcfe8
GM
253 * xterm.c (XTread_socket) <KeyPress>: Don't use
254 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
255 <handa@etl.go.jp>.
256
73d25f9c
EZ
2572001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
258
259 * m/ibms390.h: New file. From Adam Thornton
260 <athornton@sinenomine.net>.
261
cac1daf0
GM
2622001-10-28 Gerd Moellmann <gerd@gnu.org>
263
053b3256
GM
264 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
265
cac1daf0
GM
266 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
267 a loop counter.
268
13b1a09c
PJ
2692001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
270
186486eb
PJ
271 * emacs.c: Use argv[0] instead of emacs when -t was specified.
272
4707d2d0
PJ
273 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
274 keyword].
275 Fix typos in comments.
276
d883731c
PJ
277 * emacs.c (bug_reporting_address): New function.
278 Use it when displaying usage message.
279
04012254
PJ
280 * minibuf.c (read_minibuf): Remove unused external declaration of
281 variable `Qread_only'.
282
13b1a09c
PJ
283 * keymap.c (access_keymap): Remove unused variable `charset'.
284
5bbf4378
MB
2852001-10-28 Miles Bader <miles@gnu.org>
286
287 * xfaces.c (merge_face_heights): Handle TO being relative as well.
288 Remove #ifdef'd-out code.
289 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
290 (syms_of_xfaces): Initialize them.
291
1ce1e4ee
JR
2922001-10-27 Jason Rumney <jasonr@gnu.org>
293
294 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
295 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
296 position using the system caret.
297
298 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
299 (w32_system_caret_height, w32_system_caret_x)
300 (w32_system_caret_y): New variables for tracking system caret.
301 (w32_initialize): Initialize them.
c2d53558 302 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 303
c2d53558
SM
304 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
305 New messages types.
1ce1e4ee
JR
306
307 * w32term.c (note_mouse_highlight): Clear old help_echo.
308
4e30ce42
PJ
3092001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
310
bb4600a4
PJ
311 * xterm.c: Fix typo in a comment.
312
7db35a48
PJ
313 * emacs.c: Fix typos in comments.
314 Remove unnecessary spaces.
315 Change doc-string comments to `new style' [w/`doc:' keyword].
316 (USAGE2): Fix typos in usage string.
317
a7248e4f
PJ
318 * xterm.c: Fix typo in a comment.
319
4e30ce42
PJ
320 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
321 emacs.c.
322
62725a92
GM
3232001-10-27 Gerd Moellmann <gerd@gnu.org>
324
798dbe1f 325 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 326 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
327 farther backward when target_y was not reached.
328
62725a92
GM
329 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
330 Display errno only if non-zero.
331 (sound_warning): New function.
332 (vox_configure): Don't treat failing to set sample rate as error.
333 (various places): Improve error messages.
334
d4e34d24
EZ
3352001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
336
944e6f60
EZ
337 * fileio.c (Faccess_file): Run the argument filename through
338 Fexpand_file_name, before using it.
339
d4e34d24
EZ
340 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
341 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
342
38d2af0c
GM
3432001-10-26 Gerd Moellmann <gerd@gnu.org>
344
da80a8d5
GM
345 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
346
38d2af0c
GM
347 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
348 Fix clearing in the case of scroll bars on the right.
c2d53558 349
56f508dd
EZ
3502001-10-26 Juanma Barranquero <lektu@terra.es>
351
352 * w32gui.h (XImage): Add a dummy typedef.
353
fbd5ceb2
GM
3542001-10-26 Gerd Moellmann <gerd@gnu.org>
355
c2d53558 356 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 357
b23236fb
EZ
3582001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
359
360 * frame.c (Fframe_parameter): Fix last change.
361
5d991fc4
EZ
362 * fileio.c: Revert last change (which removed old commented-out
363 version of expand-file-name). Add a comment that explains why
364 this old version should not be removed.
365
879eadc3
GM
3662001-10-25 Gerd Moellmann <gerd@gnu.org>
367
75700ff2
GM
368 * frame.c (Fframe_parameter): Fix a bug whereby some
369 ``artificial'' frame parameters, like `minibuffer' were not
370 obtained by calling Fframe_parameters.
371
dfe92a6a
GM
372 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
373 cursor differently.
374
879eadc3
GM
375 * xdisp.c (move_it_vertically_backward): Compute line height
376 differently. Add heuristic to try to be more compatible to 20.x.
377
e1010ebe
SM
3782001-10-25 Stefan Monnier <monnier@cs.yale.edu>
379
d73a471b
SM
380 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
381
d6da5a06
GM
382 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
383 boolean.
e1010ebe 384
f66bd220
MB
3852001-10-25 Miles Bader <miles@gnu.org>
386
387 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
388 BG is a pointer to a structure, not a structure.
389 (gif_format, png_format): Add missing commas.
390
d436d538
RS
3912001-10-24 Richard M. Stallman <rms@gnu.org>
392
393 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 394 (syms_of_xfaces): Defsubr it.
d436d538 395
075c507b
PJ
3962001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
397
398 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
399 variable `area'.
400
d492b584
PJ
4012001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
402
c2d53558 403 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 404
e2a57b34
MB
4052001-10-25 Miles Bader <miles@gnu.org>
406
407 * dispextern.h (struct image): Add `background',
408 `background_valid', and `background_transparent' fields.
409 (image_background, image_background_transparent): New declarations.
410 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
411 * xfns.c (image_background, image_background_transparent)
412 (four_corners_best): New functions.
c2d53558 413 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
414 (gs_format): Add `:background' entry.
415 (lookup_image): Set IMG's background color if specified.
416 (pbm_load, xbm_load_image, png_load): Set IMG's background field
417 when appropriate.
418 (x_clear_image_1): Reset `background_valid' and
419 `background_transparent_valid' fields.
420 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
421 calculating it here. Set IMG's background_transparent field.
422 (enum xpm_keyword_index): Add XPM_BACKGROUND.
423 (enum png_keyword_index): Add PNG_BACKGROUND.
424 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
425 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
426 (enum gif_keyword_index): Add GIF_BACKGROUND.
427 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 428 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
429 Pre-calculate image background color where necessary.
430 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
431 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
432 color to use for image glyph reliefs.
433
b547b6e8
GM
4342001-10-24 Gerd Moellmann <gerd@gnu.org>
435
d9e3b8c6
GM
436 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
437 in full-width rows.
c2d53558 438
b547b6e8
GM
439 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
440 Fix clearing of area not covered by scroll bar.
441
2beb36f9
PJ
4422001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
443
444 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
445 and `real_start'.
c2d53558 446 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
447 (glyph_rect): Remove unused variable `area'.
448
76cb5e06
GM
4492001-10-24 Gerd Moellmann <gerd@gnu.org>
450
bdbdebff 451 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
452
453 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
454 (row_containing_pos): Take additional argument DY.
455 Treat rows ending in middle of char differently.
62e33982
GM
456 (display_line): Handle tabs on window systems differently.
457
458 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
459 with additional argument.
460
461 * dispextern.h (row_containing_pos): Adjust prototype.
462
76cb5e06
GM
463 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
464 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
465 (try_window_id, try_window_reusing_current_matrix)
466 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
467 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
468
996fee11
PJ
4692001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
470
c9e60620
PJ
471 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
472 gnuemacs).
473 (HAVE_BOXES): Fix typo in comment.
474 (push_menu_pane): Fix typo in comment.
475
3b552d56
PJ
476 * xdisp.c: (display_prop_string_p): Remove unused local declaration
477 of `Qwhen'.
478 (single_display_prop_string_p): Remove unused local declarations
479 of `Qwhen' and `Qmargin'.
480 (string_buffer_position): Remove unused variable `around'.
481 (store_frame_title): Remove unused variable `width'.
482
15c565ac
PJ
483 * window.c: Don't define max.
484 (coordinates_in_window): Remove unused variable `uy'.
485
a8818eb9
PJ
486 * widget.c: Don't define max.
487
996fee11
PJ
488 * process.c: Don't define max.
489 (create_process): Remove unused variable `buffer'.
490
496e1a5b
GM
4912001-10-23 Gerd Moellmann <gerd@gnu.org>
492
c2d53558 493 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 494
5905ae8b
EZ
4952001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
496
497 * xfaces.c (Finternal_set_lisp_face_attribute)
498 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
499 frame is on a windowed display.
500
24db49fb
GM
5012001-10-23 Gerd Moellmann <gerd@gnu.org>
502
c2d53558
SM
503 * dispnew.c (sync_window_with_frame_matrix_rows):
504 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
505 of marginal areas.
506
c2d53558 507 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 508
f0487f05
EZ
5092001-10-23 Andreas Schwab <schwab@suse.de>
510
511 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
512 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
513
f0a48a01
GM
5142001-10-23 Gerd Moellmann <gerd@gnu.org>
515
c2d53558 516 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
517 REAL_END. Notice if cursor gets overwritten.
518 (notice_overwritten_cursor): Take X positions as parameters.
519 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
520 around call to x_draw_glyphs.
521
a50a10a0
PJ
5222001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
523
fc11dff0
PJ
524 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
525 instead of C) and usage.
a50a10a0 526
fc11dff0
PJ
527 * editfns.c (char-to-string): Fix argument names (use CHAR instead
528 of C) and usage.
a50a10a0
PJ
529
530 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
531 `left', `max_width' and `max_height'.
532
8738febd
GM
5332001-10-23 Gerd Moellmann <gerd@gnu.org>
534
535 * xdisp.c (display_line): For a tab continued to the next line,
536 set row's ends_in_middle_of_char_p.
537
653c329b
GM
5382001-10-22 Gerd Moellmann <gerd@gnu.org>
539
540 * xdisp.c (display_line): Fix computation of continuation lines
541 width for TABs.
542
f958c5ac
PJ
5432001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
544
7ba51063
PJ
545 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
546 `Qlaplace'.
547
f958c5ac
PJ
548 * fileio.c: Remove unused code.
549
eb360291
MB
5502001-10-22 Miles Bader <miles@gnu.org>
551
552 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
553 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
554 Remove `DOC_STRINGS_IN_COMMENTS' cases.
555
98515cf0
JR
5562001-10-21 Jason Rumney <jasonr@gnu.org>
557
558 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
559
93026d88
EZ
5602001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
561
562 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
563 (Finsert_string): Avoid the multi-line string literals warning.
564
c9a95b79
MB
5652001-10-22 Miles Bader <miles@gnu.org>
566
567 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
568 (Fdocumentation): Don't use it.
569 (syms_of_doc): Don't initialize it.
570
571 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
572 * print.c (Fwith_output_to_temp_buffer): Likewise.
573 * window.c (Fsave_window_excursion): Likewise.
c2d53558 574 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 575 (Fsave_restriction): Likewise.
c2d53558
SM
576 * eval.c (Frun_hooks, Frun_hook_with_args)
577 (Frun_hook_with_args_until_failure)
578 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
579 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
580 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
581 (Funwind_protect, Fcondition_case): Likewise.
582 * coding.c (Ffind_operation_coding_system): Likewise.
583 * keyboard.c (Ftrack_mouse): Likewise.
584
a3b10252
MB
5852001-10-21 Miles Bader <miles@gnu.org>
586
c2d53558 587 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
588 (Fmake_hash_table): Add usage: string to doc string.
589 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 590 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
591 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
592 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
593 (Fml_prefix_argument_loop): Likewise.
594
c6f73eec
PJ
5952001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
596
c2d53558 597 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 598
c6f73eec
PJ
599 * sysdep.c (init_sys_modes): Change doc-string comments to `new
600 style' [w/`doc:' keyword].
601
602 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
603 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
604 comments to `new style' [w/`doc:' keyword].
605
3cf3436e
JR
6062001-10-21 Jason Rumney <jasonr@gnu.org>
607
608 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
609
c169b8f1
JR
610 * w32term.c (remember_mouse_glyph): New function.
611 (w32_mouse_position): Use it.
612 (note_mouse_movement): If the mouse moved off the glyph, remember
613 its new position.
c2d53558 614
4fdd691b
JR
615 * w32term.h (struct w32_output): Correct spelling of x_compatible.
616 (w32_display_info): Add mouse_face_overlay.
617
c169b8f1
JR
618 * w32term.c (notice_overwritten_cursor): Renamed from
619 note_overwritten_text_cursor. Rewritten to take glyph widths into
620 account.
621 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
622 (fast_find_string_pos): New function.
623 (fast_find_position): Return the correct vpos. Add parameter
624 STOP. In the final row, stop before glyphs having STOP as object.
625 Don't consider glyphs that are not from a buffer.
626 (fast_find_position) [0]: Add a presumably more correct version
627 for after 21.1.
628 (expose_window_tree, expose_frame): Don't compute intersections here.
629 (expose_window): Do it here instead.
630 (expose_window_tree, expose_window, expose_line): Return 1 when
631 overwriting mouse-face.
632 (expose_window): If W is the window currently being updated, mark
633 the frame garbaged.
634 (expose_frame): If mouse-face was overwritten, redo it.
635 (x_use_underline_position_properties): New variable.
636 (syms_of_xterm): DEFVAR_BOOL it.
637 (x_draw_glyph_string): Add comment to use it in future.
638 (x_draw_glyph_string): Restore clipping after drawing box.
639 Fix a computation of the underline position.
640 (w32_get_glyph_string_clip_rect): Minor cleanup.
641 (x_fill_stretch_glyph_string): Remove an assertion.
642 (x_produce_glyphs): Don't convert multibyte characters
643 to unibyte characters in unibyte buffers.
644 (cursor_in_mouse_face_p): New function.
645 (x_draw_stretch_glyph_string): Use it to choose a different GC
646 when drawing a cursor within highlighted text. Don't draw
647 background again if it has already been drawn.
648 (x_draw_glyph_string_box): Don't draw a full-width
649 box just because the glyph row's full_width_p flag is set.
650 (x_draw_glyphs): Fix computation of rightmost x for
651 full-width rows.
652 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
653 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
654 change bottom shadow accordingly. Some cleanup.
655 (x_update_window_end): Handle overwritten mouse face
656 also for tool bar windows.
657 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
658 DRAW is DRAW_IMAGE_RAISED.
659 (clear_mouse_face): Return 1 if text with mouse face was
660 actually redrawn. Make the function static. Reset
661 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
662 optimize away highlighting if we pass over that same overlay again.
663 (note_mouse_highlight): Call mouse_face_overlay_overlaps
664 to detect a case where we have to highlight a different region
665 despite not having left the currently highlighted region.
666 Set mouse_face_overlay in the x_display_info. Avoid changing the
667 mouse pointer shape when show_mouse_face has already done it, or
668 there is no need. Handle mouse-face and help-echo in strings.
669 (glyph_rect): New function.
670 (w32_mouse_position): Use it to raise the threshold for mouse
671 movement event generation.
672 (w32_initialize_display_info): Initialize the x_display_info's
673 mouse_face_overlay.
674 (w32_set_vertical_scroll_bar): Don't clear a zero height
675 or width area.
676 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
677 a widget to zero height.
678
3cf3436e 679 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 680 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
681 equivalents in menu_items.
682 (w32_menu_show): Don't overwrite an item's name with its key
683 description in case the description is a multibyte string.
684 (single_submenu): Some cleanup.
685
686 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
687 (postprocess_image): New function.
688 (lookup_image): Call it for all image types except PostScript.
689 (x_kill_gs_process): Call postprocess_image.
690 (tiff_error_handler, tiff_warning_handler): New functions.
691 (tiff_load): Install them as handlers.
692 (x_kill_gs_process): Recognize if someone has cleared the image
693 cache under us.
694 (valid_image_p): Protect better against invalid image
695 specifications. Previous code could signal an error.
696 (Fx_hide_tip, Fshow_tip): Doc fix.
697 (Fv_max_tooltip_size): New variable.
698 (syns_of_xfns): DEFVAR_LISP it.
699 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
700 window buffer to *tip* right after creating the frame. Set frame's
701 window_width. Use a maximum tooltip size specified by
702 Vx_max_tooltip_size, if that has valid contents.
703 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
704 Make sure the tooltip is completely visible.
705 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
706 (Fx_create_frame): Adjust the frame's height for presence
707 of the tool bar before calling x_figure_window_size.
708 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
709 when the window gets smaller.
710 (x_set_foreground_color): Set frame's cursor_pixel.
711 (x_set_foreground_color, x_set_background_color): Cleaned up.
712 (x_set_font): Handle case of x_new_fontset returning the same name
713 as before, although there was a change in fontsets.
714
386ca361
MB
7152001-10-21 Miles Bader <miles@gnu.org>
716
c2d53558 717 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
718 (Flogxor): Add usage: string to doc string.
719 * charset.c (Fstring): Likewise.
720 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
721 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
722
14ff1ee0
PJ
7232001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
724
03be2694
PJ
725 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
726
727 * alloc.c: Reindent DEFUNs with doc: keywords.
728
729 * abbrev.c (Finsert_abbrev_table_description): Reindent.
730
14ff1ee0
PJ
731 * frame.c: Change doc-string comments to `new style' [w/`doc:'
732 keyword].
733
71431a0e
GM
7342001-10-20 Gerd Moellmann <gerd@gnu.org>
735
6aa97356 736 * (Version 21.1 released.)
71431a0e 737
39f624fa
PJ
7382001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
739
c2d53558 740 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
741
742 * xdisp.c (invisible_text_between_p): Put prototype inside #if
743 0 because unused.
744
745 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
746 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
747 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 748
abcce93a
MB
7492001-10-20 Miles Bader <miles@gnu.org>
750
751 The following changes remove the glyph_row `inverse_p' field,
752 which is never set anymore, due to other changes:
753
754 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
755 (reassert_line_highlight, change_line_highlight): Declarations removed.
756 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
757 (line_hash_code, row_equal_p, fake_current_matrices)
758 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
759 (update_frame_line, update_frame_line, update_frame_line):
760 Don't use `inverse_p' field.
761 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
762 change_line_highlight_hook.
763 (XTreassert_line_highlight, x_change_line_highlight):
764 Functions removed.
c2d53558 765 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
766 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
767 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
768 `inverse_p' field.
c2d53558 769 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
770 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
771 (w32_reassert_line_highlight, x_change_line_highlight):
772 Functions removed.
773 * w32console.c (reassert_line_highlight, change_line_highlight):
774 Functions removed.
775 (initialize_w32_display): Don't set reassert_line_highlight_hook
776 or change_line_highlight_hook.
777 (hl_mode): Function removed.
c2d53558
SM
778 (reset_terminal_modes, set_terminal_modes, update_begin)
779 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
780 (clear_frame, ins_del_lines): Don't call it.
781 * termhooks.h (reassert_line_highlight_hook)
782 (change_line_highlight_hook): Declarations removed.
783 * term.c (reassert_line_highlight_hook)
784 (change_line_highlight_hook): Variables removed.
785 (reassert_line_highlight, change_line_highlight): Functions removed.
786 * msdos.c (IT_reassert_line_highlight)
787 (IT_change_line_highlight): Functions removed.
788 (internal_terminal_init): Don't set reassert_line_highlight_hook
789 or change_line_highlight_hook.
790 (highlight): Variable removed.
c2d53558 791 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
792 (IT_set_terminal_modes): Don't set or use it.
793
794 The following changes remove inverse-video support for terminals
795 that use a `magic cookie' standout mode. Due to changes in the
796 way mode-lines are displayed, such support no longer works
797 anyway, and it's probable that almost no one uses such terminals
798 anymore:
799
800 * term.c (standout_requested): Variable removed.
801 (update_end, highlight_if_desired): Don't use it.
802 (chars_wasted, copybuf): Variables removed.
803 (write_standout_marker): Function removed.
c2d53558 804 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
805 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
806 Don't use `chars_wasted' or `copybuf'.
807 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
808 Set `costs_set' to true.
809 (cursor_to, clear_end_of_line): Test `costs_set' instead of
810 `chars_wasted'.
811 (clear_end_of_line): Function removed.
812 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
813 (clear_to_end): Call `clear_end_of_line' instead of
814 `clear_end_of_line_raw'.
54800acb
MB
815 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
816 (term_init): Don't set them.
817 Turn off any standout/underline modes that require magic cookies.
c2d53558 818 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
819 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
820 Remove special processing for magic-cookie standout modes.
821 (turn_off_face, turn_on_face): Remove special processing for
822 underline magic-cookie glitch.
abcce93a 823
0b5f679f
RS
8242001-10-19 Richard M. Stallman <rms@gnu.org>
825
826 * eval.c (syms_of_eval): Doc fixes.
827
5a4a5bd4
GM
8282001-10-19 Gerd Moellmann <gerd@gnu.org>
829
830 * xdisp.c (redisplay_internal): Don't clear echo area if the
831 mini-window is selected.
832
79f1f96c
MB
8332001-10-19 Miles Bader <miles@gnu.org>
834
b57c2708
MB
835 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
836 doesn't take precedence if the affected property's value is nil.
837
838 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
839
79f1f96c
MB
840 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
841 with fields and suggest using `forward-line' to avoid them.
842 * editfns.c (Fline_beginning_position, Fline_end_position):
843 Clarify documentation.
844
ef879104
SM
8452001-10-18 Stefan Monnier <monnier@cs.yale.edu>
846
847 * keymap.c (current_minor_maps): `override' only shadows its
848 correspondent in minor-mode-map-alist, not the whole tail.
849
97f4db8c
AI
8502001-10-18 Andrew Innes <andrewi@gnu.org>
851
852 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
853 optimization. The fontp->encoding array was not being initialized
854 correctly when compiled with optimizations by MSVC.
855
e6b70fd8
GM
8562001-10-18 Gerd Moellmann <gerd@gnu.org>
857
30903479 858 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 859
0e804d38
AI
8602001-10-17 Andrew Innes <andrewi@gnu.org>
861
862 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
863
864 * w32fns.c (w32_load_system_font): Cache codepage for font, in
865 font_info.charset field.
866
867 * w32term.c (w32_encode_char): Get cached codepage from font_info,
868 rather than working it out by calling w32_codepage_for_font for
869 every glyph.
870
66e5868a
AI
8712001-10-17 Andrew Innes <andrewi@gnu.org>
872
873 * w32term.c (w32_read_socket): Determine clipping rectangle for
874 the entire frame, including areas covered by scrollbars and the
875 menubar. This avoids internal arguments about whether a frame is
876 fully obscured or not.
877
15b00083
GM
8782001-10-17 Gerd Moellmann <gerd@gnu.org>
879
23e8bd86
GM
880 * xdisp.c (try_window_id): Undo last change. Give up if
881 window ends in strings.
30903479 882
9c6ba6d1 883 * xdisp.c (try_window_id): Don't display lines after the window
30903479 884 end if the rest of the window after the window end was already blank.
23e8bd86 885
30903479 886 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
887 for the release of 21.1.
888
30903479 889 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 890
945220bd
MB
8912001-10-17 Miles Bader <miles@gnu.org>
892
893 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
894 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
895 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
896 Change doc-string comments to `new style' [w/`doc:' keyword].
897 (DOC_STRINGS_IN_COMMENTS): Macro removed.
898 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
899 out make-docfile.
900
14242528
MB
9012001-10-16 Miles Bader <miles@gnu.org>
902
903 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
904
3ddf952f
GM
9052001-10-16 Gerd Moellmann <gerd@gnu.org>
906
907 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
908 *scratch*.
909
f3fbd155
KR
9102001-10-16 Ken Raeburn <raeburn@gnu.org>
911
912 Avoid the assumption that car and cdr slots of cons cells are
913 addressable lvalues; this allows for easier experimentation with
914 other lisp implementations that may not permit such accesses for
915 various reasons. Not quite complete -- buffer.c still needs some
916 work, and w32/mac files need rechecking -- so compile-time
917 enforcement is left disabled for now.
918
919 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 920 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
921 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
922 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
923 (XSETCAR, XSETCDR): New macros.
924 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
925 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
926 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
927 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
928 XSETCDR.
929 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
930 * buffer.c (record_buffer, Fbury_buffer)
931 (swap_out_buffer_local_variables, recenter_overlay_lists)
932 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
933 fields of a cons cell respectively.
934 * callint.c (quotify_args, Fcall_interactively): Likewise.
935 * ccl.c (Fregister_code_conversion_map): Likewise.
936 * coding.c (detect_coding_system): Likewise.
937 * composite.c (get_composition_id, make_composition_value_copy):
938 Likewise.
30903479
SM
939 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
940 (swap_in_symval_forwarding, set_internal, Fset_default)
941 (Fmake_variable_buffer_local, Fmake_local_variable)
942 (Fmake_variable_frame_local): Likewise.
f3fbd155 943 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 944 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 945 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
946 * minibuf.c (get_minibuffer): Likewise.
947 * search.c (Fmatch_data): Likewise.
948 * textprop.c (extend_property_ranges): Likewise.
c2d53558 949 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
950 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
951 Likewise.
952 * w32term.c (x_delete_display): Likewise.
953 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
954 Likewise.
c2d53558 955 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 956 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 957 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
958 (Fread_file_name): Use XSETCAR.
959 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
960 CHECK_NUMBER_CDR.
961 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
962 * frame.c (Fmake_terminal_frame): Use XSETCDR.
963 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
964 CHECK_NUMBER_CDR.
965 * keyboard.c (read_char): Alter list traversal to avoid taking the
966 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
967 (parse_menu_item): Use XSETCAR and XSETCDR.
968 (reach_char_x_menu_prompt): Use XSETCAR.
969 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
970 (Fcommand_execute): Use XSETCDR.
971 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
972 (openp): Change list traversal to avoid using XCAR as lvalue.
973 (read_list): Use XSETCDR.
974 * process.c (wait_reading_process_input): Change wait_for_cell
975 handling to avoid taking addresses of cons cell slots.
30903479
SM
976 * xselect.c (x_own_selection, x_handle_selection_clear)
977 (x_clear_frame_selections): Use XSETCDR.
978 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
979 (x_handle_property_notify, x_get_foreign_selection)
980 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 981
502150e5
PJ
9822001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
983
018ba359
PJ
984 * buffer.c: Put doc strings in comments.
985
30903479 986 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 987
b56ba8de
SS
9882001-10-15 Sam Steingold <sds@gnu.org>
989
990 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
991
6a0b793a
PJ
9922001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
993
30903479
SM
994 * process.c (process-inherit-coding-system-flag)
995 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
996 in comment.
997
a1f17501 998 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 999 arguments. Put doc strings in comments.
a65da641
PJ
1000
1001 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1002
aa601ad0
GM
10032001-10-15 Gerd Moellmann <gerd@gnu.org>
1004
30903479 1005 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1006
aa601ad0
GM
1007 * window.c (select_window_1): Unfreeze window start. Remove a
1008 doubled test for WINDOW being live.
1009
288148a1
PJ
10102001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1011
dd8d1e71
PJ
1012 * fns.c (Fmapconcat): Fix typo in a doc string.
1013
288148a1
PJ
1014 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1015
9f5eb4a3
GM
10162001-10-15 Gerd Moellmann <gerd@gnu.org>
1017
1018 * xterm.c (x_draw_glyph_string): Restore clipping after
1019 drawing box.
1020
dbae44c8
PJ
10212001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1022
30903479 1023 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1024
0c88c937
SM
10252001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1026
56378db4
GM
1027 * indent.c (skip_invisible): Use new retval of
1028 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1029
845e4cf4
SM
1030 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1031 If a parent is reached and noinherit is set, exit immediately.
1032 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1033
0c88c937
SM
1034 * s/ms-w32.h (EXEC_SUFFIXES):
1035 * s/msdos.h (EXEC_SUFFIXES):
1036 * process.h (EXEC_SUFFIXES): Remove.
1037
1038 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1039 (decode_suffixes): Remove.
1040
1041 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1042 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1043 (invisible_ellipsis_p): Remove.
0c88c937
SM
1044
1045 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1046 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1047 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1048 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1049 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1050
d19be8a9
PJ
10512001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1052
04d7d066
PJ
1053 * lisp.h (Ftop_level): Add prototype.
1054
d624284c
PJ
1055 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1056 (XTread_socket): Improve style of comments to follow other
1057 comments.
1058
a87414f9
PJ
1059 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1060 is already prototyped in included lisp.h).
1061
d19be8a9
PJ
1062 * frame.c (Fset_mouse_position): Improve style of comment to
1063 follow other comments.
1064 (Fset_mouse_pixel_position): Improve style of comment to follow
1065 other comments.
1066 (Fmake_frame_visible): Doc fix and typo in comment.
1067 (Fmake_frame_invisible): Doc fix and typo in comment.
1068 (Ficonify_frame): Fix typo in comment.
1069
c061c855
GM
10702001-10-14 Gerd Moellmann <gerd@gnu.org>
1071
37f6b5b6 1072 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1073 * term.c, alloc.c: Put doc strings in comments.
c061c855 1074
e641b454
GM
10752001-10-13 Gerd Moellmann <gerd@gnu.org>
1076
1077 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1078 Provide definitions for doc strings in comments.
1079
1080 * fns.c: Put doc strings in comments.
1081
51724e26
EZ
10822001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1083
1084 * dired.c (file_name_completion): Ignore a candidate directory if
1085 it matches an element in completion-ignored-extensions that ends
1086 in a slash.
1087 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1088 feature in the doc string.
1089 (Ffile_name_completion): Ditto.
1090
be5fc59b
SM
10912001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1092
5a1373f3
SM
1093 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1094
1095 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1096
1097 * lisp.h (Fprovide): Update prototype.
1098 (Ffeaturep, invisible_p): Remove.
1099
bbc4a3d3 1100 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1101 (DOLIST, LOOP_PROPVAL): New macros.
1102 (invisible_p, invisible_ellipsis_p): Use them.
1103 (invisible_noellipsis_p): New function.
1104 (syms_of_xdisp): Use empty_string.
1105
1106 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1107
1108 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1109 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1110
1111 * print.c (Fwith_output_to_temp_buffer): Align with
1112 internal_with_output_to_temp_buffer.
1113 (print_preprocess): Use traverse_intervals_noorder.
1114 (print_object): Update call to traverse_intervals.
1115
1116 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1117 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1118
1119 * intervals.c (traverse_intervals_noorder): New function.
1120 (search_for_interval, count_intervals): Use it.
1121 (traverse_intervals): Use less stack space and drop `depth' arg.
1122
1123 * fns.c (Ffeaturep): Add new `subfeature' arg.
1124 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1125 (Qsubfeatures): New var.
1126 (syms_of_fns): Initialize it.
1127
026f408d
SM
1128 * keymap.c (Fkey_description): Use empty_string.
1129 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1130 (syms_of_keymap): Setup inheritance between maps.
1131 Don't export Sdescribe_bindings_internal any more.
1132
be5fc59b
SM
1133 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1134
3365175e
GM
11352001-10-12 Gerd Moellmann <gerd@gnu.org>
1136
1137 * xterm.c (notice_overwritten_cursor): Renamed from
1138 note_overwritten_text_cursor. Rewritten to take glyph widths into
1139 account.
1140
2ab7765c
EZ
11412001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1142
1143 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1144 multi-line strings without a trailing "\n\".
1145
311346bb
PJ
11462001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1147
1148 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1149 defined.
1150
2168e04d
SM
11512001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1152
026f408d
SM
1153 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1154
c0ec53ad
SM
1155 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1156 * w32proc.c (sys_spawnve):
1157 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1158 * w32.c (check_windows_init_file):
1159 * sound.c (Fplay_sound):
026f408d 1160 * emacs.c (init_cmdargs):
c0ec53ad
SM
1161 * process.c (Fstart_process): Update calls to openp.
1162
1163 * callproc.c (Vexec_suffixes): New var.
1164 (Fcall_process): Update call to openp.
1165 (decode_suffixes): New function.
1166 (syms_of_callproc): Init exec-suffixes.
1167
1168 * lread.c (Vload_suffixes, default_suffixes): New vars.
1169 (openp): Take a lisp list of suffixes.
1170 Check for file-name-handlers even if the file was absolute already.
1171 (syms_of_lread): Declare load-suffixes.
1172 (Fload): Fix up call to openp.
1173 Don't bother checking for file-name-handler at the very beginning.
1174
f6333468
SM
1175 * keymap.h (Fcopy_keymap): Don't export.
1176
1177 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1178 (Vload_suffixes, Vexec_suffixes): Declare.
1179 (openp): Update prototype.
f6333468
SM
1180
1181 * emacs.c (empty_string): New var.
1182 (syms_of_emacs): Initialize it.
1183
1184 * search.c (wordify): Use it.
1185
1186 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1187 selected window if it's not displayed there. Handle the case
1188 when the window is dedicated.
1189 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1190
1191 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1192
2168e04d
SM
1193 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1194 Remove left_ok and right_ok.
1195 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1196 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1197 new meaning of b_property.
1198
1199 * syntax.c (update_syntax_table): Simplify.
1200 (Fforward_comment): Don't skip quoted chars when going backward.
1201
13d95cc0
GM
12022001-10-11 Gerd Moellmann <gerd@gnu.org>
1203
beb0990f
GM
1204 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1205 in case I is of some unsigned type, in which case
1206 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1207 comparison becomes bogus.
1208
cb938d46
GM
1209 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1210 (Fuser_full_name): Fix bug treating a float as a fixnum.
1211
1212 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1213
1214 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1215
13d95cc0
GM
1216 * lisp.h (circular_list_error): Add prototype.
1217
1218 * data.c (Qcircular_list): New variable.
1219 (circular_list_error): New function.
1220 (syms_of_data): Initialize it Qcircular_list.
1221
e35f6ff7
SM
12222001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1223
1224 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1225 casefiddle.c, buffer.c: Include keymap.h.
1226
619632ac
GM
12272001-10-10 Gerd Moellmann <gerd@gnu.org>
1228
1229 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1230 options. From Dave Love <d.love@dl.ac.uk>.
1231
5e5388f6
GM
12322001-10-09 Gerd Moellmann <gerd@gnu.org>
1233
1234 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1235 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1236
14a3dff7
GM
1237 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1238 unsigned char.
1239 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1240
76ba8daf
AI
12412001-10-08 Andrew Innes <andrewi@gnu.org>
1242
1243 * lisp.h [max]: Undef min and max before redefining them.
1244
1245 * w32gui.h: Do not undef min and max.
1246
1247 * w32heap.h: Do not undef min and max.
1248
1249 * s/ms-w32.h: Do not undef min and max.
1250
166253cb
SM
12512001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1252
1253 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1254
0c4d9527
SS
12552001-10-08 Sam Steingold <sds@gnu.org>
1256
1257 * keymap.c (current-active-maps): Quote newlines (compilation error).
1258
14bfa771
EZ
12592001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1260
1261 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1262 bindings.elc, since otherwise doc strings in bindings.el get wrong
1263 offsets in etc/DOC.
1264
bdb7aa47
SM
12652001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1266
9985827f
SM
1267 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1268
1269 * keyboard.h (map_prompt): Remove.
1270
1271 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1272 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1273
bdb7aa47
SM
1274 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1275
1276 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1277
1278 * keyboard.c (map_prompt): Remove.
1279 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1280 Use Fkeymap_prompt.
1281
1282 * keymap.h: New file. Extracted from lisp.h.
1283
9985827f
SM
1284 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1285 (accessible_keymaps_1): New function.
1286 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1287 (Fwhere_is_internal): Use Fcurrent_active_maps.
1288 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1289 Insert in current buffer rather than standard-output.
1290 Don't call `help-mode'. Export to elisp.
1291 (describe_buffer_bindings): New wrapper.
1292 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1293 and Sdescribe_buffer_bindings.
1294
402c9a51
GM
12952001-10-08 Gerd Moellmann <gerd@gnu.org>
1296
9985827f 1297 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1298 Remove code setting signal handler.
1299
9985827f 1300 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1301 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1302
3fe81fdf
PJ
13032001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1304
1305 * keyboard.c: Don't define min/max.
1306
55fa7820
GM
13072001-10-08 Gerd Moellmann <gerd@gnu.org>
1308
9985827f 1309 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1310 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1311 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1312 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1313 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1314 Don't define min/max.
1315
1316 * lisp.h (min, max): New macros.
1317
55fa7820
GM
1318 * puresize.h (BASE_PURESIZE): Increase to 725000.
1319
1aad31e4
PJ
13202001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1321
9180dc8c
PJ
1322 * xfaces.c (free_frame_menubar): Add prototype.
1323
01f67d2c
PJ
1324 * lisp.h (init_window): Add prototype.
1325
1326 * editfns.c: Include ctype.h.
1327
1328 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1329 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1330 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1331 variable `sb'.
1332
5f351ff1
PJ
1333 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1334 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1335 `popup_activated_flag' and `title'.
1336
479dfe87
PJ
1337 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1338
dff49fc8
PJ
1339 * emacs.c (main): Remove extra `;'.
1340
248ac615
PJ
1341 * atimer.h (struct atimer): Fix typos in a comment.
1342
1343 * atimer.c: Fix typo.
1344
af232c7d
PJ
1345 * Makefile.in: Fix typo.
1346
1347 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1348
d876f455
MB
13492001-10-07 Miles Bader <miles@gnu.org>
1350
1351 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1352
0037e2f2
KR
13532001-10-07 Ken Raeburn <raeburn@gnu.org>
1354
b056f36d
KR
1355 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1356 Lisp_Object.
1357
0037e2f2
KR
1358 * lisp.h (Ffield_end): Declare.
1359
1a4372ef
GM
13602001-10-07 Gerd Moellmann <gerd@gnu.org>
1361
a4a74e8c
GM
1362 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1363
1364 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1365
1366 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1367
1368 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1369
1a4372ef
GM
1370 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1371 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1372
1373 * alloc.c (inhibit_garbage_collection): Simplify.
1374 (Fmemory_use_counts): Ditto.
1375
9985827f 1376 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1377 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1378 most-negative-fixnum.
1379
9985827f 1380 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1381 (FIXNUM_OVERFLOW_P): New macros.
1382
4650e362
MB
13832001-10-06 Miles Bader <miles@gnu.org>
1384
1385 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1386 scroll_bar_bottom_shadow_pixel fields.
1387 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1388 for the shadows, and tell the toolkit about them if we succeed.
1389 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1390 Free scroll-bar shadow colors.
1391 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1392 Free scroll-bar shadow colors when the background color changes.
1393 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1394 Initialize scroll-bar shadow-color fields.
1395
ace64e0a
GM
13962001-10-05 Gerd Moellmann <gerd@gnu.org>
1397
1398 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1399
ec66bdc7
MB
14002001-10-05 Miles Bader <miles@gnu.org>
1401
9985827f
SM
1402 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1403 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1404 New functions (were in simple.el).
9985827f 1405 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1406 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1407 (syms_of_minibuf): Initialize them.
1408
a0fb4492
GM
14092001-10-05 Gerd Moellmann <gerd@gnu.org>
1410
1411 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1412 (tiff_load): Install them as error and warning handler.
1413
0bcf87c1
AI
14142001-10-04 Andrew Innes <andrewi@gnu.org>
1415
1416 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1417 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1418 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1419 (x_to_w32_charset): Handle private format for unknown charsets.
1420 Handle wildcards in charset spec, by ignoring them.
1421 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1422 "*-" prefix from charset.
1423 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1424 handle the truncated font spec form constructed by font_list_1, so
1425 that we correctly identify the charset fields. Don't remove "*-"
1426 prefix from charset.
1427 (w32_list_synthesized_fonts): Fix argument to alloca.
1428
c89e4bc5
GM
14292001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1430
1431 * window.h (MINI_WINDOW_P): Use NILP.
1432
1433 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1434
1435 * termhooks.h (struct input_event): Use proper type for `kind'.
1436
14372001-10-04 Gerd Moellmann <gerd@gnu.org>
1438
1439 This handles unknown keysyms better than before. For example,
1440 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1441 Emacs formerly completely ignored F5. With the change, it derives
1442 a key symbol from the name of the X keysym, `ccaron' in this case.
1443 Reported by Martin Buchholz.
1444
1445 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1446 unknown keysyms.
1447
1448 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1449 that EVENT->code isn't a function key, use the keysym's name.
1450
14512001-10-04 Gerd Moellmann <gerd@gnu.org>
1452
1453 FOREACH is a macro that should make it easier to loop over Lisp
1454 lists with checks for cycles and proper lists.
1455
1456 * lisp.h (LIST_END_P, FOREACH): New macros.
1457
14582001-10-04 Gerd Moellmann <gerd@gnu.org>
1459
1460 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1461 called for a lost connection. Prevent dumping core in this case.
1462 Instead print the X error, and exit. On user request.
1463
1464 * xterm.c (error_msg): New variable.
1465 (x_fatal_error_signal): New function.
1466 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1467 as fatal_error_signal_hook around the call to XtCloseDisplay.
1468
1469 * emacs.c (fatal_error_signal_hook): New variable.
1470 (fatal_error_signal): Call that function.
1471
14722001-10-04 Gerd Moellmann <gerd@gnu.org>
1473
1474 With this, Emacs prints how much pure storage it will
1475 approximately need in case pure storage overflows while dumping.
1476
1477 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1478 New variables.
1479 (init_alloc_once): Initialize new variables.
1480 (PURE_POINTER_P): Use new variables.
1481 (pure_alloc): If pure storage overflows, allocate from the heap.
1482 (check_pure_size): New function.
1483 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1484
1485 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1486 (check_pure_size): Add prototype.
1487
1488 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1489
14902001-10-04 Gerd Moellmann <gerd@gnu.org>
1491
1492 This adds a post-gc-hook that's run with GC inhibited.
1493 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1494
1495 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1496 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1497 (Fgarbage_collect): Run post-gc-hook.
1498
14992001-10-04 Gerd Moellmann <gerd@gnu.org>
1500
1501 This adds `defvaralias' and `indirect-variable'. Changes not
1502 directly related to this feature are there to gain the same
1503 performance again as before variable aliases.
1504
1505 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1506 code to get and set symbol values, to take defvaralias into account.
1507
1508 (Note: the new `constant' bit-flag in symbols would make it
1509 possible to define arbitrary read-only variables, e.g. with
1510 `defconst'.)
1511
1512 Documentation is in lispref/variables.texi. Added to NEWS.
1513
1514 * lisp.h (enum symbol_interned): New enumeration.
1515 (struct Lisp_Symbol): Remove member `obarray', add
1516 `indirect_variable', `constant', and `interned'.
1517 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1518 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1519 (indirect_variable): Add prototype.
1520
1521 * print.c (print_preprocess, print_object): Test internedness of
1522 symbols differently.
1523
1524 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1525 bit-fields.
1526 (init_obarray): Likewise for t and nil.
1527
1528 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1529 (Fdefvaralias): New function.
1530 (specbind): Simplify the test if symbol is a constant.
1531 (syms_of_eval): Defsubr Fdefvaralias.
1532
1533 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1534 (Qcyclic_variable_indirection): New variable.
1535 (Fkeywordp): Check for internedness differently.
1536 (Fmakunbound): Simplify the test if symbol is a constant.
1537 (indirect_variable, Findirect_variable): New functions.
1538 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1539 aliased symbol.
1540 (let_shadows_buffer_binding_p): Check for variable aliases.
1541 (set_internal): Simplify the test if SYMBOL is a constant.
1542 If SYMBOL has a buffer-local value and is an alias, use the aliased
1543 symbol instead.
1544 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1545 Sindirect_variable.
1546
1547 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1548 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1549 set directly.
1550
1551 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1552
1553 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1554 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1555 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1556
ab952a4f
GM
15572001-10-04 Gerd Moellmann <gerd@gnu.org>
1558
1559 * Branch for 21.1.
b56ba8de 1560
ba88ff28
MB
15612001-10-03 Miles Bader <miles@gnu.org>
1562
1563 * callproc.c (syms_of_callproc): Explicitly state in the
1564 documentation for `process-environment' that earlier entries take
1565 precedence over later ones.
1566
ae1a9581
MB
15672001-10-02 Miles Bader <miles@gnu.org>
1568
1569 * textprop.c (Fnext_char_property_change)
1570 (Fprevious_char_property_change): Remove reference to non-existant
1571 argument OBJECT from doc-string.
1572
257e3f57
GM
15732001-10-01 Gerd Moellmann <gerd@gnu.org>
1574
1575 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1576 (try_window_id): Skip back over lines ending in a newline from a
1577 string.
1578
1579 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1580 New bit flag
1581
c1f29759
RS
15822001-10-01 Richard M. Stallman <rms@gnu.org>
1583
1584 * search.c (Freplace_match): Doc fix.
1585
c30dce3d
AI
15862001-09-28 Andrew Innes <andrewi@gnu.org>
1587
1588 * w32menu.c (set_frame_menubar): Take into account that
1589 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1590 <raeburn@gnu.org>.
1591
03be5931
EZ
15922001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1593
1594 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1595
75bec752
PJ
15962001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1597
1598 * s/gnu-linux.h: Fix a typo in comment.
1599
83100e0a
AS
16002001-09-28 Andreas Schwab <schwab@suse.de>
1601
1602 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1603 nocombreloc, in case -z combreloc is the default.
1604
a74b48cf
GM
16052001-09-28 Gerd Moellmann <gerd@gnu.org>
1606
1607 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1608 really going on here.
1609
09c4719e
SM
16102001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1611
1612 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1613
f7d5d963
EZ
16142001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1615
1616 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1617 utf-8, menu-bar, and latin-N.
1618 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1619 unconditionally now.
1620 (lisp): Add latin-N, since they are preloaded.
1621
9240e746
GM
16222001-09-27 Gerd Moellmann <gerd@gnu.org>
1623
14531065
GM
1624 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1625 to the left. Some cleanup.
1626
9240e746
GM
1627 * xdisp.c (display_mode_element): One more case where a string's
1628 multibyteness should be used for display.
1629
edd1e654
GM
16302001-09-26 Gerd Moellmann <gerd@gnu.org>
1631
b02439c8
GM
1632 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1633 reading at EOF.
1634
032906b1 1635 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1636 of the only temporarily set echoing flag for deciding when
032906b1
GM
1637 the cancel echoing.
1638
1639 * keyboard.c (echo_kboard): Make externally visible.
1640
1641 * lisp.h (echo_kboard): Declare extern.
1642
cb617e7c 1643 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1644 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1645 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1646 this round of redisplay if make_cursor_line_fully_visible fails.
1647 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1648 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1649
1650 * dispextern.h (required_matrix_width, required_matrix_height):
1651 Add prototypes.
1652
09c4719e
SM
1653 * dispnew.c (required_matrix_width, required_matrix_height):
1654 New functions.
cb617e7c 1655 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1656 (allocate_matrices_for_frame_redisplay: Use them.
1657 Remove parameters CH_DIM.
cb617e7c 1658
edd1e654
GM
1659 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1660 and selected_window to the frame of the window whose mode-lines
1661 are displayed, and to the window itself.
1662 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1663 here.
edd1e654 1664
924b604c
GM
16652001-09-25 Gerd Moellmann <gerd@gnu.org>
1666
daba7643
GM
1667 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1668 the image cache under us.
1669
b7a22712 1670 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1671 with a string value, use that string's multibyteness for displaying.
b7a22712 1672
ad648212
GM
1673 * keyboard.c (read_char): Don't clear a message for a switch-frame
1674 event. From Stefan Monnier <monnier@cs.yale.edu>.
1675
9f8531e5
GM
1676 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1677 version for after 21.1.
1678
1679 * xdisp.c (row_containing_pos): Make externally visible.
1680
1681 * dispextern.h (row_containing_pos): Add prototype.
1682
924b604c
GM
1683 * process.c (send_process): Disable composition if from_byte < 0.
1684 From Kenichi Handa <handa@etl.go.jp>.
1685
6f3f0db4
GM
16862001-09-24 Gerd Moellmann <gerd@gnu.org>
1687
c69c0ebc
GM
1688 * xterm.c (refreshicon): Function removed.
1689
d1182bc4
GM
1690 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1691
1692 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1693
1694 * xterm.c (toplevel): Remove includes in #if 0.
1695
6f3f0db4
GM
1696 * process.c (sigchld_handler) [LINUX]: Don't return from
1697 the signal handler at the end of the loop.
1698
59957f85
GM
16992001-09-21 Gerd Moellmann <gerd@gnu.org>
1700
09c4719e
SM
1701 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1702 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1703
a0528984
EZ
17042001-09-21 Markus Rost <rost@math.ohio-state.edu>
1705
1706 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1707
db92b288
GM
17082001-09-20 Gerd Moellmann <gerd@gnu.org>
1709
3fed8ad5
GM
1710 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1711 since this function can be called during GC.
1712
db92b288
GM
1713 * callproc.c (Fcall_process): Handle errors from pipe(2).
1714 (child_setup): Delete code in #ifdef vipc.
1715
7121b85a
GM
17162001-09-19 Gerd Moellmann <gerd@gnu.org>
1717
72f62cb5
GM
1718 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1719 (display_mode_element): Display the string from decode_mode_spec
1720 depending on its multibyteness.
1721
a2697022
GM
1722 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1723
7121b85a
GM
1724 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1725
bfc97351
GM
17262001-09-18 Gerd Moellmann <gerd@gnu.org>
1727
c9063433
GM
1728 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1729 recursive_edit_unwind.
1730 (recursive_edit_unwind): Set kboard state according to
1731 SINGLE-KBOARD.
1732
3fbdba3e
GM
1733 * buffer.c (modify_overlay): Don't do nothing if START == END;
1734 This can still be a modification, for example when an overlay has
1735 a before-string or after-string.
1736 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1737 an overlay with before-string or after-string.
1738
1270031d
GM
1739 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1740 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1741
bfc97351
GM
1742 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1743 first_unchanged_at_end_row is in front of
1744 last_unchanged_at_beg_row. This code should be removed after the
1745 release of 21.1.
1746
d8a973aa
GM
17472001-09-17 Gerd Moellmann <gerd@gnu.org>
1748
e18c8b8d
GM
1749 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1750 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1751
d8a973aa
GM
1752 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1753 versions >= 2.95.
1754
ed7d6ba4
EZ
17552001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1756
1757 * dired.c (Ffile_attributes): Doc fix.
1758
551629f9
GM
17592001-09-14 Gerd Moellmann <gerd@gnu.org>
1760
1761 * fileio.c (Ffile_symlink_p): Fix last change.
1762
1763 * filelock.c (current_lock_owner): Fix last change.
1764
4c8c7926
GM
17652001-09-13 Gerd Moellmann <gerd@gnu.org>
1766
620c4704
GM
1767 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1768 take that to mean that the buffer is too small.
1769
81c3310d
GM
1770 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1771 that to mean that the buffer is too small.
1772
06fd3792
GM
1773 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1774 current buffer's multibyteness when discarding the iterator's
1775 stack.
1776
4c8c7926
GM
1777 * xfns.c (Fx_window_property): Handle case that property gets
1778 deleted between the two calls to XGetWindowProperty.
1779
9a72e4c1
GM
17802001-09-11 Gerd Moellmann <gerd@gnu.org>
1781
bd819d14 1782 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1783
a41edd99
GM
1784 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1785 in addition to read-only.
1786
1787 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1788 to t in addition to read-only.
1789
1790 * lisp.h (Qinhibit_modification_hooks): Declare.
1791
1792 * insdel.c (Qinhibit_modification_hooks): New variable.
1793 (syms_of_insdel): Initialize and staticpro it.
1794
d4881c6a
GM
1795 * textprop.c (verify_interval_modification): Don't run
1796 modification-hooks if inhibit_modification_hooks.
1797
1798 * dispnew.c (set_window_cursor_after_update): Fix code
1799 finding glyph row containing cursor when cursor_in_echo_area
1800 is >= 0.
1801
9a72e4c1
GM
1802 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1803 (add_to_log): Use bcopy instead of strcpy.
1804 (init_from_display_pos): Use an explicit loop over bytes in
1805 overlay strings instead of calling index.
1806
f4a374a1
GM
18072001-09-10 Gerd Moellmann <gerd@gnu.org>
1808
300e57bd
GM
1809 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1810
1811 * dispnew.c (direct_output_for_insert): Don't change IT's
1812 stop_charpos to something in front of its current position.
1813
f4a374a1
GM
1814 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1815 `format'.
1816
7e4cbc91
RS
18172001-09-10 Richard M. Stallman <rms@gnu.org>
1818
1819 * frame.c (Fmouse_position): Doc fix.
1820
6afad91e
GM
18212001-09-07 Gerd Moellmann <gerd@gnu.org>
1822
1823 * xdisp.c (init_from_display_pos): Don't compare the result
1824 of calling index with NULL.
1825
f76e0368
GM
18262001-09-06 Gerd Moellmann <gerd@gnu.org>
1827
1828 * xfns.c (x_set_background_color): Don't change the colors
1829 of the X window of scroll bar widgets.
1830
9ead1b60
AI
18312001-09-05 Andrew Innes <andrewi@gnu.org>
1832
1833 * w32fns.c (w32_createwindow): Undo last change.
1834
c3b497b3
GM
18352001-09-05 Gerd Moellmann <gerd@gnu.org>
1836
08e1d6df
GM
1837 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1838
c3b497b3
GM
1839 * xdisp.c (string_buffer_position): Use *single_char_property*
1840 functions instead of the *single_property* functions.
b56ba8de 1841
8f860180
AI
18422001-09-04 Andrew Innes <andrewi@gnu.org>
1843
9a72e4c1
GM
1844 * w32term.c (w32_read_socket): Add more information to debugging
1845 output.
8f860180
AI
1846
1847 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1848 from Emacs frames, so that calls to GetClipBox in w32term.c
1849 correctly report when part of a frame is visible (including
1850 scrollbars, etc). This prevents repeated redrawing of frames when
1851 only a scrollbar is visible.
1852 (w32_wnd_proc): Add more frame information to debugging output.
1853
2ee1aa00
SM
18542001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1855
1856 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1857
e3b22517
GM
18582001-09-03 Gerd Moellmann <gerd@gnu.org>
1859
7e376260
GM
1860 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1861 help-echo for a string which doesn't have help-echo itself, use
1862 get-char-property to obtain the help-echo from the string's buffer
1863 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1864 have mouse-face, look ``under'' the string for mouse-face from an
1865 overlay.
1866 (fast_find_position): Add parameter STOP. In the final row, stop
1867 before glyphs having STOP as object. Don't consider glyphs that
1868 are not from a buffer.
1869
e3b22517
GM
1870 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1871
9a249bba
EZ
18722001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1873
1874 * fns.c (Fmd5): Doc fix.
1875
c9979669
GM
18762001-08-31 Gerd Moellmann <gerd@gnu.org>
1877
1878 * composite.c (update_compositions): Do nothing if
1879 inhibit-modification-hooks is set.
1880
9584e63a
GM
18812001-08-30 Gerd Moellmann <gerd@gnu.org>
1882
986ec8f2 1883 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1884 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1885 glyph matrices etc. in a core dump.
1886
92a25631
GM
1887 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1888 (syms_of_xdisp): Initialize them.
1889 (handle_single_display_prop): Don't change point, bind `object',
1890 `position', and `buffer-position' instead to the object having the
2ee1aa00 1891 `display' property, position in the object and position in the buffer.
92a25631 1892
9584e63a
GM
1893 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1894 of the buffer if REPLACE is non-nil.
1895
d38633a3
GM
18962001-08-29 Gerd Moellmann <gerd@gnu.org>
1897
1898 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1899
f4fccc1e
EZ
19002001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1901
1902 * w32term.c (x_set_glyph_string_background_width)
1903 (show_mouse_face): Track the last changes in xterm.c.
1904
eaaa65b0
GM
19052001-08-28 Gerd Moellmann <gerd@gnu.org>
1906
7b0870b2
GM
1907 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1908 string's background width so that multi-line mouse-face is drawn
1909 to the right edge of the window.
1910 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1911 glyphs.
1912
6b6e2422 1913 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1914 before inserting/writing glyphs.
6b6e2422 1915
eaaa65b0
GM
1916 * xdisp.c (display_mode_element): Use string_byte_to_char to
1917 determine character positions in strings, use chars_in_text
1918 instead of strwidth.
1919 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1920 a matrix as parameter; this is easier to use from GDB.
1921
9ad62cf8
MB
19222001-08-28 Miles Bader <miles@gnu.org>
1923
2ee1aa00
SM
1924 * textprop.c (Fprevious_single_char_property_change)
1925 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1926
32171635
GM
19272001-08-27 Gerd Moellmann <gerd@gnu.org>
1928
47d57b22
GM
1929 * fileio.c (Finsert_file_contents): Allocate, restore, and
1930 free composition data in the case of REPLACE not being nil.
1931
1932 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1933 there exist overlay strings with newlines at POS.
1934 (text_outside_line_unchanged_p): Return 0 if changes start at
1935 START and overlays exist at START. Likewise for END.
1936 (try_window_id): Give up if init_to_row_end returns 0.
1937
32171635
GM
1938 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1939 unconditionally.
1940
e1249666
GM
19412001-08-24 Gerd Moellmann <gerd@gnu.org>
1942
33954c45
GM
1943 * keymap.c (access_keymap): Return the cdr of the binding of
1944 a generic character instead of its definition (KEY . BINDING).
1945
e1249666
GM
1946 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1947 to 0 also in the REPLACE case.
1948
fb4c6c96
AC
19492001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1950
1951 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1952 open to determine whether file is readable (as for DOS_NT).
1953
59ecf80b
GM
19542001-08-23 Gerd Moellmann <gerd@gnu.org>
1955
1956 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1957 coding.type is coding_type_no_conversion or coding_type_raw_text,
1958 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1959 non-nil instead of just setting enable_multibyte_characters in the
1960 buffer to nil.
1961
40e33037
GM
19622001-08-22 Gerd Moellmann <gerd@gnu.org>
1963
374388c3
GM
1964 * dispextern.h (struct face_cache): Add member
1965 menu_face_changed_p.
1966
1967 * xfaces.c (menu_face_changed_default): New variable.
1968 (menu_face_changed_count): Variable removed.
1969 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1970 the menu_face_changed_default flag, otherwise set the FRAME's
1971 menu_face_changed_p flag if the `menu' face has been changed.
1972 Prevent calling set_font_frame_param if FRAME is t.
1973 (make_face_cache): Initialize cache's menu_face_changed_p
1974 from menu_face_changed_default.
1975 (realize_basic_faces): Look into the frame's face cache to
1976 determine if the menu appearance needs updating.
1977
40e33037
GM
1978 * keymap.c (access_keymap): Fix last change to not consider
1979 IDX when it has modifiers.
1980
859ea4b8
GM
19812001-08-21 Gerd Moellmann <gerd@gnu.org>
1982
1983 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1984 . BINDING) exists, where GENERIC-CHAR is the generic character of
1985 the charset of IDX, return BINDING unless there exists a binding
1986 for IDX itself.
1987
e8660d73
GM
19882001-08-16 Gerd Moellmann <gerd@gnu.org>
1989
cca1b1d7
GM
1990 * xrdb.c (SYSV): Don't define on Solaris 2.
1991 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1992
e8660d73 1993 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1994 of the screen line, not text line, containing IT's current position.
e8660d73 1995
93aba6fc
GM
19962001-08-15 Gerd Moellmann <gerd@gnu.org>
1997
288d4e06
GM
1998 * window.c (window_scroll_pixel_based): Don't recenter if
1999 PT is partially visible in the window.
2000
3452efc2
SM
2001 * xterm.c (expose_window_tree, expose_window, expose_line):
2002 Return 1 when overwriting mouse-face.
82f053ab
GM
2003 (expose_frame): If mouse-face was overwritten, redo it.
2004
93aba6fc
GM
2005 * xfaces.c (x_update_menu_appearance): Don't call
2006 set_frame_menubar, let the next redisplay do it.
2007
858a55c1
AI
20082001-08-14 Andrew Innes <andrewi@gnu.org>
2009
2010 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2011 drawing glyph string.
2012
3a990b67
EZ
20132001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2014
2015 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2016 running HI-UX/MPP.
2017
04386463
GM
20182001-08-14 Gerd Moellmann <gerd@gnu.org>
2019
2020 * xfaces.c (x_update_menu_appearance): Save and restore value of
2021 interrupt_input_blocked.
2022
3e6385a4
GM
20232001-08-13 Gerd Moellmann <gerd@gnu.org>
2024
b0e619b4
GM
2025 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2026 a line start, move back to the line start.
3452efc2 2027
0de73d5a
GM
2028 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2029 exactly when a mini-buffer is active.
2030
3e6385a4
GM
2031 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2032 in units of 1/8 character on non window-system frames.
2033 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2034
d1b5f629
EZ
20352001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2036
2037 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2038 a doc string.
2039
eaa2319f
GM
20402001-08-09 Gerd Moellmann <gerd@gnu.org>
2041
8e3189f0
GM
2042 * keyboard.c (Vpre_help_message): New variable.
2043 (syms_of_keyboard): Initialize and staticpro it.
2044 (show_help_echo): Record current message before displaying a
2045 help-echo, and restore that message when clearing the help.
2046
eaa2319f
GM
2047 * xfns.c (x_create_im): Remove prototype.
2048
2049 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2050
2051 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2052
eaa2319f
GM
20532001-08-08 Gerd Moellmann <gerd@gnu.org>
2054
2055 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2056 windows whose height has changed, disable partially visible lines.
eaa2319f 2057
17fdcfc8
GM
20582001-08-07 Gerd Moellmann <gerd@gnu.org>
2059
22d01aed 2060 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2061 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2062
17fdcfc8
GM
2063 * xdisp.c (start_display): Don't try to determine the continuation
2064 lines width if lines are truncated. It's superfluous and leads to
2065 incorrect results if POS is not visible in the window after
2066 reseating the iterator at the previous line start.
2067
8e3fe78e
GM
20682001-08-06 Gerd Moellmann <gerd@gnu.org>
2069
2070 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2071
98a8938c
GM
20722001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2073
2074 * alloc.c (init_stack): Remove declaration.
2075
18f9986a
GM
20762001-08-03 Gerd Moellmann <gerd@gnu.org>
2077
5e1f85e0
GM
2078 * keyboard.c (read_key_sequence): Check that key is an integer
2079 before comparing it with quit_char.
2080 (add_command_key): Use larger_vector.
2081 (read_char_x_menu_prompt): Instead of converting symbol and
2082 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2083 which cannot be confused with valid events.
5e1f85e0
GM
2084 (read_char): When reading from Vunread_command_events, check for
2085 events of the form (EVENT . disabled) instead of
2086 (EVENT . nil).
2087
18f9986a
GM
2088 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2089 a float, determine the max height from the frame's height.
2090
fbc7f2a6
GM
20912001-08-02 Gerd Moellmann <gerd@gnu.org>
2092
2093 * xdisp.c (redisplay_internal): Take message_cleared_p into
2094 account only if minibuf_level == 0.
2095
81b1a79d
GM
20962001-08-01 Gerd Moellmann <gerd@gnu.org>
2097
e5c60873
GM
2098 * xdisp.c (redisplay_internal): Add a check for the last
2099 displayed message.
3452efc2 2100
6e019995
GM
2101 * xdisp.c (message_cleared_p): New variable.
2102 (clear_message): Set message_cleared_p when clearing the current
2103 message.
2104 (redisplay_internal): Look at message_cleared_p to capture
2105 the case that the echo area should be cleared.
2106
308a74d8
GM
2107 * keyboard.c (command_loop_1): Fix spelling of
2108 resize_echo_area_exactly.
2109
3452efc2 2110 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2111
2112 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2113
81b1a79d
GM
2114 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2115 current matrix when the window gets smaller.
2116
ada329e6
EZ
21172001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2118
2119 * print.c (strout): Cast the character passed to insert_char to
2120 unsigned char, to avoid sign extension when it is promoted to int.
2121
ed86208c
GM
21222001-07-31 Gerd Moellmann <gerd@gnu.org>
2123
2124 * fileio.c (Finsert_file_contents): Don't treat a return value
2125 of 0 from emacs_read as an IO error.
2126
6594ac22
GM
21272001-07-30 Gerd Moellmann <gerd@gnu.org>
2128
cef68af5
GM
2129 * keyboard.c (abs): New macro.
2130 (double_click_fuzz): New variable.
2131 (make_lispy_event): Use it to determine what makes a double-click.
2132 (syms_of_keyboard): DEFVAR_INT it.
2133
6594ac22
GM
2134 * xmenu.c (set_frame_menubar): Take into account that
2135 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2136 <raeburn@gnu.org>.
2137
75c5350a
GM
21382001-07-27 Gerd Moellmann <gerd@gnu.org>
2139
2140 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2141
2142 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2143 of row's visible height.
2144
2145 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2146 deal with the first overlay string having an image `display' property.
2147 (try_window_reusing_current_matrix, compute_line_metrics):
2148 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2149 row is invisible above and part of the row is at the same time
2150 invisible below the window.
2151
ac49effe
GM
21522001-07-26 Gerd Moellmann <gerd@gnu.org>
2153
2154 * xfns.c (x-show-tip): Doc fix.
3452efc2 2155
ac49effe
GM
2156 * xfns.c (Vx_max_tooltip_size): New variable.
2157 (syms_of_xfns): DEFVAR_LISP it.
2158 (Fx_show_tip): Set frame's window_width to the width of the
2159 window. Use a maximum tooltip size specified by
2160 Vx_max_tooltip_size, if that has valid contents.
2161 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2162
8c3b00cb
AI
21632001-07-26 Andrew Innes <andrewi@gnu.org>
2164
2165 * w32term.c (x_display_list): New variable.
2166 (w32_term_init): Set it.
2167
2168 * w32term.h (x_display_list): New extern.
2169
16098288
GM
21702001-07-26 Gerd Moellmann <gerd@gnu.org>
2171
2172 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2173 is non-nil, instead of when redisplaying_p is non-zero.
2174 See comment there.
16098288
GM
2175 (mark_window_display_accurate_1): Add an assertion.
2176
64c5be50
GM
21772001-07-25 Gerd Moellmann <gerd@gnu.org>
2178
e743f599
GM
2179 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2180
563b384d
GM
2181 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2182 events so that we get a chance of processing expose events.
2183
64c5be50
GM
2184 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2185
296808a5
GM
21862001-07-24 Gerd Moellmann <gerd@gnu.org>
2187
2188 * xfns.c (valid_image_p): Protect better against invalid image
2189 specifications. Previous code could signal an error.
2190
5247262a
GM
21912001-07-23 Gerd Moellmann <gerd@gnu.org>
2192
3452efc2 2193 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2194 presence of display table entries.
2195 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2196
dd42b31a
GM
2197 * dispnew.c (adjust_glyph_matrix): In the optimization for
2198 windows whose height has changed, use the new window height
2199 to compute which rows to invalidate.
2200
9e5a7f2a
GM
2201 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2202 (MAX_10_EXP): New macro.
2203 (Fformat): Use it.
2204
5247262a
GM
2205 * coding.c (code_convert_region): Handle the multibyte case if
2206 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2207
177ab8ce
GM
22082001-07-20 Gerd Moellmann <gerd@gnu.org>
2209
6e07c0a5
GM
2210 * dispextern.h (struct face): Change type of `stipple' to
2211 int; it's an ID.
2212
177ab8ce
GM
2213 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2214
b5b80599
GM
22152001-07-19 Gerd Moellmann <gerd@gnu.org>
2216
4e2a256b
GM
2217 * dispnew.c (update_window): Don't set the cursor at the end
2218 of the update if display update has been paused.
2219
3452efc2 2220 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2221
c1fd9232
KR
22222001-07-18 Ken Raeburn <raeburn@gnu.org>
2223
2224 * fns.c (Fset_char_table_default): Check that a charset is defined
2225 before checking its dimension.
2226
928a85c1
KR
22272001-07-17 Ken Raeburn <raeburn@gnu.org>
2228
2229 * coding.c (setup_coding_system): Don't do any designation based
2230 on reg_bits if charset is not yet defined.
2231
fb4c6c96 2232 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2233 pointer, using eassert.
2234
de11c1ea
GM
22352001-07-17 Gerd Moellmann <gerd@gnu.org>
2236
3452efc2
SM
2237 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2238 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2239
467f1209
GM
22402001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2241
2242 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2243
c3d6be34
GM
22442001-07-16 Gerd Moellmann <gerd@gnu.org>
2245
c1d61a7d
GM
2246 * fileio.c (unwind_read): Function removed.
2247 (read_non_regular, read_non_regular_quit): New functions.
2248 (Finsert_file_contents): When reading from non-regular files,
2249 arrange to catch a `quit' and terminate the loop. Rearrange
2250 code so that a `quit' when reading from a regular file doesn't
2251 insert text in the buffer.
2252
c3d6be34
GM
2253 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2254 Clear faces afterwards.
2255 (clear_font_table): Take a x_display_info parameter. Don't free
2256 fonts being the default font of any frame on the given display.
2257
e06aa1f9
GM
22582001-07-13 Gerd Moellmann <gerd@gnu.org>
2259
2260 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2261 instead of CHAR_STRING which can signal an error.
2262
2263 * charset.c (char_to_string_1): Extracted from char_to_string.
2264 Return -1 instead of signaling an error.
2265 (char_to_string): Use it.
2266
2267 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2268
176c92e6
SM
22692001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2270
2271 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2272 is t, don't try to append anything to it.
2273
1c56232f
EZ
22742001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2275
2276 * dired.c (file_name_completion): Pass dp->d_name to
2277 Fstring_match, not elt, which is always nil here.
2278
1d2b2268
GM
22792001-07-12 Gerd Moellmann <gerd@gnu.org>
2280
2281 * xselect.c (x_decline_selection_request): Handle errors
2282 caused by receivers that have vanished.
2283
2284 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2285 ignoring events on foreign windows in #if 0. Always dispatch
2286 the event after checking it with x_handle_property_notify.
2287
2288 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2289 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2290 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2291 (toplevel): Add prototypes for file-local functions.
2292 (x_atom_to_symbol): Remove DPYINFO parameter.
2293
fe5a0162
SM
22942001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2295
2296 * w32menu.c (menubar_selection_callback, w32_menu_show):
2297 Initialize `entry' to nil.
2298 (w32_dialog_show): Remove unused `save_wv' variable.
2299 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2300
a777242c
GM
23012001-07-11 Gerd Moellmann <gerd@gnu.org>
2302
8ee5b6a3
GM
2303 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2304
d0e2444e
GM
2305 * fileio.c (unwind_read): Print a message when discarding inserted
2306 text or switching the buffer to unibyte. Change parameter.
2307 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2308
a777242c
GM
2309 * fileio.c (unwind_read): New function.
2310 (Finsert_file_contents): Record it as unwind-function for
2311 the case that reading is interrupted by C-g.
2312
ae794295
GM
23132001-07-10 Gerd Moellmann <gerd@gnu.org>
2314
fe5a0162 2315 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2316 update when scrolling_window returns 0.
2317
6b05fae3
GM
2318 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2319
2320 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2321 for the case that x_decode_color signals an error.
6b05fae3 2322
ae794295
GM
2323 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2324
bb6e8cee
GM
23252001-07-09 Gerd Moellmann <gerd@gnu.org>
2326
2327 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2328 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2329 around ioctls.
2330
36b40a8a
EZ
23312001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2332
24b97d4b
EZ
2333 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2334 doc string line for dos-timezone-offset.
2335
36b40a8a
EZ
2336 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2337 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2338 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2339 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2340
2341 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2342
0967b4b0
GM
23432001-07-05 Gerd Moellmann <gerd@gnu.org>
2344
f25cfe53
GM
2345 * sound.c: Include Emacs' header files with #include "...".
2346
0967b4b0
GM
2347 * eval.c (specbind): Additionally record the buffer that was
2348 current when a buffer-local or frame-local variable was bound.
2349
c347a1c3
GM
23502001-07-04 Gerd Moellmann <gerd@gnu.org>
2351
2352 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2353 to unibyte characters in unibyte buffers.
2354
6332ca8a
GM
23552001-07-03 Gerd Moellmann <gerd@gnu.org>
2356
38472d44
GM
2357 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2358 the frame on the binding stack. Change format of entries for
2359 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2360 (unbind_to): Handle unbinding a frame-local variable.
2361
6332ca8a 2362 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2363 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2364 (dump_glyph_row): Print row's continuation_lines_width.
2365 (try_window_id): Take the shortcut if ZV is visible in the
2366 window, but there are actually no changes at ZV.
2367
63d1b174
GM
23682001-07-02 Gerd Moellmann <gerd@gnu.org>
2369
4c175203
GM
2370 * xterm.h (x_free_dpy_colors): Add prototype.
2371
2372 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2373 right number of arguments.
2374
0b54ce28
GM
2375 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2376 ($(lwlibdir)TAGS): New target.
4c175203 2377 (TAGS): Fix dependency list.
0b54ce28 2378
63d1b174
GM
2379 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2380 with input blocked.
2381
d827466c
GM
23822001-06-30 Gerd Moellmann <gerd@gnu.org>
2383
2384 * emacs.c (main): Remove extern declaration for sys_nerr, which
2385 isn't used and causes a compilation error with GCC 3.0 on
2386 FreeBSD 4.3.
2387
b5cb1ada
GM
23882001-06-27 Gerd Moellmann <gerd@gnu.org>
2389
a5d3ec3f 2390 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2391 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2392 (toplevel): Include <signal.h> and syssignal.h.
2393
b5cb1ada
GM
2394 * sound.c (vox_configure, vox_close): Turn off atimers
2395 around ioctls.
2396
d9bad487
GM
23972001-06-26 Gerd Moellmann <gerd@gnu.org>
2398
fdbb67fe
GM
2399 * keyboard.c (read_char) <non_reread>: Record the previous idle
2400 start time before calling timer_stop_idle.
2401 (read_char) <reread_first>: After processing a help-echo event,
2402 restore the previous idle start time.
2403
d9bad487
GM
2404 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2405 the start of invisible text.
2406 (setup_for_ellipsis): New function.
2407 (next_overlay_string): After all overlay strings have been
2408 processed, display an ellipsis if necessary.
2409 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2410 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2411
2412 * dispextern.h (struct iterator_stack_entry): Add member
2413 display_ellipsis_p.
2414
2b9c25e0
GM
24152001-06-25 Gerd Moellmann <gerd@gnu.org>
2416
80de57df
GM
2417 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2418 on the value of the wait-for-wm frame parameter.
2419
2420 * xterm.h (struct x_output): Add member wait_for_wm.
2421
2422 * xfns.c (Qwait_for_wm): New variable.
2423 (x_frame_parms): Add entry for `wait-for-wm".
2424 (x_set_wait_for_wm): New function.
2425 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2426 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2427
2b9c25e0
GM
2428 * xdisp.c (try_window_id) <all changes below window end>: Don't
2429 take this shortcut if ZV is visible in the window.
2430 (try_window_id): When checking for window start being in changed
2431 text, don't check that the buffer's size has changed.
2432
f772775c
RS
24332001-06-23 Richard M. Stallman <rms@gnu.org>
2434
2435 * minibuf.c (Fcompleting_read): Doc fix.
2436
fa9090b8
GM
24372001-06-19 Gerd Moellmann <gerd@gnu.org>
2438
2439 * composite.c (Ffind_composition_internal): Accept ZV
2440 and a string's end position as POS.
2441
f6f1beba
GM
24422001-06-18 Gerd Moellmann <gerd@gnu.org>
2443
2444 * composite.c (Ffind_composition_internal): Check POS
2445 for validity.
2446
0ae83348
EZ
24472001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2448
2449 * editfns.c (Fmessage_box): If the frame is not under a window
2450 system, output the message in the echo area.
2451
e4cdc335
RS
24522001-06-14 Richard M. Stallman <rms@gnu.org>
2453
2454 * xdisp.c (try_window_id): When EOB is visible, don't treat
2455 insertion at EOB as if it were "off the bottom of the screen."
2456
a55a5f3c
AI
24572001-06-11 Andrew Innes <andrewi@gnu.org>
2458
2459 * w32proc.c (create_child): Add new parameter is_gui_app.
2460 (w32_executable_type): Add new parameter is_gui_app.
2461 (sys_spawnve): Use it.
2462 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2463 SIGQUIT. This matches better how the signals are interpreted by
2464 MSVC compiled programs.
2465 (syms_of_ntproc): Update docstring.
2466
1b85dc1c
SM
24672001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2468
2469 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2470 well otherwise note_mouse_highlight might optimize away highlighting
2471 if we pass over that same overlay again.
2472
b75f8eab
EZ
24732001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2474
2475 * lread.c (Fload): Document that the argument is run via
2476 substitute-in-file-name.
2477
94843cc1
GM
24782001-05-31 Gerd Moellmann <gerd@gnu.org>
2479
b14659e6
GM
2480 * Makefile.in (bootstrap-doc): New target.
2481 (bootstrap-emacs): Depend on it.
2482
0894672f
GM
2483 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2484 auto-save-list-file-name when shutting down Emacs, because
2485 creating the directory might signal an error, and leaves
2486 Emacs in a strange state.
2487
94843cc1
GM
2488 * term.c: (tty_cursor_hidden): New variable.
2489 (update_begin): Don't call tty_hide_cursor. Clean up.
2490 (update_end, set_terminal_window, set_scroll_region): Clean up.
2491 (ring_bell, reset_terminal_modes): Clean up.
2492 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2493 on tty_cursor_hidden.
2494 (write_glyphs): Call tty_hide_cursor.
2495
db3a49a6
SM
24962001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2497
2498 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2499
8bd189fb
GM
25002001-05-30 Gerd Moellmann <gerd@gnu.org>
2501
6f1be3b9
GM
2502 * xfns.c (enum image_value_type): New enumerator
2503 IMAGE_STRING_OR_NIL_VALUE.
2504 (parse_image_spec): Handle it.
2505 (xbm_format, pbm_format): Use it for :foreground and :background.
2506 (xbm_load, pbm_load): Check for nil color names.
2507
8bd189fb
GM
2508 * xterm.c (note_mouse_highlight): If an overlapping overlay
2509 exists, but we find that we highlight the same overlay as before,
2510 don't do the highlighting again.
2511
7bdba03c
GM
25122001-05-29 Gerd Moellmann <gerd@gnu.org>
2513
4c329aa8
GM
2514 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2515 Protect unibyte strings created by replacing their multibyte
2516 equivalents in menu_items.
2517
e15e2828
GM
2518 * keymap.c (Fsingle_key_description): NUL-terminate the string
2519 buffer before calling build_string.
2520
7bdba03c
GM
2521 * callproc.c (Fcall_process): Deal with decode_coding returning
2522 CODING_FINISH_INCONSISTENT_EOL.
2523
89c8dc6c
GM
25242001-05-28 Gerd Moellmann <gerd@gnu.org>
2525
db3a49a6 2526 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2527 an item's name with its key description in case the description
2528 is a multibyte string.
2529
2530 * keymap.c (Fsingle_key_description): Create a multibyte string
2531 only if necessary.
2532
eb04d6cd
GM
2533 * macros.c (Fstart_kbd_macro): Doc fix.
2534
8bd6307f
GM
2535 * xterm.c (cursor_in_mouse_face_p): New function.
2536 (x_draw_stretch_glyph_string): Use it to choose a different GC
2537 when drawing a cursor within highlighted text.
2538
e26c4089
GM
2539 * editfns.c (char_property_eq): Put in #if 0.
2540
2541 * indent.c (string_display_width): Put in #if 0.
2542
2543 * lread.c (Fload): Remove unused label.
2544
89c8dc6c
GM
2545 * termcap.c (speeds): Put in #if 0.
2546
9a1211f2
GM
25472001-05-18 Gerd Moellmann <gerd@gnu.org>
2548
29148a3f
GM
2549 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2550
9a1211f2
GM
2551 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2552 transformation matrix by 10.
2553
09393d07
GM
25542001-05-16 Gerd Moellmann <gerd@gnu.org>
2555
2556 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2557 only if it's equal to the former foreground pixel color.
db3a49a6 2558 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2559 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2560
460e6bae
GM
25612001-05-16 Dave Love <fx@gnu.org>
2562
2563 * insdel.c (signal_before_change, signal_after_change): Consider a
2564 local change hook which changes the buffer.
99c78ce8
GM
2565
2566 * process.c (read_process_output): Don't call signal_after_change
2567 and update_compositions after insert_from_string_before_markers.
2568
dbcf3c03
GM
25692001-05-16 Gerd Moellmann <gerd@gnu.org>
2570
a90b3d3c
GM
2571 * xfaces.c (split_font_name): Use the right field when
2572 checking for `[...]' syntax.
2573
1b7818b4
GM
2574 * buffer.c (copy_overlays): New function.
2575 (clone_per_buffer_values): Use it.
2576
2577 * buffer.h (OVERLAY_PLIST): New macro.
2578
9bae8781
GM
2579 * keymap.c (Fsingle_key_description): Replace a build_string with
2580 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2581
dbcf3c03
GM
2582 * fontset.c (Ffontset_info): Check that face is non-null
2583 before accessing its fields.
2584
8a1ae4dd
GM
25852001-05-15 Gerd Moellmann <gerd@gnu.org>
2586
18a0a39e
GM
2587 * keyboard.c (read_key_sequence): Prevent generating a fake
2588 prefix key twice.
2589
e335b66a
GM
2590 * xfaces.c (split_font_name): Handle `[...]' for the right
2591 font name fields.
2592
8a1ae4dd
GM
2593 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2594 of CCL_STAT_INVALID_CMD.
2595
3cf80731
SM
25962001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2597
33568849
SM
2598 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2599 in <var> has no default value yet.
2600
3cf80731
SM
2601 * xfaces.c (try_alternative_families): First try the FAMILY.
2602 And if nothing is found in the end, try again with scalable fonts.
2603 (try_font_list): Let try_alternative_families do a bit more of
2604 the work. Only use FAMILY if it is not nil.
2605 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2606
933b0249
GM
26072001-05-14 Gerd Moellmann <gerd@gnu.org>
2608
58e5af83
GM
2609 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2610 pointer shape when show_mouse_face has already done it.
33568849 2611
58e5af83 2612 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2613 full-width rows.
2614
7b16a6bf
GM
2615 * xfaces.c (split_font_name): Make sure to leave the loop
2616 with the right value of `i'.
3cf80731 2617
933b0249
GM
2618 * xfaces.c (split_font_name): Handle matrix transformations
2619 in the pixel and point size fields of XLFD font names.
2620 (xlfd_point_size): Likewise.
2621
dddcbf00
EZ
26222001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2623
3cf80731 2624 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2625 (x_to_w32_font): Add prototype.
2626
7689ef0b
EZ
2627 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2628 redefining, to avoid compiler warnings.
2629
e7c15bba
EZ
2630 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2631
dddcbf00
EZ
2632 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2633 (w32_get_bdf_glyph): Cast between unsigned char and char when
2634 passing arguments to subroutines, to shut up compiler warnings.
2635 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2636 GET_HEX_VAL.
2637
2638 * xfaces.c: Include keyboard.h before frame.h, not after it.
2639
2640 * widget.c: Include keyboard.h before frame.h.
2641
2642 * w32term.h (struct image, struct face): Forward declaration, to
2643 avoid compiler warnings.
2644
7bd2d083
GM
26452001-05-11 Gerd Moellmann <gerd@gnu.org>
2646
47e72862
GM
2647 * keyboard.c (read_key_sequence): Don't modify events when
2648 generating fake prefix keys (mode-line, scroll-bar, ...) since
2649 this prevents proper processing of such events when pushed back
2650 into unread-command-events.
2651
dd5f324b
GM
2652 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2653 actually redrawn. Make the function static.
2654 (note_mouse_highlight): Fix a case where the mouse cursor
2655 was changed back to the text cursor.
2656
2657 * xterm.h (clear_mouse_face): Remove prototype.
2658
d88a79d4
GM
2659 * xdisp.c (try_window_id): Fix the fix and set the right
2660 window_end_vpos.
2661
2662 * xdisp.c (try_window_id): Fix computation of window end in the
2663 case that lines were deleted at the end of the window. Add some
2664 more debug_method_adds.
0416532f 2665
7bd2d083
GM
2666 * xfaces.c (try_alternative_families): New function.
2667 (try_font_list): Use it. If ATTRS specifies a family, check
2668 fonts from that family first.
2669 (choose_face_font): Remove code setting the family part of
2670 the pattern to nil.
2671
23fca891
GM
26722001-05-10 Gerd Moellmann <gerd@gnu.org>
2673
ff9aa2ca
GM
2674 * xdisp.c (try_window_id): Fix case of all changes before
2675 the window start.
7b2654b5 2676
23fca891
GM
2677 * xdisp.c (try_window_id): Add some xasserts.
2678
e9726794
GM
26792001-05-09 Gerd Moellmann <gerd@gnu.org>
2680
2681 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2682
9e53a675
GM
26832001-05-09 Dave Love <fx@gnu.org>
2684
2685 * xdisp.c (GIVE_UP): Fix for K&R C.
2686
0d487c52
GM
26872001-05-09 Gerd Moellmann <gerd@gnu.org>
2688
fe88d421
GM
2689 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2690
0d487c52
GM
2691 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2692 back to the text cursor shape without need.
2693
1e9fc92e
GM
26942001-05-07 Gerd Moellmann <gerd@gnu.org>
2695
a2a6232e
GM
2696 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2697
2698 * dispextern.h (inverse_video): Declare extern.
2699
1e9fc92e
GM
2700 * keyboard.c (delete_kboard): Handle the case that selected_frame
2701 has been deleted in the course of x_connection_closed.
2702
12949a7f
EZ
27032001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2704
7b2654b5
SM
2705 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2706 Fix the change from 2001-04-30.
12949a7f 2707
2fa2f461
GM
27082001-05-03 Gerd Moellmann <gerd@gnu.org>
2709
a779d213
GM
2710 * xfns.c (file_dialog_unmap_cb): New function.
2711 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2712 where a dialog is closed via the window manager.
2713
7b2654b5 2714 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2715 the window start or all below the window end mostly rewritten.
2716 (redisplay_window): Move the tests if try_window_id is
2717 applicable to try_window_id.
2718 (GIVE_UP): New macro.
2719
3356df63
GM
27202001-05-02 Gerd Moellmann <gerd@gnu.org>
2721
a39202f6 2722 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2723 currently being updated, mark the frame garbaged.
2724 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2725 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2726
3356df63
GM
2727 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2728 again if it has already been drawn.
2729
a9d2fd1d
SM
27302001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2731
2732 * syntax.c (update_syntax_table): Check that oldi has the same
2733 properties as old_prop before deciding not to invalidate.
2734
c95fc5f1
GM
27352001-04-30 Gerd Moellmann <gerd@gnu.org>
2736
a9793e45
GM
2737 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2738 read-only text that is so because of text properties.
2739
c95fc5f1 2740 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2741 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2742 windows that are components of a Lucid menu bar.
2743
5a5d9185
GM
27442001-04-27 Gerd Moellmann <gerd@gnu.org>
2745
2746 * term.c (turn_on_face): Fix reverse video handling on terminals
2747 that don't support colors.
2748
ba973f7a
GM
27492001-04-26 Gerd Moellmann <gerd@gnu.org>
2750
2751 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2752 a non-buffer.
2753
8c56a983
GM
27542001-04-25 Gerd Moellmann <gerd@gnu.org>
2755
a728644c
GM
2756 * term.c (toggle_highlight): New function.
2757 (turn_on_face): Change handling of reverse video.
2758
7b2654b5
SM
2759 * process.c (wait_reading_process_input):
2760 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2761
bfd8410f
GM
2762 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2763 of the number of overlays to check.
2764
be2488ca
GM
2765 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2766
8c56a983
GM
2767 * xdisp.c (try_window_id): Fix a case where window_end_pos
2768 and window_end_bytepos were not adjusted.
2769
522d42f7
GM
27702001-04-23 Gerd Moellmann <gerd@gnu.org>
2771
2772 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2773 zero instead of -1.
2774
78c1afb6
EZ
27752001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2776
a9d2fd1d
SM
2777 * process.c (wait_reading_process_input) [!subprocesses]:
2778 Don't reference waiting_for_user_input_p, it's not defined in the
2779 branch without async subprocesses support.
78c1afb6 2780
a2fab450
GM
27812001-04-19 Gerd Moellmann <gerd@gnu.org>
2782
a122a38e
GM
2783 * keyboard.c (delete_kboard): Prevent a dangling reference
2784 from current_kboard to KB, which is freed.
2785
a9d2fd1d
SM
2786 * process.c (wait_reading_process_input):
2787 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2788 read_key_sequence aware of buffer changes from under it.
2789
0f8d6dc7
GM
27902001-04-18 Gerd Moellmann <gerd@gnu.org>
2791
eeffb293
GM
2792 * xfaces.c (Qscalable_fonts_allowed): New variable.
2793 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2794 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2795 removed.
eeffb293 2796 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2797 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2798 for scalable-fonts-allowed to t.
eeffb293 2799
0f8d6dc7
GM
2800 * fileio.c (Finsert_file_contents): If the file size returned from
2801 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2802 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2803
eec2d1de
EZ
28042001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2805
2806 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2807 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2808 (__memalign_hook): Make the two prototypes consistent.
2809
f4f480bd
GM
28102001-04-17 Gerd Moellmann <gerd@gnu.org>
2811
2812 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2813 matrix of mini-windows.
2814
52283633
SM
28152001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2816
2817 * intervals.c (find_interval): Don't rebalance during signal handling.
2818
ec2423c9
GM
28192001-04-11 Gerd Moellmann <gerd@gnu.org>
2820
30cb0001 2821 * fns.c: Include blockinput.h.
52283633 2822
ec2423c9
GM
2823 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2824
719d83ad
GM
28252001-04-10 Gerd Moellmann <gerd@gnu.org>
2826
60f8d735
GM
2827 * fns.c (Fcompare_strings): Fix return values.
2828
afffeb57
GM
2829 * window.c (window_scroll): Change the meaning of N to mean
2830 N screen-fulls or N lines.
2831 (window_scroll_pixel_based, window_scroll_line_based)
2832 (scroll_command, Fscroll_other_window): Change accordingly.
2833
52283633
SM
2834 * window.c (window_scroll_pixel_based, Frecenter):
2835 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2836 height of the window.
2837
2838 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2839 instead of using it.last_visible_y for the height of the window.
52283633 2840
719d83ad 2841 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2842 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2843
2844 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2845 able to write to hidden and system files. From Dan Holmsand
2846 <dan@eyebee.com>.
719d83ad 2847
8ddf3ee1
GM
2848 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2849 Holmsand <dan@eyebee.com>.
719d83ad 2850
522ed7fb
GM
28512001-04-09 Gerd Moellmann <gerd@gnu.org>
2852
9170e5d4
GM
2853 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2854
522ed7fb
GM
2855 * window.c (window_internal_height): Return 1 less if the
2856 window has a header line.
2857
2858 * xdisp.c (try_window_id): When scrolling on a terminal, take
2859 the change of window_internal_height into account.
2860
ceeb3d7d
EZ
28612001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2862
2863 * gmalloc.c (align): If the argument SIZE would overflow
2864 __malloc_ptrdiff_t, fail right away.
2865
63685b9d
GM
28662001-04-06 Gerd Moellmann <gerd@gnu.org>
2867
2868 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2869 Make sure the tooltip is completely visible.
2870 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2871
2872 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2873
2874 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2875
3ffb33bb
DL
28762001-04-06 Dave Love <fx@gnu.org>
2877
52283633
SM
2878 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2879 Fix test of `from'.
3ffb33bb 2880
869fb12c
GM
28812001-04-06 Gerd Moellmann <gerd@gnu.org>
2882
52283633 2883 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2884
869fb12c
GM
2885 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2886
441bf856
GM
28872001-04-05 Gerd Moellmann <gerd@gnu.org>
2888
4d664b04
GM
2889 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2890
52283633 2891 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2892
30ca89f5
GM
2893 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2894 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2895
2896 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2897 shell widget's position only if it is non-null.
2898
52283633
SM
2899 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2900 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2901
81a81c0f
GM
2902 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2903 FILENAME to bring it in synch with the documentation.
2904
441bf856
GM
2905 * xfaces.c (realizing_basic_faces_p): Renamed from
2906 realize_default_face_p.
2907 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2908 (realize_default_face): Don't set the flag.
2909
702a1e8e
GM
29102001-04-04 Gerd Moellmann <gerd@gnu.org>
2911
1013f4e3
GM
2912 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2913
52283633
SM
2914 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2915
1013f4e3
GM
2916 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2917 the buffer that was used for echoing.
2918
702a1e8e
GM
2919 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2920 (first_font_matching): Removed unused function.
2921 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2922 (may_use_scalable_font_p): Remove parameter FONT; rename
2923 parameter NAME to FONT.
2924 (x_face_list_fonts): Fix missing bounds check.
2925 (realizing_default_face_p): New variable.
2926 (realize_default_face): Set and clear that flag.
2927 (x_face_list_fonts): When called during the realization of the
2928 default face, and no matching fonts are found when ignoring
2929 scalable fonts and fonts matching a regexp from
2930 face-ignored-fonts, try without ignoring fonts.
2931
f9dbcda4
GM
29322001-04-03 Gerd Moellmann <gerd@gnu.org>
2933
ad18ffb1
GM
2934 * xfns.c (postprocess_image): New function.
2935 (lookup_image): Call it for all image types except PostScript.
2936 (x_kill_gs_process): Call postprocess_image.
2937
f9dbcda4
GM
2938 * xterm.c (x_use_underline_position_properties): New variable.
2939 (x_draw_glyph_string): Use it.
2940 (syms_of_xterm): DEFVAR_BOOL it.
2941
651f03b6
GM
29422001-04-02 Gerd Moellmann <gerd@gnu.org>
2943
2944 * xterm.c (x_alloc_nearest_color_1): New function.
2945 (x_alloc_nearest_color): Use it.
2946 (x_color_cells): Take a Display as argument, instead of a frame.
2947 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2948 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2949 (x_initialize): Register cvt_string_to_pixel as resource converter
2950 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2951
73d75a62
GM
29522001-03-30 Gerd Moellmann <gerd@gnu.org>
2953
b2046df8
GM
2954 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2955 (set_iterator_to_next): If a string from a display property ends,
2956 consider the case that this might also be the end of an
2957 overlay string having the display property.
2958
52283633 2959 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2960
87d8eba4
GM
2961 * xdisp.c (reseat_to_string): Undo last change.
2962
73d75a62
GM
2963 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2964 matrix of a window when the header line changes, when
2965 new rows are allocated, or when the width changes.
2966
911a2406
EZ
29672001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2968
52283633 2969 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2970
aea51abe
EZ
29712001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2972
2973 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2974 deprecated.
2975
176bc847
GM
29762001-03-29 Gerd Moellmann <gerd@gnu.org>
2977
ed31fabf
GM
2978 * data.c (Fsubr_interactive_form): New function.
2979 (syms_of_data): Defsubr it.
2980
176bc847
GM
2981 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2982 (live_float_p, live_misc_p): Return 1 only if the offset of the
2983 pointer in its block is >= 0.
2984
e59d0e9d
GM
29852001-03-28 Paul Eggert <eggert@twinsun.com>
2986
2987 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2988 microseconds calcuation. Avoid double-rounding problem.
2989 In doc string, warn that the result is approximate.
2990
f827b862
GM
29912001-03-28 Gerd Moellmann <gerd@gnu.org>
2992
30a3f61c
GM
2993 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2994 bind `inhibit-eval-during-redisplay' to t.
2995
2996 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2997
2998 * xdisp.c (inhibit_eval_during_redisplay)
2999 (Qinhibit_eval_during_redisplay): New variables.
3000 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3001 don't eval, return nil instead.
3002 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3003 Initialize Qinhibit_eval_during_redisplay.
3004
e719f5ae
GM
3005 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3006 the iterator's multibyte_p flag.
3007
deb2613a
GM
3008 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3009 instead of setting it to zero; it's incremented for each frame
3010 where the menu face is changed.
3011
52283633
SM
3012 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3013 change bottom shadow accordingly.
3014
3015 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3016 intersections here.
3017 (expose_window): Do it here instead.
52283633 3018 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3019
f827b862
GM
3020 * bytecode.c (BYTE_CODE_QUIT): New macro.
3021 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3022
4bde0ebb
GM
30232001-03-27 Gerd Moellmann <gerd@gnu.org>
3024
607ec83c
GM
3025 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3026 Give up if matrix starts in an ellipsis.
3027 (init_from_display_pos): Do nothing if POS doesn't specify
3028 a dpvec_index but the iterator has such a position.
3029
0245398f
GM
3030 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3031
aba25348
GM
3032 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3033 x/y position is (0, 0) after destroying the menu bar, restore
3034 its original position.
3035
4bde0ebb
GM
3036 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3037 (init_from_display_pos): Use it.
3038 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3039
8cdb267e
GM
30402001-03-26 Gerd Moellmann <gerd@gnu.org>
3041
3042 * xdisp.c (try_window_id): Undo last change.
3043
9948db79
EZ
30442001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3045
3046 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3047
3048 * buffer.c (syms_of_buffer): Doc fix.
3049
2eddf899
GM
30502001-03-26 Gerd Moellmann <gerd@gnu.org>
3051
3052 * xfaces.c (x_update_menu_appearance): Use local variable
3053 popup_path for setting font resources.
3054
6c145d35
EZ
30552001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3056
6a65b1b5
EZ
3057 * frame.c (Fframe_list): Don't reference tip_frame if
3058 HAVE_WINDOW_SYSTEM is not defined.
3059
6c145d35
EZ
3060 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3061 <wl@gnu.org>.
3062
d74c1900
GM
30632001-03-25 Gerd Moellmann <gerd@gnu.org>
3064
20fbd925
GM
3065 * xdisp.c (init_from_display_pos): Test invisible property
3066 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3067
927c5b3b
GM
3068 * xdisp.c (redisplay_internal) <update one window>: Make sure
3069 last_arrow_position and last_arrow_string are set.
3070
d74c1900
GM
3071 * frame.c (Fframe_list): Don't return a tooltip frame.
3072
091f8878
GM
30732001-03-23 Gerd Moellmann <gerd@gnu.org>
3074
52283633
SM
3075 * xdisp.c (mark_window_display_accurate_1): New function,
3076 extracted from mark_window_display_accurate.
3077 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3078 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3079 (mark_window_display_accurate): Use it.
3080 (redisplay_internal): Use it for the selected window.
3081 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3082 for the selected frame.
3083
ac90c44f
GM
3084 * xdisp.c Use make_number, for readability.
3085 (try_window_id): Disable rows below the window end.
3086 (try_window_reusing_current_matrix): Use cursor_row_p.
3087 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3088 of rows.
3089 (init_from_display_pos): If POS specifies a position in a display
3090 vector, maybe get the iterator set up for that ellipsis.
43c09969 3091
091f8878
GM
3092 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3093
991786dd
EZ
30942001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3095
3096 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3097
6c29b43c
GM
30982001-03-23 Gerd Moellmann <gerd@gnu.org>
3099
3100 * xfaces.c (x_update_menu_appearance): Use a different path
3101 for Lucid popup menus.
3102
d8731202
SM
31032001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3104
3105 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3106
3107 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3108 (string_buffer_position): Use `make_number'.
3109
f61a541b
GM
31102001-03-22 Gerd Moellmann <gerd@gnu.org>
3111
3c9e997b
GM
3112 * xfaces.c (x_update_menu_appearance): Renamed from
3113 x_set_menu_face_resources. Use different resources for popups.
3114
3115 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3116 (GC_CHECK_STRING_BYTES): Don't define.
3117
364cd450
GM
3118 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3119 Removed, together with subroutines.
3120 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3121 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3122
d8731202
SM
3123 * dispextern.h (x_set_menu_resources_from_menu_face):
3124 Remove prototype.
364cd450 3125
d8731202 3126 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3127 Remove calls to x_set_menu_resources_from_menu_face.
3128
d8731202
SM
3129 * xfaces.c (xm_set_menu_resources_from_menu_face):
3130 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3131
3132 * xmenu.c: Include widget.h.
3133 (single_submenu): Return int. Some cleanup.
3134 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3135
140330de
GM
31362001-03-21 Gerd Moellmann <gerd@gnu.org>
3137
3138 * xterm.c (x_update_window_end): Handle overwritten mouse face
3139 also for tool bar windows.
3140 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3141 DRAW is DRAW_IMAGE_RAISED.
3142
1741905c
GM
31432001-03-20 Gerd Moellmann <gerd@gnu.org>
3144
fa88947e
GM
3145 * print.c (syms_of_print): Doc fixes.
3146
1741905c
GM
3147 * fns.c (Fmd5): Doc fix.
3148
ade0bee1
GM
31492001-03-19 Gerd Moellmann <gerd@gnu.org>
3150
357e7376
GM
3151 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3152 Clear area of the frame not occupied by the scroll bar.
3153
c2c097cc
GM
3154 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3155 tip frame's root window buffer to *tip* right after creating
3156 the frame.
3157
ade0bee1
GM
3158 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3159 is an integer don't have to be for space characters.
3160
88c6e37e
GM
31612001-03-16 Gerd Moellmann <gerd@gnu.org>
3162
52283633
SM
3163 * indent.c (current_column, current_column_1, Fmove_to_column)
3164 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3165
c62eed76
KH
31662001-03-15 Kenichi Handa <handa@etl.go.jp>
3167
3168 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3169 drawing glyph string.
3170
c899e7e6
GM
31712001-03-15 Gerd Moellmann <gerd@gnu.org>
3172
d0bbfc99
GM
3173 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3174 (command_loop_1): Undo last change.
3175
03d1a189
GM
3176 * xterm.c (fast_find_position): Return the correct vpos.
3177
c899e7e6 3178 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3179 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3180 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3181 Call store_symval_forwarding with BUF null.
3182 (set_internal): Call store_symval_forwarding with the BUF
3183 parameter passed to set_internal. Formerly, the value was always
3184 set in the current buffer; the buffer recorded in specbind for
3185 this case wasn't used.
3186 (arith_driver): Reindent.
3187
52283633
SM
3188 * buffer.c (swap_out_buffer_local_variables):
3189 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3190
3191 * lisp.h (store_symval_forwarding): Change prototype.
3192
3193 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3194
57ac7c81
GM
31952001-03-14 Gerd Moellmann <gerd@gnu.org>
3196
697617d9
GM
3197 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3198 FOR_DELETION. Avoid resizing the mini-window of the selected
3199 frame if FOR_DELETION is set.
3200 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3201 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3202 signature.
3203
3204 * window.c (Fset_window_configuration): Change call to
3205 do_switch_frame to new format.
3206
3207 * keyboard.c (quit_throw_to_read_char): Change call to
3208 do_switch_frame to new format.
3209
3210 * lisp.h (do_switch_frame): Change prototype.
3211
819dce0f
GM
3212 * frame.c (Fframe_parameters): In the `buffer-list' frame
3213 parameter, store the buffer list of FRAME, not the list of the
3214 selected frame.
3215
57ac7c81
GM
3216 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3217 box just because the glyph row's full_width_p flag is set.
3218
65008712
GM
32192001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3220
3221 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3222 skip the padding blanks inserted in extend_face_to_end_of_line,
3223 before checking for trailing whitespace.
3224
159cf431
GM
32252001-03-13 Gerd Moellmann <gerd@gnu.org>
3226
52283633 3227 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3228 Remove special handling for LessTif/Motif.
3229 (toplevel): Don't include Xm/Xm.h.
3230
52283633
SM
3231 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3232 Remove workaround code for LessTif; it doesn't work anymore.
3233
2564ea1b 3234 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3235 Xm/ScrollBarP.h.
afcdc0a1 3236
52283633
SM
3237 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3238 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3239 contemporary LessTif.
3240
52283633
SM
3241 * xfaces.c (xm_set_menu_resources_from_menu_face):
3242 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3243
159cf431
GM
3244 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3245 removing button grabs.
3246
c6f7429a
KH
32472001-03-13 Kenichi Handa <handa@etl.go.jp>
3248
cb82d767
KH
3249 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3250 and clip-large-size-font as obsolete.
3251
c6f7429a
KH
3252 * lread.c (read_multibyte): Check the validity of multibyte
3253 sequence. If invalid, return the first byte.
3254
760cefb5
GM
32552001-03-12 Gerd Moellmann <gerd@gnu.org>
3256
3257 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3258 before running the command; timer functions or process
3259 filters may have set it.
3260
5141f9d0
EZ
32612001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3262
3263 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3264 Doc fix.
3265
b6a15240
GM
32662001-03-12 Gerd Moellmann <gerd@gnu.org>
3267
3268 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3269 to sprintf.
3270
95522746
GM
32712001-03-09 Gerd Moellmann <gerd@gnu.org>
3272
db14cfc5
GM
3273 * dispextern.h (string_buffer_position): Add prototype.
3274
52283633 3275 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3276 (single_display_prop_string_p): New functions.
3277
3278 * xterm.c (note_mouse_highlight): If there's no help-echo on
3279 a string, look at the buffer text ``under'' it.
3280
3281 * keyboard.c (make_lispy_event): Add string info to the event,
3282 analogous to what's done on mode lines.
3283 (read_key_sequence): For a click on a string, consider `local-map'
3284 and `keymap' of that string.
3285
52283633
SM
3286 * keyboard.c (make_lispy_event, make_lispy_movement):
3287 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3288
3289 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3290
3291 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3292 POS; return void.
3293
95522746
GM
3294 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3295 flags argument to emacs_open; it seems to conflict with O_EXCL.
3296
898a399d
KH
32972001-03-09 Kenichi Handa <handa@etl.go.jp>
3298
28cd4910
KH
3299 * composite.h (struct composition): Change types of members;
3300 glyph_len to unsigned, width to unsigned short.
898a399d 3301
4cdf6a6c
AI
33022001-03-08 Andrew Innes <andrewi@gnu.org>
3303
3304 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3305 menu titles.
3306
129004d3
GM
33072001-03-08 Gerd Moellmann <gerd@gnu.org>
3308
221dd3e7
GM
3309 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3310 instead of nil.
3311
52283633 3312 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3313 help-echo in strings.
3314 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3315 (fast_find_string_pos): New function.
3316
52283633
SM
3317 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3318 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3319
3320 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3321 Handle `mouse-face'.
3322
3323 * dispextern.h (face_at_string_position): Change prototype.
3324
52283633 3325 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3326
129004d3
GM
3327 * keyboard.c (make_lispy_event): Avoid generating drag events
3328 if the mouse hasn't actually moved to another buffer position.
52283633 3329
80c8ab8c
DL
33302001-03-08 Dave Love <fx@gnu.org>
3331
129004d3 3332 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3333
989521fd
GM
33342001-03-08 Gerd Moellmann <gerd@gnu.org>
3335
3336 * process.c (Fset_process_window_size): Fix a typo.
3337
bb5c338d
KH
33382001-03-08 Kenichi Handa <handa@etl.go.jp>
3339
3340 * coding.c (detect_coding_sjis): Do more rigid check.
3341 (detect_coding_big5): Likewise.
3342 (decode_coding_sjis_big5): Likewise.
3343 (Fdetect_coding_region): Call detect_coding_system with tailing
3344 anchor byte `\0' for more rigid detection.
52283633 3345 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3346 (Fdetect_coding_string): Likewise.
3347
8b8f9197
SM
33482001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3349
3350 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3351 a string before extracting its data.
3352
3bdf2660
GM
33532001-03-07 Gerd Moellmann <gerd@gnu.org>
3354
3355 * window.c (Frecenter): Rewrite code handling negative values
3356 of ARG on graphical frames.
3357
33582001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3359
3360 * window.c (displayed_window_lines): If W->start is outside the
3361 accessible portion of the buffer, call start_display with BEGV or
3362 ZV instead of W->start.
3363
471f86b9
GM
33642001-03-07 Gerd Moellmann <gerd@gnu.org>
3365
2ab62c6c
GM
3366 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3367
471f86b9
GM
3368 * process.c (Fset_process_filter): Don't crash if the input
3369 file descriptor of PROCESS is closed.
3370 (Fset_process_window_size): Likewise.
3371
101922c3
GM
33722001-03-06 Kenichi Handa <handa@etl.go.jp>
3373
3374 * xterm.c (XTflash): Make the timeout of select shorter, and call
3375 select repeatedly until the desired time expires.
3376
45d051a7
GM
33772001-03-06 Gerd Moellmann <gerd@gnu.org>
3378
3379 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3380
3381 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3382
3383 * lisp.h (Vwindow_list): Declare extern.
3384
8f372c46
EZ
33852001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3386
3387 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3388
f16a7aa5
GM
33892001-03-06 Gerd Moellmann <gerd@gnu.org>
3390
157ae273
GM
3391 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3392 to detect a case where we have to highlight a different region
3393 despite not having left the currently highlighted region.
3394 Set mouse_face_overlay in the x_display_info.
45d051a7 3395 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3396
3397 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3398
3399 * buffer.c (mouse_face_overlay_overlaps): New function.
3400
3401 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3402 (Qmouse_face): Declare extern.
3403
f16a7aa5
GM
3404 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3405 if face_change_count is non-zero.
3406
827afcac
KH
34072001-03-06 Kenichi Handa <handa@etl.go.jp>
3408
3409 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3410 that the source is unibyte.
3411
14c7242e
DL
34122001-03-05 Dave Love <fx@gnu.org>
3413
827afcac 3414 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3415
c28b847b
GM
34162001-03-05 Gerd Moellmann <gerd@gnu.org>
3417
3418 * minibuf.c (read_minibuf): Clean up the binding stack if
3419 called noninteractively.
3420
b86644f2
KH
34212001-03-05 Kenichi Handa <handa@etl.go.jp>
3422
3423 * coding.c (syms_of_coding): Docstring modified.
3424
203682cc 34252001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3426
3427 * charset.c (char_to_string): If a single byte char has modifier
3428 bits that can't be reflected to the character code, ignore them
45d051a7 3429 instead of signaling an error.
b86644f2 3430
e30bd7b7
EZ
34312001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3432
3433 * s/msdos.h: Update copyright notice.
3434
3435 * dosfns.h: Update copyright notice.
3436
3437 * dosfns.c: Update copyright notice.
3438
3439 * msdos.c: Update copyright notice.
3440
b52b65bd
GM
34412001-03-02 Gerd Moellmann <gerd@gnu.org>
3442
3443 * xterm.c (glyph_rect): New function.
3444 (XTmouse_position): Use it to raise the threshold for mouse
3445 movement event generation.
3446
53c4b1e6
EZ
34472001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3448
3449 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3450 specifies (reverse . t), reverse the initial screen colors.
3451 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3452 but we are reversing the colors, set bg_set, not fg_set.
3453 Likewise for setting background-color and reversing: set fg_set.
3454 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3455 in effect.
3456
3457 * xfaces.c (Finternal_set_lisp_face_attribute)
3458 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3459 parameters alist.
3460
f964b4d7
GM
34612001-03-02 Gerd Moellmann <gerd@gnu.org>
3462
ef53d75e
GM
3463 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3464 to a single slash in the middle of file names.
3465
52283633 3466 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3467 Accept only alphanumeric time zone names.
3468
f964b4d7
GM
3469 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3470 or width area.
3471 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3472 a widget to zero height.
52283633 3473
c3c45f65
GM
34742001-03-01 Gerd Moellmann <gerd@gnu.org>
3475
3476 * window.c (Fwindow_end): Call move_it_past_eol only if
3477 ending up on a partially visible line.
3478
028d739a
DL
34792001-03-01 Dave Love <fx@gnu.org>
3480
3481 * ccl.c (Fccl_execute): Doc fix.
3482
57c5889c
GM
34832001-03-01 Gerd Moellmann <gerd@gnu.org>
3484
35f59f6b
GM
3485 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3486 of the tool bar before calling x_figure_window_size.
3487
f84ff02c
GM
3488 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3489 NULL after destroying it, otherwise XTread_socket can access a
3490 destroyed widget when input is unblocked.
3491
8b8f9197 3492 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3493
57c5889c
GM
3494 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3495 same name as before, although there was a change in fontsets.
3496
224227d1
KR
34972001-02-28 Ken Raeburn <raeburn@gnu.org>
3498
4560730a
KR
3499 * lisp.h (Fframe_parameter): Declare.
3500
224227d1 3501 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3502 Lisp_Object.
224227d1 3503
ece93c02
GM
35042001-02-28 Gerd Moellmann <gerd@gnu.org>
3505
11ef99b9
GM
3506 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3507 NULL instead.
3508
3509 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3510 NULL instead.
3511
ece93c02
GM
3512 * alloc.c (toplevel): Include process.h.
3513 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3514 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3515 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3516 (allocate_vector, allocate_hash_table, allocate_window)
3517 (allocate_frame, allocate_process, allocate_other_vector):
3518 New functions.
ece93c02
GM
3519 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3520 (mark_maybe_pointer): New function.
52283633 3521 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3522 remain and not Lisp_Objects.
3523 (min_heap_address, max_heap_address): New variables.
3524 (mem_find): Return MEM_NIL if START is below min_heap_address or
3525 above max_heap_address.
3526 (mem_insert): Compute min_heap_address and max_heap_address.
3527
3528 * process.c (make_process): Use allocate_process.
3529
3530 * frame.c (make_frame): Use allocate_frame.
3531
3532 * window.c (make_window, make_dummy_parent): Use allocate_window.
3533 (Fcurrent_window_configuration): Use allocate_other_vector.
3534
3535 * lisp.h (allocate_vectorlike): Remove prototype.
3536 (allocate_vector, allocate_other_vector, allocate_frame)
3537 (allocate_window, allocate_process, allocate_hash_table):
3538 Add prototypes.
3539
3540 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3541 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3542
063af457
KH
35432001-02-27 Kenichi Handa <handa@etl.go.jp>
3544
3545 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3546 treat the produced bytes as a valid multibyte sequence.
3547
3548 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3549 (ccl_driver) <CCL_WriteMultibyteChar2>:
3550 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3551 <ccl_finish>: Set ccl->eight_bit_control properly.
3552
3553 * ccl.h (struct ccl_program): New member eight_bit_control.
3554
f58c6494
SM
35552001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3556
3557 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3558 accessible_keymaps_char_table.
3559 (accessible_keymaps_char_table): Obey `is_metized'.
3560 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3561 Lisp_Object.
3562
c596c392
GM
35632001-02-26 Gerd Moellmann <gerd@gnu.org>
3564
3565 * dispnew.c: Check HAVE_TERM_H before including term.h.
3566
425de386
AI
35672001-02-24 Andrew Innes <andrewi@gnu.org>
3568
3569 * makefile.w32-in: Update copyright notice.
3570
2ba11bbd
SM
35712001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3572
3573 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3574
66c56ed1
KH
35752001-02-24 Kenichi Handa <handa@etl.go.jp>
3576
4c1593ce
KH
3577 * Makefile.in (lisp): Add international/utf-8.elc.
3578
66c56ed1
KH
3579 * fontset.c (Fnew_fontset): Fix handling of the case that an
3580 element of FONTLIST is a cons of family and registry.
3581
796ead7e
JR
35822001-02-23 Jason Rumney <jasonr@gnu.org>
3583
3584 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3585 to height unconditionally.
3586
3587 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3588 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3589 (x_insert_glyphs): Call window_box_left to obtain the left
3590 x-coordinate of the area to shift.
3591
3592 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3593 safe_run_hooks.
3594
f6839838
AI
35952001-02-22 Andrew Innes <andrewi@gnu.org>
3596
52283633 3597 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3598 ($(BLD)\dispnew.obj):
3599 ($(BLD)\editfns.obj):
3600 ($(BLD)\fileio.obj):
3601 ($(BLD)\filelock.obj):
3602 ($(BLD)\keyboard.obj):
3603 ($(BLD)\w32proc.obj):
3604 ($(BLD)\process.obj):
3605 ($(BLD)\sysdep.obj): Ditto.
3606
3607 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3608 header files.
52283633
SM
3609 ($(BLD)/dispnew.$(O)):
3610 ($(BLD)/editfns.$(O)):
3611 ($(BLD)/fileio.$(O)):
3612 ($(BLD)/filelock.$(O)):
3613 ($(BLD)/keyboard.$(O)):
3614 ($(BLD)/w32proc.$(O)):
3615 ($(BLD)/process.$(O)):
f6839838
AI
3616 ($(BLD)/sysdep.$(O)): Ditto.
3617
c224f70b
GM
36182001-02-22 Gerd Moellmann <gerd@gnu.org>
3619
51695746
GM
3620 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3621 at the start of the function, check that the \n in it->c is
3622 from the iterator's current position.
52283633 3623
a61b7058
GM
3624 * xdisp.c (handle_single_display_prop): Add parameter
3625 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3626 properties which replace the display of text with something else.
3627 (handle_display_prop): Call handle_single_display_prop with
3628 additional argument saying if we already replaced text display
3629 with something else. Use AREF.
52283633 3630 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3631 (decode_mode_spec_coding): Use AREF and ASIZE.
3632
3473f362
GM
3633 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3634 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3635 * vmstime.h: Files removed.
52283633 3636
2bb58df3
GM
3637 * unexencap.c, unexfx2800.c: Files removed.
3638
c224f70b
GM
3639 * dispnew.c (direct_output_for_insert): Give up if we are showing
3640 a message or just cleared the message because we might need to
3641 resize the echo area window or display an empty echo area.
3642
ffc9ff0c
GM
36432001-02-21 Gerd Moellmann <gerd@gnu.org>
3644
0528abe1
GM
3645 * xdisp.c (redisplay_internal): Do the
3646 mark_window_display_accurate after all windows have been
3647 redisplayed because this call resets flags in buffers which are
3648 needed for proper redisplay.
3649
52283633
SM
3650 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3651 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3652 the old names.
3653
52283633
SM
3654 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3655 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3656
3657 * msdos.h (struct x_output): Rename busy_window to
3658 hourglass_window, busy_p to hourglass_p.
3659
52283633
SM
3660 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3661 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3662
3663 * xfns.c: Rename everything containing *busy_cursor* and similar
3664 to *hourglass*.
3665 (syms_of_w32fns): Rename x-busy-pointer-shape to
3666 x-hourglass-pointer-shape, display-busy-cursor to
3667 display-hourglass, busy-cursor-delay to hourglass-delay.
3668
3669 * w32fns.c: Rename everything containing *busy_cursor* and similar
3670 to *hourglass*.
3671 (syms_of_w32fns): Rename x-busy-pointer-shape to
3672 x-hourglass-pointer-shape, display-busy-cursor to
3673 display-hourglass, busy-cursor-delay to hourglass-delay.
3674
3675 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3676 of its busy_p flag.
3677
3678 * dispextern.h (start_hourglass, cancel_hourglass)
3679 (display_hourglass_p): Renamed from *busy_cursor*.
3680
ab2c5f0a
GM
36812001-02-20 Gerd Moellmann <gerd@gnu.org>
3682
d17e49a8
GM
3683 * keyboard.c (read_char): When an event from unread-command-events
3684 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3685
fa97adf6
GM
3686 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3687 equal to the current buffer.
3688
ab2c5f0a
GM
3689 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3690 nil, otherwise we're left with truncate_lines t when a message
3691 is printed with message-truncate-lines bound to t.
3692
aeac019e
GM
36932001-02-19 Gerd Moellmann <gerd@gnu.org>
3694
c8bc6f65
GM
3695 * window.c (Fmove_to_window_line): Undo last change.
3696 (displayed_window_lines): Call line_bottom_y to determine
3697 the line's bottom position.
3698
3699 * dispextern.h (line_bottom_y): Add prototype.
3700
52283633 3701 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3702 (pos_visible_p): Use it.
3703
980a2d69
GM
3704 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3705 set redisplaying_p to 0 here instead of in Frecursive_edit.
3706 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3707 set redisplaying_p.
3708
52283633 3709 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3710 New variables.
3711 (syms_of_xdisp): Initialize new variables.
3712 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3713 Specbind `inhibit-menubar-update' when updating the menu bar.
3714
65048e97
GM
3715 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3716 safe_run_hooks.
3717
3718 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3719 safe_run_hooks.
3720
a57c4026
GM
3721 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3722 is null.
3723
aeac019e
GM
3724 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3725 to the start of the file.
3726
76846b31
GM
37272001-02-16 Gerd Moellmann <gerd@gnu.org>
3728
f3f053f3 3729 * window.c (set_window_buffer): Fix last change.
52283633 3730
f3f053f3
GM
3731 * window.c (set_window_buffer): Set window's vscroll to 0.
3732
dad75588
GM
3733 * window.c (coordinates_in_window): Increase width of area
3734 where the vertical line can be dragged.
3735
c220b753
GM
3736 * xterm.c (x_set_glyph_string_background_width): Extend the
3737 background face to the end of the drawing area in the text
3738 area, only.
3739
c56b1c1b
GM
3740 * xdisp.c (handle_single_display_prop): Set iterator's position
3741 to where the `display' property starts, like for images.
3742 (dump_glyph): New function.
3743 (dump_glyph_row): Use it. Dump info about marginal areas.
3744
3745 * dispnew.c (direct_output_for_insert): Recognize more cases where
3746 glyphs can be written instead of being inserted.
3747
3748 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3749 the left x-coordinate of the area to shift.
3750
76846b31
GM
3751 * dired.c (directory_files_internal): Set result list to nil
3752 before retrying.
3753
0fc71a77
KH
37542001-02-15 Kenichi Handa <handa@etl.go.jp>
3755
3756 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3757 invalid multibyte sequence, treat *SRC as a character of
3758 eight-bit-graphic.
3759
25078b54
EZ
37602001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3761
3762 * textprop.c (Fset_text_properties): Doc fix.
3763
8399f8a0
GM
37642001-02-15 Gerd Moellmann <gerd@gnu.org>
3765
3766 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3767
9a2a6f73
DL
37682001-02-14 Dave Love <fx@gnu.org>
3769
3770 * coding.c: Doc and message fixes.
3771
bf853fee
AI
37722001-02-14 Andrew Innes <andrewi@gnu.org>
3773
3774 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3775 Emacs frame above the screen size.
3776
78c663d8
GM
37772001-02-14 Gerd Moellmann <gerd@gnu.org>
3778
3779 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3780
7cc9f69f
GM
37812001-02-13 Gerd Moellmann <gerd@gnu.org>
3782
0a411995
GM
3783 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3784 case that TO ends up beyond ZV after running before-change-functions.
3785
5ddc1b75
GM
3786 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3787 the selected window if it is showing the buffer in question.
3788
7cc9f69f
GM
3789 * dired.c (directory_files_internal): Initialize errno.
3790 (toplevel): Include errno.h.
3791
2e6621ca
GM
37922001-02-13 Kenichi Handa <handa@etl.go.jp>
3793
3794 * xfaces.c (best_matching_font): New parameter width_ratio.
3795 Multiply avgwidth by width_ratio.
3796 (choose_face_font): Call best_matching_font with width_ratio
3797 calculated from the column width of C.
3798
60222d69
AI
37992001-02-12 Andrew Innes <andrewi@gnu.org>
3800
3801 The following changes are to draw box lines inside characters area
3802 if line-width is negative.
52283633 3803
60222d69
AI
3804 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3805 face->box_line_width is negative.
3806 (x_produce_stretch_glyph): Likewise.
3807 (x_produce_glyphs): Likewise.
3808 (x_estimate_mode_line_height): Likewise.
3809 (x_draw_glyph_string_background): Likewise.
3810 (x_draw_glyph_string_foreground): Likewise.
3811 (x_draw_composite_glyph_string_foreground): Likewise.
3812 (x_draw_glyph_string_box): Likewise.
3813 (x_draw_image_foreground): Likewise.
3814 (x_draw_image_relief): Likewise.
3815 (x_draw_image_foreground_1): Likewise.
3816 (x_draw_image_glyph_string): Likewise.
3817
9804b846
KH
38182001-02-09 Kenichi Handa <handa@etl.go.jp>
3819
3820 The following changes are to draw box lines inside characters area
3821 if line-width is negative.
52283633 3822
9804b846
KH
3823 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3824 face->box_line_width is negative.
3825 (x_produce_stretch_glyph): Likewise.
3826 (x_produce_glyphs): Likewise.
3827 (x_estimate_mode_line_height): Likewise.
3828 (x_draw_glyph_string_background): Likewise.
3829 (x_draw_glyph_string_foreground): Likewise.
3830 (x_draw_composite_glyph_string_foreground): Likewise.
3831 (x_draw_glyph_string_box): Likewise.
3832 (x_draw_image_foreground): Likewise.
3833 (x_draw_image_relief): Likewise.
3834 (x_draw_image_foreground_1): Likewise.
3835 (x_draw_image_glyph_string): Likewise.
3836
3837 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3838 and :line-width can be negative.
52283633 3839 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3840
49be9f70
JR
38412001-02-09 Jason Rumney <jasonr@gnu.org>
3842
3843 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3844 characters the same as ASCII and latin-1.
3845 (x_display_and_set_cursor): Check for the focus frame's selected
3846 window instead of selected_window.
3847 (x_after_update_window_line): Don't clear if frame's internal
3848 border width is zero.
3849 (x_new_font): Don't change a tooltip's size.
3850 (w32_initialize): Set char_ins_del_ok to 1.
3851
3852 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3853 (x_set_font): If font hasn't changed, avoid recomputing
3854 faces and other things.
52283633
SM
3855 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3856 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3857 (x_create_tip_frame): Prevent changing the tooltip's
3858 background color by specifying a color for the default font
3859 in .Xdefaults.
3860 (Qcancel_timer): New variable.
3861 (syms_of_w32fns): Initialize and staticpro it.
3862 (Fx_hide_tip, Fx_show_tip): Use it.
3863 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3864 the timer.
3865 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3866
3867 * w32.c (init_environment): Duplicate local string before putenv.
3868
555e35d2
SZ
38692001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3870
3871 * charset.c (Fstring): A typo.
3872
19c92c94
KH
38732001-02-09 Kenichi Handa <handa@etl.go.jp>
3874
e47a1c33
KH
3875 * charset.c (Fstring): If all arguments are less than 256, return
3876 a unibyte string.
3877
3878 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3879 return a unibyte string.
3880
19c92c94
KH
3881 * coding.c (code_convert_region): After detecting a coding, if
3882 nothing found, set coding->composing to COMPOSITION_NO.
3883 (decode_coding_string): Likewise.
3884
d8e675f5
SM
38852001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3886
3887 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3888 to avoid overflow.
3889
bd503487
KH
38902001-02-07 Kenichi Handa <handa@etl.go.jp>
3891
3892 * charset.c (parse_str_to_multibyte): New function.
3893
3894 * charset.h (parse_str_to_multibyte): Extern it.
3895
3896 * print.c (print_string): If we are going to print a unibyte
3897 string into a multibyte buffer, convert the string to multibyte by
3898 str_to_multibyte.
3899
a8370d72
AI
39002001-02-06 Andrew Innes <andrewi@gnu.org>
3901
3902 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3903 been created. It seems we can get sent window messages such as
3904 WM_ERASEBKGND before we properly update a frame.
3905
c363a1d6
GM
39062001-02-06 Gerd Moellmann <gerd@gnu.org>
3907
3908 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3909 Avoid some unnecessary cursor positioning.
3910
a08332c0
GM
39112001-02-05 Gerd Moellmann <gerd@gnu.org>
3912
52283633 3913 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3914 (LFACE_AVGWIDTH): New macro.
3915 (LFACEP): Use AREF.
3916 (check_lface_attrs): Check LFACE_AVGWIDTH.
3917 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3918 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3919 (merge_face_vectors): Check LFACE_AVGWIDTH.
3920 (Finternal_make_lisp_face): Use AREF.
3921 (xm_set_menu_resources_from_menu_face)
3922 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3923 (Finternal_lisp_face_empty_p): Use AREF.
3924 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3925 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3926 Compare average widths..
3927 (best_matching_font): Arrange for comparing average widths.
3928
52283633
SM
3929 * dispextern.h (enum lface_attribute_index):
3930 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3931
5cb3c8d4
DL
39322001-02-05 Dave Love <fx@gnu.org>
3933
3934 * puresize.h: Revert last change following loadup.el change.
3935
193fba87
AI
39362001-02-05 Andrew Innes <andrewi@gnu.org>
3937
3938 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3939 invocation of temacs, to work with Windows 2000.
3940 (bootstrap-emacs): Ditto.
3941
e16f52ce
GM
39422001-02-05 Gerd Moellmann <gerd@gnu.org>
3943
7a58ab59
GM
3944 * xterm.c (x_display_and_set_cursor): Check for the focus
3945 frame's selected window instead of selected_window.
3946
e89aaabd
GM
3947 * xdisp.c (try_scrolling): If point is in the line below the
3948 window, make sure to move the iterator at least a canonical
3949 char height down.
3950
52283633 3951 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3952
789ce875
KH
39532001-02-05 Kenichi Handa <handa@etl.go.jp>
3954
52283633
SM
3955 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3956 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3957 (ccl_driver): If the CCL program is terminated because of
3958 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3959 destination instead of throwing them away.
3960
20b28f82
GM
39612001-02-02 Gerd Moellmann <gerd@gnu.org>
3962
79fb38c0
GM
3963 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3964 faces and other things.
3965
20b28f82
GM
3966 * xdisp.c (get_next_display_element): Fix case of empty
3967 display table entry.
3968
5a72551e
EZ
39692001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3970
eb24d0bf
EZ
3971 * editfns.c (Fconstrain_to_field): Doc fix.
3972
6a3f48c7
EZ
3973 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3974 into `thoroughly', to make it consistent with the doc string.
3975
5a72551e
EZ
3976 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3977
01acdb05
GM
39782001-02-01 Gerd Moellmann <gerd@gnu.org>
3979
0353b28f
GM
3980 * search.c (search_buffer): Call set_search_regs with a byte
3981 position, not a character position.
3982
01acdb05
GM
3983 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3984 minibuffer-only,
3985
e86b5133
EZ
39862001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3987
3988 * frame.c (Fmodify_frame_parameters): Doc fix.
3989
7442878f
GM
39902001-01-31 Gerd Moellmann <gerd@gnu.org>
3991
01acdb05
GM
3992 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3993 identifier which is not reserved by Standard C.
52283633 3994
7442878f
GM
3995 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3996
3997 * window.c (enum window_part): New enumeration.
3998 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3999 Qright_bitmap_area.
4000 (coordinates_in_window): Return an enumerator from enum
4001 window_part. Fix handling of right scroll bar.
4002 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4003 `right-fringe' instead of `left-bitmap-area' and
4004 `right-bitmap-area'. Use enumerators from enum window_part
4005 instead of hard-coded integers.
52283633
SM
4006 (check_window_containing, window_from_coordinates):
4007 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4008 (syms_of_window): Replace Qleft_bitmap_area and
4009 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4010
7c132cba
EZ
40112001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4012
4013 * editfns.c (Fformat_time_string): Doc fix.
4014
c359dd9e
SM
40152001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4016
4017 * keymap.c (Fwhere_is_internal): Use the first valid binding
4018 if no ascii binding is found (when firstonly is t).
4019
ce070307
GM
40202001-01-31 Gerd Moellmann <gerd@gnu.org>
4021
b4f30ec5
GM
4022 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4023 instead of Finteractive_p.
4024
4025 * lisp.h (interactive_p): Add prototype.
4026
4027 * eval.c (interactive_p): New function.
4028 (Finteractive_p): Use it.
4029
ce070307
GM
4030 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4031
f57b6e64
DL
40322001-01-31 Dave Love <fx@gnu.org>
4033
d61c7afe
DL
4034 * .gdbinit (hook-run): Define to run xreload.
4035
f57b6e64
DL
4036 * textprop.c (Fset_text_properties): Fix newline in doc string.
4037
eef93f99
GM
40382001-01-30 Gerd Moellmann <gerd@gnu.org>
4039
52283633
SM
4040 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4041 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4042
4043 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4044 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4045 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4046
4047 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4048 height.
4049
d9c1f6f9
DL
40502001-01-30 Dave Love <fx@gnu.org>
4051
4052 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4053 AFTER_POTENTIAL_GC.
4054
e8f044a0
GM
40552001-01-29 Gerd Moellmann <gerd@gnu.org>
4056
52283633
SM
4057 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4058 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4059
8e1db7b3
EZ
40602001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4061
4062 * textprop.c (Fset_text_properties): Doc fix.
4063
4eefd9d2
GM
40642001-01-29 Gerd Moellmann <gerd@gnu.org>
4065
4066 * xdisp.c (forward_to_next_line_start): Remove xassert.
4067
fccb8288
EZ
40682001-01-29 Jason Rumney <jasonr@gnu.org>
4069
4eefd9d2 4070 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4071 returning without releasing it.
4072
76581eab
KH
40732001-01-29 Kenichi Handa <handa@etl.go.jp>
4074
4075 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4076 for '^', '$', and '\0'.
4077
83a96b4d
AC
40782001-01-28 Andrew Choi <akochoi@i-cable.com>
4079
5604ec34
AC
4080 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4081 regex for '^', '$', and '\0'.
4082
83a96b4d
AC
4083 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4084 only if current_sblock has been initialized.
4085
4086 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4087 terminal frame even if it is the only visible frame.
4088
c09a6440
KH
40892001-01-28 Kenichi Handa <handa@etl.go.jp>
4090
4091 * fontset.c (font_family_registry): Even if FONTNAME conform to
4092 XLFD, if it specifies other fields than family and registry,
52283633 4093 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4094 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4095 a signle byte character. Don't set FAMILY part to nil here.
4096 It is handled by the caller choose_face_font.
c09a6440
KH
4097 (Fnew_fontset): Call font_family_registry with FORCE 0.
4098 (Fset_fontset_font): Likewise.
4099
4dcd74e6
GM
41002001-01-27 Gerd Moellmann <gerd@gnu.org>
4101
4102 * xdisp.c (display_line): Don't treat a newline as fitting
4103 on the line.
4104
d2906bf8
GM
41052001-01-26 Gerd Moellmann <gerd@gnu.org>
4106
0130fe1a
GM
4107 * window.c (size_window): Set the window's orig_top to nil when
4108 changing heights, so that a future shrink_mini_window won't
4109 restore a bogus height.
4110
550f0e6a
GM
4111 * frame.c (do_switch_frame): If selected frame has a mini-window,
4112 resize that to exact size.
4113
b7b20fbd
GM
4114 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4115
a47b7816
GM
4116 * xdisp.c (display_line): Simplify check for glyphs fitting
4117 entirely in the line.
4118
d2906bf8
GM
4119 * xfns.c (xic_style): New variable.
4120 (create_frame_xic): Move static variable to global scope for
550f0e6a 4121 the case that `static' gets defined away.
d2906bf8 4122
73df2b1e
KH
41232001-01-26 Kenichi Handa <handa@etl.go.jp>
4124
4125 * coding.c (decode_coding): Set a flag for inhibiting
4126 inconsistent eol.
4127 (code_convert_region): Always set saved_coding_symbol.
4128 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4129 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4130
6613cfc4
GM
41312001-01-25 Gerd Moellmann <gerd@gnu.org>
4132
c5e6e06b
GM
4133 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4134 XClearArea.
4135
4136 * xterm.c (x_after_update_window_line): Don't clear if frame's
4137 internal border width is zero.
4138 (x_clear_area): New function.
4139 (x_after_update_window_line, x_clear_end_of_line)
4140 (x_scroll_bar_create, x_scroll_bar_set_handle)
4141 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4142 instead of XClearArea.
4143
4144 * xterm.h (x_clear_area): Add prototype.
4145
6613cfc4
GM
4146 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4147 which doesn't seem necessary anymore with Lesstif 0.92.
4148
650cc6cc
DL
41492001-01-25 Dave Love <fx@gnu.org>
4150
34ac3367
DL
4151 * puresize.h (BASE_PURESIZE): Up to 720000.
4152
650cc6cc
DL
4153 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4154
5e37dc22
GM
41552001-01-25 Gerd Moellmann <gerd@gnu.org>
4156
e1e441f9
GM
4157 * xdisp.c (echo_area_display): Don't call redisplay_internal
4158 when Emacs is shutting down. We can't run hooks etc. that
4159 would be necessary to do a redisplay.
4160
5e37dc22
GM
4161 * lread.c (read_integer): Use type EMACS_INT instead of int.
4162
0fb94c7f
EZ
41632001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4164
4165 * ccl.c (ccl_driver): Fix last change.
4166
e3778624
KH
41672001-01-25 Kenichi Handa <handa@etl.go.jp>
4168
4169 * ccl.h (sturct ccl_program): New member suppress_error.
4170
bb264518 4171 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4172 insert error message to the output.
4173 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4174
4175 * coding.h (struct coding_system): New member suppress_error.
4176
4177 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4178 (Fset_terminal_coding_system_internal): Set the member
4179 suppress_error to 1.
4180 (Fset_safe_terminal_coding_system_internal): Likewise.
4181
245ed2b1
SM
41822001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4183
4184 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4185 as if it was a `charset'.
4186
f9aaedb6
GM
41872001-01-24 Gerd Moellmann <gerd@gnu.org>
4188
4189 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4190 value in where_is_cache; the next lookup in the cache returns
4191 something bogus if we do.
4192
c3902c3e
EZ
41932001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4194
4195 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4196 if HAVE_WINDOW_SYSTEM isn't defined.
4197
3497f73e
GM
41982001-01-24 Gerd Moellmann <gerd@gnu.org>
4199
e7e41584
GM
4200 * fns.c (sweep_weak_table): Fix code taking items out of
4201 the hash collision chain. Some cleanup.
4202
3497f73e
GM
4203 * xterm.c (x_new_font): Don't change a tooltip's size.
4204
4205 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4206 background color by specifying a color for the default font
4207 in .Xdefaults.
4208
3d48e687
KH
42092001-01-24 Kenichi Handa <handa@etl.go.jp>
4210
96531b20
KH
4211 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4212 a workaround for SunOS 4's cc.
4213 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4214 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4215 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4216 statement.
3d48e687 4217
a30629d2
GM
42182001-01-23 Gerd Moellmann <gerd@gnu.org>
4219
4220 * xterm.c (x_set_window_size_1): New function extracted from
4221 x_set_window_size.
4222 (x_set_window_size): Use it.
4223 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4224 doesn't have a widget, like tooltips.
4225
5a43decf
EZ
42262001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4227
52283633 4228 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4229
b0e98867
KH
42302001-01-23 Kenichi Handa <handa@etl.go.jp>
4231
4232 * fns.c (Fset_char_table_default): Fix to make sub char-table
4233 correctly.
4234
50606b4c
GM
42352001-01-22 Gerd Moellmann <gerd@gnu.org>
4236
cb2ddc53 4237 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4238 a desired tool bar string, even if there are no tool bar items.
4239
57c28064
GM
4240 * xdisp.c (Ftool_bar_lines_needed): New function.
4241 (syms_of_xdisp): Defsubr it.
4242
50606b4c
GM
4243 * editfns.c (Fformat): Don't extend text properties from arguments
4244 to padding chars in the result.
4245
2f169c38
EZ
42462001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4247
4248 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4249
0f32f023
AI
42502001-01-20 Andrew Innes <andrewi@gnu.org>
4251
52283633 4252 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4253 (w32_initialize): Don't set term hooks that aren't actually needed
4254 in windowed mode.
4255
4256 * xfaces.c (realize_default_face):
4257 (realize_face):
4258 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4259
4260 * xdisp.c (handle_single_display_prop): Remove references to
4261 FRAME_W32_CONSOLE_P.
4262
52283633 4263 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4264
4265 * frame.h (output_method): Remove output_w32_console method.
4266 (FRAME_W32_CONSOLE_P): Remove macro.
4267
4268 * frame.c (Qw32_console): Remove variable.
4269 (Fframep): Remove references to it.
4270 (syms_of_frame): Ditto.
4271 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4272
4273 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4274 redefinition.
4275
7173eada
KH
42762001-01-20 Kenichi Handa <handa@etl.go.jp>
4277
4278 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4279
755b45ce
AI
42802001-01-19 Andrew Innes <andrewi@gnu.org>
4281
4282 * w32.c (init_environment): Add a version-independent site-lisp
4283 directory to EMACSLOADPATH, after the version dependent one.
4284
0a949811
GM
42852001-01-19 Gerd Moellmann <gerd@gnu.org>
4286
8501998a
GM
4287 * editfns.c (Fbuffer_substring): Doc fix.
4288
52283633
SM
4289 * xdisp.c (message_dolog, message2, message2_nolog):
4290 Rename parameter LEN to NBYTES.
0a949811 4291
e6ebcbbe
KH
42922001-01-19 Kenichi Handa <handa@etl.go.jp>
4293
200ecca2
KH
4294 * charset.c (strwidth): Use c_string_width.
4295 (c_string_width): New function.
4296 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4297 Caller changed.
4298
4299 * charset.h (c_string_width, lisp_string_width): Extern them.
4300
52283633 4301 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4302
e6ebcbbe
KH
4303 * indent.c (check_composition): Check validity of composition.
4304
200ecca2
KH
4305 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4306 characters by calling c_string_width.
4307 (x_consider_frame_title): Get byte length of frame tile string
4308 correctly.
4309 (display_mode_element): Pay attention to width of non-ASCII
4310 characters by calling strwidth.
4311
8692ca92
GM
43122001-01-18 Gerd Moellmann <gerd@gnu.org>
4313
8962e303
GM
4314 * xfns.c (Qcancel_timer): New variable.
4315 (syms_of_xfns): Initialize and staticpro it.
4316 (Fx_hide_tip, Fx_show_tip): Use it.
4317 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4318 the timer.
4319 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4320
91523be9
GM
4321 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4322
4323 * window.h (WINDOW_LIVE_P): New macro.
4324
b0b7ed0e
GM
4325 * window.c (window_size_fixed): New variable.
4326 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4327 the doc string.
4328
06bccf8e
GM
4329 * eval.c (specbind): If binding a per-buffer variable which
4330 doesn't have a buffer-local value in the current buffer, change
4331 the global value by changing the value of the symbol bound in all
4332 buffers not having their own value, to make it consistent with
4333 what happens with other buffer-local variables.
4334
8692ca92
GM
4335 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4336
4337 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4338 when searching for a newline.
4339
bb3a3b50
KH
43402001-01-18 Kenichi Handa <handa@etl.go.jp>
4341
4342 * xdisp.c (display_string): Fix previous change.
4343
c2cc16fa
JR
43442001-01-18 Jason Rumney <jasonr@gnu.org>
4345
4346 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4347 GLYPH_DEBUG is defined.
4348 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4349 true for images with `:ascent 100'.
4350 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4351 meantime, use face MOUSE_FACE_ID.
4352 If first glyph isn't a character glyph, use the ASCII NUL
4353 character to determine the face.
4354 (expose_area): Do not treat left margin specially.
4355 (note_mode_line_highlight): If no local_map, check global keymap.
4356 (note_mouse_highlight): Initialize overlay.
52283633 4357 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4358 (show_scroll_bars): Remove unused function.
4359 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4360 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4361 Clip to row.
52283633 4362 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4363 (x_free_frame_resources): Unload relief colors.
4364
9c11f79e
GM
43652001-01-17 Gerd Moellmann <gerd@gnu.org>
4366
3aec8722 4367 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4368 get_next_display_element when the newline is already found.
4369 This may change the iterator's position, when its current position is
3aec8722
GM
4370 equal to the iterator's stop_charpos.
4371
f3ffc2c3
GM
4372 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4373 zero, use this method only at the end of a line.
4374
52283633 4375 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4376 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4377 if SCALABLE_FONTS_P is set.
52283633 4378
d26d6fd9
GM
4379 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4380 so that scalable fonts are included.
4381
9c11f79e
GM
4382 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4383 In the cache, use a key containing the information if scalable
4384 fonts are included.
4385 (x_load_font): Adapt to change of keys in the font cache.
4386
43872001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4388
d26d6fd9
GM
4389 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4390 XListFonts to take advantage of font caching.
4391
9c11f79e
GM
4392 * xterm.c (x_list_fonts): Ensure caching font information when
4393 called for a null frame, which is the case frequently when Emacs
4394 starts.
4395
51446987
GM
43962001-01-17 Gerd Moellmann <gerd@gnu.org>
4397
f864120f
GM
4398 * xfns.c (QCconversion): Replaces QCalgorithm.
4399
4400 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4401
4402 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4403 of :algorithm.
52283633 4404
e37d1417
GM
4405 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4406 not everything could be displayed.
4407
51446987
GM
4408 * line.h, x-list-font.c: Files removed because unused.
4409
9ad4f3e5
AI
44102001-01-17 Andrew Innes <andrewi@gnu.org>
4411
4412 * dired.c (directory_files_internal): Convert result from readdir
4413 to a unibyte string initially, to avoid possible misinterpretation
4414 of some bytes as the internal form of Emacs characters.
4415
2eda09b5
KH
44162001-01-17 Kenichi Handa <handa@etl.go.jp>
4417
4418 * fns.c (concat): Be sure to avoid putting the same `composition'
4419 property on the adjacent regions.
4420
826f3788
GM
44212001-01-16 Gerd Moellmann <gerd@gnu.org>
4422
52283633 4423 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4424 (Fscroll_right, Fscroll_left): Set it here instead, if called
4425 interactively.
4426
d57b83b3
GM
4427 * buffer.c (Fset_buffer_modified_p): Set buffer's
4428 prevent_redisplay_optimizations_p flag.
4429
826f3788 4430 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4431 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4432 with additional arg.
4433
4434 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4435 Change prototype.
826f3788 4436
826f3788
GM
4437 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4438 FROM_WHERE, for debugging.
4439
261d788b
KH
44402001-01-16 Kenichi Handa <handa@etl.go.jp>
4441
4442 * ccl.c (Fregister_ccl_program): Handle the return value of
4443 resolve_symbol_ccl_program correctly.
52283633 4444 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4445
bccee4f2
GM
44462001-01-15 Gerd Moellmann <gerd@gnu.org>
4447
e4ded23c
GM
4448 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4449 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4450
4451 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4452 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4453 the display; we didn't open it.
4454
bccee4f2
GM
4455 * dispnew.c (save_or_restore_current_matrices): Function removed.
4456 (save_current_matrix, restore_current_matrix): New functions.
4457 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4458 restore the frame's current matrix. Due to the glyph pointer
4459 setup done in adjust_glyph_matrix, there is no easy way to make
4460 saving the current matrix in the desired matrix generally correct,
4461 so don't try it.
4462
ebeccffa
KH
44632001-01-15 Kenichi Handa <handa@etl.go.jp>
4464
4465 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4466 truncation glyphs.
4467 (display_line): Optimize for wide characters.
e4ded23c 4468 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4469 partially. On ttys, produce more than one truncation glyph for
4470 multi-column characters that don't fit on the line.
4471
64388126
KH
44722001-01-13 Kenichi Handa <handa@etl.go.jp>
4473
52283633
SM
4474 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4475 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4476
8edb0a6f
JR
44772001-01-13 Jason Rumney <jasonr@gnu.org>
4478
4479 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4480 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4481 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4482 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4483
52283633
SM
4484 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4485 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4486 (x_draw_image_glyph_string): Adapt to change of image margins.
4487
4488 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4489 variables.
4490
4491 * w32bdf.c (search_file_line, get_cached_font_char)
4492 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4493
4494 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4495
4496 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4497 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4498 (Fw32_send_sys_command): Remove unused variables.
4499 (w32_msg_pump): Add parentheses.
4500
4501 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4502 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4503 Add parentheses.
4504
4956d1ef
GM
45052001-01-12 Gerd Moellmann <gerd@gnu.org>
4506
b30623be
GM
4507 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4508 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4509 being a pair of margins.
4510 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4511 to DEFVAR_LISP. Extend doc.
4512
4513 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4514 margins.
4515 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4516 pair of integers `(X . Y)', use X for the horizontal and Y for the
4517 vertical margin.
4518 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4519 (parse_image_spec): Check it.
52283633
SM
4520 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4521 (tiff_format, gif_format, gs_format):
4522 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4523
52283633
SM
4524 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4525 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4526 (x_draw_image_glyph_string): Adapt to the change of image margins.
4527
4528 * dispextern.h (struct image): Replace member `margin' with
4529 `hmargin' and `vmargin'.
4530
4554cc79
GM
4531 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4532 and GLYPHS.
4533
4534 * dispnew.c (update_text_area): Put code which decrements the
4535 stop position when the row's face extends to the end of the
3bffc665 4536 line in #if 0.
4554cc79 4537
3cccce8d
GM
4538 * xfns.c (x_set_mouse_color): Fix color allocation.
4539
4956d1ef
GM
4540 * keyboard.c: Call get_local_map with new argument list.
4541
4542 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4543
4544 * intervals.h (enum map_property): Removed.
4545 (get_local_map): Change prototype.
4546
4547 * keymap.c: Call get_local_map with new argument list.
4548 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4549
2c2ff7f2
GM
45502001-01-11 Gerd Moellmann <gerd@gnu.org>
4551
a23887b9
GM
4552 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4553 of the size needed for the tool bar string. For the last image,
4554 use a `display' property that reaches to the end of the string.
4555
a7ee2d2e
GM
4556 * xselect.c (selection_request_dpyinfo): New variable.
4557 (x_handle_selection_request): Set it.
4558 (x_selection_request_lisp_error): Don't call
4559 x_decline_selection_request if selection request's display has
4560 been closed.
4561
52283633
SM
4562 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4563 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4564
457b792c
GM
45652001-01-10 Dave Love <fx@gnu.org>
4566
4567 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4568 ${SOME_MACHINE_LISP}, not ${lisp}.
4569
c1efd260
GM
45702001-01-10 Gerd Moellmann <gerd@gnu.org>
4571
52283633
SM
4572 * xdisp.c (display_line): On ttys, produce more than one truncation
4573 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4574
ac95a621
GM
4575 * xselect.c (x_reply_selection_request): Add a comment.
4576
c1efd260
GM
4577 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4578 XkbGetNames instead of XkbGetKeyboard.
4579
1bfb1345
DL
45802001-01-10 Dave Love <fx@gnu.org>
4581
4582 * sysdep.c (random): Revert the declaration.
4583
38119822
GM
45842001-01-09 Gerd Moellmann <gerd@gnu.org>
4585
52283633
SM
4586 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4587 Call function string_bytes.
35f464a7
GM
4588 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4589
4590 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4591 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4592 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4593 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4594 the current sblock.
4595 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4596 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4597 after sweeping strings, and at the end.
4598 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4599
38119822
GM
4600 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4601 ensure that pop_message is called.
4602
4603 * keyboard.c (Fexecute_extended_command): Use a
4604 record_unwind_protect to ensure that pop_message is called.
4605
4606 * lisp.h (push_message_unwind): Add prototype.
4607
4608 * xdisp.c (push_message_unwind): New function.
4609
4610 * fileio.c (do_auto_save_unwind): Do the pop_message here
4611 instead of in Fdo_auto_save.
4612 (Fdo_auto_save): Don't call pop_message.
4613
f47a9ec4
KR
46142001-01-08 Ken Raeburn <raeburn@gnu.org>
4615
4616 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4617 in inner block.
4618
a758f97d
GM
46192001-01-08 Gerd Moellmann <gerd@gnu.org>
4620
6d0afc03
GM
4621 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4622 when increasing window's vscroll.
4623
a758f97d
GM
4624 * macros.c (Qkbd_macro_termination_hook): New variable.
4625 (syms_of_macros): Initialize and staticpro it.
4626 (pop_kbd_macro): Run kbd-macro-termination-hook.
4627
4628 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4629
1bfb1345 46302001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4631
4632 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4633 arglist, for documentation's sake.
4634
0dac6924
AI
46352001-01-06 Andrew Innes <andrewi@gnu.org>
4636
4637 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4638 of *.pdb.
4639
8182406a
AI
46402001-01-05 Andrew Innes <andrewi@gnu.org>
4641
4642 * term.c (update_end): Don't check updating_frame; for some reason
4643 this can be 0 sometimes, such as after dismissing a popup menu,
4644 and isn't necessary given the explicit frame argument.
4645
3828218c
GM
46462001-01-05 Gerd Moellmann <gerd@gnu.org>
4647
4648 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4649 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4650
2f5ded21
GM
46512001-01-04 Gerd Moellmann <gerd@gnu.org>
4652
52283633 4653 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4654
4655 * xfns.c (x_create_tip_frame): Preserve the value of
4656 face_change_count around the creation of the tip frame.
52283633 4657
2f5ded21
GM
4658 * xfns.c (last_show_tip_args): New variable.
4659 (compute_tip_xy): New function.
4660 (Fx_show_tip): Reuse an existing tip frame, if possible.
4661 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4662
dfad65fa
DL
46632001-01-04 Dave Love <fx@gnu.org>
4664
64d4ec0f
DL
4665 * editfns.c (Fformat): Doc fix.
4666
dfad65fa
DL
4667 * systime.h (set_file_times): Prototype.
4668
4669 * widget.h (EmacsFrameSetCharSize_): Prototype.
4670
4671 * sysdep.c (random, srandom): Declare explicitly.
4672
4673 * dispextern.h (move_it_vertically_backward): Declare.
4674
85fe3b5e
GM
46752001-01-04 Gerd Moellmann <gerd@gnu.org>
4676
0f2ac578
GM
4677 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4678 like in Fx_create_frame.
4679
482cca61
GM
4680 * xfaces.c (set_font_frame_param): Don't do anything for
4681 non-graphical frames.
4682
85fe3b5e
GM
4683 * window.c (Fdelete_other_windows): Set window's window_end_valid
4684 to nil when changing the window's start. Don't change the
4685 window's start when its top position hasn't changed. If we do,
4686 this will set the window's optional_new_start, which act's like a
4687 force_start during redisplay with C-x 1 M-> under particular
4688 circumstances (see report from Per Starback to emacs-pretest-bug
4689 from 2000-12-13.).
4690
3e99d3b4
GM
46912001-01-03 Gerd Moellmann <gerd@gnu.org>
4692
a77dc1ec
GM
4693 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4694 short cut at the start of the function. Add an assertion.
4695 (reseat_at_next_visible_line_start): Add an assertion.
4696
2f3cad6c
GM
4697 * window.c (Frecenter): When changing the window start, set the
4698 window's window_end_valid to nil.
4699 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4700
4701 * dispextern.h (move_it_past_eol): Add prototype.
4702
4703 * xdisp.c (move_it_past_eol): New function.
4704
3e99d3b4
GM
4705 * window.c (Fwindow_end): Doc fix.
4706
47072001-01-03 Dave Love <fx@gnu.org>
4708
52283633 4709 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4710
bafb434c
GM
47112001-01-03 Gerd Moellmann <gerd@gnu.org>
4712
4713 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4714 the enabled_p flag of the glyph row at window_end_vpos to 0.
4715 (handle_single_display_prop): Fix last change.
4716
5297fb00
RS
47172001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4718
4719 * window.c (Frecenter): Doc fix.
4720
13d6a61c
AI
47212001-01-02 Andrew Innes <andrewi@gnu.org>
4722
4723 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4724
4725 * frame.h (output_method): Add output_w32_console method.
4726 (FRAME_W32_CONSOLE_P): New macro.
4727
4728 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4729 use output_w32_console method.
4730 (Qw32_console): New Lisp_Object.
4731 (Fframep): Return it.
4732 (syms_of_frame): Init it.
52283633 4733 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4734
4735 * xfaces.c (realize_default_face): Set face foreground and
4736 background to unspecified for w32_console frames.
4737 (realize_face): Realize face cache for w32_console frames.
4738 (realize_tty_face): Accept w32_console frames.
4739
52283633 4740 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4741 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4742 necessary, even if running interactively.
4743
4744 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4745 w32_console frames.
4746
52283633
SM
4747 * w32term.c (x_update_begin):
4748 (x_update_end):
4749 (x_clear_frame):
4750 (x_ins_del_lines):
4751 (x_change_line_highlight):
4752 (x_delete_glyphs):
4753 (w32_ring_bell):
4754 (x_update_begin):
4755 (x_update_end):
4756 (w32_reassert_line_highlight):
4757 (w32_frame_rehighlight):
13d6a61c
AI
4758 (w32_frame_raise_lower): Do nothing if not w32 frame.
4759
4760 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4761
4762 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4763 system doesn't tell us directly.
4764 (Fx_display_visual_class): Implement properly.
4765
d6bb0c0d
GM
47662001-01-02 Gerd Moellmann <gerd@gnu.org>
4767
4768 * window.c (Frecenter): Handle centering in graphical frames
4769 specially. Centering on the basis of line counts doesn't work
4770 reliably with variable-height lines.
52283633 4771
315f5865
EZ
47722001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4773
4774 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4775 and al[].
4776
52283633 4777 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4778 (update_compositions): Remove unused variable `hook'.
4779
4780 * intervals.c (get_local_map): Remove unused variable `tem'.
4781
4782 * doprnt.c (doprnt1): Remove unused variable `size'.
4783
4784 * fns.c (Flength): Remove unused variable `tail'.
4785 (Fdelete): Remove unused variable `size'.
4786
4787 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4788 and `gcpro2'.
4789
52283633 4790 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4791
4792 * data.c (find_symbol_value): Remove extra 3rd argument in the
4793 call to swap_in_symval_forwarding.
4794
52283633 4795 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4796
4797 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4798 (trivial_regexp_p): Remove unused variable `c'.
4799 (boyer_moore): Remove unused variable `k'.
4800
4801 * indent.c (current_column): Remove unused variable `stopchar'.
4802 (Fcompute_motion): Remove unused variable `contin'.
4803
4804 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4805
4806 * dired.c (directory_files_internal): Fix a typo in a comment.
4807 Remove an unused variable `handler'.
52283633 4808 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4809 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4810 on BSD4_2.
4811
52283633 4812 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4813
4814 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4815 and `buf'.
4816 (Fmarker_insertion_type): Remove unused variable `buf'.
4817
4818 * insdel.c (make_gap): Remove unused variable `result'.
4819
52283633 4820 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4821 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4822 (menu_bar_items): Remove unused function-scope variable `tem'.
4823
4824 * fontset.c (fontset_ref): Remove unused variable `i'.
4825 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4826 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4827 (make_fontset_for_ascii_face): Remove unused variable `name'.
4828 (fs_load_font): Remove unused variable `font_idx'.
52283633 4829 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4830 (list_fontsets): Remove unused variable `tail'.
4831 (Fnew_fontset): Remove unused variables `family' and `registry'.
4832 (accumulate_font_info): Remove unused variable `tmp'.
4833 (Ffontset_font): Remove unused variable `id'.
4834 (syms_of_fontset): Remove unused variable `i'.
4835
4836 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4837 to x_term_init.
4838 (lookup_image): Remove unused variable `file'.
4839 (xbm_load): Remove unused variables `bitmap_data', `height', and
4840 `width'. Remove function-local variable `i', leave the
4841 block-local one.
4842 (gif_load): Remove unused variable `inc'.
4843
52283633 4844 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4845 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4846 leave only the one in the inner block.
4847
4848 * xfaces.c (face_fontset, realize_default_face): Remove unused
4849 variable `fontset'.
4850 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4851
4852 * term.c (encode_terminal_code): Remove unused variable `c'.
4853
4854 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4855 char *' instead of `char *'.
4856
4857 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4858 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4859 (Fchar_category_set): Remove unused variables `val', `charset',
4860 `c1' and `c2'.
4861
52283633
SM
4862 * coding.c (detect_coding_iso2022, setup_coding_system):
4863 Remove unused variable `i'.
315f5865
EZ
4864 (detect_coding_mask): Remove unused variable `idx'.
4865 (detect_coding): Remove unused variable `i'.
4866 (ccl_coding_driver): Remove unused variable `result'.
4867 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4868 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4869 (encode_coding_string): Remove unused variables `gcpro1' and
4870 `saved_coding_symbol'.
4871 (Ffind_coding_systems_region_internal): Remove function-local
4872 variable args[], leave only the block-local one.
4873 (code_convert_region1): Remove unused variable `len'.
4874
4875 * charset.c (char_printable_p): Remove unused variable `chars'.
4876 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4877 (str_to_multibyte): Remove unused variable `c'.
4878
4879 * window.c (size_window): Remove block-local variable `min_size'.
4880
4881 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4882 `header_line_height'.
4883 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4884 enum display_element_type.
4885
1a8a9daf
GM
48862001-01-02 Gerd Moellmann <gerd@gnu.org>
4887
6dde6abc 4888 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4889 statements that call X. Save away the error message in a local copy.
4890
1883b2c6
GM
4891 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4892 the start.
4893
a13be207
GM
4894 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4895 in or at the start of invisible text.
4896
1a8a9daf
GM
4897 * dispnew.c (update_window): Don't check_current_matrix_flags.
4898
3608c0f9
JR
48992001-01-01 Jason Rumney <jasonr@gnu.org>
4900
4901 * w32fns.c (x_figure_window_size): Do not allow new_height and
4902 new_width of frame to override specified values.
4903
abb1acc4
KH
49042000-12-30 Kenichi Handa <handa@etl.go.jp>
4905
52283633 4906 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4907
762a68ec
GM
49082000-12-29 Gerd Moellmann <gerd@gnu.org>
4909
52283633 4910 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4911 (update_window) [GLYPH_DEBUG]: Call it.
4912 (scrolling_window): Prevent including current rows which are below
4913 what's displayed in the window.
4914
4915 * xdisp.c (try_window_reusing_current_matrix)
4916 <new start <= old start>: Disable rows in the current matrix
4917 which are below the window after scrolling.
52283633 4918
762a68ec
GM
4919 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4920 is zero. It's not worth the complexity.
4921 (invisible_text_between_p): Put in #if 0 because unused.
4922
2d5912c1
GM
49232000-12-28 Gerd Moellmann <gerd@gnu.org>
4924
46f6a258
GM
4925 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4926 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4927
89f93679
GM
4928 * keyboard.c (echo_char): If C is an integer, always call
4929 push_key_description. Former code could signal an invalid
4930 character error.
4931
4932 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4933 If set, print multibyte text.
4934 (Fsingle_key_description): Call push_key_description with
4935 FORCE_MULTIBYTE set.
4936 (describe_buffer_bindings): Likewise.
4937
4938 * lisp.h (push_key_description): Add prototype.
4939
c06017fb
GM
4940 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4941 around the call to redisplay_internal.
4942
f1d2ce7f
GM
4943 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4944
2d5912c1
GM
4945 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4946
9371f831
KH
49472000-12-28 Kenichi Handa <handa@etl.go.jp>
4948
4949 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4950 (ccl_driver): New local variable `extra_bytes'.
4951
4952 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4953
52283633
SM
4954 * coding.c (setup_coding_system):
4955 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4956 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4957
0c80628a
KH
49582000-12-28 Kenichi Handa <handa@etl.go.jp>
4959
4960 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4961 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4962 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4963 (decode_composition_emacs_mule): New function.
4964 (decode_coding_emacs_mule): Decode composition sequence by calling
4965 decode_composition_emacs_mule.
4966 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4967 (encode_coding_emacs_mule): Changed from macro to function.
4968 If a text contains compositions, encode them correctly.
0c80628a
KH
4969 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4970 that decoding and encoding are required.
4971
3e32cc27
GM
49722000-12-27 Gerd Moellmann <gerd@gnu.org>
4973
5e25feee
GM
4974 * xfaces.c (PT_PER_INCH): New macro.
4975 (xlfd_point_size): Compute real point size from font's pixel size.
4976 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4977 instead of 72.
4978
892d8fcd
GM
4979 * .gdbinit: Comment out the line pointing to the Lesstif source
4980 directory.
4981
12c8b416
GM
4982 * window.c (Frecenter): Use displayed_window_lines instead
4983 of window_internal_height.
4984
6061fbf0
GM
4985 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4986 instead of x-toolkit-scroll-bars-p.
4987 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4988
4989 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4990 instead of x-toolkit-scroll-bars-p.
4991 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4992
3e32cc27
GM
4993 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4994 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4995 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4996 New variables.
4997 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4998 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4999 (build_frame_matrix_from_leaf_window): Remove unused code.
5000 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5001 redisplay history.
5002 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5003 (update_window) [GLYPH_DEBUG]: Likewise.
5004 (syms_of_display): Defsubr dump-redisplay-history.
5005
31798cfe
GM
50062000-12-23 Gerd Moellmann <gerd@gnu.org>
5007
f717c2ba
GM
5008 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5009 the end of the prompt. Set echo_after_prompt to the offset
5010 of echoptr in echobuf.
5011
aeb2b8fc
GM
5012 * xdisp.c (init_from_display_pos): Pop until the iterator's
5013 stack is empty; there may be frames for stretch or images
5014 on the stack.
5015
31798cfe
GM
5016 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5017 (save_or_restore_current_matrix): New function for the same
5018 purpose, but more efficient.
5019 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5020
f8156156
EZ
50212000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5022
5023 * xdisp.c (syms_of_xdisp): Fix last change.
5024
bdd6d4e8
GM
50252000-12-23 Gerd Moellmann <gerd@gnu.org>
5026
5027 * xdisp.c (syms_of_xdisp): Doc fix.
5028
5029 * xdisp.c (redisplay_window): Remove label restore_buffers;
5030 use finish_scroll_bars instead to make sure that scroll bars
5031 are redeemed. If we don't do this, flickering can result from
5032 scroll bars being destroyed and recreated.
5033
9436cdf9
JR
50342000-12-22 Jason Rumney <jasonr@gnu.org>
5035
5036 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5037 in the wrong colors when the foreground is not black.
5038 (expose_window): Don't redraw the window that's currently being
5039 updated.
5040
951f9df5
GM
50412000-12-22 Gerd Moellmann <gerd@gnu.org>
5042
856ff7a7
GM
5043 * window.c (size_window): When setting the window's too_small_ok
5044 flag, compare old size with minimum size depending on WIDTH_P,
5045 don't compare with window_min_width.
52283633 5046
951f9df5
GM
5047 * window.c (delete_window): Simplify somewhat.
5048 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5049 freeing window matrices. The flag windows_or_buffers_changed is
5050 set, so the next redisplay will consider all windows; this should
5051 suffice.
5052
886bc933
KH
50532000-12-22 Kenichi Handa <handa@etl.go.jp>
5054
5055 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5056
5057 * ccl.h (struct ccl_program): New member cr_consumed.
5058
5059 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5060 (CCL_READ_CHAR): Handle EOL conversion here.
5061 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5062
177f4e88
GM
50632000-12-21 Gerd Moellmann <gerd@gnu.org>
5064
52283633 5065 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5066
5067 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5068 otherwise tabs of different size compare equal.
5069
5070 * callint.c (Fcall_interactively): Prevent a compiler warning.
5071
5072 * print.c (print_unwind): Return nil.
5073 (PRINTDECLARE): Initialize all local variables.
5074 (print_preprocess): Add a default case.
5075
8e15274f
GM
5076 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5077
5078 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5079
52283633 5080 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5081 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5082
5083 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5084
5085 * dispnew.c (ensure_frame_matrix): Removed.
5086 (save_frame_matrix, restore_frame_matrix): New functions.
5087 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5088
5089 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5090 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5091
99012074
AI
50922000-12-21 Andrew Innes <andrewi@gnu.org>
5093
5094 * w32term.c (x_update_begin): Regenerate the palette here, rather
5095 than for each window.
5096
5097 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5098 palette is NULL, since this corrupts memory! Also get
5099 display_info reference from frame.
5100
29ef7d2d
JR
51012000-12-21 Jason Rumney <jasonr@gnu.org>
5102
5103 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5104
5105 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5106 to avoid returning without releasing it.
3e27fa1f 5107
3f9d67a6
KH
51082000-12-21 Kenichi Handa <handa@etl.go.jp>
5109
587fc3f9
KH
5110 * keymap.c (push_key_description): Don't convert eight-bit-control
5111 and eight-bit-graphic to multibyte character.
5112
3f9d67a6
KH
5113 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5114 generic character and CODE1 is nil, return the smallest character
5115 in CHARSET.
5116
774ba8c9
DL
51172000-12-20 Dave Love <fx@gnu.org>
5118
5119 * s/osf5-0.h (NSIG): Don't redefine.
5120
88416888
SM
51212000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5122
5123 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5124 excluding menu-bar and tool-bar.
5125 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5126 (menu_item_p): Remove.
5127 (where_is_internal_1): Don't ignore menu-items.
5128
a6426c6f
GM
51292000-12-20 Gerd Moellmann <gerd@gnu.org>
5130
03ff8aab
GM
5131 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5132 into account.
5133
5134 * window.c (make_window): Initialize window's min_hscroll.
5135 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5136 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5137 to zero.
5138 (struct saved_window): New member min_hscroll.
5139 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5140 (Fset_window_configuration): Set window's min_hscroll.
5141 (save_window_save): Save window's min_hscroll.
5142 (compare_window_configurations): Compare min_hscroll values.
5143
5144 * window.h (struct window): New member min_hscroll.
5145
5146 * keyboard.c (echo_prompt): Prevent a compiler warning.
5147
8de4aaf8
GM
5148 * xdisp.c (try_cursor_movement): Fix last change. The real
5149 condition is that PT is at the end of the row, and should
5150 be displayed at the start of the next row.
52283633 5151
3f7e3031
GM
5152 * xdisp.c (try_cursor_movement): If we end on a partially
5153 visible line, end we already decided to scroll, return -1.
5154
a6426c6f
GM
5155 * dispextern.h (ensure_frame_matrix): Add prototype.
5156
5157 * window.c (delete_window, Fsplit_window)
5158 (Fset_window_configuration): Call ensure_frame_matrix.
5159
52283633
SM
5160 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5161 New functions.
a6426c6f
GM
5162 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5163 completed, call fake_current_matrices instead of marking frame
5164 garbaged.
5165
57fa2774
JR
51662000-12-20 Jason Rumney <jasonr@gnu.org>
5167
5168 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5169
d925df90
EZ
51702000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5171
5172 * fns.c (Frequire): Doc fix.
5173
7b93a85b
GM
51742000-12-19 Gerd Moellmann <gerd@gnu.org>
5175
52283633 5176 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5177
c74e645b
GM
5178 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5179 currently displaying a message.
5180
7b93a85b
GM
5181 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5182 xterm.h.
5183 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5184
90d97e64
AI
51852000-12-18 Andrew Innes <andrewi@gnu.org>
5186
5187 * w32.c (w32_strerror): New function.
5188
5189 * w32.h (w32_strerror): New extern.
5190
5191 * w32fns.c (Fw32_shell_execute): Use it.
5192
91c9e6ce
GM
51932000-12-18 Gerd Moellmann <gerd@gnu.org>
5194
5195 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5196
6f4745e2
EZ
51972000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5198
5199 * msdos.c (IT_set_face): Obey inverse_video.
5200
c9e088ce
KH
52012000-12-18 Kenichi Handa <handa@etl.go.jp>
5202
5203 * dired.c (directory_files_internal): Always return decoded filenames.
5204
c3695f5f
GM
52052000-12-18 Gerd Moellmann <gerd@gnu.org>
5206
52d8e4ff
GM
5207 * xterm.c (x_connection_closed): Prevent being called recursively
5208 because of an error condition in XtCloseDisplay.
52283633 5209
62be9979
GM
5210 * xdisp.c (init_iterator): If noninteractive, and the frame's
5211 face cache is null, make one.
5212
52283633 5213 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5214
c3695f5f
GM
5215 * process.c (wait_reading_process_input): Check for pending
5216 input when running timers.
5217
78555fbe
EZ
52182000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5219
52283633 5220 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5221
b2b36264
KH
52222000-12-18 Kenichi Handa <handa@etl.go.jp>
5223
5224 * process.c (read_process_output): Don't run a filter if the code
5225 decoder produces nothing but carryover.
5226
9c543fbf
AI
52272000-12-17 Andrew Innes <andrewi@gnu.org>
5228
5229 * w32.c (sys_rename): Only check errno against EEXIST, and not
5230 EACCES, when determining whether rename failed because the target
5231 exists. This was resulting in indefinite looping on Windows 9x if
5232 the source file was locked by another process.
5233
5234 * w32fns.c (Ffile_system_info): New function.
5235 (syms_of_w32fns): Defsubr it.
5236
10c2b5a8
GM
52372000-12-17 Gerd Moellmann <gerd@gnu.org>
5238
b0228ace
GM
5239 * window.c (coordinates_in_window): Fix computation for
5240 position on vertical line between mode lines.
5241
10c2b5a8
GM
5242 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5243 Don't alter tip_frame or tip_window.
5244 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5245 was deleted.
5246
c844a81a
GM
5247 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5248 Don't alter tip_frame or tip_window.
5249 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5250 was deleted.
5251
6c825f8e
EZ
52522000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5253
5254 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5255 be consistent with the doc string. Reported by NAKAJIMA Mikio
5256 <minakaji@osaka.email.ne.jp>.
5257
af4bb4c8
KH
52582000-12-16 Kenichi Handa <handa@etl.go.jp>
5259
5260 * xfaces.c (Vface_ignored_fonts): New variable.
5261 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5262 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5263
8062e53a
GM
52642000-12-15 Gerd Moellmann <gerd@gnu.org>
5265
e87b8809
GM
5266 * dispnew.c (update_window): Detect pending input every nth line
5267 updated, i.e. do it depending on real work done, and not on the
5268 vpos of the line.
5269
5270 * xterm.c (expose_window): Don't redraw the window that's
5271 currently being updated.
5272
a6768cc5
GM
5273 * window.c (Fset_window_point): Remove test for
5274 cursor_in_non_selected_windows.
5275
4ea7fdca
GM
5276 * lread.c (read1): Recognize end of file after `\\'.
5277
8062e53a
GM
5278 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5279 not unwind_create_frame.
5280
bb7959c1
GM
52812000-12-15 Dave Love <fx@gnu.org>
5282
5283 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5284 bcopy & al.
5285
5286 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5287
ced04c42
KH
52882000-12-15 Kenichi Handa <handa@etl.go.jp>
5289
c5443913
KH
5290 * coding.c (setup_coding_system): Clear all members of the struct
5291 coding_system at first.
bc137305
KH
5292 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5293 argument.
5294 (code_convert_region): Don't override coding->src_multibyte and
5295 coding->dst_multibyte.
c5443913 5296
ced04c42
KH
5297 * fns.c (Fmd5): Docstring improved.
5298
c2d7f289
MB
52992000-12-15 Miles Bader <miles@gnu.org>
5300
5301 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5302 are actually marked as mode-lines; otherwise use
5303 estimate_mode_line_height.
5304
9d7d9263
GM
53052000-12-14 Gerd Moellmann <gerd@gnu.org>
5306
5307 * editfns.c (Fformat): Prevent a buffer overrun when the format
5308 specifies a precision.
5309
7cf0153a
EZ
53102000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5311
5312 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5313 argument is outside the range [2..3].
5314
1de0f662
AI
53152000-12-14 Andrew Innes <andrewi@gnu.org>
5316
5317 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5318 nothing to do. Bind inhibit-quit.
5319 (tip_frame): Make it a Lisp_Object.
5320 (x_create_tip_frame): Set tip_frame after it has been added to
5321 Vframe_list.
5322 (Fx_show_tip): Don't set tip_frame here.
52283633 5323 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5324 (unwind_create_frame, unwind_create_tip_frame): New functions.
5325 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5326 while a frame is only partially constructed.
5327
5328 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5329 (x_free_frame_resources): New function.
5330 (x_destroy_window): Use it.
5331
02387dcc
GM
53322000-12-14 Gerd Moellmann <gerd@gnu.org>
5333
5334 * xfns.c (Fx_backspace_delete_keys_p): New function.
5335 (syms_of_xfns): Defsubr it.
5336
5337 * config.in (HAVE_XKBGETKEYBOARD): Add.
5338
0544ef49
KH
53392000-12-14 Kenichi Handa <handa@etl.go.jp>
5340
98d62747
KH
5341 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5342 Always store string in multibyte representation in echobuf.
5343 (echo_char): Always store string in multibyte representation in
5344 echobuf.
5345 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5346 (read_key_sequence): Adjusted for the change of echo_prompt.
5347
a20193cd
KH
5348 * fns.c (Fmd5): Docstring improved.
5349
191b83b6
KH
5350 * lisp.h (detect_coding_system): Prototype adjusted.
5351
0544ef49
KH
5352 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5353 (detect_coding_emacs_mule, detect_coding_iso2022,)
5354 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5355 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5356 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5357 (detect_coding_mask, detect_coding_system): New argument
5358 MULTIBYTEP. Callers changed.
1da1bb05
KH
5359 (decode_coding_string): Set coding->src_multibyte and
5360 coding->dst_multibyte before calling detect_coding and detect_eol.
5361 Update them after some coding system is detected.
52283633 5362
d5b3eb1b
SM
53632000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5364
5365 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5366
5367 * keyboard.c (menu_bar_items, tool_bar_items):
5368 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5369
f7f8bb69
GM
53702000-12-13 Gerd Moellmann <gerd@gnu.org>
5371
52283633 5372 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5373 New variables.
5374 (unwind_create_frame, unwind_create_tip_frame): New functions.
5375 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5376 while a frame is only partially constructed.
5377
5378 * xterm.h (x_free_frame_resources): Declare.
5379
5380 * xterm.c (x_free_frame_resources): New function.
5381 (x_destroy_window): Use it.
5382
e10da507
GM
5383 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5384 don't interrupt the update for pending input initially, i.e.
5385 update at least some lines.
5386
5387 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5388
d5b3eb1b 5389 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5390
5391 * xfns.c (gray_bitmap_bits): Declare `char *'.
5392
90aa2856
GM
53932000-12-12 Gerd Moellmann <gerd@gnu.org>
5394
5395 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5396 lines start with a relief line.
5397
a308c9cd
DL
53982000-12-12 Dave Love <fx@gnu.org>
5399
5400 * window.c (Fdisplay_buffer): Doc fix.
5401 (Fwindow_list): Remove unused var.
5402
5403 * buffer.h (mmap_set_vars): Declare.
5404
5405 * window.h (Fset_window_point): Declare.
5406
d575011f
EZ
54072000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5408
bf6282d2 5409 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5410 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5411 variable `area'. When looking for a row under (X,Y), give up if some
5412 of the previous rows is not enabled.
d575011f 5413
ecf4d726
GM
54142000-12-12 Gerd Moellmann <gerd@gnu.org>
5415
2ebf6139
GM
5416 * window.c (Fset_window_point): If displaying cursors in windows
5417 other than the selected window, make sure redisplay updates
5418 other windows to show the new value of point in the window.
5419
5420 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5421
bfdb75ee
GM
5422 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5423 the buffer is the sole visible buffer when in the mini-buffer.
5424
52283633 5425 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5426 Bind `inhibit-read-only' to t.
5427 (unwind_with_echo_area_buffer): Use AREF.
5428
c0006262
GM
5429 * xfns.c (Fx_hide_tip): Simplified.
5430
52283633
SM
5431 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5432 instead of `1'.
e9a59cad 5433
ecf4d726
GM
5434 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5435
e5959a9a
GM
54362000-12-11 Gerd Moellmann <gerd@gnu.org>
5437
a3642e49 5438 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5439
44b5a125
GM
5440 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5441 nothing to do. Bind inhibit-quit.
5442 (tip_frame): Make it a Lisp_Object.
5443 (x_create_tip_frame): Set tip_frame after it has been added to
5444 Vframe_list.
5445 (Fx_show_tip): Don't set tip_frame here.
5446
5447 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5448
5449 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5450 Lisp_Object.
5451
5452 * dispextern.h: Change external declaration of tip_frame.
5453
d990421f
GM
5454 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5455 return an empty string.
5456
4db87380
GM
5457 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5458 of the window's update_mode_line flag, since the former is set by
5459 force-mode-line-update, not the latter. This makes
5460 column-number-mode slightly faster.
52283633 5461
e5959a9a
GM
5462 * xdisp.c (try_window_id) <all changes above window start>:
5463 Set the cursor.
5464
169fe44e
GM
54652000-12-11 Paul Eggert <eggert@twinsun.com>
5466
5467 * config.in (HAVE_FTELLO): Remove.
5468 (HAVE_FSEEKO): Add.
5469 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5470 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5471 HAVE_FTELLO.
5472 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5473 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5474
59ec59ae
MB
54752000-12-11 Miles Bader <miles@gnu.org>
5476
5477 * window.c (displayed_window_lines): Don't round up when
5478 converting empty space at bottom to lines.
ff904dd6
MB
5479 Handle non-newline-terminated final lines properly.
5480 (Fwindow_text_height): New function (used to be in lisp).
5481 (syms_of_window): Initialize it.
59ec59ae 5482
42ebfa31
SM
54832000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5484
5485 * syntax.c (scan_lists): Check that the right quote char has the
5486 right Sstring syntax when jumping over strings.
5487 (init_syntax_once): Use Smax rather than 13.
5488
5cdb3cf3
MB
54892000-12-09 Miles Bader <miles@gnu.org>
5490
5491 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5492 with PARTIALLY, inverting the sense.
5493 (window_scroll_pixel_based): Scroll partially visible lines into
5494 place if we hit the beginning or end of the buffer.
a12167c5
MB
5495 (displayed_window_lines): Don't include partially visible lines.
5496 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5497
842b2a94
GM
54982000-12-08 Gerd Moellmann <gerd@gnu.org>
5499
5500 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5501
5502 * tparam.c (tparam1): Change the way buffers are reallocated to be
5503 portable and less obfuscated.
5504
5505 * termcap.c (tgetent): Change the way buffers are reallocated to
5506 be portable and less obfuscated.
5507
5508 * macros.c (store_kbd_macro_char): Change the way buffers are
5509 reallocated to be portable and less obfuscated.
5510
5511 * lread.c (read1): Change the way buffers are reallocated to be
5512 portable and less obfuscated.
5513
5514 * doc.c (Fsubstitute_command_keys): Change the way buffers
5515 are reallocated so that it is portable.
5516
137cad7c
EZ
55172000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5518
5519 * dosfns.c (Ffile_system_info): New function.
5520 (syms_of_dosfns): Defsubr it.
5521
5c7f629c
SM
55222000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5523
5524 * alloc.c (gc_sweep): Add comment.
5525
959e647d
GM
55262000-12-07 Gerd Moellmann <gerd@gnu.org>
5527
52283633
SM
5528 * sound.c (vox_configure): Change order of ioctls.
5529 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5530 Ignore errors when changing volume.
5531 (vox_close): Don't reset the device.
5532
926b7e5e
GM
5533 * process.c (read_process_output): Make sure the process marker's
5534 position is valid when the process buffer is changed in
5535 after-change functions. W3 does that.
52283633 5536
959e647d
GM
5537 * xfns.c (x_free_gcs): New function.
5538
5539 * xterm.h (x_free_gcs): Add prototype.
5540
5541 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5542 freeing GCs here.
5543
5544 * xterm.c (x_destroy_window): Call x_free_gcs so that
5545 resources of non-toolkit X windows will be freed.
5546
478ea067
AI
55472000-12-07 Andrew Innes <andrewi@gnu.org>
5548
5549 * w32fns.c (xlfd_charset_of_font): Fix last change.
5550
fbee3231
DL
55512000-12-06 Dave Love <fx@gnu.org>
5552
67292061
DL
5553 * md5.h (__P): Don't define -- it comes from config.h.
5554
fbee3231
DL
5555 * strftime.c: Change some #if foo to #ifdef foo.
5556
4ee87dbb
AI
55572000-12-06 Andrew Innes <andrewi@gnu.org>
5558
5559 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5560
52283633 5561 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5562 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5563 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5564
9765b4a4
GM
55652000-12-06 Gerd Moellmann <gerd@gnu.org>
5566
d285b373
GM
5567 * alloc.c (gc_sweep): Prevent symbols read during loadup
5568 from being freed.
5569
384333ee
GM
5570 * xdisp.c (underlying_face_id): New function.
5571 (handle_face_prop, face_before_or_after_it_pos): Use it
5572 to determine the face ``under'' a string. Let strings inherit
5573 the face of the buffer under them.
5574
5575 * xfaces.c (face_at_string_position): Update function comment.
52283633 5576
d4b72d58
GM
5577 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5578 matrix if the window's left position has changed; we need to
5579 redraw it in this case.
5580
5581 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5582
e1d05387
GM
5583 * window.c (coordinates_in_window): Check mouse on mode-line or
5584 header-line first.
5585
eb1b0c74
GM
5586 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5587 advertized by the function documentation.
5588
d94d636f
GM
5589 * window.c (syms_of_window): Doc fix.
5590
3887b449
GM
5591 * sound.c (vox_configure): Set volume for left and right channel.
5592 (sound_cleanup): Return nil.
5593
efc8f57a
GM
5594 * xdisp.c (move_it_by_lines): Fix paren typo.
5595
9765b4a4
GM
5596 * xterm.c (x_load_font): Don't use the font's max_bounds for
5597 computing the height of the font. If max_bounds' ascent or
5598 descent are greater than the font's ascent or descent, this means
5599 glyphs overlap, which should be handled now by redisplay.
5600
6529ed87
GM
5601 * window.c (Veven_window_heights): New variable.
5602 (syms_of_window): DEFVAR_LISP it.
5603 (Fdisplay_buffer): Check Veven_window_heights before evening the
5604 window heights.
52283633 5605
0eb2ecde
MB
56062000-12-06 Miles Bader <miles@gnu.org>
5607
5608 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5609 update `default-frame-alist' instead of setting no frame parameters.
5610
03d7a167
KH
56112000-12-06 Kenichi Handa <handa@etl.go.jp>
5612
5613 * composite.c (update_compositions): Fix typo (use the correct
5614 variable).
5615
5f8803c2
JR
56162000-12-05 Jason Rumney <jasonr@gnu.org>
5617
5618 * md5.h: Remove underscores from function declarations.
5619 (__attribute__, __alignof__) [!__GNUC__]: Define.
5620
5621 * md5.c: Delay include of md5.h until after namespace cleaning.
5622
c28a075b
JR
5623 * makefile.w32-in (fns.o): Depend on md5.h
5624 (md5.o): New target.
5625 (sunfns.o): Remove.
5626
5627 * makefile.nt: Likewise.
5628
ff3c7056
JR
56292000-12-05 Jason Rumney <jasonr@altavista.net>
5630
5631 * w32term.c (expose_area): Complete last change.
5632
0c21eeeb
KR
56332000-12-05 Ken Raeburn <raeburn@gnu.org>
5634
5635 * minibuf.c: Include intervals.h.
5636
f201d732
JR
56372000-12-05 Jason Rumney <jasonr@gnu.org>
5638
5639 * w32term.c (x_produce_glyphs): If a font for a component of
5640 a composition is not found, use 1 pixel dot ascent and 0 dot
5641 descent value to avoid displaying terribly tall empty boxes.
5642 (expose_area): Pass x-coordinate relative to the exposed
5643 area to x_draw_glyphs instead of a window-relative coordinate.
5644
21999ab9
GM
56452000-12-05 Gerd Moellmann <gerd@gnu.org>
5646
4d2036e4
GM
5647 * xdisp.c (next_element_from_ellipsis): Save face before selective
5648 display in saved_face_id, and set face_before_selective_p.
5649 (reseat_1): Reset face_before_selective_p.
5650 (append_space, extend_face_to_end_of_line): If iterator's
5651 face_before_selective_p is set, use the face from saved_face_id.
5652 (extend_face_to_end_of_line): For tty frames, make sure to
5653 use the right face id when producing spaces at the end of
5654 the line.
5655
5656 * dispextern.h (struct it): Add face_before_selective_p.
5657
52be17cc
GM
5658 * keyboard.c (record_char): Don't record identical help-echo
5659 events in recent_keys.
5660
8a4f36cc
GM
5661 * xterm.c [USE_X_TOOLKIT]: Close the display.
5662 (xim_close_dpy): Handle case that the display has been closed.
5663
57d6e381
GM
5664 * xterm.c (x_destroy_window): Reset the frame's X window after
5665 destroying it.
5666
21999ab9
GM
5667 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5668 variable window_width.
5669 (line_draw_cost): Fix code skipping over spaces at the end of the
5670 line when must_write_spaces is not set.
5671 (scrolling_window): Fix code inserting runs in list of all runs.
5672
91372bb7
KH
56732000-12-05 Kenichi Handa <handa@etl.go.jp>
5674
5675 * coding.c (setup_coding_system): Be sure to initialize
5676 coding->category_idx.
5677
6c083b4c
GM
56782000-12-04 Gerd Moellmann <gerd@gnu.org>
5679
0c68ce6f 5680 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5681
6452929e
GM
5682 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5683 area to x_draw_glyphs instead of a window-relative coordinate.
5684
d7f31e22
GM
5685 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5686 error in the message.
5687
ae18aa3b
GM
5688 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5689 timer after having read a key. It's not good for code reading
5690 several keys in a loop, like an input method.
5691
caa15ef7
GM
5692 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5693 record undo information for format-decode.
5694
5695 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5696 current buffer is read-only, not if it isn't.
5697
6c083b4c
GM
5698 * keyboard.c (record_char): Record `help-echo' input events
5699 in recent_keys only if they display some help. Don't record
5700 `help-echo' events as macro char.
5701
caa15ef7
GM
57022000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5703
5704 * editfns.c (save_excursion_restore): Don't move point
5705 in another window if it is showing the wrong buffer.
5706 Avoid the call to Fwindow_live_p, for speed.
5707
5a13529b
KH
57082000-12-04 Kenichi Handa <handa@etl.go.jp>
5709
e225faa7
KH
5710 * xfaces.c (struct font_name): New member registry_priority.
5711 (split_font_name): Initialize the above member to zero.
5712 (concat_font_list): New function.
5713 (font_list): Include fonts of all alternative registries.
5714 (FONT_POINT_SIZE_QUANTUM): New macro.
5715 (better_font_p): Ignore point size difference less than
5716 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5717
e89648b4
KH
5718 * xterm.c (x_produce_glyphs): If a font for a component of
5719 a composition is not found, use 1 pixel dot ascent and 0 dot
5720 descent value to avoid displaying terribly tall empty boxes.
5721
5a13529b
KH
5722 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5723
d7935eb6
KR
57242000-12-03 Ken Raeburn <raeburn@gnu.org>
5725
5726 * coding.h (code_convert_string1): Declare.
5727
5728 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5729
52283633 5730 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5731
0dd5e255
JR
57322000-12-02 Jason Rumney <jasonr@gnu.org>
5733
5734 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5735 correctly for single byte character case.
5736 (w32_per_char_metric): Do not try to make any assumptions about
5737 the metrics of BDF fonts.
250cfece 5738 (x_estimate_mode_line_height): If `mode-line' face
52283633 5739 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5740 (note_mouse_highlight): Change the cursor shape on the vertical
5741 border between windows [not enabled].
5742
5743 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5744
5745 * w32fns.c (Fx_create_frame): Reintroduce the call to
5746 face-set-after-frame-defaults.
5747 (Vx_window_horizontal_drag_shape): New variable.
5748 (syms_of_xfns): DEFVAR_LISP it.
5749 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5750 enabled].
0dd5e255 5751
b5d8d2ca
GM
57522000-12-02 Simon Josefsson <simon@josefsson.org>
5753
5754 * fns.c (Fmd5): Use a different logic to decide the coding system
5755 to use.
5756
5757 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5758
fbb87147
EZ
57592000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5760
52283633 5761 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5762
447e9da0
GM
57632000-12-01 Gerd Moellmann <gerd@gnu.org>
5764
7708ced0
GM
5765 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5766 height for YNegative.
5767 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5768 height; also see comment there.
5769
447e9da0
GM
5770 * window.c (coordinates_in_window): Handle computations for
5771 positions on the vertical bar and fringes differently for
5772 window-system frames. Consider some pixels near the vertical bar
5773 as on the bar if the frame doesn't have vertical scroll bars.
5774 Associate positions between mode or header lines with the
5775 right window, the left one.
5776
86d1db20
JR
57772000-12-01 Jason Rumney <jasonr@gnu.org>
5778
5779 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5780
5781 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5782 invalid frame.
5783
a1d58e5b
GM
57842000-12-01 Gerd Moellmann <gerd@gnu.org>
5785
52283633 5786 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5787 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5788 (save_window_save, Fset_window_configuration): Save/restore
5789 window's orig_top and orig_height.
5790
89c609af
JR
57912000-12-01 Jason Rumney <jasonr@gnu.org>
5792
4d177746 5793 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5794
89c609af
JR
5795 * w32fns.c (x_set_cursor_color): Fix last change.
5796
eccc05db
GM
57972000-11-30 Gerd Moellmann <gerd@gnu.org>
5798
31b6671b
GM
5799 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5800 sure that the next redisplay displays the minibuffer, so that
5801 the cursor will be replaced with what the minibuffer wants.
5802
eccc05db
GM
5803 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5804 #ifndef instead of using #if.
5805 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5806 USE_TOOLKIT_SCROLL_BARS is defined.
5807
162de750
JR
58082000-11-30 Jason Rumney <jasonr@gnu.org>
5809
5810 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5811 x_display_cursor.
5812
693c4692
GM
58132000-11-30 Gerd Moellmann <gerd@gnu.org>
5814
5815 * fns.c (Fmd5): Doc fix.
5816
b5d8d2ca 58172000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5818
5819 * fns.c (Fmd5): New function.
5820 (syms_of_fns): Defsubr md5.
5821
5822 * Makefile.in (obj): Add md5.o
5823
b02cd40b
GM
58242000-11-30 Gerd Moellmann <gerd@gnu.org>
5825
edfb795e
GM
5826 * md5.h, md5.c: New files, taken from glibc.
5827
df3aedcf
GM
5828 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5829
b02cd40b 5830 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5831 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5832
8b5176cd
SM
58332000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5834
5835 * eval.c (Frun_hooks): Allow 0 arguments.
5836
346598f1
GM
58372000-11-29 Gerd Moellmann <gerd@gnu.org>
5838
f9396e03
GM
5839 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5840 is over the menu bar widget, say it's not on the frame.
5841
4a967a9b
GM
5842 * xfns.c (Fx_create_frame): Reintroduce the call to
5843 face-set-after-frame-defaults.
5844
346598f1
GM
5845 * eval.c (Fsignal): Reset handling_signal.
5846
222456a1
JR
58472000-11-28 Jason Rumney <jasonr@gnu.org>
5848
5849 * w32menu.c (add_menu_item): Reset menu item text when changing
5850 type to radio button.
5851
8049ddc0
GM
58522000-11-28 Gerd Moellmann <gerd@gnu.org>
5853
346598f1 5854 * xselect.c: Update copyright.
f4f4ee4d 5855
bebe4a2c
GM
5856 * window.c (coordinates_in_window): If on a mode or header line,
5857 but sufficiently close to its start, return ``on vertical
5858 border''. This gives us a way to drag windows horizontally when
5859 using toolkit scroll bars.
5860
5861 * xterm.c (note_mouse_highlight): Change the cursor shape
5862 on the vertical border between windows.
5863
5864 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5865
5866 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5867 (syms_of_xfns): DEFVAR_LISP it.
5868 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5869
8d2c2642
GM
5870 * textprop.c (text_read_only): New function.
5871 (verify_interval_modification): Use it instead of signaling
5872 `text-read-only'. This makes it easier to catch this error
52283633 5873 with a breakpoint.:
8d2c2642 5874
52283633 5875 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5876 not end of line, which includes CR.
5877
5a2bae6c
KH
58782000-11-28 Kenichi Handa <handa@etl.go.jp>
5879
5880 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5881 include no-conversion.
5882
ae31f84d
JR
58832000-11-27 Jason Rumney <jasonr@gnu.org>
5884
5885 * w32fns.c (w32_load_system_font): Always mark font as double byte
5886 if codepage is unicode.
5887
67f1cf4c
GM
58882000-11-27 Gerd Moellmann <gerd@gnu.org>
5889
4a74d071 5890 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5891 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5892
902ae620
GM
5893 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5894 `vertical-line', `mode-line' and `header-line' events.
5895
5896 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5897 of a character, a TAB for instance. This is easier than to set
5898 up the iterator exactly, and it's not a frequent case, so the
5899 additional effort wouldn't really pay off.
5900
c1e279c2
AC
59012000-11-26 Andrew Choi <akochoi@i-cable.com>
5902
67f1cf4c 5903 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5904 init_window_once.
5905
a609568a
JR
59062000-11-25 Jason Rumney <jasonr@gnu.org>
5907
52283633
SM
5908 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5909 Args to window_from_coordinates should be pixel coordinates.
48b21762 5910
a609568a
JR
5911 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5912 redisplay handles them properly.
5913
a658d039
MB
59142000-11-25 Miles Bader <miles@gnu.org>
5915
5916 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5917
d3416cca
JR
59182000-11-24 Jason Rumney <jasonr@gnu.org>
5919
5920 * w32.c (init_environment): Set LANG environment variable based on
5921 locale settings, if not set.
5922
5923 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5924 making tool bar smaller. When clearing the frame, also
5925 clear current matrices. Clear frame when tool bar disappears.
5926 Don't use more lines for the tool-bar than is available.
5927 (x_change_window_heights): New function.
5928
ba193890
GM
59292000-11-24 Gerd Moellmann <gerd@gnu.org>
5930
2be8f184
GM
5931 * xdisp.c (init_from_display_pos): If POS says we're already after
5932 an overlay string ending at POS, make sure to pop the iterator
5933 because it will be in front of that overlay string. When POS is
5934 ZV, we've thereby also ``processed'' overlay strings at ZV.
5935
ba193890
GM
5936 * xfaces.c (lface_from_face_name): Function comment fix.
5937
1862a24e
MB
59382000-11-24 Miles Bader <miles@gnu.org>
5939
5940 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5941 apply `mode-line-inverse-video' -- zero means force display using
5942 the default face, non-zero means display using the specialized face.
5943 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5944
f07fa1b8
KH
59452000-11-23 Kenichi Handa <handa@etl.go.jp>
5946
5947 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5948 hard coded `4'.
5949
2bcdf662
EZ
59502000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5951
5952 * coding.c (decode_coding_emacs_mule): Fix the case of
5953 CODING_EOL_LF, which used uninitialized value of c.
5954
ba8299ff
SM
59552000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5956
5957 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5958
f4117c4d
GM
59592000-11-22 Gerd Moellmann <gerd@gnu.org>
5960
03e757c1
GM
5961 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5962 buffer object.
5963
f4117c4d
GM
5964 * frame.h (struct frame): Replace desired_tool_bar_items,
5965 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5966 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5967
5968 * frame.c (make_frame): Change initialization of tool bar
5969 items accordingly.
5970
5971 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5972 Change references to members deleted from struct frame to use the
f4117c4d
GM
5973 new ones.
5974
5975 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5976 references to members deleted from struct frame to use the new ones.
f4117c4d 5977
52283633 5978 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5979
5980 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5981
5982 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5983 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5984 from struct frame to use the new ones.
5985
f8e2f3f2
MB
59862000-11-23 Miles Bader <miles@gnu.org>
5987
5988 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5989 the face's inverse-video attribute, rather than overriding it.
5990
60e8e0a5
GM
59912000-11-22 Gerd Moellmann <gerd@gnu.org>
5992
5993 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5994 making tool bar smaller.
5995
92dd1b29
DL
59962000-11-22 Dave Love <fx@gnu.org>
5997
5998 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5999
e672fdce
MB
60002000-11-22 Miles Bader <miles@gnu.org>
6001
3a17d6cc
MB
6002 * keyboard.c (Vminibuffer_message_timeout): New variable.
6003 (command_loop_1): Use it to determine message timeout.
6004 (syms_of_keyboard): Initialize it.
6005
60e8e0a5 6006 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6007
e9655d81
KH
60082000-11-22 Kenichi Handa <handa@etl.go.jp>
6009
6010 * sysdep.c: Move the code for declaring h_errno after #include
6011 <netdb.h>.
6012
77270fac
GM
60132000-11-21 Gerd Moellmann <gerd@gnu.org>
6014
cd913aae
GM
6015 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6016 the menu bar when the tooltip is unmapped.
6017
77270fac
GM
6018 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6019 sole visible buffer when we're currently in the mini-buffer, and
6020 give up if so.
52283633 6021
556635d6
JR
60222000-11-21 Jason Rumney <jasonr@gnu.org>
6023
6024 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6025 put on the clipboard.
6026 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6027 copy of what Emacs last put there. If they are the same, do not
52283633 6028 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6029
5b7bde64
MB
60302000-11-22 Miles Bader <miles@gnu.org>
6031
6032 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6033 (syms_of_minibuf): Initialize it.
6034 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6035 to prompt, don't make read-only.
6036
ff23e1dd
GM
60372000-11-21 Gerd Moellmann <gerd@gnu.org>
6038
52283633
SM
6039 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6040 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6041
7aaf4388
GM
6042 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6043
f5f47add 6044 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6045
ff23e1dd
GM
6046 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6047
37c35586
KH
60482000-11-21 Kenichi Handa <handa@etl.go.jp>
6049
6050 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6051 ... #endif scope.
6052
ff9ab414
GM
60532000-11-20 Gerd Moellmann <gerd@gnu.org>
6054
52283633 6055 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6056 screen supports it.
6057
29a01b72
GM
6058 * s/gnu-linux.h: Don't use `#cpu'.
6059
09dfdf85
GM
6060 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6061 not defined in mman.h.
6062
52283633 6063 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6064 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6065 and store an index in the XClientMessageEvent. Storing a
6066 Lisp_Object or pointer can fail on a 64 bit system, since X only
6067 transfers 32 bits.
52283633
SM
6068 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6069
81459ac9
DL
60702000-11-20 Dave Love <fx@gnu.org>
6071
6072 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6073
56c13ae6
GM
60742000-11-20 Gerd Moellmann <gerd@gnu.org>
6075
6076 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6077
495a6df3
KH
60782000-11-20 Kenichi Handa <handa@etl.go.jp>
6079
2bcf3714
KH
6080 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6081 by WIDTH.
6082
495a6df3
KH
6083 * alloc.c (make_string): Fix previous change. Be sure to make
6084 unibyte string correctly.
6085
6d950f4c
GM
60862000-11-19 Gerd Moellmann <gerd@gnu.org>
6087
39b39373
GM
6088 * window.c (Fwindow_list): Change parameter list to be XEmacs
6089 compatible.
6090 (window_list_1): New function.
6091 (window_loop): Use it instead of Fwindow_list.
6092
b95b34e5
GM
6093 * sysdep.c (emacs_ospeed): New variable.
6094 (toplevel): Don't declare ospeed extern.
6095 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6096
6097 * termcap.c (ospeed): Remove.
6098 (tputs) [!emacs]: Remove unused code.
6099 (tgetent): Avoid a compiler warning.
6100
e83dc917
GM
6101 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6102 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6103 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6104
6105 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6106 removed.
6107 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6108 Take the X display as additional argument.
6109 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6110 `Widget' is a pointer type that's not easily stored in Lisp_Object
6111 form in a portable way.
52283633 6112
6d950f4c
GM
6113 * dispnew.c (update_text_area): Fix last change.
6114
e47306e6
GM
61152000-11-18 Gerd Moellmann <gerd@gnu.org>
6116
fb3cd89b
GM
6117 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6118
6119 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6120 clear current matrices.
6121
edaa9aed
GM
6122 * buffer.c (mmap_enlarge): Don't print a message on stderr
6123 if mapping new memory at the end of the existing region fails.
6124
e47306e6
GM
6125 * dispnew.c (update_text_area): Don't skip over equal glyphs
6126 when the last current glyph overlaps the glyph to its right.
6127
509633e3
MB
61282000-11-18 Miles Bader <miles@gnu.org>
6129
6130 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6131 lines that *end* with "..." too (that's the most common case!).
6132
d392e9c5
GM
61332000-11-18 Gerd Moellmann <gerd@gnu.org>
6134
67988445
GM
6135 * xdisp.c (resize_mini_window): Temporarily change to the
6136 mini-window's buffer if necessary.
1bfdbe43 6137
d392e9c5
GM
6138 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6139 the tooltip obscures less text under it.
6140
61412000-11-17 Gerd Moellmann <gerd@gnu.org>
6142
6143 * puresize.h (BASE_PURESIZE): Increase to 700000.
6144
92bb977f
JR
61452000-11-18 Jason Rumney <jasonr@gnu.org>
6146
6147 * w32term.c (w32_draw_bitmap): Use face to set colors.
6148
26fbf20b
DL
61492000-11-17 Dave Love <fx@gnu.org>
6150
6151 * lread.c (Fload): Fix #ifdef for pcc.
6152
100b593b
GM
61532000-11-17 Gerd Moellmann <gerd@gnu.org>
6154
6155 * xdisp.c (pos_visible_p): Compute the default character height
6156 differently.
6157
a288d0d1
GM
61582000-11-16 Gerd Moellmann <gerd@gnu.org>
6159
cac94de6 6160 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6161 knowing the line's height; use the default font's height in that case.
cac94de6 6162
a288d0d1
GM
6163 * xfaces.c (weight_table): Add `demi' with the same meaning as
6164 `demibold'.
6165
981fb6f6
KH
61662000-11-16 Kenichi Handa <handa@etl.go.jp>
6167
2cca872d 6168 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6169 (clear_glyph_row): Delete local static variable null_row.
6170
e5fa381b
JR
61712000-11-15 Jason Rumney <jasonr@gnu.org>
6172
6173 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6174 (w32_alloc_lighter_color): Use new brightness calculations from
6175 xterm.c. Scale delta to be in the range expected by W32.
6176 (w32_draw_relief_rect): Use frame relief colors.
6177
8e42f043
GM
61782000-11-15 Gerd Moellmann <gerd@gnu.org>
6179
6d133d1f
GM
6180 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6181 (Qinhibit_default_face_x_resources): New variable.
6182 (syms_of_frame): Initialize it.
6183 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6184
6185 * xdisp.c (pos_visible_p): Improve function comment.
6186
6187 * lisp.h (BINDING_STACK_SIZE): New macro.
6188
8e42f043
GM
6189 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6190 reading the directory if readdir returns null and errno is EAGAIN
6191 or EINTR.
6192
e8c87124
SM
61932000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6194
6195 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6196 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6197 Set amount_to_scroll to max of dx and scroll_step so that
6198 scroll-conservatively doesn't defeat scroll-step>1.
6199 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6200 scroll-conservatively for line-at-a-time scrolling.
6201
5f0c971d
GM
62022000-11-14 Gerd Moellmann <gerd@gnu.org>
6203
6204 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6205 extra argument.
6206
6207 * xdisp.c (current_mode_line_height, current_header_line_height):
6208 New variables.
6209 (init_xdisp): Initialize them.
6210 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6211 and use exact mode line heights if it is set.
6212
6213 * lisp.h (pos_visible_p): Change prototype.
6214
6215 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6216 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6217 and current_header_line_height first.
52283633
SM
6218 (current_mode_line_height, current_header_line_height):
6219 Declare extern.
5f0c971d 6220
d7361edf
MB
62212000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6222
6223 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6224 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6225 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6226
ee5e440a
MB
62272000-11-14 Miles Bader <miles@gnu.org>
6228
6229 * xterm.c (x_alloc_lighter_color): Include an additive component
6230 too for dark colors, because FACTOR isn't enough.
6231 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6232 New macros.
6233
5ca020fc
GM
62342000-11-13 Gerd Moellmann <gerd@gnu.org>
6235
6236 * keyboard.c (show_help_echo): Call message3_nolog with number of
6237 bytes in the help string as 2nd parameter, instead of the number
6238 of characters.
6239
9d348294
MB
62402000-11-13 Miles Bader <miles@gnu.org>
6241
6242 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6243 (Fload): Use new openp return protocol.
6244 Don't try to use Vload_source_file_function to load .elc files.
6245 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6246 openp return protocol.
6247 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6248
1729bb9a
KH
62492000-11-11 Kenichi Handa <handa@etl.go.jp>
6250
4e677396
KH
6251 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6252
6253 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6254 Defined these macros.
6255 (NLIST_STRUCT): Avoid re-defining it.
6256
1729bb9a
KH
6257 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6258 -I/usr/contrib/X11R6/include.
6259 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6260
a82fe213
JR
62612000-11-10 Jason Rumney <jasonr@gnu.org>
6262
6263 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6264
6265 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6266 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6267
6268 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6269 (Qw32_charset_vietnamese): New symbol.
6270 (xlfd_charset_of_font): New function.
6271 (w32_load_system_font): Use it.
6272 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6273 when Vw32_charset_info_alist is nil to ensure default face always
6274 has font. Use Fcar and Fcdr for safety.
6275 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6276 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6277 pseudo-codepages for special cases.
6278 (w32_to_x_font): New parameter to allow charset portion to be
6279 specified where there is many to one mapping. Callers changed.
6280 (w32_list_fonts): Avoid listing fonts that won't display.
6281
52d89894
GM
62822000-11-10 Gerd Moellmann <gerd@gnu.org>
6283
6284 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6285 (font_list_1): Renamed from font_list.
6286 (font_list): New function, trying alternative registries from
6287 Vface_alternative_font_registry_alist.
6288 (Finternal_set_alternative_font_registry_alist): New function.
6289 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6290 Vface_alternative_font_registry_alist.
6291 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6292
651cd3da
KR
62932000-11-09 Ken Raeburn <raeburn@gnu.org>
6294
6295 * lisp.h (Flooking_at): Declare.
6296
388ac098
GM
62972000-11-09 Gerd Moellmann <gerd@gnu.org>
6298
778fbc46 6299 * dired.c (directory_files_internal): Fix a braino.
52283633 6300
388ac098
GM
6301 * dired.c (directory_files_internal): Add missing GCPRO's.
6302 Some cleanup.
6303
ecaedde1
GM
63042000-11-08 Gerd Moellmann <gerd@gnu.org>
6305
f7eb32aa
GM
6306 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6307 (resize_mini_window): Return quickly if Vresize_mini_window is
6308 nil. Don't return if Vmax_mini_window_height is nil.
6309
6310 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6311 (syms_of_xdisp): Initialize them.
6312 (resize_mini_window): Act according to the setting of
6313 Vresize_mini_window.
6314 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6315
ecaedde1
GM
6316 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6317 scroll bar widget after configuring it, so that it will appear at
6318 the right position from the start.
6319 (XTredeem_scroll_bar): Cleaned up.
6320
3747ef2c
KH
63212000-11-08 Kenichi Handa <handa@etl.go.jp>
6322
6323 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6324 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6325 division by two.
6326
6327 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6328
03391420
DL
63292000-11-07 Dave Love <fx@gnu.org>
6330
7758f1c1 6331 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6332
6333 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6334
b5de343d
GM
63352000-11-07 Gerd Moellmann <gerd@gnu.org>
6336
acad3c0b
GM
6337 * window.c (Fset_window_configuration): Don't try to preserve
6338 point in the current buffer, if that buffer is displayed in more
6339 than one window.
6340
b5de343d
GM
6341 * xfaces.c (lookup_named_face): If default face isn't realized,
6342 try to realize it. Return -1 if not successful.
6343 (Fx_list_fonts): Handle case that face cannot be determined.
6344 (Fface_font): Likewise.
6345
cdb1fe49
GM
63462000-11-06 Gerd Moellmann <gerd@gnu.org>
6347
6348 * window.c (displayed_window_lines): Detect partially
6349 visible lines at the bottom correctly.
6350
d3a67486
SM
63512000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6352
6353 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6354 when ensuring we don't do visit in indirect buffer.
6355
ff8dd5d5
KH
63562000-11-06 Kenichi Handa <handa@etl.go.jp>
6357
6358 * composite.h (compose_chars_in_text): Add prototype.
6359
6360 * composite.c (Vcomposition_function_table): New variable.
6361 (Qcomposition_function_table): New variable.
6362 (run_composition_function): Call
6363 Vcompose_chars_after_function with three arguments.
6364 (compose_chars_in_text): New function.
6365 (syms_of_composite): Modified the doc-string of
6366 Vcompose_chars_after_function. Declare composition-function-table
6367 as a lisp variable, and initialize it.
6368
6369 * xfns.c (x_encode_text): Suppress producing escape sequences for
6370 composition.
6371
6372 * xselect.c: Include composite.h.
6373 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6374
d1145f85
AI
63752000-11-05 Andrew Innes <andrewi@gnu.org>
6376
6377 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6378
6379 * sysdep.c (read_input_waiting): Remove extraneous argument to
6380 read_socket_hook.
6381
6382 * w32fns.c (Fx_server_version): Include w32_build_number in the
6383 return list.
6384
6385 * w32heap.c (w32_build_number): New variable.
6386 (cache_system_info): Set it.
6387
6388 * w32heap.h (w32_build_number): Add extern.
6389
6390 * emacs.c (syms_of_emacs): Update docstring for
6391 system-configuration, to reflect the actual usage on MS-Windows.
6392
e85ee976
GM
63932000-10-31 Gerd Moellmann <gerd@gnu.org>
6394
26dcb81b
GM
6395 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6396 process idle timers while waiting for another event.
6397
52283633 6398 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6399 the default face are colored.
6400
e85ee976
GM
6401 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6402 window height hasn't changed.
6403
01b220b6
JR
64042000-10-31 Jason Rumney <jasonr@gnu.org>
6405
6406 * w32term.c (x_produce_glyphs): Handle composite characters.
6407 (x_draw_glyph_string_foreground)
6408 (x_draw_composite_glyph_string_foreground): Restore old font.
6409
4e6b7204
MB
64102000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6411
6412 * minibuf.c (read_minibuf): Reset the undo history just before
6413 starting the recursive-edit.
6414
d4358b37
GM
64152000-10-30 Gerd Moellmann <gerd@gnu.org>
6416
563f68f1
GM
6417 * xfaces.c (menu_face_change_count): New variable.
6418 (Finternal_set_lisp_face_attribute): Increment it for changes
6419 of the `menu' face.
6420 (realize_basic_faces): Reflect changes in the `menu' faces
6421 in menu bars.
6422
82e274d1
GM
6423 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6424 dy obtained from the iterator's y-position after moving from
6425 scroll_margin_pos to PT; see comment there.
52283633 6426
0dbf9fd2
GM
6427 * xdisp.c (safe_eval_handler): Call add_to_log.
6428
906b3b14
GM
6429 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6430 is not a symbol or string.
6431
d4358b37
GM
6432 * xdisp.c (echo_area_display): Don't perform a display update from
6433 inside redisplay. The update will happen anyway at the end of
6434 redisplay, and it can confuse redisplay (GC messages while
6435 redisplaying, for instance.)
6436
70c825df
SM
64372000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6438
cf9b4b0b
SM
6439 * xrdb.c (x_load_resources): Use the class name in the defaults.
6440
70c825df
SM
6441 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6442 (regex_compile): Catch bogus \(\1\).
6443
a1d34b1e
GM
64442000-10-30 Gerd Moellmann <gerd@gnu.org>
6445
cae71efe
GM
6446 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6447 RGB values.
52283633 6448
35efe0a1
GM
6449 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6450 we have a color cache, check that the cached color equals the
6451 allocated color. If not, clear the color cache.
6452
1d3baf74
GM
6453 * window.c (displayed_window_lines): Change buffers if necessary.
6454 Fix computation of displayed lines.
6455
a1d34b1e
GM
6456 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6457 update_menu_bindings to DEFVAR_BOOL.
6458
70737ea9
KH
64592000-10-30 Kenichi Handa <handa@etl.go.jp>
6460
70c825df 6461 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6462
fa0cb51d
KH
6463 * puresize.h (BASE_PURESIZE): Increase to 680000.
6464
70737ea9
KH
6465 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6466
0e4c08e8
JR
64672000-10-29 Jason Rumney <jasonr@gnu.org>
6468
6469 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6470
6471 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6472 (w32_cache_char_metrics): Handle possibility that 'x' does not
6473 exist in a BDF font.
6474 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6475
6476 * w32bdf.h (bdffont): Add nchars.
6477
6478 * w32bdf.c (set_bdf_font_info): Set it.
6479 (w32_BDF_TextOut): Swap byte order of double byte characters.
6480 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6481
45b84006
EZ
64822000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6483
6484 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6485 don't override the colors in frame's param_alist, unless they are
6486 unspecified.
6487
6488 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6489 reverse the effect of the highlight flag.
6490
caf9deee
KR
64912000-10-27 Ken Raeburn <raeburn@gnu.org>
6492
6493 * window.h (Fwindow_live_p): Declare.
6494
ae0b9b46
KR
6495 * undo.c (record_delete): Check that last_undo_buffer is really a
6496 buffer before applying XBUFFER to it.
6497
6498 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6499 Faref.
6500
02067692
SM
65012000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6502
6503 * lisp.h (KEYMAPP): New macro.
6504 (get_keymap): Remove.
6505 (get_keymap_1): Rename get_keymap.
6506
6507 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6508
6509 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6510
6511 * xmenu.c (single_submenu): Use KEYMAPP.
6512 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6513 Use KEYMAPP rather than Fkeymapp.
6514
6515 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6516
6517 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6518 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6519 Use KEYMAPP rather than Fkeymapp.
6520 (single_submenu): Use KEYMAPP.
6521 (w32_menu_show, w32_dialog_show): Use TRUE.
6522
6523 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6524
6525 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6526 (Fkeymapp): Use KEYMAPP.
6527 (get_keymap): Rename from get_keymap_1. Remove old def.
6528 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6529 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6530 (Fminor_mode_key_binding): Don't raise an error if the binding
6531 is not a keymap.
6532 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6533 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6534
6535 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6536 Allow Vspecial_event_map to be autoloaded.
6537 (menu_bar_items): Fetch the keymap rather than using keymapp.
6538 (menu_bar_one_keymap): No need to follow func-indirect any more.
6539 (parse_menu_item): get_keymap_1 -> get_keymap.
6540 (tool_bar_items): Fetch the keymap rather than using keymapp.
6541 (read_key_sequence): Use KEYMAPP.
6542
6543 * intervals.c (get_local_map): Use get_keymap rather than following
6544 function-indirections explicitly.
6545
6546 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6547
f9d80af3
JR
65482000-10-27 Jason Rumney <jasonr@gnu.org>
6549
6550 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6551 point, as Windows has oversized fonts.
6552
6553 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6554
a3ba27da
GM
65552000-10-27 Gerd Moellmann <gerd@gnu.org>
6556
6557 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6558 (freehook, reallochook): Handle null pointer arguments.
6559 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6560
aa3b80cc
SM
65612000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6562
6563 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6564 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6565 Giving in to popular pressure to shut up the compiler with casts.
6566
e24e84cc
GM
65672000-10-27 Gerd Moellmann <gerd@gnu.org>
6568
6569 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6570 signed value, and use a default value computed from the font's
6571 maximum descent.
6572
05ea7ef2
MB
65732000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6574
6575 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6576 that specify a negative underline position can still use underlines.
6577
6578 * window.c (Fpos_visible_in_window_p): Make POS default to
6579 WINDOW's point, not the current buffer's point.
6580
0b95284b
DL
65812000-10-26 Dave Love <fx@gnu.org>
6582
6583 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6584 when it's necessary.
6585
6c5b90af
GM
65862000-10-26 Gerd Moellmann <gerd@gnu.org>
6587
8b6d9dc9
GM
6588 * window.c (size_window): Compute size difference from sum of old
6589 child window sizes instead of from parent's size.
6590
6bc92b2e
GM
6591 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6592 Handle obscured lines at the top of the window.
6593
6594 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6595 down after the last error condition check.
6596
6c5b90af
GM
6597 * frame.c (Fdelete_frame): Run delete-frame-hook.
6598
42f92d4d
KH
65992000-10-26 Kenichi Handa <handa@etl.go.jp>
6600
6601 * coding.c (decode_coding): Fix previous change (check also
6602 CODING_MODE_LAST_BLOCK).
6603
d97151cb
SM
66042000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6605
e7efc503
SM
6606 * regex.c: More `unsigned char' -> `re_char' changes.
6607 Also change several `int' into `re_wchar_t'.
6608 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6609 (PUSH_FAILURE_POINTER): Don't cast any more.
6610 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6611 We want GCC to complain, since this piece of code makes
6612 re_match non-reentrant, which *should* be fixed.
6613 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6614 (EXTEND_BUFFER): Use RETALLOC.
6615 (SET_LIST_BIT): Don't cast.
6616 (re_wchar_t): New type.
6617 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6618 that those two functions will always properly return.
6619 (IMMEDIATE_QUIT_CHECK): Cast to void.
6620 (analyse_first): Use recursion rather than an explicit stack.
6621 (re_compile_fastmap): Can't fail anymore.
6622 (re_search_2): Don't check re_compile_fastmap for failure.
6623 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6624 Now also sets the new value (passed in a new argument).
6625 (re_match_2_internal): Use it.
6626 Also, use a new var `reg' of type size_t when looping through regs
6627 rather than reuse the inappropriate `mcnt'.
6628
d97151cb
SM
6629 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6630 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6631 (where_is_internal): Renamed from Fwhere_is_internal.
6632 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6633 (Fwhere_is_internal): New function wrapping where_is_internal.
6634 (where_is_internal_1): Handle the case where we're filling the cache.
6635 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6636
d5789b65
MB
66372000-10-25 Miles Bader <miles@gnu.org>
6638
6639 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6640
4ecda532
GM
66412000-10-25 Gerd Moellmann <gerd@gnu.org>
6642
6643 * window.c (pos_fully_visible_p): Removed.
6644 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6645 if position is visible and/or fully visible.
6646
6647 * lisp.h (pos_visible_p): Add prototype.
6648
6649 * xdisp.c (pos_visible_p): New function.
6650
68c3a137
KH
66512000-10-25 Kenichi Handa <handa@etl.go.jp>
6652
6653 * process.c (send_process): If OBJECT is t, it means that the data
6654 is from C string, but we should encode it. Before calling
6655 setup_raw_text_coding_system, be sure to flush out data by the
6656 previous coding system.
6657
7ae1c032
MB
66582000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6659
ff4dcd4b
MB
6660 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6661 assignment of startpos to prev when startpos == pos.
6662
7ae1c032
MB
6663 * editfns.c (find_field): Set the field stickiness correctly from
6664 overlay fields. Use renamed `text_property_stickiness'.
6665 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6666 Only check text properties, not overlays.
7ae1c032
MB
6667 * textprop.c (get_char_property_and_overlay): New function.
6668 (Fget_char_property): Use it.
6669 * intervals.h (get_char_property_and_overlay): Add declaration.
6670
49801145
SM
66712000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6672
6673 * keymap.c: Use AREF, ASET and ASIZE macros.
6674 (Fmake_sparse_keymap): Docstring fix.
6675 (synkey): Remove.
6676 (shadow_lookup): Move up.
6677 Handle the case where lookup-key returns an integer.
6678 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6679 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6680 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6681 Simplify/rewrite the keymap-finding code.
6682 Add check for command shadowing, using shadow_lookup.
6683
39e776cd
SM
66842000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6685
6686 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6687 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6688 a symbol.
6689
2488aba5
AI
66902000-10-24 Andrew Innes <andrewi@gnu.org>
6691
6692 * dired.c (directory_files_internal_unwind): New function.
6693 (directory_files_internal): Use it to ensure closedir is called
6694 even if expand-file-name or file-attributes throw, eg. because of
6695 a user interrupt. Also enable immediate_quit while calling
6696 re_search, so that matching can be interrupted as well.
6697
b94fdf61
AI
66982000-10-24 Andrew Innes <andrewi@gnu.org>
6699
6700 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6701 NT-Emacs only.
6702 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6703 so that re_search functions only quit when callers expect them to.
6704
67052000-10-24 Kenichi Handa <handa@etl.go.jp>
6706
6707 * regex.c (regex_compile): Change the way of handling a range from
6708 a char less than 256 to a char not less than 256.
6709
1946f901
GM
67102000-10-24 Gerd Moellmann <gerd@gnu.org>
6711
7ae2f10f
GM
6712 * window.c (size_window): Prevent setting window's width or
6713 height to a negative value (esp. with XSETFASTINT).
6714
5dcab13e
GM
6715 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6716 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6717 (protect_malloc_state) [GC_MALLOC_CHECK &&
6718 GC_PROTECT_MALLOC_STATE]: New function.
6719 (PROTECT_MALLOC_STATE): New macro.
6720 (__malloc_initialize, morecore, _malloc_internal)
6721 (_free_internal) _realloc_internal): Use it to make _heapinfo
6722 read-only outside of gmalloc.
6723
63e1b552
GM
6724 * keymap.c: Update copyright.
6725
1946f901
GM
6726 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6727 a symbol.
6728
4fa09beb
GM
67292000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6730
6731 * filelock.c (unlock_all_files): Use unlock_file to expand each
6732 buffer's file_truename before trying remove its lock file.
6733
23afac01
EZ
67342000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6735
6736 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6737 or CRLF, decode EOLs.
6738
04448b95
KH
67392000-10-24 Kenichi Handa <handa@etl.go.jp>
6740
6741 * window.c (Fdisplay_buffer): Fix doc.
6742
3090a5a5
JR
67432000-10-23 Jason Rumney <jasonr@gnu.org>
6744
6745 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6746 ASCII font of default fontset on Windows.
6747
6748 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6749 xterm.c comment below).
6750
6751 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6752
a83fee2c
GM
67532000-10-23 Gerd Moellmann <gerd@gnu.org>
6754
6755 * xterm.c (x_connection_closed): Reset handling_signal.
6756
52283633 6757 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6758
6ffdb539
MB
67592000-10-23 Miles Bader <miles@gnu.org>
6760
6761 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6762 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6763 maintain old behavior.
6764 * minibuf.c (Fminibuffer_complete): Likewise.
6765
7f1c969b
MB
67662000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6767
6768 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6769 that when a font can't be exactly centered, it errs up rather than
6770 down.
6771
23afac01 67722000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6773
52283633 6774 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6775
1a578e9b
AC
67762000-10-23 Andrew Choi <akochoi@i-cable.com>
6777
6778 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6779
6780 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6781 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6782
6783 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6784 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6785 syms_of_search, x_term_init, and init_keyboard before calling
6786 init_window_once. Also, call syms_of_xmenu.
6787
6788 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6789 default fontset to Monaco.
6790
6791 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6792 NewMacWindow and DisposeMacWindow.
6793 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6794 instead of calling NewMacWindow and setting fields of
6795 f->output_data.mac directly. Call init_frame_faces.
6796 (Fdelete_frame) [macintosh]: Remove unused code.
6797 (Fmodify_frame_parameters) [macintosh]: Call
6798 x_set_frame_parameters instead of mac_set_frame_parameters.
6799
6800 * frame.h [macintosh]: Define menu_bar_lines field in struct
6801 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6802
6803 * keyboard.c [macintosh]: Include macterm.h.
6804 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6805 and menu_bar_activate_event type events as for X and NT.
6806 (make_lispy_event) [macintosh]: Construct lisp events of type
6807 MENU_BAR_EVENT as for X and NT.
6808
6809 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6810 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6811 (sys_subshell) [macintosh]: Remove definition entirely.
6812 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6813 Vwindow_system_version here. Remove initialization of
6814 Vx_bitmap_file_path.
6815 (read_input_waiting): Correct the number of parameters passed to
6816 read_socket_hook.
6817 Move all Macintosh functions to mac/mac.c.
6818
6819 * term.c [macintosh]: Include macterm.h.
6820
6821 * window.c [macintosh]: Include macterm.h.
6822
6823 * xdisp.c [macintosh]: Include macterm.h. Declare
6824 set_frame_menubar and pending_menu_activation.
6825 (echo_area_display) [macintosh]: Do not return if terminal frame
6826 is the selected frame.
6827 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6828 Allow only the selected frame to set menu bar.
6829 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6830 calling FRAME_EXTERNAL_MENU_BAR (f).
6831 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6832
6833 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6834 and check_x. Declare XCreateGC. Define x_create_gc and
6835 x_free_gc. Initialize font_sort_order.
6836 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6837 but call x_list_fonts instead of w32_list_fonts.
6838 (Finternal_face_x_get_resource) [macintosh]: Do not call
6839 display_x_get_resource.
6840 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6841 (realize_x_face) [macintosh]: Load the font if it is specified in
6842 ATTRS.
52283633 6843 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6844
1ffbabe3
SM
68452000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6846
6847 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6848 is nil: since we go to the end of submap anyway, we'd end up
6849 setting nil to nil.
6850 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6851 doesn't obey autoload.
6852
bed43f1d
EZ
68532000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6854
1ffbabe3 6855 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6856
ea4233a7
JR
68572000-10-21 Jason Rumney <jasonr@gnu.org>
6858
6859 * w32term.c (w32_cache_char_metrics): Double check that font is
6860 really fixed pitch before trusting tmPitchAndFamily.
6861
f3d3c491
AI
68622000-10-21 Andrew Innes <andrewi@gnu.org>
6863
6864 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6865
6866 * w32term.h: Extern decl for w32_cache_char_metrics.
6867
6868 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6869
6870 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6871 (w32_unload_font): Free per_char array if present.
6872
6873 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6874 cached information in emulated XFontStruct to handle common cases
6875 quickly. Do not allocate XCharStruct for return.
6876 (w32_native_per_char_metric): New function.
6877 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6878 allocating one.
6879 (x_produce_glyphs): Don't get an HDC. Change calls to
6880 w32_per_char_metric to match arg change above. Remove calls to
6881 free results.
6882 (w32_get_glyph_overhangs): Ditto.
6883 (w32_cache_char_metrics): New function.
6884
6885 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6886 ($(BLD)/casefiddle.$(O)): Remove compile command.
6887 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6888 ($(BLD)/dispnew.obj):
6889 ($(BLD)/keyboard.obj):
6890 ($(BLD)/w32inevt.obj):
6891 ($(BLD)/w32bdf.obj):
6892 ($(BLD)/alloc.obj):
6893 ($(BLD)/buffer.obj):
6894 ($(BLD)/editfns.obj):
6895 ($(BLD)/emacs.obj):
6896 ($(BLD)/fileio.obj):
6897 ($(BLD)/fns.obj):
6898 ($(BLD)/indent.obj):
6899 ($(BLD)/insdel.obj):
6900 ($(BLD)/intervals.obj):
6901 ($(BLD)/minibuf.obj):
6902 ($(BLD)/print.obj):
6903 ($(BLD)/scroll.obj):
6904 ($(BLD)/sysdep.obj):
6905 ($(BLD)/textprop.obj):
6906 ($(BLD)/widget.obj):
f3d3c491
AI
6907 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6908 ($(BLD)/term.obj): Add dependency on dispextern.h.
6909
52283633
SM
6910 * makefile.nt ($(BLD)\dispnew.obj):
6911 ($(BLD)\keyboard.obj):
6912 ($(BLD)\w32inevt.obj):
6913 ($(BLD)\w32bdf.obj):
6914 ($(BLD)\alloc.obj):
6915 ($(BLD)\buffer.obj):
6916 ($(BLD)\editfns.obj):
6917 ($(BLD)\emacs.obj):
6918 ($(BLD)\fileio.obj):
6919 ($(BLD)\fns.obj):
6920 ($(BLD)\indent.obj):
6921 ($(BLD)\insdel.obj):
6922 ($(BLD)\intervals.obj):
6923 ($(BLD)\minibuf.obj):
6924 ($(BLD)\print.obj):
6925 ($(BLD)\scroll.obj):
6926 ($(BLD)\sysdep.obj):
6927 ($(BLD)\textprop.obj):
6928 ($(BLD)\widget.obj):
f3d3c491
AI
6929 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6930 ($(BLD)\term.obj): Add dependency on dispextern.h
6931
18ad4821
EZ
69322000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6933
6934 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6935 with an additional argument of Qt.
6936
de54681a
MB
69372000-10-21 Miles Bader <miles@gnu.org>
6938
6939 * window.c (pos_fully_visible_in_window_p): New function.
6940 (Fpos_visible_in_window_p): Add FULLY argument.
6941 Use pos_fully_visible_in_window_p.
6942 (window_scroll_pixel_based, window_scroll_line_based): Update
6943 calls to Fpos_visible_in_window_p.
6944 * lisp.h (Fpos_visible_in_window_p): Update prototype
6945
13c844fb
GM
69462000-10-20 Gerd Moellmann <gerd@gnu.org>
6947
6948 * alloc.c (toplevel): Conditionalize compilation of mem_*
6949 functions differently.
52283633 6950
d9506268
JR
69512000-10-20 Jason Rumney <jasonr@gnu.org>
6952
6953 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6954 mem_init where it used to be. mem_z etc not defined otherwise.
6955
8094989b
GM
69562000-10-20 Gerd Moellmann <gerd@gnu.org>
6957
6958 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6959 GC_MALLOC_CHECK.
6960 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6961 structure definition and related variabled to the top of the file.
6962 Include this code when GC_MALLOC_CHECK is defined.
6963 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6964 register/unregister allocated region.
6965 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6966 which isn't allocated.
6967 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6968 something which is already in use.
6969 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6970 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6971 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6972 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6973
6974 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6975 _malloc_internal instead of malloc.
6976 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6977 of free.
6978
ea456eb4
AI
69792000-10-20 Andrew Innes <andrewi@gnu.org>
6980
6981 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6982 Windows.
6983 (my_strftime) <macro>: Don't use macro arg list when redefining as
6984 _strftime_copytm.
6985 (my_strftime) <function>: Supply 0 as ut argument.
6986
e64c3a75
JR
69872000-10-19 Jason Rumney <jasonr@altavista.net>
6988
6989 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6990 including dispextern.h, as it stops faces from working.
6991
6992 * w32fns.c (Fx_create_frame): Don't bother calling
6993 face-set-after-frame-default since the caller does it for us
6994 anyway. Clean up calls to x_get_arg to be consistent with X.
6995
6996 * w32term.c (x_produce_glyphs): Handle
6997 unibyte_display_via_language_environment correctly.
6998 (w32_draw_box_rect): Fix the calculation of width and height.
6999
7000 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7001 as it has stopped working.
7002 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7003 menu-bar.
7004
17401c97
GM
70052000-10-19 Gerd Moellmann <gerd@gnu.org>
7006
7007 * eval.c (skip_debugger): Prevent a compiler warning.
7008 (Fcondition_case): Likewise.
7009 (Fbacktrace_frame): Use a null interactive spec.
7010
773272d8
KH
70112000-10-19 Kenichi Handa <handa@etl.go.jp>
7012
7013 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7014
a42943e9
GM
70152000-10-18 Gerd Moellmann <gerd@gnu.org>
7016
e50517d9
GM
7017 * strftime.c: Sync with glibc, file version 1.78.
7018 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7019 should no longer be used according to ISO 8601.
7020
9035a35a
GM
7021 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7022 no map for meta_prefix_char, don't try to use it as a keymap.
7023 Instead, if T_OK is non-zero, look up a default binding, if any,
7024 otherwise, if T_OK is zero, return nil.
7025
a42943e9
GM
7026 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7027 (x_to_xcolors, png_load): Use x_query_color.
7028
52283633
SM
7029 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7030 New functions.
a42943e9
GM
7031 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7032 which can be slow.
7033 (x_copy_color, x_alloc_lighter_color): Likewise.
7034
7035 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7036 (x_query_color, x_query_colors): Add prototype.
7037
7038 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7039 check_string_bytes only if not noninteractive, increase count to 50.
7040
00de2987
MB
70412000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7042
7043 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7044 markers correctly.
7045
54918e2b
GM
70462000-10-17 Gerd Moellmann <gerd@gnu.org>
7047
1f0b3fd2
GM
7048 * alloc.c (pure_bytes_used): Renamed from pureptr.
7049 (ALIGN): New macro.
7050 (pure_alloc): New function.
7051 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7052 Use it.
7053 (Fpurecopy): Use PURE_POINTER_P.
7054
68c5d1db
GM
7055 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7056 PT has moved backward.
52283633 7057
9a038881
GM
7058 * xdisp.c (cursor_row_p): Take continued lines into account.
7059
361b097f
GM
7060 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7061 string's size_byte.
7062 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7063 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7064 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7065 string allocated.
7066
54918e2b
GM
7067 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7068 of selective display off while searching for the next line start.
7069
03ed0806
KH
70702000-10-17 Kenichi Handa <handa@etl.go.jp>
7071
7072 * Makefile.in (term.o): Depend on dispextern.h.
7073
7e05cdaf
SM
70742000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7075
7076 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7077
a6801fd1
GM
70782000-10-16 Gerd Moellmann <gerd@gnu.org>
7079
483de32b
GM
7080 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7081 the iterator at the beginning, so that they can be set later on,
7082 for instance in reseat_at_next_visible_line_start, without being
7083 overwritten.
7084
a6801fd1
GM
7085 * xfns.c (pbm_format): Add :foreground and :background keywords.
7086 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7087 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7088
dbf1fcc1
EZ
70892000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7090
7091 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7092
52283633 7093 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7094
7095 * msdos.c (IT_set_face): Compare highlighted face with the default
7096 face, and invert colors if these faces' colors are identical.
7097 (Fmsdos_remember_default_colors): Don't swap foreground and
7098 background colors in initial_colors[].
7099 (IT_set_frame_parameters): Don't swap frame's foreground and
7100 background pixels. If ALIST includes "(reverse . t)", swap
7101 foreground-color and background-color properties in frame's
7102 param_alist. If the original frame's param_alist doesn't specify
7103 the colors, store unspecified-fg and unspecified-bg, reversed if
7104 required.
7105
7106 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7107 the colors are unspecified and reversed, reverse fore- and back-
7108 ground in the returned value.
7109 (Fframe_parameter): Ditto.
7110
b41fe2c3 71112000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7112
3a6b59d9
GM
7113 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7114 get_last_unchanged_at_beg_row.
7115 (find_first_unchanged_at_end_row): Renamed from
7116 get_first_unchanged_at_end_row.
7117 (find_first_unchanged_at_end_row): Convert assertions to
7118 unconditional tests which abort. When looking for a row in
7119 unchanged text, don't go further back than first_text_row.
7120
b41fe2c3
GM
7121 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7122 Don't add in the last line's height when deciding if the new
7123 position is below the scroll margin.
9d1af64f 7124
b41fe2c3 71252000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7126
7127 * editfns.c (Fconstrain_to_field): Check carefully for field
7128 boundaries if either OLD_POS or NEW_POS has a non-nil field
7129 property, even if they're the same.
7130
c412cb7b
KH
71312000-10-16 Kenichi Handa <handa@etl.go.jp>
7132
7133 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7134 height for XFillRectangle.
7135
5586f3eb
SM
71362000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7137
7138 * syntax.c (Fstring_to_syntax): New function extracted from
7139 Fmodify_syntax_entry.
7140 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7141 (skip_chars, Fforward_comment): Remove unused variables.
7142 (syms_of_syntax): Add defsubr for string-to-syntax.
7143 (describe_syntax): Add code for comment and string fences.
7144
db785038
SM
71452000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7146
7147 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7148 Do the meta->esc mapping. Call get_keyelt before returning.
7149 Start scanning from the second element (the first is always `keymap')
7150 to make it easier to detect when we reach a parent map.
7151 Handle the case of inheriting from a symbol whose function is a map.
7152 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7153 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7154 (get_keyelt, Flookup_key): Update call to access_keymap.
7155 Remove the meta->esc mappings.
7156 (define_as_prefix): Delete old disabled code.
7157 (menu_item_p): New function.
7158 (where_is_internal_1): Skip over the few remaining menu items.
7159 * lisp.h (access_keymap): Update prototype.
7160 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7161 Update call to access_keymap.
7162 (follow_key, read_key_sequence): Update calls to access_keymap.
7163 Remove the meta->esc mappings.
7164
cafafe0b
GM
71652000-10-13 Gerd Moellmann <gerd@gnu.org>
7166
a2e2a7f6
GM
7167 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7168 with additional argument.
7169
cafafe0b
GM
7170 * xdisp.c (cursor_row_p): New function.
7171 (try_cursor_movement, display_line): Use it.
52283633 7172
cafafe0b
GM
7173 * xdisp.c (append_space): Also save/restore iterator's current
7174 character and its length.
7175
7176 * xdisp.c (init_from_display_pos): Add an assertion.
7177 (handle_stop): Don't set iterator's add_overlay_start.
7178 (handle_invisible_prop): Likewise.
7179 (load_overlay_strings): If text under an overlay is invisible,
7180 take both before- and after-strings into account when the iterator
7181 is positioned either at the start or at the end of the overlay.
7182 (forward_to_next_line_start): Rewritten.
7183 (reseat_at_next_visible_line_start): Rewritten.
7184 (set_iterator_to_next): Add parameter RESEAT_P.
7185
7186 * dispextern.h (struct it): Remove member add_overlay_start.
7187 (set_iterator_to_next): Change prototype.
7188
c744452b
KH
71892000-10-13 Kenichi Handa <handa@etl.go.jp>
7190
7191 * coding.c (code_convert_region): Be sure to initialize
7192 coding->category_idx.
e4a3f4e1
KH
7193 (decode_coding_string): Set coding->src_multibyte and
7194 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7195 (encode_coding_string): Set coding->src_multibyte and
7196 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7197
321fd26f
SM
71982000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7199
7200 * xfns.c (Fx_create_frame): Don't bother calling
7201 face-set-after-frame-default since the caller does it for us anyway.
7202
76832439
EZ
72032000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7204
7205 * window.c (coordinates_in_window): Fix detection of vertical line
7206 on character terminals.
7207
2483cf58
GM
72082000-10-12 Gerd Moellmann <gerd@gnu.org>
7209
7210 * editfns.c (save_excursion_save): Additionally record the
7211 selected window.
7212 (save_excursion_restore): If buffer was visible in a window, and a
7213 different window was selected, and the old selected window is
7214 still live, restore point in that window.
7215
eb991b25
KH
72162000-10-12 Kenichi Handa <handa@etl.go.jp>
7217
8a0eba09
KH
7218 * xterm.c (x_produce_glyphs): Handle
7219 unibyte_display_via_language_environment correctly.
7220
20401fcc
KH
7221 * regex.c (regex_compile): Change the way of handling a range from
7222 unibyte char to multibyte char.
7223
7224 * syntax.c (skip_chars): Change the way of handling a range from
7225 unibyte char to multibyte char.
7226
eb991b25
KH
7227 * process.c (read_process_output): Cancel previous change.
7228
365dd325
EZ
72292000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7230
c1b096cb
EZ
7231 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7232
365dd325
EZ
7233 * charset.c (Ffind_charset_string): Doc fix.
7234 (Ffind_charset_region): Doc fix.
7235
eb483c2b
KH
72362000-10-11 Kenichi Handa <handa@mule.m17n.org>
7237
7238 * process.c (read_process_output): Fix previous change. Adjust
7239 multibyteness of text to insert in a buffer by
52283633 7240 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7241
b40bfb99
AS
72422000-10-10 Andreas Schwab <schwab@suse.de>
7243
7244 * alloc.c (mark_object): Remove all workarounds installed on
7245 1993-08-08.
7246
caff31d4
KH
72472000-10-10 Kenichi Handa <handa@etl.go.jp>
7248
52283633 7249 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7250 (base64_encode_1): Make it work for a text of multibyte form.
7251 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7252 case. Don't call str_to_multibyte because base64_decode_1
7253 produces correct multibyte form for eight-bit codes.
52283633 7254 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7255 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7256 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7257 codes.
7258
7259 * charset.h (CHAR_STRING): Optimized for single byte characters.
7260
cba026ef
AS
72612000-10-09 Andreas Schwab <schwab@suse.de>
7262
7263 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7264 -1 after socket is closed, to fall through to error processing.
7265
1e21fe48
EZ
72662000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7267
7268 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7269 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7270 background-color, change also the colors of the default face for
7271 this frame.
7272
a640322e
EZ
72732000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7274
7275 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7276 them extern (they are defined on xfaces.c).
7277 (syms_of_msdos): Don't intern and don't staticpro
7278 Qbackground_color and Qforeground_color.
7279
a115794c
EZ
72802000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7281
7282 * frame.c (Fframe_parameter): For non-windowed frames, if
7283 f->param_alist says foreground or background color is unspecified,
7284 call tty_color_name to return the color name computed from the
7285 frame's current colors.
7286
f5533b63
DL
72872000-10-06 Dave Love <fx@gnu.org>
7288
7289 * terminfo.c (ospeed): Don't declare.
7290
7291 * sysdep.c: Don't include string.h.
7292 (h_errno): Declare conditional also on TRY_AGAIN.
7293
7294 * charset.c (Ffind_charset_string): Doc fix.
7295
52283633 7296 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7297 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7298 error messages.
7299
2b06561a
DL
73002000-10-05 Dave Love <fx@gnu.org>
7301
7302 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7303 position like menu-bar.
7304
ca839c85
GM
73052000-10-05 Gerd Moellmann <gerd@gnu.org>
7306
7307 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7308
7309 * xdisp.c (handle_single_display_prop): Use safe_call1.
7310 (safe_call): Renamed from call_function.
7311 (safe_call1): New function.
7312 (handle_fontified_prop): Use safe_call1 instead of call1.
7313 (safe_eval): Renamed from eval_form.
7314 (safe_eval_handler): Renamed from eval_handler.
7315 (handle_single_display_prop, display_mode_element): Use safe_eval
7316 instead of eval_form.
7317
7318 * xfaces.c (merge_face_heights): Use safe_call instead of
7319 call_function.
7320
7321 * keyboard.c (show_help_echo): Use safe_call instead of
7322 call_function; use safe_eval instead of eval_form.
7323
7324 * lisp.h (safe_call): Renamed from call_function.
7325 (safe_eval): Renamed from eval_form.
7326 (safe_call1): Add prototype.
7327
a3489ece
MB
73282000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7329
7330 * xfns.c (image_ascent): Rearrange ascent calculation for the
7331 has-a-font case.
7332
35810b6f
SM
73332000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7334
7335 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7336 (where_is_internal_1): Don't bother ignoring menu-items any more.
7337
3dc78168
GM
73382000-10-04 Gerd Moellmann <gerd@gnu.org>
7339
7340 * keyboard.c (update_menu_bindings): New variable.
7341 (parse_menu_item): Use AREF. If update_menu_bindings
7342 is 0, don't update menu bindings.
7343 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7344
1efc2bb9
EZ
73452000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7346
7347 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7348 to `mark_object'.
7349
3f679f55
SM
73502000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7351
7352 * syntax.c (forw_comment): Match nestedness of ender/starter.
7353 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7354 (prev_char_comstart_first): Remove.
7355 (back_comment): Check two-char comment markers more carefully
7356 to better handle overlapping cases like *//* or /* */* */ ...
7357 Match nestedness of ender/starter.
7358
2021ab61
DL
73592000-10-02 Dave Love <fx@gnu.org>
7360
7361 * config.in (HAVE_GAI_STRERROR): Add undef.
7362
7363 * process.c (Fopen_network_stream): Use it.
7364
7365 * m/alpha.h (NO_REMAP): Don't define.
7366
64e6cc18
GM
73672000-10-02 Gerd Moellmann <gerd@gnu.org>
7368
7369 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7370 return with a string converted to an integer or vice versa when
7371 Vmocklisp_arguments is t.
7372 (Fsignal): Likewise. The function can return for `quit'.
7373 (struct gcpro): Declare member `var' to point to a volatile
7374 Lisp_Object.
7375
7376 * eval.c (error): Prevent compiler warning.
7377
b1904cd9
SM
73782000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7379
7380 * keymap.c (keymap_memberp): New function.
7381 (Fset_keymap_parent): Use it.
7382 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7383 Use keymap_memberp to avoid creating cycles.
7384 (access_keymap): Use KEYMAPP.
7385
71c9ec51
GM
73862000-09-30 Gerd Moellmann <gerd@gnu.org>
7387
7388 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7389 gai_strerror. Make sure xerrno is set if connect fails. Improve
7390 error recovery.
71c9ec51 7391
c70c6b58
JR
73922000-09-29 Jason Rumney <jasonr@gnu.org>
7393
7394 * w32term.c (w32_char_font_type, w32_encode_char)
7395 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7396 (w32_bdf_per_char_metric): New function.
7397 (w32_per_char_metric): Use it.
7398 (x_draw_glyph_string_background): Always draw background for BDF
7399 glyphs.
7400
7401 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7402 GDI object which is a scarce resource.
7403
7404 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7405 (get_quoted_string): Fix limit on memchr search.
7406 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7407 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7408 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7409 (get_cached_font_char, cache_char_offset): Use macro
7410 BDF_CODEPOINT_RANGE_COVER_P.
7411 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7412 (clear_cached_bitmap_slots): New function.
7413 (GET_HEX_VALUE): G-Z, g-z are not hex.
7414 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7415 (get_bitmap_with_cache): Use new cache implementation.
7416 (create_offscreen_bitmap): New function.
7417 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7418
7419 * w32term.c (x_produce_glyphs): If the distance from the current
7420 position to the next tab stop is less than a canonical character
7421 width, use the tab stop after that.
7422 (x_draw_glyphs): Handle case START and END are out of bounds more
7423 carefully.
7424 (x_clear_mouse_face): Block/unblock input.
7425 (x_display_and_set_cursor): Don't show a hollow box cursor for
7426 buffers whose cursor_type is nil.
7427
fe01239f
GM
74282000-09-29 Gerd Moellmann <gerd@gnu.org>
7429
52283633 7430 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7431
7432 * dispextern.h (updating_frame): Declare extern.
7433
e7c52f1f
AS
74342000-09-29 Andreas Schwab <schwab@suse.de>
7435
7436 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7437
de6e1f7c
GM
74382000-09-29 Gerd Moellmann <gerd@gnu.org>
7439
25126faa
GM
7440 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7441 use its function definition.
7442 (tool_bar_items): Likewise.
7443
de6e1f7c 7444 * lisp.h (fatal): Declare NO_RETURN.
52283633 7445
454ee39b
KH
74462000-09-29 Kenichi Handa <handa@etl.go.jp>
7447
7448 * keymap.c: Remove the line "#undef NULL".
7449
96301c5f
GM
74502000-09-28 Gerd Moellmann <gerd@gnu.org>
7451
52283633 7452 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7453
efffeeb4
DL
74542000-09-28 Dave Love <fx@gnu.org>
7455
ecb8b666
DL
7456 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7457
dc3cd20f
DL
7458 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7459
7460 * .gdbinit (xreload): Note its need on GNU/Linux.
7461
efffeeb4
DL
7462 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7463 r_alloc, r_alloc_free.
7464
8610d903
KH
74652000-09-28 Kenichi Handa <handa@etl.go.jp>
7466
7467 * syntax.c (skip_chars): Handle negation correctly.
7468
8901d1ac
GM
74692000-09-27 Gerd Moellmann <gerd@gnu.org>
7470
6f22f1ad
GM
7471 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7472 with non-zero FORCE_P argument.
7473
52283633 7474 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7475 Add assertions.
7476
7477 * xdisp.c (window_box_height): Add an assertion.
7478
7479 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7480 tool-bar than is available.
7481 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7482
36f1966f
DL
74832000-09-27 Dave Love <fx@gnu.org>
7484
efffeeb4 7485 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7486
31d929e5
GM
74872000-09-26 Gerd Moellmann <gerd@gnu.org>
7488
c98863bf
GM
7489 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7490 instead of BITS_PER_INT.
7491 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7492 EMACS_UINT, respectively.
7493 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7494
7495 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7496
7497 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7498
77072ab1
GM
7499 * window.c (freeze_window_starts): Construct last argument for
7500 foreach_window differently.
7501
7502 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7503
7504 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7505 EMACS_UINT instead of `int' and `unsigned int'.
7506 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7507
7508 * frame.h (struct frame): Make the `nothing' member of union
7509 output_data an EMACS_INT.
7510
52283633 7511 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7512 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7513 size in the sdata structure.
7514 (SDATA_NBYTES, SDATA_DATA): New macros.
7515 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7516 differently for the different layout of the sdata structure.
7517 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7518 in sdata.
7519 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7520 Check that size recorded in the string size and size recorded in
7521 the sdata structure agree.
7522
3e60b029
DL
75232000-09-25 Dave Love <fx@gnu.org>
7524
7525 * buffer.c: Include stdio.h.
7526
7527 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7528
3e60b029
DL
7529 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7530
7531 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7532 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7533 (__malloc_extra_blocks): Declare as __malloc_size_t.
7534
8ff16b4e
GM
75352000-09-25 Gerd Moellmann <gerd@gnu.org>
7536
755a2ccd
GM
7537 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7538
d8b4516f
GM
7539 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7540 (read_char): If help-echo is showing, preserve the echo area
7541 when redisplaying.
7542
7543 * xdisp.c (help_echo_showing_p): New variable.
7544 (set_message): Reset it to 0.
7545 (init_xdisp): Initialize help_echo_showing_p.
7546
7547 * dispextern.h (help_echo_showing_p): Declare extern.
7548
7549 * config.in: Fix typo in __GNUC_MINOR__.
7550
7551 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7552
b11af2dd
GM
7553 * s/freebsd.h (POSIX_SIGNALS): Define.
7554
8ff16b4e
GM
7555 * xterm.c (x_clear_mouse_face): Block/unblock input.
7556
844eb643
DL
75572000-09-24 Dave Love <fx@gnu.org>
7558
7559 * fns.c (base64_encode_1): Fix last change.
7560
b30ab1b3
GM
75612000-09-22 Gerd Moellmann <gerd@gnu.org>
7562
7563 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7564
7565 * xdisp.c (try_window_reusing_current_matrix): More fixes
7566 for the case window has a header-line.
7567
c6cbe5f0
DL
75682000-09-22 Dave Love <fx@gnu.org>
7569
4c7c1f3f
DL
7570 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7571 a doc string.
7572
7573 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7574
c6cbe5f0
DL
7575 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7576
550a625e
GM
75772000-09-21 Gerd Moellmann <gerd@gnu.org>
7578
4c7c1f3f 7579 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7580 for GCC >= 2.5.
7581
52283633
SM
7582 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7583 Declare NO_RETURN.
fca99116 7584
80d26f99
GM
7585 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7586 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7587 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7588 warnings.
52283633 7589
80d26f99
GM
7590 * marker.c (byte_char_debug_check): Return void.
7591
623a0aae
GM
7592 * xfns.c (Fx_create_frame): Set default frame parameter value
7593 for tool-bar-lines to 1.
7594
7595 * dispnew.c (scrolling_window): Compare y-positions of rows
7596 equal at the start. Some simplification.
7597
7598 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7599 reused rows' y-position in the case window has a header-line, and
7600 new window start is greater than old window start.
7601
42ac0ae5
GM
7602 * process.c (process_sent_to): New variable.
7603 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7604 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7605 Declare more parameters volatile.
7606
550a625e
GM
7607 * lread.c (Vrecursive_load_depth_limit): New variable.
7608 (Fload): Check recursive loads whose recursion depth exceeds
7609 Vrecursive_load_depth_limit.
7610 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7611
8320414c
GM
76122000-09-20 Gerd Moellmann <gerd@gnu.org>
7613
f46c275e
GM
7614 * fileio.c (Fread_file_name): Doc fix.
7615
7616 * editfns.c (Fmessage_or_box): Doc fix.
7617
7618 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7619
b7e11c5b 7620 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7621
8320414c
GM
7622 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7623 symbols are specified, add color translations to the cache.
52283633 7624 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7625 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7626 xpm_cache_color.
7627 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7628 structures to xpm_init_color_cache.
7629
da1608d9
GM
76302000-09-19 Gerd Moellmann <gerd@gnu.org>
7631
52283633 7632 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7633
6badfa25
AI
76342000-09-19 Andrew Innes <andrewi@gnu.org>
7635
7636 * makefile.nt (bootstrap-emacs): Don't change directory.
7637
3a5f42bb
KH
76382000-09-19 Kenichi Handa <handa@etl.go.jp>
7639
1b7649bd
KH
7640 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7641
3a5f42bb
KH
7642 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7643 If output buffer is too small, signal an appropriated error.
7644
9f83cf0b
DL
76452000-09-18 Dave Love <fx@gnu.org>
7646
52283633 7647 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7648 (current_active_maps): Remove redundant get_local_map call.
7649
28c7826c
GM
76502000-09-18 Gerd Moellmann <gerd@gnu.org>
7651
5cefa566
GM
7652 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7653 cursor for buffers whose cursor_type is nil.
52283633 7654
6fed3546
GM
7655 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7656 a feature to implement that is already implemented.
7657 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7658 warnings.
7659
7660 * xfns.c (x_clear_image_1): New function.
7661 (x_clear_image): Use it.
52283633 7662 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7663
05b1f851
GM
7664 * dispnew.c (update_window): Move test for invisible lines
7665 at the top to update_window_line.
7666 (update_window_line): Handle invisible lines here.
7667
f4779de9
GM
7668 * xfns.c (clear_image_cache): Clear current matrices of all
7669 frames sharing an image cache. Block input while freeing
7670 images. Fix timestamp comparison.
7671 (x_clear_image): Also free the mask.
7672
28c7826c
GM
7673 * xfns.c (lookup_image): Block input while loading the image so
7674 that we won't get interrupted in a state where the image isn't yet
7675 set up completely.
7676 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7677 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7678 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7679 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7680
b7412313
GM
76812000-09-16 Gerd Moellmann <gerd@gnu.org>
7682
7683 * dispnew.c (update_window): Make sure to make desired rows
7684 current even if they are completely invisible at the top
7685 of a window.
7686
47e351a3
GM
76872000-09-15 Gerd Moellmann <gerd@gnu.org>
7688
7f8f1edc
GM
7689 * xfns.c (lookup_image): Build mask before applying an algorithm.
7690 Recognize algorithm `disabled'.
7691 (cross_disabled_images): New variable.
7692 (COLOR_INTENSITY): New macro.
7693 (x_detect_edges): Use COLOR_INTENSITY.
7694 (x_disable_image): New function.
7695 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7696
7697 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7698 disabled state, don't apply an image transformation algorithm if
7699 the user specified an image for the disabled state. Use
28c7826c 7700 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7701 user hasn't specified an image.
7702
ebb8f116
GM
7703 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7704 allocation functions with the XPM lib.
7705 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7706 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7707 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7708 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7709 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7710 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7711 functions, if possible, because these handle color allocation
7712 failure more gracefully.
7713 (Fimage_mask_p): New function.
7714
47e351a3
GM
7715 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7716 (Qedge_detection, Qheuristic): New symbols.
7717 (syms_of_xfns): Initialize new symbols.
7718 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7719 `algorithm (edge-detection ...)'.
7720 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7721 (tiff_format, gif_format, gs_format): Add `:mask'.
7722 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7723 (GIF_MASK, GS_MASK): New enumerators.
7724 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7725 (emboss_matrix, laplace_matrix): New variables.
7726 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7727 (x_edge_detection): New functions.
7728 (x_laplace): Rewritten in terms of x_detect_edges.
7729 (x_build_heuristic_mask): If image has a mask, free it.
7730
fe83b953
AI
77312000-09-14 Andrew Innes <andrewi@gnu.org>
7732
7733 * makefile.w32-in: Revert to Unix line endings.
7734
3021e816
AI
77352000-09-14 Andrew Innes <andrewi@gnu.org>
7736
7737 * makefile.w32-in: Standardize indentation somewhat.
7738 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7739 cater for differences between shells.
7740
7741 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7742
2a32b5ea
GM
77432000-09-14 Gerd Moellmann <gerd@gnu.org>
7744
7745 * xterm.c (x_produce_glyphs): If the distance from the current
7746 position to the next tab stop is less than a canonical character
7747 width, use the tab stop after that.
7748
b4331e96
DL
77492000-09-14 Dave Love <fx@gnu.org>
7750
7751 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7752
ef9e4345
GM
77532000-09-14 Gerd Moellmann <gerd@gnu.org>
7754
085536c2
GM
7755 * xdisp.c (handle_fontified_prop): While running fontification
7756 functions, bind `fontification-functions' and
7757 `after-change-functions' to nil.
7758
ef9e4345
GM
7759 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7760 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7761
7762 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7763
7764 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7765 USE_MMAP_FOR_BUFFERS.
7766
7767 * insdel.c (make_gap): Use enlarge_buffer_text.
7768
7769 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7770 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7771 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7772 from former r_alloc_* functions in ralloc.c.
52283633 7773 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7774 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7775 (mmap_init) [REL_ALLOC_MMAP]: New function.
7776 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7777 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7778 BUFFER_FREE.
7779
7780 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7781 (enlarge_buffer_text): Add prototype.
7782
7783 * ralloc.c: Remove everything having to do with the use of mmap.
7784
f8608968
GM
77852000-09-13 Gerd Moellmann <gerd@gnu.org>
7786
2a494b2d
GM
7787 * sound.c (Fplay_sound): Doc fix.
7788
8c907a56
GM
7789 * keyboard.c: Avoid some more compiler warnings.
7790 (parse_tool_bar_item): Ignore cached key bindings.
7791
f8608968
GM
7792 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7793 and allocation of Lisp data.
7794
6ab70e9a
GM
77952000-09-12 Gerd Moellmann <gerd@gnu.org>
7796
d12d0a9b
GM
7797 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7798 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7799 defaults first.
7800
6ab70e9a
GM
7801 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7802
63c36c3c
KH
78032000-09-12 Miyashita Hisashi <himi@meadowy.org>
7804
7805 * ccl.c: Comment fixed.
7806 (MAX_MAP_SET_LEVEL): Increased to 30.
7807 (PUSH_MAPPING_STACK): Enclose with do-while block.
7808 (POP_MAPPING_STACK): Likewise.
7809 (stack_idx_of_map_multiple): New variable.
7810 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7811 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7812 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7813 (ccl_driver) <CCL_MapSingle>: Likewise.
7814 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7815 with the case where looking up process reaches to the end of
7816 map-set, and call CCL programs as the above change.
7817
7ee3bd7b
GM
78182000-09-11 Gerd Moellmann <gerd@gnu.org>
7819
8ec8a5ec
GM
7820 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7821 that might be clobbered by longjmp.
7822 (check_x_display_info, x_decode_color, create_frame_xic)
7823 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7824 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7825
f74b0705
GM
7826 * lread.c (init_lread): Set Vloads_in_progress to nil.
7827 (Fload): Show list of recursively loaded files, when signaling an
7828 error.
7829
7ee3bd7b
GM
7830 * lread.c (Vloads_in_progress): New variable.
7831 (record_load_unwind): New function.
7832 (Fload): Check for recursive loads.
7833 (syms_of_lread): Initialize Vloads_in_progress.
7834 (read_integer, read1): Avoid some compiler warnings.
7835
7836 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7837 compiler warnings.
7838
974e1e5b
MB
78392000-09-11 Miles Bader <miles@gnu.org>
7840
7841 * editfns.c (Fbuffer_string): Doc fix.
7842
9824c4e3
GM
78432000-09-10 Gerd Moellmann <gerd@gnu.org>
7844
7845 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7846
6a72fdd1
KR
78472000-09-09 Ken Raeburn <raeburn@gnu.org>
7848
7849 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7850 whether to include other header files.
7851
28e6fb66
GM
78522000-09-09 Gerd Moellmann <gerd@gnu.org>
7853
52283633 7854 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7855 by Fmemq as a boolean.
28e6fb66 7856
7f8b6551
SM
78572000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7858
7859 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7860
a8710abf
GM
78612000-09-08 Gerd Moellmann <gerd@gnu.org>
7862
d1a02881
GM
7863 * ralloc.c (mmap_fd): Remove initializer which can make it
7864 read-only in a dumped Emacs.
7865 (mmap_fd_1): New variable.
7866 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7867 restore it from there.
7868 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7869 unconditionally so that mmap_fd can be initialized there.
7870 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7871 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7872 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7873
c454aac1
GM
7874 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7875
7876 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7877 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7878
fc653ef2
GM
7879 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7880
3015eec0
GM
7881 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7882 inheritance.
7883
bfe0ee88
GM
7884 * xdisp.c (try_window_id): When trying to locate cursor in
7885 unchanged rows at the top, handle the case that we can't find it.
7886
a8710abf
GM
7887 * xterm.c (x_draw_glyphs): Handle case START and END are out
7888 of bounds more carefully.
7889
6b7d4ae4
DL
78902000-09-08 Dave Love <fx@gnu.org>
7891
423193c5
DL
7892 * s/sol2.h (REL_ALLOC_MMAP): Define.
7893 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7894
7895 * ralloc.c: Don't include string.h (redundant).
7896 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7897 [!MAP_ANON]: Include fcntl.h.
7898 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7899 (r_alloc, r_re_alloc, r_alloc_free)
7900 (mmap_enlarge, mmap_set_vars): Use it.
7901 (r_alloc_init_fd): New function.
7902 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7903 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7904 malloc type.
7905
7906 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7907 Remove vm-limit.o.
7908
6b7d4ae4
DL
7909 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7910 change to __NetBSD__.
7911
44d31981
KH
79122000-09-08 Kenichi Handa <handa@etl.go.jp>
7913
7914 * search.c (compile_pattern): Check the multibyteness of cached
7915 string and PATTERN.
7916
aad40737
MB
79172000-09-08 Miles Bader <miles@gnu.org>
7918
7919 * xfaces.c (default_face_vector): Function removed.
7920 (Finternal_merge_in_global_face): Restore old global/local
7921 attribute override order. Use inline loop instead of calling
7922 default_face_vector.
7923
91a211b5
GM
79242000-09-07 Gerd Moellmann <gerd@gnu.org>
7925
7926 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7927 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7928 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7929 where necessary, in case POINTER_TYPE is `void'.
7930
03419440
EZ
79312000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7932
7933 * frame.c (make_terminal_frame): Initialize frame foreground and
7934 background colors to unspecified, for the initial instance of an
7935 MSDOS frame.
7936
f46f845b
GM
79372000-09-07 Gerd Moellmann <gerd@gnu.org>
7938
24f76fbf
GM
7939 * ralloc.c (mmap_find): Fix overlap computation.
7940 (mmap_enlarge): Compute nbytes before trying to find an
7941 overlapping region.
7942
f46f845b
GM
7943 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7944 instead of `!='.
7945
7946 * lread.c (syms_of_lread): Change value of regexp
7947 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7948
7949 * xmenu.c (xdialog_show): When looking up the selection in
7950 menu_items, take `quote' boundaries into account; this corresponds
7951 to a nil ITEM in x-popup-dialog.
7952
3c014385
KH
79532000-09-07 Kenichi Handa <handa@etl.go.jp>
7954
fd6f711b
KH
7955 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7956 not 0x81.
7957 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7958
3c014385 7959 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7960 encoding, not decoding. Fix the handling of latin-jisx0201.
7961 Check for the charset katakana-jisx0201 too.
3c014385 7962 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7963 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7964
0da3ecef
GM
79652000-09-07 Gerd Moellmann <gerd@gnu.org>
7966
ab0ee409
GM
7967 * xfaces.c (Vparam_value_alist): New variable.
7968 (syms_of_xfaces): Initialize it.
7969 (Finternal_set_lisp_face_attribute): Avoid more consing.
7970
7971 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7972 specially.
7973 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7974 (Qbackground_mode): New variable.
7975 (syms_of_frame_1): Initialize Qbackground_mode.
7976
7977 * lisp.h (Qdisplay): Declare extern.
1091dd67 7978
0da3ecef
GM
7979 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7980 change face on all frames, and change the default for new frames.
7981
b14654b9
DL
79822000-09-07 Dave Love <fx@gnu.org>
7983
7984 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7985
d24fd56f
KH
79862000-09-07 Kenichi Handa <handa@etl.go.jp>
7987
794f3670
KH
7988 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7989
0fddd0dc
KH
7990 * charset.c: Include composite.h
7991 (lisp_string_width): New function.
7992 (Fstring_width): Call lisp_string_width instead of strwidth.
7993
7994 * Makefile.in (charset.o): Depends on composite.h.
7995
d24fd56f
KH
7996 * process.c (read_process_output): Before inserting the decoded
7997 text in the buffer, adjust the multibyteness.
7998
fa0b693c
GM
79992000-09-06 Gerd Moellmann <gerd@gnu.org>
8000
52283633 8001 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8002 buffer's text buffer is null, map new memory.
8003
0a58f946
GM
8004 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8005 POINTER_TYPE and size_t.
8006 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8007 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8008 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8009 [REL_ALLOC_MMAP]: New macros.
8010 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8011 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8012 [REL_ALLOC_MMAP]: New functions.
8013
8014 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8015 before and after unexec.
8016
8017 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8018 text buffers if necessary.
8019
8020 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8021 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8022 in prototypes.
8023
fa0b693c
GM
8024 * config.in (HAVE_MMAP): Add #undef.
8025
877055f6
GM
80262000-09-05 Gerd Moellmann <gerd@gnu.org>
8027
08ba3862
GM
8028 * frame.c (Qdisplay_type): New variable.
8029 (syms_of_frame_1): Initialize it.
8030 (Fframe_parameter): New function that avoids consing.
8031 (syms_of_frame): Defsubr it.
8032
66ffe51c
GM
8033 * buffer.c (Fother_buffer): Consider buffers as invisible when
8034 they are displayed in a window on an invisible frame.
8035
877055f6
GM
8036 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8037 get-largest-window always return nil.
8038
bb970e67
GM
80392000-09-04 Gerd Moellmann <gerd@gnu.org>
8040
8041 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8042 variable; recognize Emacs 19 elc files.
8043
7a3d0e0e
MB
80442000-09-04 Miles Bader <miles@gnu.org>
8045
8046 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8047 before initially popping up the menu, so the menu doesn't flash
52283633 8048 when the face settings are significantly different from the defaults.
7a3d0e0e 8049
14473664
SM
80502000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8051
8052 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8053 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8054 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8055 (BIT_UNIBYTE): Remove.
8056 (re_match_2_internal): Delete corresponding code and streamline the
8057 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8058 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8059 (re_wctype_t): New type.
8060 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8061 (regex_compile): Use them and fix handling of overly long char classes.
8062
c1174479
AI
80632000-09-03 Andrew Innes <andrewi@gnu.org>
8064
f8803e97
AI
8065 * makefile.w32-in: Change to DOS line endings.
8066
c1174479
AI
8067 * s/ms-w32.h (ORDINARY_LINK): New define.
8068
8069 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8070 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8071
8072 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8073 (distclean): Delete them here instead.
8074
44ef7cf6
AI
8075 * w32proc.c (compare_env): Convert to uppercase for comparison,
8076 not lowercase, to match how the native Windows shell works.
8077
49b3bd82
JR
80782000-09-03 Jason Rumney <jasonr@gnu.org>
8079
8080 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8081 CVS changes the line-ends when checking in/out on DOS/Windows.
8082
8083 * makefile.nt (emacs): Do not change directory to run temacs, as
8084 the load-path is set relative to current directory.
8085
a3d35a39
MB
80862000-09-03 Miles Bader <miles@gnu.org>
8087
8088 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8089
d276b0cf
GM
80902000-09-02 Gerd Moellmann <gerd@gnu.org>
8091
715e84c9
GM
8092 * xdisp.c (redisplay_mode_lines): New function.
8093 (display_mode_lines): Return number of mode lines displayed.
8094 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8095 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8096
8892f40b
GM
8097 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8098 string.h and strings.h.
8099 (index) [HAVE_INDEX]: Add prototype.
8100
d276b0cf
GM
8101 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8102 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8103
8104 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8105 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8106
38404229
GM
81072000-09-01 Gerd Moellmann <gerd@gnu.org>
8108
8109 * lread.c (read1): Accept `?' as symbol constituent, for
8110 compatiblity with XEmacs.
8111
c0f9ea08
SM
81122000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8113
8114 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8115 (struct re_pattern_buffer): Remove newline_anchor.
8116 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8117 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8118 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8119 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8120 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8121 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8122 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8123 Get rid of references to newline_anchor.
8124 (regcomp): Allocate and precompute a fastmap.
8125
8c0f83fe
GM
81262000-08-31 Gerd Moellmann <gerd@gnu.org>
8127
8128 * lread.c (openp): GCPRO local variable `filename'.
8129
4bb91c68
SM
81302000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8131
8132 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8133
8134 * regex.c: Merge some changes from GNU libc. Add prototypes.
8135 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8136 Use memcmp and memcpy instead of bcopy and bcmp.
8137 (init_syntax_once): Use ISALNUM.
8138 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8139 (REG_UNSET_VALUE): Remove. Use NULL instead.
8140 (REG_UNSET, re_match_2_internal): Use NULL.
8141 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8142 New macros.
8143 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8144 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8145 (regex_compile): In handle_interval, return an error rather than try to
8146 unfetch the interval if we can't find the closing brace.
8147 Obey the RE_NO_GNU_OPS syntax bit.
8148 (TOLOWER): New macro.
8149 (regcomp): Use it.
8150 (regexec): Allocate regs.start and regs.end as one block.
8151
5226a931
GM
81522000-08-30 Gerd Moellmann <gerd@gnu.org>
8153
868dd24b
GM
8154 * xdisp.c (echo_area_display): Check display_completed instead
8155 of calling detect_input_pending.
8156
8157 * dispnew.c (update_frame): Only set display_completed here; move
8158 the update_begin and update_end calls here from update_frame_1.
8159 (update_frame_1): Don't set display_completed here, don't call
8160 update_begin/update_end.
8161
5226a931
GM
8162 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8163 instead of store_frame_param.
8164
2a8bd25f
GM
81652000-08-29 Gerd Moellmann <gerd@gnu.org>
8166
8167 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8168 desired window matrix hasn't been displayed, use the current row
8169 instead. Make sure that only those frame rows are updated for
8170 which there exists a corresponding enabled desired row.
52283633 8171
ba3478d9
MB
81722000-08-29 Miles Bader <miles@gnu.org>
8173
8174 * xfaces.c (default_face_vector): New function.
8175 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8176
87d0f685
GM
81772000-08-29 Gerd Moellmann <gerd@gnu.org>
8178
8179 * lread.c (openp): Prevent temporary string passed to
8180 Ffile_readable_p from being garbage collected.
8181
6fa86045
DL
81822000-08-28 Dave Love <fx@gnu.org>
8183
8184 * keymap.c (store_in_keymap): Add `static' to declaration.
8185
bb17930d
GM
81862000-08-28 Gerd Moellmann <gerd@gnu.org>
8187
8188 * emacs.c, callint.c, doc.c, editfns.c
8189 (toplevel) [HAVE_STRING_H]: Include string.h.
8190 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8191 (index): Remove prototypes which might conflict with non-standard
8192 definitions of index/strchr.
8193
8194 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8195 (rindex): Define only if !HAVE_RINDEX.
8196
8197 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8198
8199 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8200
87188200
MB
82012000-08-28 Miles Bader <miles@gnu.org>
8202
8203 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8204 made inconsistent by a font-related attribute in FROM.
8205 (merge_face_inheritance): Add function comment.
8206
41a68aef
KH
82072000-08-28 Kenichi Handa <handa@etl.go.jp>
8208
8209 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8210 the 4th arg (PREV_EVENT) Qt to suppress input method.
8211
f7c436c1
SM
82122000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8213
0b32bf0e
SM
8214 * regex.c: Indent cpp directives and remove parens after `defined'.
8215 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8216 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8217 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8218 (re_compile_pattern): Use size_t for length.
8219 (init_syntax_once): Move to a better place.
8220 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8221 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8222
f7c436c1
SM
8223 * syntax.c (back_comment): Detect cases where a comment-starter is
8224 actually inside another comment as in: /* a // b */ c // d \n.
8225 Make it clear that `comstart_pos' is unused for nested comments.
8226
8227 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8228 (KEYMAPP): New macro.
8229 (Fkeymap_parent, Fset_keymap_parent): Use it.
8230 (fix_submap_inheritance): Mark it static.
8231 (define_as_prefix, describe_buffer_bindings, describe_command)
8232 (describe_translation, describe_map): Complete prototypes.
8233
8234 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8235
8236 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8237 to better match the key-lookup behavior.
8238
6288c62f
GM
82392000-08-27 Gerd Moellmann <gerd@gnu.org>
8240
8241 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8242 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8243
e931344e
EZ
82442000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8245
8246 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8247 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8248 (xterm.o): Depend on coding.h
8249
d10dfeef
KH
82502000-08-26 Kenichi Handa <handa@etl.go.jp>
8251
8252 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8253 the corresponding '#endif'.
8254
2d73e8d3
MB
82552000-08-26 Miles Bader <miles@gnu.org>
8256
8257 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8258 * xfaces.c (QCinherit): New variable.
8259 (syms_of_xfaces): Initialize it.
8260 (LFACE_INHERIT): New macro.
8261 (Finternal_get_lisp_face_attribute)
52283633 8262 (merge_face_vector_with_property)
2d73e8d3
MB
8263 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8264 (check_lface_attrs): Allow new types of face height. Check
8265 inherit attribute.
8266 (CYCLE_CHECK): New macro.
8267 (merge_face_inheritance): New function.
8268 (merge_face_vectors): Merge inherited faces too. Add F and
8269 CYCLE_CHECK arguments.
8270 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8271 (lookup_named_face, lookup_derived_face, realize_named_face)
8272 (face_at_string_position, face_at_buffer_position): Supply
8273 new F and CYCLE_CHECK arguments to merge_face_vectors.
8274 (merge_face_heights): New function.
52283633 8275 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8276 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8277 handle relative face heights.
8278 (lface_same_font_attributes_p): Compare heights using EQ.
8279
6ce974d4
KH
82802000-08-26 Kenichi Handa <handa@etl.go.jp>
8281
8282 * charset.c (char_to_string): Check the character validity.
52283633 8283 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8284
dc1e502d
SM
82852000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8286
8287 * regex.c (PUSH_FAILURE_COUNT): New macro.
8288 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8289 Handle popping of a register's or a counter's data.
8290 (POP_FAILURE_POINT): Use the new name.
8291 (re_match_2_internal): Push counter data on the stack for succeed_n,
8292 jump_n and set_number_at and remove misleading dead code in succeed_n.
8293
bd9d0f3f
GM
82942000-08-25 Gerd Moellmann <gerd@gnu.org>
8295
8296 * xdisp.c (redisplay_internal): If considering all windows on all
8297 frames, update the display for each frame as soon as possible,
8298 instead of first building all desired matrices for all frames, and
8299 then updating them all.
8300 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8301
aa5b8e15
GM
83022000-08-24 Gerd Moellmann <gerd@gnu.org>
8303
17494071
GM
8304 * bytecode.c (mark_byte_stack): Add a comment.
8305
52283633
SM
8306 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8307 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8308 a graphical frame.
8309
c543db81
KH
83102000-08-24 Kenichi Handa <handa@etl.go.jp>
8311
d246d5f5
KH
8312 * minibuf.c (do_completion): Always use compare-string, not
8313 string-equal because the latter doesn't pay attention to
8314 multibyteness of strings.
8315
c543db81
KH
8316 * process.c (create_process): Don't setup raw-text coding here.
8317 (Fopen_network_stream): Don't set coding->src_multibyte and
8318 coding->dst_multibyte here.
8319 (read_process_output): For process filter, return unibyte string
8320 if default-enable-multibyte-characters is nil.
8321 (send_process): If OBJECT is multibyte text, be sure to encoded it
8322 by the specified coding system for the process. Otherwise, setup
8323 raw-text coding.
52283633 8324 (init_process): Don't initialize default-process-coding-system here.
c543db81 8325
9b47cfe0
EZ
83262000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8327
8328 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8329 <scroll-down-aggressively>: Likewise.
8330
f5a36960
KH
83312000-08-23 Kenichi Handa <handa@etl.go.jp>
8332
8333 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8334 zero. Set coding->produced_char correctly.
8335
69a7ffa7
AI
83362000-08-22 Andrew Innes <andrewi@gnu.org>
8337
8338 * makefile.w32-in: New file.
8339
8340 * unexw32.c (unexec): Ignore old_name, and use the actual location
8341 of the current executable instead. Base new_name on this.
8342
8343 * w32proc.c (create_child): Remove reference to security
8344 descriptor, which isn't needed and doesn't compile with mingw32.
8345
8346 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8347 up dllimport attributes.
8348 (x_update_window_end): Update prototype.
8349
8350 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8351 extern, which screws up dllimport attributes.
8352
8353 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8354 up dllimport attributes.
8355
8356 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8357 screws up dllimport attributes.
8358
8359 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8360 up dllimport attributes.
8361 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8362 screws up dllimport attributes.
8363
8364 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8365 up dllimport attributes.
8366
8367 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8368 screws up dllimport attributes.
8369
8370 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8371 screws up dllimport attributes.
8372
8373 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8374 up dllimport attributes.
8375
8376 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8377 unnecessary extern, which screws up dllimport attributes.
8378 (main): Ditto.
8379
8380 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8381 up dllimport attributes.
8382
8383 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8384 unnecessary extern, which screws up dllimport attributes.
8385
8386 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8387 screws up dllimport attributes.
8388
8389 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8390 up dllimport attributes.
8391
8392 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8393
52283633
SM
8394 * w32bdf.c (search_file_line):
8395 (set_bdf_font_info):
8396 (seek_char):
8397 (w32_get_bdf_glyph):
69a7ffa7
AI
8398 (w32_BDF_to_x_font): Fix compile warnings.
8399
52283633 8400 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8401
8402 * w32select.c: Include keyboard.h before frame.h.
8403
8404 * w32fns.c (max): Define macro.
8405 (JOHAB_CHARSET): Define if not known.
8406 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8407 (Fx_show_tip): Synch with X version.
8408
8409 * w32xfns.c: Include keyboard.h before frame.h.
8410
8411 * w32fns.c: Include keyboard.h before frame.h.
8412
8413 * w32term.c: Include keyboard.h before frame.h.
8414
8415 * fontset.c: Include keyboard.h before frame.h.
8416
8417 * w32inevt.c: Include keyboard.h before frame.h.
8418 (MOUSE_MOVED): Define if not known.
8419
8420 * minibuf.c: Include keyboard.h before frame.h.
8421
8422 * keyboard.c: Include keyboard.h before frame.h.
8423
8424 * indent.c: Include keyboard.h before frame.h.
8425
8426 * dispnew.c: Include keyboard.h before frame.h.
8427
8428 * buffer.c: Include keyboard.h before frame.h.
8429
8430 * alloc.c: Include keyboard.h before frame.h.
8431
8432 * print.c: Include keyboard.h before frame.h.
8433
8434 * process.c: Include keyboard.h before frame.h.
8435
8436 * scroll.c: Include keyboard.h before frame.h.
8437
8438 * sysdep.c: Include keyboard.h before frame.h.
8439
8440 * term.c: Include keyboard.h before frame.h.
8441
8442 * window.c: Include keyboard.h before frame.h.
8443
8444 * xdisp.c: Include keyboard.h before frame.h.
8445 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8446
8447 * frame.c: Include keyboard.h before frame.h.
8448
8449 * w32heap.h: Undefine min, max.
8450
8451 * w32gui.h: Undefine min, max.
8452
8453 * unexw32.c: Change PUCHAR to PCHAR.
8454 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8455 (relocate_offset):
8456 (get_section_info):
69a7ffa7
AI
8457 (copy_executable_and_dump_data): Remove unnecessary static defs.
8458 (copy_executable_and_dump_data): Fix compile warnings.
8459
8460 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8461
8462 * w32console.c (min): Define macro.
8463 (clear_frame, write_glyphs): Fix compile warning.
8464
52283633 8465 * w32proc.c (compare_env):
69a7ffa7
AI
8466 (find_child_console): Fix compile warning.
8467
8468 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8469 sys_errlist instead of _sys_errlist.
8470 (get_emacs_configuration_options): New function.
8471
8472 * s/ms-w32.h (sys_nerr): Provide default definition.
8473 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8474 name with _ prepended.
8475 (NSIG): Define if not known.
8476 (get_emacs_configuration): Provide extern declaration.
8477 (get_emacs_configuration_options): Provide extern declaration.
8478 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8479
8480 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8481 (map_w32_filename):
69a7ffa7
AI
8482 (read_unc_volume): Fix compile warning.
8483
8484 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8485 definitions from being used.
8486
8487 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8488
52283633 8489 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8490 (open_unc_volume): Make arg const.
8491
8492 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8493 (read_input_waiting): Remove excess parameter.
8494
8495 * w32.c (init_environment): Call _access.
8496 (check_windows_init_file): Call _close.
8497 (init_user_info): Call _putenv.
8498 (init_environment): Call _putenv and _strdup.
8499 (init_ntproc): Reset volume info cache on startup.
8500
8501 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8502 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8503 cannot override the CRT malloc.
8504
8505 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8506 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8507
8508 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8509 unless we are linking with a static CRT.
8510 (RVA_TO_PTR): Cast result to unsigned char*.
8511
8512 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8513 (add_volume_info): Use xstrdup.
8514
25060080
SM
85152000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8516
8517 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8518 (do_completion, Fminibuffer_complete_word): Use it.
8519 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8520 var so it can take non-boolean values.
8521
6917e6bb
GM
85222000-08-21 Gerd Moellmann <gerd@gnu.org>
8523
acb7cc89 8524 * editfns.c (find_field): Formatting changes.
52283633 8525 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8526 changed to prototypes, some new protypes added, some functions
8527 made static.
8528
8529 * lisp.h (set_time_zone_rule): Add prototype.
8530 (use_dialog_box): External declaration.
8531
0bbfdc25
GM
8532 * keyboard.c (gen_help_event): Add parameter SIZE.
8533 (kbd_buffer_events_waiting): Slightly rewritten.
8534 (clear_event): New function.
8535 (kbd_buffer_get_event): Use it, and clear the input_events of
8536 HELP_EVENTs.
8537 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8538 don't fill the newly created array with nils.
8539 (toplevel): Convert some old-style function forward declarations
8540 to prototypes.
8541
8542 * keyboard.h (gen_help_event): Change prototype.
8543
8544 * xterm.c (XTread_socket): Change calls to gen_help_event.
8545
8546 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8547
6917e6bb
GM
8548 * eval.c (Fmacroexpand): Doc fix.
8549
e5cd3d11
JR
85502000-08-20 Jason Rumney <jasonr@gnu.org>
8551
8552 * w32term.h (x_display_info_for_display): Remove as this function
8553 does not exist on W32.
8554
8555 * w32term.c (help_echo_window): New variable.
8556 (syms_of_w32term): staticpro it.
8557 (note_mode_line_highlight): Set it.
8558 (XTextExtents16): Removed as there is no equivalent on W32.
8559 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8560 the X way of doing this will not work for W32.
8561 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8562 (x_draw_image_foreground): Avoid drawing outside of the clip area
8563 when image doesn't have a mask.
8564 (note_mouse_highlight): Process overlays in the right order of
8565 priority. Set help_echo_window.
8566 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8567 because that's more visible for large images.
8568
8569 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8570 name to single_keymap_panes.
8571 (w32_menu_show): Set wv->title when dealing with titles.
8572 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8573
6e69ab8c
MB
85742000-08-21 Miles Bader <miles@gnu.org>
8575
8576 * minibuf.c (do_completion): Try again if we rewrite the input
8577 string, but no completion was done, so that any completion message
8578 will be correct.
8579
511bd4eb
GM
85802000-08-20 Gerd Moellmann <gerd@gnu.org>
8581
8582 * xfaces.c (lface_equal_p): Compare strings differently.
8583 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8584 (realize_tty_face): Use them.
8585 (syms_of_xfaces): Initialize new variables.
8586 (map_tty_color): New function, extracted from realize_tty_face.
8587 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8588 foreground or background color, store the new color name in the
8589 realized face; previous code trying to do this had no effect.
8590 (realize_tty_face): Use map_tty_color.
8591 (Fclear_face_cache): Set face_change_count and ensure thorough
8592 redisplay.
8593
1433385f
GM
85942000-08-19 Gerd Moellmann <gerd@gnu.org>
8595
511bd4eb
GM
8596 * undo.c (record_first_change, record_marker_adjustment): Don't
8597 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8598
419ac0a2
KH
85992000-08-18 Kenichi Handa <handa@etl.go.jp>
8600
8601 * coding.c (decode_coding_string): Set members consumed,
8602 consumed_char, produced, produced_char of *coding correctly. If
8603 decode_coding doesn't consume any byte, don't try anymore.
8604 (encode_coding_string): Likewise.
8605
7eb9e30d
GM
86062000-08-18 Gerd Moellmann <gerd@gnu.org>
8607
511bd4eb
GM
8608 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8609 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8610
8611 * xdisp.c (redisplay_internal): Compare windows for equality with
8612 EQ, instead of applying XWINDOW to something that might not
8613 be a window.
52283633 8614
dd34a735
KH
86152000-08-18 Kenichi Handa <handa@etl.go.jp>
8616
8617 * fontset.c (Finternal_char_font): Search only the selected frame
8618 for a window of the current buffer.
8619
385ff9e3
GM
86202000-08-18 Gerd Moellmann <gerd@gnu.org>
8621
511bd4eb 8622 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8623 Lisp_Objects.
8624
385ff9e3
GM
8625 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8626 second half of a HELP_EVENT is found at the start of kbd_buffer.
8627
d6abb4c7
MB
86282000-08-18 Miles Bader <miles@gnu.org>
8629
4618074a
MB
8630 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8631
d6abb4c7
MB
8632 * editfns.c (save_restriction_save): Rewrite to use markers.
8633 (save_restriction_restore): Rewrite to understand new form of data
8634 saved by save_restriction_save.
8635 (Fsave_restriction): Remove cautionary note in doc-string.
8636
a7b28523
GM
86372000-08-17 Gerd Moellmann <gerd@gnu.org>
8638
8639 * fileio.c (build_annotations): Add a comment explaining the
8640 return value of format-annotate-function. Replace a spurious call
8641 to Flength with a CONSP test. Call format-annotate-function with
8642 a fifth arg specifying how many times the function is been called
8643 in a row, to let it choose temporary buffers appropriately.
8644
03c9ed77
DL
86452000-08-17 Dave Love <fx@gnu.org>
8646
8647 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8648 declare make_temp_name twice.
8649
52283633 8650 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8651 (unreadpure): Give it an arg.
8652
8653 * unexalpha.c: Prototype fatal_unexec, mark_x,
8654 update_dynamic_symbols. Declare unexec as void.
8655
8656 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8657 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8658
8659 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8660 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8661
8662 * alloca.c: Use #error.
8663 [POINTER_TYPE]: Use it.
8664
8665 * eval.c (Fdefvar): Doc fix.
8666
8667 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8668 INITIALIZE_INTERVAL.
8669
8670 * buffer.h: Avoid DECLARE_INTERVALS.
8671
8672 * config.in: Add size_t.
8673
aae41d97
EZ
86742000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8675
8676 * w16select.c (set_clipboard_data): If there's not enough memory
8677 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8678 expects. In case of other failures, return 3.
8679 (system_error_msg): New error message.
8680 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8681 system_error_msg.
8682
65aa5e85
GM
86832000-08-16 Gerd Moellmann <gerd@gnu.org>
8684
8685 * term.c (write_glyphs): Also turn off inverse video after turning
8686 off other appearances in case TS_exit_attribute_mode is not equal
8687 to TS_end_standout_mode.
8688 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8689 with the same face.
8690 (turn_off_face): Reset standout_mode only if
8691 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8692 is equal to TS_end_standout_mode.
8693
ece23901
KH
86942000-08-16 Kenichi Handa <handa@etl.go.jp>
8695
9d7bcb2e
KH
8696 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8697 sequence at the end of the source block.
8698
ece23901
KH
8699 * ccl.c (Fccl_program_p): Docstring modified.
8700 (Fccl_execute): Likewise.
8701 (Fccl_execute_on_string): Likewise.
8702
5e30eaa2
EZ
87032000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8704
8705 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8706
290602fd
KH
87072000-08-16 Kenichi Handa <handa@etl.go.jp>
8708
8709 The following changes are mainly to fix bugs of
8710 encode/decode-coding-string failing if encoding/decoding return
8711 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8712 variable conversion_buffer.
8713
8714 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8715 decrement dst_end to avoid buffer overflow in the later call of
8716 string_as_multibyte
8717
8718 * coding.h (conversion_buffer_size, conversion_buffer)
8719 (get_conversion_buffer): Extern deleted.
8720
8721 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8722 (conversion_buffer, conversion_buffer_size): Variables deleted.
8723 (get_conversion_buffer): Function deleted.
8724 (struct conversion_buffer): New structure.
8725 (MAX_ALLOCA): New macro.
8726 (allocate_conversion_buffer): New macro.
8727 (extend_conversion_buffer, free_conversion_buffer): New functions.
8728 (ccl_coding_driver): Set coding->result.
8729 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8730 this is the last block of source.
8731 (encode_coding): Likewise. Handle the source block as the last
8732 one only when the whole source text is consumed.
8733 (decode_coding_string): Handle the case that the output buffer is
8734 too small to decode the whole source text. Use
8735 allocate_conversion_buffer, extend_conversion_buffer and
8736 free_conversion_buffer, not get_conversion_buffer.
8737 (encode_coding_string): Likewise.
8738 (init_coding): Function deleted.
52283633 8739 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8740
8741 * emacs.c (main): Don't call init_coding.
8742
52283633 8743 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8744
8745 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8746 (insert_glyphs): Likewise.
8747
8748 * w32console.c (write_glyphs): Use a locally declared
8749 conversion_buffer.
8750
b9f80d41
EZ
87512000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8752
8753 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8754 member of display_info is NULL.
8755
32dc52f7
GM
87562000-08-15 Gerd Moellmann <gerd@gnu.org>
8757
52283633 8758 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8759
32dc52f7 8760 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8761 appearances with capability `me'.
32dc52f7
GM
8762 (write_glyphs): Switch on inverse video before each face change.
8763
4eb22d33
DL
87642000-08-14 Dave Love <fx@gnu.org>
8765
8766 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8767 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8768 (lisp_free): Declare and make static.
8769
8770 * window.c: Fix embedded comment.
8771 (syms_of_window): Fix doc string.
8772
90cbf47e
GM
87732000-08-14 Gerd Moellmann <gerd@gnu.org>
8774
52283633 8775 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8776 make sure to print `C-' before `M-', like in the manual.
8777
440fc135
GM
87782000-08-11 Gerd Moellmann <gerd@gnu.org>
8779
8780 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8781 since they aren't relocated anymore.
52283633 8782 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8783
8784 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8785 partially visible line which is smaller than the window's height.
440fc135 8786
6e264fad
KH
87872000-08-11 Kenichi Handa <handa@etl.go.jp>
8788
8789 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8790 the multibyte form of eight-bit-control characters.
6e264fad
KH
8791 (Fccl_execute_on_string): Initialize ccl->multibyte.
8792
8793 * ccl.h (struct ccl_program): New member multibyte.
8794
8795 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8796
c371f69a
KH
87972000-08-11 Kenichi Handa <handa@etl.go.jp>
8798
8799 * regex.c (regex_compile) <normal_char>: Pay attention to
8800 multibyteness.
8801 (analyse_first) <exactn>: Setup fastmap correctly for
8802 eight-bit-control characters.
8803
88042000-08-11 Kenichi Handa <handa@etl.go.jp>
8805
52283633 8806 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8807
8808 * keyboard.c (make_lispy_event): Handle the new event type
8809 multibyte_char_keystroke.
8810
8811 * xterm.c: Include coding.h.
8812 (XTread_socket): Work around a bug of XmbLookupString. If the
8813 input is from XIM, decode it according to the current locale. In
8814 that case, generate multibyte_char_keystroke events.
8815
b8ddbe71
KH
88162000-08-11 Kenichi Handa <handa@etl.go.jp>
8817
8818 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8819 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8820
47589c8c
GM
88212000-08-10 Gerd Moellmann <gerd@gnu.org>
8822
8823 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8824 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8825 (move_it_in_display_line_to): Record iterator's ascent and descent
8826 before producing glyphs, and restore them when we know the glyph
8827 doesn't fit on the line.
8828 (move_it_to): Restructured so that it's easier to debug. If
8829 moving to a vpos, and not moving to an x or character position,
8830 stop as soon as the specified vpos is reached; don't move further
8831 into that line because that might change the computed line height.
8832 (try_cursor_movement): New function, extracted from the cursor
8833 movement branch of redisplay_window. If ending on a partially
8834 visible line, don't try to scroll if the cursor line is taller
8835 than the window.
8836 (redisplay_window): Use try_cursor_movement.
8837
8838 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8839 because that function doesn't cope with variable-height lines.
8840
8841 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8842 box cursor because that's better visible for large images.
52283633 8843
c51bacd6
MB
88442000-08-10 Miles Bader <miles@gnu.org>
8845
8846 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8847
bea56df7
GM
88482000-08-10 Gerd Moellmann <gerd@gnu.org>
8849
8850 * xdisp.c (Vmessages_buffer_name): New variable.
8851 (message_dolog): Use it.
8852 (syms_of_xdisp): Initialize it.
8853
99cd7364
EZ
88542000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8855
52283633 8856 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8857 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8858 redundant now that keyboard.h is included.
8859
7d093d56
EZ
88602000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8861
8862 * keyboard.c (kbd_buffer_events_waiting): New function.
8863
8864 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8865
8866 * msdos.c: Include keyboard.h.
8867 (XMenuActivate): Empty no_event events from the event buffer. If
8868 no events are left after that, call clear_input_pending.
8869 (mouse_clear_clicks): New function, code moved from mouse_init.
8870 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8871 mouse driver to ``forget'' any past clicks.
8872
8873 * Makefile.in (msdos.o): Depend on keyboard.h.
8874
41e757a6
GM
88752000-08-09 Gerd Moellmann <gerd@gnu.org>
8876
8e7bd231
GM
8877 * lisp.h (input_pending): External declaration.
8878
8879 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8880
8e7bd231
GM
8881 * xdisp.c (echo_area_display): Display thoroughly if input is
8882 pending. Bind redisplay-dont-pause to t during the redisplay.
8883 in case input is pending.
8884
8885 * dispnew.c (Qredisplay_dont_pause): New variable.
8886 (syms_of_display): Initialize and staticpro it.
8887 (update_frame_1): Don't interrupt the display for pending input if
8888 redisplay_dont_pause is set.
52283633 8889
43028b7e
GM
8890 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8891
41e757a6
GM
8892 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8893
2f2174fa
KH
88942000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8895
8896 * callproc.c (Fcall_process): Terminate the unwind-protect around
8897 the post-read-conversion of coding system.
8898
0a6fd67e
MB
8899 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8900 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8901 * buffer.h (overlays_at): Update prototype.
8902 * xdisp.c (next_overlay_change): Update call to overlays_at.
8903 * xfaces.c (face_at_buffer_position): Likewise.
8904 * textprop.c (Fget_char_property): Likewise.
8905 * xterm.c (note_mouse_highlight): Likewise.
8906
0c80756e
MB
8907 * minibuf.c (do_completion): Don't consider a simple change of
8908 case as `completion'.
8909
975f250a
KR
89102000-08-08 Ken Raeburn <raeburn@gnu.org>
8911
52283633 8912 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8913 * undo.c (record_delete): Make sure last_point_position_buffer is
8914 a buffer before comparing pointers.
8915
8916 * coding.h (decode_coding_string): Declare.
8917
8918 * intervals.h (Fprevious_single_char_property_change): Declare.
8919
8920 * textprop.c (Fprevious_single_char_property_change): Don't do
8921 arithmetic directly on lisp objects.
8922
52283633 8923 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8924
8925 * keyboard.h (menu_item_eval_property): Declare.
8926
8927 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8928 reuse as buffer name, instead of recreating (and discarding) every
8929 time a message is logged.
8930 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8931 (current_message_1, truncate_message_1, set_message_1)
8932 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8933 (current_message, truncate_echo_area, display_echo_area)
8934 (resize_echo_area_axactly): Changed calls.
b347b3fd 8935
975f250a 8936 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8937 Lisp object.
975f250a 8938 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8939 must be an integer, not a Lisp object.
975f250a 8940
46dc9912
KH
89412000-08-08 Kenichi Handa <handa@etl.go.jp>
8942
8943 * charset.c (Fchar_width): Doc fix.
8944
9f6d1a6c
GM
89452000-08-08 Gerd Moellmann <gerd@gnu.org>
8946
8947 * charset.c (Fstring_width): Doc fix.
8948
ff3d9573
GM
89492000-08-07 Gerd Moellmann <gerd@gnu.org>
8950
41e757a6 8951 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8952 line, clear ascent and descent members of the iterator structure;
8953 the height of the continued line does not affect the height of the
8954 continuation line.
8955 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8956 line taller than the window.
8957 (redisplay_window) <forced window start>: Handle case that the
8958 middle of the window is not found in any row.
8959 (dump_glyph_row): Show more information.
8960 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8961 first text line in a glyph matrix.
8962
8963 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8964 of the clip area when image doesn't have a mask.
8965
70fc58b3
GM
8966 * fns.c (sweep_weak_table): Fix survival conditions for
8967 key-or-value and key-and-value weakness.
8968
8969 * .gdbinit (xhashtable): New command.
8970
ac0e96ee
GM
8971 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8972 tables out of the list of all weak hash tables.
8973
ff3d9573
GM
8974 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8975 a new buffer is created, make sure echo_area_buffer[] references
8976 the new buffer.
8977
e0d8827b
EZ
89782000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8979
8980 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8981 the doc string.
8982
c6f35378
KH
89832000-08-07 Kenichi Handa <handa@etl.go.jp>
8984
8985 * syntax.c (skip_chars): Fix previous change. Make the handling
8986 of unibyte string consistent with that of regex search.
8987
1fd4c450
GM
89882000-08-05 Gerd Moellmann <gerd@gnu.org>
8989
e49aa397
GM
8990 * xmenu.c (popup_get_selection): Use xfree instead of free.
8991
8992 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8993
8994 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8995
8996 * callproc.c (child_setup): Use xfree instead of free.
8997
8998 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8999 instead of malloc.
9000 (run_mac_command, closedir): Use `xfree' instead of `free'.
9001
9002 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9003
9004 * eval.c (error): Use xfree instead of free.
9005
1fd4c450
GM
9006 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9007
9008 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9009 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9010
82d497fc
KH
90112000-08-05 Kenichi Handa <handa@etl.go.jp>
9012
9013 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9014 conversion.
9015
59f953a2
NF
90162000-08-04 Noah Friedman <friedman@splode.com>
9017
9018 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9019 docstring.
9020
688351f2
GM
90212000-08-04 Gerd Moellmann <gerd@gnu.org>
9022
9023 * syntax.c (skip_chars): Fix typo in error message.
9024
2dad51cc
AS
90252000-08-04 Andreas Schwab <schwab@suse.de>
9026
9027 * m/ia64.h: Moved from s/ia64.h.
9028
99bb2c60
KH
90292000-08-04 Kenichi Handa <handa@etl.go.jp>
9030
082a1df2
KH
9031 * process.c (read_process_output): Big simplification. Handle
9032 composition and post-read-conversion of coding system correctly.
9033 (send_process): Handle composition correctly.
9034
9035 * callproc.c (Fcall_process): Handle post-read-conversion of
9036 coding system if any.
9037
99bb2c60
KH
9038 * coding.c (decode_coding_iso2022): More strict check for handling
9039 single shifting.
082a1df2
KH
9040 (coding_restore_composition): Pay attention to the case that
9041 cmp_data is not set properly (because of invalid code in the
9042 source text).
9043 (run_pre_post_conversion_on_str): Include text properties in the
9044 resulting string.
9045 (decode_coding_string): Set members of coding correctly.
99bb2c60 9046
f4988be7
GM
90472000-08-03 Gerd Moellmann <gerd@gnu.org>
9048
9049 * s/ia64.h: New file.
9050
9051 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9052 Use NULL instead of 0 at the end of variable argument list of
9053 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9054 sizeof (int) < sizeof (void *).
9055
9056 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9057 of variable argument lists of XtVaGetValues and XtVaSetValues.
9058
9059 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9060 variable argument lists of XtVaGetValues and XtVaSetValues.
9061
ead53494
GM
90622000-08-02 Gerd Moellmann <gerd@gnu.org>
9063
9064 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9065 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9066
9067 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9068 prototype.
9069
9070 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9071 in call to Fsingle_key_description.
9072
9073 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9074 Callers changed.
9075
90762000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9077
9078 * window.c (display_buffer_reuse_frames): New variable.
9079 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9080 frames displaying BUFFER.
52283633 9081 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9082
10b0f752
MB
90832000-08-01 Miles Bader <miles@gnu.org>
9084
9085 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9086 when to constrain NEW_POS (they were pretty screwed up before).
9087
16425c4a
EZ
90882000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9089
9090 * msdos.c (run_msdos_command): Save and restore the master
9091 environment, for the case that child_setup signals an error.
9092 When mirroring slashes in DOS shell commands, don't fail when
9093 argv[2] has embedded blanks.
da288c14
EZ
9094 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9095 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9096 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9097
9098 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9099 using alloca; free it after run_msdos_command returns.
9100
27f73852
DL
91012000-07-27 Dave Love <fx@gnu.org>
9102
52283633
SM
9103 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9104 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9105
9106 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9107
c0261b5e
EZ
91082000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9109
9110 * editfns.c (lisp_time_argument): Fix last change.
9111
b548072f
GM
91122000-07-27 Gerd Moellmann <gerd@gnu.org>
9113
3ab82477
GM
9114 * fns.c (Fdelete): Make it work on vectors and strings in addition
9115 to lists.
9116
b548072f
GM
9117 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9118 (syms_of_fns): Initialize new variables.
52283633 9119 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9120 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9121 weakness, with t meaning the same as `key-and-value'.
9122
91ae8751
KH
91232000-07-27 Kenichi Handa <handa@etl.go.jp>
9124
9125 * coding.h (struct coding_system): Member safe_charset deleted.
9126
9127 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9128 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9129 New variables.
91ae8751
KH
9130 (coding_safe_chars): New function.
9131 (CODING_SAFE_CHAR_P): New macro.
9132 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9133 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9134 (detect_coding_iso2022): New local variable safe_chars.
9135 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9136 safe_charsets member of the coding system.
9137 (decode_coding_iso2022): New local variable safe_chars.
9138 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9139 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9140 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9141 (ENCODE_UNSAFE_CHARACTER): New macro.
9142 (encode_coding_iso2022): New local variable safe_chars. Check
9143 unsafe chars.
9144 (setup_coding_system): Delete the code to initialize
9145 coding->safe_charses
9146 (intersection, find_safe_codings): New functions.
9147 (Ffind_coding_systems_region_internal): New function.
9148 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9149 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9150 variable and initialize it.
9151
9152 * fns.c (char_table_ref_and_index): New function.
9153
9154 * lisp.h (char_table_ref_and_index): Add prototype.
9155
34a7a267
SS
91562000-07-26 Sam Steingold <sds@gnu.org>
9157
9158 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9159 (Ffloat_time): New built-in Lisp function.
34a7a267 9160
a95cb10a
GM
91612000-07-26 Gerd Moellmann <gerd@gnu.org>
9162
3353ef5a
GM
9163 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9164 for the character code.
9165
9166 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9167 GNU/Linux.
9168
a95cb10a
GM
9169 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9170 if called for a popup menu.
9171 (xmenu_show): Store help string in widget values.
9172
b4a12321
DL
91732000-07-26 Dave Love <fx@gnu.org>
9174
9175 * syswait.h: Move some definitions.
9176 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9177 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9178 perspicuous definitions.
9179 (WTERMSIG): Fix bit pattern used.
9180
13f5ad37
KH
91812000-07-26 Kenichi Handa <handa@etl.go.jp>
9182
9183 * print.c (print_object): If vector printing is truncated, print
9184 "..." to indicate it as well as the case of list printing.
9185
070fe99c
GM
91862000-07-25 Gerd Moellmann <gerd@gnu.org>
9187
969065c3
GM
9188 * xdisp.c (next_element_from_display_vector): Improve comments.
9189
9190 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9191 for the character code, and the rest for the face id as in 20.x.
9192 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9193
9194 * window.c (window_display_table): Cleaned up.
9195
070fe99c
GM
9196 * syntax.c (Fforward_word): Add last arg nil in call of
9197 Fconstrain_to_field.
9198
bad77ef7
EZ
91992000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9200
969065c3 9201 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9202 identical but for the letter-case, don't call
9203 barf_or_query_if_file_exists.
bad77ef7 9204
c28da489
MB
92052000-07-25 Miles Bader <miles@gnu.org>
9206
9207 * editfns.c (find_field): Honor special `boundary' fields.
9208 (Qboundary): New variables.
9209 (syms_of_editfns): Initialize Qboundary.
9210 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9211 Use scan_buffer instead of find_before_next_newline, because it
9212 allows us to detect the boundary case where there's a newline at
9213 the search limit.
9214 * lisp.h (Fconstrain_to_field): Update external declaration.
9215
e3c31fd5
GM
92162000-07-24 Gerd Moellmann <gerd@gnu.org>
9217
9218 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9219 if that is nil.
c28da489 9220
c66c29a2
DL
92212000-07-24 Dave Love <fx@gnu.org>
9222
9223 * s/sunos4-0.h, s/sol2.h:
9224 (LIBS_TERMCAP): Move from m/sparc.h.
9225
9226 * m/sparc.h (TERMINFO): Moved to system files (probably only
9227 relevant for sunos4 judging by its vintage).
9228 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9229 __arch64__.
9230
fbe0a958
EZ
92312000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9232
9233 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9234 name to single_keymap_panes.
9235
7d88e5c9
AS
92362000-07-24 Andreas Schwab <schwab@suse.de>
9237
9238 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9239
e024b101
GM
92402000-07-24 Gerd Moellmann <gerd@gnu.org>
9241
9242 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9243 parameters instead of using int parameters. Expect FN to accept
9244 EMACS_INT parameters.
9245 (display_echo_area, resize_echo_area_axactly, current_message)
9246 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9247 with new argument list.
9248 (resize_mini_window_1): New callback function.
9249 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9250 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9251
25c1a9ce
KH
92522000-07-24 Kenichi Handa <handa@etl.go.jp>
9253
9254 * fontset.c (fontset_ref): Remove INLINE declaration.
9255 (fontset_ref_via_base): Likewise.
9256 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9257 to downcase.
9258
7f987ac0
EZ
92592000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9260
9261 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9262 correct order of priority. If help echo was found in an overlay,
9263 use that overlay as the object in which the help echo was found.
9264
e2db3069
MB
92652000-07-22 Miles Bader <miles@gnu.org>
9266
9267 * textprop.c (Fprevious_single_char_property_change): The initial
9268 property value should be from the position preceding POSITION, not
9269 following it.
9270
5e3203e4
EZ
92712000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9272
9273 * coding.c (syms_of_coding): Doc fix for
9274 inhibit-iso-escape-detection.
9275
62145073
GM
92762000-07-21 Gerd Moellmann <gerd@gnu.org>
9277
c20aeb83
GM
9278 * xterm.c (note_mouse_highlight): Process overlays in the right
9279 order of priority.
34a7a267 9280
743934db
GM
9281 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9282
9283 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9284 overlay, use that overlay as the object in which the help was found.
743934db 9285
d1dc7e43 9286 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9287
62145073
GM
9288 * window.c (foreach_window): Instead of a fake variable argument
9289 list, take one USER_DATA argument.
9290 (foreach_window_1): Likewise, and call callback functions with two
9291 args, the window and USER_DATA.
9292 (struct check_window_data): New struct.
9293 (check_window_containing): Use it.
9294 (window_from_coordinates): Set up a struct check_window_data for
9295 foreach_window.
9296 (add_window_to_list, freeze_window_start): Change parameters
9297 according to new calling convention.
9298
9299 * window.h (foreach_window): Change prototype.
9300
9301 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9302
93032000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9304
9305 * xmenu.c (menu_help_callback): Call show_help_echo with
9306 additional arguments OBJECT and POS.
9307
11270583
KH
93082000-07-21 Kenichi Handa <handa@etl.go.jp>
9309
07b14857
KH
9310 * data.c (Faset): Allow storing any multibyte character in a
9311 string. Convert unibyte string to multibyte if necessary.
9312
11270583
KH
9313 * xfns.c (x_encode_text): New function.
9314 (x_set_name): Use x_encode_text.
9315 (x_set_title): Likewise.
9316
9317 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9318
9319 * xterm.h (x_encode_text): Add prototype.
9320
bc75b4fd
DL
93212000-07-20 Dave Love <fx@gnu.org>
9322
9323 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9324 xfree, not free.
9325
48c14970
EZ
93262000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9327
9328 * msdos.c (help_echo_window): New variable.
9329 (syms_of_msdos): Initialize and staticpro it.
9330 (IT_note_mode_line_highlight): Set help_echo_window.
9331 (IT_note_mouse_highlight): Ditto.
9332 (dos_rawgetc): Store help_echo_window in the second event produced
9333 for HELP_EVENTs.
9334
9335 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9336 Record the object that generated the help echo and the position of
9337 that object in help_echo_object and help_echo_pos. Record that
9338 some glyphs in a row are displayed in mouse-face.
9339 (IT_update_begin): Don't clear mouse highlight unless one of the
9340 enabled glyph rows is marked as being displayed in mouse-face.
9341 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9342 and position recorded in help_echo_object and help_echo_pos to the
9343 event queue.
9344 (IT_menu_display): Accept a new argument PN: the pane number of
9345 the current menu pane. Record the pane number and the item
9346 number of the item which has associated help string.
9347 (XMenuActivate): Update the prototype for help_callback in
9348 function declaration. Call IT_menu_display with the current menu
9349 pane number as an additional argument. Call help_callback with
9350 two additional arguments: the pane number and the item number of
9351 the menu item associated with the help text.
9352 (help_echo_object, help_echo_pos): New variables.
9353 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9354
9355 * msdos.h (XMenuActivate): Update prototype.
9356
4279296d
GM
93572000-07-19 Gerd Moellmann <gerd@gnu.org>
9358
47db06aa
GM
9359 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9360 Add some more prototypes.
9361
9362 * xterm.c, xterm.h: Add some more prototypes.
9363
9364 * lisp.h (Fnext_single_char_property_change): Add prototype.
9365
9366 * dispnew.c (direct_output_for_insert): Remove confusing
9367 outer local variable mouse_face_overwritten_p.
9368 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9369
4279296d
GM
9370 * alloc.c (allocate_string_data): Don't copy old string contents.
9371
670acd62
KH
93722000-07-19 Kenichi Handa <handa@etl.go.jp>
9373
9374 * coding.c (code_convert_region): Delete text properties before
9375 shrinking the conversion region.
9376
7cea38bc
GM
93772000-07-18 Gerd Moellmann <gerd@gnu.org>
9378
dc1cac59
GM
9379 * dispnew.c (update_text_area): Write the whole row if it
9380 has mouse-face in it.
9381
85a8aca9
GM
9382 * xfaces.c (face-alternative-font-family-alist): Remove
9383 DEFVAR_LISP; staticpro instead.
9384
34a7a267 9385 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9386 new arguments.
9387
9388 * keyboard.c (show_help_echo): Add parameter WINDOW.
9389 (read_char): Call show_help_echo with window extracted from Lisp
9390 help event.
9391 (gen_help_event): Add parameter WINDOW.
9392
9393 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9394
9395 * xterm.c (help_echo_window): New variable.
52283633 9396 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9397 (XTread_socket): Pass help_echo_window to gen_help_event.
9398 (syms_of_xterm): Initialize and staticpro help_echo_window.
9399
f8276b77
DL
94002000-07-18 Dave Love <fx@gnu.org>
9401
52283633 9402 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9403
088831a6
GM
94042000-07-18 Gerd Moellmann <gerd@gnu.org>
9405
3d6cd763
GM
9406 * alloc.c (allocate_string_data): If string had already data
9407 assigned, copy old contents to new string data.
9408
9409 * coding.c (syms_of_coding): Fix typo in spelling of variable
9410 `inhibit-iso-escape-detection'.
9411
088831a6
GM
9412 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9413
9414 * Makefile.in: Add dependencies on dispextern.h.
9415 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9416 `free'; both can conflict with system header files.
9417
bc8a8d55
KH
94182000-07-18 Kenichi Handa <handa@etl.go.jp>
9419
9420 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9421 undefined.
9422
069f5950
DL
94232000-07-18 Dave Love <fx@gnu.org>
9424
9425 * window.c (Fwindow_list): Declare arg `window'.
9426
aa96c820
KH
94272000-07-18 Kenichi Handa <handa@etl.go.jp>
9428
9429 * coding.c (setup_coding_system): Don't override the explicitly
9430 specified designations.
9431
06be8d32
MB
94322000-07-15 Miles Bader <miles@gnu.org>
9433
9434 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9435 from `text_property_eq' and `text_property_stickiness', respectively.
9436 (find_field, Fconstrain_to_field, char_property_eq)
9437 (char_property_stickiness): Changed to call char-property functions
9438 instead of text-property-only ones.
9439
9440 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9441 `next_single_char_property_change'). Do more error checking, and
9442 cleanup limit behavior.
9443 (Fprevious_single_char_property_change): New function.
9444 (syms_of_textprop): Initialize new subrs.
9445
9446 * xdisp.c (display_prop_end, invisible_text_between_p):
9447 Call Fnext_single_char_property_change instead of
9448 next_single_char_property_change.
9449
3fddcdc3
JR
94502000-07-15 Jason Rumney <jasonr@gnu.org>
9451
9452 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9453 after menu is finished with.
9454 (add_menu_item): Only consider wv->title as a menu title.
9455 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9456
9457 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9458 null title.
9459 (FONT_REGEXP): Remove unused macro, and its sub-components.
9460 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9461
9462 * w32term.c (help_echo_object, help_echo_pos): New variables.
9463 (note_mode_line_highlight): Store additional information about the
9464 help-echo in help_echo_object and help_echo_pos. Check both
9465 `local-map' and `keymap' properties for changing the cursor
9466 (note_mouse_highlight): Store additional information about the
9467 help-echo in help_echo_object and help_echo_pos.
9468 (note_tool_bar_highlight): Set help_echo_object to nil and
9469 help_echo_pos to -1.
9470 (w32_read_socket): Use gen_help_event instead of filling
9471 input_events manually.
9472 (syms_of_w32term): Staticpro help_echo_object.
9473 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9474 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9475 (x_clear_mouse_face): New function.
9476 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9477 (x_update_window_begin): No need to turn off the mouse
9478 highlight here.
9479 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9480 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9481 (x_fill_stretch_glyph_string): Consume runs of stretch
9482 glyphs instead of a single one.
9483 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9484 with new argument list.
9485 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9486 (x_append_glyph, x_append_composite_glyph)
9487 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9488 changes in struct glyph starting 1999-12-27. See comments for
9489 xterm.c on 2000-07-05.
9490
178c5d9c
SS
94912000-07-14 Sam Steingold <sds@gnu.org>
9492
9493 * xfaces.c (realize_x_face): Fix the last patch:
9494 check `default_face' before dereferencing.
9495
6fe533f6
DL
94962000-07-14 Dave Love <fx@gnu.org>
9497
069f5950 9498 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9499
dd7b81cf
KH
95002000-07-14 Kenichi Handa <handa@etl.go.jp>
9501
0693904a 9502 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9503 default_face's fontset, not using the default fontset.
0693904a 9504
dd7b81cf
KH
9505 * coding.c (inhibit_iso_escape_detection): New variable.
9506 (syms_of_coding): Make it a Lisp variable.
9507 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9508 nonzero, ignore ISO2022's escape sequence.
9509
d5aa31d8
GM
95102000-07-14 Gerd Moellmann <gerd@gnu.org>
9511
e5acf0ca
GM
9512 * alloca.c (malloc) [emacs]: Define as xmalloc.
9513
bd23a692
GM
9514 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9515 use that instead of the mouse position. Add parameters DX and DY.
9516
9517 * dispextern.h (Fx_show_tip): Adjust number of parameters
9518 in prototype.
9519
9662da0b
GM
9520 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9521 if HELP is a function, call it with OBJECT and POS as parameters
9522 to get the help to display.
9523 (gen_help_event, kbd_buffer_store_help_event): New functions.
9524 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9525 (read_char): Call show_help_echo with new parameters.
9526
178c5d9c 9527 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9528 Add prototypes.
9529
9530 * xterm.c (help_echo_object, help_echo_pos): New variables.
9531 (note_mode_line_highlight): Store additional information about the
9532 help-echo in help_echo_object and help_echo_pos. Check both
9533 `local-map' and `keymap' properties for changing the cursor
9534 (note_mouse_highlight): Store additional information about the
9535 help-echo in help_echo_object and help_echo_pos.
9536 (note_tool_bar_highlight): Set help_echo_object to nil and
9537 help_echo_pos to -1.
9538 (XTread_socket): Use gen_help_event instead of filling
9539 input_events manually.
9540 (syms_of_xterm): Staticpro help_echo_object.
9541
9542 * xmenu.c (menu_highlight_callback): Use
9543 kbd_buffer_store_help_event instead of setting up and input_event
9544 structure manually.
9545
9546 * xdisp.c (eval_form): GCPRO argument sexpr.
9547 (call_function): New function.
9548 (handle_single_display_prop): Use call_function and FUNCTIONP
9549 instead of checking whether if font_height is a symbol and
9550 using eval_form.
9551
9552 * eval.c (internal_condition_case_2): New function.
9553
9554 * lisp.h (FUNCTIONP): New macro.
9555 (internal_condition_case_2, call_function): Add prototypes.
9556
d5aa31d8
GM
9557 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9558 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9559 Always set `arg' member of input_events.
9560 (construct_menu_click): Unused function removed.
9561
9562 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9563
9564 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9565 (construct_drag_n_drop, x_scroll_bar_handle_click)
9566 (w32_read_socket): Always set `arg' member of input_events.
9567
9568 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9569
9570 * lisp.h (eval_form): Add prototype.
9571
9572 * xdisp.c (eval_form): Make it externally visible.
9573
0f1a9b23
GM
95742000-07-13 Gerd Moellmann <gerd@gnu.org>
9575
9576 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9577 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9578 consing. For prefix events, store the frame in the `arg' slot of
9579 the event, otherwise store the key there.
9580 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9581 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9582
9583 * xmenu.c (menu_highlight_callback): Store help string in the
9584 `arg' member of the input event; don't cons.
9585 (menubar_selection_callback): Use the `arg' slot of input events
9586 to queue additional information, instead of consing.
9587
9588 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9589
9590 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9591 TOOL_BAR_EVENTs.
9592 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9593
9594 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9595 input events to queue additional information, instead of consing.
9596
9597 * keyboard.c (kbd_buffer_gcpro): Renamed from
9598 kbd_buffer_frame_or_window. Now used for all Lisp objects
9599 referenced from the input queue.
9600 (kbd_buffer_store_event): Always use structure assignment for
9601 copying input events. Record all Lisp objects referenced from
9602 events in kbd_buffer_gcpro.
9603 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9604 differently from input events. Test for prefix menu_bar_events
9605 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9606 event in kbd_buffer_gcpro to nil.
9607 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9608 frame_or_window is equal to its arg member as prefix events.
9609 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9610 used by an input event to nil.
9611 (init_keyboard): Use two times the size of the input queue
9612 for kbd_buffer_gcpro.
9613 (syms_of_keyboard): Likewise.
9614
52283633
SM
9615 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9616 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9617
9618 * termhooks.h (struct input_event): Add member `arg'.
9619 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9620 (USER_SIGNAL_EVENT): Renamed from user_signal.
9621
9622 * xfaces.c (ASET): Remove definition.
9623
9624 * lisp.h (AREF, ASET, ASIZE): New macros.
9625
9626 * fontset.c (AREF, ASIZE): Remove definitions.
9627
9628 * fns.c (AREF): Remove definition.
178c5d9c 9629
0f1a9b23
GM
9630 * composite.c (AREF): Remove definition.
9631
712eaef2
GM
96322000-07-12 Gerd Moellmann <gerd@gnu.org>
9633
d8ee7803
GM
9634 * dispnew.c (redraw_overlapped_rows): Add missing local.
9635 (scrolling_window): Remove debug code.
9636
712eaef2
GM
9637 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9638 Before scrolling, turn off a mouse-highlight in the window
9639 being scrolled.
9640
9641 * xterm.c (x_update_window_end): Add parameter
9642 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9643 redisplay in XTframe_up_to_date.
9644 (x_clear_mouse_face): New function.
9645 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9646
9647 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9648 current glyph row.
9649 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9650 it when any row is written to that contains glyphs highlighted in
9651 mouse-face.
9652 (update_window): Call the window update end hook with new
9653 parameter MOUSE_FACE_OVERWRITTEN_P.
9654 (direct_output_for_insert): Give up if row contains mouse-face.
9655
9656 * dispextern.h (struct redisplay_interface): Add parameter
9657 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9658 (clear_mouse_face): New function pointer member.
9659
02010917
SM
96602000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9661
9662 * syntax.c (back_comment): Use one switch rather than a few `if's.
9663 Obey open_paren_in_column_0_is_defun_start.
9664 When reverting to the `slow' method, try to nicely handle the case
9665 of nested comments by checking that the comment-starter we found
9666 does indeed match the comment-ender.
9667 (scan_sexps_forward, scan_sexps_forward):
9668 Ignore excessive opening parenthesis rather than throwing an error.
9669
d76c03ea
GM
96702000-07-11 Gerd Moellmann <gerd@gnu.org>
9671
9672 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9673 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9674
9675 * dispnew.c (direct_output_forward_char): Give up if currently
9676 displaying a message instead of the minibuffer contents.
9677
9678 * xterm.c (x_update_window_begin): No need to turn off the mouse
9679 highlight here.
9680 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9681 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9682
9683 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9684 compare the mouse_face_p flags of both rows.
9685
9686 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9687
d55ead18
EZ
96882000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9689
9690 * keyboard.c (show_help_echo): Accept additional parameter
9691 ok_to_overwrite_keystroke_echo.
9692 (read_char): Call show_help_echo with a zero
9693 ok_to_overwrite_keystroke_echo argument.
52283633 9694 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9695 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9696 ok_to_overwrite_keystroke_echo argument.
9697 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9698 non-zero ok_to_overwrite_keystroke_echo argument.
9699
df75b1a3
GM
97002000-07-10 Gerd Moellmann <gerd@gnu.org>
9701
4b92c49a
GM
9702 * xdisp.c (try_window_id): If changes are all below what is
9703 displayed in the window, and point is in the window, we still
9704 might have to find point on the display.
9705
9706 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9707 glyphs instead of a single one.
9708 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9709 with new argument list.
9710 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9711
df75b1a3
GM
9712 * keymap.c (get_keymap_1): Add comment that this function can GC.
9713 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9714 comment that functions can GC.
9715 (Fset_keymap_parent): GCPRO arg KEYMAP.
9716
4314cf3e
EZ
97172000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9718
9719 * msdos.c (XMenuActivate): After exiting the menu, restore the
9720 echo area message and erase it.
9721
ab49ce15
KH
97222000-07-10 Kenichi Handa <handa@etl.go.jp>
9723
9724 * fontset.c (Ffontset_info): Make the return value more compatible
9725 with that of Emacs 20.
9726
090a072f
GM
97272000-07-07 Gerd Moellmann <gerd@gnu.org>
9728
9729 * eval.c (Fsignal): Handle case that backtrace_list is null.
9730
f92de4a6
KH
97312000-07-07 Kenichi Handa <handa@etl.go.jp>
9732
9733 * ccl.c (Fccl_execute): Typo fixed.
9734
dd8888a1
GM
97352000-07-06 Gerd Moellmann <gerd@gnu.org>
9736
e5c81191 9737 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9738
dd8888a1
GM
9739 * window.c (Fwindow_list): Reverse list at the end.
9740 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9741 means allow windows on OWINDOW's frame, only.
9742 (window_loop): Simplified; use Fwindow_list.
9743
9744 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9745
485266d0
GM
97462000-07-05 Gerd Moellmann <gerd@gnu.org>
9747
9748 * xterm.c (XTread_socket): Increment handling_signal at the start,
9749 decrement it at the end.
9750
9751 * eval.c (handling_signal): New variable.
9752 (Fsignal): Abort if handling_signal is non-zero.
9753
9754 * lisp.h (handling_signal): External declaration.
178c5d9c 9755
485266d0
GM
9756 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9757
80fcd514
KR
97582000-07-05 Ken Raeburn <raeburn@gnu.org>
9759
9760 Sound support for NetBSD through "Linux emulation" support:
9761 * config.in (HAVE_SOUNDCARD_H): Undef.
9762 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9763 * Makefile.in (LIBSOUND): New variable.
9764 (LIBES): Include it.
52283633
SM
9765 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9766 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9767 (vox_open): Use DEFAULT_SOUND_DEVICE.
9768 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9769
d5c5cddd
GM
97702000-07-05 Gerd Moellmann <gerd@gnu.org>
9771
9772 * print.c (print_error_message): If Vsignaling_function is set,
9773 show it in *Messages*.
9774
9775 * lisp.h (Vsignaling_function): External declaration.
9776
9777 * eval.c (Vsignaling_function): New variable.
9778 (Fsignal): Compute it.
9779 (syms_of_eval): Staticpro it.
9780
65171e3a
DL
97812000-07-05 Dave Love <fx@gnu.org>
9782
9783 * syswait.h: Use the autoconf recommended approach. Old code
9784 #if'd out in case we need to revert.
9785
178c5d9c 9786 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9787
e2c46326
AI
97882000-07-05 Andrew Innes <andrewi@gnu.org>
9789
9790 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9791 when non-NULL instead of __morecore, to take account of buffer
9792 memory. This also solves a problem with spurious memory warnings
9793 on Windows.
9794
9795 * ralloc.c: Make real_morecore non-static.
9796
9797 * eval.c (internal_condition_case): Comment out abort if
9798 interrupt_input_blocked is not zero.
9799
9800 * makefile.nt: Add support for `bootstrap' and related targets.
9801 Include minimal debug info in emacs.exe in release build.
9802 Remove all dependencies on lisp.h, and fixup some others.
9803
9804 * w32.c (init_environment): Install code from 20.7 for providing
9805 default values for environment variables, based on the
9806 executable's own location.
52283633 9807 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9808 (sys_socket): Install socket inheritance bug fix from 20.7.
9809
9810 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9811 here via blockinput.h).
9812
a027a91b
SM
98132000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9814
e4b31601
SM
9815 * w32menu.c (w32_menu_display_help):
9816 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9817
9818 * keyboard.h (show_help_echo): Declare.
9819
9820 * keyboard.c (show_help_echo): New function, extracted from read_char.
9821 Feval its `msg' argument if it's a cons cell.
9822 (read_char): Use it.
4cf8d9d5 9823 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9824
178c5d9c 9825 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9826 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9827 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9828 (dos_rawgetc):
9829 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9830 (note_tool_bar_highlight, w32_read_socket):
9831 Do not gratuitously ignore non-string `help-echo' properties.
9832
88d75730
GM
98332000-07-05 Gerd Moellmann <gerd@gnu.org>
9834
969f7e79
GM
9835 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9836
71201b00
GM
9837 * window.c (delete_all_subwindows): Reset Vwindow_list.
9838
88d75730
GM
9839 * xterm.c (x_append_glyph, x_append_composite_glyph)
9840 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9841 changes in struct glyph starting 1999-12-27. Some bit-fields of
9842 struct glyph were not set, which made glyphs unequal when compared
9843 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9844 effects were the result. This also depended on the contents of
9845 memory returned by xmalloc. If flickering happens again, activate
9846 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9847 gone with that, chances are that it is caused by something similar.
88d75730
GM
9848
9849 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9850
88d75730
GM
9851 * dispextern.h: Add some comments.
9852
9853 * window.c (add_window_to_list): Add parameter LIST.
9854 (window_list): Order list so that, for each frame, windows are
9855 in canonical order, and so that frames appear in the list in
9856 the order given by Vframe_list.
9857 (next_window): Reverse the handling of NEXT_P.
9858
53654733
GM
98592000-07-04 Gerd Moellmann <gerd@gnu.org>
9860
87efd256
GM
9861 * window.c (Vwindow_list): New variable.
9862 (make_window, delete_window): Set Vwindow_list to nil.
9863 (check_window_containing): New function.
9864 (window_from_coordinates): Rewritten.
9865 (add_window_to_list, window_list, candidate_window_p)
9866 (decode_next_window_args, next_window): New functions.
52283633 9867 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9868 (Fwindow_list): New function.
9869 (Fother_window): Cleaned up.
9870 (foreach_window): Add a longer "variable argument list". Let
9871 callback function return 0 to indicate that cycling over windows
9872 should stop.
9873 (foreach_window_1): Likewise.
9874 (freeze_window_start): Return int.
9875 (init_window): New function.
9876 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9877
9878 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9879 input_event with bzero.
9880 (main): Call init_window.
9881
53654733
GM
9882 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9883 a menu filter.
9884
4a8c194f
KH
98852000-07-04 Kenichi Handa <handa@etl.go.jp>
9886
9887 * composite.h (make_composition_value_copy): Extern it.
9888
9889 * composite.c (make_composition_value_copy): New function.
9890
9891 * editfns.c (Fformat): While copying text properties, make each
9892 composition property value a copy.
9893
9894 * fns.c (concat): While copying text properties, make each
9895 composition property value a copy.
9896
831a6cb0
GM
98972000-07-03 Gerd Moellmann <gerd@gnu.org>
9898
2f516940
GM
9899 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9900
178c5d9c 9901 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9902 marked already.
9903
831a6cb0
GM
9904 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9905 include those frames as candidates which have their focus
9906 redirected to the minibuffer frame.
9907
d9c4f922
SM
99082000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9909
9910 * fns.c (Fputhash): Return `value' rather than nil.
9911
3780bc22
GM
99122000-06-30 Gerd Moellmann <gerd@gnu.org>
9913
97d176db
GM
9914 * frame.c (next_frame): Don't check focus redirection in case
9915 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9916 unless their focus is redirected, which contradicts the
9917 specification of next-frame, and leads to infinite loops in
9918 certain situations when cycling through windows with next-window.
9919
dca9961d
KH
99202000-06-30 Kenichi Handa <handa@etl.go.jp>
9921
9922 * coding.c (code_convert_region): Even if the length of text is
9923 zero, try to convert it if coding->type is coding_type_ccl.
9924 (decode_coding_string, encode_coding_string): Likewise.
9925
d5483ab1
GM
99262000-06-28 Gerd Moellmann <gerd@gnu.org>
9927
af5c25e1 9928 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9929 the display if windows_or_buffers_changed.
af5c25e1
GM
9930
9931 * dispnew.c (struct row_entry): New structure.
9932 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9933 (row_table_size, old_lines, new_lines, old_lines_size)
9934 (new_lines_size, run_pool, runs_size, runs): New variables.
9935 (add_row_entry): New function.
9936 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9937 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9938 holding them in local variables. Use a larger hash table whose
9939 size depends on glyph matrix sizes. Don't use bzero to clear the
9940 hash table; instead, clear used slots only.
9941
9942 * fns.c (next_almost_prime): Make it externally visible.
9943
9944 * lisp.h (next_almost_prime): Add prototype.
9945
d5483ab1
GM
9946 * s/isc4-0.h (sigunblock): Define.
9947
9948 * s/sco5.h (sigunblock): Define.
9949
93e40f40
DL
99502000-06-27 Dave Love <fx@gnu.org>
9951
9952 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9953 (moved to osf5-0.h).
9954 [!NOT_C_CODE]: Protect string.h stuff.
9955
9956 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9957 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9958
3c4b7685
GM
99592000-06-27 Gerd Moellmann <gerd@gnu.org>
9960
97d176db 9961 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9962 below the last line from the needed window height.
9963
32cad0aa
SM
99642000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9965
9966 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9967 (Fwidget_get): Use it.
9968 (syms_of_fns): Defsubr it.
9969
2c69ced2
GM
99702000-06-26 Gerd Moellmann <gerd@gnu.org>
9971
178c5d9c 9972 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9973 display info for XIM.
9974 (xim_open_dpy): Likewise.
9975 (xim_close_dpy): Don't free the display info's XIM.
9976
9977 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9978
9979 * config.in (USE_XIM): New define.
9980
3fc720e4
GM
9981 * keymap.c (get_keyelt): For menu-items containing a `:filter
9982 FILTER', apply FILTER to the menu-item's definition to get the
9983 real definition to use.
9984
9985 * lisp.h (QCfilter): External declaration.
9986
2c69ced2
GM
9987 * xfns.c (Fimage_size): New function.
9988 (syms_of_xfns): Defsubr it.
9989
f978b2a2
AS
99902000-06-26 Andreas Schwab <schwab@suse.de>
9991
9992 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9993 Fstring_as_unibyte.
9994
94cc7892
DL
99952000-06-25 Dave Love <fx@gnu.org>
9996
52283633 9997 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9998
9999 * Makefile.in (blockinput.h): Depend on atimer.h.
10000 (atimer.h): Depend on systime.h.
10001
52283633 10002 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10003
52283633 10004 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10005
10006 * lisp.h (swap_in_global_binding): Declare.
10007
b8c24556
KR
100082000-06-24 Ken Raeburn <raeburn@gnu.org>
10009
10010 * process.c (Fopen_network_stream): Turn off atimers for duration
10011 of call to connect. (Patch from Gerd.)
10012
8cf8560b
DL
100132000-06-23 Dave Love <fx@gnu.org>
10014
511c7541
DL
10015 * ralloc.c: Maybe include unistd.h
10016
8cf8560b
DL
10017 * emacs.c (setgrp): Undefine before defining.
10018 (malloc_warning, set_time_zone_rule, index): Prototype.
10019
10020 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10021 HAVE_STRUCT_TIMEZONE.
10022
10023 * s/osf1.h: Move string.h hack here from alpha.h and make it
10024 conditional.
10025 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10026 _XOPEN_SOURCE.
10027 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10028 (SOCKLEN_TYPE): Don't define.
10029
10030 * m/alpha.h: Remove string.h hack.
10031
10032 * s/osf5-0.h: New file.
10033
10034 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10035 include time.h, done by systime.h.
10036 [__FreeBSD__]: Remove redundant includes.
10037
3fc720e4 10038 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10039 (delete_temp_file): Return Qnil to avoid warning.
10040
10041 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10042
10043 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10044 HAVE_X_WINDOWS.
10045
10046 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10047
10048 * composite.h (compose_text): Declare.
10049
10050 * xterm.c: Don't include sys/types.h unconditionally. Don't
10051 protect its inclusion with !USG (following xmenu.c).
10052
ea055732
GM
100532000-06-23 Gerd Moellmann <gerd@gnu.org>
10054
10055 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10056 in x_create_frame.
10057
74b01b80
EZ
100582000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10059
10060 * coding.c (decode_eol_post_ccl): Special handling for undecided
10061 and inconsistent EOL types.
10062
64f3a166
GM
100632000-06-22 Gerd Moellmann <gerd@gnu.org>
10064
16cf31f7
GM
10065 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10066 trough color and main window's background color.
10067
52283633 10068 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10069
10070 * xterm.h (Xt_app_con): External declaration.
10071
10072 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10073
486a103d
GM
10074 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10075
64f3a166
GM
10076 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10077 (handle_invisible_prop): Record the start of invisible text in
10078 it->add_overlay_start.
10079 (struct overlay_entry): Add member `overlay'.
10080 (handle_overlay_change): Simplify.
10081 (next_overlay_string): After having processed overlay strings at the
10082 end of the buffer, record that fact in
10083 it->overlay_strings_at_end_processed_p.
10084 (compare_overlay_entries): If before- and after-strings come
10085 from the same overlay, let before-strings come first.
10086 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10087 (load_overlay_strings): Take it->add_overlay_start into account
10088 when adding overlay strings.
10089
10090 * dispextern.h (struct it): Add member add_overlay_start.
10091
bb746ea6
DL
100922000-06-22 Dave Love <fx@gnu.org>
10093
10094 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10095
10096 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10097
a8f573f3
KH
100982000-06-22 Kenichi Handa <handa@etl.go.jp>
10099
10100 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10101 is greater than 0.
10102
9f2bbc92
DL
101032000-06-21 Dave Love <fx@gnu.org>
10104
178c5d9c 10105 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10106
3ee5041c
SM
101072000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10108
10109 * syntax.c (back_comment): Simplify string-parity counting (with
10110 the added benefit of handling multiple string-styles as long as
10111 they are not intertwined).
10112 Jump to the slow code as soon as a comment starter is found in
10113 a "string_lossage" position. Fixes the case: " /* " /* " */.
10114
4c343001
DL
101152000-06-21 Dave Love <fx@gnu.org>
10116
10117 * Makefile.in: Use GETLOADAVG_LIBS.
10118
10119 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10120 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10121
e6365855
SM
101222000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10123
10124 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10125 (Fforward_comment, scan_lists):
10126 Check the comstyle of single-char comment-starters.
10127 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10128 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10129 Check the comstyle of single-char comment-starters.
10130 Clarify control-flow around the Scomment case.
e6365855 10131
5700d2cc
DL
101322000-06-20 Dave Love <fx@gnu.org>
10133
d355bd8a
SM
10134 * fns.c (make_hash_table, maybe_resize_hash_table):
10135 Cast arg of next_almost_prime.
5700d2cc 10136
178c5d9c 10137 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10138
10139 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10140 and unistd.h.
10141
4a27bdfb
GM
101422000-06-20 Gerd Moellmann <gerd@gnu.org>
10143
a61d762c 10144 * keyboard.c (adjust_point_for_property): Check if display
52283633 10145 property should be treated as intangible by looking at its value.
a61d762c 10146
178c5d9c 10147 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10148 (display_prop_intangible_p): New functions.
10149
10150 * dispextern.h (display_prop_intangible_p): Add prototype.
10151
10152 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10153
4a27bdfb
GM
10154 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10155 argument to sigprocmask.
10156
10157 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10158 argument to sigprocmask.
10159
10160 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10161 sigprocmask_set, and pass a pointer to it to sigprocmask.
10162
10163 * sysdep.c (sigprocmask_set): New variable.
10164
10165 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10166 report_file_error.
10167
427ec082
SS
101682000-06-20 Sam Steingold <sds@gnu.org>
10169
10170 * xrdb.c: Don't declare xmalloc, xrealloc.
10171
8972fe79 101722000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10173
10174 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10175 (re_comp): Cast gettext return value to avoid complaints when
10176 !HAVE_LIBINTL.
10177
074b6efe
DL
101782000-06-20 Dave Love <fx@gnu.org>
10179
52283633 10180 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10181
5700d2cc 10182 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10183
d355bd8a 10184 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10185
10186 * m/alpha.h: Don't declare xmalloc, xrealloc.
10187
0af4f205
DL
10188 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10189
10190 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10191
10192 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10193
10194 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10195 HAVE_GETWD.
10196
074b6efe
DL
10197 * keyboard.h (poll_for_input_1): Declare.
10198
10199 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10200
10201 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10202
10203 * doprnt.c: Don't declare xmalloc, xrealloc.
10204
10205 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10206 (getenv, ctime, getwd): Removed.
10207 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10208
10209 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10210 x_set_tool_bar_lines.
10211
10212 * config.in: Add HAVE_GETWD. Move some definitions above
10213 machine/system includes.
10214
68a5e97b
KH
102152000-06-20 Kenichi Handa <handa@etl.go.jp>
10216
95417e1e
KH
10217 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10218
68a5e97b
KH
10219 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10220 contain information about ENCODING.
10221
10222 * fontset.c (FONTSET_ASCII): Use the first element of char table
10223 for an ASCII font, not defalt slot.
10224 (fontset_ref_via_base): If FONTSET doesn't contain information for
10225 C, try the default fontset.
10226 (make_fontset): Don't copy the default fontset.
10227 (fontset_font_pattern): Likewise.
10228 (accumulate_font_info): If ELT is nil, use the corresponding
10229 element in the default fontset.
10230
3b4fa1b2
DL
102312000-06-19 Dave Love <fx@gnu.org>
10232
943e731c
DL
10233 * syntax.c (Fparse_partial_sexp): Doc fix.
10234
10235 * regex.h: Test PROTOTYPES as well as __STDC__.
10236
3b4fa1b2
DL
10237 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10238 errno, strerror. Put text after #endif in comment.
10239
52283633 10240 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10241
10242 * xterm.c (x_frame_of_widget): Likewise.
10243
cdf0357b
GM
102442000-06-19 Gerd Moellmann <gerd@gnu.org>
10245
10246 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10247 to Vfundamental_mode_abbrev_table.
10248
10249 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10250 bogus objects are marked. This slows down GC by ~80 percent, but
10251 it might be worth trying when debugging GC-related problems.
10252 This feature requires conservative stack marking to be enabled.
10253
10254 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10255 returns XLookupChars, reset `modifiers' to zero.
10256
998e9f8c
DL
102572000-06-19 Dave Love <fx@gnu.org>
10258
10259 * mktime.c: Unprotoized.
10260
18e21ce8 102612000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10262
10263 * data.c (set_internal): If variable is frame-local,
10264 store the new value immediately into the frame parameter alist.
10265
140c4ac6
KR
102662000-06-19 Ken Raeburn <raeburn@gnu.org>
10267
14358466
KR
10268 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10269 in the custom handler pointer.
10270
140c4ac6
KR
10271 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10272 value, or checks for CHAR_META can fail when Lisp_Object is a
10273 union type.
10274 * keymap.c (get_keyelt): Likewise.
10275
10d7bf84
KH
102762000-06-19 Kenichi Handa <handa@etl.go.jp>
10277
10278 * ccl.h (struct ccl_program): New member eol_type.
10279 (struct ccl_spec): New member cr_carryover.
10280
10281 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10282 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10283
10284 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10285 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10286 (decode_eol_post_ccl): New function.
10287 (decode_coding): Don't detect EOL format here for CCL based coding
10288 systems.
10289 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10290 decode_eol_post_ccl after running the CCL program.
10291 (code_convert_region): Don't detect EOL format here for CCL based
10292 coding systems.
10293 (decode_coding_string): Likewise.
10294
52e386c2
KR
102952000-06-18 Ken Raeburn <raeburn@gnu.org>
10296
10297 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10298 when treating it as an integer.
10299
10300 * coding.h (encode_coding_string): Declare.
10301
10302 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10303 it as an integer.
10304
10305 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10306 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10307 to be passed to get_local_map.
10308
10309 * sound.c (Fplay_sound): Don't call make_number on
10310 Frun_hook_with_args count argument.
10311
10312 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10313 for lisp objects in X event structure data field, when lisp
10314 objects are represented with unions.
10315 (x_scroll_bar_to_input_event): Ditto.
10316
b357b9d4
KR
103172000-06-16 Ken Raeburn <raeburn@gnu.org>
10318
10319 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10320 termination of string. Fix sense of test whether
10321 Vline_number_display_limit is an integer.
b357b9d4 10322
a871441d
GM
103232000-06-16 Gerd Moellmann <gerd@gnu.org>
10324
a9021acd
GM
10325 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10326 only if HAVE_X_WINDOWS.
10327
6344985d
GM
10328 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10329 of titles.
10330
427ec082 10331 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10332 out of bounds.
10333
228b083e
EZ
103342000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10335
10336 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10337 of its headers.
10338
c25b53a2
KH
103392000-06-15 Kenichi Handa <handa@etl.go.jp>
10340
10341 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10342 start of the while loop.
10343
a6981b11
GM
103442000-06-15 Gerd Moellmann <gerd@gnu.org>
10345
e9924e52
GM
10346 * atimer.c (alarm_signal_handler): Add forward declaration.
10347
a6981b11
GM
10348 * data.c (set_internal): Remove debug code.
10349
25fa6deb
GM
103502000-06-14 Gerd Moellmann <gerd@gnu.org>
10351
dce6b995
GM
10352 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10353
9f817ea4
GM
10354 * unexec.c (toplevel) [COFF]: Include coff.h.
10355
10356 * s/lynxos.h: New file.
10357
10358 * keymap.c (Fsingle_key_description): Enclose function key and
10359 event symbol names in angle brackets.
10360
8a4e3c0c
GM
10361 * xdisp.c (setup_echo_area_for_printing): Call
10362 message_log_maybe_newline if message_buf_print is not set.
10363
10364 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10365 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10366 function does something useful even when message_buf_print is
10367 already set.
10368
52283633
SM
10369 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10370 New variables.
25fa6deb
GM
10371 (ensure_echo_area_buffers): Initialize echo buffer's
10372 truncate lines setting to nil.
10373 (with_echo_area_buffer): Don't set the echo buffer's truncate
10374 lines setting here.
8a4e3c0c 10375 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10376 of message_truncate_lines.
10377 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10378 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10379 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10380
10381 * keyboard.c (read_char): Bind message-truncate-lines to t
10382 while displaying a help-echo.
10383
10384 * lisp.h (Qmessage_truncate_lines): External declaration.
10385
163dcff3
GM
103862000-06-13 Gerd Moellmann <gerd@gnu.org>
10387
1681ead6
GM
10388 * xdisp.c (Vline_number_display_limit): Renamed from
10389 line_number_display_limit.
10390 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10391 Extend documentation string. Initialize
10392 Vline_number_display_limit to nil meaning no limit.
10393 (decode_mode_spec): Use Vline_number_display_limit with its new
10394 meaning.
10395
163dcff3
GM
10396 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10397
18e21ce8 103982000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10399
10400 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10401
163dcff3
GM
10402 * xfns.c (x_set_frame_parameters): Comment fix.
10403
10404 * frame.c (store_frame_param): Call swap_in_global_binding if the
10405 variable's current binding was chosen based on this frame.
10406
10407 * data.c (swap_in_global_binding): New function.
10408
a704139d
EZ
104092000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10410
10411 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10412 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10413
9b6610db
EZ
104142000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10415
10416 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10417
c68833d2
JR
104182000-06-12 Jason Rumney <jasonr@gnu.org>
10419
10420 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10421
10422 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10423
10424 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10425
10426 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10427
ed1056b3
GM
104282000-06-12 Gerd Moellmann <gerd@gnu.org>
10429
10430 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10431 (syms_of_xfaces): Defsubr Sdump_colors.
10432 (x_free_colors): Don't treat b&w specially on default visual.
10433 (x_free_dpy_colors): New function.
10434 (free_face_colors): Don't check visual class; it's done
10435 in x_free_colors.
10436
10437 * xterm.c (x_frame_of_widget): New function.
10438 (x_alloc_nearest_color_for_widget): Use it.
10439 (x_copy_dpy_color): New function.
10440 (x_destroy_window): Free various colors.
10441
5050a2ef
KH
104422000-06-12 Kenichi Handa <handa@etl.go.jp>
10443
10444 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10445
10446 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10447
10448 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10449
10450 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10451
10452 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10453
fb1b041d
DL
104542000-06-11 Dave Love <fx@gnu.org>
10455
10456 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10457
ff96b5f4
EZ
104582000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10459
10460 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10461
db8eeecd
GM
104622000-06-11 Gerd Moellmann <gerd@gnu.org>
10463
ed1056b3 10464 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10465 to `XEvent *'.
10466
49b71c5f
KH
104672000-06-10 Kenichi Handa <handa@etl.go.jp>
10468
c479bd55
KH
10469 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10470 (regex_compile): Fix the code for handling the case of single byte
10471 char and multibyte char being mixed in a range within [...].
10472
ff6a65c2
KH
10473 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10474 and dst_multibyte members of coding.
10475
49b71c5f
KH
10476 * charset.c (update_charset_table): Update the table
10477 bytes_by_char_head.
10478 (init_charset_once): Initialize elements of bytes_by_char_head to
10479 1 except for leading codes for private charases.
10480
10481 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10482 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10483
9e80b57d
KR
104842000-06-09 Ken Raeburn <raeburn@gnu.org>
10485
10486 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10487 access the data it doesn't point to.
10488
f83fe4b4
GM
104892000-06-08 Gerd Moellmann <gerd@gnu.org>
10490
10491 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10492 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10493 event queue. This is necessary because Emacs otherwise won't
10494 perform a switch-frame to a new frame until some other event, for
10495 example a keystroke event, forces it to do so. This has various
10496 effects, one visible being that the cursor of a frame created with
10497 C-x 5 2 or switched to with a window manager key binding like
10498 A-TAB stays hollow because selected_window isn't on the newly
10499 focused frame until the switch-frame is performed.
10500
10501 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10502 generating a switch-frame event if necessary.
10503
10504 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10505
10506 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10507 it's an integer.
10508
0890801b
KH
105092000-06-08 Kenichi Handa <handa@etl.go.jp>
10510
52283633 10511 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10512
173cbca8
GM
105132000-06-07 Gerd Moellmann <gerd@gnu.org>
10514
3091c2a6
GM
10515 * window.c (displayed_window_lines): Take empty lines at
10516 the bottom of a window into account.
427ec082 10517
f38952fe
GM
10518 * window.c (displayed_window_lines): New function.
10519 (Fmove_to_window_line): Use displayed_window_lines to determine
10520 the number of lines to move, instead of using the window's height.
10521
10522 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10523 to stop reading, even if the form read sets point to a different
10524 value when evaluated.
10525
427ec082 10526 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10527 put the cursor.
10528
6ba6c818
KH
105292000-06-07 Kenichi Handa <handa@etl.go.jp>
10530
10531 * fileio.c (e_write): Free composition data if stored in
10532 coding->cmp_data.
10533
5f1aea9a
GM
105342000-06-06 Gerd Moellmann <gerd@gnu.org>
10535
666852af
GM
10536 * xdisp.c (display_line): Set row's and iterator's
10537 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10538 Set cursor even if row ends in the middle of a character.
10539 (dump_glyph_row): Print values of new flags.
10540 (redisplay_window) <cursor movement in unchanged window>: When
10541 point has been moved forward, and PT is at the end of the cursor
10542 row, don't place the cursor in the next row if the cursor row ends
10543 in the middle of a character or at ZV.
10544
10545 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10546 (struct glyph_row): Add starts_in_middle_of_char_p and
10547 ends_in_middle_of_char_p.
10548 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10549 ends_in_middle_of_char_p flag.
10550 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10551
d13f3e2e
GM
10552 * term.c (append_glyph): Revert change of 2000-06-06.
10553
10554 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10555 padding glyph not fitting on line as whole character not
10556 fitting on line.
10557
5f1aea9a
GM
10558 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10559 this isn't true for images with `:ascent 100'.
10560
10cda9b0
KH
105612000-06-06 Kenichi Handa <handa@etl.go.jp>
10562
ed00559d
KH
10563 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10564 as modified if it is originally unmodified.
10565
10cda9b0
KH
10566 * term.c (encode_terminal_code): Change the way to check if
10567 terminal coding does any conversion.
10568 (append_glyph): Set glyph->pixel_width correctly.
10569
10570 * xdisp.c (display_line): While checking line continuation, pay
10571 attention to a padding glyph.
10572
1969fae2
GM
105732000-06-05 Gerd Moellmann <gerd@gnu.org>
10574
10575 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10576
162ccef4
DL
105772000-06-05 Dave Love <fx@gnu.org>
10578
f19f32dd
DL
10579 * xdisp.c: Include fontset.h.
10580
10581 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10582
10583 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10584
10585 * dispnew.c: Conditionally include term.h.
10586
10587 * coding.h: Declare code_convert_string_norecord.
10588
10589 * frame.h (struct frame): Use volatile unconditionally.
10590
10591 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10592
10593 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10594
10595 * systime.h: Protect against multiple inclusion.
10596 (timezone) [USG5_4]: Define as time_t.
10597
10598 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10599 (Foptimize_char_table, make_temp_name): Declare.
10600
10601 * Makefile.in (xdisp.o): Depend on fontset.h.
10602
10603 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10604
10605 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10606 (Foptimize_char_table, make_temp_name): Declare.
10607
427ec082 10608 * s/irix4-0.h:
162ccef4
DL
10609 * s/irix5-0.h:
10610 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10611
2082fe81
DL
106122000-06-02 Dave Love <fx@gnu.org>
10613
10614 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10615
dcf671d2
GM
106162000-06-02 Gerd Moellmann <gerd@gnu.org>
10617
10618 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10619 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10620 be freed.
10621
10622 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10623 glyph, use the ASCII NUL character to determine the face.
10624
d42122a3
DL
106252000-06-02 Dave Love <fx@gnu.org>
10626
10627 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10628 (VFORK_RETURN_TYPE): Remove.
427ec082 10629
d42122a3
DL
10630 * config.in: Add NO_MATHERR.
10631
dd432f16
DL
106322000-06-01 Dave Love <fx@gnu.org>
10633
90aa4ea8
DL
10634 * cmds.c (internal_self_insert): Don't check
10635 Vbefore_change_function, Vafter_change_function.
10636
10637 * insdel.c (signal_before_change, signal_after_change): Likewise.
10638
10639 * buffer.c (Vbefore_change_function, Vafter_change_function):
10640 Variables and their initializations deleted.
10641
2330c9d4
DL
10642 * callint.c (Fcall_interactively): Doc fix.
10643
dd432f16
DL
10644 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10645
bf9e8804
DL
106462000-05-31 Dave Love <fx@gnu.org>
10647
10648 * textprop.c: Revert last change -- duplicated.
10649
3694b4ab
GM
106502000-05-31 Gerd Moellmann <gerd@gnu.org>
10651
10652 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10653 in #if 0.
10654
10655 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10656
f14156cd
JR
106572000-05-31 Jason Rumney <jasonr@gnu.org>
10658
8119aab8
JR
10659 * search.c (Fre_search_forward, Fre_search_backward)
10660 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10661
f14156cd
JR
10662 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10663
4aab9be3
JR
106642000-05-30 Jason Rumney <jasonr@gnu.org>
10665
10666 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10667 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10668
52283633 10669 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10670
10671 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10672 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10673 expand a nil default_filename.
10674
10675 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10676 pointer to glyph_to_pixel_coords, not a frame.
10677
10678 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10679 coding.h to dependencies.
10680
10681 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10682
10683 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10684 window pointer to be consistent with w32term.c and xterm.c.
10685
10686 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10687 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10688 (Qline_spacing, Qcenter): New variables.
10689 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10690 (x_set_line_spacing): New function.
52283633 10691 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10692 (x_specified_cursor_type): New function.
10693 (x_set_cursor_type): Use it.
10694 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10695 and icon strings.
10696 (validate_x_resource_name, x_get_resource_string): Measure lengths
10697 of external strings in bytes.
10698 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10699 GetTextExtentPoint32 with NULL title.
10700 (Fx_create_frame): Initialize Qline_spacing.
10701 (w32_load_system_font): Initialize font->double_byte_p.
10702 (x_to_w32_charset): Use Vw32_charset_info_alist.
10703 (Image, busy cursor, tooltip functions): Merged changes from
10704 xfns.c. Not yet functional on Windows.
10705
10706 * w32gui.h (W32FontStruct): Add double_byte_p member.
10707
10708 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10709 (emacs_button_translation): Use it.
10710 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10711 in `mask' to be set.
10712
10713 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10714 menu strings.
10715
10716 * w32term.c: Format and doc changes to bring closer to xterm.c.
10717 (w32_char_font_type): New enum.
10718 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10719 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10720 (w32_encode_char): New function.
10721 (x_encode_char): Removed.
10722 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10723 x_encode_char and w32_font_is_double_byte.
10724 (x_produce_image_glyph): Use image_ascent.
10725 (x_produce_glyphs): Use new version of w32_per_char_metric and
10726 handle NULL return value. Allow extra line spacing.
10727 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10728 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10729 w32_font_type member of glyph instead.
10730 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10731 (fast_find_position): Make sure not to consider rows not visible
10732 in the window.
10733 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10734 w32_menu_display_help with input blocked, as it can abort.
10735 (x_display_and_set_cursor): Choose cursor depending
10736 on buffer-local value of cursor_type.
10737 (x_draw_bar_cursor): Add parameter WIDTH.
10738
10739 * w32term.h (CP_DEFAULT): Define.
10740 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10741
10fc3187
GM
107422000-05-30 Gerd Moellmann <gerd@gnu.org>
10743
10744 * search.c (Fre_search_forward, Fre_search_backward)
10745 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10746
d0555360
KH
107472000-05-30 Kenichi Handa <handa@etl.go.jp>
10748
10749 * coding.c (detect_coding_iso2022): Fix code for checking
10750 CODING_CATEGORY_MASK_ISO_8_2.
10751
f1ad044f
SM
107522000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10753
10754 * regex.c (PREFETCH_NOLIMIT): New function.
10755 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10756
84ec3b4b
GM
107572000-05-29 Gerd Moellmann <gerd@gnu.org>
10758
66254a13
GM
10759 * syntax.c (find_defun_start): Move test for
10760 open_paren_in_column_0_is_defun_start outside of the loop.
10761
49e70dec
GM
10762 * xdisp.c (redisplay_window): Really switch buffers when
10763 displaying mode lines, and temporarily set selected_frame to the
10764 frame of the window that's redisplayed.
10765
84ec3b4b
GM
10766 * xfaces.c (free_realized_faces): Block/unblock input.
10767 (free_realized_multibyte_face): Ditto.
10768
869a3a14
DL
107692000-05-29 Dave Love <fx@gnu.org>
10770
10771 * textprop.c (Qkeymap): New variable.
10772 (syms_of_textprop): Intern it.
10773
10774 * keymap.c: Include intervals.h.
10775 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10776
10777 * Makefile.in (keymap.o): Depend on intervals.h.
10778
10779 * keyboard.c (menu_bar_items, tool_bar_items)
10780 (Fexecute_extended_command): Deal with `keymap' property.
10781 (read_key_sequence): Track map from `keymap' property as well as
10782 `local_map'.
10783
10784 * intervals.c (get_local_map): Extra arg to allow looking for
10785 `keymap' too.
10786
10787 * intervals.h (map_property): New enum.
10788 (get_local_map): Extra arg using it.
10789 (Qkeymap): Declare.
10790
84ec3b4b 10791 * lisp.h (get_local_map): Don't declare here.
869a3a14 10792
89d0c844
KH
107932000-05-29 Kenichi Handa <handa@etl.go.jp>
10794
10795 * Makefile.in (callproc.o): Depend on composite.h.
10796
10797 * callproc.c: Include composite.h.
10798 (Fcall_process): Handle composition correctly.
10799
10800 * coding.h (coding_allocate_composition_data): Extern it.
10801 (coding_restore_composition): Likewise.
10802
10803 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10804 yet allocated, finish decoding with result
10805 CODING_FINISH_INSUFFICIENT_CMP.
10806 (coding_allocate_composition_data): Make it non-static.
10807 (coding_restore_composition): Likewise.
10808
797a084a
EZ
108092000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10810
10811 * charset.c (syms_of_charset): Revert last change.
10812
cf872af5
EZ
108132000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10814
10815 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10816 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10817 Handa.
cf872af5 10818
5b1ae051
EZ
108192000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10820
10821 * charset.c (syms_of_charset): Set width of character sets
10822 eight-bit-control and eight-bit-graphic to 1 column.
10823
34ec9ebe
GM
108242000-05-26 Gerd Moellmann <gerd@gnu.org>
10825
10826 * config.in (HAVE_SPEED_T): New define.
10827
10828 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10829 `extern speed_t'.
10830
dd854dc2
DL
108312000-05-26 Dave Love <fx@gnu.org>
10832
10833 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10834
10835 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10836 (Fsubr_arity): New function.
10837 (syms_of_data): Install them.
10838
ba9f8f95
KH
108392000-05-26 Kenichi Handa <handa@etl.go.jp>
10840
0f3e0672
KH
10841 * charset.c (init_charset_once): Set the table bytes_by_char_head
10842 correctly.
10843
cebefb44
KH
10844 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10845 the default fontset to what Emacs uses by default.
0f3e0672
KH
10846 (check_registry_encoding): This function deleted.
10847 (Fset_fontset_font): Remove the adhoc condition for the default
10848 fontset. Allow cons in FONTNAME.
cebefb44 10849
0f3e0672
KH
10850 * fns.c (map_char_table): Ignore char-table entries for
10851 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10852
7a18af49
KR
108532000-05-25 Ken Raeburn <raeburn@gnu.org>
10854
10855 * emacs.c (main): Initialize keyboard syms before initializing
10856 window code, so face names are available.
10857
d2af47df
SM
108582000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10859
10860 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10861 of an anchor at the beginning of a shy-group.
10862
fc6a6a4e
GM
108632000-05-25 Gerd Moellmann <gerd@gnu.org>
10864
10865 * xdisp.c (handle_invisible_prop): Don't try to skip over
10866 invisible text if end of text is already reached.
10867
005f0d35
DL
108682000-05-25 Dave Love <fx@gnu.org>
10869
02513cdd
DL
10870 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10871
005f0d35
DL
10872 * coding.c (encode_eol): Add null statement after label.
10873
89f6ca4e
EZ
108742000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10875
10876 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10877 2000-05-20.
10878
a4e1759e
KH
108792000-05-25 Kenichi Handa <handa@etl.go.jp>
10880
10881 * ccl.c (ccl_driver): Fix previous change.
10882
eacfd7fe
KH
108832000-05-25 Kenichi Handa <handa@etl.go.jp>
10884
46ab33a9
KH
10885 * coding.c (run_pre_post_conversion_on_str): Set point to the
10886 beginning of buffer before calling coding->post_read_conversion.
10887 (decode_coding_string): Give correct args to
10888 run_pre_post_conversion_on_str.
10889 (encode_coding_string): Likewise.
10890
eacfd7fe
KH
10891 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10892 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10893 eight-bit-graphic correctly.
10894
f8569325
DL
108952000-05-24 Kenichi HANDA <handa@etl.go.jp>
10896
10897 * fileio.c (Finsert_file_contents): Even if a file is not found,
10898 execute codes for setting up coding system. Call
10899 after-insert-file-functions unconditionally.
10900
04545643
GM
109012000-05-24 Gerd Moellmann <gerd@gnu.org>
10902
10903 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10904 BSD_PGRPS are not defined.
10905
747d90ea
KH
109062000-05-24 Kenichi Handa <handa@etl.go.jp>
10907
10908 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10909 DESCRIPTION.
10910 (syms_of_charset): Avoid building same strings.
10911
716e3b88
GM
109122000-05-23 Gerd Moellmann <gerd@gnu.org>
10913
10914 * lread.c (Fload): Add a comment about the meaning of
10915 Vuser_init_file being t.
10916
10917 * puresize.h (BASE_PURESIZE): Increase to 675000.
10918
10919 * s/gnu-linux.h (setpgrp): Don't define it here because this
10920 prevents compilation on GNU/Linux systems with glib 2.2.
10921
10922 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10923 as setpgid.
427ec082 10924
9aeb39fa
EZ
109252000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10926
10927 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10928 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10929 version.
10930 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10931
29ced61b
KH
109322000-05-23 Kenichi Handa <handa@etl.go.jp>
10933
52283633 10934 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10935
3d80f24d
KH
10936 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10937
52283633 10938 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10939
29ced61b
KH
10940 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10941
d7e00792
KH
109422000-05-22 Kenichi Handa <handa@etl.go.jp>
10943
c9d80d38
KH
10944 * keyboard.c (read_char): Allow character codes 128..255 to be
10945 handled by input-method-function.
10946
d7e00792
KH
10947 * insdel.c (adjust_markers_for_replace): Fix previous change.
10948 (adjust_after_replace): If PREV_TEXT is nil, call
10949 adjust_markers_for_insert, not adjust_markers_for_replace.
10950
087121cc 109512000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10952
087121cc
GM
10953 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10954 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10955 [HAVE_GRANDPT]: Define.
10956 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10957
10958 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10959 like SYSV_PTYS.
10960
10961 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10962
10963 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10964
c9671f81
KH
109652000-05-20 Kenichi Handa <handa@etl.go.jp>
10966
10967 The following changes are to handle 8-bit characters in a
10968 multibyte buffer/string without facing with byte combining
10969 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10970 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10971
10972 * Makefile.in (fns.o): Depend on charset.h.
10973
10974 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10975 convert it to unibyte.
10976 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10977
10978 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10979 apparent char boundary.
10980 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10981 0x80..0x9F to/from multibyte form.
10982
10983 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10984 to unibyte.
10985
10986 * callproc.c (Fcall_process): Always encode an argument string if
10987 it is multibyte. Setup src_multibyte and dst_multibyte members of
10988 process_coding properly.
ce75fd23 10989
c9671f81
KH
10990 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10991 SPLIT_NON_ASCII_CHAR.
10992
10993 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10994 as is.
10995 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10996
52283633 10997 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10998 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10999 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11000 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11001 and eight-bit-graphic.
11002 (char_to_string): Likewise. Signal an error for too large
11003 character code.
11004 (char_printable_p): Return 0 for 8-bit characters.
11005 (update_charset_table): Update iso_charset_table only when a final
11006 character is non-negative.
11007 (find_charset_in_text): Renamed from find_charset_in_str.
11008 Arguments and return value changed. Callers changed.
11009 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11010 be -1 if CHARSET is used only internally.
11011 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11012 eight-bit-graphic.
11013 (Fcharset_after): Simplified.
11014 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11015 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11016 (multibyte_chars_in_text): Simplified by assuming there's no
11017 invalid multibyte sequence.
52283633
SM
11018 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11019 (str_as_unibyte): New functions.
11020 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11021 (init_charset_once): Initialization for
11022 LEADING_CODE_8_BIT_CONTROL.
11023 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11024 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11025 eight-bit-control and eight-bit-graphic.
11026
52283633
SM
11027 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11028 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11029 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11030 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11031 (CHARSET_REVERSE_CHARSET): Likewise.
11032 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11033 eight-bit-graphic.
11034 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11035 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11036 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11037 encounter an invalid multibyte sequence.
11038 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11039 sequence is always valid.
11040 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11041 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11042 (CHAR_STRING): For 8-bit characters, call char_to_string.
11043 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11044 multibyte sequence is always valid.
11045 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11046 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11047 (str_as_unibyte): Extern them.
c9671f81 11048 (BCOPY_SHORT): Fix a bug.
52283633 11049 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11050 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11051 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11052 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11053
bd4bde7f 11054 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11055 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11056 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11057 (EMIT_BYTES): New macros.
11058 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11059 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11060 macros deleted.
11061 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11062 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11063 check the validity of multibyte sequence.
11064 (decode_coding_emacs_mule): New function.
11065 (encode_coding_emacs_mule): New macro.
11066 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11067 the source.
11068 (DECODE_ISO_CHARACTER): Just return a character code.
11069 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11070 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11071 EMIT_CHAR to produced decoded characters. Exit the loop only by
11072 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11073 block here.
11074 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11075 only position codes for an invalid character.
11076 (encode_designation_at_bol): Return new destination pointer. 5th
11077 arg DSTP is changed to DST.
11078 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11079 from the source by ONE_MORE_CHAR. Don't handle the case of last
11080 block here.
11081 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11082 macros deleted.
52283633
SM
11083 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11084 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11085 TWO_MORE_BYTES to fetch a byte from the source.
11086 (encode_eol): Pay attention to coding->src_multibyte.
11087 (detect_coding, detect_eol): Preserve members src_multibyte and
11088 dst_multibyte.
11089 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11090 (encoding_buffer_size): Set magnification to 3 for all coding
11091 systems that require encoding.
11092 (ccl_coding_driver): For decoding, be sure that the result is
11093 valid multibyte sequence.
11094 (decode_coding): Initialize coding->errors and coding->result.
11095 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11096 and raw-text, always call decode_eol. Handle the case of last
11097 block here. If not coding->dst_multibyte, convert the resulting
11098 sequence to unibyte.
11099 (encode_coding): Initialize coding->errors and coding->result.
11100 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11101 and raw-text, always call encode_eol. Handle the case of last
11102 block here.
11103 (shrink_decoding_region, shrink_encoding_region): Detect cases
11104 that we can't skip data more rigidly.
11105 (code_convert_region): Setup src_multibyte and dst_multibyte
11106 members of coding. For decoding, if the buffer is multibyte,
11107 convert the source sequence to unibyte in advance. For encoding,
11108 if the buffer is multibyte, convert the resulting sequence to
11109 multibyte afterward.
11110 (run_pre_post_conversion_on_str): New function.
11111 (code_convert_string): Deleted and divided into the following two.
11112 (decode_coding_string, encode_coding_string): New functions.
11113 (code_convert_string1, code_convert_string_norecord): Call one of
11114 above.
11115 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11116 MAKE_NON_ASCII_CHAR.
52283633
SM
11117 (Fset_terminal_coding_system_internal)
11118 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11119 and dst_multibyte members.
11120 (init_coding_once): Initialize iso_code_class with new enum
11121 ISO_control_0 and ISO_control_1.
11122
11123 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11124 devided into ISO_control_0 and ISO_control_1.
11125 (struct coding_system): New members src_multibyte, dst_multibyte,
11126 errors, and result. Delete member fake_multibyte.
11127 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11128 nonzero.
11129 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11130 nonzero.
11131
11132 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11133 (Faset): Likewise.
11134
11135 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11136 multibyte form.
11137 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11138 combining occurs.
11139 (Ftranspose_region): Delete codes for handling byte combining.
11140
11141 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11142 dst_multibyte members of coding. On handling REPLACE on unibyte
11143 buffer, convert the result of decode_coding to unibyte. On
11144 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11145 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11146 multibyteness of the source (buffer or string).
11147
11148 * fns.c (concat): Handle 8-bit characters correctly.
11149 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11150 unibyte in the result.
11151 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11152 valid multibyte form in the result.
11153 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11154 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11155 return -1, signal an error.
11156 (base64_encode_1): New arg MULTIBYTE. Get each character by
11157 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11158 character is found, return -1.
11159 (Fbase64_decode_region): Delete codes for handling byte-combining.
11160 Treat each decoded byte as a unibyte character.
11161 (Fbase64_decode_string): Return unibyte string.
11162 (Fcompare_strings, concat, string_byte_to_char): Use
11163 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11164 FETCH_STRING_CHAR_ADVANCE.
11165 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11166 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11167
11168 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11169 SPLIT_NON_ASCII_CHAR.
11170 (fontset_ref_via_base, fontset_set): Likewise
11171
11172 * insdel.c (adjust_markers_for_record_delete): Deleted.
11173 (adjust_markers_for_insert): Argument changed. Caller changed.
11174 (adjust_markers_for_replace): Likewise.
52283633
SM
11175 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11176 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11177 (copy_text): Delete unused local varialbe c_save. For converting
11178 to multibyte, be sure to make all 8-bit characters in valid
11179 multibyte form.
11180 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11181 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11182 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11183 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11184 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11185 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11186 handling byte combining.
11187 (adjust_before_replace): Deleted.
427ec082 11188
c9671f81
KH
11189 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11190 SPLIT_NON_ASCII_CHAR.
11191 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11192 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11193 (Fkey_description): Likewise.
11194
11195 * lread.c (read1): On reading multibyte string, be sure to make
11196 all 8-bit chararacters in valid multibyte form.
11197 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11198
11199 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11200 unconditionally.
11201
11202 * process.c (Fstart_process): GCPRO current_dir before calling
11203 Ffind_operation_coding_system. Encode arguments here.
11204 (create_process): Don't encode arguments here. Setup
11205 src_multibyte and dst_multibyte members of struct coding.
11206 (read_process_output): Setup src_multibyte and dst_multibyte
11207 members of struct coding. If the output is to multibyte buffer,
11208 always decode the output of the process. Adjust the
52283633 11209 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11210 (send_process): Setup coding->src_multibyte according to the
11211 multibyteness of the source.
11212
52283633 11213 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11214 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11215 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11216
52283633 11217 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11218
11219 * w16select.c (Fw16_set_clipboard_data): Setup members
11220 src_multibyte and dst_multibyte of coding. Adjusted for the
11221 change for find_charset_in_str.
11222 (Fw16_get_clipboard_data): Likewise.
11223
11224 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11225 dst_multibyte of coding.
11226 (x_to_w32_font): Likewise.
11227
11228 * w32select.c (Fw32_set_clipboard_data): Setup members
11229 src_multibyte and dst_multibyte of coding. Adjusted for the
11230 change for find_charset_in_str.
11231 (Fw32_get_clipboard_data): Likewise.
11232
11233 * xdisp.c (get_next_display_element): Handle 8-bit characters
11234 correctly.
52283633
SM
11235 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11236 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11237
11238 * xselect.c (selection_data_to_lisp_data): Setup members
11239 src_multibyte and dst_multibyte of coding. Adjusted for the
11240 change for find_charset_in_str.
11241 (lisp_data_to_selection_data): Likewise.
11242
5f64c9e0
GM
112432000-05-19 Gerd Moellmann <gerd@gnu.org>
11244
52283633 11245 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11246
5f64c9e0
GM
11247 * dispextern.h (Vimage_types): Add extern declaration.
11248
11249 * xdisp.c (Vimage_types): Moved here from xfns.c.
11250 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11251
11252 * xfns.c (Vimages_types): Moved to xdisp.c.
11253 (syms_of_xfns): Move `image-types' to xdisp.c.
11254
11255 * w32fns.c (Vimage_types): Removed.
11256 (syms_of_w32fns): Remove `image-types'.
11257
813086ea
KH
112582000-05-18 Kenichi Handa <handa@etl.go.jp>
11259
11260 * fns.c (map_char_table): Pay attention to character number of
11261 charset. Check the validity of charset at the first level. For
11262 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11263 the default value.
11264
11265 * fontset.c: Include "buffer.h".
11266 (fs_load_font): If the face has fontset, record the face ID in
11267 that fontset.
11268 (Finternal_char_font): New function.
11269 (accumulate_font_info): New function.
11270 (Ffontset_info): Rewritten for the new fontset implementation.
11271 (syms_of_fontset): Register Vdefault_fontset in the first element
11272 of Vfontset_table. Include Vdefault_fontset in
11273 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11274 function.
11275
bdaebbf0
DL
112762000-05-16 Dave Love <fx@gnu.org>
11277
11278 * m/iris5d.h: Deleted -- unused.
11279
cb613bb8
GM
112802000-05-16 Gerd Moellmann <gerd@gnu.org>
11281
b15f3b77
GM
11282 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11283 `invalid' instead of `illegal'.
11284
11285 * indent.c (Fmove_to_column): When ending within a tab, insert
11286 spaces first so that markers at the end of the tab get adjusted.
11287
835c1b36
GM
11288 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11289 buffer list that wasn't selected in that frame.
11290
cb613bb8
GM
11291 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11292 is needed on mescaline, use a 2 char prefix, and call
11293 make_temp_name with second arg non-zero.
11294
11295 * fileio.c (make_temp_name): New function, extracted from
11296 Fmake_temp_name.
11297 (Fmake_temp_name): Use it.
11298
f685bea9
EZ
112992000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11300
52283633 11301 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11302
a1b8d58b
GM
113032000-05-15 Gerd Moellmann <gerd@gnu.org>
11304
11305 * Makefile.in (lisp): Add env.elc.
11306
11307 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11308
a265079f
GM
113092000-05-12 Gerd Moellmann <gerd@gnu.org>
11310
11311 * search.c (Freplace_match): Handle case of `\N' in the
11312 replacement when there's no group N.
11313
da4496b6
GM
113142000-05-11 Gerd Moellmann <gerd@gnu.org>
11315
0ace421a
GM
11316 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11317 of the message to message_dolog.
11318
1172eb8d
GM
11319 * keyboard.c (read_char): Don't clear current message for help
11320 events; let the code handling help events handle this. Change
11321 code detecting help events that should be ignored.
11322
da4496b6
GM
11323 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11324 we're interating over a string.
11325
0623e40f
DL
113262000-05-09 Dave Love <fx@gnu.org>
11327
11328 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11329 that offset before writing. Move gcpro region past call of
11330 Ffile_regular_p.
11331
bae2503b
DL
113322000-05-04 Dave Love <fx@gnu.org>
11333
11334 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11335
ec82fb2f
GM
113362000-05-04 Gerd Moellmann <gerd@gnu.org>
11337
11338 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11339 of inserted characters when BUF equals the current buffer, and PT
11340 is in front of or equal to FROM.
11341
cbf18892
GM
113422000-05-03 Gerd Moellmann <gerd@gnu.org>
11343
4ff40dd0
GM
11344 * xdisp.c (handle_single_display_prop): If display property value
11345 is invalid, or something not supported on the frame, restore
11346 iterator's position to what it was initially. Make sure to return
11347 0 for invalid and unsupported property values.
11348
cbf18892
GM
11349 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11350 that x_per_char_metric returns null.
11351
1b0672c3
GM
113522000-05-02 Gerd Moellmann <gerd@gnu.org>
11353
576da55d
GM
11354 * xterm.h (struct face): Add forward declaration.
11355 (struct image): Ditto.
11356 (image_ascent): Add prototype.
11357
11358 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11359 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11360 image_ascent instead of using IMAGE_ASCENT.
11361
11362 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11363 (IMAGE_ASCENT): Removed.
11364
11365 * xfns.c (Qcenter): New variable.
11366 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11367 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11368 (image_ascent): New function.
11369 (lookup_image): Recognize `:ascent center'.
11370 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11371 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11372 (xbm_load): Don't set image's ascent here.
11373 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11374 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11375 check ascent values here.
11376 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11377 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11378 (syms_of_xfns): Initialize Qcenter.
11379
1b0672c3
GM
11380 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11381 to the limits, increase the limits.
11382
0d7811ed
KH
113832000-05-01 Kenichi Handa <handa@etl.go.jp>
11384
11385 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11386 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11387
a943a5ca
GM
113882000-04-28 Gerd Moellmann <gerd@gnu.org>
11389
11390 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11391 taller than the window.
11392
5dba1e29
KH
113932000-04-28 Kenichi Handa <handa@etl.go.jp>
11394
11395 * xfaces.c (realize_x_face): Fix the argument of the second
11396 xassert. BASE_FACE may not be a face for ASCII.
11397
353964e3
GM
113982000-04-27 Gerd Moellmann <gerd@gnu.org>
11399
c76e04a8
GM
11400 * print.c (print_object): Treat print-length < 0 as nil.
11401
11402 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11403
11404 * s/freebsd.h (TERMCAP_OBJ): Removed.
11405 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11406
11407 * lread.c (read1): Don't treat period followed by certain
11408 characters as symbol start.
11409
11410 * xfns.c (slurp_file): New function.
11411 (xbm_image_p): Handle case of in-memory XBM files.
11412 (xbm_scan): Rewritten to work on memory buffers instead of files.
11413 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11414 Work on memory buffers instead of files. If DATA is null test
11415 if buffer looks like an in-memory XBM file.
11416 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11417 memory buffers instead of files.
11418 (xbm_file_p): New function.
11419 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11420
353964e3
GM
11421 * lread.c (end_of_file_error): New function.
11422 (read1): Call it instead of signaling `end-of-file' directly.
11423
427ec082 11424 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11425 with Fprinc instead of Fprin1.
11426
24d744ac
KR
114272000-04-26 Ken Raeburn <raeburn@gnu.org>
11428
11429 * window.c (freeze_window_start): Check that minibuffer scroll
11430 window isn't nil before extracting the window structure pointer
11431 from it.
11432
11433 * undo.c (record_delete): If we hit the end of the undo list, stop
11434 picking elements apart.
11435
7464346d
GM
114362000-04-26 Gerd Moellmann <gerd@gnu.org>
11437
11438 * xdisp.c (display_line): If lines are continued, restore
11439 iterator's ascent/descent information to the values before the
11440 first glyph not fitting on the line.
11441
612839b6
GM
114422000-04-25 Gerd Moellmann <gerd@gnu.org>
11443
11444 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11445 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11446
11447 * dispnew.c (increment_matrix_positions): Renamed from
11448 increment_glyph_matrix_buffer_positions.
11449 (increment_row_positions): Renamed from
11450 increment_glyph_row_buffer_positions.
11451
11452 * dispextern.h: Change names of renamed functions from dispnew.c
11453 in prototypes.
11454
cc181e95
GM
114552000-04-24 Gerd Moellmann <gerd@gnu.org>
11456
abfcc168
GM
11457 * fileio.c (Fdo_auto_save): Create directories for auto-save
11458 list file if necessary.
11459
cc181e95
GM
11460 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11461 from buffer or frame.
11462 (automatic_hscrolling_p): New variable.
11463 (hscroll_windows): Scroll windows horizontally only if automatic
11464 hscrolling is allowed.
11465 (syms_of_xdisp): New variable `automatic-hscrolling'.
11466
11467 * frame.h (struct frame): Add member extra_line_spacing.
11468
11469 * xfns.c (x_set_line_spacing): New function.
11470 (Fx_create_frame): Set line spacing from resources.
11471 (Qline_spacing): New variable.
11472 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11473
cc181e95
GM
11474 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11475
11476 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11477 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11478 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11479 extra_line_spacing from default value.
11480 (init_buffer_once): Initialize default value of extra_line_spacing.
11481
11482 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11483 and extra3.
11484
11485 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11486 prompt_width. Add extra line spacing.
11487
11488 * term.c (produce_glyphs): Remove reference to struct it's
11489 prompt_width.
11490
11491 * dispextern.h (struct it): Remove member prompt_width, add
11492 extra_line_spacing.
11493
58827478
GM
114942000-04-22 Gerd Moellmann <gerd@gnu.org>
11495
11496 * dispnew.c (update_frame_line): When writing a whole line, make
11497 sure cursor is in the right row afterwards, otherwise a use of
11498 capability `ch' in cmgoto might leave the cursor in the row below.
11499
25a87f42
GM
115002000-04-21 Gerd Moellmann <gerd@gnu.org>
11501
11502 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11503
11504 * keyboard.c (timer_check): Fix typo in comment.
11505
54edf5c2
KH
115062000-04-21 Kenichi Handa <handa@etl.go.jp>
11507
11508 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11509 name change: ch -> character.
11510
3a64eef5
GM
115112000-04-20 Gerd Moellmann <gerd@gnu.org>
11512
11513 * keyboard.c (echo_message_buffer): New variable.
11514 (echo_now): Set echo_message_buffer to the echo area buffer used
11515 to display the echo.
11516 (cancel_echoing): Reset echo_message_buffer to nil.
11517 (read_char): Code rewritten that handles canceling an echo or
11518 echoing a dash, respectively.
11519
11520 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11521 directory doesn't exist.
11522
6142fdcb
DL
115232000-04-19 Dave Love <fx@gnu.org>
11524
11525 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11526 (concat): Don't allow numeric args.
11527 (Fconcat): Doc change.
6142fdcb 11528
ac6b5352
SM
115292000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11530
11531 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11532 instead define end_match(1|2) more carefully.
11533 Use GET_CHAR_BEFORE_2 for `begline'.
11534
cb9215e4
GM
115352000-04-19 Gerd Moellmann <gerd@gnu.org>
11536
5e3dac3f
GM
11537 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11538 on 64-bit systems where NULL is defined as `0'.
11539
11540 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11541 the `variable argument list' to make it work on Alpha.
11542
cb9215e4
GM
11543 * m/alpha.h (_LP64) [!_LP64]: Define.
11544 (ORDINARY_LINK): Define for NetBSD.
11545
11546 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11547
f532dca0
DL
115482000-04-19 Dave Love <fx@gnu.org>
11549
c750667e
DL
11550 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11551 change.
11552
11553 * Makefile.in (LIBS): Don't use.
11554 (GETLOADAVG_OBJ): Define again.
11555 (otherobj): Add GETLOADAVG_OBJ.
11556
f532dca0
DL
11557 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11558
1c7e22fd
GM
115592000-04-18 Gerd Moellmann <gerd@gnu.org>
11560
f6d3257b
GM
11561 * lread.c (read_filtered_event): Cancel and start busy cursor.
11562
427ec082 11563 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11564 that the per-character metrics may be null.
11565
e10f64e7
GM
115662000-04-17 Gerd Moellmann <gerd@gnu.org>
11567
0daee095
GM
11568 * buffer.c (clone_per_buffer_values): New function.
11569 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11570 clone_per_buffer_values if CLONE is not nil.
11571
e10f64e7
GM
11572 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11573
38687d43
DL
115742000-04-16 Dave Love <fx@gnu.org>
11575
11576 * Makefile.in: Remove obsolete localcpp stuff.
11577 (GETLOADAVG_OBJ): Don't define.
11578 (obj): Move LIBOBJS...
11579 (otherobj): ... to here.
11580 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11581 whitespace-only lines after the continuation (Irix).
11582
c21c7262
GM
115832000-04-14 Gerd Moellmann <gerd@gnu.org>
11584
11585 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11586
11587 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11588
314767c0
DL
115892000-04-14 Dave Love <fx@gnu.org>
11590
11591 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11592 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11593 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11594 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11595 NLIST_STRUCT.
11596
11597 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11598 autoconfiscated HAVE_GETLOADAVG.
11599
11600 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11601 BROKEN_MKTIME.
11602
a2522dca
GM
116032000-04-14 Gerd Moellmann <gerd@gnu.org>
11604
11605 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11606 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11607
33744b5d
DL
116082000-04-14 Dave Love <fx@gnu.org>
11609
c21c7262 11610 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11611 (INTERVAL_SRC): Convert to make variable.
11612 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11613 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11614 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11615 add LIBOBJS.
11616 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11617 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11618 (shortlisp): Add facemenu, float-sup, frame.
11619 (SOME_MACHINE_LISP): Remove them from here.
11620 (LIBES): Change unused LDLIBS to autoconf LIBS.
11621
11622 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11623
9d3d5916
KH
116242000-04-14 Kenichi Handa <handa@etl.go.jp>
11625
11626 * composite.c (update_compositions): If FROM and TO are not in a
11627 valid range, do nothing.
11628
198e3c7a
GM
116292000-04-13 Gerd Moellmann <gerd@gnu.org>
11630
52283633 11631 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11632
52283633 11633 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11634
11635 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11636 as TERMCAP_OBJ.
11637
055a28c9
EZ
116382000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11639
11640 * fileio.c (a_write): Remove redundant semi-colons.
11641 (e_write): Return -1 if failed to write all the data.
11642 This fixes the changes made at 1999-12-15.
11643
f5c75033
DL
116442000-04-12 Dave Love <fx@gnu.org>
11645
11646 * fns.c (mapcar1): Test for null vals to support mapc.
11647 (Fmapc): New function.
11648
0c3cfc51
EZ
116492000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11650
11651 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11652 (IT_frame_up_to_date): Support the buffer local value of
11653 cursor-type, if defined.
11654
33465a31
DL
116552000-04-10 Dave Love <fx@gnu.org>
11656
11657 * editfns.c (preceding-char, following-char): Doc fix.
11658
6ed56568
KR
116592000-04-10 Ken Raeburn <raeburn@gnu.org>
11660
11661 * Makefile.in (temacs): Revert 2000-03-12 change.
11662
7cf80d4e
JR
116632000-04-10 Jason Rumney <jasonr@gnu.org>
11664
11665 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11666
34f3f342
GM
116672000-04-10 Gerd Moellmann <gerd@gnu.org>
11668
1a1b1895
GM
11669 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11670 area buffer, if it's not set up yet.
11671
34f3f342
GM
11672 * indent.c (compute_motion): Set immediate_quit.
11673
be0dbdab
GM
116742000-04-09 Gerd Moellmann <gerd@gnu.org>
11675
52283633 11676 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11677 (realize_tty_face): Suppress boldness if colors are the inverse of
11678 the default colors, and tty_suppress_bold_inverse_default_colors_p
11679 is set.
11680 (Ftty_suppress_bold_inverse_default_colors): New function.
11681 (syms_of_xfaces): Defsubr it.
11682
be0dbdab
GM
11683 * buffer.c (Frestore_buffer_modified_p): New function.
11684 (syms_of_buffer): Defsubr it.
11685
e8413c3b
KR
116862000-04-08 Ken Raeburn <raeburn@gnu.org>
11687
87f67317
KR
11688 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11689 charset id (int) argument, not a charset (Lisp_Object).
11690
e8413c3b
KR
11691 * coding.h (code_convert_string): Declare.
11692 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11693 object, as the fourth argument to code_convert_string.
11694
52283633 11695 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11696 (Fset_fontset_font): Use EQ to compare lisp objects.
11697
7c752c80
KR
116982000-04-05 Ken Raeburn <raeburn@gnu.org>
11699
c0333abc
KR
11700 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11701 a pointer that looks like a lisp object.
11702 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11703 zero, instead see whether it's an integer object, since they can't
11704 have intervals.
11705 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11706
52283633
SM
11707 * dispnew.c (allocate_matrices_for_frame_redisplay)
11708 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11709 to convert between (unsigned) int values and lisp integers.
11710 * keyboard.c (read_key_sequence): Likewise.
11711 * lread.c (substitute_object_recurse): Likewise.
11712 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11713 * minibuf.c (do_completion, Fminibuffer_complete_word)
11714 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11715 * term.c (produce_special_glyphs): Likewise.
11716
11717 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11718 * print.c (print_preprocess, print_object): Likewise.
11719
11720 * search.c (compile_pattern): Use NILP when checking for nil.
11721
74e49b38
KR
11722 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11723 __OPTIMIZE__]: Provide a GNU C macro version that handles
11724 lisp-object unions.
11725 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11726 field, to better cope with ENABLE_CHECKING and calls that modify a
11727 Lisp_Object using its old value.
11728
685e5ed2
GM
117292000-04-04 Gerd Moellmann <gerd@gnu.org>
11730
c407c570
GM
11731 * window.c (compare_window_configurations): Signal an error
11732 if parameters C1 or C2 aren't window configurations.
11733
685e5ed2
GM
11734 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11735 AFTER_POTENTIAL_GC calls around calls to functions that can
11736 signal an error and thus invoke the debugger.
11737
587a49ab
GM
117382000-04-03 Gerd Moellmann <gerd@gnu.org>
11739
62f20204
GM
11740 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11741 an error if decoding fails.
11742
587a49ab
GM
11743 * keyboard.c (lispy_mouse_names): Variable removed.
11744 (Vlispy_mouse_stem): New variable.
11745 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11746 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11747 for any mouse button number. Increase size of mouse_syms and
11748 button_down_location as needed. Call modify_event_symbol with
11749 different arguments.
11750 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11751 Call modify_event_symbol with different arguments.
11752 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11753 for any button number. Call modify_event_symbol with different
11754 arguments.
11755 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11756 Accept a string for NAME_ALIST_OR_STEM.
11757
11758 * lisp.h (larger_vector): Add prototype.
11759
11760 * fns.c (larger_vector): Make externally visible.
11761
11762 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11763
2d1675e4
SM
117642000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11765
11766 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11767 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11768 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11769 we are between str1 and str2.
11770 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11771 (PATFETCH): Use `TRANSLATE'.
11772 (PATFETCH_RAW): Fetch multibyte char if applicable.
11773 (PATUNFETCH): Remove.
11774 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11775 When writing a char, write it directly into the pattern buffer rather
11776 than going needlessly through a temp char-array.
11777 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11778 multibyte magic and remove the useless `#ifdef emacs'.
11779 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11780 buffer.
11781
11782 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11783 conditional on `emacs'.
11784
11785 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11786
cc2d8c6b
KR
117872000-04-01 Ken Raeburn <raeburn@gnu.org>
11788
11789 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11790 non-union-type versions of XMARK and friends here, because XMARK
11791 and friends won't work on an integer field if NO_UNION_TYPE is not
11792 defined.
52283633 11793 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11794
52283633 11795 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11796 (syms_of_composite): Delete local var NARGS, pass an int as first
11797 argument to Fmake_hash_table.
11798
2387b382
KR
11799 * editfns.c (text_property_stickiness): Use NILP to test
11800 Lisp_Object boolean value.
11801 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11802 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11803 problems reading from and changing the same lisp value in an
11804 XSETSTRING call.
11805
27660e89
GM
118062000-04-01 Gerd Moellmann <gerd@gnu.org>
11807
11808 * term.c (TN_no_color_video): New variable.
11809 (term_init): Intitialize TN_no_color_video.
11810 (enum no_color_bit): New enumeration.
11811 (MAY_USE_WITH_COLORS_P): New macro.
11812 (turn_on_face): Use it to determine if attributes may be used
11813 combined with colors.
11814
3578db3c
KR
118152000-04-01 Ken Raeburn <raeburn@gnu.org>
11816
11817 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11818 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11819 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11820 proper accessor macros.
11821 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11822 (grow_mini_window): Fix typo getting int value of root->height.
11823
6fc556fd
KR
11824 * xdisp.c (compute_string_pos): Fix order of arguments to
11825 string_pos_nchars_ahead.
11826 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11827 count arg to variable-arg routines like Frun_hook_with_args and
11828 Fformat.
587a49ab
GM
11829 (back_to_previous_visible_line_start)
11830 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11831 fixed-arg routines like Fget_char_property and Fmake_string.
11832 (reconsider_clip_changes): Use XINT when comparing integer lisp
11833 objects, or passing them as int arguments.
587a49ab
GM
11834 (mark_window_display_accurate, insert_left_trunc_glyphs)
11835 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11836 storing or passing integer values as lisp objects.
11837 (set_cursor_from_row, highlight_trailing_whitespace): Use
11838 INTEGERP, not implicit test against zero, for glyph object.
11839 (try_window_id): Don't use make_number when we want an int value.
11840
11841 * xfaces.c (xlfd_symbolic_value): Make last argument a
11842 Lisp_Object, to be consistent with callers.
11843 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11844 (lface_hash): Apply XFASTINT to lisp values before folding in.
11845
11846 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11847 fill in window width and height. Pass an int, not a lisp object,
11848 as first arg to Finsert.
11849
6e7b2457
GM
118502000-04-01 Gerd Moellmann <gerd@gnu.org>
11851
610d841e
GM
11852 * xfaces.c (realize_basic_faces): Block input while realizing
11853 the faces.
11854
6e7b2457
GM
11855 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11856
11857 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11858
aa110c0c
GM
118592000-03-31 Gerd Moellmann <gerd@gnu.org>
11860
11861 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11862 or ASCII, handle case that per-char metric is null.
aa110c0c 11863
8801a864
KR
118642000-03-30 Ken Raeburn <raeburn@gnu.org>
11865
c6129d7e
KR
11866 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11867
52283633
SM
11868 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11869 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11870 pointer, using eassert.
11871 * frame.h (XFRAME): Likewise.
11872
52283633
SM
11873 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11874 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11875 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11876 * data.c (set_internal): Likewise.
52283633
SM
11877 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11878 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11879 * fileio.c (auto_save_1): Likewise.
11880 * insdel.c (check_markers): Likewise.
11881 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11882 * undo.c (record_insert): Likewise.
11883 * vmsproc.c (child_sig): Likewise.
11884 * window.c (unshow_buffer, window_loop): Likewise.
11885 * xterm.c (x_erase_phys_cursor): Likewise.
11886
8e7af858
GM
118872000-03-30 Gerd Moellmann <gerd@gnu.org>
11888
11889 * xfns.c (free_image_cache): Free the cache structure itself
11890 last, after all its members have been freed.
11891
11892 * lisp.h (xstrdup): Add prototype.
11893
11894 * alloc.c (xstrdup): Moved here from xfaces.c.
11895 (allocating_for_lisp): Variable removed.
52283633 11896 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11897
11898 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11899 of Fsymbol_value.
11900 (xstrdup): Moved to alloc.c.
11901
e0b8c689
KR
119022000-03-29 Ken Raeburn <raeburn@gnu.org>
11903
b96f9fb7
KR
11904 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11905
11906 * emacs.c (main): Fix sense of no-loadup test.
11907
e0b8c689
KR
11908 * config.in (ENABLE_CHECKING): Undef.
11909
11910 * lisp.h (struct interval): Replace "parent" field with a union of
11911 interval pointer and Lisp_Object; add new bitfield to use as
11912 discriminant. Change other flag fields to bitfields.
11913 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11914 is defined and the supplied test fails, print a message and abort.
11915 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11916
11917 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11918 pointers; abort if the value looks like a lisp object.
52283633
SM
11919 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11920 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11921 Modify for new interval parent definition.
11922
52283633
SM
11923 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11924 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11925 addressable lisp object in the interval structure.
11926 (die): New function.
11927 (suppress_checking): New variable.
11928
11929 * intervals.c (interval_start_pos): Just return 0 if there's no
11930 parent object.
11931
f83c5440
GM
119322000-03-29 Gerd Moellmann <gerd@gnu.org>
11933
11934 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11935 and earlier Emacs versions.
11936
11937 * keyboard.c (Ftop_level): Cancel busy-cursor.
11938
11939 * eval.c (call_debugger): Cancel busy-cursor.
11940
fdce64ff
KH
119412000-03-29 Kenichi Handa <handa@etl.go.jp>
11942
11943 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11944 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11945
f6a3f532
SM
119462000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11947
11948 * regex.c (analyse_first): New function obtained by ripping out most
11949 of re_compile_fastmap and generalizing it a little bit so that it
11950 can also just return whether a given (sub)pattern can match the empty
11951 string or not.
11952 (regex_compile): Use `analyse_first' to decide whether the loop-check
11953 needs to be done or not for *, +, *? and +? (the loop check is costly
11954 for non-greedy repetition).
11955 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11956
e9b309ac
DL
119572000-03-28 Dave Love <fx@gnu.org>
11958
52283633 11959 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11960
e9b309ac
DL
11961 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11962
ed0767d8
SM
119632000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11964
11965 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11966 an expression.
11967 (enum re_opcode_t): Update description of succeed_n.
11968 (PATFETCH): Always define.
11969 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11970 operators, char classes, shy-groups and intervals).
11971 Optimize special cases of intervals so as to only use succeed_n and
11972 jump_n when really needed.
11973 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11974 that we don't have to handle the special cases any more.
11975 Simplify on_failure_jump handling as well.
11976
e11e7e46
JR
119772000-03-28 Jason Rumney <jasonr@gnu.org>
11978
11979 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11980
88faab89
GM
119812000-03-27 Gerd Moellmann <gerd@gnu.org>
11982
182ff242
GM
11983 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11984
11985 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11986
182ff242
GM
11987 * alloc.c (mark_maybe_object): New function.
11988 (mark_memory): Use it.
11989 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11990 (setjmp_tested_p, longjmp_done): New variables.
11991 (test_setjmp): New function.
11992 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11993 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11994
c1005d06
GM
11995 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11996 to DEC_TEXT_POS and INC_TEXT_POS.
11997
11998 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11999 with parameter MULTIBYTE_P.
12000
52283633 12001 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12002
7439e5b9 12003 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12004 buffers because it looks for multibyte character byte sequences
12005 which don't exist in unibyte text.
7439e5b9 12006
d9c545da
GM
12007 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12008
11fd416e 12009 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12010 [DEBUG_X_COLORS]: New functions.
12011 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12012
12013 * xfns.c (x_set_cursor_color): Get color reference counts right.
12014
12015 * xterm.c (x_copy_color): New function.
12016 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12017
12018 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12019 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12020 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12021 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12022 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12023 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12024 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12025 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12026 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12027 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12028
11fd416e
GM
12029 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12030 names for handling per-buffer variables.
d9c545da
GM
12031
12032 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12033 instead of MAX_BUFFER_LOCAL_VARS.
12034 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12035
12036 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12037
88faab89
GM
12038 * xfns.c (x_specified_cursor_type): New function.
12039 (x_set_cursor_type): Use it.
12040
12041 * buffer.h (struct buffer): Add cursor_type.
12042
d80f42b7
SM
120432000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12044
12045 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12046 (print_partial_compiled_pattern, re_compile_fastmap):
12047 Handle new opcode.
d80f42b7
SM
12048 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12049 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12050 executing it as well as when popping it off the stack to find infinite
12051 loops in non-greedy repetition operators.
12052
89e80928
GM
120532000-03-26 Gerd Moellmann <gerd@gnu.org>
12054
3d4ff2dd
GM
12055 * doc.c (Qfunction_documentation): New variable.
12056 (syms_of_doc): Initialize Qfunction_documentation.
12057 (Fdocumentation): If FUNCTION is a symbol with non-nil
12058 `function-documentation' property, return a documentation derived
12059 from that.
12060
bd96bd79
GM
12061 * buffer.c (syms_of_buffer): Add default-cursor-type.
12062 (init_buffer_once): Don't let cursor_type have a local value
12063 in every buffer.
12064
19d1bc27
GM
12065 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12066 on buffer-local value of cursor_type.
12067 (x_draw_bar_cursor): Add parameter WIDTH.
12068
12069 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12070 (init_buffer_once): Set default cursor_type value to t.
12071 Mark cursor_type as local everywhere.
12072 (syms_of_buffer): New per-buffer variable cursor-type.
12073
89e80928
GM
12074 * buffer.h (struct buffer): Remove member local_var_flags,
12075 add local_flags.
12076 (MAX_BUFFER_LOCAL_VARS): New macro.
12077 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12078 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12079 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12080 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12081
52283633 12082 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12083
12084 * category.c (Fset_category_table): Use new macros for per-buffer
12085 variables.
12086
12087 * buffer.c (buffer_permanent_local_flags): Make a char array.
12088 (max_buffer_local_idx): New variable.
12089 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12090 for new handling of per-buffer variables.
12091 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12092 (init_buffer_once): Initialize per-buffer vars differently.
12093 Set max_buffer_local_idx.
12094
12095 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12096 variables.
12097
52283633 12098 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12099
12100 * data.c (do_symval_forwarding, store_symval_forwarding)
12101 (find_symbol_value, set_internal, default_value, Fset_default)
12102 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12103 per-buffer variables.
12104
12105 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12106
9a0dd3dc
GM
121072000-03-24 Gerd Moellmann <gerd@gnu.org>
12108
b68c375f
GM
12109 * xterm.c (x_term_init): Unblock input around call1 of
12110 Qvendor_specific_keysyms.
12111
9a0dd3dc
GM
12112 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12113 (find_defun_start): Consider an open parenthesis in column 0
12114 a defun start only if open_paren_in_column_0_is_defun_start is set.
12115 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12116
7973e637
SM
121172000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12118
12119 * eval.c (Fautoload): Add entry in load-history (if after dump).
12120 * lread.c (load-history): Update docstring.
12121
39210e90
GM
121222000-03-24 Gerd Moellmann <gerd@gnu.org>
12123
12124 * indent.c (Fvertical_motion): Always use the current buffer.
12125 Temporarily change the window's buffer, if necessary.
12126
72db3ab5
GM
121272000-03-23 Gerd Moellmann <gerd@gnu.org>
12128
12129 * xterm.c (fast_find_position): Make sure not to consider rows
12130 not visible in the window.
12131
990b2375
SM
121322000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12133
12134 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12135 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12136
ff4df011
JR
121372000-03-22 Jason Rumney <jasonr@gnu.org>
12138
12139 * w32menu.c (single_submenu): Set help string to NULL if none.
12140 (w32_menu_show): Set help string correctly.
12141 (add-menu-item): Set help string in MIIM_DATA for menu item.
12142 Load SetMenuItemInfoA explicitly.
12143 (w32_menu_display_help): New function.
427ec082 12144
ff4df011
JR
12145 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12146 (QCdata): Moved to xdisp.c.
12147
12148 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12149 (Vw32_charset_to_codepage_alist): Removed.
12150 (Vw32_charset_info_alist): New variable.
52283633
SM
12151 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12152 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12153 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12154 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12155 with TODO comment.
12156 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12157 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12158 Define Vw32_charset_info_alist and w32_charset symbols.
12159
121602000-03-22 Jason Rumney <jasonr@gnu.org>
12161
12162 * makefile.nt (w32bdf.obj): Update dependencies.
12163
12164 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12165
12166 * w32fns.c: Include fontset.h after dispextern.h.
12167 (Fx_create_frame): Do not create fontset.
12168 (w32_load_system_font): Doc fix.
12169 (Fx_close_connection): Free full_name if it is not shared.
12170
12171 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12172 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12173 Callers updated.
ff4df011
JR
12174 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12175 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12176 (w32_font_is_double_byte): New function, needs body.
12177 (x_append_glyph): Set glyph->glyph_not_available_p.
12178 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12179 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12180 character, convert it to a unibyte character.
12181 (struct glyph_string): Delete member `charset'.
12182 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12183 calculating it is found.
12184 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12185 the case that per char metric is not available correctly.
12186 (x_fill_glyph_string): Handle the case that the specific glyph is
12187 not available correctly.
12188 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12189 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12190 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12191 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12192 fontset. Don't call FS_LOAD_FONT.
12193
439d5cb4
KR
121942000-03-22 Ken Raeburn <raeburn@gnu.org>
12195
12196 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12197 (INT_LISPLIKE): New macro.
12198 (NULL_INTERVAL_P): Use it.
52283633
SM
12199 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12200 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12201 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12202
12203 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12204 explicit references to "parent" field of struct interval and
12205 associated unclean type conversions.
52283633
SM
12206 * intervals.c (create_root_interval, root_interval, rotate_right)
12207 (rotate_left, balance_possible_root_interval, split_interval_right)
12208 (split_interval_left, interval_start_pos, find_interval)
12209 (next_interval, previous_interval, update_interval)
12210 (adjust_intervals_for_insertion, delete_node, delete_interval)
12211 (adjust_intervals_for_deletion, merge_interval_right)
12212 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12213 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12214 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12215 Likewise.
12216 * syntax.c (update_syntax_table): Likewise.
12217
12218 * intervals.c (reproduce_tree_obj): New function, like
12219 reproduce_tree but takes a Lisp_Object for the parent. Declare
12220 with prototype.
12221 (graft_intervals_into_buffer): Use it when appropriate.
12222 (reproduce_tree): Declare with prototype.
12223 (balance_possible_root_interval): Check that the parent is a lisp
12224 object before trying to examine its type.
12225
ee1c5b21
GM
122262000-03-22 Gerd Moellmann <gerd@gnu.org>
12227
12228 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12229 as strings only if both are known to be strings.
12230
12231 * s/openbsd.h (LIBS_TERMCAP): Undef.
12232
1fb352e0
SM
122332000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12234
12235 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12236 definitions for non-Emacs compilation.
12237 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12238 outside of `#ifdef emacs'.
12239 (print_partial_compiled_pattern): Update.
12240 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12241 (re_compile_fastmap): Merge handling of charset and charset_not (for
12242 emacs and non-emacs compilation as well).
12243 Similarly for (not)categoryspec and (not)syntaxspec.
12244 Don't use the fastmap when reaching `anychar' since the added
12245 complexity is not justified.
12246 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12247 and (not)syntaxspec. Merge (not)categoryspec.
12248
fdaa1f77
KH
122492000-03-22 Kenichi Handa <handa@etl.go.jp>
12250
52283633
SM
12251 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12252 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12253 --without-x.
fdaa1f77 12254
d152fb46
DL
122552000-03-21 Dave Love <fx@gnu.org>
12256
12257 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12258 doc string.
12259
d2cafc8c
GM
122602000-03-21 Gerd Moellmann <gerd@gnu.org>
12261
12262 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12263 (lface_fully_specified_p): Don't check contents of
12264 LFACE_FONT_INDEX because that attribute is optional.
12265 (realize_x_face): Remove now unwarranted xassert.
12266
9111d4b5
KH
122672000-03-21 Kenichi HANDA <handa@etl.go.jp>
12268
12269 The following changes are to make font selection based on
12270 characters, not charset. In addition, they recover fontset
12271 facilities while utilizing the new font selection mechanism.
12272
6c4bfdc0
KH
12273 * Makefile.in (fontset.o): Depend on dispextern.h.
12274
12275 * alloc.c (mark_face_cache): Don't mark face->registry.
12276
9111d4b5
KH
12277 * dispextern.h (struct glyph): New member glyph_not_available_p.
12278 Use 22 bits for face_id.
12279 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12280 (struct face): Delete member registry, new member ascii_face.
12281 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12282 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12283 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12284 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12285
12286 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12287 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12288 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12289 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12290 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12291 (fs_free_face_fontset, fontset_font_pattern)
12292 (face_suitable_for_char_p, face_for_char)
12293 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12294 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12295 (FS_LOAD_FACE_FONT): New macro.
12296
12297 * fontset.c: All codes rewritten or adjusted for the change of
12298 fontset implementation. Now fontset is represented by char table.
52283633
SM
12299 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12300 Variables removed.
9111d4b5 12301 (my_strcasecmp): Function removed.
52283633 12302 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12303 (AREF, ASIZE): New macros.
52283633
SM
12304 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12305 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12306 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12307 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12308 (fontset_id_valid_p, font_family_registry, fontset_name)
12309 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12310 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12311 New functions.
12312 (fs_load_font): New arg FACE. Caller changed.
12313 (fs_query_fontset): Argument changed. Caller changed.
12314 (Fquery_fontset): call fs_query_fontset.
12315 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12316 Functions removed.
52283633
SM
12317 (clear_fontset_elements, check_registry_encoding)
12318 (check_fontset_name): New functions.
9111d4b5
KH
12319 (syms_of_fontset): Set char-table-extra-slots property of fontset
12320 to 3. Staticpro and initialize Vfontset_table and
12321 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12322
12323 * frame.h (struct frame): Member `fontset_data' removed.
12324 (FRAME_FONTSET_DATA): Macro removed.
12325
12326 * frame.c (make_frame): Don't allocate f->fontset_data.
12327 (Fdelete_frame): Don't free f->fontset_data.
12328
6c4bfdc0
KH
12329 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12330
9111d4b5
KH
12331 * xdisp.c (charset_at_position): Function removed.
12332 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12333 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12334 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12335 Likewise.
12336 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12337 FACE_FOR_CHARSET.
52283633
SM
12338 (get_next_display_element, append_space)
12339 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12340
12341 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12342 Variables removed.
12343 (clear_font_table, frame_update_line_height, load_face_font):
12344 Adjusted for the change of fontset implementation.
12345 (load_face_fontset_font): Function removed.
12346 (pixel_point_size): New function.
12347 (font_list): Argument type changed. Caller changed.
12348 (LFACE_FONT): New macro.
12349 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12350 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12351 Lisp_Object. Determine the font name by actually loading a font
12352 by the specified pattern. Set LFACE_FONT (lface) to the specified
12353 pattern. Even if a font is not found, don't try alternatives.
12354 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12355 (set_font_frame_param): If `font' is specified in lface, use it.
12356 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12357 (lface_same_font_attributes_p): Likewise.
12358 (make_realized_face): Arguent changed. Caller changed. Set
12359 face->ascii_face to face itself.
12360 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12361 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12362 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12363 (free_realized_multibyte_face): New function.
12364 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12365 changed. Caller changed.
12366 (try_font_list): Argument type changed.
12367 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12368 (choose_face_font): Argument changed. Handle fontset properly.
12369 (choose_face_fontset_font): Function removed.
12370 (realize_default_face, realize_named_face): Don't remove the
12371 former face here.
12372 (realize_face): Argument changed. Caller changed. Remove face
52283633 12373 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12374 (realize_x_face): Argument changed. Caller changed. For a
12375 multibyte character, share fontset with base_face. For a single
52283633 12376 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12377 (realize_tty_face): Argument changed. Caller changed.
12378 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12379 (face_at_buffer_position): Don't check multibyte_p for returning
12380 DEFAULT_FACE_ID.
12381 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12382 FACE_SUITABLE_FOR_CHARSET_P.
12383 (syms_of_xfaces): Remove code for Qx_charset_registry and
12384 Vface_default_registry.
12385
6c4bfdc0
KH
12386 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12387 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12388 (x_per_char_metric): Don't try FONT->default_char. Even if
12389 pcm->width is zero, glyph bits may exist.
12390 (x_encode_char): Always initialize char2b->byte1.
12391 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12392 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12393 (x_append_glyph): Set glyph->glyph_not_available_p.
12394 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12395 it->charset. Handle the case that per char metric is not
12396 available. If it->multibyte_p is zero and it->c is a multibyte
12397 character, convert it to a unibyte character.
12398 (struct glyph_string): Delete member `charset'.
12399 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12400 the case that per char metric is not available correctly.
12401 (x_fill_glyph_string): Handle the case that the specific glyph is
12402 not available correctly.
12403 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12404 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12405 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12406 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12407 fontset. Don't call FS_LOAD_FONT.
12408
12409 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12410 (x_create_tip_frame): Likewise.
12411 (Fx_close_connection): Free full_name of font_info.
12412
12413 * fns.c (optimize_sub_char_table): New function.
12414 (Foptimize_char_table): New function.
12415 (syms_of_fns): Defsubr Soptimize_char_table.
12416
b33dd3b0
GM
124172000-03-20 Gerd Moellmann <gerd@gnu.org>
12418
12419 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12420 only if buffer is displayed in some window.
12421
12422 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12423 (try_window_reusing_current_matrix): Don't call scroll run
12424 function if run's current and desired position are the same;
12425 this prevents cursor flickering.
12426
4e8a9132
SM
124272000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12428
12429 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12430
12431 * regex.c (RE_STRING_CHAR): New macro.
12432 (GET_CHAR_AFER_2): Remove.
12433 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12434 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12435 (print_partial_compiled_pattern, re_compile_fastmap)
12436 (re_match_2_internal): Remove on_failure_jump_exclusive.
12437 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12438 optimization only need to work for * (ie. can use of_keep_string_jump).
12439 Remove the special case for .*\n since it is now covered by the general
12440 optimization.
12441 (re_search_2): Don't bother with `room'.
12442 (skip_one_char): New function.
12443 (skip_noops): Simplify since `memory' is not needed any more.
12444 (mutually_exclusive_p): Restructure slightly to use `switch' and
12445 add handling for "all" remaining cases.
12446 (re_match_2_internal): Change on_failure_jump_smart to use
12447 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12448 rather than on_failure_jump_exclusive.
12449
2136fdd4
GM
124502000-03-19 Gerd Moellmann <gerd@gnu.org>
12451
12452 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12453 number of bits per RGB because it's everywhere used as the depth
12454 of the visual.
12455
12456 * term.c (calculate_costs): Remove code dealing with X frames.
12457
18e21ce8 124582000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12459
12460 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12461
d7b511c4
GM
124622000-03-18 Gerd Moellmann <gerd@gnu.org>
12463
12464 * lread.c (read_integer): Unread the last char not consumed.
12465
16b5d424
GM
124662000-03-17 Gerd Moellmann <gerd@gnu.org>
12467
12468 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12469 which are in the process of being deleted.
16b5d424 12470
1fa28578
GM
124712000-03-16 Gerd Moellmann <gerd@gnu.org>
12472
83488cce
GM
12473 * Makefile.in (mostlyclean): Add `*.core'.
12474 (clean): Add `bootstrap-emacs'.
12475
1fa28578
GM
12476 * lread.c (read_integer): New function.
12477 (read1): Support read syntax #o, #x, #b, #r.
12478
99633e97
SM
124792000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12480
1fa28578
GM
12481 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12482 make sure POINTER_TO_OFFSET gives the same value before and after
12483 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12484 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12485 (debug): Now only active if > 0 rather than if != 0.
12486 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12487 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12488 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12489 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12490 (store_op1, store_op2, insert_op1, insert_op2)
12491 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12492 (group_in_compile_stack): Move to after its arg's types are
12493 declared and add a prototype.
99633e97 12494 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12495 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12496 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12497 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12498 indentation of the greedy-op and shy-group code.
99633e97
SM
12499 (at_(beg|end)line_loc_p): Fix argument's types.
12500 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12501 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12502 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12503 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12504 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12505 QUIT unconditionally.
99633e97 12506
699238d9
GM
125072000-03-15 Gerd Moellmann <gerd@gnu.org>
12508
12509 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12510 a sole completion.
12511
12512 * process.c (send_process): Add a hint that the function
12513 can call Lisp code to its comment.
12514
12515 * lread.c (load_dangerous_libraries): New variable.
12516 (Vbytecomp_version_regexp): New variable.
12517 (safe_to_load_p): New function.
12518 (Fload): Handle files not compiled with Emacs specially.
12519 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12520
34e23e5a
GM
125212000-03-14 Gerd Moellmann <gerd@gnu.org>
12522
9c763cca
GM
12523 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12524
12525 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12526 support functions only if HAVE_X11R6_XIM is defined.
12527 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12528
12529 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12530
12531 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12532 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12533 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12534
12535 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12536 (HAVE_X11R6_XIM): Define.
12537
12538 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12539
34e23e5a
GM
12540 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12541 If set, call XSynchronize.
12542
66f0296e
SM
125432000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12544
34e23e5a
GM
12545 * regex.c: Declare a new type `re_char' used throughout the code
12546 for the string char type. It's `const unsigned char' to match the
12547 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12548 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12549 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12550 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12551 code duplication.
66f0296e
SM
12552
12553 * charset.h (GET_CHAR_AFTER_2): Remove.
12554 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12555
854a025c
KR
125562000-03-12 Ken Raeburn <raeburn@gnu.org>
12557
12558 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12559 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12560 of them try to use backquotes.
12561
b9d2c7e2
DL
125622000-03-12 Dave Love <fx@gnu.org>
12563
12564 * unexelf.c: Restore changes of 1999-10-19.
12565 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12566 fix its type and alignment; copy it from current process.
12567
5e5dff44
GM
125682000-03-12 Gerd Moellmann <gerd@gnu.org>
12569
9b2f3c38
GM
12570 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12571 has been found. Fix bug not computing timer's predecessor.
12572
427ec082 12573 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12574 file name.
12575
e1cff360
GM
12576 * window.c (Fsave_window_excursion): Doc fix.
12577
52283633 12578 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12579
e411ce4b
EZ
125802000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12581
12582 * msdos.c (vga_installed): New function, code moved from
12583 dos_set_window_size.
12584 (Qbar, Qcursor_type, outside_cursor): New variables.
12585 (syms_of_msdos): Intern and staticpro them.
12586 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12587 shape used outside Emacs when called for the first time.
12588 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12589 cursor shape used outside Emacs.
12590 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12591 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12592 type has changed.
12593 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12594 parameters specify the cursor. Make qreverse a global
12595 variable (renamed to Qreverse).
12596
80460654
GM
125972000-03-09 Gerd Moellmann <gerd@gnu.org>
12598
12599 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12600
95cd4c40
SM
126012000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12602
12603 This is a big redesign of failure-stack and register handling, prompted
12604 by bugs revealed when trying to add shy-groups. Overall, what happened
12605 is that loops are now structured a little differently, groups can be
12606 shy and the code is a little simpler.
12607
12608 * regex.h: Update the copyright.
12609 (RE_SHY_GROUPS): New value.
12610 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12611 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12612
80460654
GM
12613 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12614 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12615 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12616 for (start|stop)_memory since they now only take one argument (the
12617 second has becomes unnecessary).
52283633 12618 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12619 (print_compiled_pattern): Use %ld to printf long ints and flush to
12620 make debugging a little easier.
95cd4c40
SM
12621 (union fail_stack_elt): Make the integer unsigned.
12622 (struct fail_stack_type): Add a `frame' element.
12623 (INIT_FAIL_STACK): Init `frame' as well.
12624 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12625 (DEBUG_PUSH, DEBUG_POP): Remove.
12626 (NUM_REG_ITEMS): Remove.
12627 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12628 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12629 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12630 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12631 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12632 New macros.
80460654
GM
12633 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12634 address pushed is not the destination of the jump but the source
12635 of it instead.
95cd4c40
SM
12636 (NUM_FAILURE_ITEMS): Remove.
12637 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12638 registers before the actual failure point). Don't hardcode any
12639 meaning for str==NULL anymore.
95cd4c40 12640 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12641 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12642 Remove.
95cd4c40
SM
12643 (REG_UNSET_VALUE): Use NULL (why not?).
12644 (compile_range): Remove declaration since it doesn't exist.
12645 (struct compile_stack_elt_t): Remove inner_group_offset.
12646 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12647 (regex_grow_registers): Remove dead code.
12648 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12649 (regex_compile): Add shy-groups Change loops to use
12650 on_failure_jump_smart&jump instead of
12651 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12652 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12653 variable to me). Use `jump' instead of `jump_past_alt' and don't
12654 bother with push_dummy_failure in alternatives since it is now
12655 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12656 emacs' for (re)allocating the stack.
12657 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12658 from loop when bufp->can_be_null rather than jumping to `done'.
12659 Avoid jumping backwards so as to ensure termination. Use
12660 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12661 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12662 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12663 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12664 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12665 (lowest_active_reg, highest_active_reg)
12666 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12667 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12668 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12669 variables. Push register (in `start_memory') on the stack rather
12670 than storing it in old_reg(start|end). Remove the cycle detection
12671 from `stop_memory', replaced by the use of on_failure_jump_loop
12672 for greedy loops. Add code for the new on_failure_jump_<foo>.
12673 Remove ad-hoc code in `on_failure_jump' to push more registers in
12674 the case of a loop. Take out code from `maybe_pop_jump' into
12675 separate functions and adapt it to the semantics of
12676 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12677 and push_dummy_failure. Remove dummy_failure handling and
12678 handling of `failures to jump to on_failure_jump' (this last one
12679 was already dead code, it seems).
12680 (group_match_null_string_p, alt_match_null_string_p)
12681 (common_op_match_null_string_p): Remove.
95cd4c40 12682
7397acc4
DL
126832000-03-08 Dave Love <fx@gnu.org>
12684
12685 * config.in: Don't depend on __STDC__ for volatile.
12686 Add POINTER_TYPE, PTR, PROTOTYPES.
12687
12688 * hftctl.c, strftime.c: Use PROTOTYPES.
12689 * eval.c (find_handler_clause): Likewise.
12690
12691 * mem-limits.h: Use POINTER_TYPE.
12692
12693 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12694 (memory_warnings): Declare using POINTER_TYPE.
12695
5e91ff9e
GM
126962000-03-08 Gerd Moellmann <gerd@gnu.org>
12697
feab4fba
GM
12698 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12699
52283633 12700 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12701
5e91ff9e
GM
12702 * xfns.c: Remove obsolete code in #if 0.
12703 (Fx_focus_frame): New function.
12704
a735b7e1
KH
127052000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12706
12707 * coding.c (coding_category_name): Add coding-category-utf-8,
12708 coding-category-utf-16-be, coding-category-utf-16-le.
12709 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12710 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12711 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12712 (detect_coding_utf_8): New function.
12713 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12714 UTF_16_LOW_SURROGATE_P): New macros.
12715 (detect_coding_utf_16): New function
12716 (detect_coding_mask): When priorities are specified, skip any
12717 categories that have `nil' coding-system. Fix bug of returning
12718 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12719 returns a mask not set in PRIORITIES.
12720 (detect_eol_type_in_2_octet_form): New function.
12721 (detect_eol): selects detect_eol_type_XXX to call according to
12722 cooding->category_idx.
12723 (detect_coding_system): Remove `nil' coding-system in the result.
12724 (Fupdate_coding_systems_internal): Update all coding-categories.
12725
52283633
SM
12726 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12727 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12728 New macros.
12729 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12730 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12731 (CODING_CATEGORY_IDX_UTF_16_LE)
12732 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12733 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12734 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12735 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12736
9994cc69
GM
127372000-03-07 Gerd Moellmann <gerd@gnu.org>
12738
e9b4e5ff
GM
12739 * doc.c (Fdocumentation_property): If value is not a string,
12740 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12741
f7daf1e1
GM
12742 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12743 close the display with XtCloseDisplay. This caused a bus error
12744 on OpenWindows.
12745
9994cc69
GM
12746 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12747 complete but not unique.
12748
4336c705
GM
127492000-03-06 Gerd Moellmann <gerd@gnu.org>
12750
18bb0684
GM
12751 * process.c (send_process): Remove local variable `procname' that
12752 might become invalid when a GC happens. Instead, access the
12753 process name slot directly.
12754
4336c705
GM
12755 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12756 orig_height if set.
12757
12758 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12759 orig_height if set.
12760
515d0d0e
EZ
127612000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12762
12763 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12764 glyph matrices have been freed.
12765
100b3cbb
GM
127662000-03-05 Gerd Moellmann <gerd@gnu.org>
12767
50df5e5a 12768 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12769 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12770
12771 * xfns.c (QCdata): Moved to xdisp.c.
12772
12773 * xdisp.c (QCdata): Moved here from xfns.c.
12774 (syms_of_xdisp): Initialize QCdata.
12775
12776 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12777
12778 * window.c (coordinates_in_window): Use
12779 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12780 FRAME_INTERNAL_BORDER_WIDTH.
12781
100b3cbb 12782 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12783 it is obviously invalid.
100b3cbb
GM
12784
12785 * xterm.c (x_term_init): Create a colormap if not using the
12786 default visual.
12787
12788 * xterm.h (select_visual): Change prototype.
12789
12790 * xfns.c (select_visual): Rewritten. Recognize user-specified
12791 visual classes.
12792 (visual_classes): New variable.
12793
64d739c4
GM
127942000-03-04 Gerd Moellmann <gerd@gnu.org>
12795
12796 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12797 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12798 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12799 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12800 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12801 XtNcolormap resources.
12802 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12803 (Fx_create_frame): Initialize color members of x_output structure.
12804 (xpm_load): Pass colormap to XPM lib.
12805
12806 * xfaces.c (x_free_colors): Access colormap of frame using
12807 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12808 when default colormap is used.
12809
12810 * xterm.c (x_term_init): Set Colormap member of x_display_info
12811 structure. Copy colormap if resource `privateColormap' is
12812 specified (PseudoColor only).
12813 (x_setup_relief_color): Access colormap of frame using
12814 FRAME_X_COLORMAP.
12815
12816 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12817 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12818
c3cee013
JR
128192000-03-04 Jason Rumney <jasonr@gnu.org>
12820
12821 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12822 other non-platform-specific equivalents.
64d739c4 12823 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12824 specific functions and macros as their w32 equivalents where
12825 non-platform-specifics are not available.
12826 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12827 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12828 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12829 (frame_update_line_height): Use macros to access f->output_data.
12830 (defined_color): Remove FIXME comments; fixed.
12831 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12832 into #ifdef blocks. Add WINDOWSNT blocks.
12833 (Fx_list_fonts): Use macros for accessing font data.
12834 (set_lface_from_font_name): Different default fonts for X and
12835 WINDOWSNT.
12836 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12837 scalable for backward compatibility.
64d739c4 12838 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12839 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12840
64d739c4 12841 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12842 syms_of_w32faces.
12843
12844 * makefile.nt (w32faces.obj): Remove.
12845 (xfaces.obj): Add.
12846
807cc41c
JR
128472000-03-03 Jason Rumney <jasonr@gnu.org>
12848
12849 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12850 correct parameters.
12851
0007072a
KR
128522000-03-03 Ken Raeburn <raeburn@gnu.org>
12853
12854 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12855 standard ELF definitions here if the system header does not.
12856
71a6ba55
GM
128572000-03-03 Gerd Moellmann <gerd@gnu.org>
12858
12859 * xterm.c (PER_CHAR_METRIC): Removed.
12860 (x_per_char_metric_1, x_default_char): New functions.
12861 (x_per_char_metric): If font's default char is invalid, return
12862 metrics of a suitably chosen usable default char.
12863 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12864 char, replace occurrences of unprintable chars with a suitably
12865 chosen usable default char.
71a6ba55 12866
900fa1f1
GM
128672000-03-02 Gerd Moellmann <gerd@gnu.org>
12868
42f55fe0
GM
12869 * xterm.c (note_mouse_highlight): Return quickly if frame's
12870 glyph matrices have been freed.
12871
12872 * dispnew.c (free_glyphs): Block input while freeing matrices.
12873
900fa1f1
GM
12874 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12875
52283633
SM
12876 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12877 Use x_free_colors.
900fa1f1
GM
12878
12879 * dispextern.h (x_free_colors): Add prototype.
12880
12881 * xfaces.c (x_free_colors): New function.
12882 (unload_color, free_face_colors): Use it.
12883
2f950292
EZ
128842000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12885
12886 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12887
12888 * window.c [MSDOS]: Include msdos.h.
12889
54d04320
DL
128902000-03-02 Dave Love <fx@gnu.org>
12891
12892 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12893
12894 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12895 set C_OPTIMIZE_SWITCH for gcc.
12896
0ba93ac4
KH
128972000-03-02 Kenichi Handa <handa@etl.go.jp>
12898
12899 * coding.c (coding_save_composition): Be sure to allocate
12900 composition data area in coding even if there's no composition in
12901 the current run.
12902
a2bc11d4
JR
129032000-03-01 Jason Rumney <jasonr@gnu.org>
12904
12905 * w32term.c: Equivalent changes to those made to xterm.c on
12906 2000-02-25 and 2000-02-24.
12907
12908 * w32fns.c: Equivalent changes to those made to xfns.c on
12909 2000-02-25 and 2000-02-21.
12910
12911 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12912 correct line-end convention is followed.
12913
12914 * w32menu.c [HAVE_BOXES]: Remove #undef.
12915 (single_keymap_panes): Remove code for simulating checkmarks.
12916 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12917 Remove code for drawing simulated checkmarks.
12918 (w32_menu_show): make unibyte help string correctly.
12919 (add_menu_item): draw standard Windows checkmarks. Draw radio
12920 buttons as radio buttons if possible.
12921
72d19d75
GM
129222000-03-01 Gerd Moellmann <gerd@gnu.org>
12923
2df636f4
GM
12924 * sysdep.c (start_of_text): Don't define this function for NetBSD
12925 with ELF.
12926
427ec082 12927 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12928 Don't define.
12929 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12930 (LINKER): Don't undef if __NetBSD__ is defined.
12931
12932 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12933
12934 * fileio.c [__NetBSD__]: Define `unix'.
12935
72d19d75
GM
12936 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12937
ed4d0512
GM
129382000-02-29 Gerd Moellmann <gerd@gnu.org>
12939
50b1039f
GM
12940 * atimer.c (start_atimer): Don't abort when timers are stopped.
12941 (append_atimer_lists): New function.
12942 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12943 arbitrary lists of stopped and running atimers.
12944
ed4d0512
GM
12945 * atimer.c (cancel_atimer): Handle canceling an atimer when
12946 some timers are stopped.
12947
12948 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12949 after canceling it.
12950
12951 * fns.c (maybe_resize_hash_table): Handle case of new size
12952 coming out as being the same as old size.
12953
387023ee
JR
129542000-02-27 Jason Rumney <jasonr@gnu.org>
12955
12956 * makefile.nt: Add atimer.h to dependencies.
12957 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12958 * w32console.c: Only disable window system features for dispextern.h
12959 (initialize_w32_display): Build a display info for the console.
12960 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12961 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12962 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12963 as 2 button mice.
12964 * w32gui.h (struct W32FontStruct): Revert last change after change
12965 to xdisp.c.
12966 * w32menu.c (single_submenu): Set up help string.
12967 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12968 (w32_dialog_show): Set up help string.
12969 * w32term.c (w32_display_info_for_display): Remove unused function.
12970 (w32_draw_bitmap): Use pre-built bitmaps.
12971 (w32_initialize_display_info): New function to initialize parts of
12972 display info that are common to both GUI and console frames.
12973 (w32_term_init): Use w32_initialize_display_info. Do not set
12974 Vw32_num_mouse_buttons here, as it is not called for console
12975 frames. Build bitmaps for indicating truncated lines etc.
12976 (x_delete_display): Destroy pre-built bitmaps.
12977 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12978 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12979
4516715a
DL
129802000-02-27 Dave Love <fx@gnu.org>
12981
12982 * lisp.h: Add a bunch of prototypes.
12983
171ca836
KH
129842000-02-26 Kenichi Handa <handa@etl.go.jp>
12985
12986 * keyboard.c (read_char): Set `usec' correctly.
12987
4013921d
KH
129882000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12989
12990 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12991 `lambda', set reg[RRR] to the map index.
12992 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12993 reg[RRR] to 0. Otherwise, set it to -1.
12994
9244a058
GM
129952000-02-25 Gerd Moellmann <gerd@gnu.org>
12996
2df636f4 12997 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12998
18e21ce8 129992000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13000
f43d79c1
GM
13001 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13002 and contains a `:', prepend `/:'.
13003
13004 * window.c (select_window_1): If selected_window is nil,
13005 don't "swap out" the buffer's point.
13006 (Fset_window_configuration): Set selected_window to nil
13007 before calling Fselect_window.
13008 (unshow_buffer): Don't set point in buffer from window's point
13009 if another more recently selected window also shows the buffer.
13010
bed0c171
GM
130112000-02-25 Gerd Moellmann <gerd@gnu.org>
13012
449c3c52
GM
13013 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13014
f5b58615
GM
13015 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13016 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13017 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13018 New variables.
f5b58615
GM
13019 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13020 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13021 (hide_busy_cursor): New functions.
13022 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13023
13024 * minibuf.c (read_minibuf): Cancel busy-cursor.
13025
13026 * keyboard.c (command_loop_1): Call start_busy_cursor before
13027 Fcommand_execute and cancel_busy_cursor after it.
13028 (timer_check): Remove busy-cursor code.
13029 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13030 cursor timer.
13031
13032 * process.c (wait_reading_process_input): Remove busy-cursor code.
13033
13034 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13035 Fx_hide_busy_cursor.
13036
13037 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13038 Remove prototyoes.
13039 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13040
13041 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13042
13043 * xterm.c (XTread_socket): Remove busy-cursor code.
13044
4eb8436f
GM
13045 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13046 (build_frame_matrix_from_leaf_window): Put code handling
13047 glyph row's not being a slice of a frame row in #if 0.
13048 (sync_window_with_frame_matrix_rows): New function.
13049 (frame_row_to_window): New function.
13050 (mirror_line_dance): Handle copies between windows.
13051
3cb65b0e
GM
13052 * lread.c (Fload): Use `xfree' instead of `free'.
13053 (init_obarray): Use `xmalloc' instead of `malloc'.
13054
bed0c171
GM
13055 * window.c (Fset_window_buffer): Set WINDOW to the window
13056 after decoding.
2add4349
GM
13057 (coordinates_in_window): Take frame's internal border width
13058 into account.
bed0c171 13059
42088c12
GM
130602000-02-24 Gerd Moellmann <gerd@gnu.org>
13061
13062 * xterm.c (x_display_and_set_cursor): Display cursor of
13063 non-selected windows depending on the setting of
13064 cursor_in_non_selected_windows.
13065
13066 * xdisp.c (cursor_in_non_selected_windows): New variable.
13067 (syms_of_xdisp): DEFVAR_BOOL it.
13068
d1e103b2
GM
130692000-02-23 Gerd Moellmann <gerd@gnu.org>
13070
723e779c
GM
13071 * data.c (Fstring_to_number): If number is greater than what
13072 fits into an integer, return a float.
13073
d1e103b2
GM
13074 * eval.c (specbind): Remove references to
13075 keyword_symbols_constant_flag.
13076
13077 * data.c (keyword_symbols_constant_flag): Removed.
13078 (Fmakunbound, set_internal, syms_of_data): Remove references to
13079 keyword_symbols_constant_flag.
13080
13081 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13082
214f877f
KH
130832000-02-23 Kenichi Handa <handa@etl.go.jp>
13084
13085 * syntax.c (multibyte_syntax_as_symbol): New variable.
13086 (syms_of_syntax): Declare it as a Lisp variable.
13087 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13088 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13089 nonzero, treat all multibyte characters as symbol.
52283633 13090 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13091
130adcb7
EZ
130922000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13093
3cb65b0e 13094 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13095 a deleted frame.
130adcb7 13096
17cbbf95
GM
130972000-02-21 Gerd Moellmann <gerd@gnu.org>
13098
13099 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13100
13101 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13102 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13103
beb0bc36
DL
131042000-02-21 Dave Love <fx@gnu.org>
13105
13106 * frame.c (Vmouse_position_function): New variable.
13107 (Fmouse_position): Use it.
13108 (syms_of_frame): Install it.
13109
13110 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13111
1d92afcd
GM
131122000-02-20 Gerd Moellmann <gerd@gnu.org>
13113
13114 * fileio.c (Finsert_file_contents): Unbind the binding of
13115 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13116
13117 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13118 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13119 (specbind, unbind_to): Handle most common case of non-constant
13120 symbol with trivial value specially.
13121
13122 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13123
18e21ce8 131242000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13125
13126 * data.c (Fmake_variable_buffer_local): Doc fix.
13127 Init found_for_buffer to 0.
13128 (Fmake_variable_frame_local): If the variable has already
13129 been buffer-local, set the check_frame field.
13130
1d4311c3
EZ
131312000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13132
13133 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13134 produced for CODING_MODE_LAST_BLOCK requires.
13135
2dc95ddd
DL
131362000-02-18 Dave Love <fx@gnu.org>
13137
13138 * keyboard.c (echo_keystrokes): Remove declaration.
13139 (Vecho_keystrokes) New variable.
13140 (read_char, record_menu_key, read_key_sequence): Use it to allow
13141 use of float value.
13142 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13143
13144 * lread.c: Undef feature selection macros before defining.
13145
f0930f35
GM
131462000-02-18 Gerd Moellmann <gerd@gnu.org>
13147
13148 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13149 for symbols other than the symbol in question.
13150
e3d4de90
DL
131512000-02-17 Dave Love <fx@gnu.org>
13152
13153 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13154
0b378936
GM
131552000-02-17 Gerd Moellmann <gerd@gnu.org>
13156
d621caf7
GM
13157 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13158
0b378936
GM
13159 * alloc.c (enum mem_type): Compile unconditionally.
13160
3b451f74
EZ
131612000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13162
13163 * xfaces.c (tty_defined_color): Don't return faulire indication
13164 for unspecified-fg and unspecified-bg pseudo-colors.
13165
10689a01
GM
131662000-02-17 Gerd Moellmann <gerd@gnu.org>
13167
1216f5e4
GM
13168 * alloc.c (mark_object): Don't mark symbol names in pure space.
13169 (gc_sweep): Don't unmark symbol names in pure space.
13170
13171 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13172 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13173 [GC_MARK_STACK]: New defines.
427ec082 13174 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13175 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13176
13177 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13178
13179 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13180 allocate_buffer instead of xmalloc.
13181
13182 * alloc.c (toplevel): Include setjmp.h.
13183 (PURE_POINTER_P): New define.
13184 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13185 (Vdead) [GC_MARK_STACK]: New variable.
13186 (lisp_malloc): Add parameter TYPE, call mem_insert if
13187 GC_MARK_STACK is defined.
13188 (allocate_buffer): New function.
427ec082 13189 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13190 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13191 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13192 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13193 (MEM_NIL) [GC_MARK_STACK]: New define.
13194 (struct mem_node) [GC_MARK_STACK]: New structure.
13195 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13196 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13197 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13198 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13199 (mark_stack) [GC_MARK_STACK]: New functions.
13200 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13201 (clear_marks): Removed.
13202 (gc_sweep): Set free conses' car, free floats' type, free
13203 symbols' function to Vdead. Use lisp_free to free buffers.
13204 (init_alloc_once): Initialize Vdead.
13205 (survives_gc_p): Return non-zero for pure objects.
13206
13207 * alloc.c: Add comments throughout the file.
13208
2503c8b1
GM
13209 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13210 that unblocks alarms.
13211
8389e1e2
GM
13212 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13213 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13214 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13215
10689a01 13216 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13217
bfc17d18
KH
132182000-02-17 Kenichi Handa <handa@etl.go.jp>
13219
4a09dee0
KH
13220 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13221 avoid infinite error signaling. Allocate sufficient memory for
13222 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13223
2b927d02
SM
132242000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13225
13226 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13227 depends on the previous behavior.
13228
b49cb764
GM
132292000-02-16 Gerd Moellmann <gerd@gnu.org>
13230
13231 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13232
99e95407
GM
132332000-02-15 Gerd Moellmann <gerd@gnu.org>
13234
13235 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13236
13237 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13238 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13239 write(2).
13240
6ffd3cf7
RS
132412000-02-15 Richard M. Stallman <rms@gnu.org>
13242
13243 * data.c (set_internal): Don't make variable buffer-local
13244 if within a let-binding for the same buffer.
13245 (let_shadows_buffer_binding_p): New function.
13246
13247 * eval.c (specbind): For buffer-local value,
13248 record the current buffer also.
13249 (unbind_to): Cope with that change.
13250
cad53475
GM
132512000-02-15 Gerd Moellmann <gerd@gnu.org>
13252
13253 * window.c (Fsave_window_excursion): Doc fix.
13254
1aa963c8
SM
132552000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13256
13257 * syntax.c (back_comment): Make sure we only consider comment-starters
13258 of the relevant style and return -1 in case of a failure to find the
13259 beginning of the comment.
13260 (Fforward_comment): If back_comment fails, go back to the position just
13261 after the comment-end.
13262 (scan_lists): Add comment describing a very minor bug.
13263
b9b84fd3
SM
132642000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13265
13266 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13267 `completion-regexp-list' in the docstring.
13268
3a28db80
DL
132692000-02-14 Dave Love <fx@gnu.org>
13270
13271 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13272
fb4a568d
SM
132732000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13274
13275 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13276 to Emacs' syntax. Also fix the comment about set/not-set meanings
13277 since Emacs syntax is not the value 0 any more.
13278 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13279 since it's now part of RE_SYNTAX_EMACS.
13280
1063ebb5
DL
132812000-02-12 Dave Love <fx@gnu.org>
13282
52283633 13283 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13284
fb07a302
GM
132852000-02-12 Gerd Moellmann <gerd@gnu.org>
13286
13287 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13288
aaf2320c
DL
132892000-02-12 Dave Love <fx@gnu.org>
13290
13291 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13292
13293 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13294 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13295 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13296
13297 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13298
13299 * s/nextstep.h: Don't define HAVE_ALLOCA.
13300
13301 * config.in: Add vfork bits.
13302
eedf8bde
GM
133032000-02-12 Gerd Moellmann <gerd@gnu.org>
13304
13305 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13306 unwind function to undo the effect of stopping atimers.
13307
52283633 13308 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13309
13310 * atimer.c (stopped_atimers): New variable.
13311 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13312 New functions.
13313
13314 * atimer.h (stop_other_atimers, run_all_atimers)
13315 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13316
eedf8bde
GM
13317 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13318
8476c2f8
KR
133192000-02-11 Ken Raeburn <raeburn@gnu.org>
13320
13321 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13322 library may depend on jpeg.
13323 (atimer.o): Depends on atimer.c.
13324
0e85e4a3
KH
133252000-02-11 Kenichi Handa <handa@etl.go.jp>
13326
13327 * insdel.c (del_range_1): Call update_compositions.
13328 (del_range_both): Call update_compositions just once..
13329
97fa0cc8
DL
133302000-02-10 Dave Love <fx@gnu.org>
13331
13332 * xfns.c (create_frame_xic): Fix initialization of automatic
13333 aggregates for pcc.
13334
25566a3c
KH
133352000-02-09 Kenichi Handa <handa@etl.go.jp>
13336
13337 * ccl.c (CCL_MAKE_CHAR): New macro.
13338 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13339 registers by CCL_MAKE_CHAR before calling translate_char.
13340 <CCL_TranslateCharacterConstTbl> Likewise.
13341
69da54ba
DL
133422000-02-08 Dave Love <fx@gnu.org>
13343
13344 * lread.c (__EXTENSIONS__): Define.
13345
f7136ee8
GM
133462000-02-08 Gerd Moellmann <gerd@gnu.org>
13347
13348 * puresize.h (BASE_PURESIZE): Increase to 650000.
13349
7768790b
EZ
133502000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13351
13352 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13353 the help message.
13354
38fd211b
EZ
133552000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13356
13357 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13358 md, mh, mb, mr, and me to the fake termcap entry.
13359
66e4690f
KR
133602000-02-06 Ken Raeburn <raeburn@gnu.org>
13361
13362 * sound.c (sound_cleanup): Don't call device close routine if the
13363 function pointer is null.
13364
a75dfea0
AI
133652000-02-06 Andrew Innes <andrewi@gnu.org>
13366
13367 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13368 around image definitions and prototypes.
13369 (gamma_correct) [WINDOWSNT]: New prototype.
13370
13371 * w32term.c (x_make_frame_visible): Replace call to
13372 input_poll_signal with poll_for_input.
13373
13374 * window.c [WINDOWSNT]: Include w32term.h.
13375
13376 * xdisp.c [WINDOWSNT]: Include w32term.h.
13377
13378 * makefile.nt: Add dependencies on w32gui.h.
13379 (OBJ1): Include atimer.obj.
13380 ($(BLD)\atimer.obj): New dependency rule.
13381
13382 * w32.c (sigmask): New function (does nothing).
13383 (sigunblock): Ditto.
13384
13385 * frame.c [WINDOWSNT]: Include w32term.h.
13386
13387 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13388
13389 * lread.c (syms_of_lread): Fix literal newlines.
13390
13391 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13392 the string constant limit (2048 bytes) in MSVC.
13393 (main): Ditto.
13394
59ddecde
GM
133952000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13396
52283633 13397 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13398 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13399 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13400 dispatch the event.
13401
07590973
DL
134022000-02-04 Dave Love <fx@gnu.org>
13403
13404 * fileio.c: Remove some unused vars.
13405 (_GNU_SOURCE): Define (for euidaccess).
13406
13407 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13408
13409 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13410 gcpro1, gcpro2.
13411 (read_minibuf): Deal with allow_props correctly.
13412
649351f9
EZ
134132000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13414
13415 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13416
66e4690f 134172000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13418
13419 * search.c (compile_pattern): If a cache entry has a nil regexp,
13420 fill in that entry instead of clobbering a previously cached
13421 string regexp.
13422
66e4690f 134232000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13424
13425 * puresize.h (BASE_PURESIZE): Increase to 610000.
13426
d240a249
GM
134272000-02-02 Gerd Moellmann <gerd@gnu.org>
13428
13429 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13430 can GC.
13431
ca91fb26
KH
134322000-02-02 Kenichi Handa <handa@etl.go.jp>
13433
25660570
KH
13434 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13435 instead of incrementing ic directly.
13436 <CCL_WriteExprConst> Likewise.
13437 <ccl_set_expr>: Set ic to jump_address.
13438
ca91fb26
KH
13439 * fileio.c (e_write): Fix the handling of
13440 CODING_FINISH_INSUFFICIENT_SRC.
13441
2ede9689
DL
134422000-02-01 Dave Love <fx@gnu.org>
13443
13444 * editfns.c (Fpropertize): Doc fix.
13445
13446 * process.c (Fstart_process): Doc fix.
13447
13448 * eval.c: Fix various doc strings not to duplicate information
13449 from help-manyarg-func-alist.
13450
52283633 13451 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13452
13453 * doc.c (Vhelp_manyarg_func_alist): New variable.
13454 (Fdocumentation): Use it.
13455 (syms_of_doc): Define it.
13456
b6680a0e
GM
134572000-01-31 Gerd Moellmann <gerd@gnu.org>
13458
2cb750ba
GM
13459 * xterm.c (xim_open_dpy): Remove unused local variable.
13460
52283633 13461 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13462
13463 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13464 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13465
b6680a0e
GM
13466 * fns.c (sweep_weak_table): New function.
13467 (sweep_weak_hash_tables): Use it. Keep on marking until there
13468 is no more change.
13469
994c5afe
GM
134702000-01-30 Gerd Moellmann <gerd@gnu.org>
13471
13472 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13473 that XTread_socket does not crash by trying to call XNoOp on a
13474 closed display.
427ec082 13475
f00276e3
JR
134762000-01-30 Jason Rumney <jasonr@gnu.org>
13477
13478 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13479 Change selected_frame to SELECTED_FRAME ().
13480 (w32_console_mouse_position): Remove #ifndef MULE from around
13481 `insist' parameter.
13482
13483 * makefile.nt: Remove dosfns.obj.
13484
13485 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13486
13487 * w32fns.c (w32_defined_color): Check for valid frame before
13488 applying gamma correction. Eliminate dependency on frame elsewhere.
13489 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13490 (w32_to_x_font): Use resx and resy not height_in and width_in.
13491 (x_to_w32_font): Doc fix.
13492 (xlfd_strip_height): New function to strip and return font height.
13493 (w32_font_match): Compare height separately from rest of xlfd
13494 spec, using xlfd_strip_height.
13495
13496 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13497 width_in. Use w32_defined_color in place of defined_color.
13498
13499 * w32faces.c: Merge more of DOS and X specifics in preparation for
13500 merge with xfaces.c.
13501 (defined_color): Remove FIXME comment.
13502 (tty_color_name): Provide w32-specific function.
13503 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13504
13505 * w32console.c (turn_on_face, turn_off_face): Removed.
13506 (w32_face_attributes): New function.
13507 (Global_variables): Reduce scope where possible.
13508 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13509 fill attribute.
13510 (hl_mode): Don't modify text attributes.
13511 (write_glyphs): Don't do anything if len <= 0. Use
13512 w32_face_attributes to get attributes for drawing. Write
13513 terminating codes using char_attr_normal.
13514 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13515 (update_begin, update_end): Likewise.
13516 (vga_stdcolor_name): New function.
13517 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13518 (Fset_screen_color): Remove char_attr_reverse.
13519
b08e8bb2
GM
135202000-01-29 Gerd Moellmann <gerd@gnu.org>
13521
13522 * xfns.c (xic_set_preeditarea): Take window parameter and
13523 window-relative pixel-positions.
13524
13525 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13526 is its frame's selected window.
13527 (xim_instantiate_callback): Likewise.
13528
13529 * xfns.c (x_create_im): Removed.
13530 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13531 (supported_xim_styles): Renamed from supported_styles.
13532 (best_xim_style): Renamed from best_style.
13533 (create_frame_xic): Renamed from xic_create_frame.
13534 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13535
b08e8bb2
GM
135362000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13537
13538 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13539 our frames, call XFilterEvent with 2nd parameter `None'.
13540 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13541 returning XBufferOverflow.
52283633 13542 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13543 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13544 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13545 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13546 (xim_initialize, xim_close)
13547 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13548 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13549 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13550 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13551
13552 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13553 and `xim_styles'.
13554 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13555 `xic_style' and `xic_xfs'.
13556 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13557 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13558 (FRAME_XIM): Removed.
13559
13560 * xfns.c (supported_styles): New variable.
13561 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13562 (xic_create_xfontset, best_style, xic_create_frame)
13563 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13564 (xic_set_xfontset): New functions.
13565
142e109c
DL
135662000-01-28 Dave Love <fx@gnu.org>
13567
13568 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13569
13570 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13571
b02786f9
GM
135722000-01-28 Gerd Moellmann <gerd@gnu.org>
13573
d060bc9f
GM
13574 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13575 for *scratch* if it already existed.
13576
b02786f9
GM
13577 * emacs.c (USAGE): New macro.
13578 (main): Use it to display usage information.
13579
2c52d7e4
EZ
135802000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13581
13582 Support for the menu-help feature:
13583
52283633 13584 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13585
13586 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13587 part of the line to the termscript file.
13588 (IT_clear_to_end): Clear the entire line, not just its beginning.
13589 (menu_help_message, prev_menu_help_message): New variables.
13590 (IT_menu_make_room): Make room for the help_text member.
13591 (IT_menu_display): New argument disp_help; all callers changed.
13592 If disp_help is non-zero, store the help text of the active menu
13593 item in menu_help_message.
13594 (XMenuAddPane): Initialize the help_text member to NULL.
13595 (XMenuAddSelection): New argument help_text. Store it in the
13596 XMenu structure.
13597 (XMenuActivate): New argument help_callback. If the value of
13598 menu_help_message has changed since the last time, display the
13599 menu help message text while waiting for the mouse to move. Clear
13600 the echo area before exiting.
13601 (XMenuDestroy): Free the help_text member.
13602
ffe0bcd1
GM
136032000-01-27 Gerd Moellmann <gerd@gnu.org>
13604
13605 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13606 XMenuAddSelection. Pass help callback to XMenuActivate.
13607 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13608
50dbd23f
EZ
136092000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13610
13611 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13612 and EMACS_SET_USECS.
13613
f5941bf8
GM
136142000-01-26 Dave Love <fx@gnu.org>
13615
6c67ddee
DL
13616 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13617
f5941bf8
GM
13618 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13619 an error may be signalled.
13620
9e49c990
GM
136212000-01-26 Gerd Moellmann <gerd@gnu.org>
13622
fc3cb460
GM
13623 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13624 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13625
9e49c990
GM
13626 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13627
d0c037d8
GM
136282000-01-25 Gerd Moellmann <gerd@gnu.org>
13629
13630 * charset.c (Fstring): If there is a multibyte char among
13631 the args, always return a multibyte string.
13632
e12489f9
GM
136332000-01-25 Gerd Moellmann <gerd@gnu.org>
13634
13635 * sysdep.c (sys_select): Turn atimers off and on instead of
13636 recording and restoring old alarm handler
13637
13638 * process.c (toplevel): Include atimer.h.
13639 (create_process_1): Rewritten.
13640 (create_process): Use atimers instead of alarm.
13641 (wait_reading_process_input) [hpux]: Turn atimers off instead
13642 of turning off SIGALRM.
13643 (wait_reading_process_input): Turn off atimers instead off
13644 calling stop_polling.
13645
13646 * emacs.c (main): Call init_atimer.
13647
13648 * keyboard.c (toplevel): Include systime.h and atimer.h.
13649 (polling_for_input): Removed because unused.
13650 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13651 (poll_timer): New variable.
13652 (poll_for_input, poll_for_input_1): New functions.
13653 (start_polling, stop_polling): Rewritten.
13654
13655 * keyboard.h (polling_for_input): Removed.
427ec082 13656
e12489f9
GM
13657 * atimer.h, atimer.c: New files.
13658
13659 * Makefile.in (obj): Add atimer.o.
13660 (atimer.o): New target.
13661
13662 * blockinput.h (pending_atimers): Add extern declaration.
13663 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13664
13665 * lisp.h (popup_activated_flag): Add extern declaration.
13666
13667 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13668 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13669 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13670
13671 * xterm.c (toplevel): Include atimer.h.
13672 (toolkit_scroll_bar_interaction): New variable.
13673 (Fxt_process_timeouts): Removed.
13674 (x_process_timeouts): New function.
13675 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13676 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13677 (x_make_frame_visible): Call poll_for_input_1 instead of
13678 input_poll_signal. Don't call alarm.
13679 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13680
1e5279b9
DL
136812000-01-24 Dave Love <fx@gnu.org>
13682
6c67ddee 13683 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13684 Don't use -cckr -- apparently not now necessary.
13685
edf6aeb8
EZ
136862000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13687
13688 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13689 screen boundary.
13690
9badad41
JR
136912000-01-23 Jason Rumney <jasonr@gnu.org>
13692
13693 * w32fns.c (w32_defined_color): Apply gamma correction before
13694 trying to map to the palette.
13695 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13696 to w32_clear_rect.
13697
13698 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13699 here. Callers changed to always pass real device context.
13700 (w32_draw_bitmap): Likewise.
13701 (w32_get_glyph_overhangs): Likewise.
52283633 13702 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13703 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13704 pfnSetScrollInfo and SetScrollRange.
13705 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13706 back into MULE characters after decoding them.
13707 (x_get_glyph_face_and_encoding): Likewise.
13708 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13709 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13710 (x_produce_glyphs): Calculate per char metrics for a character
13711 that we know exists in default font when font_not_found_p is true.
13712
63bd786b
JR
137132000-01-22 Jason Rumney <jasonr@gnu.org>
13714
13715 * makefile.nt (intervals.obj, composite.obj): New modules.
13716 (composite.h): Added as dependency where appropriate.
13717
13718 * w32gui.h (XGCValue): New struct for emulating X GCs.
13719
13720 * w32term.h (XCharStruct): New struct for emulating X.
13721
13722 * w32console.c (turn_on_face, turn_off_face): New functions.
13723 (change_line_highlight): New prototype for new redisplay.
13724 (write_glyphs): Support multibyte text. Support faces.
13725
52283633 13726 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13727
13728 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13729 throughout. struct frame * in place of FRAME_PTR.
13730 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13731 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13732 (w32_get_arg): Renamed from x_get_arg.
13733 (Fx_file_dialog): New function.
13734 (w32_list_fonts): Check cache before asking system.
13735 (Vw32_enable_synthesized_fonts): New variable.
13736 (Vw32_enable_italics): Obsolete, removed.
13737
13738 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13739 Use SELECTED_FRAME macro.
13740
13741 * w32menu.c: Add skeleton support for help strings on menus.
13742 (add_menu_item): Native checkbox and radio support added, but not
13743 yet enabled due to bugs.
13744 (push_menu_item): Add parameters type, selection and help.
13745 Callers updated.
13746 Formatting changes to reduce unnecessary diffs with xmenu.c.
13747
13748 * w32select.c (Fw32_set_clipboard_data): Update call to
13749 find_charset_in_str.
13750
13751 * w32term.c: Complete rewrite for new redisplay based on new
13752 xterm.c with necessary sections merged back in from old w32term.c.
13753
6ffd3cf7 137542000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13755
13756 * data.c (set_internal): Further fix in same criterion.
13757
6ffd3cf7 137582000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13759
13760 * data.c (set_internal): Fix the criteria for whether
13761 to swap out the old cached binding.
13762
60af03f1
DL
137632000-01-19 Dave Love <fx@gnu.org>
13764
13765 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13766
f9be074f
KH
137672000-01-18 Kenichi Handa <handa@etl.go.jp>
13768
13769 * regex.c (re_compile_fastmap): While checking a range table for
13770 `charset', skip flag bits for a character class correctly.
13771
52b8dbf9
GM
137722000-01-17 Gerd Moellmann <gerd@gnu.org>
13773
d36100c9
GM
13774 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13775
52283633 13776 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13777
13778 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13779 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13780
13781 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13782 MENU_ITEMS_ITEM_.*.
13783 (MENU_ITEMS_ITEM_HELP): New enumerator.
13784 (push_menu_item): Add parameter HELP. Record help in menu_items.
13785 (single_menu_item, single_submenu, list_of_items): Call
13786 push_menu_item with new parameter.
13787 (single_submenu): Set help string in widget value.
13788 (menu_highlight_callback): New function.
13789 (set_frame_menubar): Call lw_create_widget with new
13790 parameter list.
13791 (xmenu_show, xdialog_show): Ditto.
13792
3139018f
GM
137932000-01-13 Gerd Moellmann <gerd@gnu.org>
13794
13795 * sound.c (Fplay_sound): Improve doc string.
13796
83c8f461
RS
137972000-01-11 Richard M. Stallman <rms@gnu.org>
13798
13799 * lisp.h (set_internal): Enter the new arg.
13800
13801 * eval.c (specbind): Record buffer-local variables specially,
13802 indicating which buffer's binding was saved.
13803 (unbind_to): Restore buffer-local variables specially
13804 in the proper buffer.
13805
13806 * data.c (set_internal): New arg BUF.
427ec082 13807
83c8f461
RS
13808 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13809 * data.c (Fset): Pass new arg to set_internal.
13810 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13811
1fab1775
GM
138122000-01-11 Gerd Moellmann <gerd@gnu.org>
13813
52283633 13814 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13815
83c8f461 138162000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13817
13818 * minibuf.c (Ftry_completion): Doc fix.
13819
7a85e4df
GM
138202000-01-11 Gerd Moellmann <gerd@gnu.org>
13821
13822 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13823 vector, too.
13824
a970dae4
AS
138252000-01-11 Andreas Schwab <schwab@suse.de>
13826
13827 * coding.c (code_convert_region): Initialize total_skip.
13828
c65d14ee
DL
138292000-01-08 Dave Love <fx@gnu.org>
13830
13831 * eval.c (Fuser_variable_p): Check customizability too.
13832
834938d2
GM
138332000-01-07 Gerd Moellmann <gerd@gnu.org>
13834
13835 * minibuf.c (Fcompleting_read): Doc fix.
13836
e0303cd6
GM
138372000-01-05 Gerd Moellmann <gerd@gnu.org>
13838
8a26744b
GM
13839 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13840 -L /usr/local/lib.
13841
e0303cd6
GM
13842 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13843 Check that input style is supported before trying to create an
13844 IC for it.
13845 (x_window): Call x_create_im.
427ec082 13846
2e471eb5
GM
138472000-01-04 Gerd Moellmann <gerd@gnu.org>
13848
560a7bd2
GM
13849 * xfns.c (current_gif_memory_src): New variable.
13850 (gif_load): Record the address of the current memory source
13851 in current_gif_memory_src.
13852 (gif_read_from_memory): Use current_gif_memory_src.
13853
f9ee84a3
GM
13854 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13855 macros statement form.
13856
d1299cde
GM
13857 * sound.c (struct sound): Renamed from struct sound_file.
13858 (struct sound): Add members `data' and `header_size'.
13859 (enum sound_attr): Add SOUND_DATA.
13860 (current_sound, current_sound_device): Variables renamed from
13861 sound_file and sound_device.
13862 (parse_sound): Parse :data.
13863 (parse_sound): Handle sound data in strings.
13864 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13865 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13866 needed header size.
13867 (wav_play, au_play): Play sounds from string data.
13868
2e471eb5
GM
13869 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13870
13871 * lisp.h: Add prototype for allocate_string_data.
13872
52283633 13873 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13874
13875 * alloc.c (mark_buffer): Remove code in #if 0.
13876 (gc_sweep): Ditto.
13877 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13878 (strings_consed): New variable.
13879 (allocate_string): Set it.
13880 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13881 (Fmemory_use_counts): Return strings_consed. Use Flist.
13882
13883 * alloc.c: General cleanup in comments etc. Remove conditional
13884 compilation for `standalone'.
13885
13886 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13887
13888 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13889 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13890 (DONT_COPY_FLAG): Removed.
13891 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13892 (struct sdata, struct sblock): New
13893 (struct string_block): Rewritten.
13894 (STRINGS_IN_STRING_BLOCK): New macro.
13895 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13896 (large_sblocks, string_blocks, string_free_list): New variables.
13897 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13898 (init_strings): Rewritten.
13899 (allocate_string, allocate_string_data, compact_small_strings)
13900 (free_large_strings, sweep_strings): New functions.
13901 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13902 (struct string_block_head, current_string_block)
13903 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13904 (STRING_PAD): Removed.
13905 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13906 (Fgarbage_collect): Don't set mark bit in large strings.
13907 (mark_object): Mark strings differently. Mark symbol names
13908 differently.
13909 (survives_gc_p): Test marked strings differently.
427ec082 13910 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13911 symbol names.
13912 (compact_strings): Removed.
13913
42608ba8
EZ
139142000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13915
13916 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13917 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13918
e0a09e1a
KH
139192000-01-04 Kenichi Handa <handa@etl.go.jp>
13920
dd9f0750 13921 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13922 in a non-empty buffer.
dd9f0750 13923
3c0f3b15 13924 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13925
44cd3ae5
GM
139262000-01-03 Gerd Moellmann <gerd@gnu.org>
13927
13928 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13929 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13930
13931 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13932
c182a70f
EZ
139332000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13934
13935 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13936 need to test for MSDOS frames.
13937
24480d5b
EZ
139382000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13939
13940 * dosfns.c (unspecified_colors): Remove.
13941 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13942 unspecified_bg.
13943 (msdos_stdcolor_name): Return strings for unspecified fore- and
13944 back-ground colors.
13945
13946 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13947 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13948 (tty_color_name): Return Lisp strings for unspecified fore- and
13949 back-ground colors.
13950 (Finternal_set_lisp_face_attribute): Remove the special treatment
13951 for Qunspecified_{f,b}g.
52283633 13952 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13953
047f434a
GM
139542000-01-03 Gerd Moellmann <gerd@gnu.org>
13955
13956 * xdisp.c (reseat_at_next_visible_line_start): Position before
13957 newline only if ending up on a newline.
13958 (next_element_from_ellipsis): Return success. Handle case of
52283633 13959 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13960 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13961 returns 0.
13962
d684c676
EZ
139632000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13964
13965 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13966 (Fcolor_supported_p): Renamed from face-color-supported-p.
13967
5fe1d139
EZ
139682000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13969
13970 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13971 list of colors renamed to tty-defined-color-alist.
13972 (tty_color_name): Pass the frame to tty-color-by-index.
13973 (realize_tty_face): tty-color-alist is now a function which
13974 accepts the frame as argument.
13975
52283633 13976 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13977
816be8b8
EZ
139782000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13979
13980 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13981 encode_terminal_code.
13982
b635321e
EZ
139832000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13984
13985 * dispnew.c (mode_line_string): Support termcap frames as well.
13986
9b784e96
GM
139872000-01-01 Gerd Moellmann <gerd@gnu.org>
13988
27189709
GM
13989 * syntax.c (Fforward_word): Undo previous change.
13990
13991 * editfns.c (Fconstrain_to_field): Don't constrain if
13992 inhibit-field-text-motion is non-nil.
13993 (Fline_beginning_position): Undo previous change.
13994 (Fline_end_position): Ditto.
13995
13996 * syntax.c (Fforward_word): Notice field boundaries only if
13997 inhibit-field-text-motion is nil.
13998
13999 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14000
14001 * editfns.c (Vinhibit_field_text_motion): New variable.
14002 (inhibit-field-text-motion): New DEFVAR_LISP.
14003 (Fline_beginning_position, Fline_end_position): Notice field
14004 boundaries only if inhibit-field-text-motion is nil.
14005
45158a91
GM
14006 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14007 All calls adjusted.
14008 (x_build_heuristic_mask): Likewise.
14009 (xbm_load_image_from_file): Change error output.
14010 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14011 (gif_load, gs_load, x_kill_gs_process): Ditto.
14012
9b784e96
GM
14013 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14014 color indices when accessing raster pixels.
63cec32f
GM
14015 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14016 one of :file or :data.
14017 (enum pbm_keyword_index): Add PBM_DATA.
14018 (pbm_format): Add :data.
14019 (pbm_image_p): Allow either :file or :data.
14020 (pbm_read_file): New function.
14021 (pbm_scan_number): Rewritten to read from string.
14022 (pbm_load): Support :data.
9b784e96 14023
2cb085db 14024See ChangeLog.8 for earlier changes.
6922b018
KH
14025
14026;; Local Variables:
49b3bd82 14027;; coding: iso-2022-7bit
6922b018 14028;; End:
2a34a036
GM
14029
14030 Copyright (C) 2001 Free Software Foundation, Inc.
14031 Copying and distribution of this file, with or without modification,
14032 are permitted provided the copyright notice and this notice are preserved.